@dxos/plugin-thread 0.8.4-main.937b3ca → 0.8.4-main.9be5663bfe

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 (446) hide show
  1. package/dist/lib/browser/add-message-A33GVGQX.mjs +97 -0
  2. package/dist/lib/browser/add-message-A33GVGQX.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-2QNKWX4H.mjs +259 -0
  6. package/dist/lib/browser/chunk-2QNKWX4H.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-7T7J6ZR6.mjs +61 -0
  8. package/dist/lib/browser/chunk-7T7J6ZR6.mjs.map +7 -0
  9. package/dist/lib/browser/create-N2ZVTONJ.mjs +55 -0
  10. package/dist/lib/browser/create-N2ZVTONJ.mjs.map +7 -0
  11. package/dist/lib/browser/create-channel-Y4H3535D.mjs +21 -0
  12. package/dist/lib/browser/create-channel-Y4H3535D.mjs.map +7 -0
  13. package/dist/lib/browser/create-channel-thread-6N7TKEAW.mjs +28 -0
  14. package/dist/lib/browser/create-channel-thread-6N7TKEAW.mjs.map +7 -0
  15. package/dist/lib/browser/create-proposals-VTOSWUOX.mjs +57 -0
  16. package/dist/lib/browser/create-proposals-VTOSWUOX.mjs.map +7 -0
  17. package/dist/lib/browser/delete-QZZE655Y.mjs +59 -0
  18. package/dist/lib/browser/delete-QZZE655Y.mjs.map +7 -0
  19. package/dist/lib/browser/delete-message-WQAZLYBO.mjs +64 -0
  20. package/dist/lib/browser/delete-message-WQAZLYBO.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-2UGS234J.mjs +25 -0
  25. package/dist/lib/browser/on-create-space-2UGS234J.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-KKQHFLYO.mjs +33 -0
  29. package/dist/lib/browser/restore-KKQHFLYO.mjs.map +7 -0
  30. package/dist/lib/browser/restore-message-VOP2UE7N.mjs +42 -0
  31. package/dist/lib/browser/restore-message-VOP2UE7N.mjs.map +7 -0
  32. package/dist/lib/browser/select-VBJ3MBLN.mjs +26 -0
  33. package/dist/lib/browser/select-VBJ3MBLN.mjs.map +7 -0
  34. package/dist/lib/browser/toggle-resolved-GIYF3KWJ.mjs +45 -0
  35. package/dist/lib/browser/toggle-resolved-GIYF3KWJ.mjs.map +7 -0
  36. package/dist/lib/browser/types/index.mjs +5 -7
  37. package/dist/lib/node-esm/add-message-E6XC6E3Z.mjs +98 -0
  38. package/dist/lib/node-esm/add-message-E6XC6E3Z.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-I6LAZYVU.mjs +260 -0
  42. package/dist/lib/node-esm/chunk-I6LAZYVU.mjs.map +7 -0
  43. package/dist/lib/node-esm/chunk-UGSMYQLZ.mjs +62 -0
  44. package/dist/lib/node-esm/chunk-UGSMYQLZ.mjs.map +7 -0
  45. package/dist/lib/node-esm/create-A6XQZR7M.mjs +56 -0
  46. package/dist/lib/node-esm/create-A6XQZR7M.mjs.map +7 -0
  47. package/dist/lib/node-esm/create-channel-KA5T23ZS.mjs +22 -0
  48. package/dist/lib/node-esm/create-channel-KA5T23ZS.mjs.map +7 -0
  49. package/dist/lib/node-esm/create-channel-thread-44PXAPGM.mjs +29 -0
  50. package/dist/lib/node-esm/create-channel-thread-44PXAPGM.mjs.map +7 -0
  51. package/dist/lib/node-esm/create-proposals-HDBVDNUX.mjs +58 -0
  52. package/dist/lib/node-esm/create-proposals-HDBVDNUX.mjs.map +7 -0
  53. package/dist/lib/node-esm/delete-3RAWD5GG.mjs +60 -0
  54. package/dist/lib/node-esm/delete-3RAWD5GG.mjs.map +7 -0
  55. package/dist/lib/node-esm/delete-message-W4XFE4KW.mjs +65 -0
  56. package/dist/lib/node-esm/delete-message-W4XFE4KW.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-ZURB6UKR.mjs +26 -0
  61. package/dist/lib/node-esm/on-create-space-ZURB6UKR.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-PDYEKDE3.mjs +34 -0
  65. package/dist/lib/node-esm/restore-PDYEKDE3.mjs.map +7 -0
  66. package/dist/lib/node-esm/restore-message-O5XC34MW.mjs +43 -0
  67. package/dist/lib/node-esm/restore-message-O5XC34MW.mjs.map +7 -0
  68. package/dist/lib/node-esm/select-6KETLVWY.mjs +27 -0
  69. package/dist/lib/node-esm/select-6KETLVWY.mjs.map +7 -0
  70. package/dist/lib/node-esm/toggle-resolved-QR3SOXR7.mjs +46 -0
  71. package/dist/lib/node-esm/toggle-resolved-QR3SOXR7.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/util/calls-service.d.ts.map +1 -1
  79. package/dist/types/src/calls-service.stories.d.ts +2 -2
  80. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
  82. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  83. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  84. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  85. package/dist/types/src/capabilities/call-manager.d.ts +6 -0
  86. package/dist/types/src/capabilities/call-manager.d.ts.map +1 -0
  87. package/dist/types/src/capabilities/index.d.ts +15 -10
  88. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/markdown.d.ts +5 -0
  90. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  91. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  92. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  93. package/dist/types/src/capabilities/{react-root/react-root.d.ts → react-root.d.ts} +1 -1
  94. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  95. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  96. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  97. package/dist/types/src/capabilities/settings.d.ts +6 -0
  98. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/state.d.ts +7 -0
  100. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  102. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  103. package/dist/types/src/components/Call/Toolbar.d.ts +1 -1
  104. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  105. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  106. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  107. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  108. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  109. package/dist/types/src/components/{CommentsThreadContainer.d.ts → CommentsPanel/CommentsThread.d.ts} +3 -3
  110. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  111. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  112. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  113. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
  114. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  115. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
  116. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  117. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  118. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  119. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
  120. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
  121. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +1 -1
  122. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +142 -144
  123. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  124. package/dist/types/src/components/ResponsiveGrid/{ResponsiveContainer.d.ts → ResponsivePanel.d.ts} +4 -4
  125. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +1 -0
  126. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +164 -0
  127. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -0
  128. package/dist/types/src/components/ResponsiveGrid/index.d.ts +1 -1
  129. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -1
  130. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  131. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  132. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  133. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  134. package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
  135. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  136. package/dist/types/src/components/index.d.ts +4 -9
  137. package/dist/types/src/components/index.d.ts.map +1 -1
  138. package/dist/types/src/{components → containers/CallDebugPanel}/CallDebugPanel.d.ts +1 -1
  139. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
  140. package/dist/types/src/containers/CallDebugPanel/index.d.ts +2 -0
  141. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
  142. package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
  143. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
  144. package/dist/types/src/containers/CallSidebar/index.d.ts +2 -0
  145. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
  146. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
  147. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
  148. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +162 -0
  149. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
  150. package/dist/types/src/containers/ChannelContainer/index.d.ts +2 -0
  151. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
  152. package/dist/types/src/{components → containers/ChatContainer}/ChatContainer.d.ts +3 -5
  153. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  154. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts +162 -0
  155. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
  156. package/dist/types/src/containers/ChatContainer/index.d.ts +4 -0
  157. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  158. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +8 -0
  159. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  160. package/dist/types/src/containers/ThreadCompanion/index.d.ts +2 -0
  161. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  162. package/dist/types/src/containers/index.d.ts +7 -0
  163. package/dist/types/src/containers/index.d.ts.map +1 -0
  164. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  165. package/dist/types/src/extensions/command.d.ts.map +1 -0
  166. package/dist/types/src/extensions/index.d.ts +1 -0
  167. package/dist/types/src/extensions/index.d.ts.map +1 -1
  168. package/dist/types/src/extensions/threads.d.ts +1 -1
  169. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  170. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  171. package/dist/types/src/operations/add-message.d.ts +5 -0
  172. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  173. package/dist/types/src/operations/create-channel-thread.d.ts +5 -0
  174. package/dist/types/src/operations/create-channel-thread.d.ts.map +1 -0
  175. package/dist/types/src/operations/create-channel.d.ts +5 -0
  176. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  177. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  178. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  179. package/dist/types/src/operations/create.d.ts +5 -0
  180. package/dist/types/src/operations/create.d.ts.map +1 -0
  181. package/dist/types/src/operations/definitions.d.ts +2789 -0
  182. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  183. package/dist/types/src/operations/delete-message.d.ts +5 -0
  184. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  185. package/dist/types/src/operations/delete.d.ts +5 -0
  186. package/dist/types/src/operations/delete.d.ts.map +1 -0
  187. package/dist/types/src/operations/index.d.ts +4 -0
  188. package/dist/types/src/operations/index.d.ts.map +1 -0
  189. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  190. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  191. package/dist/types/src/operations/restore-message.d.ts +5 -0
  192. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  193. package/dist/types/src/operations/restore.d.ts +5 -0
  194. package/dist/types/src/operations/restore.d.ts.map +1 -0
  195. package/dist/types/src/operations/select.d.ts +5 -0
  196. package/dist/types/src/operations/select.d.ts.map +1 -0
  197. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  198. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  199. package/dist/types/src/{components/testing.d.ts → testing/data.d.ts} +1 -1
  200. package/dist/types/src/testing/data.d.ts.map +1 -0
  201. package/dist/types/src/testing/stories.d.ts.map +1 -1
  202. package/dist/types/src/translations.d.ts +140 -142
  203. package/dist/types/src/translations.d.ts.map +1 -1
  204. package/dist/types/src/types/Channel.d.ts +439 -423
  205. package/dist/types/src/types/Channel.d.ts.map +1 -1
  206. package/dist/types/src/types/Settings.d.ts +4 -0
  207. package/dist/types/src/types/Settings.d.ts.map +1 -0
  208. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  209. package/dist/types/src/types/types.d.ts +1 -3227
  210. package/dist/types/src/types/types.d.ts.map +1 -1
  211. package/dist/types/src/util.d.ts.map +1 -1
  212. package/dist/types/tsconfig.tsbuildinfo +1 -1
  213. package/package.json +88 -66
  214. package/src/ThreadPlugin.tsx +54 -56
  215. package/src/blueprints/index.ts +1 -1
  216. package/src/blueprints/thread-blueprint.ts +13 -8
  217. package/src/calls/util/calls-service.ts +0 -1
  218. package/src/calls-service.stories.tsx +10 -9
  219. package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +42 -50
  220. package/src/capabilities/blueprint-definition.ts +17 -0
  221. package/src/capabilities/{call-manager/call-manager.ts → call-manager.ts} +6 -5
  222. package/src/capabilities/index.ts +16 -10
  223. package/src/capabilities/{markdown/markdown.ts → markdown.ts} +14 -15
  224. package/src/capabilities/operation-handler.ts +16 -0
  225. package/src/capabilities/{react-root/react-root.tsx → react-root.tsx} +4 -4
  226. package/src/capabilities/react-surface.tsx +90 -0
  227. package/src/capabilities/{settings/settings.ts → settings.ts} +9 -7
  228. package/src/capabilities/{state/state.ts → state.ts} +1 -1
  229. package/src/capabilities/undo-mappings.ts +46 -0
  230. package/src/components/Call/Call.tsx +5 -5
  231. package/src/components/Call/Toolbar.tsx +30 -21
  232. package/src/components/{Comments.stories.tsx → CommentsPanel/CommentsPanel.stories.tsx} +16 -16
  233. package/src/components/{CommentsContainer.tsx → CommentsPanel/CommentsPanel.tsx} +15 -14
  234. package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +19 -20
  235. package/src/components/CommentsPanel/index.ts +6 -0
  236. package/src/components/Lobby/Lobby.tsx +8 -7
  237. package/src/components/Media/VideoObject.stories.tsx +6 -7
  238. package/src/components/Media/VideoObject.tsx +1 -1
  239. package/src/components/{MessageContainer.tsx → MessagePanel/MessagePanel.tsx} +24 -18
  240. package/src/components/MessagePanel/index.ts +5 -0
  241. package/src/components/Participant/Participant.tsx +3 -2
  242. package/src/components/Participant/ParticipantGrid.tsx +0 -1
  243. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +10 -11
  244. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +8 -8
  245. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +9 -9
  246. package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +7 -8
  247. package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +5 -5
  248. package/src/components/ResponsiveGrid/index.ts +1 -1
  249. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +31 -0
  250. package/src/components/ThreadSettings/ThreadSettings.tsx +20 -0
  251. package/src/components/ThreadSettings/index.ts +5 -0
  252. package/src/components/index.ts +5 -9
  253. package/src/{components → containers/CallDebugPanel}/CallDebugPanel.tsx +8 -7
  254. package/src/containers/CallDebugPanel/index.ts +5 -0
  255. package/src/{components → containers/CallSidebar}/CallSidebar.tsx +4 -6
  256. package/src/containers/CallSidebar/index.ts +5 -0
  257. package/src/{components → containers/ChannelContainer}/ChannelContainer.stories.tsx +14 -14
  258. package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +75 -59
  259. package/src/containers/ChannelContainer/index.ts +5 -0
  260. package/src/{components/Chat.stories.tsx → containers/ChatContainer/ChatContainer.stories.tsx} +22 -20
  261. package/src/containers/ChatContainer/ChatContainer.tsx +131 -0
  262. package/src/containers/ChatContainer/index.ts +8 -0
  263. package/src/{components → containers/ThreadCompanion}/ThreadCompanion.tsx +74 -50
  264. package/src/containers/ThreadCompanion/index.ts +5 -0
  265. package/src/containers/index.ts +11 -0
  266. package/src/{components/command-extension.ts → extensions/command.ts} +1 -1
  267. package/src/extensions/index.ts +1 -0
  268. package/src/extensions/threads.ts +14 -13
  269. package/src/hooks/analytics.ts +3 -2
  270. package/src/meta.ts +2 -2
  271. package/src/operations/add-message.ts +81 -0
  272. package/src/operations/create-channel-thread.ts +26 -0
  273. package/src/operations/create-channel.ts +20 -0
  274. package/src/operations/create-proposals.ts +49 -0
  275. package/src/operations/create.ts +48 -0
  276. package/src/operations/definitions.ts +177 -0
  277. package/src/operations/delete-message.ts +53 -0
  278. package/src/operations/delete.ts +63 -0
  279. package/src/operations/index.ts +22 -0
  280. package/src/operations/on-create-space.ts +27 -0
  281. package/src/operations/restore-message.ts +38 -0
  282. package/src/operations/restore.ts +38 -0
  283. package/src/operations/select.ts +24 -0
  284. package/src/operations/toggle-resolved.ts +41 -0
  285. package/src/{components/testing.ts → testing/data.ts} +7 -7
  286. package/src/testing/stories.ts +7 -11
  287. package/src/translations.ts +72 -76
  288. package/src/types/Channel.ts +11 -4
  289. package/src/types/Settings.ts +10 -0
  290. package/src/types/capabilities.ts +9 -7
  291. package/src/types/types.ts +2 -184
  292. package/src/util.ts +1 -1
  293. package/dist/lib/browser/app-graph-builder-SPAZN5XL.mjs +0 -188
  294. package/dist/lib/browser/app-graph-builder-SPAZN5XL.mjs.map +0 -7
  295. package/dist/lib/browser/blueprint-definition-UQ63QKQG.mjs +0 -17
  296. package/dist/lib/browser/blueprint-definition-UQ63QKQG.mjs.map +0 -7
  297. package/dist/lib/browser/call-manager-YBRTG6T3.mjs +0 -26
  298. package/dist/lib/browser/call-manager-YBRTG6T3.mjs.map +0 -7
  299. package/dist/lib/browser/chunk-CP7E2HRE.mjs +0 -31
  300. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +0 -7
  301. package/dist/lib/browser/chunk-DLO2G3DM.mjs +0 -184
  302. package/dist/lib/browser/chunk-DLO2G3DM.mjs.map +0 -7
  303. package/dist/lib/browser/chunk-ERK254BS.mjs +0 -1810
  304. package/dist/lib/browser/chunk-ERK254BS.mjs.map +0 -7
  305. package/dist/lib/browser/chunk-ISCHODBV.mjs +0 -106
  306. package/dist/lib/browser/chunk-ISCHODBV.mjs.map +0 -7
  307. package/dist/lib/browser/chunk-TAWDJPMD.mjs +0 -293
  308. package/dist/lib/browser/chunk-TAWDJPMD.mjs.map +0 -7
  309. package/dist/lib/browser/chunk-VZICDGBW.mjs +0 -1813
  310. package/dist/lib/browser/chunk-VZICDGBW.mjs.map +0 -7
  311. package/dist/lib/browser/chunk-ZFLSTQSE.mjs +0 -106
  312. package/dist/lib/browser/chunk-ZFLSTQSE.mjs.map +0 -7
  313. package/dist/lib/browser/markdown-TSXOA3GV.mjs +0 -210
  314. package/dist/lib/browser/markdown-TSXOA3GV.mjs.map +0 -7
  315. package/dist/lib/browser/operation-resolver-MDMEBYH2.mjs +0 -441
  316. package/dist/lib/browser/operation-resolver-MDMEBYH2.mjs.map +0 -7
  317. package/dist/lib/browser/react-root-Q7U5D3DA.mjs +0 -25
  318. package/dist/lib/browser/react-root-Q7U5D3DA.mjs.map +0 -7
  319. package/dist/lib/browser/react-surface-WDZQSDWH.mjs +0 -110
  320. package/dist/lib/browser/react-surface-WDZQSDWH.mjs.map +0 -7
  321. package/dist/lib/browser/repair-TDKAFAGH.mjs +0 -38
  322. package/dist/lib/browser/repair-TDKAFAGH.mjs.map +0 -7
  323. package/dist/lib/browser/settings-OOKKVXV7.mjs +0 -32
  324. package/dist/lib/browser/settings-OOKKVXV7.mjs.map +0 -7
  325. package/dist/lib/browser/state-3LKZHDRI.mjs +0 -24
  326. package/dist/lib/browser/state-3LKZHDRI.mjs.map +0 -7
  327. package/dist/lib/node-esm/app-graph-builder-3LJAPDUW.mjs +0 -189
  328. package/dist/lib/node-esm/app-graph-builder-3LJAPDUW.mjs.map +0 -7
  329. package/dist/lib/node-esm/blueprint-definition-MZZXXL37.mjs +0 -18
  330. package/dist/lib/node-esm/blueprint-definition-MZZXXL37.mjs.map +0 -7
  331. package/dist/lib/node-esm/call-manager-MMCTNFOH.mjs +0 -27
  332. package/dist/lib/node-esm/call-manager-MMCTNFOH.mjs.map +0 -7
  333. package/dist/lib/node-esm/chunk-3RD3IVVD.mjs +0 -1814
  334. package/dist/lib/node-esm/chunk-3RD3IVVD.mjs.map +0 -7
  335. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs +0 -33
  336. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +0 -7
  337. package/dist/lib/node-esm/chunk-AQHPP6ZX.mjs +0 -107
  338. package/dist/lib/node-esm/chunk-AQHPP6ZX.mjs.map +0 -7
  339. package/dist/lib/node-esm/chunk-ARTUUKTM.mjs +0 -294
  340. package/dist/lib/node-esm/chunk-ARTUUKTM.mjs.map +0 -7
  341. package/dist/lib/node-esm/chunk-KRBZBJRI.mjs +0 -185
  342. package/dist/lib/node-esm/chunk-KRBZBJRI.mjs.map +0 -7
  343. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs +0 -1811
  344. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs.map +0 -7
  345. package/dist/lib/node-esm/chunk-VBI32FGI.mjs +0 -108
  346. package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +0 -7
  347. package/dist/lib/node-esm/markdown-N2UJ3D6L.mjs +0 -211
  348. package/dist/lib/node-esm/markdown-N2UJ3D6L.mjs.map +0 -7
  349. package/dist/lib/node-esm/operation-resolver-7PHDJZA2.mjs +0 -442
  350. package/dist/lib/node-esm/operation-resolver-7PHDJZA2.mjs.map +0 -7
  351. package/dist/lib/node-esm/react-root-SZIGQRDZ.mjs +0 -26
  352. package/dist/lib/node-esm/react-root-SZIGQRDZ.mjs.map +0 -7
  353. package/dist/lib/node-esm/react-surface-24PNWUDX.mjs +0 -111
  354. package/dist/lib/node-esm/react-surface-24PNWUDX.mjs.map +0 -7
  355. package/dist/lib/node-esm/repair-LHLLGXKF.mjs +0 -39
  356. package/dist/lib/node-esm/repair-LHLLGXKF.mjs.map +0 -7
  357. package/dist/lib/node-esm/settings-LXZQXSPL.mjs +0 -33
  358. package/dist/lib/node-esm/settings-LXZQXSPL.mjs.map +0 -7
  359. package/dist/lib/node-esm/state-YYAK5ENM.mjs +0 -25
  360. package/dist/lib/node-esm/state-YYAK5ENM.mjs.map +0 -7
  361. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +0 -6
  362. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  363. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  364. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  365. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +0 -9
  366. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +0 -1
  367. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +0 -3
  368. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +0 -1
  369. package/dist/types/src/capabilities/call-manager/call-manager.d.ts +0 -6
  370. package/dist/types/src/capabilities/call-manager/call-manager.d.ts.map +0 -1
  371. package/dist/types/src/capabilities/call-manager/index.d.ts +0 -3
  372. package/dist/types/src/capabilities/call-manager/index.d.ts.map +0 -1
  373. package/dist/types/src/capabilities/markdown/index.d.ts +0 -3
  374. package/dist/types/src/capabilities/markdown/index.d.ts.map +0 -1
  375. package/dist/types/src/capabilities/markdown/markdown.d.ts +0 -5
  376. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +0 -1
  377. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  378. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  379. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  380. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  381. package/dist/types/src/capabilities/react-root/index.d.ts +0 -6
  382. package/dist/types/src/capabilities/react-root/index.d.ts.map +0 -1
  383. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +0 -1
  384. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  385. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  386. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
  387. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  388. package/dist/types/src/capabilities/repair/index.d.ts +0 -3
  389. package/dist/types/src/capabilities/repair/index.d.ts.map +0 -1
  390. package/dist/types/src/capabilities/repair/repair.d.ts +0 -6
  391. package/dist/types/src/capabilities/repair/repair.d.ts.map +0 -1
  392. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  393. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  394. package/dist/types/src/capabilities/settings/settings.d.ts +0 -5
  395. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  396. package/dist/types/src/capabilities/state/index.d.ts +0 -3
  397. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  398. package/dist/types/src/capabilities/state/state.d.ts +0 -7
  399. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  400. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  401. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  402. package/dist/types/src/components/ChannelContainer.d.ts +0 -13
  403. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  404. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -164
  405. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  406. package/dist/types/src/components/Chat.stories.d.ts +0 -164
  407. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  408. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  409. package/dist/types/src/components/Comments.stories.d.ts +0 -162
  410. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  411. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  412. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  413. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
  414. package/dist/types/src/components/MessageContainer.d.ts +0 -15
  415. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  416. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  417. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -166
  418. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  419. package/dist/types/src/components/ThreadCompanion.d.ts +0 -5
  420. package/dist/types/src/components/ThreadCompanion.d.ts.map +0 -1
  421. package/dist/types/src/components/ThreadSettings.d.ts +0 -8
  422. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  423. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  424. package/dist/types/src/components/testing.d.ts.map +0 -1
  425. package/dist/types/src/functions/create-proposals.d.ts +0 -6
  426. package/dist/types/src/functions/create-proposals.d.ts.map +0 -1
  427. package/dist/types/src/functions/index.d.ts +0 -2
  428. package/dist/types/src/functions/index.d.ts.map +0 -1
  429. package/src/capabilities/app-graph-builder/index.ts +0 -7
  430. package/src/capabilities/blueprint-definition/blueprint-definition.ts +0 -23
  431. package/src/capabilities/blueprint-definition/index.ts +0 -7
  432. package/src/capabilities/call-manager/index.ts +0 -7
  433. package/src/capabilities/markdown/index.ts +0 -7
  434. package/src/capabilities/operation-resolver/index.ts +0 -7
  435. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -400
  436. package/src/capabilities/react-root/index.ts +0 -7
  437. package/src/capabilities/react-surface/index.ts +0 -7
  438. package/src/capabilities/react-surface/react-surface.tsx +0 -97
  439. package/src/capabilities/repair/index.ts +0 -7
  440. package/src/capabilities/repair/repair.ts +0 -51
  441. package/src/capabilities/settings/index.ts +0 -7
  442. package/src/capabilities/state/index.ts +0 -7
  443. package/src/components/ChatContainer.tsx +0 -153
  444. package/src/components/ThreadSettings.tsx +0 -21
  445. package/src/functions/create-proposals.ts +0 -57
  446. package/src/functions/index.ts +0 -5
