Record button
A honey circle you press to answer out loud. While it listens, the mark’s cell ripples outward.
Concept · live ReactSource file: tokens.jsonReact component: RecordButton
Try it
Press it to start and stop listening.
Theme
Size
<RecordButton live={listening} size={96} onClick={toggle} />When to use
- On the phone, centred in the lower third, within thumb reach. 96px.
- On a laptop, beside the text box, after the mute check. 64px.
- Always with words beside it: “Listening. Tap to stop.” and the timer above.
Don’t use it
- On the stage or the console. Nobody records there.
- As a general-purpose button. The comb means one thing: your voice.
States
A honey circle with the microphone. Live, the mic becomes a stop square and the mark’s cell ripples outward three times, your voice going into the room. Under reduced motion one ripple holds still.
idle
live
laptop · 64
Accessibility
| Key | What it does |
|---|---|
| Enter / Space | Starts or stops recording. |
| Tab | Moves focus to the button; focus draws the focus ring round the circle. |
- The accessible name follows the state: “Start recording” or “Stop recording”, and
aria-pressedcarries it too. - Honey alone never means live. The word or the running timer is always beside it.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| live | boolean | — | Listening. Fills with live and starts the breath. |
| onClick | () => void | — | Start or stop. The consumer owns the recording. |
| size | number | 96 | Diameter in px. 96 on phones, 64 on laptops. |
| label | string | — | Overrides the state-driven accessible name. |
Tokens
| Token | Value | Where it lands |
|---|---|---|
| --hm-accent | #f2b106 / #ffc550 | Primary, honey. A fill, glow or dot only, always carrying ink: live, the record comb, the shared mind, the hero series. |
| --hm-accent-hover | #cb9400 / #ffd68b | Hover and pressed state of a honey fill. |
| --hm-live | #f2b106 / #ffc550 | Alias of accent. Anything that means the hive is listening right now: the record button, the live dot, the round timer while it runs. |
| --hm-on-accent | #141318 / #0b0e15 | Ink on a honey fill. Honey never carries white. |
| --hm-voice-dot | #d2d0da / #434851 | An empty seat. Quiet on purpose; the count beside it carries the number. |
| --hm-focus-ring | #2d49c9 / #ffc550 | Keyboard focus: cobalt on paper, honey on ink, 2px outside a 2px bg gap. |
| --hm-record-button | 96px | The circle, and the tap target; ripples reach about 1.7× it |
| ripple | 2.4s, three offset by 0.8s | While listening |