@dxos/plugin-thread 0.8.4-main.bc674ce → 0.8.4-main.bcb3aa67d6

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 (436) hide show
  1. package/dist/lib/browser/add-message-RNUQFJTH.mjs +97 -0
  2. package/dist/lib/browser/add-message-RNUQFJTH.mjs.map +7 -0
  3. package/dist/lib/browser/blueprints/index.mjs +33 -4
  4. package/dist/lib/browser/blueprints/index.mjs.map +4 -4
  5. package/dist/lib/browser/chunk-BHQ62SKT.mjs +259 -0
  6. package/dist/lib/browser/chunk-BHQ62SKT.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-H32XEGIV.mjs +61 -0
  8. package/dist/lib/browser/chunk-H32XEGIV.mjs.map +7 -0
  9. package/dist/lib/browser/create-UWYTS35R.mjs +55 -0
  10. package/dist/lib/browser/create-UWYTS35R.mjs.map +7 -0
  11. package/dist/lib/browser/create-channel-7RX3G7QV.mjs +21 -0
  12. package/dist/lib/browser/create-channel-7RX3G7QV.mjs.map +7 -0
  13. package/dist/lib/browser/create-channel-thread-ZA7IVGTL.mjs +28 -0
  14. package/dist/lib/browser/create-channel-thread-ZA7IVGTL.mjs.map +7 -0
  15. package/dist/lib/browser/create-proposals-74FZ3XTC.mjs +57 -0
  16. package/dist/lib/browser/create-proposals-74FZ3XTC.mjs.map +7 -0
  17. package/dist/lib/browser/delete-SJBDYXW3.mjs +59 -0
  18. package/dist/lib/browser/delete-SJBDYXW3.mjs.map +7 -0
  19. package/dist/lib/browser/delete-message-AHSDDYXK.mjs +64 -0
  20. package/dist/lib/browser/delete-message-AHSDDYXK.mjs.map +7 -0
  21. package/dist/lib/browser/index.mjs +2225 -211
  22. package/dist/lib/browser/index.mjs.map +4 -4
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/on-create-space-YNZHJSZ5.mjs +25 -0
  25. package/dist/lib/browser/on-create-space-YNZHJSZ5.mjs.map +7 -0
  26. package/dist/lib/browser/operations/index.mjs +14 -0
  27. package/dist/lib/browser/operations/index.mjs.map +7 -0
  28. package/dist/lib/browser/restore-X2K3ZKFD.mjs +33 -0
  29. package/dist/lib/browser/restore-X2K3ZKFD.mjs.map +7 -0
  30. package/dist/lib/browser/restore-message-EHSQSLM3.mjs +42 -0
  31. package/dist/lib/browser/restore-message-EHSQSLM3.mjs.map +7 -0
  32. package/dist/lib/browser/select-GKW3QALS.mjs +26 -0
  33. package/dist/lib/browser/select-GKW3QALS.mjs.map +7 -0
  34. package/dist/lib/browser/toggle-resolved-Y5KJLQO3.mjs +45 -0
  35. package/dist/lib/browser/toggle-resolved-Y5KJLQO3.mjs.map +7 -0
  36. package/dist/lib/browser/types/index.mjs +5 -7
  37. package/dist/lib/node-esm/add-message-R3XLXRZ5.mjs +98 -0
  38. package/dist/lib/node-esm/add-message-R3XLXRZ5.mjs.map +7 -0
  39. package/dist/lib/node-esm/blueprints/index.mjs +33 -4
  40. package/dist/lib/node-esm/blueprints/index.mjs.map +4 -4
  41. package/dist/lib/node-esm/chunk-BAKHDRSB.mjs +260 -0
  42. package/dist/lib/node-esm/chunk-BAKHDRSB.mjs.map +7 -0
  43. package/dist/lib/node-esm/chunk-M6EZRL5B.mjs +62 -0
  44. package/dist/lib/node-esm/chunk-M6EZRL5B.mjs.map +7 -0
  45. package/dist/lib/node-esm/create-SKEKGLSD.mjs +56 -0
  46. package/dist/lib/node-esm/create-SKEKGLSD.mjs.map +7 -0
  47. package/dist/lib/node-esm/create-channel-4UICXKGI.mjs +22 -0
  48. package/dist/lib/node-esm/create-channel-4UICXKGI.mjs.map +7 -0
  49. package/dist/lib/node-esm/create-channel-thread-EWDR3J44.mjs +29 -0
  50. package/dist/lib/node-esm/create-channel-thread-EWDR3J44.mjs.map +7 -0
  51. package/dist/lib/node-esm/create-proposals-SASCDSNZ.mjs +58 -0
  52. package/dist/lib/node-esm/create-proposals-SASCDSNZ.mjs.map +7 -0
  53. package/dist/lib/node-esm/delete-IGQXPUHX.mjs +60 -0
  54. package/dist/lib/node-esm/delete-IGQXPUHX.mjs.map +7 -0
  55. package/dist/lib/node-esm/delete-message-IEJYQNZY.mjs +65 -0
  56. package/dist/lib/node-esm/delete-message-IEJYQNZY.mjs.map +7 -0
  57. package/dist/lib/node-esm/index.mjs +2225 -211
  58. package/dist/lib/node-esm/index.mjs.map +4 -4
  59. package/dist/lib/node-esm/meta.json +1 -1
  60. package/dist/lib/node-esm/on-create-space-UGALNIWK.mjs +26 -0
  61. package/dist/lib/node-esm/on-create-space-UGALNIWK.mjs.map +7 -0
  62. package/dist/lib/node-esm/operations/index.mjs +15 -0
  63. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  64. package/dist/lib/node-esm/restore-4EAMGSOF.mjs +34 -0
  65. package/dist/lib/node-esm/restore-4EAMGSOF.mjs.map +7 -0
  66. package/dist/lib/node-esm/restore-message-2Z6KR3RJ.mjs +43 -0
  67. package/dist/lib/node-esm/restore-message-2Z6KR3RJ.mjs.map +7 -0
  68. package/dist/lib/node-esm/select-MLVUUPYK.mjs +27 -0
  69. package/dist/lib/node-esm/select-MLVUUPYK.mjs.map +7 -0
  70. package/dist/lib/node-esm/toggle-resolved-Y2FRSWZ3.mjs +46 -0
  71. package/dist/lib/node-esm/toggle-resolved-Y2FRSWZ3.mjs.map +7 -0
  72. package/dist/lib/node-esm/types/index.mjs +5 -7
  73. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  74. package/dist/types/src/blueprints/index.d.ts +1 -1
  75. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  76. package/dist/types/src/blueprints/thread-blueprint.d.ts +3 -20
  77. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -1
  78. package/dist/types/src/calls-service.stories.d.ts +2 -2
  79. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  80. package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
  81. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  82. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  83. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  84. package/dist/types/src/capabilities/call-manager.d.ts +6 -0
  85. package/dist/types/src/capabilities/call-manager.d.ts.map +1 -0
  86. package/dist/types/src/capabilities/index.d.ts +15 -10
  87. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/markdown.d.ts +5 -0
  89. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  91. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  92. package/dist/types/src/capabilities/{react-root/react-root.d.ts → react-root.d.ts} +1 -1
  93. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  95. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  96. package/dist/types/src/capabilities/settings.d.ts +6 -0
  97. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  98. package/dist/types/src/capabilities/state.d.ts +7 -0
  99. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  100. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  101. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  102. package/dist/types/src/components/Call/Toolbar.d.ts +1 -1
  103. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  104. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  105. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  106. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  107. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  108. package/dist/types/src/components/{CommentsThreadContainer.d.ts → CommentsPanel/CommentsThread.d.ts} +3 -3
  109. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  110. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  111. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  112. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
  113. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  114. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  115. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  116. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +142 -144
  117. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  118. package/dist/types/src/components/ResponsiveGrid/{ResponsiveContainer.d.ts → ResponsivePanel.d.ts} +4 -4
  119. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +1 -0
  120. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +164 -0
  121. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -0
  122. package/dist/types/src/components/ResponsiveGrid/index.d.ts +1 -1
  123. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -1
  124. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  125. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  126. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  127. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  128. package/dist/types/src/components/ThreadSettings/index.d.ts +3 -0
  129. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  130. package/dist/types/src/components/index.d.ts +4 -9
  131. package/dist/types/src/components/index.d.ts.map +1 -1
  132. package/dist/types/src/{components → containers/CallDebugPanel}/CallDebugPanel.d.ts +1 -1
  133. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
  134. package/dist/types/src/containers/CallDebugPanel/index.d.ts +3 -0
  135. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
  136. package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
  137. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
  138. package/dist/types/src/containers/CallSidebar/index.d.ts +3 -0
  139. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
  140. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
  141. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
  142. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +162 -0
  143. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
  144. package/dist/types/src/containers/ChannelContainer/index.d.ts +3 -0
  145. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
  146. package/dist/types/src/{components → containers/ChatContainer}/ChatContainer.d.ts +7 -5
  147. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  148. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts +162 -0
  149. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
  150. package/dist/types/src/containers/ChatContainer/index.d.ts +4 -0
  151. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  152. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +8 -0
  153. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  154. package/dist/types/src/containers/ThreadCompanion/index.d.ts +3 -0
  155. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  156. package/dist/types/src/containers/index.d.ts +7 -0
  157. package/dist/types/src/containers/index.d.ts.map +1 -0
  158. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  159. package/dist/types/src/extensions/command.d.ts.map +1 -0
  160. package/dist/types/src/extensions/index.d.ts +1 -0
  161. package/dist/types/src/extensions/index.d.ts.map +1 -1
  162. package/dist/types/src/extensions/threads.d.ts +1 -1
  163. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  164. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  165. package/dist/types/src/operations/add-message.d.ts +5 -0
  166. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  167. package/dist/types/src/operations/create-channel-thread.d.ts +5 -0
  168. package/dist/types/src/operations/create-channel-thread.d.ts.map +1 -0
  169. package/dist/types/src/operations/create-channel.d.ts +5 -0
  170. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  171. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  172. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  173. package/dist/types/src/operations/create.d.ts +5 -0
  174. package/dist/types/src/operations/create.d.ts.map +1 -0
  175. package/dist/types/src/operations/definitions.d.ts +2789 -0
  176. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  177. package/dist/types/src/operations/delete-message.d.ts +5 -0
  178. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  179. package/dist/types/src/operations/delete.d.ts +5 -0
  180. package/dist/types/src/operations/delete.d.ts.map +1 -0
  181. package/dist/types/src/operations/index.d.ts +4 -0
  182. package/dist/types/src/operations/index.d.ts.map +1 -0
  183. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  184. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  185. package/dist/types/src/operations/restore-message.d.ts +5 -0
  186. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  187. package/dist/types/src/operations/restore.d.ts +5 -0
  188. package/dist/types/src/operations/restore.d.ts.map +1 -0
  189. package/dist/types/src/operations/select.d.ts +5 -0
  190. package/dist/types/src/operations/select.d.ts.map +1 -0
  191. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  192. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  193. package/dist/types/src/{components/testing.d.ts → testing/data.d.ts} +1 -1
  194. package/dist/types/src/testing/data.d.ts.map +1 -0
  195. package/dist/types/src/testing/stories.d.ts.map +1 -1
  196. package/dist/types/src/translations.d.ts +140 -142
  197. package/dist/types/src/translations.d.ts.map +1 -1
  198. package/dist/types/src/types/Channel.d.ts +25 -9
  199. package/dist/types/src/types/Channel.d.ts.map +1 -1
  200. package/dist/types/src/types/Settings.d.ts +4 -0
  201. package/dist/types/src/types/Settings.d.ts.map +1 -0
  202. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  203. package/dist/types/src/types/types.d.ts +1 -3227
  204. package/dist/types/src/types/types.d.ts.map +1 -1
  205. package/dist/types/tsconfig.tsbuildinfo +1 -1
  206. package/package.json +88 -66
  207. package/src/ThreadPlugin.tsx +55 -57
  208. package/src/blueprints/index.ts +1 -1
  209. package/src/blueprints/thread-blueprint.ts +13 -8
  210. package/src/calls-service.stories.tsx +8 -8
  211. package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +41 -50
  212. package/src/capabilities/blueprint-definition.ts +17 -0
  213. package/src/capabilities/{call-manager/call-manager.ts → call-manager.ts} +5 -5
  214. package/src/capabilities/index.ts +16 -10
  215. package/src/capabilities/{markdown/markdown.ts → markdown.ts} +13 -15
  216. package/src/capabilities/operation-handler.ts +16 -0
  217. package/src/capabilities/{react-root/react-root.tsx → react-root.tsx} +4 -4
  218. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +32 -34
  219. package/src/capabilities/{settings/settings.ts → settings.ts} +8 -7
  220. package/src/capabilities/{state/state.ts → state.ts} +1 -1
  221. package/src/capabilities/undo-mappings.ts +46 -0
  222. package/src/components/Call/Call.tsx +4 -4
  223. package/src/components/Call/Toolbar.tsx +30 -21
  224. package/src/components/{Comments.stories.tsx → CommentsPanel/CommentsPanel.stories.tsx} +14 -13
  225. package/src/components/{CommentsContainer.tsx → CommentsPanel/CommentsPanel.tsx} +15 -14
  226. package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +19 -20
  227. package/src/components/CommentsPanel/index.ts +6 -0
  228. package/src/components/Lobby/Lobby.tsx +7 -7
  229. package/src/components/Media/VideoObject.stories.tsx +6 -6
  230. package/src/components/Media/VideoObject.tsx +1 -1
  231. package/src/components/{MessageContainer.tsx → MessagePanel/MessagePanel.tsx} +18 -18
  232. package/src/components/MessagePanel/index.ts +5 -0
  233. package/src/components/Participant/Participant.tsx +2 -2
  234. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +6 -6
  235. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +8 -8
  236. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +9 -9
  237. package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +7 -7
  238. package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +5 -5
  239. package/src/components/ResponsiveGrid/index.ts +1 -1
  240. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
  241. package/src/components/ThreadSettings/ThreadSettings.tsx +20 -0
  242. package/src/components/ThreadSettings/index.ts +7 -0
  243. package/src/components/index.ts +5 -9
  244. package/src/{components → containers/CallDebugPanel}/CallDebugPanel.tsx +7 -7
  245. package/src/containers/CallDebugPanel/index.ts +7 -0
  246. package/src/{components → containers/CallSidebar}/CallSidebar.tsx +4 -7
  247. package/src/containers/CallSidebar/index.ts +7 -0
  248. package/src/{components → containers/ChannelContainer}/ChannelContainer.stories.tsx +11 -13
  249. package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +75 -60
  250. package/src/containers/ChannelContainer/index.ts +7 -0
  251. package/src/{components/Chat.stories.tsx → containers/ChatContainer/ChatContainer.stories.tsx} +20 -18
  252. package/src/containers/ChatContainer/ChatContainer.tsx +130 -0
  253. package/src/containers/ChatContainer/index.ts +8 -0
  254. package/src/{components → containers/ThreadCompanion}/ThreadCompanion.tsx +74 -50
  255. package/src/containers/ThreadCompanion/index.ts +7 -0
  256. package/src/containers/index.ts +11 -0
  257. package/src/{components/command-extension.ts → extensions/command.ts} +1 -1
  258. package/src/extensions/index.ts +1 -0
  259. package/src/extensions/threads.ts +14 -13
  260. package/src/hooks/analytics.ts +3 -2
  261. package/src/meta.ts +2 -2
  262. package/src/operations/add-message.ts +82 -0
  263. package/src/operations/create-channel-thread.ts +26 -0
  264. package/src/operations/create-channel.ts +21 -0
  265. package/src/operations/create-proposals.ts +49 -0
  266. package/src/operations/create.ts +49 -0
  267. package/src/operations/definitions.ts +177 -0
  268. package/src/operations/delete-message.ts +53 -0
  269. package/src/operations/delete.ts +64 -0
  270. package/src/operations/index.ts +22 -0
  271. package/src/operations/on-create-space.ts +27 -0
  272. package/src/operations/restore-message.ts +38 -0
  273. package/src/operations/restore.ts +38 -0
  274. package/src/operations/select.ts +25 -0
  275. package/src/operations/toggle-resolved.ts +41 -0
  276. package/src/testing/stories.ts +6 -11
  277. package/src/translations.ts +72 -76
  278. package/src/types/Channel.ts +11 -4
  279. package/src/types/Settings.ts +10 -0
  280. package/src/types/capabilities.ts +8 -7
  281. package/src/types/types.ts +2 -184
  282. package/src/util.ts +1 -1
  283. package/dist/lib/browser/app-graph-builder-7C2QW32W.mjs +0 -188
  284. package/dist/lib/browser/app-graph-builder-7C2QW32W.mjs.map +0 -7
  285. package/dist/lib/browser/blueprint-definition-UQ63QKQG.mjs +0 -17
  286. package/dist/lib/browser/blueprint-definition-UQ63QKQG.mjs.map +0 -7
  287. package/dist/lib/browser/call-manager-4P536YNX.mjs +0 -26
  288. package/dist/lib/browser/call-manager-4P536YNX.mjs.map +0 -7
  289. package/dist/lib/browser/chunk-2FIHSX35.mjs +0 -293
  290. package/dist/lib/browser/chunk-2FIHSX35.mjs.map +0 -7
  291. package/dist/lib/browser/chunk-CP7E2HRE.mjs +0 -31
  292. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +0 -7
  293. package/dist/lib/browser/chunk-DLO2G3DM.mjs +0 -184
  294. package/dist/lib/browser/chunk-DLO2G3DM.mjs.map +0 -7
  295. package/dist/lib/browser/chunk-ERK254BS.mjs +0 -1810
  296. package/dist/lib/browser/chunk-ERK254BS.mjs.map +0 -7
  297. package/dist/lib/browser/chunk-ISCHODBV.mjs +0 -106
  298. package/dist/lib/browser/chunk-ISCHODBV.mjs.map +0 -7
  299. package/dist/lib/browser/chunk-YSHXWAL3.mjs +0 -1815
  300. package/dist/lib/browser/chunk-YSHXWAL3.mjs.map +0 -7
  301. package/dist/lib/browser/chunk-ZFLSTQSE.mjs +0 -106
  302. package/dist/lib/browser/chunk-ZFLSTQSE.mjs.map +0 -7
  303. package/dist/lib/browser/markdown-QMJLRR6R.mjs +0 -210
  304. package/dist/lib/browser/markdown-QMJLRR6R.mjs.map +0 -7
  305. package/dist/lib/browser/operation-resolver-T63EP5TY.mjs +0 -441
  306. package/dist/lib/browser/operation-resolver-T63EP5TY.mjs.map +0 -7
  307. package/dist/lib/browser/react-root-56MJI77R.mjs +0 -25
  308. package/dist/lib/browser/react-root-56MJI77R.mjs.map +0 -7
  309. package/dist/lib/browser/react-surface-DMBHQOXJ.mjs +0 -110
  310. package/dist/lib/browser/react-surface-DMBHQOXJ.mjs.map +0 -7
  311. package/dist/lib/browser/repair-6OZ75AUU.mjs +0 -38
  312. package/dist/lib/browser/repair-6OZ75AUU.mjs.map +0 -7
  313. package/dist/lib/browser/settings-WZMJMML3.mjs +0 -32
  314. package/dist/lib/browser/settings-WZMJMML3.mjs.map +0 -7
  315. package/dist/lib/browser/state-SJR2GL5G.mjs +0 -24
  316. package/dist/lib/browser/state-SJR2GL5G.mjs.map +0 -7
  317. package/dist/lib/node-esm/app-graph-builder-JCSVFRVY.mjs +0 -189
  318. package/dist/lib/node-esm/app-graph-builder-JCSVFRVY.mjs.map +0 -7
  319. package/dist/lib/node-esm/blueprint-definition-MZZXXL37.mjs +0 -18
  320. package/dist/lib/node-esm/blueprint-definition-MZZXXL37.mjs.map +0 -7
  321. package/dist/lib/node-esm/call-manager-FMLRR5S5.mjs +0 -27
  322. package/dist/lib/node-esm/call-manager-FMLRR5S5.mjs.map +0 -7
  323. package/dist/lib/node-esm/chunk-7XQLXMX7.mjs +0 -1816
  324. package/dist/lib/node-esm/chunk-7XQLXMX7.mjs.map +0 -7
  325. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs +0 -33
  326. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +0 -7
  327. package/dist/lib/node-esm/chunk-AQHPP6ZX.mjs +0 -107
  328. package/dist/lib/node-esm/chunk-AQHPP6ZX.mjs.map +0 -7
  329. package/dist/lib/node-esm/chunk-KRBZBJRI.mjs +0 -185
  330. package/dist/lib/node-esm/chunk-KRBZBJRI.mjs.map +0 -7
  331. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs +0 -1811
  332. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs.map +0 -7
  333. package/dist/lib/node-esm/chunk-VBI32FGI.mjs +0 -108
  334. package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +0 -7
  335. package/dist/lib/node-esm/chunk-WMWUXWAS.mjs +0 -294
  336. package/dist/lib/node-esm/chunk-WMWUXWAS.mjs.map +0 -7
  337. package/dist/lib/node-esm/markdown-L6LLQLIN.mjs +0 -211
  338. package/dist/lib/node-esm/markdown-L6LLQLIN.mjs.map +0 -7
  339. package/dist/lib/node-esm/operation-resolver-G6GZPBRP.mjs +0 -442
  340. package/dist/lib/node-esm/operation-resolver-G6GZPBRP.mjs.map +0 -7
  341. package/dist/lib/node-esm/react-root-V4W4X5GL.mjs +0 -26
  342. package/dist/lib/node-esm/react-root-V4W4X5GL.mjs.map +0 -7
  343. package/dist/lib/node-esm/react-surface-ELDSTUA3.mjs +0 -111
  344. package/dist/lib/node-esm/react-surface-ELDSTUA3.mjs.map +0 -7
  345. package/dist/lib/node-esm/repair-6777EPOM.mjs +0 -39
  346. package/dist/lib/node-esm/repair-6777EPOM.mjs.map +0 -7
  347. package/dist/lib/node-esm/settings-37CO3SNR.mjs +0 -33
  348. package/dist/lib/node-esm/settings-37CO3SNR.mjs.map +0 -7
  349. package/dist/lib/node-esm/state-5R3TZJQE.mjs +0 -25
  350. package/dist/lib/node-esm/state-5R3TZJQE.mjs.map +0 -7
  351. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +0 -6
  352. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  353. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  354. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  355. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +0 -9
  356. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +0 -1
  357. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +0 -3
  358. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +0 -1
  359. package/dist/types/src/capabilities/call-manager/call-manager.d.ts +0 -6
  360. package/dist/types/src/capabilities/call-manager/call-manager.d.ts.map +0 -1
  361. package/dist/types/src/capabilities/call-manager/index.d.ts +0 -3
  362. package/dist/types/src/capabilities/call-manager/index.d.ts.map +0 -1
  363. package/dist/types/src/capabilities/markdown/index.d.ts +0 -3
  364. package/dist/types/src/capabilities/markdown/index.d.ts.map +0 -1
  365. package/dist/types/src/capabilities/markdown/markdown.d.ts +0 -5
  366. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +0 -1
  367. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  368. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  369. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  370. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  371. package/dist/types/src/capabilities/react-root/index.d.ts +0 -6
  372. package/dist/types/src/capabilities/react-root/index.d.ts.map +0 -1
  373. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +0 -1
  374. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  375. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  376. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
  377. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  378. package/dist/types/src/capabilities/repair/index.d.ts +0 -3
  379. package/dist/types/src/capabilities/repair/index.d.ts.map +0 -1
  380. package/dist/types/src/capabilities/repair/repair.d.ts +0 -6
  381. package/dist/types/src/capabilities/repair/repair.d.ts.map +0 -1
  382. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  383. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  384. package/dist/types/src/capabilities/settings/settings.d.ts +0 -5
  385. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  386. package/dist/types/src/capabilities/state/index.d.ts +0 -3
  387. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  388. package/dist/types/src/capabilities/state/state.d.ts +0 -7
  389. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  390. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  391. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  392. package/dist/types/src/components/ChannelContainer.d.ts +0 -13
  393. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  394. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -164
  395. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  396. package/dist/types/src/components/Chat.stories.d.ts +0 -164
  397. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  398. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  399. package/dist/types/src/components/Comments.stories.d.ts +0 -162
  400. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  401. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  402. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  403. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
  404. package/dist/types/src/components/MessageContainer.d.ts +0 -15
  405. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  406. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  407. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -166
  408. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  409. package/dist/types/src/components/ThreadCompanion.d.ts +0 -5
  410. package/dist/types/src/components/ThreadCompanion.d.ts.map +0 -1
  411. package/dist/types/src/components/ThreadSettings.d.ts +0 -8
  412. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  413. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  414. package/dist/types/src/components/testing.d.ts.map +0 -1
  415. package/dist/types/src/functions/create-proposals.d.ts +0 -6
  416. package/dist/types/src/functions/create-proposals.d.ts.map +0 -1
  417. package/dist/types/src/functions/index.d.ts +0 -2
  418. package/dist/types/src/functions/index.d.ts.map +0 -1
  419. package/src/capabilities/app-graph-builder/index.ts +0 -7
  420. package/src/capabilities/blueprint-definition/blueprint-definition.ts +0 -23
  421. package/src/capabilities/blueprint-definition/index.ts +0 -7
  422. package/src/capabilities/call-manager/index.ts +0 -7
  423. package/src/capabilities/markdown/index.ts +0 -7
  424. package/src/capabilities/operation-resolver/index.ts +0 -7
  425. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -400
  426. package/src/capabilities/react-root/index.ts +0 -7
  427. package/src/capabilities/react-surface/index.ts +0 -7
  428. package/src/capabilities/repair/index.ts +0 -7
  429. package/src/capabilities/repair/repair.ts +0 -51
  430. package/src/capabilities/settings/index.ts +0 -7
  431. package/src/capabilities/state/index.ts +0 -7
  432. package/src/components/ChatContainer.tsx +0 -155
  433. package/src/components/ThreadSettings.tsx +0 -21
  434. package/src/functions/create-proposals.ts +0 -57
  435. package/src/functions/index.ts +0 -5
  436. /package/src/{components/testing.ts → testing/data.ts} +0 -0