@@ -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,25 +6,24 @@ 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 { faker } from '@dxos/random';
14
+ import { initializeIdentity } from '@dxos/plugin-client/testing';
15
+ import { random } 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 { createCommentThread, createProposalThread } from '../../testing/data';
23
+ import { translations } from '../../translations';
24
+ import { CommentsPanel } from './CommentsPanel';
23
25
 
24
- import { CommentsContainer } from './CommentsContainer';
25
- import { createCommentThread, createProposalThread } from './testing';
26
-
27
- faker.seed(1);
26
+ random.seed(1);
28
27
 
29
28
  const DefaultStory = () => {
30
29
  const identity = useIdentity();
@@ -54,28 +53,29 @@ const DefaultStory = () => {
54
53
  }, [identity, db]);
55
54
 
56
55
  if (!identity || !db || !anchors) {
57
- return null;
56
+ return <Loading data={{ identity: !!identity, db: !!db, anchors: !!anchors }} />;
58
57
  }
59
58
 
60
- return <CommentsContainer anchors={anchors} onThreadDelete={console.log} onAcceptProposal={console.log} />;
59
+ return <CommentsPanel anchors={anchors} onThreadDelete={console.log} onAcceptProposal={console.log} />;
61
60
  };
62
61
 
63
62
  const meta = {
64
- title: 'plugins/plugin-thread/Comments',
65
- render: render(DefaultStory),
63
+ title: 'plugins/plugin-thread/components/Comments',
64
+ render: DefaultStory,
66
65
  decorators: [
67
- withTheme,
68
- withLayout({ layout: 'column', scroll: true }),
66
+ withTheme(),
67
+ withLayout({ layout: 'column' }),
69
68
  // TODO(wittjosiah): This shouldn't depend on app framework (use withClientProvider instead).
70
69
  // Currently this is required due to useOnEditAnalytics.
71
70
  withPluginManager({
72
71
  plugins: [
73
72
  OperationPlugin(),
73
+ RuntimePlugin(),
74
74
  ClientPlugin({
75
75
  types: [Message.Message, Thread.Thread, AnchoredTo.AnchoredTo],
76
76
  onClientInitialized: ({ client }) =>
77
77
  Effect.gen(function* () {
78
- yield* Effect.promise(() => client.halo.createIdentity());
78
+ yield* initializeIdentity(client);
79
79
  }),
80
80
  }),
81
81
  ],
@@ -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';
25
24
 
26
- import { command } from './command-extension';
27
- import { MessageContainer, buttonClassNames, buttonGroupClassNames } from './MessageContainer';
25
+ import { command } from '../../extensions/command';
26
+ import { getMessageMetadata } from '../../util';
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,16 @@
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
15
  import { Toolbar, type ToolbarProps } from '../Call';
15
16
  import { VideoObject } from '../Media';
16
- import { ResponsiveContainer } from '../ResponsiveGrid';
17
+ import { ResponsivePanel } from '../ResponsiveGrid';
17
18
 
18
19
  // TODO(wittjosiah): Repurpose lobby for preview.
19
20
 
@@ -58,7 +59,7 @@ const LobbyPreview: FC<LobbyPreviewProps> = () => {
58
59
 
59
60
  return (
60
61
  <div className='grid grow p-4'>
61
- <ResponsiveContainer>
62
+ <ResponsivePanel>
62
63
  {(media.videoEnabled && (
63
64
  <VideoObject
64
65
  videoStream={media.videoStream}
@@ -69,8 +70,8 @@ const LobbyPreview: FC<LobbyPreviewProps> = () => {
69
70
  classNames,
70
71
  )}
71
72
  />
72
- )) || <div className='p-4 outline outline-separator rounded-md'>{t('camera off label')}</div>}
73
- </ResponsiveContainer>
73
+ )) || <div className='p-4 outline outline-separator rounded-md'>{t('camera-off.label')}</div>}
74
+ </ResponsivePanel>
74
75
  </div>
75
76
  );
76
77
  };
