@q9labsai/chalk-react 4.1.16 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/README.md +37 -65
  2. package/THIRD_PARTY_NOTICES.md +1 -2
  3. package/dist/bindings/hooks.d.ts +21 -2
  4. package/dist/bindings/hooks.d.ts.map +1 -1
  5. package/dist/chunk-4U7QZC72.js +298 -0
  6. package/dist/chunk-NPOO7BOX.js +974 -0
  7. package/dist/{chunk-HZ43I4OS.js → chunk-VHM3SYMY.js} +46 -0
  8. package/dist/chunk-WRAEH24P.js +203 -0
  9. package/dist/chunk-XN2E352E.js +8146 -0
  10. package/dist/components/admission-panel/AdmissionPanel.d.ts.map +1 -1
  11. package/dist/components/atomic/AudioIndicator.d.ts +1 -1
  12. package/dist/components/atomic/AudioIndicator.d.ts.map +1 -1
  13. package/dist/components/atomic/Avatar.d.ts +1 -1
  14. package/dist/components/atomic/Avatar.d.ts.map +1 -1
  15. package/dist/components/atomic/HandRaiseIndicator.d.ts +1 -1
  16. package/dist/components/atomic/HandRaiseIndicator.d.ts.map +1 -1
  17. package/dist/components/atomic/NameTag.d.ts +1 -1
  18. package/dist/components/atomic/NameTag.d.ts.map +1 -1
  19. package/dist/components/atomic/ReactionBubble.d.ts +1 -1
  20. package/dist/components/atomic/ReactionBubble.d.ts.map +1 -1
  21. package/dist/components/atomic/StatusBadge.d.ts +1 -1
  22. package/dist/components/atomic/StatusBadge.d.ts.map +1 -1
  23. package/dist/components/atomic/VolumeSlider.d.ts.map +1 -1
  24. package/dist/components/atomic/Waveform.d.ts +1 -1
  25. package/dist/components/atomic/Waveform.d.ts.map +1 -1
  26. package/dist/components/atomic/index.d.ts +0 -7
  27. package/dist/components/atomic/index.d.ts.map +1 -1
  28. package/dist/components/call-card/CallCard.d.ts +19 -0
  29. package/dist/components/call-card/CallCard.d.ts.map +1 -0
  30. package/dist/components/call-card/CallCardStyles.d.ts +2 -0
  31. package/dist/components/call-card/CallCardStyles.d.ts.map +1 -0
  32. package/dist/components/call-limbo/CallLimbo.d.ts +24 -0
  33. package/dist/components/call-limbo/CallLimbo.d.ts.map +1 -0
  34. package/dist/components/call-limbo/CallReady.d.ts +7 -0
  35. package/dist/components/call-limbo/CallReady.d.ts.map +1 -0
  36. package/dist/components/call-limbo/qr-code.d.ts +5 -0
  37. package/dist/components/call-limbo/qr-code.d.ts.map +1 -0
  38. package/dist/components/call-limbo/useCallLink.d.ts +6 -0
  39. package/dist/components/call-limbo/useCallLink.d.ts.map +1 -0
  40. package/dist/components/chalk/Chalk.d.ts +14 -15
  41. package/dist/components/chalk/Chalk.d.ts.map +1 -1
  42. package/dist/components/chalk/StatusSurface.d.ts +12 -14
  43. package/dist/components/chalk/StatusSurface.d.ts.map +1 -1
  44. package/dist/components/chalk-ui/ChalkAlert.d.ts +1 -3
  45. package/dist/components/chalk-ui/ChalkAlert.d.ts.map +1 -1
  46. package/dist/components/chalk-ui/ChalkBackdrop.d.ts +1 -3
  47. package/dist/components/chalk-ui/ChalkBackdrop.d.ts.map +1 -1
  48. package/dist/components/chalk-ui/ChalkBadge.d.ts +1 -3
  49. package/dist/components/chalk-ui/ChalkBadge.d.ts.map +1 -1
  50. package/dist/components/chalk-ui/ChalkButton.d.ts +1 -3
  51. package/dist/components/chalk-ui/ChalkButton.d.ts.map +1 -1
  52. package/dist/components/chalk-ui/ChalkCopyButton.d.ts +7 -0
  53. package/dist/components/chalk-ui/ChalkCopyButton.d.ts.map +1 -0
  54. package/dist/components/chalk-ui/ChalkDialogPanel.d.ts +1 -4
  55. package/dist/components/chalk-ui/ChalkDialogPanel.d.ts.map +1 -1
  56. package/dist/components/chalk-ui/ChalkDivider.d.ts +1 -3
  57. package/dist/components/chalk-ui/ChalkDivider.d.ts.map +1 -1
  58. package/dist/components/chalk-ui/ChalkEmptyState.d.ts +1 -3
  59. package/dist/components/chalk-ui/ChalkEmptyState.d.ts.map +1 -1
  60. package/dist/components/chalk-ui/ChalkIconButton.d.ts +1 -3
  61. package/dist/components/chalk-ui/ChalkIconButton.d.ts.map +1 -1
  62. package/dist/components/chalk-ui/ChalkInput.d.ts +1 -3
  63. package/dist/components/chalk-ui/ChalkInput.d.ts.map +1 -1
  64. package/dist/components/chalk-ui/ChalkMenu.d.ts +16 -12
  65. package/dist/components/chalk-ui/ChalkMenu.d.ts.map +1 -1
  66. package/dist/components/chalk-ui/ChalkPanel.d.ts +1 -4
  67. package/dist/components/chalk-ui/ChalkPanel.d.ts.map +1 -1
  68. package/dist/components/chalk-ui/ChalkPopover.d.ts +12 -0
  69. package/dist/components/chalk-ui/ChalkPopover.d.ts.map +1 -0
  70. package/dist/components/chalk-ui/ChalkSegmentedControl.d.ts +11 -0
  71. package/dist/components/chalk-ui/ChalkSegmentedControl.d.ts.map +1 -0
  72. package/dist/components/chalk-ui/ChalkSheet.d.ts +12 -0
  73. package/dist/components/chalk-ui/ChalkSheet.d.ts.map +1 -0
  74. package/dist/components/chalk-ui/ChalkSpinner.d.ts +1 -3
  75. package/dist/components/chalk-ui/ChalkSpinner.d.ts.map +1 -1
  76. package/dist/components/chalk-ui/ChalkTextarea.d.ts +1 -3
  77. package/dist/components/chalk-ui/ChalkTextarea.d.ts.map +1 -1
  78. package/dist/components/chalk-ui/ChalkToast.d.ts +14 -0
  79. package/dist/components/chalk-ui/ChalkToast.d.ts.map +1 -0
  80. package/dist/components/chalk-ui/ChalkToggle.d.ts +1 -3
  81. package/dist/components/chalk-ui/ChalkToggle.d.ts.map +1 -1
  82. package/dist/components/chalk-ui/ChalkTooltip.d.ts +6 -0
  83. package/dist/components/chalk-ui/ChalkTooltip.d.ts.map +1 -0
  84. package/dist/components/chalk-ui/common.d.ts +1 -5
  85. package/dist/components/chalk-ui/common.d.ts.map +1 -1
  86. package/dist/components/chalk-ui/index.d.ts +8 -15
  87. package/dist/components/chalk-ui/index.d.ts.map +1 -1
  88. package/dist/components/composite/ChatPanel.d.ts +5 -6
  89. package/dist/components/composite/ChatPanel.d.ts.map +1 -1
  90. package/dist/components/composite/CommandErrorAlert.d.ts +1 -1
  91. package/dist/components/composite/CommandErrorAlert.d.ts.map +1 -1
  92. package/dist/components/composite/MessageBubble.d.ts +4 -1
  93. package/dist/components/composite/MessageBubble.d.ts.map +1 -1
  94. package/dist/components/composite/ReactionPicker.d.ts +3 -1
  95. package/dist/components/composite/ReactionPicker.d.ts.map +1 -1
  96. package/dist/components/composite/ReactionTray.d.ts +3 -1
  97. package/dist/components/composite/ReactionTray.d.ts.map +1 -1
  98. package/dist/components/composite/ReactionsOverlay.d.ts +8 -3
  99. package/dist/components/composite/ReactionsOverlay.d.ts.map +1 -1
  100. package/dist/components/composite/ScreenShareView.d.ts +23 -19
  101. package/dist/components/composite/ScreenShareView.d.ts.map +1 -1
  102. package/dist/components/composite/reaction-float.d.ts +0 -8
  103. package/dist/components/composite/reaction-float.d.ts.map +1 -1
  104. package/dist/components/control-bar/CallLinkIcon.d.ts +2 -0
  105. package/dist/components/control-bar/CallLinkIcon.d.ts.map +1 -0
  106. package/dist/components/control-bar/ControlBar.d.ts +4 -11
  107. package/dist/components/control-bar/ControlBar.d.ts.map +1 -1
  108. package/dist/components/control-bar/DockLayout.d.ts +7 -0
  109. package/dist/components/control-bar/DockLayout.d.ts.map +1 -0
  110. package/dist/components/control-bar/LeaveMenu.d.ts +10 -0
  111. package/dist/components/control-bar/LeaveMenu.d.ts.map +1 -0
  112. package/dist/components/control-bar/ShareControl.d.ts +7 -0
  113. package/dist/components/control-bar/ShareControl.d.ts.map +1 -0
  114. package/dist/components/control-bar/ShellIcon.d.ts +29 -0
  115. package/dist/components/control-bar/ShellIcon.d.ts.map +1 -0
  116. package/dist/components/control-bar/ShellStyles.d.ts +2 -0
  117. package/dist/components/control-bar/ShellStyles.d.ts.map +1 -0
  118. package/dist/components/control-bar/command-failure.d.ts +3 -0
  119. package/dist/components/control-bar/command-failure.d.ts.map +1 -0
  120. package/dist/components/control-bar/control-bar-behavior.d.ts +35 -31
  121. package/dist/components/control-bar/control-bar-behavior.d.ts.map +1 -1
  122. package/dist/components/control-bar/control-bar-button.d.ts +1 -3
  123. package/dist/components/control-bar/control-bar-button.d.ts.map +1 -1
  124. package/dist/components/control-bar/next-camera.d.ts +3 -0
  125. package/dist/components/control-bar/next-camera.d.ts.map +1 -0
  126. package/dist/components/device-popover/DevicePopover.d.ts +10 -9
  127. package/dist/components/device-popover/DevicePopover.d.ts.map +1 -1
  128. package/dist/components/index.d.ts +3 -9
  129. package/dist/components/index.d.ts.map +1 -1
  130. package/dist/components/index.js +22 -29
  131. package/dist/components/lazy.d.ts +0 -6
  132. package/dist/components/lazy.d.ts.map +1 -1
  133. package/dist/components/logo/Logo.d.ts +1 -3
  134. package/dist/components/logo/Logo.d.ts.map +1 -1
  135. package/dist/components/media-request-dialog/MediaRequestDialog.d.ts +2 -2
  136. package/dist/components/media-request-dialog/MediaRequestDialog.d.ts.map +1 -1
  137. package/dist/components/offline-actions/OfflineActions.d.ts +7 -15
  138. package/dist/components/offline-actions/OfflineActions.d.ts.map +1 -1
  139. package/dist/components/participant-grid/ParticipantGrid.d.ts +10 -3
  140. package/dist/components/participant-grid/ParticipantGrid.d.ts.map +1 -1
  141. package/dist/components/participant-tile/ParticipantTile.d.ts +8 -2
  142. package/dist/components/participant-tile/ParticipantTile.d.ts.map +1 -1
  143. package/dist/components/participant-tile/TileShell.d.ts +5 -14
  144. package/dist/components/participant-tile/TileShell.d.ts.map +1 -1
  145. package/dist/components/participant-tile/useVideoTrack.d.ts.map +1 -1
  146. package/dist/components/participants-panel/ParticipantsPanel.d.ts +24 -0
  147. package/dist/components/participants-panel/ParticipantsPanel.d.ts.map +1 -1
  148. package/dist/components/participants-panel/participant-options-menu-contract.d.ts +2 -0
  149. package/dist/components/participants-panel/participant-options-menu-contract.d.ts.map +1 -1
  150. package/dist/components/participants-panel/participant-options-menu.d.ts +1 -1
  151. package/dist/components/participants-panel/participant-options-menu.d.ts.map +1 -1
  152. package/dist/components/participants-panel/participant-row.d.ts +4 -2
  153. package/dist/components/participants-panel/participant-row.d.ts.map +1 -1
  154. package/dist/components/reconnecting-overlay/ReconnectingOverlay.d.ts +2 -4
  155. package/dist/components/reconnecting-overlay/ReconnectingOverlay.d.ts.map +1 -1
  156. package/dist/components/space-header/CallDetails.d.ts +17 -0
  157. package/dist/components/space-header/CallDetails.d.ts.map +1 -0
  158. package/dist/components/space-header/LayoutMenu.d.ts +4 -1023
  159. package/dist/components/space-header/LayoutMenu.d.ts.map +1 -1
  160. package/dist/components/space-header/SpaceHeader.d.ts.map +1 -1
  161. package/dist/components/space-header/call-diagnostics.d.ts +6 -0
  162. package/dist/components/space-header/call-diagnostics.d.ts.map +1 -0
  163. package/dist/components/space-header/share-qr.d.ts +3 -0
  164. package/dist/components/space-header/share-qr.d.ts.map +1 -0
  165. package/dist/components/space-header/space-header-contract.d.ts +33 -6
  166. package/dist/components/space-header/space-header-contract.d.ts.map +1 -1
  167. package/dist/components/space-header/useCallShortcuts.d.ts +3 -0
  168. package/dist/components/space-header/useCallShortcuts.d.ts.map +1 -0
  169. package/dist/components/space-view/RecordingSpaceView.d.ts.map +1 -1
  170. package/dist/components/space-view/SpacePresentation.d.ts +4 -6
  171. package/dist/components/space-view/SpacePresentation.d.ts.map +1 -1
  172. package/dist/components/space-view/SpaceView.d.ts +12 -29
  173. package/dist/components/space-view/SpaceView.d.ts.map +1 -1
  174. package/dist/components/stage/SpaceStage.d.ts +23 -0
  175. package/dist/components/stage/SpaceStage.d.ts.map +1 -0
  176. package/dist/components/stage/Stage.d.ts +6 -4
  177. package/dist/components/stage/Stage.d.ts.map +1 -1
  178. package/dist/components/stage/StageContentTile.d.ts +6 -3
  179. package/dist/components/stage/StageContentTile.d.ts.map +1 -1
  180. package/dist/components/stage/StageIcon.d.ts +9 -0
  181. package/dist/components/stage/StageIcon.d.ts.map +1 -0
  182. package/dist/components/stage/StageMotion.d.ts +22 -0
  183. package/dist/components/stage/StageMotion.d.ts.map +1 -0
  184. package/dist/components/stage/stage-items.d.ts +2 -5
  185. package/dist/components/stage/stage-items.d.ts.map +1 -1
  186. package/dist/components/stage/stage-layout.d.ts +10 -32
  187. package/dist/components/stage/stage-layout.d.ts.map +1 -1
  188. package/dist/components/stage/useStageDimensions.d.ts +7 -0
  189. package/dist/components/stage/useStageDimensions.d.ts.map +1 -0
  190. package/dist/components/toast-stack/CallEventIcon.d.ts +5 -0
  191. package/dist/components/toast-stack/CallEventIcon.d.ts.map +1 -0
  192. package/dist/components/toast-stack/ToastStack.d.ts +8 -24
  193. package/dist/components/toast-stack/ToastStack.d.ts.map +1 -1
  194. package/dist/components/toast-stack/call-events.d.ts +6 -0
  195. package/dist/components/toast-stack/call-events.d.ts.map +1 -0
  196. package/dist/components/toast-stack/useCallToasts.d.ts +9 -0
  197. package/dist/components/toast-stack/useCallToasts.d.ts.map +1 -0
  198. package/dist/components/whiteboard-view/RecordingWhiteboardView.d.ts.map +1 -1
  199. package/dist/components/whiteboard-view/recording-whiteboard-state.d.ts +5 -0
  200. package/dist/components/whiteboard-view/recording-whiteboard-state.d.ts.map +1 -1
  201. package/dist/headless.d.ts +2 -1
  202. package/dist/headless.d.ts.map +1 -1
  203. package/dist/headless.js +4 -2
  204. package/dist/index.d.ts +21 -10
  205. package/dist/index.d.ts.map +1 -1
  206. package/dist/index.js +40 -27
  207. package/dist/internal/call-motion.d.ts +8 -0
  208. package/dist/internal/call-motion.d.ts.map +1 -0
  209. package/dist/internal/sound-cues.d.ts +6 -18
  210. package/dist/internal/sound-cues.d.ts.map +1 -1
  211. package/dist/internal/useMirrorSetting.d.ts +2 -0
  212. package/dist/internal/useMirrorSetting.d.ts.map +1 -0
  213. package/dist/internal/useSoundCues.d.ts +3 -2
  214. package/dist/internal/useSoundCues.d.ts.map +1 -1
  215. package/dist/internal/useSoundsSetting.d.ts +2 -0
  216. package/dist/internal/useSoundsSetting.d.ts.map +1 -0
  217. package/dist/public-surface.contract.d.ts +5 -10
  218. package/dist/public-surface.contract.d.ts.map +1 -1
  219. package/dist/selectors/space-selectors.d.ts +1 -1
  220. package/dist/selectors/space-selectors.d.ts.map +1 -1
  221. package/dist/test-support/index.d.ts +1 -6
  222. package/dist/test-support/index.d.ts.map +1 -1
  223. package/dist/test-support/index.js +27 -193
  224. package/dist/test-support/preview-client.d.ts +3 -0
  225. package/dist/test-support/preview-client.d.ts.map +1 -1
  226. package/dist/test-support/preview-fixtures.d.ts +2 -42
  227. package/dist/test-support/preview-fixtures.d.ts.map +1 -1
  228. package/dist/theme.d.ts +106 -73
  229. package/dist/theme.d.ts.map +1 -1
  230. package/dist/utils/icons.d.ts +34 -45
  231. package/dist/utils/icons.d.ts.map +1 -1
  232. package/dist/utils/index.d.ts +0 -4
  233. package/dist/utils/index.d.ts.map +1 -1
  234. package/dist/utils/index.js +132 -207
  235. package/package.json +9 -13
  236. package/dist/chunk-C7PNVYDZ.js +0 -13389
  237. package/dist/chunk-FFPNO2MY.js +0 -131
  238. package/dist/chunk-RMOJ5DLX.js +0 -1421
  239. package/dist/chunk-S6OVGZD5.js +0 -3164
  240. package/dist/chunk-VLAZKVNN.js +0 -182
  241. package/dist/components/admission-panel/ClassicAdmissionPanel.d.ts +0 -7
  242. package/dist/components/admission-panel/ClassicAdmissionPanel.d.ts.map +0 -1
  243. package/dist/components/atomic/CaptionLine.d.ts +0 -10
  244. package/dist/components/atomic/CaptionLine.d.ts.map +0 -1
  245. package/dist/components/atomic/ClassicAudioIndicator.d.ts +0 -11
  246. package/dist/components/atomic/ClassicAudioIndicator.d.ts.map +0 -1
  247. package/dist/components/atomic/ClassicAvatar.d.ts +0 -4
  248. package/dist/components/atomic/ClassicAvatar.d.ts.map +0 -1
  249. package/dist/components/atomic/ClassicCaptionLine.d.ts +0 -4
  250. package/dist/components/atomic/ClassicCaptionLine.d.ts.map +0 -1
  251. package/dist/components/atomic/ClassicConnectionQuality.d.ts +0 -4
  252. package/dist/components/atomic/ClassicConnectionQuality.d.ts.map +0 -1
  253. package/dist/components/atomic/ClassicHandRaiseIndicator.d.ts +0 -11
  254. package/dist/components/atomic/ClassicHandRaiseIndicator.d.ts.map +0 -1
  255. package/dist/components/atomic/ClassicNameTag.d.ts +0 -4
  256. package/dist/components/atomic/ClassicNameTag.d.ts.map +0 -1
  257. package/dist/components/atomic/ClassicReactionBubble.d.ts +0 -12
  258. package/dist/components/atomic/ClassicReactionBubble.d.ts.map +0 -1
  259. package/dist/components/atomic/ClassicReleaseBadge.d.ts +0 -4
  260. package/dist/components/atomic/ClassicReleaseBadge.d.ts.map +0 -1
  261. package/dist/components/atomic/ClassicStatusBadge.d.ts +0 -4
  262. package/dist/components/atomic/ClassicStatusBadge.d.ts.map +0 -1
  263. package/dist/components/atomic/ClassicTourTooltip.d.ts +0 -4
  264. package/dist/components/atomic/ClassicTourTooltip.d.ts.map +0 -1
  265. package/dist/components/atomic/ClassicTranscriptLine.d.ts +0 -4
  266. package/dist/components/atomic/ClassicTranscriptLine.d.ts.map +0 -1
  267. package/dist/components/atomic/ClassicVolumeSlider.d.ts +0 -4
  268. package/dist/components/atomic/ClassicVolumeSlider.d.ts.map +0 -1
  269. package/dist/components/atomic/ClassicWaveform.d.ts +0 -4
  270. package/dist/components/atomic/ClassicWaveform.d.ts.map +0 -1
  271. package/dist/components/atomic/ClassicWhatsNewTrigger.d.ts +0 -4
  272. package/dist/components/atomic/ClassicWhatsNewTrigger.d.ts.map +0 -1
  273. package/dist/components/atomic/ConnectionQuality.d.ts +0 -9
  274. package/dist/components/atomic/ConnectionQuality.d.ts.map +0 -1
  275. package/dist/components/atomic/ReleaseBadge.d.ts +0 -7
  276. package/dist/components/atomic/ReleaseBadge.d.ts.map +0 -1
  277. package/dist/components/atomic/TourHighlight.d.ts +0 -10
  278. package/dist/components/atomic/TourHighlight.d.ts.map +0 -1
  279. package/dist/components/atomic/TourTooltip.d.ts +0 -16
  280. package/dist/components/atomic/TourTooltip.d.ts.map +0 -1
  281. package/dist/components/atomic/TranscriptLine.d.ts +0 -20
  282. package/dist/components/atomic/TranscriptLine.d.ts.map +0 -1
  283. package/dist/components/atomic/WhatsNewTrigger.d.ts +0 -22
  284. package/dist/components/atomic/WhatsNewTrigger.d.ts.map +0 -1
  285. package/dist/components/chalk-ui/ChalkCheckbox.d.ts +0 -11
  286. package/dist/components/chalk-ui/ChalkCheckbox.d.ts.map +0 -1
  287. package/dist/components/chalk-ui/ChalkChrome.d.ts +0 -21
  288. package/dist/components/chalk-ui/ChalkChrome.d.ts.map +0 -1
  289. package/dist/components/chalk-ui/ChalkControlGroup.d.ts +0 -6
  290. package/dist/components/chalk-ui/ChalkControlGroup.d.ts.map +0 -1
  291. package/dist/components/chalk-ui/ChalkRadio.d.ts +0 -11
  292. package/dist/components/chalk-ui/ChalkRadio.d.ts.map +0 -1
  293. package/dist/components/chalk-ui/ChalkSelect.d.ts +0 -11
  294. package/dist/components/chalk-ui/ChalkSelect.d.ts.map +0 -1
  295. package/dist/components/chalk-ui/ChalkSlider.d.ts +0 -12
  296. package/dist/components/chalk-ui/ChalkSlider.d.ts.map +0 -1
  297. package/dist/components/chalk-ui/ChalkTooltipPanel.d.ts +0 -9
  298. package/dist/components/chalk-ui/ChalkTooltipPanel.d.ts.map +0 -1
  299. package/dist/components/chalk-ui/prng.d.ts +0 -5
  300. package/dist/components/chalk-ui/prng.d.ts.map +0 -1
  301. package/dist/components/chalk-ui/rough.d.ts +0 -13
  302. package/dist/components/chalk-ui/rough.d.ts.map +0 -1
  303. package/dist/components/chalk-ui/shapes.d.ts +0 -23
  304. package/dist/components/chalk-ui/shapes.d.ts.map +0 -1
  305. package/dist/components/chalk-ui/texture.d.ts +0 -12
  306. package/dist/components/chalk-ui/texture.d.ts.map +0 -1
  307. package/dist/components/chalk-ui/useResizeObserver.d.ts +0 -12
  308. package/dist/components/chalk-ui/useResizeObserver.d.ts.map +0 -1
  309. package/dist/components/composite/BackgroundEffectsPicker.d.ts +0 -21
  310. package/dist/components/composite/BackgroundEffectsPicker.d.ts.map +0 -1
  311. package/dist/components/composite/ClassicBackgroundEffectsPicker.d.ts +0 -4
  312. package/dist/components/composite/ClassicBackgroundEffectsPicker.d.ts.map +0 -1
  313. package/dist/components/composite/ClassicChatPanel.d.ts +0 -27
  314. package/dist/components/composite/ClassicChatPanel.d.ts.map +0 -1
  315. package/dist/components/composite/ClassicCommandErrorAlert.d.ts +0 -4
  316. package/dist/components/composite/ClassicCommandErrorAlert.d.ts.map +0 -1
  317. package/dist/components/composite/ClassicDeviceSelector.d.ts +0 -4
  318. package/dist/components/composite/ClassicDeviceSelector.d.ts.map +0 -1
  319. package/dist/components/composite/ClassicMessageBubble.d.ts +0 -4
  320. package/dist/components/composite/ClassicMessageBubble.d.ts.map +0 -1
  321. package/dist/components/composite/ClassicNoiseSuppressionToggle.d.ts +0 -4
  322. package/dist/components/composite/ClassicNoiseSuppressionToggle.d.ts.map +0 -1
  323. package/dist/components/composite/ClassicReactionPicker.d.ts +0 -4
  324. package/dist/components/composite/ClassicReactionPicker.d.ts.map +0 -1
  325. package/dist/components/composite/ClassicReactionsOverlay.d.ts +0 -11
  326. package/dist/components/composite/ClassicReactionsOverlay.d.ts.map +0 -1
  327. package/dist/components/composite/ClassicScreenShareView.d.ts +0 -7
  328. package/dist/components/composite/ClassicScreenShareView.d.ts.map +0 -1
  329. package/dist/components/composite/ClassicSettingsDialog.d.ts +0 -4
  330. package/dist/components/composite/ClassicSettingsDialog.d.ts.map +0 -1
  331. package/dist/components/composite/ClassicSettingsPanel.d.ts +0 -7
  332. package/dist/components/composite/ClassicSettingsPanel.d.ts.map +0 -1
  333. package/dist/components/composite/DeviceSelector.d.ts +0 -19
  334. package/dist/components/composite/DeviceSelector.d.ts.map +0 -1
  335. package/dist/components/composite/NoiseSuppressionToggle.d.ts +0 -11
  336. package/dist/components/composite/NoiseSuppressionToggle.d.ts.map +0 -1
  337. package/dist/components/composite/SettingsDialog.d.ts +0 -5
  338. package/dist/components/composite/SettingsDialog.d.ts.map +0 -1
  339. package/dist/components/composite/SettingsPanel.d.ts +0 -14
  340. package/dist/components/composite/SettingsPanel.d.ts.map +0 -1
  341. package/dist/components/composite/settings-dialog-behavior.d.ts +0 -645
  342. package/dist/components/composite/settings-dialog-behavior.d.ts.map +0 -1
  343. package/dist/components/control-bar/ClassicControlBar.d.ts +0 -8
  344. package/dist/components/control-bar/ClassicControlBar.d.ts.map +0 -1
  345. package/dist/components/control-bar/ClassicControlBarButton.d.ts +0 -24
  346. package/dist/components/control-bar/ClassicControlBarButton.d.ts.map +0 -1
  347. package/dist/components/device-popover/ClassicDevicePopover.d.ts +0 -4
  348. package/dist/components/device-popover/ClassicDevicePopover.d.ts.map +0 -1
  349. package/dist/components/entrance/ClassicEntranceSurface.d.ts +0 -8
  350. package/dist/components/entrance/ClassicEntranceSurface.d.ts.map +0 -1
  351. package/dist/components/entrance/Entrance.d.ts +0 -30
  352. package/dist/components/entrance/Entrance.d.ts.map +0 -1
  353. package/dist/components/entrance/EntranceDeviceControls.d.ts +0 -15
  354. package/dist/components/entrance/EntranceDeviceControls.d.ts.map +0 -1
  355. package/dist/components/entrance/EntranceParticipantPreview.d.ts +0 -9
  356. package/dist/components/entrance/EntranceParticipantPreview.d.ts.map +0 -1
  357. package/dist/components/entrance/EntranceSurface.d.ts +0 -27
  358. package/dist/components/entrance/EntranceSurface.d.ts.map +0 -1
  359. package/dist/components/entrance/types.d.ts +0 -20
  360. package/dist/components/entrance/types.d.ts.map +0 -1
  361. package/dist/components/feedback/FeedbackDialog.d.ts +0 -12
  362. package/dist/components/feedback/FeedbackDialog.d.ts.map +0 -1
  363. package/dist/components/invite-dialog/ClassicInviteDialog.d.ts +0 -4
  364. package/dist/components/invite-dialog/ClassicInviteDialog.d.ts.map +0 -1
  365. package/dist/components/invite-dialog/InviteDialog.d.ts +0 -13
  366. package/dist/components/invite-dialog/InviteDialog.d.ts.map +0 -1
  367. package/dist/components/join-failed-screen/ClassicJoinFailedScreen.d.ts +0 -8
  368. package/dist/components/join-failed-screen/ClassicJoinFailedScreen.d.ts.map +0 -1
  369. package/dist/components/join-failed-screen/JoinFailedScreen.d.ts +0 -10
  370. package/dist/components/join-failed-screen/JoinFailedScreen.d.ts.map +0 -1
  371. package/dist/components/leave-dialog/ClassicLeaveDialog.d.ts +0 -4
  372. package/dist/components/leave-dialog/ClassicLeaveDialog.d.ts.map +0 -1
  373. package/dist/components/leave-dialog/LeaveDialog.d.ts +0 -19
  374. package/dist/components/leave-dialog/LeaveDialog.d.ts.map +0 -1
  375. package/dist/components/logo/LogoSource.d.ts +0 -9
  376. package/dist/components/logo/LogoSource.d.ts.map +0 -1
  377. package/dist/components/media-request-dialog/ClassicMediaRequestDialog.d.ts +0 -4
  378. package/dist/components/media-request-dialog/ClassicMediaRequestDialog.d.ts.map +0 -1
  379. package/dist/components/offline-actions/OfflineActionsSetting.d.ts +0 -4
  380. package/dist/components/offline-actions/OfflineActionsSetting.d.ts.map +0 -1
  381. package/dist/components/offline-actions/offline-actions-policy.d.ts +0 -4
  382. package/dist/components/offline-actions/offline-actions-policy.d.ts.map +0 -1
  383. package/dist/components/participant-tile/ClassicParticipantTile.d.ts +0 -5
  384. package/dist/components/participant-tile/ClassicParticipantTile.d.ts.map +0 -1
  385. package/dist/components/participants-panel/ClassicParticipantOptionsMenu.d.ts +0 -3
  386. package/dist/components/participants-panel/ClassicParticipantOptionsMenu.d.ts.map +0 -1
  387. package/dist/components/participants-panel/ClassicParticipantRow.d.ts +0 -3
  388. package/dist/components/participants-panel/ClassicParticipantRow.d.ts.map +0 -1
  389. package/dist/components/participants-panel/ClassicParticipantsPanel.d.ts +0 -4
  390. package/dist/components/participants-panel/ClassicParticipantsPanel.d.ts.map +0 -1
  391. package/dist/components/reconnecting-overlay/ClassicReconnectingOverlay.d.ts +0 -4
  392. package/dist/components/reconnecting-overlay/ClassicReconnectingOverlay.d.ts.map +0 -1
  393. package/dist/components/reconnecting-overlay/ReconnectingNotice.d.ts +0 -6
  394. package/dist/components/reconnecting-overlay/ReconnectingNotice.d.ts.map +0 -1
  395. package/dist/components/skin-context.d.ts +0 -10
  396. package/dist/components/skin-context.d.ts.map +0 -1
  397. package/dist/components/space-header/ClassicSpaceHeader.d.ts +0 -4
  398. package/dist/components/space-header/ClassicSpaceHeader.d.ts.map +0 -1
  399. package/dist/components/space-info-dialog/ClassicSpaceInfoDialog.d.ts +0 -9
  400. package/dist/components/space-info-dialog/ClassicSpaceInfoDialog.d.ts.map +0 -1
  401. package/dist/components/space-info-dialog/SpaceInfoContent.d.ts +0 -10
  402. package/dist/components/space-info-dialog/SpaceInfoContent.d.ts.map +0 -1
  403. package/dist/components/space-info-dialog/SpaceInfoDialog.d.ts +0 -29
  404. package/dist/components/space-info-dialog/SpaceInfoDialog.d.ts.map +0 -1
  405. package/dist/components/space-view/ClassicSpaceView.d.ts +0 -4
  406. package/dist/components/space-view/ClassicSpaceView.d.ts.map +0 -1
  407. package/dist/components/space-view/SpaceDrawer.d.ts +0 -15
  408. package/dist/components/space-view/SpaceDrawer.d.ts.map +0 -1
  409. package/dist/components/space-view/SpaceStage.d.ts +0 -17
  410. package/dist/components/space-view/SpaceStage.d.ts.map +0 -1
  411. package/dist/components/space-view/useContentLayoutSwitch.d.ts +0 -8
  412. package/dist/components/space-view/useContentLayoutSwitch.d.ts.map +0 -1
  413. package/dist/components/stage/StagePager.d.ts +0 -17
  414. package/dist/components/stage/StagePager.d.ts.map +0 -1
  415. package/dist/components/theme.d.ts +0 -131
  416. package/dist/components/theme.d.ts.map +0 -1
  417. package/dist/components/toast-stack/ClassicToastStack.d.ts +0 -4
  418. package/dist/components/toast-stack/ClassicToastStack.d.ts.map +0 -1
  419. package/dist/components/transcript-panel/ClassicTranscriptPanel.d.ts +0 -4
  420. package/dist/components/transcript-panel/ClassicTranscriptPanel.d.ts.map +0 -1
  421. package/dist/components/transcript-panel/TranscriptPanel.d.ts +0 -5
  422. package/dist/components/transcript-panel/TranscriptPanel.d.ts.map +0 -1
  423. package/dist/components/transcript-panel/transcript-panel-behavior.d.ts +0 -84
  424. package/dist/components/transcript-panel/transcript-panel-behavior.d.ts.map +0 -1
  425. package/dist/internal/episode-diagnostic-render-observer.d.ts +0 -2
  426. package/dist/internal/episode-diagnostic-render-observer.d.ts.map +0 -1
  427. package/dist/internal/thumbnail.d.ts +0 -11
  428. package/dist/internal/thumbnail.d.ts.map +0 -1
  429. package/dist/test-support/preview-feedback.d.ts +0 -3
  430. package/dist/test-support/preview-feedback.d.ts.map +0 -1
  431. package/dist/utils/animated-icon-renderer.d.ts +0 -6
  432. package/dist/utils/animated-icon-renderer.d.ts.map +0 -1
  433. package/dist/utils/animated-icon-runtime.d.ts +0 -19
  434. package/dist/utils/animated-icon-runtime.d.ts.map +0 -1
  435. package/dist/utils/animated-icons/arrow-left-02.d.ts +0 -11
  436. package/dist/utils/animated-icons/arrow-left-02.d.ts.map +0 -1
  437. package/dist/utils/animated-icons/cancel-01.d.ts +0 -11
  438. package/dist/utils/animated-icons/cancel-01.d.ts.map +0 -1
  439. package/dist/utils/animated-icons/clock-01.d.ts +0 -11
  440. package/dist/utils/animated-icons/clock-01.d.ts.map +0 -1
  441. package/dist/utils/animated-icons/copy-01.d.ts +0 -13
  442. package/dist/utils/animated-icons/copy-01.d.ts.map +0 -1
  443. package/dist/utils/animated-icons/crown.d.ts +0 -11
  444. package/dist/utils/animated-icons/crown.d.ts.map +0 -1
  445. package/dist/utils/animated-icons/download-01.d.ts +0 -11
  446. package/dist/utils/animated-icons/download-01.d.ts.map +0 -1
  447. package/dist/utils/animated-icons/edit-02.d.ts +0 -11
  448. package/dist/utils/animated-icons/edit-02.d.ts.map +0 -1
  449. package/dist/utils/animated-icons/home-01.d.ts +0 -11
  450. package/dist/utils/animated-icons/home-01.d.ts.map +0 -1
  451. package/dist/utils/animated-icons/image-01.d.ts +0 -13
  452. package/dist/utils/animated-icons/image-01.d.ts.map +0 -1
  453. package/dist/utils/animated-icons/index.d.ts +0 -85
  454. package/dist/utils/animated-icons/index.d.ts.map +0 -1
  455. package/dist/utils/animated-icons/information-circle.d.ts +0 -11
  456. package/dist/utils/animated-icons/information-circle.d.ts.map +0 -1
  457. package/dist/utils/animated-icons/link-01.d.ts +0 -11
  458. package/dist/utils/animated-icons/link-01.d.ts.map +0 -1
  459. package/dist/utils/animated-icons/mail-01.d.ts +0 -11
  460. package/dist/utils/animated-icons/mail-01.d.ts.map +0 -1
  461. package/dist/utils/animated-icons/maximize-screen.d.ts +0 -11
  462. package/dist/utils/animated-icons/maximize-screen.d.ts.map +0 -1
  463. package/dist/utils/animated-icons/message-01.d.ts +0 -11
  464. package/dist/utils/animated-icons/message-01.d.ts.map +0 -1
  465. package/dist/utils/animated-icons/mic-01.d.ts +0 -11
  466. package/dist/utils/animated-icons/mic-01.d.ts.map +0 -1
  467. package/dist/utils/animated-icons/moon-02.d.ts +0 -11
  468. package/dist/utils/animated-icons/moon-02.d.ts.map +0 -1
  469. package/dist/utils/animated-icons/more-horizontal.d.ts +0 -11
  470. package/dist/utils/animated-icons/more-horizontal.d.ts.map +0 -1
  471. package/dist/utils/animated-icons/more-vertical.d.ts +0 -11
  472. package/dist/utils/animated-icons/more-vertical.d.ts.map +0 -1
  473. package/dist/utils/animated-icons/pause.d.ts +0 -11
  474. package/dist/utils/animated-icons/pause.d.ts.map +0 -1
  475. package/dist/utils/animated-icons/pin.d.ts +0 -11
  476. package/dist/utils/animated-icons/pin.d.ts.map +0 -1
  477. package/dist/utils/animated-icons/play.d.ts +0 -11
  478. package/dist/utils/animated-icons/play.d.ts.map +0 -1
  479. package/dist/utils/animated-icons/plus-sign.d.ts +0 -11
  480. package/dist/utils/animated-icons/plus-sign.d.ts.map +0 -1
  481. package/dist/utils/animated-icons/qr-code-01.d.ts +0 -11
  482. package/dist/utils/animated-icons/qr-code-01.d.ts.map +0 -1
  483. package/dist/utils/animated-icons/refresh.d.ts +0 -11
  484. package/dist/utils/animated-icons/refresh.d.ts.map +0 -1
  485. package/dist/utils/animated-icons/search-01.d.ts +0 -11
  486. package/dist/utils/animated-icons/search-01.d.ts.map +0 -1
  487. package/dist/utils/animated-icons/sent.d.ts +0 -11
  488. package/dist/utils/animated-icons/sent.d.ts.map +0 -1
  489. package/dist/utils/animated-icons/settings-01.d.ts +0 -11
  490. package/dist/utils/animated-icons/settings-01.d.ts.map +0 -1
  491. package/dist/utils/animated-icons/share-08.d.ts +0 -11
  492. package/dist/utils/animated-icons/share-08.d.ts.map +0 -1
  493. package/dist/utils/animated-icons/shield-02.d.ts +0 -11
  494. package/dist/utils/animated-icons/shield-02.d.ts.map +0 -1
  495. package/dist/utils/animated-icons/smile.d.ts +0 -11
  496. package/dist/utils/animated-icons/smile.d.ts.map +0 -1
  497. package/dist/utils/animated-icons/sparkles.d.ts +0 -11
  498. package/dist/utils/animated-icons/sparkles.d.ts.map +0 -1
  499. package/dist/utils/animated-icons/star.d.ts +0 -11
  500. package/dist/utils/animated-icons/star.d.ts.map +0 -1
  501. package/dist/utils/animated-icons/thumbs-up.d.ts +0 -11
  502. package/dist/utils/animated-icons/thumbs-up.d.ts.map +0 -1
  503. package/dist/utils/animated-icons/upload-01.d.ts +0 -11
  504. package/dist/utils/animated-icons/upload-01.d.ts.map +0 -1
  505. package/dist/utils/animated-icons/user-add-01.d.ts +0 -11
  506. package/dist/utils/animated-icons/user-add-01.d.ts.map +0 -1
  507. package/dist/utils/animated-icons/user-group.d.ts +0 -11
  508. package/dist/utils/animated-icons/user-group.d.ts.map +0 -1
  509. package/dist/utils/animated-icons/user-remove-01.d.ts +0 -11
  510. package/dist/utils/animated-icons/user-remove-01.d.ts.map +0 -1
  511. package/dist/utils/animated-icons/video-01.d.ts +0 -11
  512. package/dist/utils/animated-icons/video-01.d.ts.map +0 -1
  513. package/dist/utils/animated-icons/volume-high.d.ts +0 -11
  514. package/dist/utils/animated-icons/volume-high.d.ts.map +0 -1
  515. package/dist/utils/animated-icons/volume-mute-01.d.ts +0 -11
  516. package/dist/utils/animated-icons/volume-mute-01.d.ts.map +0 -1
  517. package/dist/utils/animated-icons/zoom-in-area.d.ts +0 -11
  518. package/dist/utils/animated-icons/zoom-in-area.d.ts.map +0 -1
  519. package/dist/utils/animated-icons/zoom-out-area.d.ts +0 -11
  520. package/dist/utils/animated-icons/zoom-out-area.d.ts.map +0 -1
  521. package/dist/utils/feedback.d.ts +0 -5
  522. package/dist/utils/feedback.d.ts.map +0 -1
