API and Development
ControlIsland, ControlIslandRole, and ControlIslandStatus from @prepared911/ui/blocks/control-island.
| Prop | Type | Default |
|---|---|---|
label | LocalizedMessage | required |
roles | readonly ControlIslandRoleItem[] | required |
role | ControlIslandRole | — |
defaultRole | ControlIslandRole | first role |
onRoleChange | (role, details) => void | — |
raiseHandIcon | Glyph | required |
raisedHandIcon | Glyph | raiseHandIcon |
raiseHandLabel | LocalizedMessage | required |
raisedHand | boolean | — |
defaultRaisedHand | boolean | false |
onRaisedHandChange | (raised, details) => void | — |
availability | ControlIslandAvailability | — |
size | ButtonSize | Medium |
className | string | — |
id | string | — |
ref | Ref<HTMLDivElement> | — |
| Prop | Type | Default |
|---|---|---|
label | LocalizedMessage | required |
roles | readonly ControlIslandRoleItem[] | required |
role | ControlIslandRole | uncontrolled |
defaultRole | ControlIslandRole | none |
onRoleChange | (role, details) => void | none |
raiseHandIcon | Glyph | required |
raiseHandLabel | LocalizedMessage | required |
raisedHand | boolean | uncontrolled |
defaultRaisedHand | boolean | false |
onRaisedHandChange | (raised, details) => void | none |
availability | ControlIslandAvailability | none |
size | ButtonSize | Medium |
ControlIslandRoleItem: role, icon, label, optional queueLabel (Call taker and Dispatcher).
| Field | Type | Default |
|---|---|---|
status | ControlIslandStatus | Ready when uncontrolled |
defaultStatus | ControlIslandStatus | Ready |
onStatusChange | (ControlIslandChoosableStatus, details) => void | none |
statusItems | Record<ControlIslandStatus, { label; icon }> | required |
statusMenuLabel | LocalizedMessage | required |
statusMenuIcon | Glyph | required |
ringingAnnouncement | LocalizedMessage | required |
ControlIslandChoosableStatus is ready, on-break, or not-ready only.
Block sources live under packages/ui/src/blocks/control-island/. After .tw.css edits run pnpm tw:build and pnpm css:types in packages/ui. Unit, browser, and Storybook tests are listed in development.md in the same folder.