@@ -8,11 +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';
15
-
14
+ import { ResponsivePanel } from '../ResponsiveGrid';
16
15
  import { VideoObject, type VideoObjectProps } from './VideoObject';
17
16
 
18
17
  const DefaultStory = (props: VideoObjectProps) => {
@@ -37,17 +36,17 @@ const DefaultStory = (props: VideoObjectProps) => {
37
36
  }, []);
38
37
 
39
38
  return (
40
- <ResponsiveContainer>
39
+ <ResponsivePanel>
41
40
  <VideoObject videoStream={videoStream} flip {...props} />
42
- </ResponsiveContainer>
41
+ </ResponsivePanel>
43
42
  );
44
43
  };
45
44
 
46
45
  const meta = {
47
- title: 'plugins/plugin-thread/VideoObject',
46
+ title: 'plugins/plugin-thread/components/VideoObject',
48
47
  component: VideoObject,
49
48
  render: DefaultStory,
50
- decorators: [withTheme],
49
+ decorators: [withTheme(), withLayout({ layout: 'fullscreen' })],
51
50
  parameters: {
52
51
  layout: 'fullscreen',
53
52
  },
@@ -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,45 @@
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
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
9
10
  import { type Obj, Ref } from '@dxos/echo';
10
11
  import { useObject } from '@dxos/echo-react';
11
12
  import { PublicKey } from '@dxos/react-client';
12
13
  import { type SpaceMember } from '@dxos/react-client/echo';
13
14
  import { type Identity, useIdentity } from '@dxos/react-client/halo';
14
15
  import { IconButton, useOnTransition, useThemeContext, useTranslation } from '@dxos/react-ui';
16
+ import { Card } from '@dxos/react-ui';
15
17
  import { useTextEditor } from '@dxos/react-ui-editor';
16
- import { Card } from '@dxos/react-ui-mosaic';
17
18
  import { MessageHeading, MessageRoot } from '@dxos/react-ui-thread';
18
19
  import { type ContentBlock, type Message } from '@dxos/types';
19
20
  import { createBasicExtensions, createThemeExtensions } from '@dxos/ui-editor';
20
21
  import { hoverableControlItem, hoverableControls, hoverableFocusedWithinControls, mx } from '@dxos/ui-theme';
21
22
 
22
- import { useOnEditAnalytics } from '../hooks';
23
- import { meta } from '../meta';
24
- import { getMessageMetadata } from '../util';
23
+ import { useOnEditAnalytics } from '#hooks';
24
+ import { meta } from '#meta';
25
25
 
26
- import { command } from './command-extension';
26
+ import { command } from '../../extensions/command';
27
+ import { getMessageMetadata } from '../../util';
27
28
 
28
- export const buttonGroupClassNames = 'flex flex-row items-center gap-0.5 pie-2';
29
- export const buttonClassNames = '!p-1 transition-opacity';
29
+ export const buttonGroupClassNames = 'flex flex-row items-center gap-0.5 pe-2';
30
+ export const buttonClassNames = 'p-1! transition-opacity';
30
31
 
31
- export type MessageContainerProps = {
32
- message: Obj.Obj<Message.Message> | Ref.Ref<Obj.Obj<Message.Message>>;
32
+ export type MessagePanelProps = {
33
+ message: Obj.OfShape<Message.Message> | Ref.Ref<Obj.OfShape<Message.Message>>;
33
34
  members: SpaceMember[];
34
35
  editable?: boolean;
35
36
  onDelete?: (id: string) => void;
36
37
  onAcceptProposal?: (id: string) => void;
37
38
  };
38
39
 
39
- export const MessageContainer = ({
40
+ export const MessagePanel = ({
40
41
  message: messageOrRef,
41
42
  members,
42
43
  editable = false,
43
44
  onDelete,
44
45
  onAcceptProposal,
45
- }: MessageContainerProps) => {
46
+ }: MessagePanelProps) => {
46
47
  const { t } = useTranslation(meta.id);
47
48
  const [message, updateMessage] = useObject(messageOrRef);
48
49
  const identity = useIdentity();
@@ -108,7 +109,7 @@ export const MessageContainer = ({
108
109
  variant='ghost'
109
110
  icon='ph--check--regular'
110
111
  iconOnly
111
- label={t('accept proposal label')}
112
+ label={t('accept-proposal.label')}
112
113
  classNames={[buttonClassNames, hoverableControlItem]}
113
114
  onClick={handleAcceptProposal}
114
115
  />
@@ -119,7 +120,7 @@ export const MessageContainer = ({
119
120
  variant='ghost'
120
121
  icon='ph--x--regular'
121
122
  iconOnly
122
- label={t('delete message label')}
123
+ label={t('delete-message.label')}
123
124
  classNames={[buttonClassNames, hoverableControlItem]}
124
125
  onClick={handleDelete}
125
126
  />
@@ -187,12 +188,12 @@ const TextboxBlock = ({
187
188
  editing && view?.focus();
188
189
  }, [editing, view]);
189
190
 
190
- return <div role='none' ref={parentRef} className='mie-4' {...focusAttributes} />;
191
+ return <div role='none' ref={parentRef} className='me-4' {...focusAttributes} />;
191
192
  };
192
193
 
193
194
  const ProposalBlock = ({ block }: { block: ContentBlock.Proposal }) => {
194
195
  return (
195
- <div role='none' className='mie-4 italic'>
196
+ <div role='none' className='me-4 italic'>
196
197
  {block.text}
197
198
  </div>
198
199
  );
@@ -207,10 +208,15 @@ const MessageBlockObjectTile = forwardRef<HTMLDivElement, { subject: Obj.Unknown
207
208
 
208
209
  return (
209
210
  <Card.Root
210
- className={mx('grid col-span-3 plb-1 pr-4', hoverableControls, hoverableFocusedWithinControls)}
211
+ className={mx('grid col-span-3 py-1 pr-4', hoverableControls, hoverableFocusedWithinControls)}
211
212
  ref={forwardedRef}
212
213
  >
213
- <Surface role='card-content' limit={1} data={{ subject }} fallback={title} />
214
+ <Surface.Surface
215
+ role='card--content'
216
+ limit={1}
217
+ data={{ subject } satisfies AppSurface.ObjectCardData}
218
+ fallback={title}
219
+ />
214
220
  </Card.Root>
215
221
  );
216
222
  });
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ export * from './MessagePanel';
@@ -5,10 +5,11 @@
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
+
10
+ import { ThreadCapabilities } from '#types';
9
11
 
10
12
  import { type EncodedTrackName, type UserState } from '../../calls';
11
- import { ThreadCapabilities } from '../../types';
12
13
  import { VideoObject } from '../Media';
13
14
  import { ResponsiveGridItem, type ResponsiveGridItemProps } from '../ResponsiveGrid';
14
15
 
@@ -8,7 +8,6 @@ import { type ThemedClassName } from '@dxos/react-ui';
8
8
 
9
9
  import { type UserState } from '../../calls';
10
10
  import { ResponsiveGrid } from '../ResponsiveGrid';
11
-
12
11
  import { Participant, SCREENSHARE_SUFFIX } from './Participant';
13
12
 
14
13
  const getId = (user: UserState): string => user.id!;