@dxos/plugin-thread 0.8.4-main.4a85c3132b → 0.8.4-main.4f23b4e393

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 (559) hide show
  1. package/dist/lib/{browser/CallDebugPanel-FGCTY7Q4.mjs → neutral/CallDebugPanel-CXWTCS7A.mjs} +7 -17
  2. package/dist/lib/neutral/CallDebugPanel-CXWTCS7A.mjs.map +7 -0
  3. package/dist/lib/neutral/CallSidebar-4USJZ2SB.mjs +25 -0
  4. package/dist/lib/neutral/CallSidebar-4USJZ2SB.mjs.map +7 -0
  5. package/dist/lib/neutral/ChannelChat-6YTD5HWL.mjs +10 -0
  6. package/dist/lib/neutral/ChannelContainer-XHBF2NCK.mjs +9 -0
  7. package/dist/lib/{browser/ThreadCompanion-2CMLJH76.mjs → neutral/ThreadCompanion-NQWPS2H6.mjs} +44 -40
  8. package/dist/lib/neutral/ThreadCompanion-NQWPS2H6.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-HV5R66K4.mjs +87 -0
  18. package/dist/lib/neutral/add-message-HV5R66K4.mjs.map +7 -0
  19. package/dist/lib/{browser/app-graph-builder-5LCAM746.mjs → neutral/app-graph-builder-JDLHZ4XO.mjs} +68 -86
  20. package/dist/lib/neutral/app-graph-builder-JDLHZ4XO.mjs.map +7 -0
  21. package/dist/lib/neutral/append-channel-message-PO33DR5V.mjs +40 -0
  22. package/dist/lib/neutral/append-channel-message-PO33DR5V.mjs.map +7 -0
  23. package/dist/lib/{browser/blueprint-definition-42M2EJ2Y.mjs → neutral/blueprint-definition-S3EBOH4R.mjs} +4 -6
  24. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs.map +7 -0
  25. package/dist/lib/{browser → neutral}/blueprints/index.mjs +1 -1
  26. package/dist/lib/{browser/call-manager-2PRP4QVZ.mjs → neutral/call-manager-JFA4DLWR.mjs} +5 -8
  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/{browser/chunk-LUK4UNFA.mjs → neutral/chunk-44D7D4ZX.mjs} +3 -3
  31. package/dist/lib/{browser/chunk-LUK4UNFA.mjs.map → neutral/chunk-44D7D4ZX.mjs.map} +3 -3
  32. package/dist/lib/neutral/chunk-5T5LPLBN.mjs +36 -0
  33. package/dist/lib/neutral/chunk-5T5LPLBN.mjs.map +7 -0
  34. package/dist/lib/{browser/chunk-ISCHODBV.mjs → neutral/chunk-CROE4U4O.mjs} +5 -11
  35. package/dist/lib/neutral/chunk-CROE4U4O.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-D5LGFCUY.mjs +55 -0
  37. package/dist/lib/neutral/chunk-D5LGFCUY.mjs.map +7 -0
  38. package/dist/lib/{browser/chunk-HDLDMR54.mjs → neutral/chunk-FWSMZWBO.mjs} +5 -11
  39. package/dist/lib/neutral/chunk-FWSMZWBO.mjs.map +7 -0
  40. package/dist/lib/{node-esm/chunk-ABUFOZVX.mjs → neutral/chunk-JLY4NVTA.mjs} +12 -7
  41. package/dist/lib/neutral/chunk-JLY4NVTA.mjs.map +7 -0
  42. package/dist/lib/{browser/markdown-GRRPCZHJ.mjs → neutral/chunk-KRXHIW4P.mjs} +44 -90
  43. package/dist/lib/neutral/chunk-KRXHIW4P.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-MXJYXUS2.mjs +8 -0
  45. package/dist/lib/neutral/chunk-MXJYXUS2.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-OZRSYMYO.mjs +275 -0
  47. package/dist/lib/neutral/chunk-OZRSYMYO.mjs.map +7 -0
  48. package/dist/lib/{browser/chunk-ERK254BS.mjs → neutral/chunk-PZ7WTAA2.mjs} +54 -342
  49. package/dist/lib/neutral/chunk-PZ7WTAA2.mjs.map +7 -0
  50. package/dist/lib/{browser/chunk-PDHCY236.mjs → neutral/chunk-S2AKEA2K.mjs} +34 -55
  51. package/dist/lib/neutral/chunk-S2AKEA2K.mjs.map +7 -0
  52. package/dist/lib/{node-esm/chunk-IQUV7DR6.mjs → neutral/components/index.mjs} +259 -153
  53. package/dist/lib/neutral/components/index.mjs.map +7 -0
  54. package/dist/lib/neutral/containers/index.mjs +19 -0
  55. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  56. package/dist/lib/neutral/create-C3CICN35.mjs +52 -0
  57. package/dist/lib/neutral/create-C3CICN35.mjs.map +7 -0
  58. package/dist/lib/neutral/create-channel-UEQESOFT.mjs +19 -0
  59. package/dist/lib/neutral/create-channel-UEQESOFT.mjs.map +7 -0
  60. package/dist/lib/neutral/create-object-HIEWSBZB.mjs +27 -0
  61. package/dist/lib/neutral/create-object-HIEWSBZB.mjs.map +7 -0
  62. package/dist/lib/neutral/create-proposals-OZ4NCBBS.mjs +56 -0
  63. package/dist/lib/neutral/create-proposals-OZ4NCBBS.mjs.map +7 -0
  64. package/dist/lib/neutral/delete-AVFYFWMY.mjs +57 -0
  65. package/dist/lib/neutral/delete-AVFYFWMY.mjs.map +7 -0
  66. package/dist/lib/neutral/delete-message-EV2MKRTB.mjs +54 -0
  67. package/dist/lib/neutral/delete-message-EV2MKRTB.mjs.map +7 -0
  68. package/dist/lib/neutral/hooks/index.mjs +19 -0
  69. package/dist/lib/neutral/index.mjs +68 -0
  70. package/dist/lib/neutral/markdown-BUORNCPG.mjs +83 -0
  71. package/dist/lib/neutral/markdown-BUORNCPG.mjs.map +7 -0
  72. package/dist/lib/neutral/meta.json +1 -0
  73. package/dist/lib/neutral/meta.mjs +10 -0
  74. package/dist/lib/neutral/on-create-space-NQF7WGEB.mjs +23 -0
  75. package/dist/lib/neutral/on-create-space-NQF7WGEB.mjs.map +7 -0
  76. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs +13 -0
  77. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs.map +7 -0
  78. package/dist/lib/neutral/operations/index.mjs +8 -0
  79. package/dist/lib/neutral/plugin.mjs +16 -0
  80. package/dist/lib/neutral/plugin.mjs.map +7 -0
  81. package/dist/lib/{browser/react-root-7UFFPPRD.mjs → neutral/react-root-VMMNUSSL.mjs} +4 -12
  82. package/dist/lib/neutral/react-root-VMMNUSSL.mjs.map +7 -0
  83. package/dist/lib/neutral/react-surface-WPSVOTVG.mjs +94 -0
  84. package/dist/lib/neutral/react-surface-WPSVOTVG.mjs.map +7 -0
  85. package/dist/lib/neutral/restore-MGLYOJ3Y.mjs +32 -0
  86. package/dist/lib/neutral/restore-MGLYOJ3Y.mjs.map +7 -0
  87. package/dist/lib/neutral/restore-message-ZIOA2MQJ.mjs +33 -0
  88. package/dist/lib/neutral/restore-message-ZIOA2MQJ.mjs.map +7 -0
  89. package/dist/lib/neutral/select-CVCGBDHA.mjs +24 -0
  90. package/dist/lib/neutral/select-CVCGBDHA.mjs.map +7 -0
  91. package/dist/lib/{browser/settings-Y75FG6XR.mjs → neutral/settings-HK4EB6TF.mjs} +6 -11
  92. package/dist/lib/neutral/settings-HK4EB6TF.mjs.map +7 -0
  93. package/dist/lib/{browser/state-OBTMMEUZ.mjs → neutral/state-UU7VEAKV.mjs} +3 -6
  94. package/dist/lib/neutral/state-UU7VEAKV.mjs.map +7 -0
  95. package/dist/lib/neutral/testing/index.mjs +58 -0
  96. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  97. package/dist/lib/neutral/toggle-resolved-ZM4BHON5.mjs +36 -0
  98. package/dist/lib/neutral/toggle-resolved-ZM4BHON5.mjs.map +7 -0
  99. package/dist/lib/neutral/translations.mjs +90 -0
  100. package/dist/lib/neutral/translations.mjs.map +7 -0
  101. package/dist/lib/neutral/types/index.mjs +12 -0
  102. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs +54 -0
  103. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs.map +7 -0
  104. package/dist/types/src/ThreadPlugin.d.ts +1 -0
  105. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  106. package/dist/types/src/ThreadPlugin.node.d.ts +4 -0
  107. package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -0
  108. package/dist/types/src/ThreadPlugin.test.d.ts +2 -0
  109. package/dist/types/src/ThreadPlugin.test.d.ts.map +1 -0
  110. package/dist/types/src/blueprints/thread-blueprint.d.ts +2 -2
  111. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -1
  112. package/dist/types/src/calls/call-manager.d.ts.map +1 -1
  113. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
  114. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  115. package/dist/types/src/calls/speaking-monitor.d.ts +0 -3
  116. package/dist/types/src/calls/speaking-monitor.d.ts.map +1 -1
  117. package/dist/types/src/calls/types.d.ts.map +1 -1
  118. package/dist/types/src/calls/util/audio.d.ts.map +1 -1
  119. package/dist/types/src/calls/util/calls-service.d.ts +2 -2
  120. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  121. package/dist/types/src/calls/util/history-cache.d.ts.map +1 -1
  122. package/dist/types/src/calls/util/media.d.ts.map +1 -1
  123. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
  124. package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -1
  125. package/dist/types/src/calls-service.stories.d.ts +2 -2
  126. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  127. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  128. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  129. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  130. package/dist/types/src/capabilities/{call-manager/call-manager.d.ts → call-manager.d.ts} +1 -1
  131. package/dist/types/src/capabilities/call-manager.d.ts.map +1 -0
  132. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  133. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  134. package/dist/types/src/capabilities/index.d.ts +21 -10
  135. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  136. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  138. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  140. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +2 -1
  142. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/{state/state.d.ts → state.d.ts} +1 -1
  144. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  146. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  147. package/dist/types/src/components/Call/Call.d.ts +32 -4
  148. package/dist/types/src/components/Call/Call.d.ts.map +1 -1
  149. package/dist/types/src/components/Call/Toolbar.d.ts +5 -5
  150. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  151. package/dist/types/src/components/Chat/Chat.d.ts +51 -0
  152. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
  153. package/dist/types/src/components/Chat/index.d.ts +2 -0
  154. package/dist/types/src/components/Chat/index.d.ts.map +1 -0
  155. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  156. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  157. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  158. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  159. package/dist/types/src/components/{CommentsThreadContainer.d.ts → CommentsPanel/CommentsThread.d.ts} +3 -3
  160. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  161. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  162. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  163. package/dist/types/src/components/Lobby/Lobby.d.ts +24 -3
  164. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
  165. package/dist/types/src/components/Media/VideoObject.d.ts +1 -1
  166. package/dist/types/src/components/Media/VideoObject.stories.d.ts +1 -1
  167. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  168. package/dist/types/src/components/{MessageContainer.d.ts → MessagePanel/MessagePanel.d.ts} +3 -3
  169. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  170. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  171. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  172. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
  173. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
  174. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +1 -1
  175. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +142 -144
  176. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  177. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
  178. package/dist/types/src/components/ResponsiveGrid/{ResponsiveContainer.d.ts → ResponsivePanel.d.ts} +4 -4
  179. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +1 -0
  180. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +164 -0
  181. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -0
  182. package/dist/types/src/components/ResponsiveGrid/index.d.ts +1 -1
  183. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -1
  184. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  185. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  186. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  187. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  188. package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
  189. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  190. package/dist/types/src/components/index.d.ts +5 -3
  191. package/dist/types/src/components/index.d.ts.map +1 -1
  192. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -1
  193. package/dist/types/src/containers/CallDebugPanel/index.d.ts +1 -2
  194. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -1
  195. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -1
  196. package/dist/types/src/containers/CallSidebar/index.d.ts +1 -2
  197. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -1
  198. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +20 -0
  199. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -0
  200. package/dist/types/src/containers/ChannelChat/index.d.ts +4 -0
  201. package/dist/types/src/containers/ChannelChat/index.d.ts.map +1 -0
  202. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +4 -4
  203. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -1
  204. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +142 -144
  205. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -1
  206. package/dist/types/src/containers/ChannelContainer/index.d.ts +1 -2
  207. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -1
  208. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +6 -3
  209. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -1
  210. package/dist/types/src/containers/ThreadCompanion/index.d.ts +1 -2
  211. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -1
  212. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts +20 -0
  213. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts.map +1 -0
  214. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts +162 -0
  215. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts.map +1 -0
  216. package/dist/types/src/containers/ThreadContainer/index.d.ts +4 -0
  217. package/dist/types/src/containers/ThreadContainer/index.d.ts.map +1 -0
  218. package/dist/types/src/containers/index.d.ts +2 -2
  219. package/dist/types/src/containers/index.d.ts.map +1 -1
  220. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  221. package/dist/types/src/extensions/command.d.ts.map +1 -0
  222. package/dist/types/src/extensions/index.d.ts +1 -0
  223. package/dist/types/src/extensions/index.d.ts.map +1 -1
  224. package/dist/types/src/extensions/threads.d.ts +4 -4
  225. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  226. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  227. package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
  228. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
  229. package/dist/types/src/index.d.ts +2 -2
  230. package/dist/types/src/index.d.ts.map +1 -1
  231. package/dist/types/src/operations/add-message.d.ts +5 -0
  232. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  233. package/dist/types/src/operations/append-channel-message.d.ts +5 -0
  234. package/dist/types/src/operations/append-channel-message.d.ts.map +1 -0
  235. package/dist/types/src/operations/create-channel.d.ts +5 -0
  236. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  237. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  238. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  239. package/dist/types/src/operations/create.d.ts +5 -0
  240. package/dist/types/src/operations/create.d.ts.map +1 -0
  241. package/dist/types/src/operations/delete-message.d.ts +5 -0
  242. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  243. package/dist/types/src/operations/delete.d.ts +5 -0
  244. package/dist/types/src/operations/delete.d.ts.map +1 -0
  245. package/dist/types/src/operations/index.d.ts +3 -0
  246. package/dist/types/src/operations/index.d.ts.map +1 -0
  247. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  248. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  249. package/dist/types/src/operations/restore-message.d.ts +5 -0
  250. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  251. package/dist/types/src/operations/restore.d.ts +5 -0
  252. package/dist/types/src/operations/restore.d.ts.map +1 -0
  253. package/dist/types/src/operations/select.d.ts +5 -0
  254. package/dist/types/src/operations/select.d.ts.map +1 -0
  255. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  256. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  257. package/dist/types/src/plugin.d.ts +4 -0
  258. package/dist/types/src/plugin.d.ts.map +1 -0
  259. package/dist/types/src/{components/testing.d.ts → testing/data.d.ts} +1 -1
  260. package/dist/types/src/testing/data.d.ts.map +1 -0
  261. package/dist/types/src/testing/index.d.ts +1 -1
  262. package/dist/types/src/testing/index.d.ts.map +1 -1
  263. package/dist/types/src/translations.d.ts +140 -142
  264. package/dist/types/src/translations.d.ts.map +1 -1
  265. package/dist/types/src/types/Settings.d.ts +5 -0
  266. package/dist/types/src/types/Settings.d.ts.map +1 -0
  267. package/dist/types/src/types/ThreadCapabilities.d.ts +26 -0
  268. package/dist/types/src/types/ThreadCapabilities.d.ts.map +1 -0
  269. package/dist/types/src/types/ThreadOperation.d.ts +1995 -0
  270. package/dist/types/src/types/ThreadOperation.d.ts.map +1 -0
  271. package/dist/types/src/types/index.d.ts +3 -2
  272. package/dist/types/src/types/index.d.ts.map +1 -1
  273. package/dist/types/src/types/types.d.ts +0 -3303
  274. package/dist/types/src/types/types.d.ts.map +1 -1
  275. package/dist/types/src/util.d.ts +6 -3
  276. package/dist/types/src/util.d.ts.map +1 -1
  277. package/dist/types/tsconfig.tsbuildinfo +1 -1
  278. package/package.json +129 -84
  279. package/src/ThreadPlugin.node.ts +39 -0
  280. package/src/ThreadPlugin.test.ts +37 -0
  281. package/src/ThreadPlugin.tsx +16 -51
  282. package/src/blueprints/thread-blueprint.ts +5 -9
  283. package/src/calls/util/calls-service.ts +3 -2
  284. package/src/calls/util/stub-media-streams.ts +3 -1
  285. package/src/calls-service.stories.tsx +8 -7
  286. package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +52 -59
  287. package/src/capabilities/{blueprint-definition/blueprint-definition.ts → blueprint-definition.ts} +3 -1
  288. package/src/capabilities/{call-manager/call-manager.ts → call-manager.ts} +3 -2
  289. package/src/capabilities/create-object.ts +29 -0
  290. package/src/capabilities/index.ts +18 -10
  291. package/src/capabilities/{markdown/markdown.ts → markdown.ts} +16 -12
  292. package/src/capabilities/operation-handler.ts +16 -0
  293. package/src/capabilities/{react-root/react-root.tsx → react-root.tsx} +2 -2
  294. package/src/capabilities/react-surface.tsx +97 -0
  295. package/src/capabilities/{settings/settings.ts → settings.ts} +4 -5
  296. package/src/capabilities/{state/state.ts → state.ts} +1 -1
  297. package/src/capabilities/undo-mappings.ts +46 -0
  298. package/src/components/Call/Call.tsx +9 -9
  299. package/src/components/Call/Toolbar.tsx +24 -14
  300. package/src/components/Chat/Chat.tsx +258 -0
  301. package/src/components/Chat/index.ts +5 -0
  302. package/src/components/{Comments.stories.tsx → CommentsPanel/CommentsPanel.stories.tsx} +15 -14
  303. package/src/components/{CommentsContainer.tsx → CommentsPanel/CommentsPanel.tsx} +10 -10
  304. package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +18 -19
  305. package/src/components/CommentsPanel/index.ts +6 -0
  306. package/src/components/Lobby/Lobby.tsx +12 -10
  307. package/src/components/Media/VideoObject.stories.tsx +3 -4
  308. package/src/components/{MessageContainer.tsx → MessagePanel/MessagePanel.tsx} +24 -19
  309. package/src/components/MessagePanel/index.ts +5 -0
  310. package/src/components/Participant/Participant.tsx +2 -1
  311. package/src/components/Participant/ParticipantGrid.tsx +0 -1
  312. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +7 -7
  313. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +4 -4
  314. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +5 -5
  315. package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +7 -7
  316. package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +6 -8
  317. package/src/components/ResponsiveGrid/index.ts +1 -1
  318. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
  319. package/src/components/ThreadSettings/ThreadSettings.tsx +20 -0
  320. package/src/components/ThreadSettings/index.ts +5 -0
  321. package/src/components/index.ts +7 -3
  322. package/src/containers/CallDebugPanel/CallDebugPanel.tsx +5 -4
  323. package/src/containers/CallDebugPanel/index.ts +1 -3
  324. package/src/containers/CallSidebar/CallSidebar.tsx +3 -2
  325. package/src/containers/CallSidebar/index.ts +1 -3
  326. package/src/containers/ChannelChat/ChannelChat.tsx +75 -0
  327. package/src/containers/ChannelChat/index.ts +8 -0
  328. package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +59 -14
  329. package/src/containers/ChannelContainer/ChannelContainer.tsx +44 -38
  330. package/src/containers/ChannelContainer/index.ts +1 -3
  331. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +47 -29
  332. package/src/containers/ThreadCompanion/index.ts +1 -3
  333. package/src/containers/{ChatContainer/ChatContainer.stories.tsx → ThreadContainer/ThreadContainer.stories.tsx} +17 -19
  334. package/src/containers/ThreadContainer/ThreadContainer.tsx +75 -0
  335. package/src/containers/ThreadContainer/index.ts +8 -0
  336. package/src/containers/index.ts +2 -2
  337. package/src/{components/command-extension.ts → extensions/command.ts} +1 -1
  338. package/src/extensions/index.ts +1 -0
  339. package/src/extensions/threads.ts +16 -15
  340. package/src/hooks/analytics.ts +1 -1
  341. package/src/index.ts +4 -3
  342. package/src/meta.ts +2 -2
  343. package/src/operations/add-message.ts +81 -0
  344. package/src/operations/append-channel-message.ts +37 -0
  345. package/src/operations/create-channel.ts +20 -0
  346. package/src/operations/create-proposals.ts +49 -0
  347. package/src/operations/create.ts +48 -0
  348. package/src/operations/delete-message.ts +53 -0
  349. package/src/operations/delete.ts +63 -0
  350. package/src/operations/index.ts +20 -0
  351. package/src/operations/on-create-space.ts +27 -0
  352. package/src/operations/restore-message.ts +38 -0
  353. package/src/operations/restore.ts +38 -0
  354. package/src/operations/select.ts +24 -0
  355. package/src/operations/toggle-resolved.ts +41 -0
  356. package/src/plugin.ts +11 -0
  357. package/src/{components/testing.ts → testing/data.ts} +7 -7
  358. package/src/testing/index.ts +1 -1
  359. package/src/translations.ts +72 -76
  360. package/src/types/Settings.ts +10 -0
  361. package/src/types/ThreadCapabilities.ts +41 -0
  362. package/src/types/ThreadOperation.ts +178 -0
  363. package/src/types/index.ts +4 -2
  364. package/src/types/types.ts +1 -185
  365. package/src/util.ts +37 -5
  366. package/dist/lib/browser/CallDebugPanel-FGCTY7Q4.mjs.map +0 -7
  367. package/dist/lib/browser/CallSidebar-PJCMNDIF.mjs +0 -33
  368. package/dist/lib/browser/CallSidebar-PJCMNDIF.mjs.map +0 -7
  369. package/dist/lib/browser/ChannelContainer-EPYG4QAC.mjs +0 -15
  370. package/dist/lib/browser/ChatContainer-2243UD2M.mjs +0 -14
  371. package/dist/lib/browser/ThreadCompanion-2CMLJH76.mjs.map +0 -7
  372. package/dist/lib/browser/ThreadSettings-S55YVOGA.mjs +0 -20
  373. package/dist/lib/browser/ThreadSettings-S55YVOGA.mjs.map +0 -7
  374. package/dist/lib/browser/app-graph-builder-5LCAM746.mjs.map +0 -7
  375. package/dist/lib/browser/blueprint-definition-42M2EJ2Y.mjs.map +0 -7
  376. package/dist/lib/browser/call-manager-2PRP4QVZ.mjs.map +0 -7
  377. package/dist/lib/browser/chunk-CP7E2HRE.mjs +0 -31
  378. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +0 -7
  379. package/dist/lib/browser/chunk-ERK254BS.mjs.map +0 -7
  380. package/dist/lib/browser/chunk-G6FJBSXX.mjs +0 -1123
  381. package/dist/lib/browser/chunk-G6FJBSXX.mjs.map +0 -7
  382. package/dist/lib/browser/chunk-HDLDMR54.mjs.map +0 -7
  383. package/dist/lib/browser/chunk-ISCHODBV.mjs.map +0 -7
  384. package/dist/lib/browser/chunk-PDHCY236.mjs.map +0 -7
  385. package/dist/lib/browser/chunk-PL5LIVP4.mjs +0 -105
  386. package/dist/lib/browser/chunk-PL5LIVP4.mjs.map +0 -7
  387. package/dist/lib/browser/chunk-U32R23JO.mjs +0 -277
  388. package/dist/lib/browser/chunk-U32R23JO.mjs.map +0 -7
  389. package/dist/lib/browser/chunk-UVUCB7QO.mjs +0 -125
  390. package/dist/lib/browser/chunk-UVUCB7QO.mjs.map +0 -7
  391. package/dist/lib/browser/index.mjs +0 -308
  392. package/dist/lib/browser/index.mjs.map +0 -7
  393. package/dist/lib/browser/markdown-GRRPCZHJ.mjs.map +0 -7
  394. package/dist/lib/browser/meta.json +0 -1
  395. package/dist/lib/browser/operation-resolver-EP7FAYEB.mjs +0 -442
  396. package/dist/lib/browser/operation-resolver-EP7FAYEB.mjs.map +0 -7
  397. package/dist/lib/browser/react-root-7UFFPPRD.mjs.map +0 -7
  398. package/dist/lib/browser/react-surface-TIHBSZPD.mjs +0 -113
  399. package/dist/lib/browser/react-surface-TIHBSZPD.mjs.map +0 -7
  400. package/dist/lib/browser/repair-TBU45SBG.mjs +0 -40
  401. package/dist/lib/browser/repair-TBU45SBG.mjs.map +0 -7
  402. package/dist/lib/browser/settings-Y75FG6XR.mjs.map +0 -7
  403. package/dist/lib/browser/state-OBTMMEUZ.mjs.map +0 -7
  404. package/dist/lib/browser/types/index.mjs +0 -15
  405. package/dist/lib/node-esm/CallDebugPanel-CYACANSP.mjs +0 -183
  406. package/dist/lib/node-esm/CallDebugPanel-CYACANSP.mjs.map +0 -7
  407. package/dist/lib/node-esm/CallSidebar-XD7J7EQ6.mjs +0 -34
  408. package/dist/lib/node-esm/CallSidebar-XD7J7EQ6.mjs.map +0 -7
  409. package/dist/lib/node-esm/ChannelContainer-NU4LSLB4.mjs +0 -16
  410. package/dist/lib/node-esm/ChatContainer-FPNIG33R.mjs +0 -15
  411. package/dist/lib/node-esm/ThreadCompanion-TLWTONG6.mjs +0 -205
  412. package/dist/lib/node-esm/ThreadCompanion-TLWTONG6.mjs.map +0 -7
  413. package/dist/lib/node-esm/ThreadSettings-EUH4AGYV.mjs +0 -21
  414. package/dist/lib/node-esm/ThreadSettings-EUH4AGYV.mjs.map +0 -7
  415. package/dist/lib/node-esm/app-graph-builder-VBLHLX75.mjs +0 -192
  416. package/dist/lib/node-esm/app-graph-builder-VBLHLX75.mjs.map +0 -7
  417. package/dist/lib/node-esm/blueprint-definition-PEXTS56K.mjs +0 -18
  418. package/dist/lib/node-esm/blueprint-definition-PEXTS56K.mjs.map +0 -7
  419. package/dist/lib/node-esm/blueprints/index.mjs +0 -9
  420. package/dist/lib/node-esm/call-manager-BLQCEM2F.mjs +0 -28
  421. package/dist/lib/node-esm/call-manager-BLQCEM2F.mjs.map +0 -7
  422. package/dist/lib/node-esm/chunk-6K5ACCGB.mjs +0 -107
  423. package/dist/lib/node-esm/chunk-6K5ACCGB.mjs.map +0 -7
  424. package/dist/lib/node-esm/chunk-7SZBKQUU.mjs +0 -224
  425. package/dist/lib/node-esm/chunk-7SZBKQUU.mjs.map +0 -7
  426. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-GPPP2MZ3.mjs +0 -22
  428. package/dist/lib/node-esm/chunk-GPPP2MZ3.mjs.map +0 -7
  429. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  430. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  431. package/dist/lib/node-esm/chunk-IQUV7DR6.mjs.map +0 -7
  432. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs +0 -1811
  433. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs.map +0 -7
  434. package/dist/lib/node-esm/chunk-QYAVWNVM.mjs +0 -278
  435. package/dist/lib/node-esm/chunk-QYAVWNVM.mjs.map +0 -7
  436. package/dist/lib/node-esm/chunk-V2GXQ2UB.mjs +0 -126
  437. package/dist/lib/node-esm/chunk-V2GXQ2UB.mjs.map +0 -7
  438. package/dist/lib/node-esm/chunk-VBI32FGI.mjs +0 -108
  439. package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +0 -7
  440. package/dist/lib/node-esm/chunk-YN2Y7GPW.mjs +0 -185
  441. package/dist/lib/node-esm/chunk-YN2Y7GPW.mjs.map +0 -7
  442. package/dist/lib/node-esm/index.mjs +0 -309
  443. package/dist/lib/node-esm/index.mjs.map +0 -7
  444. package/dist/lib/node-esm/markdown-WHWUESF7.mjs +0 -211
  445. package/dist/lib/node-esm/markdown-WHWUESF7.mjs.map +0 -7
  446. package/dist/lib/node-esm/meta.json +0 -1
  447. package/dist/lib/node-esm/operation-resolver-R7QJW3TW.mjs +0 -443
  448. package/dist/lib/node-esm/operation-resolver-R7QJW3TW.mjs.map +0 -7
  449. package/dist/lib/node-esm/react-root-D7CWS5XP.mjs +0 -27
  450. package/dist/lib/node-esm/react-root-D7CWS5XP.mjs.map +0 -7
  451. package/dist/lib/node-esm/react-surface-WWZFSK5Y.mjs +0 -114
  452. package/dist/lib/node-esm/react-surface-WWZFSK5Y.mjs.map +0 -7
  453. package/dist/lib/node-esm/repair-7JEKRNR3.mjs +0 -41
  454. package/dist/lib/node-esm/repair-7JEKRNR3.mjs.map +0 -7
  455. package/dist/lib/node-esm/settings-W4JN2YKJ.mjs +0 -36
  456. package/dist/lib/node-esm/settings-W4JN2YKJ.mjs.map +0 -7
  457. package/dist/lib/node-esm/state-7UWCSIWQ.mjs +0 -26
  458. package/dist/lib/node-esm/state-7UWCSIWQ.mjs.map +0 -7
  459. package/dist/lib/node-esm/types/index.mjs +0 -16
  460. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  461. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  462. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  463. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +0 -6
  464. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +0 -1
  465. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +0 -3
  466. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +0 -1
  467. package/dist/types/src/capabilities/call-manager/call-manager.d.ts.map +0 -1
  468. package/dist/types/src/capabilities/call-manager/index.d.ts +0 -3
  469. package/dist/types/src/capabilities/call-manager/index.d.ts.map +0 -1
  470. package/dist/types/src/capabilities/markdown/index.d.ts +0 -3
  471. package/dist/types/src/capabilities/markdown/index.d.ts.map +0 -1
  472. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +0 -1
  473. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  474. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  475. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  476. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  477. package/dist/types/src/capabilities/react-root/index.d.ts +0 -6
  478. package/dist/types/src/capabilities/react-root/index.d.ts.map +0 -1
  479. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +0 -1
  480. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  481. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  482. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  483. package/dist/types/src/capabilities/repair/index.d.ts +0 -3
  484. package/dist/types/src/capabilities/repair/index.d.ts.map +0 -1
  485. package/dist/types/src/capabilities/repair/repair.d.ts +0 -6
  486. package/dist/types/src/capabilities/repair/repair.d.ts.map +0 -1
  487. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  488. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  489. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  490. package/dist/types/src/capabilities/state/index.d.ts +0 -3
  491. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  492. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  493. package/dist/types/src/components/Comments.stories.d.ts +0 -162
  494. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  495. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  496. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  497. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
  498. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  499. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  500. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -166
  501. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  502. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  503. package/dist/types/src/components/testing.d.ts.map +0 -1
  504. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +0 -17
  505. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +0 -1
  506. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts +0 -164
  507. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +0 -1
  508. package/dist/types/src/containers/ChatContainer/index.d.ts +0 -3
  509. package/dist/types/src/containers/ChatContainer/index.d.ts.map +0 -1
  510. package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts +0 -8
  511. package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts.map +0 -1
  512. package/dist/types/src/containers/ThreadSettings/index.d.ts +0 -3
  513. package/dist/types/src/containers/ThreadSettings/index.d.ts.map +0 -1
  514. package/dist/types/src/functions/create-proposals.d.ts +0 -13
  515. package/dist/types/src/functions/create-proposals.d.ts.map +0 -1
  516. package/dist/types/src/functions/index.d.ts +0 -14
  517. package/dist/types/src/functions/index.d.ts.map +0 -1
  518. package/dist/types/src/testing/stories.d.ts +0 -3
  519. package/dist/types/src/testing/stories.d.ts.map +0 -1
  520. package/dist/types/src/types/Channel.d.ts +0 -711
  521. package/dist/types/src/types/Channel.d.ts.map +0 -1
  522. package/dist/types/src/types/capabilities.d.ts +0 -23
  523. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  524. package/src/capabilities/app-graph-builder/index.ts +0 -7
  525. package/src/capabilities/blueprint-definition/index.ts +0 -7
  526. package/src/capabilities/call-manager/index.ts +0 -7
  527. package/src/capabilities/markdown/index.ts +0 -7
  528. package/src/capabilities/operation-resolver/index.ts +0 -7
  529. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -399
  530. package/src/capabilities/react-root/index.ts +0 -7
  531. package/src/capabilities/react-surface/index.ts +0 -7
  532. package/src/capabilities/react-surface/react-surface.tsx +0 -98
  533. package/src/capabilities/repair/index.ts +0 -7
  534. package/src/capabilities/repair/repair.ts +0 -55
  535. package/src/capabilities/settings/index.ts +0 -7
  536. package/src/capabilities/state/index.ts +0 -7
  537. package/src/containers/ChatContainer/ChatContainer.tsx +0 -149
  538. package/src/containers/ChatContainer/index.ts +0 -7
  539. package/src/containers/ThreadSettings/ThreadSettings.tsx +0 -22
  540. package/src/containers/ThreadSettings/index.ts +0 -7
  541. package/src/functions/create-proposals.ts +0 -57
  542. package/src/functions/index.ts +0 -9
  543. package/src/testing/stories.ts +0 -56
  544. package/src/types/Channel.ts +0 -30
  545. package/src/types/capabilities.ts +0 -34
  546. /package/dist/lib/{browser/ChannelContainer-EPYG4QAC.mjs.map → neutral/ChannelChat-6YTD5HWL.mjs.map} +0 -0
  547. /package/dist/lib/{browser/ChatContainer-2243UD2M.mjs.map → neutral/ChannelContainer-XHBF2NCK.mjs.map} +0 -0
  548. /package/dist/lib/{browser → neutral}/blueprints/index.mjs.map +0 -0
  549. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  550. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
  551. /package/dist/lib/{browser/types → neutral/hooks}/index.mjs.map +0 -0
  552. /package/dist/lib/{node-esm/blueprints → neutral}/index.mjs.map +0 -0
  553. /package/dist/lib/{node-esm/ChannelContainer-NU4LSLB4.mjs.map → neutral/meta.mjs.map} +0 -0
  554. /package/dist/lib/{node-esm/types → neutral/operations}/index.mjs.map +0 -0
  555. /package/dist/lib/{node-esm/ChatContainer-FPNIG33R.mjs.map → neutral/types/index.mjs.map} +0 -0
  556. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  557. /package/dist/types/src/capabilities/{markdown/markdown.d.ts → markdown.d.ts} +0 -0
  558. /package/dist/types/src/capabilities/{react-root/react-root.d.ts → react-root.d.ts} +0 -0
  559. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
