label | LocalizedMessage | — | Accessible name of the island (role="group"), such as "Role and availability". |
raiseHandIcon | Glyph | — | Glyph of the raise hand control in operator role content. |
raiseHandLabel | LocalizedMessage | — | Name of the raise hand control, such as "Raise hand". It does not change with the pressed state. |
roles | readonly ControlIslandRoleItem[] | — | Roles the person may work in, in display order. The island never infers access beyond this list. |
availability | ControlIslandAvailability | — | Call taker availability copy and state. When passed, the call taker role's content ends in the status pill; when
omitted, the call taker has no status control. |
className | string | — | Classes appended to the island's host. |
defaultRaisedHand | boolean | false | Initial raised state when uncontrolled. |
defaultRole | ControlIslandRole | The first entry of `roles` | Selected role on first render when uncontrolled. |
id | string | — | Id of the island's host element. |
onRaisedHandChange | ((raised: boolean, details: ChangeDetails<ChangeReason>) => void) | — | Called with the next state when the raise hand control is pressed. Cancel the details to keep the previous state.
@param raised - Next raised state
@param details - Change metadata |
onRoleChange | ((role: ControlIslandRole, details: ChangeDetails<ChangeReason>) => void) | — | Called when a role segment is pressed, with ChangeReason.ItemPress. Pressing the selected role does not call it.
Cancel the details to keep the previous role.
@param role - The pressed role
@param details - Change metadata |
raisedHand | boolean | — | Whether the hand is raised when controlled. Pair with onRaisedHandChange. |
ref | Ref<HTMLDivElement> | — | Ref to the island's host element. |
role | ControlIslandRole | — | Selected role when controlled. Pair with onRoleChange. |
size | ButtonSize | ButtonSize.Medium | Control height of the island's controls, from the shared scale (ADR 0012). The role segments, the raise hand
control, and the status pill all follow it. A pill is the control height plus its 1px edge on each side, and the
island is a pill plus a 4px inset on each side: Medium is a 38px island with 30px pills. |