package/README.md CHANGED
@@ -13,7 +13,7 @@ pnpm add @q9labsai/chalk-client @q9labsai/chalk-react
13
13
  ## Turnkey UI
14
14
 
15
15
  Provide a Space slug and a `getAccess` callback. Chalk creates and owns the
16
- client, renders the Entrance by default, and releases its owned client when it
16
+ client, joins directly through CallLimbo, and releases its owned client when it
17
17
  unmounts.
18
18
 
19
19
  ```tsx
@@ -23,7 +23,13 @@ export function SpacePage() {
23
23
  return (
24
24
  <Chalk
25
25
  space="design-review"
26
- getAccess={({ space, reason }) => fetch(`/api/chalk/spaces/${space}/access?reason=${reason}`)}
26
+ getAccess={(request) =>
27
+ fetch("/api/chalk/access", {
28
+ method: "POST",
29
+ headers: { "content-type": "application/json" },
30
+ body: JSON.stringify(request),
31
+ })
32
+ }
27
33
  defaults={{ microphone: true, camera: true }}
28
34
  features={{ chat: true, screenShare: true, reactions: true }}
29
35
  spaceName="Design review"
@@ -33,40 +39,26 @@ export function SpacePage() {
33
39
  }
34
40
  ```
35
41
 
42
+ Forward the `getAccess` request unchanged to your authenticated backend. Pass it
43
+ as the final `participants.issueAccess` argument with the server-only state from
44
+ `getAccessRefreshState`; Chalk selects replacement only when recovery needs it.
45
+ See the [web quickstart](../../../docs/sdk-web-quickstart.md) for the endpoint call.
46
+
36
47
  Pass an existing client when its lifecycle belongs to the embedding