@@ -1,23 +1,20 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
1
  import {
3
- useDebugMode,
4
- useOnEditAnalytics,
5
- useStatus
6
- } from "./chunk-YN2Y7GPW.mjs";
2
+ command
3
+ } from "../chunk-KRXHIW4P.mjs";
7
4
  import {
8
5
  getMessageMetadata
9
- } from "./chunk-ABUFOZVX.mjs";
10
- import {
11
- ThreadCapabilities
12
- } from "./chunk-QYAVWNVM.mjs";
13
- import {
14
- meta
15
- } from "./chunk-GPPP2MZ3.mjs";
6
+ } from "../chunk-JLY4NVTA.mjs";
7
+ import "../chunk-J5LGTIGS.mjs";
8
+
9
+ // src/components/index.ts
10
+ import { lazy } from "react";
16
11
 
17
12
  // src/components/Call/Call.tsx
18
13
  import { useAtomValue as useAtomValue3 } from "@effect-atom/atom-react";
19
14
  import React9 from "react";
20
15
  import { useCapability as useCapability3 } from "@dxos/app-framework/ui";
16
+ import { useDebugMode } from "#hooks";
17
+ import { ThreadCapabilities as ThreadCapabilities3 } from "#types";
21
18
 
22
19
  // src/components/Media/AudioStream.tsx
