@dxos/plugin-thread 0.8.3-staging.0fa589b → 0.8.4-main.03d5cd7b56

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 (598) hide show
  1. package/dist/lib/neutral/CallDebugPanel-CXWTCS7A.mjs +172 -0
  2. package/dist/lib/neutral/CallDebugPanel-CXWTCS7A.mjs.map +7 -0
  3. package/dist/lib/neutral/CallSidebar-YVXU6BOQ.mjs +25 -0
  4. package/dist/lib/neutral/CallSidebar-YVXU6BOQ.mjs.map +7 -0
  5. package/dist/lib/neutral/ChannelChat-EKQYQQXZ.mjs +10 -0
  6. package/dist/lib/neutral/ChannelContainer-XXMX5X43.mjs +9 -0
  7. package/dist/lib/neutral/ThreadCompanion-YGA2ORTJ.mjs +208 -0
  8. package/dist/lib/neutral/ThreadCompanion-YGA2ORTJ.mjs.map +7 -0
  9. package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs +61 -0
  10. package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs.map +7 -0
  11. package/dist/lib/neutral/ThreadPlugin.mjs +89 -0
  12. package/dist/lib/neutral/ThreadPlugin.mjs.map +7 -0
  13. package/dist/lib/neutral/ThreadPlugin.node.mjs +40 -0
  14. package/dist/lib/neutral/ThreadPlugin.node.mjs.map +7 -0
  15. package/dist/lib/neutral/ThreadSettings-5Z5XIHG3.mjs +15 -0
  16. package/dist/lib/neutral/ThreadSettings-5Z5XIHG3.mjs.map +7 -0
  17. package/dist/lib/neutral/add-message-WX3LCGZC.mjs +87 -0
  18. package/dist/lib/neutral/add-message-WX3LCGZC.mjs.map +7 -0
  19. package/dist/lib/neutral/app-graph-builder-BBHAUCMZ.mjs +173 -0
  20. package/dist/lib/neutral/app-graph-builder-BBHAUCMZ.mjs.map +7 -0
  21. package/dist/lib/neutral/append-channel-message-J7N6UEBL.mjs +40 -0
  22. package/dist/lib/neutral/append-channel-message-J7N6UEBL.mjs.map +7 -0
  23. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs +15 -0
  24. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs.map +7 -0
  25. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  26. package/dist/lib/neutral/call-manager-JFA4DLWR.mjs +24 -0
  27. package/dist/lib/neutral/call-manager-JFA4DLWR.mjs.map +7 -0
  28. package/dist/lib/neutral/capabilities/index.mjs +29 -0
  29. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  30. package/dist/lib/neutral/chunk-44D7D4ZX.mjs +20 -0
  31. package/dist/lib/neutral/chunk-44D7D4ZX.mjs.map +7 -0
  32. package/dist/lib/neutral/chunk-4SVMVL4L.mjs +164 -0
  33. package/dist/lib/neutral/chunk-4SVMVL4L.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-5T5LPLBN.mjs +36 -0
  35. package/dist/lib/neutral/chunk-5T5LPLBN.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-BFHJWC3L.mjs +276 -0
  37. package/dist/lib/neutral/chunk-BFHJWC3L.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-CROE4U4O.mjs +100 -0
  39. package/dist/lib/neutral/chunk-CROE4U4O.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-EACFR36K.mjs +55 -0
  41. package/dist/lib/neutral/chunk-EACFR36K.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-FWSMZWBO.mjs +178 -0
  43. package/dist/lib/neutral/chunk-FWSMZWBO.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  45. package/dist/lib/{node-esm/chunk-PGRP3O4O.mjs → neutral/chunk-JLY4NVTA.mjs} +14 -9
  46. package/dist/lib/neutral/chunk-JLY4NVTA.mjs.map +7 -0
  47. package/dist/lib/neutral/chunk-NGZVEPJV.mjs +8 -0
  48. package/dist/lib/neutral/chunk-NGZVEPJV.mjs.map +7 -0
  49. package/dist/lib/{node-esm/chunk-WXNPD542.mjs → neutral/chunk-PZ7WTAA2.mjs} +317 -505
  50. package/dist/lib/neutral/chunk-PZ7WTAA2.mjs.map +7 -0
  51. package/dist/lib/neutral/chunk-UQFTL6TV.mjs +202 -0
  52. package/dist/lib/neutral/chunk-UQFTL6TV.mjs.map +7 -0
  53. package/dist/lib/neutral/components/index.mjs +1230 -0
  54. package/dist/lib/neutral/components/index.mjs.map +7 -0
  55. package/dist/lib/neutral/containers/index.mjs +19 -0
  56. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  57. package/dist/lib/neutral/create-DGJZRLG7.mjs +52 -0
  58. package/dist/lib/neutral/create-DGJZRLG7.mjs.map +7 -0
  59. package/dist/lib/neutral/create-channel-RP646IAE.mjs +19 -0
  60. package/dist/lib/neutral/create-channel-RP646IAE.mjs.map +7 -0
  61. package/dist/lib/neutral/create-object-HIEWSBZB.mjs +27 -0
  62. package/dist/lib/neutral/create-object-HIEWSBZB.mjs.map +7 -0
  63. package/dist/lib/neutral/create-proposals-CPLU4YC6.mjs +56 -0
  64. package/dist/lib/neutral/create-proposals-CPLU4YC6.mjs.map +7 -0
  65. package/dist/lib/neutral/delete-MKKME2FE.mjs +57 -0
  66. package/dist/lib/neutral/delete-MKKME2FE.mjs.map +7 -0
  67. package/dist/lib/neutral/delete-message-UBZH3SZA.mjs +54 -0
  68. package/dist/lib/neutral/delete-message-UBZH3SZA.mjs.map +7 -0
  69. package/dist/lib/neutral/hooks/index.mjs +19 -0
  70. package/dist/lib/neutral/index.mjs +68 -0
  71. package/dist/lib/neutral/markdown-XQLZYS2O.mjs +83 -0
  72. package/dist/lib/neutral/markdown-XQLZYS2O.mjs.map +7 -0
  73. package/dist/lib/neutral/meta.json +1 -0
  74. package/dist/lib/neutral/meta.mjs +10 -0
  75. package/dist/lib/neutral/meta.mjs.map +7 -0
  76. package/dist/lib/neutral/on-create-space-MRLZYOJR.mjs +23 -0
  77. package/dist/lib/neutral/on-create-space-MRLZYOJR.mjs.map +7 -0
  78. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs +13 -0
  79. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs.map +7 -0
  80. package/dist/lib/neutral/operations/index.mjs +8 -0
  81. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  82. package/dist/lib/neutral/plugin.mjs +16 -0
  83. package/dist/lib/neutral/plugin.mjs.map +7 -0
  84. package/dist/lib/neutral/react-root-VMMNUSSL.mjs +18 -0
  85. package/dist/lib/neutral/react-root-VMMNUSSL.mjs.map +7 -0
  86. package/dist/lib/neutral/react-surface-WPSVOTVG.mjs +94 -0
  87. package/dist/lib/neutral/react-surface-WPSVOTVG.mjs.map +7 -0
  88. package/dist/lib/neutral/restore-SUXNC6GE.mjs +32 -0
  89. package/dist/lib/neutral/restore-SUXNC6GE.mjs.map +7 -0
  90. package/dist/lib/neutral/restore-message-2TPJB32Y.mjs +33 -0
  91. package/dist/lib/neutral/restore-message-2TPJB32Y.mjs.map +7 -0
  92. package/dist/lib/neutral/select-H5RMZH43.mjs +24 -0
  93. package/dist/lib/neutral/select-H5RMZH43.mjs.map +7 -0
  94. package/dist/lib/neutral/settings-HK4EB6TF.mjs +30 -0
  95. package/dist/lib/neutral/settings-HK4EB6TF.mjs.map +7 -0
  96. package/dist/lib/neutral/state-UU7VEAKV.mjs +22 -0
  97. package/dist/lib/neutral/state-UU7VEAKV.mjs.map +7 -0
  98. package/dist/lib/neutral/testing/index.mjs +58 -0
  99. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  100. package/dist/lib/neutral/toggle-resolved-HKZ4IRHG.mjs +36 -0
  101. package/dist/lib/neutral/toggle-resolved-HKZ4IRHG.mjs.map +7 -0
  102. package/dist/lib/neutral/translations.mjs +90 -0
  103. package/dist/lib/neutral/translations.mjs.map +7 -0
  104. package/dist/lib/neutral/types/index.mjs +12 -0
  105. package/dist/lib/neutral/types/index.mjs.map +7 -0
  106. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs +54 -0
  107. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs.map +7 -0
  108. package/dist/types/src/ThreadPlugin.d.ts +3 -1
  109. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  110. package/dist/types/src/ThreadPlugin.node.d.ts +4 -0
  111. package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -0
  112. package/dist/types/src/ThreadPlugin.test.d.ts +2 -0
  113. package/dist/types/src/ThreadPlugin.test.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/index.d.ts +2 -0
  115. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  116. package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
  117. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
  118. package/dist/types/src/calls/call-manager.d.ts +40 -30
  119. package/dist/types/src/calls/call-manager.d.ts.map +1 -1
  120. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +2 -2
  121. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
  122. package/dist/types/src/calls/media-manager.d.ts +2 -2
  123. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  124. package/dist/types/src/calls/speaking-monitor.d.ts +0 -3
  125. package/dist/types/src/calls/speaking-monitor.d.ts.map +1 -1
  126. package/dist/types/src/calls/types.d.ts +1 -1
  127. package/dist/types/src/calls/types.d.ts.map +1 -1
  128. package/dist/types/src/calls/util/audio.d.ts.map +1 -1
  129. package/dist/types/src/calls/util/calls-service.d.ts +11 -6
  130. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  131. package/dist/types/src/calls/util/history-cache.d.ts.map +1 -1
  132. package/dist/types/src/calls/util/media.d.ts.map +1 -1
  133. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
  134. package/dist/types/src/calls/util/task-scheduling.d.ts +2 -2
  135. package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -1
  136. package/dist/types/src/calls-service.stories.d.ts +23 -0
  137. package/dist/types/src/calls-service.stories.d.ts.map +1 -0
  138. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  139. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  140. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  141. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/call-manager.d.ts +3 -2
  143. package/dist/types/src/capabilities/call-manager.d.ts.map +1 -1
  144. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  145. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  146. package/dist/types/src/capabilities/index.d.ts +19 -13
  147. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  148. package/dist/types/src/capabilities/markdown.d.ts +3 -2
  149. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  150. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  151. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  152. package/dist/types/src/capabilities/react-root.d.ts +4 -2
  153. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  154. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  155. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  156. package/dist/types/src/capabilities/settings.d.ts +5 -2
  157. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  158. package/dist/types/src/capabilities/state.d.ts +5 -5
  159. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  160. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  161. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  162. package/dist/types/src/components/Call/Call.d.ts +32 -4
  163. package/dist/types/src/components/Call/Call.d.ts.map +1 -1
  164. package/dist/types/src/components/Call/Toolbar.d.ts +6 -6
  165. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  166. package/dist/types/src/components/Chat/Chat.d.ts +51 -0
  167. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
  168. package/dist/types/src/components/Chat/index.d.ts +2 -0
  169. package/dist/types/src/components/Chat/index.d.ts.map +1 -0
  170. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  171. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  172. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  173. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  174. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts +14 -0
  175. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  176. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  177. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  178. package/dist/types/src/components/Lobby/Lobby.d.ts +24 -3
  179. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
  180. package/dist/types/src/components/Media/VideoObject.d.ts +3 -3
  181. package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
  182. package/dist/types/src/components/Media/VideoObject.stories.d.ts +18 -4
  183. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  184. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
  185. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  186. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  187. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  188. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
  189. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
  190. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +1 -1
  191. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +160 -5
  192. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  193. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
  194. package/dist/types/src/components/ResponsiveGrid/{ResponsiveContainer.d.ts → ResponsivePanel.d.ts} +4 -4
  195. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +1 -0
  196. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +164 -0
  197. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -0
  198. package/dist/types/src/components/ResponsiveGrid/index.d.ts +1 -1
  199. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -1
  200. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  201. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  202. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  203. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  204. package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
  205. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  206. package/dist/types/src/components/index.d.ts +5 -9
  207. package/dist/types/src/components/index.d.ts.map +1 -1
  208. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts +15 -0
  209. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
  210. package/dist/types/src/containers/CallDebugPanel/index.d.ts +2 -0
  211. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
  212. package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
  213. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
  214. package/dist/types/src/containers/CallSidebar/index.d.ts +2 -0
  215. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
  216. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +20 -0
  217. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -0
  218. package/dist/types/src/containers/ChannelChat/index.d.ts +4 -0
  219. package/dist/types/src/containers/ChannelChat/index.d.ts.map +1 -0
  220. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
  221. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
  222. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +162 -0
  223. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
  224. package/dist/types/src/containers/ChannelContainer/index.d.ts +2 -0
  225. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
  226. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +8 -0
  227. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  228. package/dist/types/src/containers/ThreadCompanion/index.d.ts +2 -0
  229. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  230. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts +20 -0
  231. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts.map +1 -0
  232. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts +162 -0
  233. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts.map +1 -0
  234. package/dist/types/src/containers/ThreadContainer/index.d.ts +4 -0
  235. package/dist/types/src/containers/ThreadContainer/index.d.ts.map +1 -0
  236. package/dist/types/src/containers/index.d.ts +8 -0
  237. package/dist/types/src/containers/index.d.ts.map +1 -0
  238. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  239. package/dist/types/src/extensions/command.d.ts.map +1 -0
  240. package/dist/types/src/extensions/index.d.ts +1 -0
  241. package/dist/types/src/extensions/index.d.ts.map +1 -1
  242. package/dist/types/src/extensions/threads.d.ts +9 -4
  243. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  244. package/dist/types/src/hooks/analytics.d.ts +2 -3
  245. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  246. package/dist/types/src/hooks/index.d.ts +3 -0
  247. package/dist/types/src/hooks/index.d.ts.map +1 -1
  248. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +2 -0
  249. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +1 -0
  250. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +2 -0
  251. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +1 -0
  252. package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
  253. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +3 -0
  254. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -0
  255. package/dist/types/src/index.d.ts +2 -2
  256. package/dist/types/src/index.d.ts.map +1 -1
  257. package/dist/types/src/meta.d.ts +3 -4
  258. package/dist/types/src/meta.d.ts.map +1 -1
  259. package/dist/types/src/operations/add-message.d.ts +5 -0
  260. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  261. package/dist/types/src/operations/append-channel-message.d.ts +5 -0
  262. package/dist/types/src/operations/append-channel-message.d.ts.map +1 -0
  263. package/dist/types/src/operations/create-channel.d.ts +5 -0
  264. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  265. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  266. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  267. package/dist/types/src/operations/create.d.ts +5 -0
  268. package/dist/types/src/operations/create.d.ts.map +1 -0
  269. package/dist/types/src/operations/delete-message.d.ts +5 -0
  270. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  271. package/dist/types/src/operations/delete.d.ts +5 -0
  272. package/dist/types/src/operations/delete.d.ts.map +1 -0
  273. package/dist/types/src/operations/index.d.ts +3 -0
  274. package/dist/types/src/operations/index.d.ts.map +1 -0
  275. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  276. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  277. package/dist/types/src/operations/restore-message.d.ts +5 -0
  278. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  279. package/dist/types/src/operations/restore.d.ts +5 -0
  280. package/dist/types/src/operations/restore.d.ts.map +1 -0
  281. package/dist/types/src/operations/select.d.ts +5 -0
  282. package/dist/types/src/operations/select.d.ts.map +1 -0
  283. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  284. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  285. package/dist/types/src/plugin.d.ts +4 -0
  286. package/dist/types/src/plugin.d.ts.map +1 -0
  287. package/dist/types/src/testing/data.d.ts +5 -0
  288. package/dist/types/src/testing/data.d.ts.map +1 -0
  289. package/dist/types/src/testing/index.d.ts +1 -1
  290. package/dist/types/src/testing/index.d.ts.map +1 -1
  291. package/dist/types/src/translations.d.ts +144 -194
  292. package/dist/types/src/translations.d.ts.map +1 -1
  293. package/dist/types/src/types/Settings.d.ts +5 -0
  294. package/dist/types/src/types/Settings.d.ts.map +1 -0
  295. package/dist/types/src/types/ThreadCapabilities.d.ts +26 -0
  296. package/dist/types/src/types/ThreadCapabilities.d.ts.map +1 -0
  297. package/dist/types/src/types/ThreadOperation.d.ts +1995 -0
  298. package/dist/types/src/types/ThreadOperation.d.ts.map +1 -0
  299. package/dist/types/src/types/index.d.ts +3 -1
  300. package/dist/types/src/types/index.d.ts.map +1 -1
  301. package/dist/types/src/types/types.d.ts +3 -325
  302. package/dist/types/src/types/types.d.ts.map +1 -1
  303. package/dist/types/src/util.d.ts +21 -3
  304. package/dist/types/src/util.d.ts.map +1 -1
  305. package/dist/types/tsconfig.tsbuildinfo +1 -1
  306. package/package.json +150 -80
  307. package/src/ThreadPlugin.node.ts +39 -0
  308. package/src/ThreadPlugin.test.ts +37 -0
  309. package/src/ThreadPlugin.tsx +64 -147
  310. package/src/blueprints/index.ts +5 -0
  311. package/src/blueprints/thread-blueprint.ts +36 -0
  312. package/src/calls/call-manager.ts +78 -50
  313. package/src/calls/call-swarm-synchronizer.ts +3 -3
  314. package/src/calls/media-manager.ts +77 -41
  315. package/src/calls/types.ts +8 -4
  316. package/src/calls/util/calls-service.ts +74 -19
  317. package/src/calls/util/stub-media-streams.ts +65 -9
  318. package/src/calls/util/task-scheduling.ts +4 -4
  319. package/src/calls-service.stories.tsx +230 -0
  320. package/src/capabilities/app-graph-builder.ts +176 -161
  321. package/src/capabilities/blueprint-definition.ts +19 -0
  322. package/src/capabilities/call-manager.ts +18 -10
  323. package/src/capabilities/create-object.ts +29 -0
  324. package/src/capabilities/index.ts +17 -11
  325. package/src/capabilities/markdown.ts +54 -36
  326. package/src/capabilities/operation-handler.ts +16 -0
  327. package/src/capabilities/react-root.tsx +12 -9
  328. package/src/capabilities/react-surface.tsx +83 -74
  329. package/src/capabilities/settings.ts +26 -12
  330. package/src/capabilities/state.ts +14 -17
  331. package/src/capabilities/undo-mappings.ts +46 -0
  332. package/src/components/Call/Call.tsx +17 -12
  333. package/src/components/Call/Toolbar.tsx +63 -46
  334. package/src/components/Chat/Chat.tsx +258 -0
  335. package/src/components/Chat/index.ts +5 -0
  336. package/src/components/CommentsPanel/CommentsPanel.stories.tsx +95 -0
  337. package/src/components/CommentsPanel/CommentsPanel.tsx +71 -0
  338. package/src/components/CommentsPanel/CommentsThread.tsx +171 -0
  339. package/src/components/CommentsPanel/index.ts +6 -0
  340. package/src/components/Lobby/Lobby.tsx +21 -17
  341. package/src/components/Media/AudioStream.tsx +2 -2
  342. package/src/components/Media/VideoObject.stories.tsx +37 -30
  343. package/src/components/Media/VideoObject.tsx +1 -1
  344. package/src/components/MessagePanel/MessagePanel.tsx +221 -0
  345. package/src/components/MessagePanel/index.ts +5 -0
  346. package/src/components/Participant/Participant.tsx +35 -15
  347. package/src/components/Participant/ParticipantGrid.tsx +1 -1
  348. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +51 -49
  349. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +6 -6
  350. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +15 -12
  351. package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +12 -12
  352. package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +7 -9
  353. package/src/components/ResponsiveGrid/index.ts +1 -1
  354. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
  355. package/src/components/ThreadSettings/ThreadSettings.tsx +20 -0
  356. package/src/components/ThreadSettings/index.ts +5 -0
  357. package/src/components/index.ts +6 -12
  358. package/src/containers/CallDebugPanel/CallDebugPanel.tsx +173 -0
  359. package/src/containers/CallDebugPanel/index.ts +5 -0
  360. package/src/containers/CallSidebar/CallSidebar.tsx +18 -0
  361. package/src/containers/CallSidebar/index.ts +5 -0
  362. package/src/containers/ChannelChat/ChannelChat.tsx +75 -0
  363. package/src/containers/ChannelChat/index.ts +8 -0
  364. package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +105 -0
  365. package/src/containers/ChannelContainer/ChannelContainer.tsx +223 -0
  366. package/src/containers/ChannelContainer/index.ts +5 -0
  367. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +215 -0
  368. package/src/containers/ThreadCompanion/index.ts +5 -0
  369. package/src/containers/ThreadContainer/ThreadContainer.stories.tsx +86 -0
  370. package/src/containers/ThreadContainer/ThreadContainer.tsx +75 -0
  371. package/src/containers/ThreadContainer/index.ts +8 -0
  372. package/src/containers/index.ts +12 -0
  373. package/src/{components/command-extension.ts → extensions/command.ts} +7 -4
  374. package/src/extensions/index.ts +1 -0
  375. package/src/extensions/threads.ts +89 -44
  376. package/src/hooks/analytics.ts +22 -21
  377. package/src/hooks/index.ts +4 -0
  378. package/src/hooks/useBlackCanvasStreamTrack.tsx +27 -0
  379. package/src/hooks/useDebugMode.ts +1 -1
  380. package/src/hooks/useInaudibleAudioStreamTrack.tsx +27 -0
  381. package/src/hooks/useVideoStreamTrack.tsx +36 -0
  382. package/src/index.ts +4 -3
  383. package/src/meta.ts +11 -7
  384. package/src/operations/add-message.ts +81 -0
  385. package/src/operations/append-channel-message.ts +37 -0
  386. package/src/operations/create-channel.ts +20 -0
  387. package/src/operations/create-proposals.ts +49 -0
  388. package/src/operations/create.ts +48 -0
  389. package/src/operations/delete-message.ts +53 -0
  390. package/src/operations/delete.ts +63 -0
  391. package/src/operations/index.ts +20 -0
  392. package/src/operations/on-create-space.ts +27 -0
  393. package/src/operations/restore-message.ts +38 -0
  394. package/src/operations/restore.ts +38 -0
  395. package/src/operations/select.ts +24 -0
  396. package/src/operations/toggle-resolved.ts +41 -0
  397. package/src/plugin.ts +11 -0
  398. package/src/testing/data.ts +49 -0
  399. package/src/testing/index.ts +1 -1
  400. package/src/translations.ts +77 -73
  401. package/src/types/Settings.ts +10 -0
  402. package/src/types/ThreadCapabilities.ts +41 -0
  403. package/src/types/ThreadOperation.ts +179 -0
  404. package/src/types/index.ts +4 -1
  405. package/src/types/types.ts +4 -92
  406. package/src/typings/peermetrics-webrtc-stats.d.ts +17 -1
  407. package/src/typings.d.ts +8 -0
  408. package/src/util.ts +38 -6
  409. package/dist/lib/browser/ChannelContainer-PKFBVENP.mjs +0 -15
  410. package/dist/lib/browser/ChatContainer-RSOKYAMK.mjs +0 -14
  411. package/dist/lib/browser/app-graph-builder-OY7R7EJP.mjs +0 -171
  412. package/dist/lib/browser/app-graph-builder-OY7R7EJP.mjs.map +0 -7
  413. package/dist/lib/browser/call-manager-APQAZWHT.mjs +0 -23
  414. package/dist/lib/browser/call-manager-APQAZWHT.mjs.map +0 -7
  415. package/dist/lib/browser/chunk-4H4A264L.mjs +0 -1708
  416. package/dist/lib/browser/chunk-4H4A264L.mjs.map +0 -7
  417. package/dist/lib/browser/chunk-5P5BH5GE.mjs +0 -88
  418. package/dist/lib/browser/chunk-5P5BH5GE.mjs.map +0 -7
  419. package/dist/lib/browser/chunk-6NBVNXTM.mjs +0 -21
  420. package/dist/lib/browser/chunk-6NBVNXTM.mjs.map +0 -7
  421. package/dist/lib/browser/chunk-AEXWNS6Z.mjs +0 -128
  422. package/dist/lib/browser/chunk-AEXWNS6Z.mjs.map +0 -7
  423. package/dist/lib/browser/chunk-IIUTBDVB.mjs +0 -17
  424. package/dist/lib/browser/chunk-IIUTBDVB.mjs.map +0 -7
  425. package/dist/lib/browser/chunk-JKQUJOTX.mjs +0 -31
  426. package/dist/lib/browser/chunk-JKQUJOTX.mjs.map +0 -7
  427. package/dist/lib/browser/chunk-PG5CTFKK.mjs +0 -550
  428. package/dist/lib/browser/chunk-PG5CTFKK.mjs.map +0 -7
  429. package/dist/lib/browser/chunk-R5MDLUPC.mjs +0 -18
  430. package/dist/lib/browser/chunk-R5MDLUPC.mjs.map +0 -7
  431. package/dist/lib/browser/chunk-TAFSCSUR.mjs +0 -351
  432. package/dist/lib/browser/chunk-TAFSCSUR.mjs.map +0 -7
  433. package/dist/lib/browser/chunk-XZKBN3NS.mjs +0 -983
  434. package/dist/lib/browser/chunk-XZKBN3NS.mjs.map +0 -7
  435. package/dist/lib/browser/index.mjs +0 -308
  436. package/dist/lib/browser/index.mjs.map +0 -7
  437. package/dist/lib/browser/intent-resolver-FK2MDVDT.mjs +0 -353
  438. package/dist/lib/browser/intent-resolver-FK2MDVDT.mjs.map +0 -7
  439. package/dist/lib/browser/markdown-TE5SWWNJ.mjs +0 -169
  440. package/dist/lib/browser/markdown-TE5SWWNJ.mjs.map +0 -7
  441. package/dist/lib/browser/meta.json +0 -1
  442. package/dist/lib/browser/react-root-NK3A4VG7.mjs +0 -27
  443. package/dist/lib/browser/react-root-NK3A4VG7.mjs.map +0 -7
  444. package/dist/lib/browser/react-surface-VXUJKSOG.mjs +0 -108
  445. package/dist/lib/browser/react-surface-VXUJKSOG.mjs.map +0 -7
  446. package/dist/lib/browser/settings-RB2RSLXV.mjs +0 -22
  447. package/dist/lib/browser/settings-RB2RSLXV.mjs.map +0 -7
  448. package/dist/lib/browser/state-RKL5MSDP.mjs +0 -34
  449. package/dist/lib/browser/state-RKL5MSDP.mjs.map +0 -7
  450. package/dist/lib/browser/types/index.mjs +0 -16
  451. package/dist/lib/node/ChannelContainer-YS5YT2ML.cjs +0 -36
  452. package/dist/lib/node/ChannelContainer-YS5YT2ML.cjs.map +0 -7
  453. package/dist/lib/node/ChatContainer-GCOM3M56.cjs +0 -35
  454. package/dist/lib/node/ChatContainer-GCOM3M56.cjs.map +0 -7
  455. package/dist/lib/node/app-graph-builder-PBHJNDQY.cjs +0 -179
  456. package/dist/lib/node/app-graph-builder-PBHJNDQY.cjs.map +0 -7
  457. package/dist/lib/node/call-manager-HV2XJW5O.cjs +0 -37
  458. package/dist/lib/node/call-manager-HV2XJW5O.cjs.map +0 -7
  459. package/dist/lib/node/chunk-44I33JDT.cjs +0 -1731
  460. package/dist/lib/node/chunk-44I33JDT.cjs.map +0 -7
  461. package/dist/lib/node/chunk-4YSNVPWU.cjs +0 -37
  462. package/dist/lib/node/chunk-4YSNVPWU.cjs.map +0 -7
  463. package/dist/lib/node/chunk-E3WBZTTI.cjs +0 -371
  464. package/dist/lib/node/chunk-E3WBZTTI.cjs.map +0 -7
  465. package/dist/lib/node/chunk-ERG7G6FF.cjs +0 -59
  466. package/dist/lib/node/chunk-ERG7G6FF.cjs.map +0 -7
  467. package/dist/lib/node/chunk-FUXJAVFZ.cjs +0 -108
  468. package/dist/lib/node/chunk-FUXJAVFZ.cjs.map +0 -7
  469. package/dist/lib/node/chunk-HLMCEE5K.cjs +0 -41
  470. package/dist/lib/node/chunk-HLMCEE5K.cjs.map +0 -7
  471. package/dist/lib/node/chunk-IP533AMV.cjs +0 -554
  472. package/dist/lib/node/chunk-IP533AMV.cjs.map +0 -7
  473. package/dist/lib/node/chunk-LR5NENBE.cjs +0 -54
  474. package/dist/lib/node/chunk-LR5NENBE.cjs.map +0 -7
  475. package/dist/lib/node/chunk-UM36TPCT.cjs +0 -984
  476. package/dist/lib/node/chunk-UM36TPCT.cjs.map +0 -7
  477. package/dist/lib/node/chunk-ZGDN3XBR.cjs +0 -149
  478. package/dist/lib/node/chunk-ZGDN3XBR.cjs.map +0 -7
  479. package/dist/lib/node/index.cjs +0 -310
  480. package/dist/lib/node/index.cjs.map +0 -7
  481. package/dist/lib/node/intent-resolver-SYSJ5SJG.cjs +0 -363
  482. package/dist/lib/node/intent-resolver-SYSJ5SJG.cjs.map +0 -7
  483. package/dist/lib/node/markdown-GQIPJS2F.cjs +0 -178
  484. package/dist/lib/node/markdown-GQIPJS2F.cjs.map +0 -7
  485. package/dist/lib/node/meta.json +0 -1
  486. package/dist/lib/node/react-root-6HHDMULJ.cjs +0 -51
  487. package/dist/lib/node/react-root-6HHDMULJ.cjs.map +0 -7
  488. package/dist/lib/node/react-surface-NBH42NN2.cjs +0 -122
  489. package/dist/lib/node/react-surface-NBH42NN2.cjs.map +0 -7
  490. package/dist/lib/node/settings-4LQSFEDK.cjs +0 -36
  491. package/dist/lib/node/settings-4LQSFEDK.cjs.map +0 -7
  492. package/dist/lib/node/state-IY5XX3H2.cjs +0 -50
  493. package/dist/lib/node/state-IY5XX3H2.cjs.map +0 -7
  494. package/dist/lib/node/types/index.cjs +0 -38
  495. package/dist/lib/node/types/index.cjs.map +0 -7
  496. package/dist/lib/node-esm/ChannelContainer-O4QJII2P.mjs +0 -16
  497. package/dist/lib/node-esm/ChatContainer-F6CSADV7.mjs +0 -15
  498. package/dist/lib/node-esm/app-graph-builder-BAHBHYWI.mjs +0 -172
  499. package/dist/lib/node-esm/app-graph-builder-BAHBHYWI.mjs.map +0 -7
  500. package/dist/lib/node-esm/call-manager-UUYXLF4T.mjs +0 -24
  501. package/dist/lib/node-esm/call-manager-UUYXLF4T.mjs.map +0 -7
  502. package/dist/lib/node-esm/chunk-2RNIPFDA.mjs +0 -984
  503. package/dist/lib/node-esm/chunk-2RNIPFDA.mjs.map +0 -7
  504. package/dist/lib/node-esm/chunk-ESQC6SYE.mjs +0 -19
  505. package/dist/lib/node-esm/chunk-ESQC6SYE.mjs.map +0 -7
  506. package/dist/lib/node-esm/chunk-K4KAUOKT.mjs +0 -19
  507. package/dist/lib/node-esm/chunk-K4KAUOKT.mjs.map +0 -7
  508. package/dist/lib/node-esm/chunk-O3V45YJP.mjs +0 -90
  509. package/dist/lib/node-esm/chunk-O3V45YJP.mjs.map +0 -7
  510. package/dist/lib/node-esm/chunk-O63QJPQX.mjs +0 -23
  511. package/dist/lib/node-esm/chunk-O63QJPQX.mjs.map +0 -7
  512. package/dist/lib/node-esm/chunk-P6RLFCNT.mjs +0 -352
  513. package/dist/lib/node-esm/chunk-P6RLFCNT.mjs.map +0 -7
  514. package/dist/lib/node-esm/chunk-PGRP3O4O.mjs.map +0 -7
  515. package/dist/lib/node-esm/chunk-UJMPYKT3.mjs +0 -129
  516. package/dist/lib/node-esm/chunk-UJMPYKT3.mjs.map +0 -7
  517. package/dist/lib/node-esm/chunk-UZWVVFT3.mjs +0 -551
  518. package/dist/lib/node-esm/chunk-UZWVVFT3.mjs.map +0 -7
  519. package/dist/lib/node-esm/chunk-WXNPD542.mjs.map +0 -7
  520. package/dist/lib/node-esm/index.mjs +0 -309
  521. package/dist/lib/node-esm/index.mjs.map +0 -7
  522. package/dist/lib/node-esm/intent-resolver-BU73VYW3.mjs +0 -354
  523. package/dist/lib/node-esm/intent-resolver-BU73VYW3.mjs.map +0 -7
  524. package/dist/lib/node-esm/markdown-HJUWNBLS.mjs +0 -170
  525. package/dist/lib/node-esm/markdown-HJUWNBLS.mjs.map +0 -7
  526. package/dist/lib/node-esm/meta.json +0 -1
  527. package/dist/lib/node-esm/react-root-RUXOAQNW.mjs +0 -28
  528. package/dist/lib/node-esm/react-root-RUXOAQNW.mjs.map +0 -7
  529. package/dist/lib/node-esm/react-surface-ELXFYKP6.mjs +0 -109
  530. package/dist/lib/node-esm/react-surface-ELXFYKP6.mjs.map +0 -7
  531. package/dist/lib/node-esm/settings-EA7DFSM6.mjs +0 -23
  532. package/dist/lib/node-esm/settings-EA7DFSM6.mjs.map +0 -7
  533. package/dist/lib/node-esm/state-6AUTNROZ.mjs +0 -35
  534. package/dist/lib/node-esm/state-6AUTNROZ.mjs.map +0 -7
  535. package/dist/lib/node-esm/types/index.mjs +0 -17
  536. package/dist/types/src/capabilities/capabilities.d.ts +0 -27
  537. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  538. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  539. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  540. package/dist/types/src/components/CallDebugPanel.d.ts +0 -8
  541. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  542. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  543. package/dist/types/src/components/ChannelContainer.d.ts +0 -14
  544. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  545. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -10
  546. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  547. package/dist/types/src/components/Chat.stories.d.ts +0 -6
  548. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  549. package/dist/types/src/components/ChatContainer.d.ts +0 -17
  550. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  551. package/dist/types/src/components/CommentContainer.d.ts +0 -13
  552. package/dist/types/src/components/CommentContainer.d.ts.map +0 -1
  553. package/dist/types/src/components/Comments.stories.d.ts +0 -6
  554. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  555. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  556. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  557. package/dist/types/src/components/MessageContainer.d.ts +0 -11
  558. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  559. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  560. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -10
  561. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  562. package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
  563. package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
  564. package/dist/types/src/components/ThreadSettings.d.ts +0 -6
  565. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  566. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  567. package/dist/types/src/components/testing.d.ts +0 -4
  568. package/dist/types/src/components/testing.d.ts.map +0 -1
  569. package/dist/types/src/peers.stories.d.ts +0 -11
  570. package/dist/types/src/peers.stories.d.ts.map +0 -1
  571. package/dist/types/src/testing/stories.d.ts +0 -2
  572. package/dist/types/src/testing/stories.d.ts.map +0 -1
  573. package/dist/types/src/types/schema.d.ts +0 -133
  574. package/dist/types/src/types/schema.d.ts.map +0 -1
  575. package/src/capabilities/capabilities.ts +0 -33
  576. package/src/capabilities/intent-resolver.ts +0 -296
  577. package/src/components/CallDebugPanel.tsx +0 -115
  578. package/src/components/CallSidebar.tsx +0 -17
  579. package/src/components/ChannelContainer.stories.tsx +0 -58
  580. package/src/components/ChannelContainer.tsx +0 -199
  581. package/src/components/Chat.stories.tsx +0 -88
  582. package/src/components/ChatContainer.tsx +0 -140
  583. package/src/components/CommentContainer.tsx +0 -198
  584. package/src/components/Comments.stories.tsx +0 -85
  585. package/src/components/CommentsContainer.tsx +0 -66
  586. package/src/components/MessageContainer.tsx +0 -167
  587. package/src/components/ThreadComplementary.tsx +0 -151
  588. package/src/components/ThreadSettings.tsx +0 -17
  589. package/src/components/testing.ts +0 -29
  590. package/src/peers.stories.tsx +0 -189
  591. package/src/testing/stories.ts +0 -50
  592. package/src/types/schema.ts +0 -33
  593. /package/dist/lib/{browser/ChannelContainer-PKFBVENP.mjs.map → neutral/ChannelChat-EKQYQQXZ.mjs.map} +0 -0
  594. /package/dist/lib/{browser/ChatContainer-RSOKYAMK.mjs.map → neutral/ChannelContainer-XXMX5X43.mjs.map} +0 -0
  595. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  596. /package/dist/lib/{node-esm/ChannelContainer-O4QJII2P.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  597. /package/dist/lib/{node-esm/types → neutral/hooks}/index.mjs.map +0 -0
  598. /package/dist/lib/{node-esm/ChatContainer-F6CSADV7.mjs.map → neutral/index.mjs.map} +0 -0
@@ -2,87 +2,96 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import { useAtomValue } from '@effect-atom/atom-react';
6
+ import * as Effect from 'effect/Effect';
5
7
  import React from 'react';
6
8
 
7
- import { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';
8
- import { Obj, type Ref } from '@dxos/echo';
9
- import { SettingsStore } from '@dxos/local-storage';
9
+ import { Capabilities, Capability } from '@dxos/app-framework';
10
+ import { Surface, useCapability, useSettingsState } from '@dxos/app-framework/ui';
11
+ import { AppSurface } from '@dxos/app-toolkit/ui';
10
12
  import { getSpace } from '@dxos/react-client/echo';
13
+ import { Channel, Thread } from '@dxos/types';
11
14
 
12
- import { ThreadCapabilities } from './capabilities';
15
+ import { ThreadSettings } from '#components';
13
16
  import {
14
- CallSidebar,
15
17
  CallDebugPanel,
18
+ CallSidebar,
19
+ ChannelChat,
16
20
  ChannelContainer,
17
- ThreadComplementary,
18
- ThreadSettings,
19
- ChatContainer,
20
- } from '../components';
21
- import { THREAD_PLUGIN } from '../meta';
22
- import { ChannelType, ThreadType, type ThreadSettingsProps } from '../types';
21
+ ThreadCompanion,
22
+ ThreadContainer,
23
+ } from '#containers';
24
+ import { meta } from '#meta';
25
+ import { ThreadCapabilities, type Settings } from '#types';
23
26
 
24
- export default () =>
25
- contributes(Capabilities.ReactSurface, [
26
- createSurface({
27
- id: `${THREAD_PLUGIN}/channel`,
28
- role: 'article',
29
- filter: (data): data is { subject: ChannelType } => Obj.instanceOf(ChannelType, data.subject),
30
- component: ({ data: { subject: channel }, role }) => <ChannelContainer channel={channel} role={role} />,
31
- }),
32
- createSurface({
33
- id: `${THREAD_PLUGIN}/chat-companion`,
34
- role: 'article',
35
- filter: (data): data is { companionTo: ChannelType; subject: 'chat' } =>
36
- Obj.instanceOf(ChannelType, data.companionTo) && data.subject === 'chat',
37
- component: ({ data: { companionTo: channel } }) => {
38
- const space = getSpace(channel);
39
- const thread = channel.defaultThread.target;
40
- if (!space || !thread) {
41
- return null;
42
- }
27
+ export default Capability.makeModule(() =>
28
+ Effect.succeed(
29
+ Capability.contributes(Capabilities.ReactSurface, [
30
+ Surface.create({
31
+ id: 'channel',
32
+ filter: AppSurface.object(AppSurface.Article, Channel.Channel),
33
+ component: ({ data: { subject, attendableId }, role }) => (
34
+ <ChannelContainer role={role} subject={subject} attendableId={attendableId} />
35
+ ),
36
+ }),
37
+ Surface.create({
38
+ id: 'chat-companion',
39
+ filter: AppSurface.allOf(
40
+ AppSurface.literal(AppSurface.Article, 'chat'),
41
+ AppSurface.companion(AppSurface.Article, Channel.Channel),
42
+ ),
43
+ component: ({ data: { companionTo: channel } }) => {
44
+ const space = getSpace(channel);
45
+ if (!space) {
46
+ return null;
47
+ }
43
48
 
44
- return <ChatContainer thread={thread} space={space} />;
45
- },
46
- }),
47
- createSurface({
48
- id: `${THREAD_PLUGIN}/thread`,
49
- role: 'article',
50
- filter: (data): data is { subject: ThreadType } => Obj.instanceOf(ThreadType, data.subject),
51
- component: ({ data: { subject: thread } }) => {
52
- const space = getSpace(thread);
53
- if (!space || !thread) {
54
- return null;
55
- }
49
+ return <ChannelChat channel={channel} space={space} />;
50
+ },
51
+ }),
52
+ Surface.create({
53
+ id: 'thread',
54
+ filter: AppSurface.object(AppSurface.Article, Thread.Thread),
55
+ component: ({ data: { subject } }) => {
56
+ const space = getSpace(subject);
57
+ if (!space || !subject) {
58
+ return null;
59
+ }
56
60
 
57
- return <ChatContainer thread={thread} space={space} />;
58
- },
59
- }),
60
- createSurface({
61
- id: `${THREAD_PLUGIN}/comments`,
62
- role: 'article',
63
- filter: (data): data is { companionTo: { threads: Ref.Ref<ThreadType>[] } } =>
64
- data.subject === 'comments' && Obj.isObject(data.companionTo),
65
- // TODO(wittjosiah): This isn't scrolling properly in a plank.
66
- component: ({ data }) => <ThreadComplementary subject={data.companionTo} />,
67
- }),
68
- createSurface({
69
- id: `${THREAD_PLUGIN}/plugin-settings`,
70
- role: 'article',
71
- filter: (data): data is { subject: SettingsStore<ThreadSettingsProps> } =>
72
- data.subject instanceof SettingsStore && data.subject.prefix === THREAD_PLUGIN,
73
- component: ({ data: { subject } }) => <ThreadSettings settings={subject.value} />,
74
- }),
75
- createSurface({
76
- id: `${THREAD_PLUGIN}/assistant`,
77
- role: 'deck-companion--active-call',
78
- component: () => <CallSidebar />,
79
- }),
80
- createSurface({
81
- id: `${THREAD_PLUGIN}/devtools-overview`,
82
- role: 'devtools-overview',
83
- component: () => {
84
- const call = useCapability(ThreadCapabilities.CallManager);
85
- return <CallDebugPanel state={call.state} />;
86
- },
87
- }),
88
- ]);
61
+ return <ThreadContainer thread={subject} space={space} />;
62
+ },
63
+ }),
64
+ Surface.create({
65
+ id: 'comments',
66
+ filter: AppSurface.allOf(
67
+ AppSurface.literal(AppSurface.Article, 'comments'),
68
+ AppSurface.companion(AppSurface.Article),
69
+ ),
70
+ // TODO(wittjosiah): This isn't scrolling properly in a plank.
71
+ component: ({ data }) => <ThreadCompanion attendableId={data.attendableId} subject={data.companionTo} />,
72
+ }),
73
+ Surface.create({
74
+ id: 'plugin-settings',
75
+ filter: AppSurface.settings(AppSurface.Article, meta.id),
76
+ component: ({ data: { subject } }) => {
77
+ const { settings, updateSettings } = useSettingsState<Settings.Settings>(subject.atom);
78
+ return <ThreadSettings settings={settings} onSettingsChange={updateSettings} />;
79
+ },
80
+ }),
81
+ Surface.create({
82
+ id: 'assistant',
83
+ role: 'deck-companion--active-call',
84
+ component: () => <CallSidebar />,
85
+ }),
86
+ Surface.create({
87
+ id: 'devtools-overview',
88
+ role: 'devtools-overview',
89
+ component: () => {
90
+ const call = useCapability(ThreadCapabilities.CallManager);
91
+ const state = useAtomValue(call.stateAtom);
92
+ return <CallDebugPanel state={state} />;
93
+ },
94
+ }),
95
+ ]),
96
+ ),
97
+ );
@@ -2,18 +2,32 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Capabilities, contributes } from '@dxos/app-framework';
6
- import { live } from '@dxos/live-object';
5
+ import * as Effect from 'effect/Effect';
7
6
 