37
48
  application. Chalk will use it without disposing it.
38
49
 
39
50
  ```tsx
40
- <Chalk client={spaceClient} entrance={false} />
51
+ <Chalk client={spaceClient} />
41
52
  ```
42
53
 
43
- ### Feedback
44
-
45
- The live surface includes a Feedback action. Opening it captures the Chalk
46
- surface, bounded Journey and trace context, recent safe diagnostics, and only
47
- the documented Chalk local-state and cookie fields. The Participant can review,
48
- refresh, or remove the screenshot before sending a bug, feature request, or
49
- other feedback directly to Chalk. Screenshot failure never blocks the message.
50
-
51
- Embedded products should keep the default `feedbackSource="embedded"`. Chalk's
52
- first-party web surface sets `feedbackSource="chalk_web"`.
53
-
54
- `theme` is the only styling door. `skin` defaults to `"classic"`; choose
55
- `"chalk"` when you want the hand-drawn Chalk skin. Palette and texture are
56
- independent from the skin, so the same palette and texture can compose with
57
- either choice. Chalk emits the closed token-key set as CSS custom properties
58
- scoped to its root. Size and place Chalk with its parent element.
54
+ `theme` controls color scheme, accent and typed token overrides.
59
55
 
60
- `colorScheme` accepts `light`, `dark`, or `system`. With `system`, Chalk follows
61
- the browser preference while keeping explicit token overrides in place.
56
+ `colorScheme` accepts `light` or `dark` and defaults to dark. Use `onColorSchemeChange` to persist the choice from the call details popover.
62
57
 
