@q9labsai/chalk-react 4.1.14 → 4.1.16

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 (235) hide show
  1. package/README.md +23 -1
  2. package/THIRD_PARTY_NOTICES.md +29 -0
  3. package/dist/bindings/hooks.d.ts +4 -1
  4. package/dist/bindings/hooks.d.ts.map +1 -1
  5. package/dist/{chunk-4X3NFZGL.js → chunk-C7PNVYDZ.js} +9679 -10020
  6. package/dist/chunk-FFPNO2MY.js +131 -0
  7. package/dist/chunk-HZ43I4OS.js +138 -0
  8. package/dist/chunk-RMOJ5DLX.js +1421 -0
  9. package/dist/chunk-S6OVGZD5.js +3164 -0
  10. package/dist/chunk-VLAZKVNN.js +182 -0
  11. package/dist/components/atomic/Avatar.d.ts +4 -0
  12. package/dist/components/atomic/Avatar.d.ts.map +1 -1
  13. package/dist/components/atomic/ClassicAvatar.d.ts +1 -1
  14. package/dist/components/atomic/ClassicAvatar.d.ts.map +1 -1
  15. package/dist/components/atomic/ClassicReactionBubble.d.ts +2 -1
  16. package/dist/components/atomic/ClassicReactionBubble.d.ts.map +1 -1
  17. package/dist/components/atomic/ReactionBubble.d.ts +5 -2
  18. package/dist/components/atomic/ReactionBubble.d.ts.map +1 -1
  19. package/dist/components/audio-output/AudioOutput.d.ts +3 -1
  20. package/dist/components/audio-output/AudioOutput.d.ts.map +1 -1
  21. package/dist/components/chalk/Chalk.d.ts +3 -1
  22. package/dist/components/chalk/Chalk.d.ts.map +1 -1
  23. package/dist/components/composite/ChatPanel.d.ts +24 -1
  24. package/dist/components/composite/ChatPanel.d.ts.map +1 -1
  25. package/dist/components/composite/ClassicChatPanel.d.ts +23 -0
  26. package/dist/components/composite/ClassicChatPanel.d.ts.map +1 -1
  27. package/dist/components/composite/ClassicMessageBubble.d.ts.map +1 -1
  28. package/dist/components/composite/ClassicSettingsDialog.d.ts +1 -35
  29. package/dist/components/composite/ClassicSettingsDialog.d.ts.map +1 -1
  30. package/dist/components/composite/MessageBubble.d.ts +7 -1
  31. package/dist/components/composite/MessageBubble.d.ts.map +1 -1
  32. package/dist/components/composite/ReactionsOverlay.d.ts +13 -0
  33. package/dist/components/composite/ReactionsOverlay.d.ts.map +1 -1
  34. package/dist/components/composite/ScreenShareView.d.ts +8 -0
  35. package/dist/components/composite/ScreenShareView.d.ts.map +1 -1
  36. package/dist/components/composite/SettingsDialog.d.ts +2 -84
  37. package/dist/components/composite/SettingsDialog.d.ts.map +1 -1
  38. package/dist/components/composite/chat-panel-model.d.ts +17 -0
  39. package/dist/components/composite/chat-panel-model.d.ts.map +1 -1
  40. package/dist/components/composite/chat-upload-file.d.ts +8 -0
  41. package/dist/components/composite/chat-upload-file.d.ts.map +1 -0
  42. package/dist/components/composite/reaction-float.d.ts +2 -0
  43. package/dist/components/composite/reaction-float.d.ts.map +1 -1
  44. package/dist/components/composite/settings-dialog-behavior.d.ts +645 -0
  45. package/dist/components/composite/settings-dialog-behavior.d.ts.map +1 -0
  46. package/dist/components/composite/use-chat-attachment-previews.d.ts +10 -0
  47. package/dist/components/composite/use-chat-attachment-previews.d.ts.map +1 -0
  48. package/dist/components/control-bar/ClassicControlBar.d.ts +2 -1
  49. package/dist/components/control-bar/ClassicControlBar.d.ts.map +1 -1
  50. package/dist/components/control-bar/ControlBar.d.ts +8 -26
  51. package/dist/components/control-bar/ControlBar.d.ts.map +1 -1
  52. package/dist/components/control-bar/control-bar-behavior.d.ts +123 -0
  53. package/dist/components/control-bar/control-bar-behavior.d.ts.map +1 -0
  54. package/dist/components/device-popover/ClassicDevicePopover.d.ts +1 -1
  55. package/dist/components/device-popover/ClassicDevicePopover.d.ts.map +1 -1
  56. package/dist/components/device-popover/DevicePopover.d.ts +1 -0
  57. package/dist/components/device-popover/DevicePopover.d.ts.map +1 -1
  58. package/dist/components/entrance/Entrance.d.ts +2 -1
  59. package/dist/components/entrance/Entrance.d.ts.map +1 -1
  60. package/dist/components/entrance/EntranceDeviceControls.d.ts.map +1 -1
  61. package/dist/components/feedback/FeedbackDialog.d.ts +12 -0
  62. package/dist/components/feedback/FeedbackDialog.d.ts.map +1 -0
  63. package/dist/components/index.d.ts +8 -0
  64. package/dist/components/index.d.ts.map +1 -1
  65. package/dist/components/index.js +31 -6
  66. package/dist/components/invite-dialog/ClassicInviteDialog.d.ts.map +1 -1
  67. package/dist/components/invite-dialog/InviteDialog.d.ts.map +1 -1
  68. package/dist/components/lazy.d.ts +2 -2
  69. package/dist/components/lazy.d.ts.map +1 -1
  70. package/dist/components/offline-actions/OfflineActions.d.ts +17 -0
  71. package/dist/components/offline-actions/OfflineActions.d.ts.map +1 -0
  72. package/dist/components/offline-actions/OfflineActionsSetting.d.ts +4 -0
  73. package/dist/components/offline-actions/OfflineActionsSetting.d.ts.map +1 -0
  74. package/dist/components/offline-actions/offline-actions-policy.d.ts +4 -0
  75. package/dist/components/offline-actions/offline-actions-policy.d.ts.map +1 -0
  76. package/dist/components/participant-tile/ParticipantTile.d.ts +7 -1
  77. package/dist/components/participant-tile/ParticipantTile.d.ts.map +1 -1
  78. package/dist/components/participant-tile/TileShell.d.ts +3 -1
  79. package/dist/components/participant-tile/TileShell.d.ts.map +1 -1
  80. package/dist/components/participants-panel/ParticipantsPanel.d.ts.map +1 -1
  81. package/dist/components/reconnecting-overlay/ClassicReconnectingOverlay.d.ts.map +1 -1
  82. package/dist/components/reconnecting-overlay/ReconnectingNotice.d.ts +6 -0
  83. package/dist/components/reconnecting-overlay/ReconnectingNotice.d.ts.map +1 -0
  84. package/dist/components/reconnecting-overlay/ReconnectingOverlay.d.ts +3 -0
  85. package/dist/components/reconnecting-overlay/ReconnectingOverlay.d.ts.map +1 -1
  86. package/dist/components/recording-history/RecordingHistoryPanel.d.ts +62 -0
  87. package/dist/components/recording-history/RecordingHistoryPanel.d.ts.map +1 -0
  88. package/dist/components/space-header/LayoutMenu.d.ts +1 -499
  89. package/dist/components/space-header/LayoutMenu.d.ts.map +1 -1
  90. package/dist/components/space-info-dialog/SpaceInfoContent.d.ts.map +1 -1
  91. package/dist/components/space-view/ClassicSpaceView.d.ts +1 -1
  92. package/dist/components/space-view/ClassicSpaceView.d.ts.map +1 -1
  93. package/dist/components/space-view/RecordingSpaceView.d.ts +26 -0
  94. package/dist/components/space-view/RecordingSpaceView.d.ts.map +1 -0
  95. package/dist/components/space-view/SpaceDrawer.d.ts +3 -2
  96. package/dist/components/space-view/SpaceDrawer.d.ts.map +1 -1
  97. package/dist/components/space-view/SpacePresentation.d.ts +27 -0
  98. package/dist/components/space-view/SpacePresentation.d.ts.map +1 -0
  99. package/dist/components/space-view/SpaceStage.d.ts.map +1 -1
  100. package/dist/components/space-view/SpaceView.d.ts +2 -0
  101. package/dist/components/space-view/SpaceView.d.ts.map +1 -1
  102. package/dist/components/stage/Stage.d.ts +22 -2
  103. package/dist/components/stage/Stage.d.ts.map +1 -1
  104. package/dist/components/stage/StageContentTile.d.ts +5 -0
  105. package/dist/components/stage/StageContentTile.d.ts.map +1 -1
  106. package/dist/components/stage/StagePager.d.ts +2 -1
  107. package/dist/components/stage/StagePager.d.ts.map +1 -1
  108. package/dist/components/stage/stage-items.d.ts +0 -1
  109. package/dist/components/stage/stage-items.d.ts.map +1 -1
  110. package/dist/components/transcript-panel/ClassicTranscriptPanel.d.ts +1 -1
  111. package/dist/components/transcript-panel/ClassicTranscriptPanel.d.ts.map +1 -1
  112. package/dist/components/transcript-panel/TranscriptPanel.d.ts +2 -25
  113. package/dist/components/transcript-panel/TranscriptPanel.d.ts.map +1 -1
  114. package/dist/components/transcript-panel/transcript-panel-behavior.d.ts +84 -0
  115. package/dist/components/transcript-panel/transcript-panel-behavior.d.ts.map +1 -0
  116. package/dist/components/whiteboard-view/RecordingWhiteboardView.d.ts +23 -0
  117. package/dist/components/whiteboard-view/RecordingWhiteboardView.d.ts.map +1 -0
  118. package/dist/components/whiteboard-view/recording-whiteboard-state.d.ts +31 -0
  119. package/dist/components/whiteboard-view/recording-whiteboard-state.d.ts.map +1 -0
  120. package/dist/headless.d.ts +8 -0
  121. package/dist/headless.d.ts.map +1 -0
  122. package/dist/headless.js +28 -0
  123. package/dist/index.d.ts +9 -1
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +32 -4
  126. package/dist/internal/useWhiteboardSceneSubscription.d.ts.map +1 -1
  127. package/dist/public-surface.contract.d.ts +2 -2
  128. package/dist/public-surface.contract.d.ts.map +1 -1
  129. package/dist/selectors/space-selectors.d.ts.map +1 -1
  130. package/dist/test-support/index.d.ts +20 -0
  131. package/dist/test-support/index.d.ts.map +1 -0
  132. package/dist/test-support/index.js +508 -0
  133. package/dist/test-support/preview-client.d.ts +5 -0
  134. package/dist/test-support/preview-client.d.ts.map +1 -1
  135. package/dist/test-support/preview-feedback.d.ts +3 -0
  136. package/dist/test-support/preview-feedback.d.ts.map +1 -0
  137. package/dist/utils/animated-icon-renderer.d.ts +6 -0
  138. package/dist/utils/animated-icon-renderer.d.ts.map +1 -0
  139. package/dist/utils/animated-icon-runtime.d.ts +19 -0
  140. package/dist/utils/animated-icon-runtime.d.ts.map +1 -0
  141. package/dist/utils/animated-icons/arrow-left-02.d.ts +11 -0
  142. package/dist/utils/animated-icons/arrow-left-02.d.ts.map +1 -0
  143. package/dist/utils/animated-icons/cancel-01.d.ts +11 -0
  144. package/dist/utils/animated-icons/cancel-01.d.ts.map +1 -0
  145. package/dist/utils/animated-icons/clock-01.d.ts +11 -0
  146. package/dist/utils/animated-icons/clock-01.d.ts.map +1 -0
  147. package/dist/utils/animated-icons/copy-01.d.ts +13 -0
  148. package/dist/utils/animated-icons/copy-01.d.ts.map +1 -0
  149. package/dist/utils/animated-icons/crown.d.ts +11 -0
  150. package/dist/utils/animated-icons/crown.d.ts.map +1 -0
  151. package/dist/utils/animated-icons/download-01.d.ts +11 -0
  152. package/dist/utils/animated-icons/download-01.d.ts.map +1 -0
  153. package/dist/utils/animated-icons/edit-02.d.ts +11 -0
  154. package/dist/utils/animated-icons/edit-02.d.ts.map +1 -0
  155. package/dist/utils/animated-icons/home-01.d.ts +11 -0
  156. package/dist/utils/animated-icons/home-01.d.ts.map +1 -0
  157. package/dist/utils/animated-icons/image-01.d.ts +13 -0
  158. package/dist/utils/animated-icons/image-01.d.ts.map +1 -0
  159. package/dist/utils/animated-icons/index.d.ts +85 -0
  160. package/dist/utils/animated-icons/index.d.ts.map +1 -0
  161. package/dist/utils/animated-icons/information-circle.d.ts +11 -0
  162. package/dist/utils/animated-icons/information-circle.d.ts.map +1 -0
  163. package/dist/utils/animated-icons/link-01.d.ts +11 -0
  164. package/dist/utils/animated-icons/link-01.d.ts.map +1 -0
  165. package/dist/utils/animated-icons/mail-01.d.ts +11 -0
  166. package/dist/utils/animated-icons/mail-01.d.ts.map +1 -0
  167. package/dist/utils/animated-icons/maximize-screen.d.ts +11 -0
  168. package/dist/utils/animated-icons/maximize-screen.d.ts.map +1 -0
  169. package/dist/utils/animated-icons/message-01.d.ts +11 -0
  170. package/dist/utils/animated-icons/message-01.d.ts.map +1 -0
  171. package/dist/utils/animated-icons/mic-01.d.ts +11 -0
  172. package/dist/utils/animated-icons/mic-01.d.ts.map +1 -0
  173. package/dist/utils/animated-icons/moon-02.d.ts +11 -0
  174. package/dist/utils/animated-icons/moon-02.d.ts.map +1 -0
  175. package/dist/utils/animated-icons/more-horizontal.d.ts +11 -0
  176. package/dist/utils/animated-icons/more-horizontal.d.ts.map +1 -0
  177. package/dist/utils/animated-icons/more-vertical.d.ts +11 -0
  178. package/dist/utils/animated-icons/more-vertical.d.ts.map +1 -0
  179. package/dist/utils/animated-icons/pause.d.ts +11 -0
  180. package/dist/utils/animated-icons/pause.d.ts.map +1 -0
  181. package/dist/utils/animated-icons/pin.d.ts +11 -0
  182. package/dist/utils/animated-icons/pin.d.ts.map +1 -0
  183. package/dist/utils/animated-icons/play.d.ts +11 -0
  184. package/dist/utils/animated-icons/play.d.ts.map +1 -0
  185. package/dist/utils/animated-icons/plus-sign.d.ts +11 -0
  186. package/dist/utils/animated-icons/plus-sign.d.ts.map +1 -0
  187. package/dist/utils/animated-icons/qr-code-01.d.ts +11 -0
  188. package/dist/utils/animated-icons/qr-code-01.d.ts.map +1 -0
  189. package/dist/utils/animated-icons/refresh.d.ts +11 -0
  190. package/dist/utils/animated-icons/refresh.d.ts.map +1 -0
  191. package/dist/utils/animated-icons/search-01.d.ts +11 -0
  192. package/dist/utils/animated-icons/search-01.d.ts.map +1 -0
  193. package/dist/utils/animated-icons/sent.d.ts +11 -0
  194. package/dist/utils/animated-icons/sent.d.ts.map +1 -0
  195. package/dist/utils/animated-icons/settings-01.d.ts +11 -0
  196. package/dist/utils/animated-icons/settings-01.d.ts.map +1 -0
  197. package/dist/utils/animated-icons/share-08.d.ts +11 -0
  198. package/dist/utils/animated-icons/share-08.d.ts.map +1 -0
  199. package/dist/utils/animated-icons/shield-02.d.ts +11 -0
  200. package/dist/utils/animated-icons/shield-02.d.ts.map +1 -0
  201. package/dist/utils/animated-icons/smile.d.ts +11 -0
  202. package/dist/utils/animated-icons/smile.d.ts.map +1 -0
  203. package/dist/utils/animated-icons/sparkles.d.ts +11 -0
  204. package/dist/utils/animated-icons/sparkles.d.ts.map +1 -0
  205. package/dist/utils/animated-icons/star.d.ts +11 -0
  206. package/dist/utils/animated-icons/star.d.ts.map +1 -0
  207. package/dist/utils/animated-icons/thumbs-up.d.ts +11 -0
  208. package/dist/utils/animated-icons/thumbs-up.d.ts.map +1 -0
  209. package/dist/utils/animated-icons/upload-01.d.ts +11 -0
  210. package/dist/utils/animated-icons/upload-01.d.ts.map +1 -0
  211. package/dist/utils/animated-icons/user-add-01.d.ts +11 -0
  212. package/dist/utils/animated-icons/user-add-01.d.ts.map +1 -0
  213. package/dist/utils/animated-icons/user-group.d.ts +11 -0
  214. package/dist/utils/animated-icons/user-group.d.ts.map +1 -0
  215. package/dist/utils/animated-icons/user-remove-01.d.ts +11 -0
  216. package/dist/utils/animated-icons/user-remove-01.d.ts.map +1 -0
  217. package/dist/utils/animated-icons/video-01.d.ts +11 -0
  218. package/dist/utils/animated-icons/video-01.d.ts.map +1 -0
  219. package/dist/utils/animated-icons/volume-high.d.ts +11 -0
  220. package/dist/utils/animated-icons/volume-high.d.ts.map +1 -0
  221. package/dist/utils/animated-icons/volume-mute-01.d.ts +11 -0
  222. package/dist/utils/animated-icons/volume-mute-01.d.ts.map +1 -0
  223. package/dist/utils/animated-icons/zoom-in-area.d.ts +11 -0
  224. package/dist/utils/animated-icons/zoom-in-area.d.ts.map +1 -0
  225. package/dist/utils/animated-icons/zoom-out-area.d.ts +11 -0
  226. package/dist/utils/animated-icons/zoom-out-area.d.ts.map +1 -0
  227. package/dist/utils/feedback.d.ts +5 -0
  228. package/dist/utils/feedback.d.ts.map +1 -0
  229. package/dist/utils/icons.d.ts +42 -42
  230. package/dist/utils/icons.d.ts.map +1 -1
  231. package/dist/utils/index.d.ts +5 -0
  232. package/dist/utils/index.d.ts.map +1 -1
  233. package/dist/utils/index.js +297 -1
  234. package/package.json +25 -8
  235. package/dist/chunk-A3L7BOCE.js +0 -210