23
20
  import React, { useEffect, useRef } from "react";
@@ -107,21 +104,19 @@ VideoObject.displayName = "VideoObject";
107
104
  import { useAtomValue } from "@effect-atom/atom-react";
108
105
  import React6, { memo as memo2, useMemo as useMemo2 } from "react";
109
106
  import { useCapability } from "@dxos/app-framework/ui";
107
+ import { ThreadCapabilities } from "#types";
110
108
 
111
- // src/components/ResponsiveGrid/ResponsiveContainer.tsx
109
+ // src/components/ResponsiveGrid/ResponsivePanel.tsx
112
110
  import React3 from "react";
113
111
  import { mx as mx2 } from "@dxos/ui-theme";
114
- var ResponsiveContainer = ({ children }) => {
112
+ var ResponsivePanel = ({ children }) => {
115
113
  return (
116
114
  // Outer container that takes full size of parent.
117
115
  /* @__PURE__ */ React3.createElement("div", {
118
- role: "none",
119
- className: "relative flex w-full h-full"
116
+ className: "dx-expander relative flex"
120
117
  }, /* @__PURE__ */ React3.createElement("div", {
121
- role: "none",
122
118
  className: "absolute inset-0 flex justify-center items-center"
123
119
  }, /* @__PURE__ */ React3.createElement("div", {
124
- role: "none",
125
120
  className: mx2("max-h-full max-w-full w-auto h-auto aspect-video")
126
121
  }, children)))
127
122
  );
@@ -192,15 +187,7 @@ var ResponsiveGrid = ({ classNames, Cell, gap = DEFAULT_GAP, getId: getId2 = def
192
187
  }
193
188
  const t = setTimeout(() => {
194
189
  setBounds(items.filter((item) => !hideGallery || item === pinnedItem).map((item) => {
195
- invariant(containerRef.current, void 0, {
196
- F: __dxlog_file,
197
- L: 117,
198
- S: void 0,
199
- A: [
200
- "containerRef.current",
201
- ""
202
- ]
203
- });
190
+ invariant(containerRef.current, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 79, S: void 0, A: ["containerRef.current", ""] });
204
191
  const el = containerRef.current.querySelector(`[data-grid-item="${getId2(item)}"]`);
205
192
  if (!el) {
206
193
  return null;
@@ -226,7 +213,7 @@ var ResponsiveGrid = ({ classNames, Cell, gap = DEFAULT_GAP, getId: getId2 = def
226
213
  ]);
227
214
  return /* @__PURE__ */ React4.createElement("div", {
228
215
  ref: containerRef,
229
- className: mx3("relative w-full h-full", classNames)
216
+ className: mx3("dx-expander relative", classNames)
230
217
  }, /* @__PURE__ */ React4.createElement("div", {
231
218
  className: "absolute inset-0 flex flex-col grow gap-2"
232
219
  }, pinnedItem && /* @__PURE__ */ React4.createElement("div", {
@@ -274,7 +261,7 @@ var ResponsiveGrid = ({ classNames, Cell, gap = DEFAULT_GAP, getId: getId2 = def
274
261
  }))));
275
262
  };
276
263
  var SoloItem = ({ debug, id }) => {
277
- return /* @__PURE__ */ React4.createElement(ResponsiveContainer, null, /* @__PURE__ */ React4.createElement("div", {
264
+ return /* @__PURE__ */ React4.createElement(ResponsivePanel, null, /* @__PURE__ */ React4.createElement("div", {
278
265
  "data-grid-item": id,
279
266
  className: mx3("aspect-video overflow-hidden", debug && "z-20 border-2 border-primary-500")
280
267
  }, /* @__PURE__ */ React4.createElement("img", {
@@ -350,17 +337,18 @@ import React5, { useEffect as useEffect4, useState as useState2 } from "react";
350
337
  import { Icon, IconButton, useTranslation } from "@dxos/react-ui";
351
338
  import { Waveform } from "@dxos/react-ui-sfx";
352
339
  import { groupHoverControlItemWithTransition, mx as mx4 } from "@dxos/ui-theme";
340
+ import { meta } from "#meta";
353
341
  var ResponsiveGridItem = ({ children, classNames, item, style, name, self, pinned, screenshare, video, mute, wave, speaking, onClick }) => {
354
342
  const { t } = useTranslation(meta.id);
355
343
  const iconProps = {
356
344
  wave: {
357
345
  icon: "ph--hand-waving--duotone",
358
- label: t("icon wave"),
346
+ label: t("icon-wave.label"),
359
347
  classNames: "animate-pulse bg-orange-500"
360
348
  },
361
349
  mute: {
362
350
  icon: "ph--microphone-slash--regular",
363
- label: t("icon muted")
351
+ label: t("icon-muted.label")
364
352
  }
365
353
  };
366
354
  const props = wave && !pinned ? iconProps.wave : mute ? iconProps.mute : speaking ? iconProps.speaking : void 0;
@@ -378,7 +366,7 @@ var ResponsiveGridItem = ({ children, classNames, item, style, name, self, pinne
378
366
  speaking
379
367
  ]);
380
368
  return /* @__PURE__ */ React5.createElement("div", {
381
- className: mx4("relative w-full h-full group", "rounded-md outline outline-2 outline-neutral-900 transition-[outline-color] duration-500", speakingIndicator ? "outline-green-500" : !video && "outline-separator", classNames),
369
+ className: mx4("dx-expander relative group", "rounded-md outline outline-2 outline-neutral-900 transition-[outline-color] duration-500", speakingIndicator ? "outline-green-500" : !video && "outline-separator", classNames),
382
370
  style
383
371
  }, children, onClick && /* @__PURE__ */ React5.createElement("div", {
384
372
  className: "z-10 absolute top-1 right-1 flex"
@@ -387,7 +375,7 @@ var ResponsiveGridItem = ({ children, classNames, item, style, name, self, pinne
387
375
  iconOnly: true,
388
376
  icon: pinned ? "ph--x--regular" : "ph--arrows-out--regular",
389
377
  size: pinned ? 5 : 4,
390
- label: pinned ? t("icon unpin") : t("icon pin"),
378
+ label: pinned ? t("icon-unpin.label") : t("icon-pin.label"),
391
379
  onClick: () => onClick?.(item)
392
380
  })), name && /* @__PURE__ */ React5.createElement("div", {
393
381
  className: "z-10 absolute bottom-1 left-8 right-1 flex justify-end gap-1 items-center"
@@ -543,11 +531,13 @@ import { Node, useActionRunner } from "@dxos/plugin-graph";
543
531
  import { useActions, useNode } from "@dxos/plugin-graph";
544
532
  import { Icon as Icon2, IconButton as IconButton2, Toolbar as NaturalToolbar, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
545
533
  import { groupHoverControlItemWithTransition as groupHoverControlItemWithTransition2, mx as mx5 } from "@dxos/ui-theme";
534
+ import { meta as meta2 } from "#meta";
535
+ import { ThreadCapabilities as ThreadCapabilities2 } from "#types";
546
536
  var Toolbar = ({ classNames, channel, participants, autoHideControls = true, onJoin, onLeave }) => {
547
- const { t } = useTranslation2(meta.id);
537
+ const { t } = useTranslation2(meta2.id);
548
538
  const { graph } = useAppGraph();
549
539
  const runAction = useActionRunner();
550
- const call = useCapability2(ThreadCapabilities.CallManager);
540
+ const call = useCapability2(ThreadCapabilities2.CallManager);
551
541
  const media = useAtomValue2(call.mediaAtom);
552
542
  const joined = useAtomValue2(call.joinedAtom);
553
543
  const raisedHand = useAtomValue2(call.raisedHandAtom);
@@ -567,13 +557,13 @@ var Toolbar = ({ classNames, channel, participants, autoHideControls = true, onJ
567
557
  state: {
568
558
  on: {
569
559
  icon: "ph--microphone--regular",
570
- label: t("mic off"),
560
+ label: t("mic-off.button"),
571
561
  onClick: () => call.turnAudioOff(),
572
562
  classNames: "bg-call-active"
573
563
  },
574
564
  off: {
575
565
  icon: "ph--microphone-slash--duotone",
576
- label: t("mic on"),
566
+ label: t("mic-on.button"),
577
567
  onClick: () => call.turnAudioOn()
578
568
  }
579
569
  }
@@ -582,20 +572,19 @@ var Toolbar = ({ classNames, channel, participants, autoHideControls = true, onJ
582
572
  state: {
583
573
  on: {
584
574
  icon: "ph--video-camera--regular",
585
- label: t("camera off"),
575
+ label: t("camera-off.button"),
586
576
  onClick: () => call.turnVideoOff()
587
577
  },
588
578
  off: {
589
579
  icon: "ph--video-camera-slash--duotone",
590
- label: t("camera on"),
580
+ label: t("camera-on.button"),
591
581
  onClick: () => call.turnVideoOn()
592
582
  }
593
583
  }
594
584
  }), participants !== void 0 && /* @__PURE__ */ React8.createElement("div", {
595
585
  className: "flex justify-center items-center gap-2 w-[5rem] text-xs text-subdued"
596
586
  }, /* @__PURE__ */ React8.createElement(Icon2, {
597
- icon: "ph--users--regular",
598
- size: 4
587
+ icon: "ph--users--regular"
599
588
  }), /* @__PURE__ */ React8.createElement("div", null, participants)) || /* @__PURE__ */ React8.createElement(NaturalToolbar.Separator, {
600
589
  variant: "gap"
601
590
  }), joined && /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(ToggleButton, {
@@ -604,12 +593,12 @@ var Toolbar = ({ classNames, channel, participants, autoHideControls = true, onJ
604
593
  state: {
605
594
  on: {
606
595
  icon: "ph--monitor--regular",
607
- label: t("screenshare off"),
596
+ label: t("screenshare-off.button"),
608
597
  onClick: () => call.turnScreenshareOff()
609
598
  },
610
599
  off: {
611
600
  icon: "ph--monitor-arrow-up--duotone",
612
- label: t("screenshare on"),
601
+ label: t("screenshare-on.button"),
613
602
  onClick: () => call.turnScreenshareOn()
614
603
  }
615
604
  }
@@ -627,24 +616,24 @@ var Toolbar = ({ classNames, channel, participants, autoHideControls = true, onJ
627
616
  state: {
628
617
  on: {
629
618
  icon: "ph--hand-waving--regular",
630
- label: t("lower hand"),
619
+ label: t("lower-hand.button"),
631
620
  onClick: () => call.setRaisedHand(false)
632
621
  },
633
622
  off: {
634
623
  icon: "ph--hand-palm--duotone",
635
- label: t("raise hand"),
624
+ label: t("raise-hand.button"),
636
625
  onClick: () => call.setRaisedHand(true)
637
626
  }
638
627
  }
639
628
  })), joined ? /* @__PURE__ */ React8.createElement(IconButton2, {
640
629
  variant: "destructive",
641
630
  icon: "ph--phone-x--regular",
642
- label: t("leave call"),
631
+ label: t("leave-call.button"),
643
632
  onClick: onLeave
644
633
  }) : /* @__PURE__ */ React8.createElement(IconButton2, {
645
634
  variant: "primary",
646
635
  icon: "ph--phone-incoming--regular",
647
- label: t("join call"),
636
+ label: t("join-call.button"),
648
637
  onClick: onJoin
649
638
  })));
650
639
  };
@@ -666,12 +655,12 @@ var ToggleButton = ({ active, state }) => /* @__PURE__ */ React8.createElement(I
666
655
  // src/components/Call/Call.tsx
667
656
  var CallRoot = ({ children }) => {
668
657
  return /* @__PURE__ */ React9.createElement("div", {
669
- className: "relative flex flex-col grow overflow-hidden"
658
+ className: "relative dx-container flex flex-col"
670
659
  }, children);
671
660
  };
672
661
  CallRoot.displayName = "CallRoot";
673
- var CallAudio = () => {
674
- const call = useCapability3(ThreadCapabilities.CallManager);
662
+ var CallAudio = (_props) => {
663
+ const call = useCapability3(ThreadCapabilities3.CallManager);
675
664
  const audioTracksToPlay = useAtomValue3(call.audioTracksToPlayAtom);
676
665
  return /* @__PURE__ */ React9.createElement(AudioStream, {
677
666
  tracks: audioTracksToPlay
@@ -680,7 +669,7 @@ var CallAudio = () => {
680
669
  CallAudio.displayName = "CallAudio";
681
670
  var CallGrid = ({ fullscreen }) => {
682
671
  const debug = useDebugMode();
683
- const call = useCapability3(ThreadCapabilities.CallManager);
672
+ const call = useCapability3(ThreadCapabilities3.CallManager);
684
673
  const self = useAtomValue3(call.selfAtom);
685
674
  const users = useAtomValue3(call.usersAtom);
686
675
  return /* @__PURE__ */ React9.createElement("div", {
@@ -709,57 +698,20 @@ var Call = {
709
698
  Toolbar: CallToolbar
710
699
  };
711
700
 
712
- // src/components/CommentsContainer.tsx
713
- import React12, { useEffect as useEffect7 } from "react";
714
- import { Obj as Obj3, Relation as Relation2 } from "@dxos/echo";
715
- import { Icon as Icon3, Message, Trans, useTranslation as useTranslation5 } from "@dxos/react-ui";
716
-
717
- // src/components/CommentsThreadContainer.tsx
718
- import React11, { useCallback as useCallback3, useMemo as useMemo4, useRef as useRef4, useState as useState5 } from "react";
719
- import { Obj as Obj2, Relation } from "@dxos/echo";
720
- import { useObject as useObject2 } from "@dxos/echo-react";
721
- import { getSpace, useMembers } from "@dxos/react-client/echo";
722
- import { useIdentity as useIdentity2 } from "@dxos/react-client/halo";
723
- import { IconButton as IconButton4, Tag, Tooltip, useThemeContext as useThemeContext2, useTranslation as useTranslation4 } from "@dxos/react-ui";
724
- import { MessageTextbox, Thread as ThreadComponent } from "@dxos/react-ui-thread";
701
+ // src/components/Chat/Chat.tsx
702
+ import React11, { useLayoutEffect as useLayoutEffect2, useMemo as useMemo4, useRef as useRef4, useState as useState5 } from "react";
703
+ import { ScrollArea, useThemeContext as useThemeContext2, useTranslation as useTranslation4 } from "@dxos/react-ui";
704
+ import { MessageTextbox, Thread as ThreadComponent, threadLayout } from "@dxos/react-ui-thread";
725
705
  import { createBasicExtensions as createBasicExtensions2, createThemeExtensions as createThemeExtensions2, listener } from "@dxos/ui-editor";
726
- import { hoverableControlItem as hoverableControlItem2, hoverableControls as hoverableControls2, hoverableFocusedWithinControls as hoverableFocusedWithinControls2, mx as mx8 } from "@dxos/ui-theme";
706
+ import { composable, composableProps, mx as mx7 } from "@dxos/ui-theme";
707
+ import { isNonNullable } from "@dxos/util";
708
+ import { meta as meta4 } from "#meta";
727
709
 
728
- // src/components/command-extension.ts
729
- import { HighlightStyle, StreamLanguage, syntaxHighlighting } from "@codemirror/language";
730
- import { tags } from "@dxos/ui-editor";
731
- import { mx as mx6 } from "@dxos/ui-theme";
732
- var parser = StreamLanguage.define({
733
- startState: () => ({
734
- count: 0
735
- }),
736
- token: (stream, state) => {
737
- state.count++;
738
- if (stream.eatSpace()) {
739
- return null;
740
- }
741
- if (state.count === 1 && stream.match(/^(\/\w+)/)) {
742
- return "tagName";
743
- }
744
- stream.next();
745
- return null;
746
- }
747
- });
748
- var styles = HighlightStyle.define([
749
- {
750
- tag: tags.tagName,
751
- class: mx6("dx-tag dx-tag--indigo text-base-surface-text font-medium")
752
- }
753
- ]);
754
- var command = [
755
- parser,
756
- syntaxHighlighting(styles)
757
- ];
758
-
759
- // src/components/MessageContainer.tsx
710
+ // src/components/MessagePanel/MessagePanel.tsx
760
711
  import { EditorView } from "@codemirror/view";
761
712
  import React10, { forwardRef as forwardRef2, useCallback as useCallback2, useEffect as useEffect6, useRef as useRef3, useState as useState4 } from "react";
762
713
  import { Surface } from "@dxos/app-framework/ui";
714
+ import { AppSurface } from "@dxos/app-toolkit/ui";
763
715
  import { Ref } from "@dxos/echo";
764
716
  import { useObject } from "@dxos/echo-react";
765
717
  import { PublicKey } from "@dxos/react-client";
@@ -769,11 +721,13 @@ import { Card } from "@dxos/react-ui";
769
721
  import { useTextEditor } from "@dxos/react-ui-editor";
770
722
  import { MessageHeading, MessageRoot } from "@dxos/react-ui-thread";
771
723
  import { createBasicExtensions, createThemeExtensions } from "@dxos/ui-editor";
772
- import { hoverableControlItem, hoverableControls, hoverableFocusedWithinControls, mx as mx7 } from "@dxos/ui-theme";
724
+ import { hoverableControlItem, hoverableControls, hoverableFocusedWithinControls, mx as mx6 } from "@dxos/ui-theme";
725
+ import { useOnEditAnalytics } from "#hooks";
726
+ import { meta as meta3 } from "#meta";
773
727
  var buttonGroupClassNames = "flex flex-row items-center gap-0.5 pe-2";
774
728
  var buttonClassNames = "p-1! transition-opacity";
775
- var MessageContainer = ({ message: messageOrRef, members, editable = false, onDelete, onAcceptProposal }) => {
776
- const { t } = useTranslation3(meta.id);
729
+ var MessagePanel = ({ message: messageOrRef, members, editable = false, onDelete, onAcceptProposal }) => {
730
+ const { t } = useTranslation3(meta3.id);
777
731
  const [message, updateMessage] = useObject(messageOrRef);
778
732
  const identity = useIdentity();
779
733
  const [editing, setEditing] = useState4(false);
@@ -804,7 +758,7 @@ var MessageContainer = ({ message: messageOrRef, members, editable = false, onDe
804
758
  return null;
805
759
  }
806
760
  const senderIdentity = members.find((member) => message.sender.identityDid && member.identity.did === message.sender.identityDid || message.sender.identityKey && PublicKey.equals(member.identity.identityKey, message.sender.identityKey))?.identity;
807
- const messageMetadata = getMessageMetadata(message.id, senderIdentity);
761
+ const messageMetadata = getMessageMetadata(message.id, senderIdentity, message.sender);
808
762
  const userIsAuthor = identity?.did === messageMetadata.authorId;
809
763
  const proposalBlock = message.blocks.find((block) => block._tag === "proposal");
810
764
  const references = message.blocks.filter((block) => block._tag === "reference").map((block) => block.reference);
@@ -818,14 +772,13 @@ var MessageContainer = ({ message: messageOrRef, members, editable = false, onDe
818
772
  authorName: messageMetadata.authorName,
819
773
  timestamp: messageMetadata.timestamp
820
774
  }, /* @__PURE__ */ React10.createElement("div", {
821
- role: "none",
822
775
  className: buttonGroupClassNames
823
776
  }, userIsAuthor && editable && /* @__PURE__ */ React10.createElement(IconButton3, {
824
777
  "data-testid": editing ? "thread.message.save" : "thread.message.edit",
825
778
  variant: "ghost",
826
779
  icon: editing ? "ph--check--regular" : "ph--pencil-simple--regular",
827
780
  iconOnly: true,
828
- label: t(editing ? "save message label" : "edit message label"),
781
+ label: t(editing ? "save-message.label" : "edit-message.label"),
829
782
  classNames: [
830
783
  buttonClassNames,
831
784
  hoverableControlItem
@@ -836,7 +789,7 @@ var MessageContainer = ({ message: messageOrRef, members, editable = false, onDe
836
789
  variant: "ghost",
837
790
  icon: "ph--check--regular",
838
791
  iconOnly: true,
839
- label: t("accept proposal label"),
792
+ label: t("accept-proposal.label"),
840
793
  classNames: [
841
794
  buttonClassNames,
842
795
  hoverableControlItem
@@ -847,7 +800,7 @@ var MessageContainer = ({ message: messageOrRef, members, editable = false, onDe
847
800
  variant: "ghost",
848
801
  icon: "ph--x--regular",
849
802
  iconOnly: true,
850
- label: t("delete message label"),
803
+ label: t("delete-message.label"),
851
804
  classNames: [
852
805
  buttonClassNames,
853
806
  hoverableControlItem
@@ -912,7 +865,6 @@ var TextboxBlock = ({ block, isAuthor, editing, onSave }) => {
912
865
  view
913
866
  ]);
914
867
  return /* @__PURE__ */ React10.createElement("div", {
915
- role: "none",
916
868
  ref: parentRef,
917
869
  className: "me-4",
918
870
  ...focusAttributes
@@ -920,7 +872,6 @@ var TextboxBlock = ({ block, isAuthor, editing, onSave }) => {
920
872
  };
921
873
  var ProposalBlock = ({ block }) => {
922
874
  return /* @__PURE__ */ React10.createElement("div", {
923
- role: "none",
924
875
  className: "me-4 italic"
925
876
  }, block.text);
926
877
  };
@@ -930,10 +881,10 @@ var MessageBlockObjectTile = /* @__PURE__ */ forwardRef2(({ subject }, forwarded
930
881
  title = title?.content ?? "";
931
882
  }
932
883
  return /* @__PURE__ */ React10.createElement(Card.Root, {
933
- className: mx7("grid col-span-3 py-1 pr-4", hoverableControls, hoverableFocusedWithinControls),
884
+ className: mx6("grid col-span-3 py-1 pr-4", hoverableControls, hoverableFocusedWithinControls),
934
885
  ref: forwardedRef
935
886
  }, /* @__PURE__ */ React10.createElement(Surface.Surface, {
936
- role: "card--content",
887
+ type: AppSurface.Card,
937
888
  limit: 1,
938
889
  data: {
939
890
  subject
@@ -942,10 +893,162 @@ var MessageBlockObjectTile = /* @__PURE__ */ forwardRef2(({ subject }, forwarded
942
893
  }));
943
894
  });
944
895
 
945
- // src/components/CommentsThreadContainer.tsx
946
- var CommentsThreadContainer = ({ anchor, current, onAttend, onComment, onResolve, onMessageDelete, onThreadDelete, onAcceptProposal }) => {
896
+ // src/components/Chat/Chat.tsx
897
+ var Chat = composable(({ id, identity, members, messages, activity, onSend, autoFocusTextbox, current, orientation = "top", readOnly, ...props }, forwardedRef) => {
898
+ const { t } = useTranslation4(meta4.id);
947
899
  const { themeMode } = useThemeContext2();
948
- const { t } = useTranslation4(meta.id);
900
+ const scrollRef = useRef4(null);
901
+ const sentinelRef = useRef4(null);
902
+ const [autoFocus, setAutoFocus] = useState5(autoFocusTextbox);
903
+ const [_count, _setCount] = useState5(0);
904
+ const textboxMetadata = getMessageMetadata(id, identity);
905
+ const messageRef = useRef4("");
906
+ const extensions = useMemo4(() => [
907
+ createBasicExtensions2({
908
+ placeholder: t("message.placeholder")
909
+ }),
910
+ createThemeExtensions2({
911
+ themeMode
912
+ }),
913
+ listener({
914
+ onChange: ({ text }) => messageRef.current = text
915
+ }),
916
+ command
917
+ ], [
918
+ themeMode,
919
+ _count
920
+ ]);
921
+ const scrollToEnd = (behavior) => setTimeout(() => sentinelRef.current?.scrollIntoView({
922
+ behavior,
923
+ block: "end"
924
+ }), 10);
925
+ useLayoutEffect2(() => {
926
+ scrollToEnd("instant");
927
+ }, []);
928
+ const handleSend = () => {
929
+ const text = messageRef.current;
930
+ if (!text?.length) {
931
+ return false;
932
+ }
933
+ const accepted = onSend(text);
934
+ if (!accepted) {
935
+ return false;
936
+ }
937
+ messageRef.current = "";
938
+ setAutoFocus(true);
939
+ scrollToEnd("smooth");
940
+ _setCount((count) => count + 1);
941
+ return true;
942
+ };
943
+ const filteredMessages = messages.filter(isNonNullable);
944
+ const renderState = {
945
+ messages: filteredMessages,
946
+ members,
947
+ activity,
948
+ extensions,
949
+ autoFocus,
950
+ handleSend,
951
+ textboxMetadata,
952
+ scrollRef,
953
+ sentinelRef,
954
+ readOnly
955
+ };
956
+ return orientation === "bottom" ? /* @__PURE__ */ React11.createElement(ChannelLayout, {
957
+ ...composableProps(props, {
958
+ classNames: "flex flex-col bs-full min-h-0"
959
+ }),
960
+ id,
961
+ ref: forwardedRef,
962
+ state: renderState
963
+ }) : /* @__PURE__ */ React11.createElement(ThreadLayout, {
964
+ ...composableProps(props, {
965
+ classNames: "dx-container grid-rows-[1fr_min-content_min-content]"
966
+ }),
967
+ id,
968
+ current,
969
+ ref: forwardedRef,
970
+ state: renderState
971
+ });
972
+ });
973
+ var ThreadLayout = /* @__PURE__ */ React11.forwardRef(({ id, current, state, ...props }, ref) => {
974
+ const { t } = useTranslation4(meta4.id);
975
+ const { messages, members, activity, extensions, autoFocus, handleSend, textboxMetadata, sentinelRef, readOnly } = state;
976
+ return /* @__PURE__ */ React11.createElement(ThreadComponent.Root, {
977
+ ...props,
978
+ id,
979
+ current,
980
+ ref
981
+ }, /* @__PURE__ */ React11.createElement(ScrollArea.Root, {
982
+ classNames: "col-span-2",
983
+ orientation: "vertical"
984
+ }, /* @__PURE__ */ React11.createElement(ScrollArea.Viewport, {
985
+ ref: sentinelRef
986
+ }, /* @__PURE__ */ React11.createElement("div", {
987
+ className: mx7(threadLayout, "place-self-end")
988
+ }, messages.map((message) => /* @__PURE__ */ React11.createElement(MessagePanel, {
989
+ key: message.id,
990
+ message,
991
+ members
992
+ }))))), !readOnly && /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement(MessageTextbox, {
993
+ extensions,
994
+ autoFocus,
995
+ onSend: handleSend,
996
+ ...textboxMetadata
997
+ }), /* @__PURE__ */ React11.createElement(ThreadComponent.Status, {
998
+ activity
999
+ }, t("activity.message"))));
1000
+ });
1001
+ var ChannelLayout = /* @__PURE__ */ React11.forwardRef(({ id, state, ...props }, ref) => {
1002
+ const { t } = useTranslation4(meta4.id);
1003
+ const { messages, members, activity, extensions, autoFocus, handleSend, textboxMetadata, scrollRef, sentinelRef, readOnly } = state;
1004
+ return /* @__PURE__ */ React11.createElement("div", {
1005
+ ...props,
1006
+ id,
1007
+ ref
1008
+ }, /* @__PURE__ */ React11.createElement("div", {
1009
+ ref: scrollRef,
1010
+ className: "flex-1 min-h-0 overflow-y-auto"
1011
+ }, messages.map((message) => /* @__PURE__ */ React11.createElement("div", {
1012
+ key: message.id,
1013
+ className: "grid grid-cols-[var(--dx-rail-size)_1fr] w-full"
1014
+ }, /* @__PURE__ */ React11.createElement(MessagePanel, {
1015
+ message,
1016
+ members
1017
+ }))), /* @__PURE__ */ React11.createElement("div", {
1018
+ ref: sentinelRef
1019
+ })), !readOnly && /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement("div", {
1020
+ className: "shrink-0 grid grid-cols-[var(--dx-rail-size)_1fr]"
1021
+ }, /* @__PURE__ */ React11.createElement(MessageTextbox, {
1022
+ extensions,
1023
+ autoFocus,
1024
+ onSend: handleSend,
1025
+ ...textboxMetadata
1026
+ })), /* @__PURE__ */ React11.createElement("div", {
1027
+ className: "shrink-0 px-2 pb-1 text-xs text-description"
1028
+ }, activity ? t("activity.message") : null)));
1029
+ });
1030
+
1031
+ // src/components/CommentsPanel/CommentsPanel.tsx
1032
+ import React13, { useEffect as useEffect7 } from "react";
1033
+ import { Obj as Obj3, Relation as Relation2 } from "@dxos/echo";
1034
+ import { Icon as Icon3, Message, Trans, useTranslation as useTranslation6 } from "@dxos/react-ui";
1035
+ import { meta as meta6 } from "#meta";
1036
+
1037
+ // src/components/CommentsPanel/CommentsThread.tsx
1038
+ import React12, { useCallback as useCallback3, useMemo as useMemo5, useRef as useRef5, useState as useState6 } from "react";
1039
+ import { Obj as Obj2, Relation } from "@dxos/echo";
1040
+ import { useObject as useObject2 } from "@dxos/echo-react";
1041
+ import { getSpace, useMembers } from "@dxos/react-client/echo";
1042
+ import { useIdentity as useIdentity2 } from "@dxos/react-client/halo";
1043
+ import { IconButton as IconButton4, Tag, Tooltip, useThemeContext as useThemeContext3, useTranslation as useTranslation5 } from "@dxos/react-ui";
1044
+ import { MessageTextbox as MessageTextbox2, Thread as ThreadComponent2 } from "@dxos/react-ui-thread";
1045
+ import { createBasicExtensions as createBasicExtensions3, createThemeExtensions as createThemeExtensions3, listener as listener2 } from "@dxos/ui-editor";
1046
+ import { hoverableControlItem as hoverableControlItem2, hoverableControls as hoverableControls2, hoverableFocusedWithinControls as hoverableFocusedWithinControls2, mx as mx8 } from "@dxos/ui-theme";
1047
+ import { useStatus } from "#hooks";
1048
+ import { meta as meta5 } from "#meta";
1049
+ var CommentsThread = ({ anchor, current, onAttend, onComment, onResolve, onMessageDelete, onThreadDelete, onAcceptProposal }) => {
1050
+ const { themeMode } = useThemeContext3();
1051
+ const { t } = useTranslation5(meta5.id);
949
1052
  const identity = useIdentity2();
950
1053
  const space = getSpace(anchor);
951
1054
  const members = useMembers(space?.id);
@@ -953,18 +1056,18 @@ var CommentsThreadContainer = ({ anchor, current, onAttend, onComment, onResolve
953
1056
  const thread = Relation.getSource(anchor);
954
1057
  const [messages] = useObject2(thread, "messages");
955
1058
  const activity = useStatus(space, Obj2.getDXN(thread).toString());
956
- const threadScrollRef = useRef4(null);
1059
+ const threadScrollRef = useRef5(null);
957
1060
  const textboxMetadata = getMessageMetadata(Obj2.getDXN(thread).toString(), identity);
958
- const [state, setState] = useState5({});
959
- const messageRef = useRef4("");
960
- const extensions = useMemo4(() => [
961
- createBasicExtensions2({
962
- placeholder: t("message placeholder")
1061
+ const [state, setState] = useState6({});
1062
+ const messageRef = useRef5("");
1063
+ const extensions = useMemo5(() => [
1064
+ createBasicExtensions3({
1065
+ placeholder: t("message.placeholder")
963
1066
  }),
964
- createThemeExtensions2({
1067
+ createThemeExtensions3({
965
1068
  themeMode
966
1069
  }),
967
- listener({
1070
+ listener2({
968
1071
  onChange: ({ text }) => messageRef.current = text
969
1072
  }),
970
1073
  command
@@ -1008,71 +1111,68 @@ var CommentsThreadContainer = ({ anchor, current, onAttend, onComment, onResolve
1008
1111
  anchor,
1009
1112
  identity
1010
1113
  ]);
1011
- return /* @__PURE__ */ React11.createElement(ThreadComponent.Root, {
1114
+ return /* @__PURE__ */ React12.createElement(ThreadComponent2.Root, {
1012
1115
  id: Obj2.getDXN(thread).toString(),
1013
1116
  classNames: "pt-2 border-b border-subdued-separator last:border-none",
1014
1117
  current,
1015
1118
  onClickCapture: handleAttend,
1016
1119
  onFocusCapture: handleAttend
1017
- }, /* @__PURE__ */ React11.createElement("div", {
1018
- role: "none",
1120
+ }, /* @__PURE__ */ React12.createElement("div", {
1019
1121
  className: mx8("col-span-2 grid grid-cols-[var(--dx-rail-size)_1fr_min-content]", hoverableControls2, hoverableFocusedWithinControls2)
1020
- }, detached ? /* @__PURE__ */ React11.createElement(Tooltip.Trigger, {
1122
+ }, detached ? /* @__PURE__ */ React12.createElement(Tooltip.Trigger, {
1021
1123
  asChild: true,
1022
- content: t("detached thread label"),
1124
+ content: t("detached-thread.label"),
1023
1125
  side: "top"
1024
- }, /* @__PURE__ */ React11.createElement(ThreadComponent.Header, {
1126
+ }, /* @__PURE__ */ React12.createElement(ThreadComponent2.Header, {
1025
1127
  detached: true
1026
- }, thread.name)) : /* @__PURE__ */ React11.createElement(ThreadComponent.Header, null, thread.name), /* @__PURE__ */ React11.createElement("div", {
1027
- role: "none",
1128
+ }, thread.name)) : /* @__PURE__ */ React12.createElement(ThreadComponent2.Header, null, thread.name), /* @__PURE__ */ React12.createElement("div", {
1028
1129
  className: buttonGroupClassNames
1029
- }, thread.status === "staged" && /* @__PURE__ */ React11.createElement(Tag, {
1130
+ }, thread.status === "staged" && /* @__PURE__ */ React12.createElement(Tag, {
1030
1131
  palette: "neutral"
1031
- }, t("draft button")), onResolve && !(thread?.status === "staged") && /* @__PURE__ */ React11.createElement(IconButton4, {
1132
+ }, t("draft.button")), onResolve && !(thread?.status === "staged") && /* @__PURE__ */ React12.createElement(IconButton4, {
1032
1133
  "data-testid": "thread.resolve",
1033
1134
  variant: "ghost",
1034
1135
  icon: thread?.status === "resolved" ? "ph--check--fill" : "ph--check--regular",
1035
1136
  iconOnly: true,
1036
- label: t("resolve thread label"),
1137
+ label: t("resolve-thread.label"),
1037
1138
  classNames: [
1038
1139
  buttonClassNames,
1039
1140
  thread?.status !== "resolved" && hoverableControlItem2
1040
1141
  ],
1041
1142
  onClick: handleResolve
1042
- }), onThreadDelete && /* @__PURE__ */ React11.createElement(IconButton4, {
1143
+ }), onThreadDelete && /* @__PURE__ */ React12.createElement(IconButton4, {
1043
1144
  "data-testid": "thread.delete",
1044
1145
  variant: "ghost",
1045
1146
  icon: "ph--x--regular",
1046
1147
  iconOnly: true,
1047
- label: t("delete thread label"),
1148
+ label: t("delete-thread.label"),
1048
1149
  classNames: [
1049
1150
  buttonClassNames,
1050
1151
  hoverableControlItem2
1051
1152
  ],
1052
1153
  onClick: handleThreadDelete
1053
- }))), messages?.map((ref) => /* @__PURE__ */ React11.createElement(MessageContainer, {
1154
+ }))), messages?.map((ref) => /* @__PURE__ */ React12.createElement(MessagePanel, {
1054
1155
  key: ref.dxn.toString(),
1055
1156
  editable: true,
1056
1157
  message: ref,
1057
1158
  members,
1058
1159
  onDelete: handleMessageDelete,
1059
1160
  onAcceptProposal: handleAcceptProposal
1060
- })), /* @__PURE__ */ React11.createElement(MessageTextbox, {
1161
+ })), /* @__PURE__ */ React12.createElement(MessageTextbox2, {
1061
1162
  extensions,
1062
1163
  onSend: handleComment,
1063
1164
  ...textboxMetadata
1064
- }), /* @__PURE__ */ React11.createElement(ThreadComponent.Status, {
1165
+ }), /* @__PURE__ */ React12.createElement(ThreadComponent2.Status, {
1065
1166
  activity
1066
- }, t("activity message")), /* @__PURE__ */ React11.createElement("div", {
1067
- role: "none",
1167
+ }, t("activity.message")), /* @__PURE__ */ React12.createElement("div", {
1068
1168
  className: "h-px -mt-px",
1069
1169
  ref: threadScrollRef
1070
1170
  }));
1071
1171
  };
1072
1172
 
1073
- // src/components/CommentsContainer.tsx
1074
- var CommentsContainer = ({ anchors, currentId, showResolvedThreads, ...props }) => {
1075
- const { t } = useTranslation5(meta.id);
1173
+ // src/components/CommentsPanel/CommentsPanel.tsx
1174
+ var CommentsPanel = ({ anchors, currentId, showResolvedThreads, ...props }) => {
1175
+ const { t } = useTranslation6(meta6.id);
1076
1176
  const filteredAnchors = showResolvedThreads ? anchors.filter((anchor) => !!Relation2.getSource(anchor)) : anchors.filter((anchor) => {
1077
1177
  const thread = Relation2.getSource(anchor);
1078
1178
  return thread && thread.status !== "resolved";
@@ -1088,25 +1188,24 @@ var CommentsContainer = ({ anchors, currentId, showResolvedThreads, ...props })
1088
1188
  currentId
1089
1189
  ]);
1090
1190
  if (filteredAnchors.length === 0) {
1091
- return /* @__PURE__ */ React12.createElement("div", {
1092
- role: "none",
1191
+ return /* @__PURE__ */ React13.createElement("div", {
1093
1192
  className: "p-form-padding"
1094
- }, /* @__PURE__ */ React12.createElement(Message.Root, null, /* @__PURE__ */ React12.createElement(Message.Title, null, /* @__PURE__ */ React12.createElement(Trans, {
1193
+ }, /* @__PURE__ */ React13.createElement(Message.Root, null, /* @__PURE__ */ React13.createElement(Message.Content, null, /* @__PURE__ */ React13.createElement(Trans, {
1095
1194
  t,
1096
- i18nKey: "no comments message",
1195
+ i18nKey: "no-comments.message",
1097
1196
  components: {
1098
- commentIcon: /* @__PURE__ */ React12.createElement(Icon3, {
1197
+ commentIcon: /* @__PURE__ */ React13.createElement(Icon3, {
1099
1198
  icon: "ph--chat-text--regular",
1100
1199
  size: 4,
1101
- classNames: "w-block"
1200
+ classNames: "dx-icon-inline"
1102
1201
  })
1103
1202
  }
1104
1203
  }))));
1105
1204
  }
1106
- return /* @__PURE__ */ React12.createElement("div", null, filteredAnchors.map((anchor) => {
1205
+ return /* @__PURE__ */ React13.createElement("div", null, filteredAnchors.map((anchor) => {
1107
1206
  const thread = Relation2.getSource(anchor);
1108
1207
  const threadId = Obj3.getDXN(thread).toString();
1109
- return /* @__PURE__ */ React12.createElement(CommentsThreadContainer, {
1208
+ return /* @__PURE__ */ React13.createElement(CommentsThread, {
1110
1209
  key: threadId,
1111
1210
  anchor,
1112
1211
  current: currentId === threadId,
@@ -1115,10 +1214,17 @@ var CommentsContainer = ({ anchors, currentId, showResolvedThreads, ...props })
1115
1214
  }));
1116
1215
  };
1117
1216
 
1217
+ // src/components/index.ts
1218
+ var ThreadSettings = lazy(() => import("../ThreadSettings-5Z5XIHG3.mjs"));
1118
1219
  export {
1119
1220
  Call,
1120
- command,
1121
- MessageContainer,
1122
- CommentsContainer
1221
+ Chat,
1222
+ CommentsPanel,
1223
+ CommentsThread,
1224
+ MessagePanel,
1225
+ ThreadSettings,
1226
+ Toolbar,
1227
+ buttonClassNames,
1228
+ buttonGroupClassNames
1123
1229
  };
1124
- //# sourceMappingURL=chunk-IQUV7DR6.mjs.map
1230
+ //# sourceMappingURL=index.mjs.map