63
58
  ```tsx
64
59
  <Chalk
65
60
  client={spaceClient}
66
61
  theme={{
67
- skin: "chalk",
68
- palette: "warm-charcoal",
69
- texture: "paper",
70
62
  colorScheme: "dark",
71
63
  accent: "#4b9bb8",
72
64
  tokens: { canvas: "#152127", surface: "#1d2b31" },
@@ -74,43 +66,6 @@ the browser preference while keeping explicit token overrides in place.
74
66
  />
75
67
  ```
76
68
 
77
- `COSMIC_CHALK_THEME` is a ready-made Chalk-skin theme with a midnight board,
78
- moon-white text, comet-blue focus states, and a slate grain. The preset selects
79
- `skin: "chalk"`; it works on the full Space and the standalone Entrance.
80
-
81
- ```tsx
82
- import { Chalk, COSMIC_CHALK_THEME, Entrance } from "@q9labsai/chalk-react";
83
-
84
- <Chalk client={spaceClient} theme={COSMIC_CHALK_THEME} />;
85
-
86
- <Entrance spaceName="Design review" theme={COSMIC_CHALK_THEME} onJoin={(settings) => spaceClient.join(settings)} />;
87
- ```
88
-
89
- ## Hand-drawn UI
90
-
91
- The `chalk` skin uses the SDK's chalk-drawn controls throughout. Its rough SVG
92
- edges, powder passes, and focus marks are deterministic, while buttons, inputs,
93
- toggles, dialogs, menus, and sliders remain native accessible controls. The
94
- default `classic` skin keeps the same typed palette and texture choices without
95
- the hand-drawn treatment.
96
-
97
- The same pieces are public for custom panels. Each accepts a stable `seed` when
98
- you want a specific stroke to stay identical across renders.
99
- Directly imported `Chalk*` primitives keep their hand-drawn identity; the skin
100
- switch belongs to the turnkey `<Chalk />` and standalone `Entrance` surfaces.
101
-
102
- ```tsx
103
- import { ChalkButton, ChalkInput, ChalkPanel, ChalkToggle } from "@q9labsai/chalk-react";
104
-
105
- <ChalkPanel seed="participant-settings">
106
- <ChalkInput aria-label="Display name" defaultValue="Hasan" seed="display-name" />
107
- <ChalkToggle aria-label="Noise suppression" defaultPressed seed="noise-suppression" />
108
- <ChalkButton tone="accent" variant="solid" seed="save-settings">
109
- Save settings
110
- </ChalkButton>
111
- </ChalkPanel>;
112
- ```
113
-
114
69
  ## Custom UI