8
- import { meta } from '../meta';
9
- import { type ThreadSettingsProps, ThreadSettingsSchema } from '../types';
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities } from '@dxos/app-toolkit';
9
+ import { createKvsStore } from '@dxos/effect';
10
10
 
11
- export default () => {
12
- const settings = live<ThreadSettingsProps>({});
11
+ import { meta } from '#meta';
12
+ import { Settings, ThreadCapabilities } from '#types';
13
13
 
14
- return contributes(Capabilities.Settings, {
15
- prefix: meta.id,
16
- schema: ThreadSettingsSchema,
17
- value: settings,
18
- });
19
- };
14
+ export default Capability.makeModule(() =>
15
+ Effect.sync(() => {
16
+ const settingsAtom = createKvsStore({
17
+ key: meta.id,
18
+ schema: Settings.Settings,
19
+ defaultValue: () => ({}),
20
+ });
21
+
22
+ return [
23
+ // Expose atom directly for programmatic access.
24
+ Capability.contributes(ThreadCapabilities.Settings, settingsAtom),
25
+ // Contribute to common settings for UI discovery.
26
+ Capability.contributes(AppCapabilities.Settings, {
27
+ prefix: meta.id,
28
+ schema: Settings.Settings,
29
+ atom: settingsAtom,
30
+ }),
31
+ ];
32
+ }),
33
+ );
@@ -2,24 +2,21 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { contributes } from '@dxos/app-framework';
6
- import { live } from '@dxos/live-object';
5
+ import { Atom } from '@effect-atom/atom-react';
6
+ import * as Effect from 'effect/Effect';
7
7
 