@@ -5,7 +5,8 @@
5
5
  import { useAtomValue } from '@effect-atom/atom-react';
6
6
  import React from 'react';
7
7
 
8
- import { useAppGraph, useCapability } from '@dxos/app-framework/react';
8
+ import { useCapability } from '@dxos/app-framework/ui';
9
+ import { useAppGraph } from '@dxos/app-toolkit/ui';
9
10
  import { Obj } from '@dxos/echo';
10
11
  import { Node, useActionRunner } from '@dxos/plugin-graph';
11
12
  import { useActions, useNode } from '@dxos/plugin-graph';
@@ -20,9 +21,9 @@ import {
20
21
  } from '@dxos/react-ui';
21
22
  import { groupHoverControlItemWithTransition, mx } from '@dxos/ui-theme';
22
23
 
23
- import { meta } from '../../meta';
24
- import { ThreadCapabilities } from '../../types';
25
- import { type Channel } from '../../types';
24
+ import { meta } from '#meta';
25
+ import { ThreadCapabilities } from '#types';
26
+ import { type Channel } from '#types';
26
27
 
27
28
  export type ToolbarProps = ThemedClassName<{
28
29
  channel?: Channel.Channel;
@@ -62,21 +63,20 @@ export const Toolbar = ({
62
63
  // TODO(wittjosiah): In order to use toolbar, need to update to actually use the graph action callbacks directly.
63
64
  return (
64
65
  <div className={mx('z-20 flex justify-center m-8', autoHideControls && groupHoverControlItemWithTransition)}>
65
- <NaturalToolbar.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]}>
66
67
  <ToggleButton
67
68
  active={media.audioEnabled}
68
69
  state={{
69
70
  on: {
70
71
  icon: 'ph--microphone--regular',
71
- label: t('mic off'),
72
+ label: t('mic-off.button'),
72
73
  onClick: () => call.turnAudioOff(),
73
- classNames: 'bg-callActive',
74
+ classNames: 'bg-call-active',
74
75
  },
75
76
  off: {
76
77
  icon: 'ph--microphone-slash--duotone',
77
- label: t('mic on'),
78
+ label: t('mic-on.button'),
78
79
  onClick: () => call.turnAudioOn(),
79
- classNames: [joined && 'bg-callAlert'],
80
80
  },
81
81
  }}
82
82
  />
@@ -85,20 +85,20 @@ export const Toolbar = ({
85
85
  state={{
86
86
  on: {
87
87
  icon: 'ph--video-camera--regular',
88
- label: t('camera off'),
88
+ label: t('camera-off.button'),
89
89
  onClick: () => call.turnVideoOff(),
90
90
  },
91
91
  off: {
92
92
  icon: 'ph--video-camera-slash--duotone',
93
- label: t('camera on'),
93
+ label: t('camera-on.button'),
94
94
  onClick: () => call.turnVideoOn(),
95
95
  },
96
96
  }}
97
97
  />
98
98
 
99
99
  {(participants !== undefined && (
100
- <div className='flex justify-center items-center gap-2 is-[5rem] text-xs text-subdued'>
101
- <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' />
102
102
  <div>{participants}</div>
103
103
  </div>
104
104
  )) || <NaturalToolbar.Separator variant='gap' />}
@@ -111,12 +111,12 @@ export const Toolbar = ({
111
111
  state={{
112
112
  on: {
113
113
  icon: 'ph--monitor--regular',
114
- label: t('screenshare off'),
114
+ label: t('screenshare-off.button'),
115
115
  onClick: () => call.turnScreenshareOff(),
116
116
  },
117
117
  off: {
118
118
  icon: 'ph--monitor-arrow-up--duotone',
119
- label: t('screenshare on'),
119
+ label: t('screenshare-on.button'),
120
120
  onClick: () => call.turnScreenshareOn(),
121
121
  },
122
122
  }}
@@ -141,13 +141,12 @@ export const Toolbar = ({
141
141
  state={{
142
142
  on: {
143
143
  icon: 'ph--hand-waving--regular',
144
- label: t('lower hand'),
144
+ label: t('lower-hand.button'),
145
145
  onClick: () => call.setRaisedHand(false),
146
- classNames: [joined && 'bg-callAlert'],
147
146
  },
148
147
  off: {
149
148
  icon: 'ph--hand-palm--duotone',
150
- label: t('raise hand'),
149
+ label: t('raise-hand.button'),
151
150
  onClick: () => call.setRaisedHand(true),
152
151
  },
153
152
  }}
@@ -155,9 +154,19 @@ export const Toolbar = ({
155
154
  </>
156
155
  )}
157
156
  {joined ? (
158
- <IconButton variant='destructive' icon='ph--phone-x--regular' label={t('leave call')} onClick={onLeave} />
157
+ <IconButton
158
+ variant='destructive'
159
+ icon='ph--phone-x--regular'
160
+ label={t('leave-call.button')}
161
+ onClick={onLeave}
162
+ />
159
163
  ) : (
160
- <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
+ />
161
170
  )}
162
171
  </NaturalToolbar.Root>
163
172
  </div>
@@ -182,7 +191,7 @@ const defaultButtonProps: Partial<IconButtonProps> = {
182
191
  const ToggleButton = ({ active, state }: ToolbarButtonProps) => (
183
192
  <IconButton
184
193
  {...defaultButtonProps}
185
- classNames={[active ? (state.on.classNames ?? 'bg-callActive') : state.off.classNames]}
194
+ classNames={[active ? (state.on.classNames ?? 'bg-call-active') : state.off.classNames]}
186
195
  icon={active ? state.on.icon : state.off.icon}
187
196
  label={active ? state.on.label : state.off.label}
188
197
  onClick={active ? state.on.onClick : state.off.onClick}
@@ -6,23 +6,23 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
  import * as Effect from 'effect/Effect';
7
7
  import React from 'react';
8
8
 
9
- import { OperationPlugin } from '@dxos/app-framework';
9
+ import { OperationPlugin, RuntimePlugin } from '@dxos/app-framework';
10
10
  import { withPluginManager } from '@dxos/app-framework/testing';
11
11
  import { Obj, Query, Relation } from '@dxos/echo';
12
12
  import { TestSchema } from '@dxos/echo/testing';
13
13
  import { ClientPlugin } from '@dxos/plugin-client';
14
+ import { initializeIdentity } from '@dxos/plugin-client/testing';
14
15
  import { faker } from '@dxos/random';
15
16
  import { useDatabase, useQuery } from '@dxos/react-client/echo';
16
17
  import { useIdentity } from '@dxos/react-client/halo';
17
18
  import { useAsyncEffect } from '@dxos/react-ui';
18
- import { withLayout, withTheme } from '@dxos/react-ui/testing';
19
- import { render } from '@dxos/storybook-utils';
19
+ import { withLayout, withTheme, Loading } from '@dxos/react-ui/testing';
20
20
  import { AnchoredTo, Message, Thread } from '@dxos/types';
21
21
 
22
- import { translations } from '../translations';
22
+ import { translations } from '../../translations';
23
23
 
24
- import { CommentsContainer } from './CommentsContainer';
25
- import { createCommentThread, createProposalThread } from './testing';
24
+ import { CommentsPanel } from './CommentsPanel';
25
+ import { createCommentThread, createProposalThread } from '../../testing/data';
26
26
 
27
27
  faker.seed(1);
28
28
 
@@ -54,28 +54,29 @@ const DefaultStory = () => {
54
54
  }, [identity, db]);
55
55
 
56
56
  if (!identity || !db || !anchors) {
57
- return null;
57
+ return <Loading data={{ identity: !!identity, db: !!db, anchors: !!anchors }} />;
58
58
  }
59
59
 
60
- return <CommentsContainer anchors={anchors} onThreadDelete={console.log} onAcceptProposal={console.log} />;
60
+ return <CommentsPanel anchors={anchors} onThreadDelete={console.log} onAcceptProposal={console.log} />;
61
61
  };
62
62
 
63
63
  const meta = {
64
- title: 'plugins/plugin-thread/Comments',
65
- render: render(DefaultStory),
64
+ title: 'plugins/plugin-thread/components/Comments',
65
+ render: DefaultStory,
66
66
  decorators: [
67
- withTheme,
68
- withLayout({ layout: 'column', scroll: true }),
67
+ withTheme(),
68
+ withLayout({ layout: 'column' }),
69
69
  // TODO(wittjosiah): This shouldn't depend on app framework (use withClientProvider instead).
70
70
  // Currently this is required due to useOnEditAnalytics.
71
71
  withPluginManager({
72
72
  plugins: [
73
73
  OperationPlugin(),
74
+ RuntimePlugin(),
74
75
  ClientPlugin({
75
76
  types: [Message.Message, Thread.Thread, AnchoredTo.AnchoredTo],
76
77
  onClientInitialized: ({ client }) =>
77
78
  Effect.gen(function* () {
78
- yield* Effect.promise(() => client.halo.createIdentity());
79
+ yield* initializeIdentity(client);
79
80
  }),
80
81
  }),
81
82
  ],
@@ -5,14 +5,14 @@
5
5
  import React, { useEffect } from 'react';
6
6
 
7
7
  import { Obj, Relation } from '@dxos/echo';
8
- import { Callout, Icon, Trans, useTranslation } from '@dxos/react-ui';
8
+ import { Icon, Message, Trans, useTranslation } from '@dxos/react-ui';
9
9
  import { type AnchoredTo, type Thread } from '@dxos/types';
10
10
 
11
- import { meta } from '../meta';
11
+ import { meta } from '#meta';
12
12
 
13
- import { CommentsThreadContainer, type CommentsThreadContainerProps } from './CommentsThreadContainer';
13
+ import { CommentsThread, type CommentsThreadProps } from './CommentsThread';
14
14
 
15
- export type CommentsContainerProps = Omit<CommentsThreadContainerProps, 'anchor' | 'current'> & {
15
+ export type CommentsPanelProps = Omit<CommentsThreadProps, 'anchor' | 'current'> & {
16
16
  anchors: AnchoredTo.AnchoredTo[];
17
17
  currentId?: string;
18
18
  showResolvedThreads?: boolean;
@@ -21,7 +21,7 @@ export type CommentsContainerProps = Omit<CommentsThreadContainerProps, 'anchor'
21
21
  /**
22
22
  * Root container for collection of comment threads.
23
23
  */
24
- export const CommentsContainer = ({ anchors, currentId, showResolvedThreads, ...props }: CommentsContainerProps) => {
24
+ export const CommentsPanel = ({ anchors, currentId, showResolvedThreads, ...props }: CommentsPanelProps) => {
25
25
  const { t } = useTranslation(meta.id);
26
26
 
27
27
  // TODO(wittjosiah): There seems to be a race between thread and anchor being deleted.
@@ -29,7 +29,8 @@ export const CommentsContainer = ({ anchors, currentId, showResolvedThreads, ...
29
29
  ? anchors.filter((anchor) => !!Relation.getSource(anchor))
30
30
  : anchors.filter((anchor) => {
31
31
  const thread = Relation.getSource(anchor);
32
- return thread && thread.status !== 'resolved';
32
+ // TODO(dmaretskyi): Do Obj.instanceOf check instead.
33
+ return thread && (thread as any).status !== 'resolved';
33
34
  });
34
35
 
35
36
  useEffect(() => {
@@ -40,20 +41,20 @@ export const CommentsContainer = ({ anchors, currentId, showResolvedThreads, ...
40
41
 
41
42
  if (filteredAnchors.length === 0) {
42
43
  return (
43
- <div role='none' className='plb-cardSpacingBlock pli-cardSpacingInline'>
44
- <Callout.Root>
45
- <Callout.Title>
44
+ <div role='none' className='p-form-padding'>
45
+ <Message.Root>
46
+ <Message.Title>
46
47
  <Trans
47
48
  {...{
48
49
  t,
49
- i18nKey: 'no comments message',
50
+ i18nKey: 'no-comments.message',
50
51
  components: {
51
- commentIcon: <Icon icon='ph--chat-text--regular' size={4} classNames='inline-block' />,
52
+ commentIcon: <Icon icon='ph--chat-text--regular' size={4} classNames='w-block' />,
52
53
  },
53
54
  }}
54
55
  />
55
- </Callout.Title>
56
- </Callout.Root>
56
+ </Message.Title>
57
+ </Message.Root>
57
58
  </div>
58
59
  );
59
60
  }
@@ -63,7 +64,7 @@ export const CommentsContainer = ({ anchors, currentId, showResolvedThreads, ...
63
64
  {filteredAnchors.map((anchor) => {
64
65
  const thread = Relation.getSource(anchor) as Thread.Thread;
65
66
  const threadId = Obj.getDXN(thread).toString();
66
- return <CommentsThreadContainer key={threadId} anchor={anchor} current={currentId === threadId} {...props} />;
67
+ return <CommentsThread key={threadId} anchor={anchor} current={currentId === threadId} {...props} />;
67
68
  })}
68
69
  </div>
69
70
  );
@@ -19,14 +19,14 @@ import { type AnchoredTo, type Thread } from '@dxos/types';
19
19
  import { createBasicExtensions, createThemeExtensions, listener } from '@dxos/ui-editor';
20
20
  import { hoverableControlItem, hoverableControls, hoverableFocusedWithinControls, mx } from '@dxos/ui-theme';
21
21
 
22
- import { useStatus } from '../hooks';
23
- import { meta } from '../meta';
24
- import { getMessageMetadata } from '../util';
22
+ import { useStatus } from '#hooks';
23
+ import { meta } from '#meta';
24
+ import { getMessageMetadata } from '../../util';
25
25
 
26
- import { command } from './command-extension';
27
- import { MessageContainer, buttonClassNames, buttonGroupClassNames } from './MessageContainer';
26
+ import { command } from '../../extensions/command';
27
+ import { MessagePanel, buttonClassNames, buttonGroupClassNames } from '../MessagePanel';
28
28
 
29
- export type CommentsThreadContainerProps = {
29
+ export type CommentsThreadProps = {
30
30
  anchor: AnchoredTo.AnchoredTo;
31
31
  onAttend?: (anchor: AnchoredTo.AnchoredTo) => void;
32
32
  onComment?: (anchor: AnchoredTo.AnchoredTo, message: string) => void;
@@ -36,7 +36,7 @@ export type CommentsThreadContainerProps = {
36
36
  onAcceptProposal?: (anchor: AnchoredTo.AnchoredTo, messageId: string) => void;
37
37
  } & Pick<ThreadRootProps, 'current'>;
38
38
 
39
- export const CommentsThreadContainer = ({
39
+ export const CommentsThread = ({
40
40
  anchor,
41
41
  current,
42
42
  onAttend,
@@ -45,7 +45,7 @@ export const CommentsThreadContainer = ({
45
45
  onMessageDelete,
46
46
  onThreadDelete,
47
47
  onAcceptProposal,
48
- }: CommentsThreadContainerProps) => {
48
+ }: CommentsThreadProps) => {
49
49
  const { themeMode } = useThemeContext();
50
50
  const { t } = useTranslation(meta.id);
51
51
  const identity = useIdentity()!;
@@ -64,7 +64,7 @@ export const CommentsThreadContainer = ({
64
64
  const messageRef = useRef('');
65
65
  const extensions = useMemo(
66
66
  () => [
67
- createBasicExtensions({ placeholder: t('message placeholder') }),
67
+ createBasicExtensions({ placeholder: t('message.placeholder') }),
68
68
  createThemeExtensions({ themeMode }),
69
69
  listener({ onChange: ({ text }) => (messageRef.current = text) }),
70
70
  command,
@@ -82,7 +82,7 @@ export const CommentsThreadContainer = ({
82
82
  const handleThreadDelete = useCallback(() => onThreadDelete?.(anchor), [onThreadDelete, anchor]);
83
83
  const handleAcceptProposal = useCallback((id: string) => onAcceptProposal?.(anchor, id), [onAcceptProposal, anchor]);
84
84
 
85
- const handleComment: MessageTextboxProps['onSend'] = useCallback(() => {
85
+ const handleComment = useCallback<NonNullable<MessageTextboxProps['onSend']>>(() => {
86
86
  if (!messageRef.current) {
87
87
  return false;
88
88
  }
@@ -98,7 +98,7 @@ export const CommentsThreadContainer = ({
98
98
  return (
99
99
  <ThreadComponent.Root
100
100
  id={Obj.getDXN(thread).toString()}
101
- classNames='pbs-2 border-be border-subduedSeparator last:border-none'
101
+ classNames='pt-2 border-b border-subdued-separator last:border-none'
102
102
  current={current}
103
103
  onClickCapture={handleAttend}
104
104
  onFocusCapture={handleAttend}
@@ -106,27 +106,27 @@ export const CommentsThreadContainer = ({
106
106
  <div
107
107
  role='none'
108
108
  className={mx(
109
- 'col-span-2 grid grid-cols-[var(--rail-size)_1fr_min-content]',
109
+ 'col-span-2 grid grid-cols-[var(--dx-rail-size)_1fr_min-content]',
110
110
  hoverableControls,
111
111
  hoverableFocusedWithinControls,
112
112
  )}
113
113
  >
114
114
  {detached ? (
115
- <Tooltip.Trigger asChild content={t('detached thread label')} side='top'>
115
+ <Tooltip.Trigger asChild content={t('detached-thread.label')} side='top'>
116
116
  <ThreadComponent.Header detached>{thread.name}</ThreadComponent.Header>
117
117
  </Tooltip.Trigger>
118
118
  ) : (
119
119
  <ThreadComponent.Header>{thread.name}</ThreadComponent.Header>
120
120
  )}
121
121
  <div role='none' className={buttonGroupClassNames}>
122
- {thread.status === 'staged' && <Tag palette='neutral'>{t('draft button')}</Tag>}
122
+ {thread.status === 'staged' && <Tag palette='neutral'>{t('draft.button')}</Tag>}
123
123
  {onResolve && !(thread?.status === 'staged') && (
124
124
  <IconButton
125
125
  data-testid='thread.resolve'
126
126
  variant='ghost'
127
127
  icon={thread?.status === 'resolved' ? 'ph--check--fill' : 'ph--check--regular'}
128
128
  iconOnly
129
- label={t('resolve thread label')}
129
+ label={t('resolve-thread.label')}
130
130
  classNames={[buttonClassNames, thread?.status !== 'resolved' && hoverableControlItem]}
131
131
  onClick={handleResolve}
132
132
  />
@@ -137,7 +137,7 @@ export const CommentsThreadContainer = ({
137
137
  variant='ghost'
138
138
  icon='ph--x--regular'
139
139
  iconOnly
140
- label={t('delete thread label')}
140
+ label={t('delete-thread.label')}
141
141
  classNames={[buttonClassNames, hoverableControlItem]}
142
142
  onClick={handleThreadDelete}
143
143
  />
@@ -146,7 +146,7 @@ export const CommentsThreadContainer = ({
146
146
  </div>
147
147
 
148
148
  {messages?.map((ref) => (
149
- <MessageContainer
149
+ <MessagePanel
150
150
  key={ref.dxn.toString()}
151
151
  editable
152
152
  message={ref}
@@ -164,10 +164,9 @@ export const CommentsThreadContainer = ({
164
164
  */}
165
165
  <MessageTextbox extensions={extensions} onSend={handleComment} {...textboxMetadata} />
166
166
 
167
- <ThreadComponent.Status activity={activity}>{t('activity message')}</ThreadComponent.Status>
167
+ <ThreadComponent.Status activity={activity}>{t('activity.message')}</ThreadComponent.Status>
168
168
 
169
- {/* NOTE(thure): This can’t also be the `overflow-anchor` because `ScrollArea` injects an interceding node that contains this necessary ref’d element. */}
170
- <div role='none' className='bs-px -mbs-px' ref={threadScrollRef} />
169
+ <div role='none' className='h-px -mt-px' ref={threadScrollRef} />
171
170
  </ThreadComponent.Root>
172
171
  );
173
172
  };
@@ -0,0 +1,6 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ export * from './CommentsPanel';
6
+ export * from './CommentsThread';
@@ -5,15 +5,15 @@
5
5
  import { useAtomValue } from '@effect-atom/atom-react';
6
6
  import React, { type FC, type PropsWithChildren, useEffect, useState } from 'react';
7
7
 
8
- import { useCapability } from '@dxos/app-framework/react';
8
+ import { useCapability } from '@dxos/app-framework/ui';
9
9
  import { type ThemedClassName, useTranslation } from '@dxos/react-ui';
10
10
  import { mx } from '@dxos/ui-theme';
11
11
 
12
- import { meta } from '../../meta';
13
- import { ThreadCapabilities } from '../../types';
12
+ import { meta } from '#meta';
13
+ import { ThreadCapabilities } from '#types';
14
14
  import { Toolbar, type ToolbarProps } from '../Call';
15
15
  import { VideoObject } from '../Media';
16
- import { ResponsiveContainer } from '../ResponsiveGrid';
16
+ import { ResponsivePanel } from '../ResponsiveGrid';
17
17
 
18
18
  // TODO(wittjosiah): Repurpose lobby for preview.
19
19
 
@@ -58,7 +58,7 @@ const LobbyPreview: FC<LobbyPreviewProps> = () => {
58
58
 
59
59
  return (
60
60
  <div className='grid grow p-4'>
61
- <ResponsiveContainer>
61
+ <ResponsivePanel>
62
62
  {(media.videoEnabled && (
63
63
  <VideoObject
64
64
  videoStream={media.videoStream}
@@ -69,8 +69,8 @@ const LobbyPreview: FC<LobbyPreviewProps> = () => {
69
69
  classNames,
70
70
  )}
71
71
  />
72
- )) || <div className='p-4 outline outline-separator rounded-md'>{t('camera off label')}</div>}
73
- </ResponsiveContainer>
72
+ )) || <div className='p-4 outline outline-separator rounded-md'>{t('camera-off.label')}</div>}
73
+ </ResponsivePanel>
74
74
  </div>
75
75
  );
76
76
  };
@@ -8,10 +8,10 @@ import React, { useEffect, useState } from 'react';
8
8
  import { scheduleTask } from '@dxos/async';
9
9
  import { Context } from '@dxos/context';
10
10
  import { log } from '@dxos/log';
11
- import { withTheme } from '@dxos/react-ui/testing';
11
+ import { withLayout, withTheme } from '@dxos/react-ui/testing';
12
12
 
13
13
  import { getUserMediaTrack } from '../../calls';
14
- import { ResponsiveContainer } from '../ResponsiveGrid';
14
+ import { ResponsivePanel } from '../ResponsiveGrid';
15
15
 
16
16
  import { VideoObject, type VideoObjectProps } from './VideoObject';
17
17
 
@@ -37,17 +37,17 @@ const DefaultStory = (props: VideoObjectProps) => {
37
37
  }, []);
38
38
 
39
39
  return (
40
- <ResponsiveContainer>
40
+ <ResponsivePanel>
41
41
  <VideoObject videoStream={videoStream} flip {...props} />
42
- </ResponsiveContainer>
42
+ </ResponsivePanel>
43
43
  );
44
44
  };
45
45
 
46
46
  const meta = {
47
- title: 'plugins/plugin-thread/VideoObject',
47
+ title: 'plugins/plugin-thread/components/VideoObject',
48
48
  component: VideoObject,
49
49
  render: DefaultStory,
50
- decorators: [withTheme],
50
+ decorators: [withTheme(), withLayout({ layout: 'fullscreen' })],
51
51
  parameters: {
52
52
  layout: 'fullscreen',
53
53
  },
@@ -32,7 +32,7 @@ export const VideoObject = memo(
32
32
  return (
33
33
  <video
34
34
  className={mx(
35
- 'is-full aspect-video',
35
+ 'w-full aspect-video',
36
36
  flip && 'scale-x-[-1]',
37
37
  contain ? 'object-contain' : 'object-cover',
38
38
  classNames,
@@ -5,44 +5,44 @@
5
5
  import { EditorView } from '@codemirror/view';
6
6
  import React, { forwardRef, useCallback, useEffect, useRef, useState } from 'react';
7
7
 
8
- import { Surface } from '@dxos/app-framework/react';
8
+ import { Surface } from '@dxos/app-framework/ui';
9
9
  import { type Obj, Ref } from '@dxos/echo';
10
10
  import { useObject } from '@dxos/echo-react';
11
11
  import { PublicKey } from '@dxos/react-client';
12
12
  import { type SpaceMember } from '@dxos/react-client/echo';
13
13
  import { type Identity, useIdentity } from '@dxos/react-client/halo';
14
14
  import { IconButton, useOnTransition, useThemeContext, useTranslation } from '@dxos/react-ui';
15
+ import { Card } from '@dxos/react-ui';
15
16
  import { useTextEditor } from '@dxos/react-ui-editor';
16
- import { Card } from '@dxos/react-ui-mosaic';
17
17
  import { MessageHeading, MessageRoot } from '@dxos/react-ui-thread';
18
18
  import { type ContentBlock, type Message } from '@dxos/types';
19
19
  import { createBasicExtensions, createThemeExtensions } from '@dxos/ui-editor';
20
20
  import { hoverableControlItem, hoverableControls, hoverableFocusedWithinControls, mx } from '@dxos/ui-theme';
21
21
 
22
- import { useOnEditAnalytics } from '../hooks';
23
- import { meta } from '../meta';
24
- import { getMessageMetadata } from '../util';
22
+ import { useOnEditAnalytics } from '#hooks';
23
+ import { meta } from '#meta';
24
+ import { getMessageMetadata } from '../../util';
25
25
 
26
- import { command } from './command-extension';
26
+ import { command } from '../../extensions/command';
27
27
 
28
- export const buttonGroupClassNames = 'flex flex-row items-center gap-0.5 pie-2';
29
- export const buttonClassNames = '!p-1 transition-opacity';
28
+ export const buttonGroupClassNames = 'flex flex-row items-center gap-0.5 pe-2';
29
+ export const buttonClassNames = 'p-1! transition-opacity';
30
30
 
31
- export type MessageContainerProps = {
32
- message: Obj.Obj<Message.Message> | Ref.Ref<Obj.Obj<Message.Message>>;
31
+ export type MessagePanelProps = {
32
+ message: Obj.OfShape<Message.Message> | Ref.Ref<Obj.OfShape<Message.Message>>;
33
33
  members: SpaceMember[];
34
34
  editable?: boolean;
35
35
  onDelete?: (id: string) => void;
36
36
  onAcceptProposal?: (id: string) => void;
37
37
  };
38
38
 
39
- export const MessageContainer = ({
39
+ export const MessagePanel = ({
40
40
  message: messageOrRef,
41
41
  members,
42
42
  editable = false,
43
43
  onDelete,
44
44
  onAcceptProposal,
45
- }: MessageContainerProps) => {
45
+ }: MessagePanelProps) => {
46
46
  const { t } = useTranslation(meta.id);
47
47
  const [message, updateMessage] = useObject(messageOrRef);
48
48
  const identity = useIdentity();
@@ -108,7 +108,7 @@ export const MessageContainer = ({
108
108
  variant='ghost'
109
109
  icon='ph--check--regular'
110
110
  iconOnly
111
- label={t('accept proposal label')}
111
+ label={t('accept-proposal.label')}
112
112
  classNames={[buttonClassNames, hoverableControlItem]}
113
113
  onClick={handleAcceptProposal}
114
114
  />
@@ -119,7 +119,7 @@ export const MessageContainer = ({
119
119
  variant='ghost'
120
120
  icon='ph--x--regular'
121
121
  iconOnly
122
- label={t('delete message label')}
122
+ label={t('delete-message.label')}
123
123
  classNames={[buttonClassNames, hoverableControlItem]}
124
124
  onClick={handleDelete}
125
125
  />
@@ -187,12 +187,12 @@ const TextboxBlock = ({
187
187
  editing && view?.focus();
188
188
  }, [editing, view]);
189
189
 
190
- return <div role='none' ref={parentRef} className='mie-4' {...focusAttributes} />;
190
+ return <div role='none' ref={parentRef} className='me-4' {...focusAttributes} />;
191
191
  };
192
192
 
193
193
  const ProposalBlock = ({ block }: { block: ContentBlock.Proposal }) => {
194
194
  return (
195
- <div role='none' className='mie-4 italic'>
195
+ <div role='none' className='me-4 italic'>
196
196
  {block.text}
197
197
  </div>
198
198
  );
@@ -207,10 +207,10 @@ const MessageBlockObjectTile = forwardRef<HTMLDivElement, { subject: Obj.Unknown
207
207
 
208
208
  return (
209
209
  <Card.Root
210
- className={mx('grid col-span-3 plb-1 pr-4', hoverableControls, hoverableFocusedWithinControls)}
210
+ className={mx('grid col-span-3 py-1 pr-4', hoverableControls, hoverableFocusedWithinControls)}
211
211
  ref={forwardedRef}
212
212
  >
213
- <Surface role='card-content' limit={1} data={{ subject }} fallback={title} />
213
+ <Surface.Surface role='card--content' limit={1} data={{ subject }} fallback={title} />
214
214
  </Card.Root>
215
215
  );
216
216
  });
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ export * from './MessagePanel';
@@ -5,10 +5,10 @@
5
5
  import { useAtomValue } from '@effect-atom/atom-react';
6
6
  import React, { memo, useMemo } from 'react';
7
7
 
8
- import { useCapability } from '@dxos/app-framework/react';
8
+ import { useCapability } from '@dxos/app-framework/ui';
9
9
 
10
10
  import { type EncodedTrackName, type UserState } from '../../calls';
11
- import { ThreadCapabilities } from '../../types';
11
+ import { ThreadCapabilities } from '#types';
12
12
  import { VideoObject } from '../Media';
13
13
  import { ResponsiveGridItem, type ResponsiveGridItemProps } from '../ResponsiveGrid';
14
14