115
70
 
116
71
  `ChalkProvider` only shares a `SpaceClient` with React. It does not join,
@@ -152,11 +107,28 @@ returns it unchanged, and `SpaceClient` handles refresh and recovery.
152
107
 
153
108
  ## Component maintenance
154
109
 
155
- `transcript-panel-behavior.ts`, `settings-dialog-behavior.ts`, and
156
- `control-bar-behavior.ts` own the shared contracts, state, and commands for their
157
- components. Their `Classic*.tsx` and Chalk-skin `*.tsx` counterparts own
158
- skin-specific rendering; keep behavior out of those paired renderers.
110
+ `control-bar-behavior.ts` owns the shared contracts, state, and commands for the
111
+ controls. The component files own presentation.
159
112
 
160
113
  The SDK-owned `@q9labsai/chalk-react/preview` dev-tool entrypoint exposes the
161
114
  preview contract used by the first-party gallery. Application previews should
162
115
  consume that entrypoint instead of reaching into this package's `src` tree.
116
+
117
+ ### Screen sharing
118
+
119
+ `useScreenShare()` returns the local screen state, optional `capture: { surface, label }`, and `setEnabled(enabled, options?)`. For example, `await share.setEnabled(true, { surface: "browser", audio: true })` opens the browser picker with a tab hint. `surface` is only a hint; read `capture.surface` for what was actually chosen. `audio` publishes a separate `screen_audio` track when the browser returns one. `hasAudio` reports local share audio; `useParticipants()` exposes `media.screenShareHasAudio` for remote shares. `AudioOutput` plays it through the selected call speaker, using the existing participant/global volume controls. Recordings exclude shared tab audio. `useMedia().screenShare` exposes the same capture metadata.
120
+
121
+ ### Message reactions
122
+
123
+ ```ts
124
+ await client.chat.react({ messageId, emoji: "👏", on: true });
125
+ await client.chat.react({ messageId, emoji: "👏", on: false });
126
+ ```
127
+
128
+ The action sets a desired state, never toggles it. Retrying the same request leaves one membership (or none). Anyone with `sendChat` may react. `CHALK_REACTIONS` exports the fixed 24-emoji set shared with call reactions. Unsupported emoji are rejected. A message has at most 128 reaction memberships across all emoji; adding another returns `overloaded`, while removal remains available.
129
+
130
+ Each message's `reactions` contains `{ emoji, count, participantIds }`; IDs identify who reacted and can be resolved through the participant roster. Old messages/servers may omit the wire fields; the client normalizes them to an empty list and revision `"0"`. New history includes current reactions. Loaded messages update live, and reconnecting reloads their reaction snapshots. Revisions keep delayed broadcasts/history responses from rolling state backward. Actions taken while reconnecting use the same persisted, participant-scoped offline queue as chat messages. They are cleared if the participant or Episode changes and fail if the message has expired. Deleting a message cascades to its reactions under existing retention.
131
+
132
+ Message reactions are stored separately from recording facts and are not rendered or added to recording timelines yet. Recording validators accept all 24 call-reaction emoji.
133
+
134
+ `useChat()` returns the same state and `react(input)` action. Each hook message always has a reactions array; each group adds `isMine` for the current participant. Public types are `MessageReaction`, `ReactChatMessage`, and `UseChatResult`. No reaction UI is added by this change.
@@ -1,7 +1,6 @@
1
1
  # Third-party notices