8
- import { ThreadCapabilities } from './capabilities';
9
- import { type ThreadState, type ViewStore } from '../types';
8
+ import { Capability } from '@dxos/app-framework';
10
9
 
11
- const initialViewState = { showResolvedThreads: false };
10
+ import { ThreadCapabilities, type ThreadState, type ViewStore } from '#types';
12
11
 
13
- export default () => {
14
- const state = live<ThreadState>({ toolbar: {}, drafts: {} });
15
- const viewStore = live<ViewStore>({});
12
+ export default Capability.makeModule(
13
+ Effect.fnUntraced(function* () {
14
+ const stateAtom = Atom.make<ThreadState>({ toolbar: {}, drafts: {} }).pipe(Atom.keepAlive);
15
+ const viewStoreAtom = Atom.make<ViewStore>({}).pipe(Atom.keepAlive);
16
16
 
17
- const getViewState = (subjectId: string) => {
18
- if (!viewStore[subjectId]) {
19
- viewStore[subjectId] = { ...initialViewState };
20
- }
21
- return viewStore[subjectId];
22
- };
23
-
24
- return contributes(ThreadCapabilities.State, { state, getViewState });
25
- };
17
+ return [
18
+ Capability.contributes(ThreadCapabilities.State, stateAtom),
19
+ Capability.contributes(ThreadCapabilities.ViewState, viewStoreAtom),
20
+ ];
21
+ }),
22
+ );
@@ -0,0 +1,46 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Capabilities, Capability, UndoMapping } from '@dxos/app-framework';
8
+
9
+ import { meta } from '#meta';
10
+ import { ThreadOperation } from '#types';
11
+
12
+ export default Capability.makeModule(
13
+ Effect.fnUntraced(function* () {
14
+ return Capability.contributes(Capabilities.UndoMapping, [
15
+ UndoMapping.make({
16
+ operation: ThreadOperation.Delete,
17
+ inverse: ThreadOperation.Restore,
18
+ deriveContext: (_input, output) => {
19
+ if (!output.thread || !output.anchor) {
20
+ return;
21
+ }
22
+ return {
23
+ thread: output.thread,
24
+ anchor: output.anchor,
25
+ };
26
+ },
27
+ message: ['thread-deleted.label', { ns: meta.id }],
28
+ }),
29
+ UndoMapping.make({
30
+ operation: ThreadOperation.DeleteMessage,
31
+ inverse: ThreadOperation.RestoreMessage,
32
+ deriveContext: (input, output) => {
33
+ if (!output.message || output.messageIndex === undefined) {
34
+ return;
35
+ }
36
+ return {
37
+ anchor: input.anchor,
38
+ message: output.message,
39
+ messageIndex: output.messageIndex,
40
+ };
41
+ },
42
+ message: ['message-deleted.label', { ns: meta.id }],
43
+ }),
44
+ ]);
45
+ }),
46
+ );
@@ -2,16 +2,18 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import React, { type PropsWithChildren, type FC } from 'react';
5
+ import { useAtomValue } from '@effect-atom/atom-react';
6
+ import React, { type PropsWithChildren } from 'react';
6
7
 