@@ -1 +1 @@
1
- {"version":3,"file":"public-surface.contract.d.ts","sourceRoot":"","sources":["../src/public-surface.contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-surface.contract.d.ts","sourceRoot":"","sources":["../src/public-surface.contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"space-selectors.d.ts","sourceRoot":"","sources":["../../src/selectors/space-selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,IAAI,gBAAgB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEpH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAErG,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS,CAEjG;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,EAAE,WAAW,EAAE,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,GAAG,WAAW,EAAE,CAyC9N;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,SAAS,WAAW,EAAE,GAAG,gBAAgB,EAAE,CAU3F;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAEpJ;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,0BAA0B,EAAE,CAYrK"}
1
+ {"version":3,"file":"space-selectors.d.ts","sourceRoot":"","sources":["../../src/selectors/space-selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,IAAI,gBAAgB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEpH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAErG,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS,CAEjG;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,EAAE,WAAW,EAAE,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,GAAG,WAAW,EAAE,CA4C9N;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,SAAS,WAAW,EAAE,GAAG,gBAAgB,EAAE,CAU3F;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAEpJ;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,0BAA0B,EAAE,CAYrK"}
@@ -0,0 +1,20 @@
1
+ export { MediaRequestDialog } from "../components/media-request-dialog/MediaRequestDialog";
2
+ export { SettingsDialog } from "../components/composite/SettingsDialog";
3
+ export { THEME_PALETTES, THEME_SKINS, THEME_TEXTURES } from "../components/theme";
4
+ export { ToastStack } from "../components/toast-stack/ToastStack";
5
+ export { WhiteboardView } from "../components/whiteboard-view/WhiteboardView";
6
+ export { COSMIC_CHALK_THEME } from "../theme";
7
+ export { createPreviewClient, createSnapshot } from "./preview-client";
8
+ export { PREVIEW_DEVICE_FIXTURES, createPreviewMediaDevices } from "./preview-devices";
9
+ export { CommandErrorAlert, LeaveDialog, PreviewEntrance, PreviewEpisodeEnded, PreviewSpaceView, PreviewStatus } from "./preview-fixtures";
10
+ export type { Participant } from "../components/participant-grid/ParticipantGrid";
11
+ export type { ReconnectingOverlayProps } from "../components/reconnecting-overlay/ReconnectingOverlay";
12
+ export type { SettingsDialogValue } from "../components/composite/SettingsDialog";
13
+ export type { SpaceViewFeatures, SpaceViewWhiteboard } from "../components/space-view/SpaceView";
14
+ export type { ThemePalette, ThemeSkin, ThemeTexture } from "../components/theme";
15
+ export type { Toast } from "../components/toast-stack/ToastStack";
16
+ export type { WhiteboardViewProps } from "../components/whiteboard-view/WhiteboardView";
17
+ export type { PreviewClientCommand } from "./preview-client";
18
+ export type { PreviewMediaDevices } from "./preview-devices";
19
+ export type { SpaceLayout, SpacePanel } from "./preview-fixtures";
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test-support/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE3I,YAAY,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAClF,YAAY,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AACvG,YAAY,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACjG,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjF,YAAY,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,508 @@
1
+ "use client";
2
+ import {
3
+ COSMIC_CHALK_THEME,
4
+ ChalkProvider,
5
+ CommandErrorAlert,
6
+ EntranceSurface,
7
+ LeaveDialog,
8
+ MediaRequestDialog,
9
+ SettingsDialog,
10
+ SkinProvider,
11
+ SpaceView,
12
+ StatusSurface,
13
+ THEME_PALETTES,
14
+ THEME_SKINS,
15
+ THEME_TEXTURES,
16
+ ToastStack,
17
+ WhiteboardView,
18
+ chalkThemeStyle,
19
+ getThemeMode
20
+ } from "../chunk-C7PNVYDZ.js";
21
+ import "../chunk-VLAZKVNN.js";
22
+ import "../chunk-S6OVGZD5.js";
23
+
24
+ // src/test-support/preview-feedback.ts
25
+ import { collectFeedbackEvidence } from "@q9labsai/chalk-client";
26
+ var receipt = () => ({
27
+ schema_version: "FeedbackReportReceipt/v1",
28
+ id: "22222222-2222-4222-8222-222222222222",
29
+ submitted_at: (/* @__PURE__ */ new Date()).toISOString()
30
+ });
31
+ function createPreviewFeedbackController() {
32
+ return {
33
+ prepare: async (input = {}) => {
34
+ const screenshot = await capture(input);
35
+ const evidenceInput = withDefaults(input.evidence, screenshot);
36
+ const evidence = collectFeedbackEvidence(evidenceInput);
37
+ const captured = capturedScreenshot(screenshot);
38
+ return {
39
+ idempotency_key: "preview-feedback-key",
40
+ evidence,
41
+ ...captured ? {
42
+ screenshot: {
43
+ schema_version: "FeedbackScreenshot/v1",
44
+ mime_type: captured.mime_type,
45
+ width: captured.width,
46
+ height: captured.height,
47
+ captured_at: captured.captured_at,
48
+ data_base64: captured.data_base64
49
+ }
50
+ } : {},
51
+ collect: (nextInput) => collectFeedbackEvidence(nextInput ?? evidenceInput),
52
+ send: async () => receipt()
53
+ };
54
+ },
55
+ send: async () => receipt(),
56
+ dispose: () => void 0
57
+ };
58
+ }
59
+ async function capture(input) {
60
+ const provider = input.screenshot_provider ?? input.screenshotProvider;
61
+ return provider ? provider() : { state: "unavailable", failure_code: "unsupported" };
62
+ }
63
+ function withDefaults(input, screenshot) {
64
+ return {
65
+ sdk: input?.sdk ?? { client: "@q9labsai/chalk-client", react: "@q9labsai/chalk-react" },
66
+ platform: input?.platform ?? { kind: "web" },
67
+ ...input?.app ? { app: input.app } : {},
68
+ ...input?.local_state ? { local_state: input.local_state } : {},
69
+ ...input?.cookies ? { cookies: input.cookies } : {},
70
+ screenshot
71
+ };
72
+ }
73
+ function capturedScreenshot(value) {
74
+ return value.state === "captured" || value.state === "partial" ? value : void 0;
75
+ }
76
+
77
+ // src/test-support/preview-devices.ts
78
+ var PREVIEW_DEVICE_FIXTURES = Object.freeze({
79
+ microphones: Object.freeze([Object.freeze({ deviceId: "preview-microphone", label: "Preview microphone" }), Object.freeze({ deviceId: "preview-microphone-backup", label: "Preview microphone \xB7 backup" })]),
80
+ cameras: Object.freeze([Object.freeze({ deviceId: "preview-camera", label: "Preview camera" }), Object.freeze({ deviceId: "preview-camera-wide", label: "Preview camera \xB7 wide" })]),
81
+ speakers: Object.freeze([Object.freeze({ deviceId: "preview-speaker", label: "Preview speaker" }), Object.freeze({ deviceId: "preview-speaker-headphones", label: "Preview speaker \xB7 headphones" })])
82
+ });
83
+ function createPreviewMediaDevices() {
84
+ return {
85
+ microphones: PREVIEW_DEVICE_FIXTURES.microphones.map((device) => ({ ...device })),
86
+ cameras: PREVIEW_DEVICE_FIXTURES.cameras.map((device) => ({ ...device })),
87
+ speakers: PREVIEW_DEVICE_FIXTURES.speakers.map((device) => ({ ...device }))
88
+ };
89
+ }
90
+
91
+ // src/test-support/preview-client.ts
92
+ function createPreviewClient(initialSnapshot = createSnapshot(), options = {}) {
93
+ let snapshot = initialSnapshot;
94
+ let requestSequence = 0;
95
+ let attachmentSequence = 0;
96
+ let recordingSequence = 0;
97
+ const listeners = /* @__PURE__ */ new Set();
98
+ const setSnapshot = (nextSnapshot) => {
99
+ snapshot = nextSnapshot;
100
+ for (const listener of listeners) listener();
101
+ };
102
+ const updateSnapshot = (update) => setSnapshot(update(snapshot));
103
+ const dispatch = async (command) => {
104
+ const nextSnapshot = (options.updateCommand ?? applyPreviewCommand)(snapshot, command);
105
+ setSnapshot(nextSnapshot);
106
+ options.onCommand?.(command, nextSnapshot);
107
+ };
108
+ const client = {
109
+ feedback: createPreviewFeedbackController(),
110
+ media: {
111
+ setMicrophoneEnabled: (enabled) => dispatch({ type: "setMicrophoneEnabled", enabled }),
112
+ setCameraEnabled: (enabled) => dispatch({ type: "setCameraEnabled", enabled }),
113
+ setScreenShareEnabled: (enabled) => dispatch({ type: "setScreenShareEnabled", enabled }),
114
+ selectMicrophone: (deviceId) => dispatch({ type: "selectMicrophone", deviceId }),
115
+ selectCamera: (deviceId) => dispatch({ type: "selectCamera", deviceId }),
116
+ selectSpeaker: (deviceId) => dispatch({ type: "selectSpeaker", deviceId }),
117
+ acceptRequest: (requestId) => dispatch({ type: "acceptRequest", requestId }),
118
+ declineRequest: (requestId) => dispatch({ type: "declineRequest", requestId })
119
+ },
120
+ chat: {
121
+ files: {
122
+ upload: async (file) => {
123
+ const fileName = "name" in file ? file.name : file.fileName;
124
+ const byteLength = "size" in file ? file.size : file.bytes.byteLength;
125
+ const attachment = { attachmentId: `preview-attachment-${++attachmentSequence}`, fileName, mimeType: "text/plain", byteLength };
126
+ return attachment;
127
+ },
128
+ url: (attachment) => `preview://attachment/${attachment.attachmentId}`,
129
+ resolveUrl: async (attachment) => `preview://attachment/${attachment.attachmentId}`
130
+ },
131
+ send: async (input) => {
132
+ const message = createPreviewChatMessage(snapshot, input);
133
+ await dispatch({ type: "sendChat", input });
134
+ return message;
135
+ },
136
+ loadOlder: async () => ({ status: "loaded", count: 0, hasOlder: snapshot.chat.pagination.hasOlder }),
137
+ markRead: async (messageId) => {
138
+ await dispatch({ type: "markChatRead", messageId });
139
+ return null;
140
+ }
141
+ },
142
+ participants: {
143
+ assignRole: (participantId, roleName) => dispatch({ type: "assignRole", participantId, roleName }),
144
+ mute: (participantId) => dispatch({ type: "mute", participantId }),
145
+ stopVideo: (participantId) => dispatch({ type: "stopVideo", participantId }),
146
+ stopScreenShare: (participantId) => dispatch({ type: "stopScreenShare", participantId }),
147
+ requestMedia: async (participantId, kind) => {
148
+ const requestId = `preview-media-request-${++requestSequence}`;
149
+ await dispatch({ type: "requestMedia", participantId, kind, requestId });
150
+ return { status: "delivered", requestId };
151
+ },
152
+ remove: (participantId) => dispatch({ type: "remove", participantId }),
153
+ admit: (requestId) => dispatch({ type: "admit", requestId }),
154
+ deny: (requestId) => dispatch({ type: "deny", requestId }),
155
+ raiseHand: () => dispatch({ type: "raiseHand" }),
156
+ lowerHand: () => dispatch({ type: "lowerHand" }),
157
+ renameSelf: (displayName) => dispatch({ type: "renameSelf", displayName })
158
+ },
159
+ reactions: {
160
+ send: async (reaction) => {
161
+ const active = createPreviewReaction(snapshot, reaction);
162
+ await dispatch({ type: "sendReaction", reaction });
163
+ return active;
164
+ }
165
+ },
166
+ recording: {
167
+ start: async () => {
168
+ const recordingId = `preview-recording-${++recordingSequence}`;
169
+ await dispatch({ type: "startRecording", recordingId });
170
+ return { recordingId };
171
+ },
172
+ stop: () => dispatch({ type: "stopRecording" })
173
+ },
174
+ offline: {
175
+ send: async () => updateSnapshot((current) => ({ ...current, offline: { ...current.offline, pending: [], decisionNeeded: false } })),
176
+ discard: async () => updateSnapshot((current) => ({ ...current, offline: { ...current.offline, pending: [], decisionNeeded: false } })),
177
+ setPolicy: async (policy) => updateSnapshot((current) => ({ ...current, offline: { ...current.offline, policy } }))
178
+ },
179
+ whiteboard: { transport: () => null },
180
+ join: () => dispatch({ type: "join" }),
181
+ leave: () => dispatch({ type: "leave" }),
182
+ dispose: () => listeners.clear(),
183
+ subscribe: (listener) => {
184
+ listeners.add(listener);
185
+ return () => listeners.delete(listener);
186
+ },
187
+ getSnapshot: () => snapshot,
188
+ endEpisode: () => dispatch({ type: "endEpisode" }),
189
+ extendEpisode: (minutes) => dispatch({ type: "extendEpisode", minutes }),
190
+ on: (_event, _handler) => () => void 0
191
+ };
192
+ return Object.assign(client, { setSnapshot, updateSnapshot, dispatch });
193
+ }
194
+ function createSnapshot(capabilities = ["sendChat"]) {
195
+ return {
196
+ connection: { status: "idle", episode: null, lastError: null },
197
+ self: { participantId: null, displayName: null, role: null, capabilities, handRaised: false, can: (capability) => capabilities.includes(capability) },
198
+ participants: { roster: [], admissionQueue: [] },
199
+ media: {
200
+ devices: {
201
+ ...createPreviewMediaDevices()
202
+ },
203
+ selection: { microphone: "preview-microphone", camera: "preview-camera", speaker: "preview-speaker" },
204
+ local: { microphone: { source: "microphone", state: "disabled", track: null }, camera: { source: "camera", state: "disabled", track: null }, screen: { source: "screen", state: "disabled", track: null } },
205
+ remote: [],
206
+ screenShare: { source: "screen", state: "disabled", track: null },
207
+ incomingRequests: []
208
+ },
209
+ chat: { status: "idle", messages: [], pendingSends: [], readReceipts: [], unreadCount: 0, pagination: { cursor: null, hasOlder: false, historyTruncated: false }, lastError: null },
210
+ reactions: { active: [] },
211
+ recording: { current: null },
212
+ offline: { pending: [], decisionNeeded: false, policy: "ask" },
213
+ whiteboard: { open: false, engine: { status: "unsubscribed", sceneId: null, revision: null, presenting: false, error: null } }
214
+ };
215
+ }
216
+ function applyPreviewCommand(snapshot, command) {
217
+ switch (command.type) {
218
+ case "join":
219
+ return { ...snapshot, connection: { ...snapshot.connection, status: "live" } };
220
+ case "leave":
221
+ return { ...snapshot, connection: { ...snapshot.connection, status: "leaving" } };
222
+ case "endEpisode":
223
+ return { ...snapshot, connection: { ...snapshot.connection, status: "left", episode: null } };
224
+ case "extendEpisode":
225
+ if (!snapshot.connection.episode) return snapshot;
226
+ return {
227
+ ...snapshot,
228
+ connection: {
229
+ ...snapshot.connection,
230
+ episode: {
231
+ ...snapshot.connection.episode,
232
+ deadline: addPreviewMinutes(snapshot.connection.episode.deadline ?? "2026-08-01T10:00:00.000Z", command.minutes)
233
+ }
234
+ }
235
+ };
236
+ case "setMicrophoneEnabled":
237
+ return updateLocalMedia(snapshot, "microphone", command.enabled);
238
+ case "setCameraEnabled":
239
+ return updateLocalMedia(snapshot, "camera", command.enabled);
240
+ case "setScreenShareEnabled":
241
+ return updateScreenShare(snapshot, command.enabled);
242
+ case "startRecording":
243
+ return { ...snapshot, recording: { current: { recordingId: command.recordingId, status: "recording", failureCode: null } } };
244
+ case "stopRecording":
245
+ return snapshot.recording.current ? { ...snapshot, recording: { current: { ...snapshot.recording.current, status: "stopped" } } } : snapshot;
246
+ case "selectMicrophone":
247
+ return { ...snapshot, media: { ...snapshot.media, selection: { ...snapshot.media.selection, microphone: command.deviceId } } };
248
+ case "selectCamera":
249
+ return { ...snapshot, media: { ...snapshot.media, selection: { ...snapshot.media.selection, camera: command.deviceId } } };
250
+ case "selectSpeaker":
251
+ return { ...snapshot, media: { ...snapshot.media, selection: { ...snapshot.media.selection, speaker: command.deviceId } } };
252
+ case "acceptRequest":
253
+ return acceptIncomingRequest(snapshot, command.requestId);
254
+ case "declineRequest":
255
+ return removeIncomingRequest(snapshot, command.requestId);
256
+ case "assignRole":
257
+ return {
258
+ ...snapshot,
259
+ participants: {
260
+ ...snapshot.participants,
261
+ roster: snapshot.participants.roster.map((participant) => participant.participantId === command.participantId ? { ...participant, role: command.roleName } : participant)
262
+ }
263
+ };
264
+ case "mute":
265
+ return updateParticipantMedia(snapshot, command.participantId, "microphone", "inactive");
266
+ case "stopVideo":
267
+ return updateParticipantMedia(snapshot, command.participantId, "camera", "inactive");
268
+ case "stopScreenShare":
269
+ return updateParticipantMedia(snapshot, command.participantId, "screenShare", "inactive");
270
+ case "requestMedia":
271
+ return addIncomingRequest(snapshot, command);
272
+ case "remove":
273
+ return { ...snapshot, participants: { ...snapshot.participants, roster: snapshot.participants.roster.filter((participant) => participant.participantId !== command.participantId) } };
274
+ case "admit":
275
+ case "deny":
276
+ return { ...snapshot, participants: { ...snapshot.participants, admissionQueue: snapshot.participants.admissionQueue.filter((request) => request.requestId !== command.requestId) } };
277
+ case "raiseHand":
278
+ return { ...snapshot, self: { ...snapshot.self, handRaised: true } };
279
+ case "lowerHand":
280
+ return { ...snapshot, self: { ...snapshot.self, handRaised: false } };
281
+ case "renameSelf":
282
+ return { ...snapshot, self: { ...snapshot.self, displayName: command.displayName } };
283
+ case "sendReaction":
284
+ return { ...snapshot, reactions: { active: [...snapshot.reactions.active, createPreviewReaction(snapshot, command.reaction)] } };
285
+ case "sendChat":
286
+ return addPendingChat(snapshot, command.input);
287
+ case "markChatRead":
288
+ return { ...snapshot, chat: { ...snapshot.chat, unreadCount: 0 } };
289
+ }
290
+ }
291
+ function updateLocalMedia(snapshot, source, enabled) {
292
+ return { ...snapshot, media: { ...snapshot.media, local: { ...snapshot.media.local, [source]: { ...snapshot.media.local[source], state: enabled ? "enabled" : "disabled" } } } };
293
+ }
294
+ function updateScreenShare(snapshot, enabled) {
295
+ const state = enabled ? "enabled" : "disabled";
296
+ const screen = { ...snapshot.media.local.screen, state };
297
+ return { ...snapshot, media: { ...snapshot.media, local: { ...snapshot.media.local, screen }, screenShare: screen } };
298
+ }
299
+ function updateParticipantMedia(snapshot, participantId, source, state) {
300
+ return {
301
+ ...snapshot,
302
+ participants: {
303
+ ...snapshot.participants,
304
+ roster: snapshot.participants.roster.map((participant) => participant.participantId === participantId ? { ...participant, media: { ...participant.media, [source]: state } } : participant)
305
+ }
306
+ };
307
+ }
308
+ function acceptIncomingRequest(snapshot, requestId) {
309
+ const request = snapshot.media.incomingRequests.find((candidate) => candidate.requestId === requestId);
310
+ if (!request) return snapshot;
311
+ const source = request.kind === "unmute" ? "microphone" : "camera";
312
+ return updateLocalMedia(removeIncomingRequest(snapshot, requestId), source, true);
313
+ }
314
+ function removeIncomingRequest(snapshot, requestId) {
315
+ return { ...snapshot, media: { ...snapshot.media, incomingRequests: snapshot.media.incomingRequests.filter((request) => request.requestId !== requestId) } };
316
+ }
317
+ function addIncomingRequest(snapshot, command) {
318
+ const participant = snapshot.participants.roster.find((candidate) => candidate.participantId === command.participantId);
319
+ const request = {
320
+ requestId: command.requestId,
321
+ kind: command.kind === "microphone" ? "unmute" : "start_camera",
322
+ actorParticipantId: command.participantId,
323
+ actorDisplayName: participant?.displayName ?? null,
324
+ expiresAt: "2026-08-01T10:20:00.000Z"
325
+ };
326
+ return { ...snapshot, media: { ...snapshot.media, incomingRequests: [...snapshot.media.incomingRequests, request] } };
327
+ }
328
+ function addPendingChat(snapshot, input) {
329
+ const clientMessageId = `preview-message-${snapshot.chat.pendingSends.length + snapshot.chat.messages.length + 1}`;
330
+ return {
331
+ ...snapshot,
332
+ chat: {
333
+ ...snapshot.chat,
334
+ pendingSends: [...snapshot.chat.pendingSends, { clientMessageId, text: input.text, attachments: input.attachments ?? [], status: "sending", error: null }],
335
+ status: "ready"
336
+ }
337
+ };
338
+ }
339
+ function createPreviewChatMessage(snapshot, input) {
340
+ const sequence = String(snapshot.chat.messages.length + 1);
341
+ return {
342
+ messageId: `preview-message-${sequence}`,
343
+ clientMessageId: `preview-message-${snapshot.chat.pendingSends.length + snapshot.chat.messages.length + 1}`,
344
+ sequence,
345
+ participantId: snapshot.self.participantId ?? "preview-self",
346
+ displayName: snapshot.self.displayName ?? "Preview Participant",
347
+ text: input.text,
348
+ createdAt: "2026-08-01T10:00:00.000Z",
349
+ attachments: input.attachments ?? []
350
+ };
351
+ }
352
+ function createPreviewReaction(snapshot, reaction) {
353
+ const eventId = `preview-reaction-${snapshot.reactions.active.length + 1}`;
354
+ return {
355
+ eventId,
356
+ participantId: snapshot.self.participantId ?? "preview-self",
357
+ displayName: snapshot.self.displayName ?? "Preview Participant",
358
+ reaction,
359
+ occurredAt: "2026-08-01T10:00:00.000Z",
360
+ expiresAt: "2026-08-01T10:01:00.000Z"
361
+ };
362
+ }
363
+ function addPreviewMinutes(value, minutes) {
364
+ const timestamp = Date.parse(value);
365
+ if (!Number.isFinite(timestamp)) return value;
366
+ return new Date(timestamp + minutes * 6e4).toISOString();
367
+ }
368
+
369
+ // src/test-support/preview-fixtures.tsx
370
+ import { useEffect, useState } from "react";
371
+ import { jsx, jsxs } from "react/jsx-runtime";
372
+ function PreviewEntrance({
373
+ microphone = true,
374
+ camera = true,
375
+ defaultDisplayName = "",
376
+ joining = false,
377
+ error,
378
+ previewError,
379
+ previewStream = null,
380
+ onJoin,
381
+ onCancel,
382
+ spaceName,
383
+ logoUrl,
384
+ theme,
385
+ audioInputDevices,
386
+ videoInputDevices,
387
+ audioOutputDevices,
388
+ selectedAudioInput,
389
+ selectedVideoInput,
390
+ selectedAudioOutput,
391
+ onAudioInputChange,
392
+ onVideoInputChange,
393
+ onAudioOutputChange
394
+ }) {
395
+ const [displayName, setDisplayName] = useState(defaultDisplayName);
396
+ const [microphoneEnabled, setMicrophoneEnabled] = useState(microphone);
397
+ const [cameraEnabled, setCameraEnabled] = useState(camera);
398
+ const [audioInputDeviceId, setAudioInputDeviceId] = useState(selectedAudioInput ?? "");
399
+ const [videoInputDeviceId, setVideoInputDeviceId] = useState(selectedVideoInput ?? "");
400
+ const [audioOutputDeviceId, setAudioOutputDeviceId] = useState(selectedAudioOutput ?? "");
401
+ useEffect(() => setDisplayName(defaultDisplayName), [defaultDisplayName]);
402
+ useEffect(() => setMicrophoneEnabled(microphone), [microphone]);
403
+ useEffect(() => setCameraEnabled(camera), [camera]);
404
+ useEffect(() => setAudioInputDeviceId(selectedAudioInput ?? ""), [selectedAudioInput]);
405
+ useEffect(() => setVideoInputDeviceId(selectedVideoInput ?? ""), [selectedVideoInput]);
406
+ useEffect(() => setAudioOutputDeviceId(selectedAudioOutput ?? ""), [selectedAudioOutput]);
407
+ const selectAudioInput = (deviceId) => {
408
+ setAudioInputDeviceId(deviceId);
409
+ void onAudioInputChange?.(deviceId);
410
+ };
411
+ const selectVideoInput = (deviceId) => {
412
+ setVideoInputDeviceId(deviceId);
413
+ void onVideoInputChange?.(deviceId);
414
+ };
415
+ const selectAudioOutput = (deviceId) => {
416
+ setAudioOutputDeviceId(deviceId);
417
+ void onAudioOutputChange?.(deviceId);
418
+ };
419
+ const onSubmit = () => {
420
+ const normalizedDisplayName = displayName.trim();
421
+ if (!normalizedDisplayName || joining) return;
422
+ void onJoin({
423
+ displayName: normalizedDisplayName,
424
+ microphone: microphoneEnabled,
425
+ camera: cameraEnabled,
426
+ ...audioInputDeviceId ? { audioInputDeviceId } : {},
427
+ ...videoInputDeviceId ? { videoInputDeviceId } : {},
428
+ ...audioOutputDeviceId ? { audioOutputDeviceId } : {}
429
+ });
430
+ };
431
+ return /* @__PURE__ */ jsx(
432
+ EntranceSurface,
433
+ {
434
+ spaceName,
435
+ logoUrl,
436
+ displayName,
437
+ microphone: microphoneEnabled,
438
+ camera: cameraEnabled,
439
+ joining,
440
+ error,
441
+ theme,
442
+ previewError,
443
+ previewStream,
444
+ audioInputDevices,
445
+ videoInputDevices,
446
+ audioOutputDevices,
447
+ selectedAudioInput: audioInputDeviceId,
448
+ selectedVideoInput: videoInputDeviceId,
449
+ selectedAudioOutput: audioOutputDeviceId,
450
+ onDisplayNameChange: setDisplayName,
451
+ onMicrophoneChange: setMicrophoneEnabled,
452
+ onCameraChange: setCameraEnabled,
453
+ onAudioInputChange: selectAudioInput,
454
+ onVideoInputChange: selectVideoInput,
455
+ onAudioOutputChange: selectAudioOutput,
456
+ onSubmit,
457
+ onCancel
458
+ }
459
+ );
460
+ }
461
+ function PreviewStatusSurface({ state, spaceName, error, theme, onRetry }) {
462
+ const skin = theme?.skin ?? "classic";
463
+ const colorScheme = theme?.palette ? getThemeMode(theme.palette) : theme?.colorScheme === "dark" ? "dark" : "light";
464
+ const message = state === "leaving" ? `Leaving ${spaceName}\u2026` : state === "left" ? "You have left this Space." : error ?? "This Space is unavailable.";
465
+ return /* @__PURE__ */ jsx(SkinProvider, { skin, children: /* @__PURE__ */ jsx("div", { "data-chalk": true, "data-chalk-theme": colorScheme, "data-chalk-palette": theme?.palette, "data-chalk-texture": theme?.texture, "data-chalk-skin": skin, className: "chalk-root h-full min-h-0 w-full", style: chalkThemeStyle(theme, colorScheme), children: /* @__PURE__ */ jsx(StatusSurface, { message, onRetry: state === "leaving" ? void 0 : onRetry }) }) });
466
+ }
467
+ var PreviewStatus = PreviewStatusSurface;
468
+ function PreviewSpaceView({ client, ...props }) {
469
+ const [fallbackClient] = useState(() => createPreviewClient());
470
+ return /* @__PURE__ */ jsx(ChalkProvider, { client: client ?? fallbackClient, children: /* @__PURE__ */ jsx(SpaceView, { ...props }) });
471
+ }
472
+ function PreviewEpisodeEnded({ spaceName, duration, participantCount, onRejoin, onGoHome }) {
473
+ return /* @__PURE__ */ jsx("main", { "data-chalk": true, className: "chalk-root grid min-h-screen place-items-center bg-[var(--chalk-canvas)] p-6 text-center text-[var(--chalk-text)]", children: /* @__PURE__ */ jsxs("section", { className: "grid max-w-md gap-4 justify-items-center rounded-lg border border-[var(--chalk-line)] bg-[var(--chalk-surface)] p-8", children: [
474
+ /* @__PURE__ */ jsx("h1", { className: "text-2xl font-semibold", children: "Episode ended" }),
475
+ /* @__PURE__ */ jsxs("p", { className: "text-sm text-[var(--chalk-muted-text)]", children: [
476
+ spaceName,
477
+ " \xB7 ",
478
+ participantCount,
479
+ " Participants \xB7 ",
480
+ duration,
481
+ "s"
482
+ ] }),
483
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-3", children: [
484
+ onRejoin ? /* @__PURE__ */ jsx("button", { type: "button", onClick: onRejoin, className: "rounded-md bg-[var(--chalk-accent)] px-4 py-2 text-sm font-semibold text-[var(--chalk-accent-text)]", children: "Enter again" }) : null,
485
+ onGoHome ? /* @__PURE__ */ jsx("button", { type: "button", onClick: onGoHome, className: "rounded-md border border-[var(--chalk-line)] px-4 py-2 text-sm font-semibold", children: "Back to Entrance" }) : null
486
+ ] })
487
+ ] }) });
488
+ }
489
+ export {
490
+ COSMIC_CHALK_THEME,
491
+ CommandErrorAlert,
492
+ LeaveDialog,
493
+ MediaRequestDialog,
494
+ PREVIEW_DEVICE_FIXTURES,
495
+ PreviewEntrance,
496
+ PreviewEpisodeEnded,
497
+ PreviewSpaceView,
498
+ PreviewStatus,
499
+ SettingsDialog,
500
+ THEME_PALETTES,
501
+ THEME_SKINS,
502
+ THEME_TEXTURES,
503
+ ToastStack,
504
+ WhiteboardView,
505
+ createPreviewClient,
506
+ createPreviewMediaDevices,
507
+ createSnapshot
508
+ };
@@ -18,6 +18,11 @@ export type PreviewClientCommand = {
18
18
  } | {
19
19
  readonly type: "setScreenShareEnabled";
20
20
  readonly enabled: boolean;
21
+ } | {
22
+ readonly type: "startRecording";
23
+ readonly recordingId: string;
24
+ } | {
25
+ readonly type: "stopRecording";
21
26
  } | {
22
27
  readonly type: "selectMicrophone";
23
28
  readonly deviceId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"preview-client.d.ts","sourceRoot":"","sources":["../../src/test-support/preview-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview-client.d.ts","sourceRoot":"","sources":["../../src/test-support/preview-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type FeedbackController } from "@q9labsai/chalk-client";
2
+ export declare function createPreviewFeedbackController(): FeedbackController;
3
+ //# sourceMappingURL=preview-feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-feedback.d.ts","sourceRoot":"","sources":["../../src/test-support/preview-feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,kBAAkB,EAA2J,MAAM,wBAAwB,CAAC;AAQnP,wBAAgB,+BAA+B,IAAI,kBAAkB,CA6BpE"}
@@ -0,0 +1,6 @@
1
+ import { HugeiconsIcon, type IconSvgElement } from "@hugeicons/react";
2
+ import type { ComponentPropsWithoutRef } from "react";
3
+ export declare function AnimatedHugeiconsIcon({ icon, size, strokeWidth, absoluteStrokeWidth, color, primaryColor, secondaryColor, disableSecondaryOpacity, altIcon, showAlt, ...props }: ComponentPropsWithoutRef<typeof HugeiconsIcon> & {
4
+ icon: IconSvgElement;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=animated-icon-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated-icon-renderer.d.ts","sourceRoot":"","sources":["../../src/utils/animated-icon-renderer.tsx"],"names":[],"mappings":"AA4CA,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAgC,MAAM,OAAO,CAAC;AAoGpF,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAS,EAAE,WAAW,EAAE,mBAA2B,EAAE,KAAsB,EAAE,YAAY,EAAE,cAAc,EAAE,uBAA+B,EAAE,OAAO,EAAE,OAAe,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,CAAC,OAAO,aAAa,CAAC,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,+BAWxS"}
@@ -0,0 +1,19 @@
1
+ import type { LegacyAnimationControls } from "motion/react";
2
+ import type { ForwardedRef, MouseEventHandler } from "react";
3
+ export interface AnimatedIconHandle {
4
+ startAnimation: () => void;
5
+ stopAnimation: () => void;
6
+ }
7
+ interface UseIconAnimationOptions<T extends Element> {
8
+ controls: LegacyAnimationControls;
9
+ loops?: boolean;
10
+ onMouseEnter?: MouseEventHandler<T>;
11
+ onMouseLeave?: MouseEventHandler<T>;
12
+ ref: ForwardedRef<AnimatedIconHandle>;
13
+ }
14
+ export declare function useIconAnimation<T extends Element>({ controls, loops, onMouseEnter, onMouseLeave, ref }: UseIconAnimationOptions<T>): {
15
+ handleMouseEnter: MouseEventHandler<T>;
16
+ handleMouseLeave: MouseEventHandler<T>;
17
+ };
18
+ export {};
19
+ //# sourceMappingURL=animated-icon-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated-icon-runtime.d.ts","sourceRoot":"","sources":["../../src/utils/animated-icon-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG7D,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,UAAU,uBAAuB,CAAC,CAAC,SAAS,OAAO;IACjD,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpC,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpC,GAAG,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;CACvC;AAiFD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAa,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;;;EAmD3I"}
@@ -0,0 +1,11 @@
1
+ import type { SVGAttributes } from "react";
2
+ export interface ArrowLeft02IconHandle {
3
+ startAnimation: () => void;
4
+ stopAnimation: () => void;
5
+ }
6
+ export interface ArrowLeft02IconProps extends SVGAttributes<SVGSVGElement> {
7
+ size?: number | string;
8
+ }
9
+ declare const ArrowLeft02Icon: import("react").ForwardRefExoticComponent<ArrowLeft02IconProps & import("react").RefAttributes<ArrowLeft02IconHandle>>;
10
+ export { ArrowLeft02Icon };
11
+ //# sourceMappingURL=arrow-left-02.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-left-02.d.ts","sourceRoot":"","sources":["../../../src/utils/animated-icons/arrow-left-02.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa,CAAC,aAAa,CAAC;IACxE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAUD,QAAA,MAAM,eAAe,wHAoBnB,CAAC;AAIH,OAAO,EAAE,eAAe,EAAE,CAAC"}