2
2
 
3
- Parts of the deterministic rough-path and chalk-texture implementation are
4
- adapted from Drawably/Chalkably.
3
+ Some UI primitives were adapted from Drawably/Chalkably.
5
4
 
6
5
  MIT License
7
6
 
@@ -1,14 +1,33 @@
1
- import type { Capability, ChatSlice, ConnectionSlice, MediaSlice, OfflineSlice, ParticipantsSlice, ReactionsSlice, RecordingSlice, SelfSlice, SpaceClient, WhiteboardSlice } from "@q9labsai/chalk-client";
1
+ import type { Capability, ChatReaction, ChatMessage, ChatSlice, ConnectionSlice, MediaSlice, OfflineSlice, ParticipantsSlice, ReactionsSlice, RecordingSlice, SelfSlice, SpaceClient, WhiteboardSlice } from "@q9labsai/chalk-client";
2
2
  export declare function useSpaceClient(): SpaceClient;
3
3
  export declare function useConnection(): ConnectionSlice;
4
4
  export declare function useSelf(): SelfSlice;
5
5
  export declare function useParticipants(): ParticipantsSlice;
6
6
  export declare function useMedia(): MediaSlice;
7
- export declare function useChat(): ChatSlice;
7
+ export type MessageReaction = ChatReaction & {
8
+ readonly isMine: boolean;
9
+ };
10
+ export type ReactChatMessage = Omit<ChatMessage, "reactions"> & {
11
+ readonly reactions: readonly MessageReaction[];
12
+ };
13
+ export type UseChatResult = Omit<ChatSlice, "messages"> & {
14
+ readonly messages: readonly ReactChatMessage[];
15
+ readonly react: SpaceClient["chat"]["react"];
16
+ };
17
+ export declare function useChat(): UseChatResult;
8
18
  /** Actions held while the connection recovers, and whether the user still has to decide about them. */
9
19
  export declare function useOffline(): OfflineSlice;
10
20
  export declare function useReactions(): ReactionsSlice;
11
21
  export declare function useRecording(): RecordingSlice;
12
22
  export declare function useWhiteboard(): WhiteboardSlice;
13
23
  export declare function useCan(capability: Capability): boolean;