7
- import { useCapability } from '@dxos/app-framework';
8
+ import { useCapability } from '@dxos/app-framework/ui';
8
9
  import { type ThemedClassName } from '@dxos/react-ui';
9
10
 
10
- import { Toolbar, type ToolbarProps } from './Toolbar';
11
- import { ThreadCapabilities } from '../../capabilities';
12
- import { useDebugMode } from '../../hooks';
11
+ import { useDebugMode } from '#hooks';
12
+ import { ThreadCapabilities } from '#types';
13
+
13
14
  import { AudioStream } from '../Media';
14
15
  import { ParticipantGrid } from '../Participant';
16
+ import { Toolbar, type ToolbarProps } from './Toolbar';
15
17
 
16
18
  //
17
19
  // Root
@@ -19,8 +21,8 @@ import { ParticipantGrid } from '../Participant';
19
21
 
20
22
  type CallRootProps = PropsWithChildren<ThemedClassName>;
21
23
 
22
- const CallRoot: FC<CallRootProps> = ({ children }) => {
23
- return <div className='relative flex flex-col grow overflow-hidden'>{children}</div>;
24
+ const CallRoot = ({ children }: CallRootProps) => {
25
+ return <div className='relative dx-container flex flex-col'>{children}</div>;
24
26
  };
25
27
 
26
28
  CallRoot.displayName = 'CallRoot';
@@ -31,10 +33,11 @@ CallRoot.displayName = 'CallRoot';
31
33
 
32
34
  type CallAudioProps = {};
33
35
 
34
- const CallAudio: FC<CallAudioProps> = () => {
36
+ const CallAudio = (_props: CallAudioProps) => {
35
37
  const call = useCapability(ThreadCapabilities.CallManager);
38
+ const audioTracksToPlay = useAtomValue(call.audioTracksToPlayAtom);
36
39
 
37
- return <AudioStream tracks={call.pulledAudioTracks} />;
40
+ return <AudioStream tracks={audioTracksToPlay} />;
38
41
  };
39
42
 
40
43
  CallAudio.displayName = 'CallAudio';
@@ -47,13 +50,15 @@ type CallGridProps = {
47
50
  fullscreen?: boolean;
48
51
  };
49
52
 
50
- const CallGrid: FC<CallGridProps> = ({ fullscreen }) => {
53
+ const CallGrid = ({ fullscreen }: CallGridProps) => {
51
54
  const debug = useDebugMode();
52
55
  const call = useCapability(ThreadCapabilities.CallManager);
56
+ const self = useAtomValue(call.selfAtom);
57
+ const users = useAtomValue(call.usersAtom);
53
58
 
54
59
  return (
55
60
  <div className='grid grow p-4 dark:bg-neutral-900'>
56
- <ParticipantGrid self={call.self} users={call.users} debug={debug} fullscreen={fullscreen} />
61
+ <ParticipantGrid self={self} users={users} debug={debug} fullscreen={fullscreen} />
57
62
  </div>
58
63
  );
59
64
  };
@@ -66,7 +71,7 @@ CallGrid.displayName = 'CallGrid';
66
71
 
67
72
  type CallToolbarProps = Pick<ToolbarProps, 'channel' | 'onLeave'>;
68
73
 
69
- const CallToolbar: FC<CallToolbarProps> = (props) => {
74
+ const CallToolbar = (props: CallToolbarProps) => {
70
75
  return (
71
76
  <div className='absolute bottom-0 left-0 right-0 flex justify-center'>
72
77
  <Toolbar isInRoom {...props} />
@@ -2,28 +2,31 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
+ import { useAtomValue } from '@effect-atom/atom-react';
5
6
  import React from 'react';
6
7
 
7
- import { useAppGraph, useCapability } from '@dxos/app-framework';
8
- import { useNode, useActions } from '@dxos/plugin-graph';
9
- import { fullyQualifiedId } from '@dxos/react-client/echo';
8
+ import { useCapability } from '@dxos/app-framework/ui';
9
+ import { useAppGraph } from '@dxos/app-toolkit/ui';
10
+ import { Obj } from '@dxos/echo';
11
+ import { Node, useActionRunner } from '@dxos/plugin-graph';
12
+ import { useActions, useNode } from '@dxos/plugin-graph';
10
13
  import {
11
14
  Icon,
12
15
  IconButton,
13
16
  type IconButtonProps,
17
+ Toolbar as NaturalToolbar,
14
18
  type ThemedClassName,
15
- Toolbar as NativeToolbar,
16
19
  toLocalizedString,
17
20
  useTranslation,
18
21
  } from '@dxos/react-ui';
19
- import { groupHoverControlItemWithTransition, mx } from '@dxos/react-ui-theme';
22
+ import { type Channel } from '@dxos/types';
23
+ import { groupHoverControlItemWithTransition, mx } from '@dxos/ui-theme';
20
24
 
21
- import { ThreadCapabilities } from '../../capabilities';
22
- import { THREAD_PLUGIN } from '../../meta';
23
- import { type ChannelType } from '../../types';
25
+ import { meta } from '#meta';
26
+ import { ThreadCapabilities } from '#types';
24
27
 
25
28
  export type ToolbarProps = ThemedClassName<{
26
- channel?: ChannelType;
29
+ channel?: Channel.Channel;
27
30
  participants?: number;
28
31
  autoHideControls?: boolean;
29
32
  isInRoom?: boolean;
@@ -40,64 +43,67 @@ export const Toolbar = ({
40
43
  onJoin,
41
44
  onLeave,
42
45
  }: ToolbarProps) => {
43
- const { t } = useTranslation(THREAD_PLUGIN);
46
+ const { t } = useTranslation(meta.id);
44
47
  const { graph } = useAppGraph();
48
+ const runAction = useActionRunner();
45
49
  const call = useCapability(ThreadCapabilities.CallManager);
50
+ const media = useAtomValue(call.mediaAtom);
51
+ const joined = useAtomValue(call.joinedAtom);
52
+ const raisedHand = useAtomValue(call.raisedHandAtom);
46
53
 
47
54
  // Channel app graph node.
48
- const node = useNode(graph, channel && fullyQualifiedId(channel));
55
+ const node = useNode(graph, channel && Obj.getDXN(channel).toString());
49
56
  const actions = useActions(graph, node?.id).filter((action) => action.properties.disposition === 'toolbar');
50
57
 
51
58
  // Screen sharing.
52
- const isScreensharing = call.media.screenshareTrack !== undefined;
59
+ const isScreensharing = media.screenshareTrack !== undefined;
53
60
  const canSharescreen =
54
61
  typeof navigator.mediaDevices !== 'undefined' && navigator.mediaDevices.getDisplayMedia !== undefined;
55
62
 
56
63
  // TODO(wittjosiah): In order to use toolbar, need to update to actually use the graph action callbacks directly.
57
64
  return (
58
65
  <div className={mx('z-20 flex justify-center m-8', autoHideControls && groupHoverControlItemWithTransition)}>
59
- <NativeToolbar.Root classNames={['p-2 bg-modalSurface rounded-md shadow-md', classNames]}>
66
+ <NaturalToolbar.Root classNames={['p-2 bg-modal-surface rounded-md shadow-md', classNames]}>
60
67
  <ToggleButton
61
- active={call.media.audioEnabled}
68
+ active={media.audioEnabled}
62
69
  state={{
63
70
  on: {
64
71
  icon: 'ph--microphone--regular',
65
- label: t('mic off'),
72
+ label: t('mic-off.button'),
66
73
  onClick: () => call.turnAudioOff(),
67
- classNames: 'bg-callActive',
74
+ classNames: 'bg-call-active',
68
75
  },
69
76
  off: {
70
77
  icon: 'ph--microphone-slash--duotone',
71
- label: t('mic on'),
78
+ label: t('mic-on.button'),
72
79
  onClick: () => call.turnAudioOn(),
73
- classNames: [call.joined && 'bg-callAlert'],
74
80
  },
75
81
  }}
76
82
  />
77
83
  <ToggleButton
78
- active={call.media.videoEnabled}
84
+ active={media.videoEnabled}
79
85
  state={{
80
86
  on: {
81
87
  icon: 'ph--video-camera--regular',
82
- label: t('camera off'),
88
+ label: t('camera-off.button'),
83
89
  onClick: () => call.turnVideoOff(),
84
90
  },
85
91
  off: {
86
92
  icon: 'ph--video-camera-slash--duotone',
87
- label: t('camera on'),
93
+ label: t('camera-on.button'),
88
94
  onClick: () => call.turnVideoOn(),
89
95
  },
90
96
  }}
91
97
  />
92
98
 
93
99
  {(participants !== undefined && (
94
- <div className='flex justify-center items-center gap-2 is-[5rem] text-xs text-subdued'>
95
- <Icon icon='ph--users--regular' size={4} />
100
+ <div className='flex justify-center items-center gap-2 w-[5rem] text-xs text-subdued'>
101
+ <Icon icon='ph--users--regular' />
96
102
  <div>{participants}</div>
97
103
  </div>
98
- )) || <NativeToolbar.Separator variant='gap' />}
104
+ )) || <NaturalToolbar.Separator variant='gap' />}
99
105
 
100
- {call.joined && (
106
+ {joined && (
101
107
  <>
102
108
  <ToggleButton
103
109
  disabled={!canSharescreen}
@@ -105,53 +111,64 @@ export const Toolbar = ({
105
111
  state={{
106
112
  on: {
107
113
  icon: 'ph--monitor--regular',
108
- label: t('screenshare off'),
114
+ label: t('screenshare-off.button'),
109
115
  onClick: () => call.turnScreenshareOff(),
110
116
  },
111
117
  off: {
112
118
  icon: 'ph--monitor-arrow-up--duotone',
113
- label: t('screenshare on'),
119
+ label: t('screenshare-on.button'),
114
120
  onClick: () => call.turnScreenshareOn(),
115
121
  },
116
122
  }}
117
123
  />
118
124
 
119
125
  {/* Companion actions. */}
120
- {actions.map((action) => (
121
- <IconButton
122
- key={action.id}
123
- {...defaultButtonProps}
124
- icon={action.properties.icon}
125
- label={toLocalizedString(action.properties.label, t)}
126
- classNames={action.properties.classNames}
127
- onClick={() => action.data({ node })}
128
- />
129
- ))}
126
+ {actions
127
+ .filter((action): action is Node.Action => Node.isAction(action))
128
+ .map((action) => (
129
+ <IconButton
130
+ key={action.id}
131
+ {...defaultButtonProps}
132
+ icon={action.properties.icon}
133
+ label={toLocalizedString(action.properties.label, t)}
134
+ classNames={action.properties.classNames}
135
+ onClick={() => node && void runAction(action, { parent: node })}
136
+ />
137
+ ))}
130
138
 
131
139
  <ToggleButton
132
- active={call.raisedHand}
140
+ active={raisedHand}
133
141
  state={{
134
142
  on: {
135
143
  icon: 'ph--hand-waving--regular',
136
- label: t('lower hand'),
144
+ label: t('lower-hand.button'),
137
145
  onClick: () => call.setRaisedHand(false),
138
- classNames: [call.joined && 'bg-callAlert'],
139
146
  },
140
147
  off: {
141
148
  icon: 'ph--hand-palm--duotone',
142
- label: t('raise hand'),
149
+ label: t('raise-hand.button'),
143
150
  onClick: () => call.setRaisedHand(true),
144
151
  },
145
152
  }}
146
153
  />
147
154
  </>
148
155
  )}
149
- {call.joined ? (
150
- <IconButton variant='destructive' icon='ph--phone-x--regular' label={t('leave call')} onClick={onLeave} />
156
+ {joined ? (
157
+ <IconButton
158
+ variant='destructive'
159
+ icon='ph--phone-x--regular'
160
+ label={t('leave-call.button')}
161
+ onClick={onLeave}
162
+ />
151
163
  ) : (
152
- <IconButton variant='primary' icon='ph--phone-incoming--regular' label={t('join call')} onClick={onJoin} />
164
+ <IconButton
165
+ variant='primary'
166
+ icon='ph--phone-incoming--regular'
167
+ label={t('join-call.button')}
168
+ onClick={onJoin}
169
+ />
153
170
  )}
154
- </NativeToolbar.Root>
171
+ </NaturalToolbar.Root>
155
172
  </div>
156
173
  );
157
174
  };
@@ -174,7 +191,7 @@ const defaultButtonProps: Partial<IconButtonProps> = {
174
191
  const ToggleButton = ({ active, state }: ToolbarButtonProps) => (
175
192
  <IconButton
176
193
  {...defaultButtonProps}
177
- classNames={[active ? state.on.classNames ?? 'bg-callActive' : state.off.classNames]}
194
+ classNames={[active ? (state.on.classNames ?? 'bg-call-active') : state.off.classNames]}
178
195
  icon={active ? state.on.icon : state.off.icon}
179
196
  label={active ? state.on.label : state.off.label}
180
197
  onClick={active ? state.on.onClick : state.off.onClick}