24
+ /** Local capture state and the action that opens the browser's share picker. */
25
+ export declare function useScreenShare(): {
26
+ source: import("@q9labsai/chalk-client").MediaSource;
27
+ state: "unavailable" | "requesting" | "enabled" | "disabled" | "failed";
28
+ track: MediaStreamTrack | null;
29
+ hasAudio?: boolean;
30
+ capture?: import("@q9labsai/chalk-client").ScreenShareCapture;
31
+ setEnabled: (enabled: boolean, options?: import("@q9labsai/chalk-client").ScreenShareOptions | undefined) => Promise<void>;
32
+ };
14
33
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/bindings/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAiB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAuB1N,wBAAgB,cAAc,IAAI,WAAW,CAQ5C;AAED,wBAAgB,aAAa,IAAI,eAAe,CAE/C;AAED,wBAAgB,OAAO,IAAI,SAAS,CAEnC;AAED,wBAAgB,eAAe,IAAI,iBAAiB,CAEnD;AAED,wBAAgB,QAAQ,IAAI,UAAU,CAErC;AAED,wBAAgB,OAAO,IAAI,SAAS,CAEnC;AAED,uGAAuG;AACvG,wBAAgB,UAAU,IAAI,YAAY,CAEzC;AAED,wBAAgB,YAAY,IAAI,cAAc,CAE7C;AAED,wBAAgB,YAAY,IAAI,cAAc,CAE7C;AAED,wBAAgB,aAAa,IAAI,eAAe,CAE/C;AAED,wBAAgB,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAEtD"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/bindings/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAiB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAuBrP,wBAAgB,cAAc,IAAI,WAAW,CAQ5C;AAED,wBAAgB,aAAa,IAAI,eAAe,CAE/C;AAED,wBAAgB,OAAO,IAAI,SAAS,CAEnC;AAED,wBAAgB,eAAe,IAAI,iBAAiB,CAEnD;AAED,wBAAgB,QAAQ,IAAI,UAAU,CAErC;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,CAAC;AACnH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAE3J,wBAAgB,OAAO,IAAI,aAAa,CAQvC;AAED,uGAAuG;AACvG,wBAAgB,UAAU,IAAI,YAAY,CAEzC;AAED,wBAAgB,YAAY,IAAI,cAAc,CAE7C;AAED,wBAAgB,YAAY,IAAI,cAAc,CAE7C;AAED,wBAAgB,aAAa,IAAI,eAAe,CAE/C;AAED,wBAAgB,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAEtD;AAED,gFAAgF;AAChF,wBAAgB,cAAc;;;;;;;EAI7B"}
@@ -0,0 +1,298 @@
1
+ // src/utils/cn.ts
2
+ import { clsx } from "clsx";
3
+ import { twMerge } from "tailwind-merge";
4
+ function cn(...inputs) {
5
+ return twMerge(clsx(inputs));
6
+ }
7
+
8
+ // src/utils/icons.tsx
9
+ import {
10
+ Alert02Icon as Alert02IconSvg,
11
+ ArrowDown01Icon as ArrowDown01IconSvg,
12
+ ArrowLeft01Icon as ArrowLeft01IconSvg,
13
+ ArrowRight01Icon as ArrowRight01IconSvg,
14
+ CallEnd01Icon as CallEnd01IconSvg,
15
+ CancelCircleIcon as CancelCircleIconSvg,
16
+ CheckmarkCircle02Icon as CheckmarkCircle02IconSvg,
17
+ CircleIcon as CircleIconSvg,
18
+ FileIcon as FileTextIconSvg,
19
+ GridIcon as GridIconSvg,
20
+ WavingHand01Icon as HandIconSvg,
21
+ LayoutTwoColumnIcon as LayoutTwoColumnIconSvg,
22
+ LayoutGridIcon as LayoutGridIconSvg,
23
+ LayoutTableIcon as LayoutTableIconSvg,
24
+ Loading01Icon as Loading01IconSvg,
25
+ MicOff01Icon as MicrophoneOff01IconSvg,
26
+ ComputerVideoIcon as Monitor01IconSvg,
27
+ ComputerRemoveIcon as MonitorOffIconSvg,
28
+ Radio01Icon as Radio01IconSvg,
29
+ SignalFull02Icon as SignalFull02IconSvg,
30
+ SquareIcon as SquareIconSvg,
31
+ Sun02Icon as Sun02IconSvg,
32
+ TextIcon as TextIconSvg,
33
+ Tick01Icon as Tick01IconSvg,
34
+ TickDouble01Icon as TickDouble01IconSvg,
35
+ VideoOffIcon as VideoOffIconSvg,
36
+ WifiOffIcon as WifiOffIconSvg
37
+ } from "@hugeicons/core-free-icons";
38
+ import { HugeiconsIcon } from "@hugeicons/react";
39
+ import {
40
+ Cancel01Icon as StaticCancel01Icon,
41
+ Clock01Icon as StaticClock01Icon,
42
+ Copy01Icon as StaticCopy01Icon,
43
+ CrownIcon as StaticCrown01Icon,
44
+ Download01Icon as StaticDownload01Icon,
45
+ Edit02Icon as StaticEdit02Icon,
46
+ Home01Icon as StaticHome01Icon,
47
+ Logout01Icon as StaticLogout01Icon,
48
+ Image01Icon as StaticImage01Icon,
49
+ InformationCircleIcon as StaticInformationCircleIcon,
50
+ MaximizeScreenIcon as StaticMaximize01Icon,
51
+ Message01Icon as StaticMessage01Icon,
52
+ Mic01Icon as StaticMicrophone01Icon,
53
+ Moon02Icon as StaticMoon02Icon,
54
+ MoreVerticalIcon as StaticMoreVerticalIcon,
55
+ PauseIcon as StaticPauseIcon,
56
+ PinIcon as StaticPin01Icon,
57
+ PlayIcon as StaticPlayIcon,
58
+ PlusSignIcon as StaticPlusSignIcon,
59
+ QrCode01Icon as StaticQrCode01Icon,
60
+ RefreshIcon as StaticRefreshIcon,
61
+ Search01Icon as StaticSearch01Icon,
62
+ SentIcon as StaticSentIcon,
63
+ Share08Icon as StaticShare01Icon,
64
+ Shield02Icon as StaticShield01Icon,
65
+ SmileIcon as StaticSmileIcon,
66
+ StarIcon as StaticStarIcon,
67
+ ThumbsUpIcon as StaticThumbsUpIcon,
68
+ Upload01Icon as StaticUpload01Icon,
69
+ UserGroupIcon as StaticUserGroupIcon,
70
+ UserRemove01Icon as StaticUserRemove01Icon,
71
+ Video01Icon as StaticVideo01Icon,
72
+ VolumeHighIcon as StaticVolumeHighIcon,
73
+ VolumeMute01Icon as StaticVolumeMute01Icon
74
+ } from "@hugeicons/core-free-icons";
75
+ import { jsx } from "react/jsx-runtime";
76
+ var createIcon = (iconSvg) => {
77
+ const Icon = (props) => /* @__PURE__ */ jsx(HugeiconsIcon, { icon: iconSvg, ...props });
78
+ return Icon;
79
+ };
80
+ var Alert02Icon = createIcon(Alert02IconSvg);
81
+ var ArrowDown01Icon = createIcon(ArrowDown01IconSvg);
82
+ var ArrowLeft01Icon = createIcon(ArrowLeft01IconSvg);
83
+ var ArrowRight01Icon = createIcon(ArrowRight01IconSvg);
84
+ var CallEnd01Icon = createIcon(CallEnd01IconSvg);
85
+ var Cancel01Icon = createIcon(StaticCancel01Icon);
86
+ var CancelCircleIcon = createIcon(CancelCircleIconSvg);
87
+ var CheckmarkCircle02Icon = createIcon(CheckmarkCircle02IconSvg);
88
+ var CircleIcon = createIcon(CircleIconSvg);
89
+ var Clock01Icon = createIcon(StaticClock01Icon);
90
+ var ColumnIcon = createIcon(LayoutTwoColumnIconSvg);
91
+ var Copy01Icon = createIcon(StaticCopy01Icon);
92
+ var Crown01Icon = createIcon(StaticCrown01Icon);
93
+ var Download01Icon = createIcon(StaticDownload01Icon);
94
+ var Edit02Icon = createIcon(StaticEdit02Icon);
95
+ var FileTextIcon = createIcon(FileTextIconSvg);
96
+ var GridIcon = createIcon(GridIconSvg);
97
+ var HandIcon = createIcon(HandIconSvg);
98
+ var Home01Icon = createIcon(StaticHome01Icon);
99
+ var Logout01Icon = createIcon(StaticLogout01Icon);
100
+ var Image01Icon = createIcon(StaticImage01Icon);
101
+ var InformationCircleIcon = createIcon(StaticInformationCircleIcon);
102
+ var LayoutGridIcon = createIcon(LayoutGridIconSvg);
103
+ var LayoutTableIcon = createIcon(LayoutTableIconSvg);
104
+ var Loading01Icon = createIcon(Loading01IconSvg);
105
+ var Maximize01Icon = createIcon(StaticMaximize01Icon);
106
+ var Message01Icon = createIcon(StaticMessage01Icon);
107
+ var Microphone01Icon = createIcon(StaticMicrophone01Icon);
108
+ var MicrophoneOff01Icon = createIcon(MicrophoneOff01IconSvg);
109
+ var Moon02Icon = createIcon(StaticMoon02Icon);
110
+ var Monitor01Icon = createIcon(Monitor01IconSvg);
111
+ var MonitorOffIcon = createIcon(MonitorOffIconSvg);
112
+ var MoreVerticalIcon = createIcon(StaticMoreVerticalIcon);
113
+ var PauseIcon = createIcon(StaticPauseIcon);
114
+ var Pin01Icon = createIcon(StaticPin01Icon);
115
+ var PlayIcon = createIcon(StaticPlayIcon);
116
+ var PlusSignIcon = createIcon(StaticPlusSignIcon);
117
+ var QrCode01Icon = createIcon(StaticQrCode01Icon);
118
+ var Radio01Icon = createIcon(Radio01IconSvg);
119
+ var RefreshIcon = createIcon(StaticRefreshIcon);
120
+ var Search01Icon = createIcon(StaticSearch01Icon);
121
+ var SentIcon = createIcon(StaticSentIcon);
122
+ var Share01Icon = createIcon(StaticShare01Icon);
123
+ var Shield01Icon = createIcon(StaticShield01Icon);
124
+ var SignalFull02Icon = createIcon(SignalFull02IconSvg);
125
+ var SmileIcon = createIcon(StaticSmileIcon);
126
+ var SquareIcon = createIcon(SquareIconSvg);
127
+ var StarIcon = createIcon(StaticStarIcon);
128
+ var Sun02Icon = createIcon(Sun02IconSvg);
129
+ var TextIcon = createIcon(TextIconSvg);
130
+ var Tick01Icon = createIcon(Tick01IconSvg);
131
+ var TickDouble01Icon = createIcon(TickDouble01IconSvg);
132
+ var Upload01Icon = createIcon(StaticUpload01Icon);
133
+ var UserGroupIcon = createIcon(StaticUserGroupIcon);
134
+ var UserRemove01Icon = createIcon(StaticUserRemove01Icon);
135
+ var Video01Icon = createIcon(StaticVideo01Icon);
136
+ var VideoOffIcon = createIcon(VideoOffIconSvg);
137
+ var VolumeHighIcon = createIcon(StaticVolumeHighIcon);
138
+ var VolumeMute01Icon = createIcon(StaticVolumeMute01Icon);
139
+ var WifiOffIcon = createIcon(WifiOffIconSvg);
140
+ var ThumbsUpIcon = createIcon(StaticThumbsUpIcon);
141
+
142
+ // src/utils/colorGenerator.ts
143
+ var PARTICIPANT_GRADIENT_PRESETS = [
144
+ { id: "aurora", label: "Aurora", from: "#0ea5e9", to: "#22c55e" },
145
+ { id: "ember", label: "Ember", from: "#f97316", to: "#ef4444" },
146
+ { id: "orchid", label: "Orchid", from: "#a855f7", to: "#ec4899" },
147
+ { id: "cobalt", label: "Cobalt", from: "#2563eb", to: "#14b8a6" },
148
+ { id: "gold", label: "Gold", from: "#eab308", to: "#f97316" },
149
+ { id: "slate", label: "Slate", from: "#64748b", to: "#94a3b8" }
150
+ ];
151
+ var AUTO_PALETTE = [
152
+ ["#315f72", "#dcebef"],
153
+ ["#5c6650", "#e3eadf"],
154
+ ["#6b5b4f", "#ece3dc"],
155
+ ["#64576b", "#e8e0ea"],
156
+ ["#49645d", "#dfeae6"],
157
+ ["#665d42", "#ebe6d6"],
158
+ ["#4d5d73", "#e1e6ec"],
159
+ ["#6d5158", "#eee0e3"]
160
+ ];
161
+ function hashIdentity(identity) {
162
+ let hash = 2166136261;
163
+ for (const char of identity.trim().toLowerCase() || "chalk") {
164
+ hash ^= char.charCodeAt(0);
165
+ hash = Math.imul(hash, 16777619);
166
+ }
167
+ return hash >>> 0;
168
+ }
169
+ function resolveGradient(identity = "chalk", preference) {
170
+ if (preference?.mode === "custom" && preference.from && preference.to) {
171
+ return [preference.from, preference.to];
172
+ }
173
+ return AUTO_PALETTE[hashIdentity(identity) % AUTO_PALETTE.length] ?? ["#64748b", "#94a3b8"];
174
+ }
175
+ function getParticipantInitial(name) {
176
+ return (name?.trim()?.[0] ?? "?").toUpperCase();
177
+ }
178
+ function getParticipantInitials(name) {
179
+ const parts = (name ?? "").trim().split(/\s+/).filter(Boolean);
180
+ const first = parts[0]?.[0] ?? getParticipantInitial(name);
181
+ const second = parts[1]?.[0] ?? "";
182
+ return (parts.length > 1 ? first + second : first).toUpperCase();
183
+ }
184
+ function getParticipantColor(identity = "chalk", preference) {
185
+ const [primary, secondary] = resolveGradient(identity, preference);
186
+ return {
187
+ primary,
188
+ secondary,
189
+ text: "#ffffff",
190
+ gradientEnd: secondary
191
+ };
192
+ }
193
+ function getParticipantGradient(identity = "chalk", preference) {
194
+ const [primary, secondary] = resolveGradient(identity, preference);
195
+ return `linear-gradient(135deg, ${primary}, ${secondary})`;
196
+ }
197
+ function getParticipantAvatarGradient(identity = "chalk", preference) {
198
+ return getParticipantGradient(identity, preference);
199
+ }
200
+ function getParticipantBorder(identity = "chalk", preference) {
201
+ return getParticipantColor(identity, preference).primary;
202
+ }
203
+ function getParticipantThemeVariables(identity = "chalk", preference) {
204
+ const colors = getParticipantColor(identity, preference);
205
+ return {
206
+ "--primary": colors.primary,
207
+ "--ring": colors.primary,
208
+ "--chalk-accent": colors.primary,
209
+ "--chalk-accent-2": colors.secondary
210
+ };
211
+ }
212
+ function getParticipantAvatarRecipe(identity = "chalk", preference) {
213
+ const colors = getParticipantColor(identity, preference);
214
+ const avatarGradient = getParticipantGradient(identity, preference);
215
+ return {
216
+ initials: getParticipantInitials(identity),
217
+ gradient: avatarGradient,
218
+ avatarGradient,
219
+ darkerAvatarGradient: `linear-gradient(135deg, ${colors.primary}, #111827)`,
220
+ color: colors.primary,
221
+ border: colors.primary,
222
+ facehashColors: [colors.primary]
223
+ };
224
+ }
225
+
226
+ export {
227
+ cn,
228
+ Alert02Icon,
229
+ ArrowDown01Icon,
230
+ ArrowLeft01Icon,
231
+ ArrowRight01Icon,
232
+ CallEnd01Icon,
233
+ Cancel01Icon,
234
+ CancelCircleIcon,
235
+ CheckmarkCircle02Icon,
236
+ CircleIcon,
237
+ Clock01Icon,
238
+ ColumnIcon,
239
+ Copy01Icon,
240
+ Crown01Icon,
241
+ Download01Icon,
242
+ Edit02Icon,
243
+ FileTextIcon,
244
+ GridIcon,
245
+ HandIcon,
246
+ Home01Icon,
247
+ Logout01Icon,
248
+ Image01Icon,
249
+ InformationCircleIcon,
250
+ LayoutGridIcon,
251
+ LayoutTableIcon,
252
+ Loading01Icon,
253
+ Maximize01Icon,
254
+ Message01Icon,
255
+ Microphone01Icon,
256
+ MicrophoneOff01Icon,
257
+ Moon02Icon,
258
+ Monitor01Icon,
259
+ MonitorOffIcon,
260
+ MoreVerticalIcon,
261
+ PauseIcon,
262
+ Pin01Icon,
263
+ PlayIcon,
264
+ PlusSignIcon,
265
+ QrCode01Icon,
266
+ Radio01Icon,
267
+ RefreshIcon,
268
+ Search01Icon,
269
+ SentIcon,
270
+ Share01Icon,
271
+ Shield01Icon,
272
+ SignalFull02Icon,
273
+ SmileIcon,
274
+ SquareIcon,
275
+ StarIcon,
276
+ Sun02Icon,
277
+ TextIcon,
278
+ Tick01Icon,
279
+ TickDouble01Icon,
280
+ Upload01Icon,
281
+ UserGroupIcon,
282
+ UserRemove01Icon,
283
+ Video01Icon,
284
+ VideoOffIcon,
285
+ VolumeHighIcon,
286
+ VolumeMute01Icon,
287
+ WifiOffIcon,
288
+ ThumbsUpIcon,
289
+ PARTICIPANT_GRADIENT_PRESETS,
290
+ getParticipantInitial,
291
+ getParticipantInitials,
292
+ getParticipantColor,
293
+ getParticipantGradient,
294
+ getParticipantAvatarGradient,
295
+ getParticipantBorder,
296
+ getParticipantThemeVariables,
297
+ getParticipantAvatarRecipe
298
+ };