@dxos/plugin-deck 0.8.4-main.74a063c4e0 → 0.8.4-main.765dc60934

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 (371) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/DeckLayout-6SICSSUF.mjs +278 -0
  4. package/dist/lib/neutral/DeckLayout-6SICSSUF.mjs.map +7 -0
  5. package/dist/lib/neutral/DeckPlugin.mjs +70 -0
  6. package/dist/lib/neutral/DeckPlugin.mjs.map +7 -0
  7. package/dist/lib/neutral/DeckPlugin.node.mjs +18 -0
  8. package/dist/lib/neutral/DeckPlugin.node.mjs.map +7 -0
  9. package/dist/lib/neutral/DeckSettings-W5I57OXM.mjs +27 -0
  10. package/dist/lib/neutral/DeckSettings-W5I57OXM.mjs.map +7 -0
  11. package/dist/lib/{browser/add-toast-HW74YZHJ.mjs → neutral/add-toast-2OMTFZ2L.mjs} +5 -5
  12. package/dist/lib/{browser/add-toast-HW74YZHJ.mjs.map → neutral/add-toast-2OMTFZ2L.mjs.map} +2 -2
  13. package/dist/lib/{browser/adjust-OXVHZTBE.mjs → neutral/adjust-RXTF3IT3.mjs} +17 -20
  14. package/dist/lib/neutral/adjust-RXTF3IT3.mjs.map +7 -0
  15. package/dist/lib/neutral/app-graph-builder-GZYYAN5B.mjs +129 -0
  16. package/dist/lib/neutral/app-graph-builder-GZYYAN5B.mjs.map +7 -0
  17. package/dist/lib/neutral/capabilities/index.mjs +23 -0
  18. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  19. package/dist/lib/neutral/check-app-scheme-A7FZVNZO.mjs +10 -0
  20. package/dist/lib/neutral/chunk-4MYX2NT3.mjs +1335 -0
  21. package/dist/lib/neutral/chunk-4MYX2NT3.mjs.map +7 -0
  22. package/dist/lib/neutral/chunk-64ODQD6S.mjs +282 -0
  23. package/dist/lib/neutral/chunk-64ODQD6S.mjs.map +7 -0
  24. package/dist/lib/neutral/chunk-6MOYMDKQ.mjs +8 -0
  25. package/dist/lib/neutral/chunk-6MOYMDKQ.mjs.map +7 -0
  26. package/dist/lib/neutral/chunk-GBIGQKYW.mjs +112 -0
  27. package/dist/lib/neutral/chunk-GBIGQKYW.mjs.map +7 -0
  28. package/dist/lib/{browser/chunk-KUTDCWZF.mjs → neutral/chunk-GLB73Q6U.mjs} +2 -10
  29. package/dist/lib/{node-esm/chunk-MLVJ2ODW.mjs.map → neutral/chunk-GLB73Q6U.mjs.map} +2 -2
  30. package/dist/lib/neutral/chunk-JMYWDX4I.mjs +19 -0
  31. package/dist/lib/neutral/chunk-JMYWDX4I.mjs.map +7 -0
  32. package/dist/lib/neutral/chunk-VHETZ22W.mjs +101 -0
  33. package/dist/lib/neutral/chunk-VHETZ22W.mjs.map +7 -0
  34. package/dist/lib/{browser/chunk-DF2VZ6W3.mjs → neutral/chunk-ZYYOSX5I.mjs} +1 -1
  35. package/dist/lib/{browser/chunk-DF2VZ6W3.mjs.map → neutral/chunk-ZYYOSX5I.mjs.map} +2 -2
  36. package/dist/lib/{browser/close-N5FCDT7Y.mjs → neutral/close-DG5IVQCE.mjs} +12 -12
  37. package/dist/lib/{browser/close-N5FCDT7Y.mjs.map → neutral/close-DG5IVQCE.mjs.map} +2 -2
  38. package/dist/lib/neutral/components/index.mjs +126 -0
  39. package/dist/lib/neutral/components/index.mjs.map +7 -0
  40. package/dist/lib/neutral/containers/index.mjs +32 -0
  41. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  42. package/dist/lib/neutral/hooks/index.mjs +178 -0
  43. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  44. package/dist/lib/{node-esm/types → neutral}/index.mjs +13 -8
  45. package/dist/lib/neutral/meta.json +1 -0
  46. package/dist/lib/neutral/meta.mjs +8 -0
  47. package/dist/lib/{browser/open-J5HV42UN.mjs → neutral/open-SGYZO7RF.mjs} +21 -24
  48. package/dist/lib/neutral/open-SGYZO7RF.mjs.map +7 -0
  49. package/dist/lib/neutral/operation-handler-266CVMTW.mjs +13 -0
  50. package/dist/lib/neutral/operation-handler-266CVMTW.mjs.map +7 -0
  51. package/dist/lib/neutral/operations/index.mjs +8 -0
  52. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  53. package/dist/lib/neutral/plugin.mjs +16 -0
  54. package/dist/lib/neutral/plugin.mjs.map +7 -0
  55. package/dist/lib/neutral/react-root-WZ6KH27J.mjs +41 -0
  56. package/dist/lib/neutral/react-root-WZ6KH27J.mjs.map +7 -0
  57. package/dist/lib/neutral/react-surface-KAAZDHV3.mjs +34 -0
  58. package/dist/lib/neutral/react-surface-KAAZDHV3.mjs.map +7 -0
  59. package/dist/lib/{browser/revert-workspace-VWNN7RYF.mjs → neutral/revert-workspace-V6D7W6CL.mjs} +5 -5
  60. package/dist/lib/{browser/revert-workspace-VWNN7RYF.mjs.map → neutral/revert-workspace-V6D7W6CL.mjs.map} +2 -2
  61. package/dist/lib/{browser/scroll-into-view-CA7E3PSO.mjs → neutral/scroll-into-view-UM446Q2T.mjs} +5 -5
  62. package/dist/lib/{browser/scroll-into-view-CA7E3PSO.mjs.map → neutral/scroll-into-view-UM446Q2T.mjs.map} +2 -2
  63. package/dist/lib/{browser/set-YVWQQZLE.mjs → neutral/set-JFFKT32S.mjs} +11 -11
  64. package/dist/lib/{browser/set-YVWQQZLE.mjs.map → neutral/set-JFFKT32S.mjs.map} +2 -2
  65. package/dist/lib/{browser/set-layout-mode-DRNBZHE7.mjs → neutral/set-layout-mode-I4YV5V2Y.mjs} +10 -15
  66. package/dist/lib/neutral/set-layout-mode-I4YV5V2Y.mjs.map +7 -0
  67. package/dist/lib/neutral/settings-FE7AC5VS.mjs +34 -0
  68. package/dist/lib/neutral/settings-FE7AC5VS.mjs.map +7 -0
  69. package/dist/lib/{browser/show-undo-KA2XHQ6E.mjs → neutral/show-undo-ZCMF4J2Q.mjs} +5 -5
  70. package/dist/lib/{browser/show-undo-KA2XHQ6E.mjs.map → neutral/show-undo-ZCMF4J2Q.mjs.map} +2 -2
  71. package/dist/lib/neutral/state-IIDXMQUO.mjs +86 -0
  72. package/dist/lib/neutral/state-IIDXMQUO.mjs.map +7 -0
  73. package/dist/lib/{browser/switch-workspace-U7SPENHU.mjs → neutral/switch-workspace-CVDYG5YZ.mjs} +8 -16
  74. package/dist/lib/neutral/switch-workspace-CVDYG5YZ.mjs.map +7 -0
  75. package/dist/lib/neutral/translations.mjs +57 -0
  76. package/dist/lib/neutral/translations.mjs.map +7 -0
  77. package/dist/lib/{browser → neutral}/types/index.mjs +7 -5
  78. package/dist/lib/neutral/types/index.mjs.map +7 -0
  79. package/dist/lib/neutral/update-companion-VPCM7FJX.mjs +32 -0
  80. package/dist/lib/neutral/update-companion-VPCM7FJX.mjs.map +7 -0
  81. package/dist/lib/{browser/update-complementary-W6UVLWLI.mjs → neutral/update-complementary-SEQ6DDWA.mjs} +6 -6
  82. package/dist/lib/neutral/update-complementary-SEQ6DDWA.mjs.map +7 -0
  83. package/dist/lib/{browser/update-dialog-VCTI7WKS.mjs → neutral/update-dialog-VDHYE4QH.mjs} +5 -5
  84. package/dist/lib/{browser/update-dialog-VCTI7WKS.mjs.map → neutral/update-dialog-VDHYE4QH.mjs.map} +2 -2
  85. package/dist/lib/neutral/update-plank-size-ZXOUZD7Y.mjs +26 -0
  86. package/dist/lib/neutral/update-plank-size-ZXOUZD7Y.mjs.map +7 -0
  87. package/dist/lib/{browser/update-popover-4EVVZSB6.mjs → neutral/update-popover-VFP32W57.mjs} +5 -5
  88. package/dist/lib/{browser/update-popover-4EVVZSB6.mjs.map → neutral/update-popover-VFP32W57.mjs.map} +2 -2
  89. package/dist/lib/{browser/update-sidebar-PAZARC4Q.mjs → neutral/update-sidebar-O5HBOXYH.mjs} +6 -6
  90. package/dist/lib/{browser/update-sidebar-PAZARC4Q.mjs.map → neutral/update-sidebar-O5HBOXYH.mjs.map} +2 -2
  91. package/dist/lib/neutral/url-handler-3QTKEM2K.mjs +184 -0
  92. package/dist/lib/neutral/url-handler-3QTKEM2K.mjs.map +7 -0
  93. package/dist/types/src/DeckPlugin.d.ts +1 -0
  94. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  95. package/dist/types/src/DeckPlugin.node.d.ts +4 -0
  96. package/dist/types/src/DeckPlugin.node.d.ts.map +1 -0
  97. package/dist/types/src/DeckPlugin.test.d.ts +2 -0
  98. package/dist/types/src/DeckPlugin.test.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/check-app-scheme.d.ts +1 -1
  101. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/index.d.ts +18 -30
  103. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  105. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/settings.d.ts +2 -13
  109. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/state.d.ts +16 -16
  111. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/tools.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/url-handler.d.ts +1 -1
  114. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
  115. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -1
  116. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts +42 -52
  117. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts.map +1 -1
  118. package/dist/types/src/components/Matrix/Matrix.d.ts +2 -10
  119. package/dist/types/src/components/Matrix/Matrix.d.ts.map +1 -1
  120. package/dist/types/src/components/Matrix/Matrix.stories.d.ts.map +1 -1
  121. package/dist/types/src/containers/Deck/Banner.d.ts +1 -1
  122. package/dist/types/src/containers/Deck/Banner.d.ts.map +1 -1
  123. package/dist/types/src/containers/Deck/Deck.d.ts.map +1 -1
  124. package/dist/types/src/containers/Deck/Deck.stories.d.ts +42 -52
  125. package/dist/types/src/containers/Deck/Deck.stories.d.ts.map +1 -1
  126. package/dist/types/src/containers/Deck/DeckContent.d.ts +4 -4
  127. package/dist/types/src/containers/Deck/DeckContent.d.ts.map +1 -1
  128. package/dist/types/src/containers/Deck/DeckRoot.d.ts +5 -8
  129. package/dist/types/src/containers/Deck/DeckRoot.d.ts.map +1 -1
  130. package/dist/types/src/containers/Deck/DeckViewport.d.ts +4 -7
  131. package/dist/types/src/containers/Deck/DeckViewport.d.ts.map +1 -1
  132. package/dist/types/src/containers/Deck/StatusBar.d.ts.map +1 -1
  133. package/dist/types/src/containers/DeckLayout/DeckLayout.d.ts.map +1 -1
  134. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts +42 -52
  135. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts.map +1 -1
  136. package/dist/types/src/containers/DeckLayout/Dialog.d.ts.map +1 -1
  137. package/dist/types/src/containers/DeckLayout/Popover.d.ts.map +1 -1
  138. package/dist/types/src/containers/DeckLayout/Toast.d.ts +1 -1
  139. package/dist/types/src/containers/DeckLayout/Toast.d.ts.map +1 -1
  140. package/dist/types/src/containers/DeckLayout/index.d.ts.map +1 -1
  141. package/dist/types/src/containers/Plank/Plank.d.ts +2 -6
  142. package/dist/types/src/containers/Plank/Plank.d.ts.map +1 -1
  143. package/dist/types/src/containers/Plank/Plank.stories.d.ts +43 -52
  144. package/dist/types/src/containers/Plank/Plank.stories.d.ts.map +1 -1
  145. package/dist/types/src/containers/Plank/PlankComponent.d.ts +2 -0
  146. package/dist/types/src/containers/Plank/PlankComponent.d.ts.map +1 -1
  147. package/dist/types/src/containers/Plank/PlankContent.d.ts +1 -5
  148. package/dist/types/src/containers/Plank/PlankContent.d.ts.map +1 -1
  149. package/dist/types/src/containers/Plank/PlankControls.d.ts.map +1 -1
  150. package/dist/types/src/containers/Plank/PlankError.d.ts +1 -1
  151. package/dist/types/src/containers/Plank/PlankError.d.ts.map +1 -1
  152. package/dist/types/src/containers/Plank/PlankHeading.d.ts +2 -1
  153. package/dist/types/src/containers/Plank/PlankHeading.d.ts.map +1 -1
  154. package/dist/types/src/containers/Plank/PlankRoot.d.ts +3 -3
  155. package/dist/types/src/containers/Plank/PlankRoot.d.ts.map +1 -1
  156. package/dist/types/src/containers/Sidebar/ComplementarySidebar.d.ts.map +1 -1
  157. package/dist/types/src/containers/Sidebar/SidebarButton.d.ts +1 -1
  158. package/dist/types/src/containers/Sidebar/SidebarButton.d.ts.map +1 -1
  159. package/dist/types/src/hooks/useBreakpoints.d.ts +1 -1
  160. package/dist/types/src/hooks/useCompanions.d.ts.map +1 -1
  161. package/dist/types/src/hooks/useDeckCompanions.d.ts +2 -1
  162. package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -1
  163. package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +1 -1
  164. package/dist/types/src/hooks/useMainSize.d.ts.map +1 -1
  165. package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
  166. package/dist/types/src/hooks/useSelectedCompanion.d.ts.map +1 -1
  167. package/dist/types/src/index.d.ts +1 -3
  168. package/dist/types/src/index.d.ts.map +1 -1
  169. package/dist/types/src/layout.d.ts.map +1 -1
  170. package/dist/types/src/meta.d.ts.map +1 -1
  171. package/dist/types/src/operations/add-toast.d.ts +1 -1
  172. package/dist/types/src/operations/add-toast.d.ts.map +1 -1
  173. package/dist/types/src/operations/adjust.d.ts +3 -3
  174. package/dist/types/src/operations/adjust.d.ts.map +1 -1
  175. package/dist/types/src/operations/close.d.ts +1 -1
  176. package/dist/types/src/operations/close.d.ts.map +1 -1
  177. package/dist/types/src/operations/helpers.d.ts.map +1 -1
  178. package/dist/types/src/operations/index.d.ts +1 -2
  179. package/dist/types/src/operations/index.d.ts.map +1 -1
  180. package/dist/types/src/operations/open.d.ts +1 -1
  181. package/dist/types/src/operations/open.d.ts.map +1 -1
  182. package/dist/types/src/operations/revert-workspace.d.ts +1 -1
  183. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -1
  184. package/dist/types/src/operations/scroll-into-view.d.ts +1 -1
  185. package/dist/types/src/operations/scroll-into-view.d.ts.map +1 -1
  186. package/dist/types/src/operations/set-layout-mode.d.ts +1 -1
  187. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -1
  188. package/dist/types/src/operations/set.d.ts +1 -1
  189. package/dist/types/src/operations/set.d.ts.map +1 -1
  190. package/dist/types/src/operations/show-undo.d.ts +1 -1
  191. package/dist/types/src/operations/show-undo.d.ts.map +1 -1
  192. package/dist/types/src/operations/switch-workspace.d.ts +1 -1
  193. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -1
  194. package/dist/types/src/operations/update-companion.d.ts +5 -0
  195. package/dist/types/src/operations/update-companion.d.ts.map +1 -0
  196. package/dist/types/src/operations/update-complementary.d.ts +1 -1
  197. package/dist/types/src/operations/update-complementary.d.ts.map +1 -1
  198. package/dist/types/src/operations/update-dialog.d.ts +1 -1
  199. package/dist/types/src/operations/update-dialog.d.ts.map +1 -1
  200. package/dist/types/src/operations/update-plank-size.d.ts +3 -3
  201. package/dist/types/src/operations/update-plank-size.d.ts.map +1 -1
  202. package/dist/types/src/operations/update-popover.d.ts +1 -1
  203. package/dist/types/src/operations/update-popover.d.ts.map +1 -1
  204. package/dist/types/src/operations/update-sidebar.d.ts +1 -1
  205. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -1
  206. package/dist/types/src/plugin.d.ts +4 -0
  207. package/dist/types/src/plugin.d.ts.map +1 -0
  208. package/dist/types/src/translations.d.ts +42 -53
  209. package/dist/types/src/translations.d.ts.map +1 -1
  210. package/dist/types/src/types/DeckCapabilities.d.ts +188 -0
  211. package/dist/types/src/types/DeckCapabilities.d.ts.map +1 -0
  212. package/dist/types/src/types/DeckEvents.d.ts +5 -0
  213. package/dist/types/src/types/DeckEvents.d.ts.map +1 -0
  214. package/dist/types/src/{operations/definitions.d.ts → types/DeckOperation.d.ts} +3 -6
  215. package/dist/types/src/types/DeckOperation.d.ts.map +1 -0
  216. package/dist/types/src/types/Settings.d.ts +7 -6
  217. package/dist/types/src/types/Settings.d.ts.map +1 -1
  218. package/dist/types/src/types/index.d.ts +3 -2
  219. package/dist/types/src/types/index.d.ts.map +1 -1
  220. package/dist/types/src/types/schema.d.ts +0 -11
  221. package/dist/types/src/types/schema.d.ts.map +1 -1
  222. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
  223. package/dist/types/src/util/plank-url-params.d.ts.map +1 -1
  224. package/dist/types/src/util/sanitize-persisted-state.d.ts.map +1 -1
  225. package/dist/types/src/util/set-active.d.ts.map +1 -1
  226. package/dist/types/tsconfig.tsbuildinfo +1 -1
  227. package/package.json +104 -78
  228. package/src/DeckPlugin.node.ts +17 -0
  229. package/src/DeckPlugin.test.ts +27 -0
  230. package/src/DeckPlugin.ts +6 -5
  231. package/src/capabilities/app-graph-builder.ts +6 -6
  232. package/src/capabilities/index.ts +1 -1
  233. package/src/capabilities/operation-handler.ts +1 -1
  234. package/src/capabilities/react-surface.tsx +1 -2
  235. package/src/capabilities/settings.ts +1 -1
  236. package/src/capabilities/tools.ts +3 -3
  237. package/src/capabilities/url-handler.ts +6 -1
  238. package/src/components/DeckSettings/DeckSettings.stories.tsx +2 -1
  239. package/src/components/DeckSettings/DeckSettings.tsx +8 -47
  240. package/src/components/Matrix/Matrix.stories.tsx +22 -15
  241. package/src/components/Matrix/Matrix.tsx +1 -1
  242. package/src/components/Matrix/SPEC.md +1 -1
  243. package/src/containers/Deck/Banner.tsx +2 -2
  244. package/src/containers/Deck/Deck.stories.tsx +1 -3
  245. package/src/containers/Deck/DeckContent.tsx +1 -1
  246. package/src/containers/Deck/DeckViewport.tsx +14 -19
  247. package/src/containers/DeckLayout/ActiveNode.tsx +3 -3
  248. package/src/containers/DeckLayout/DeckLayout.stories.tsx +90 -90
  249. package/src/containers/DeckLayout/Dialog.tsx +8 -2
  250. package/src/containers/DeckLayout/Fallback.tsx +1 -1
  251. package/src/containers/DeckLayout/Popover.tsx +6 -4
  252. package/src/containers/Plank/Plank.stories.tsx +11 -8
  253. package/src/containers/Plank/PlankComponent.tsx +58 -21
  254. package/src/containers/Plank/PlankControls.tsx +2 -2
  255. package/src/containers/Plank/PlankError.tsx +1 -1
  256. package/src/containers/Plank/PlankHeading.tsx +18 -8
  257. package/src/containers/Plank/PlankLoading.tsx +1 -1
  258. package/src/containers/Plank/PlankRoot.tsx +3 -3
  259. package/src/containers/Sidebar/ComplementarySidebar.tsx +7 -8
  260. package/src/containers/Sidebar/Sidebar.tsx +2 -2
  261. package/src/containers/Sidebar/SidebarButton.tsx +7 -1
  262. package/src/hooks/useDeckCompanions.ts +2 -1
  263. package/src/index.ts +1 -3
  264. package/src/meta.ts +1 -0
  265. package/src/operations/add-toast.ts +1 -1
  266. package/src/operations/adjust.ts +5 -6
  267. package/src/operations/close.ts +2 -2
  268. package/src/operations/index.ts +2 -4
  269. package/src/operations/open.ts +7 -7
  270. package/src/operations/revert-workspace.ts +1 -1
  271. package/src/operations/scroll-into-view.ts +1 -1
  272. package/src/operations/set-layout-mode.ts +1 -1
  273. package/src/operations/set.ts +2 -2
  274. package/src/operations/show-undo.ts +1 -1
  275. package/src/operations/switch-workspace.ts +1 -1
  276. package/src/operations/{change-companion.ts → update-companion.ts} +5 -5
  277. package/src/operations/update-complementary.ts +1 -1
  278. package/src/operations/update-dialog.ts +1 -1
  279. package/src/operations/update-plank-size.ts +3 -4
  280. package/src/operations/update-popover.ts +1 -1
  281. package/src/operations/update-sidebar.ts +1 -1
  282. package/src/plugin.ts +11 -0
  283. package/src/translations.ts +2 -12
  284. package/src/types/DeckCapabilities.ts +34 -0
  285. package/src/types/DeckEvents.ts +21 -0
  286. package/src/{operations/definitions.ts → types/DeckOperation.ts} +4 -14
  287. package/src/types/Settings.ts +31 -6
  288. package/src/types/index.ts +4 -2
  289. package/src/types/schema.ts +0 -9
  290. package/dist/lib/browser/adjust-OXVHZTBE.mjs.map +0 -7
  291. package/dist/lib/browser/change-companion-Z3Q2UPX4.mjs +0 -34
  292. package/dist/lib/browser/change-companion-Z3Q2UPX4.mjs.map +0 -7
  293. package/dist/lib/browser/chunk-2YNVGCOQ.mjs +0 -88
  294. package/dist/lib/browser/chunk-2YNVGCOQ.mjs.map +0 -7
  295. package/dist/lib/browser/chunk-BRZAVPMC.mjs +0 -48
  296. package/dist/lib/browser/chunk-BRZAVPMC.mjs.map +0 -7
  297. package/dist/lib/browser/chunk-GFOCQS7S.mjs +0 -216
  298. package/dist/lib/browser/chunk-GFOCQS7S.mjs.map +0 -7
  299. package/dist/lib/browser/chunk-KUTDCWZF.mjs.map +0 -7
  300. package/dist/lib/browser/index.mjs +0 -201
  301. package/dist/lib/browser/index.mjs.map +0 -7
  302. package/dist/lib/browser/meta.json +0 -1
  303. package/dist/lib/browser/open-J5HV42UN.mjs.map +0 -7
  304. package/dist/lib/browser/operations/index.mjs +0 -13
  305. package/dist/lib/browser/operations/index.mjs.map +0 -7
  306. package/dist/lib/browser/set-layout-mode-DRNBZHE7.mjs.map +0 -7
  307. package/dist/lib/browser/switch-workspace-U7SPENHU.mjs.map +0 -7
  308. package/dist/lib/browser/update-complementary-W6UVLWLI.mjs.map +0 -7
  309. package/dist/lib/browser/update-plank-size-6TPVOYLT.mjs +0 -28
  310. package/dist/lib/browser/update-plank-size-6TPVOYLT.mjs.map +0 -7
  311. package/dist/lib/node-esm/add-toast-FA7NTWKA.mjs +0 -25
  312. package/dist/lib/node-esm/add-toast-FA7NTWKA.mjs.map +0 -7
  313. package/dist/lib/node-esm/adjust-G6FGZW6H.mjs +0 -97
  314. package/dist/lib/node-esm/adjust-G6FGZW6H.mjs.map +0 -7
  315. package/dist/lib/node-esm/change-companion-V6343HMY.mjs +0 -35
  316. package/dist/lib/node-esm/change-companion-V6343HMY.mjs.map +0 -7
  317. package/dist/lib/node-esm/chunk-6BWQJDNT.mjs +0 -217
  318. package/dist/lib/node-esm/chunk-6BWQJDNT.mjs.map +0 -7
  319. package/dist/lib/node-esm/chunk-GI5JXNBT.mjs +0 -89
  320. package/dist/lib/node-esm/chunk-GI5JXNBT.mjs.map +0 -7
  321. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  322. package/dist/lib/node-esm/chunk-IRWCUYJY.mjs +0 -71
  323. package/dist/lib/node-esm/chunk-IRWCUYJY.mjs.map +0 -7
  324. package/dist/lib/node-esm/chunk-MB4SDDVY.mjs +0 -50
  325. package/dist/lib/node-esm/chunk-MB4SDDVY.mjs.map +0 -7
  326. package/dist/lib/node-esm/chunk-MLVJ2ODW.mjs +0 -32
  327. package/dist/lib/node-esm/close-AMA63RJN.mjs +0 -45
  328. package/dist/lib/node-esm/close-AMA63RJN.mjs.map +0 -7
  329. package/dist/lib/node-esm/index.mjs +0 -202
  330. package/dist/lib/node-esm/index.mjs.map +0 -7
  331. package/dist/lib/node-esm/meta.json +0 -1
  332. package/dist/lib/node-esm/open-KRCARMEB.mjs +0 -151
  333. package/dist/lib/node-esm/open-KRCARMEB.mjs.map +0 -7
  334. package/dist/lib/node-esm/operations/index.mjs +0 -14
  335. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  336. package/dist/lib/node-esm/revert-workspace-A2K3JQFS.mjs +0 -22
  337. package/dist/lib/node-esm/revert-workspace-A2K3JQFS.mjs.map +0 -7
  338. package/dist/lib/node-esm/scroll-into-view-B2U4RQK7.mjs +0 -22
  339. package/dist/lib/node-esm/scroll-into-view-B2U4RQK7.mjs.map +0 -7
  340. package/dist/lib/node-esm/set-HCWNW76S.mjs +0 -38
  341. package/dist/lib/node-esm/set-HCWNW76S.mjs.map +0 -7
  342. package/dist/lib/node-esm/set-layout-mode-E27AI5KE.mjs +0 -91
  343. package/dist/lib/node-esm/set-layout-mode-E27AI5KE.mjs.map +0 -7
  344. package/dist/lib/node-esm/show-undo-YTZXH422.mjs +0 -60
  345. package/dist/lib/node-esm/show-undo-YTZXH422.mjs.map +0 -7
  346. package/dist/lib/node-esm/switch-workspace-AQCNGS4Y.mjs +0 -69
  347. package/dist/lib/node-esm/switch-workspace-AQCNGS4Y.mjs.map +0 -7
  348. package/dist/lib/node-esm/update-complementary-7HIRM7OT.mjs +0 -29
  349. package/dist/lib/node-esm/update-complementary-7HIRM7OT.mjs.map +0 -7
  350. package/dist/lib/node-esm/update-dialog-F3JF7MBZ.mjs +0 -30
  351. package/dist/lib/node-esm/update-dialog-F3JF7MBZ.mjs.map +0 -7
  352. package/dist/lib/node-esm/update-plank-size-IIZKU7YR.mjs +0 -29
  353. package/dist/lib/node-esm/update-plank-size-IIZKU7YR.mjs.map +0 -7
  354. package/dist/lib/node-esm/update-popover-RO5QEH4C.mjs +0 -34
  355. package/dist/lib/node-esm/update-popover-RO5QEH4C.mjs.map +0 -7
  356. package/dist/lib/node-esm/update-sidebar-2RX6VLEK.mjs +0 -26
  357. package/dist/lib/node-esm/update-sidebar-2RX6VLEK.mjs.map +0 -7
  358. package/dist/types/src/operations/change-companion.d.ts +0 -5
  359. package/dist/types/src/operations/change-companion.d.ts.map +0 -1
  360. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  361. package/dist/types/src/types/capabilities.d.ts +0 -202
  362. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  363. package/dist/types/src/types/events.d.ts +0 -7
  364. package/dist/types/src/types/events.d.ts.map +0 -1
  365. package/src/types/capabilities.ts +0 -35
  366. package/src/types/events.ts +0 -21
  367. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/check-app-scheme-A7FZVNZO.mjs.map} +0 -0
  368. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  369. /package/dist/lib/{browser/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  370. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  371. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-deck",
3
- "version": "0.8.4-main.74a063c4e0",
3
+ "version": "0.8.4-main.765dc60934",
4
4
  "description": "DXOS Surface plugin for the main application layout.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -8,49 +8,79 @@
8
8
  "type": "git",
9
9
  "url": "https://github.com/dxos/dxos"
10
10
  },
11
- "license": "MIT",
11
+ "license": "FSL-1.1-Apache-2.0",
12
12
  "author": "DXOS.org",
13
13
  "sideEffects": true,
14
14
  "type": "module",
15
15
  "imports": {
16
- "#capabilities": "./src/capabilities/index.ts",
17
- "#components": "./src/components/index.ts",
18
- "#containers": "./src/containers/index.ts",
19
- "#hooks": "./src/hooks/index.ts",
20
- "#meta": "./src/meta.ts",
21
- "#operations": "./src/operations/index.ts",
22
- "#types": "./src/types/index.ts"
23
- },
24
- "exports": {
25
- ".": {
26
- "source": "./src/index.ts",
27
- "types": "./dist/types/src/index.d.ts",
28
- "browser": "./dist/lib/browser/index.mjs"
16
+ "#capabilities": {
17
+ "source": "./src/capabilities/index.ts",
18
+ "types": "./dist/types/src/capabilities/index.d.ts",
19
+ "default": "./dist/lib/neutral/capabilities/index.mjs"
29
20
  },
30
- "./operations": {
21
+ "#components": {
22
+ "source": "./src/components/index.ts",
23
+ "types": "./dist/types/src/components/index.d.ts",
24
+ "default": "./dist/lib/neutral/components/index.mjs"
25
+ },
26
+ "#containers": {
27
+ "source": "./src/containers/index.ts",
28
+ "types": "./dist/types/src/containers/index.d.ts",
29
+ "default": "./dist/lib/neutral/containers/index.mjs"
30
+ },
31
+ "#hooks": {
32
+ "source": "./src/hooks/index.ts",
33
+ "types": "./dist/types/src/hooks/index.d.ts",
34
+ "default": "./dist/lib/neutral/hooks/index.mjs"
35
+ },
36
+ "#meta": {
37
+ "source": "./src/meta.ts",
38
+ "types": "./dist/types/src/meta.d.ts",
39
+ "default": "./dist/lib/neutral/meta.mjs"
40
+ },
41
+ "#operations": {
31
42
  "source": "./src/operations/index.ts",
32
43
  "types": "./dist/types/src/operations/index.d.ts",
33
- "browser": "./dist/lib/browser/operations/index.mjs",
34
- "node": "./dist/lib/node-esm/operations/index.mjs"
44
+ "default": "./dist/lib/neutral/operations/index.mjs"
45
+ },
46
+ "#plugin": {
47
+ "source": {
48
+ "node": "./src/DeckPlugin.node.ts",
49
+ "default": "./src/DeckPlugin.ts"
50
+ },
51
+ "types": "./dist/types/src/DeckPlugin.d.ts",
52
+ "node": "./dist/lib/neutral/DeckPlugin.node.mjs",
53
+ "default": "./dist/lib/neutral/DeckPlugin.mjs"
35
54
  },
36
- "./types": {
55
+ "#translations": {
56
+ "source": "./src/translations.ts",
57
+ "types": "./dist/types/src/translations.d.ts",
58
+ "default": "./dist/lib/neutral/translations.mjs"
59
+ },
60
+ "#types": {
37
61
  "source": "./src/types/index.ts",
38
62
  "types": "./dist/types/src/types/index.d.ts",
39
- "browser": "./dist/lib/browser/types/index.mjs",
40
- "node": "./dist/lib/node-esm/types/index.mjs"
63
+ "default": "./dist/lib/neutral/types/index.mjs"
41
64
  }
42
65
  },
43
- "types": "dist/types/src/index.d.ts",
44
- "typesVersions": {
45
- "*": {
46
- "operations": [
47
- "dist/types/src/operations/index.d.ts"
48
- ],
49
- "types": [
50
- "dist/types/src/types/index.d.ts"
51
- ]
66
+ "exports": {
67
+ ".": {
68
+ "source": "./src/index.ts",
69
+ "types": "./dist/types/src/index.d.ts",
70
+ "default": "./dist/lib/neutral/index.mjs"
71
+ },
72
+ "./plugin": {
73
+ "source": "./src/plugin.ts",
74
+ "types": "./dist/types/src/plugin.d.ts",
75
+ "default": "./dist/lib/neutral/plugin.mjs"
76
+ },
77
+ "./translations": {
78
+ "source": "./src/translations.ts",
79
+ "types": "./dist/types/src/translations.d.ts",
80
+ "default": "./dist/lib/neutral/translations.mjs"
52
81
  }
53
82
  },
83
+ "types": "dist/types/src/index.d.ts",
54
84
  "files": [
55
85
  "dist",
56
86
  "src"
@@ -62,40 +92,39 @@
62
92
  "@effect/experimental": "0.58.0",
63
93
  "@fluentui/react-tabster": "9.26.11",
64
94
  "@radix-ui/react-context": "1.1.1",
65
- "@tauri-apps/plugin-deep-link": "^2.2.0",
95
+ "@tauri-apps/plugin-deep-link": "^2.4.9",
66
96
  "immer": "^10.1.1",
67
- "@dxos/ai": "0.8.4-main.74a063c4e0",
68
- "@dxos/app-framework": "0.8.4-main.74a063c4e0",
69
- "@dxos/app-toolkit": "0.8.4-main.74a063c4e0",
70
- "@dxos/assistant": "0.8.4-main.74a063c4e0",
71
- "@dxos/async": "0.8.4-main.74a063c4e0",
72
- "@dxos/blueprints": "0.8.4-main.74a063c4e0",
73
- "@dxos/context": "0.8.4-main.74a063c4e0",
74
- "@dxos/echo": "0.8.4-main.74a063c4e0",
75
- "@dxos/debug": "0.8.4-main.74a063c4e0",
76
- "@dxos/effect": "0.8.4-main.74a063c4e0",
77
- "@dxos/errors": "0.8.4-main.74a063c4e0",
78
- "@dxos/invariant": "0.8.4-main.74a063c4e0",
79
- "@dxos/keyboard": "0.8.4-main.74a063c4e0",
80
- "@dxos/operation": "0.8.4-main.74a063c4e0",
81
- "@dxos/log": "0.8.4-main.74a063c4e0",
82
- "@dxos/plugin-attention": "0.8.4-main.74a063c4e0",
83
- "@dxos/plugin-client": "0.8.4-main.74a063c4e0",
84
- "@dxos/plugin-graph": "0.8.4-main.74a063c4e0",
85
- "@dxos/plugin-observability": "0.8.4-main.74a063c4e0",
86
- "@dxos/plugin-theme": "0.8.4-main.74a063c4e0",
87
- "@dxos/react-client": "0.8.4-main.74a063c4e0",
88
- "@dxos/react-error-boundary": "0.8.4-main.74a063c4e0",
89
- "@dxos/react-ui-attention": "0.8.4-main.74a063c4e0",
90
- "@dxos/react-ui-form": "0.8.4-main.74a063c4e0",
91
- "@dxos/react-ui-menu": "0.8.4-main.74a063c4e0",
92
- "@dxos/react-ui-mosaic": "0.8.4-main.74a063c4e0",
93
- "@dxos/react-ui-tabs": "0.8.4-main.74a063c4e0",
94
- "@dxos/react-ui-stack": "0.8.4-main.74a063c4e0",
95
- "@dxos/ui-types": "0.8.4-main.74a063c4e0",
96
- "@dxos/react-ui-text-tooltip": "0.8.4-main.74a063c4e0",
97
- "@dxos/util": "0.8.4-main.74a063c4e0",
98
- "@dxos/app-graph": "0.8.4-main.74a063c4e0"
97
+ "@dxos/ai": "0.8.4-main.765dc60934",
98
+ "@dxos/app-graph": "0.8.4-main.765dc60934",
99
+ "@dxos/app-framework": "0.8.4-main.765dc60934",
100
+ "@dxos/app-toolkit": "0.8.4-main.765dc60934",
101
+ "@dxos/assistant": "0.8.4-main.765dc60934",
102
+ "@dxos/async": "0.8.4-main.765dc60934",
103
+ "@dxos/compute": "0.8.4-main.765dc60934",
104
+ "@dxos/context": "0.8.4-main.765dc60934",
105
+ "@dxos/debug": "0.8.4-main.765dc60934",
106
+ "@dxos/echo": "0.8.4-main.765dc60934",
107
+ "@dxos/invariant": "0.8.4-main.765dc60934",
108
+ "@dxos/effect": "0.8.4-main.765dc60934",
109
+ "@dxos/keyboard": "0.8.4-main.765dc60934",
110
+ "@dxos/errors": "0.8.4-main.765dc60934",
111
+ "@dxos/log": "0.8.4-main.765dc60934",
112
+ "@dxos/plugin-attention": "0.8.4-main.765dc60934",
113
+ "@dxos/plugin-client": "0.8.4-main.765dc60934",
114
+ "@dxos/plugin-graph": "0.8.4-main.765dc60934",
115
+ "@dxos/plugin-observability": "0.8.4-main.765dc60934",
116
+ "@dxos/plugin-theme": "0.8.4-main.765dc60934",
117
+ "@dxos/react-error-boundary": "0.8.4-main.765dc60934",
118
+ "@dxos/react-ui-form": "0.8.4-main.765dc60934",
119
+ "@dxos/react-ui-attention": "0.8.4-main.765dc60934",
120
+ "@dxos/react-ui-menu": "0.8.4-main.765dc60934",
121
+ "@dxos/react-ui-mosaic": "0.8.4-main.765dc60934",
122
+ "@dxos/react-client": "0.8.4-main.765dc60934",
123
+ "@dxos/react-ui-stack": "0.8.4-main.765dc60934",
124
+ "@dxos/react-ui-text-tooltip": "0.8.4-main.765dc60934",
125
+ "@dxos/ui-types": "0.8.4-main.765dc60934",
126
+ "@dxos/react-ui-tabs": "0.8.4-main.765dc60934",
127
+ "@dxos/util": "0.8.4-main.765dc60934"
99
128
  },
100
129
  "devDependencies": {
101
130
  "@effect-atom/atom-react": "^0.5.0",
@@ -105,16 +134,16 @@
105
134
  "effect": "3.20.0",
106
135
  "react": "~19.2.3",
107
136
  "react-dom": "~19.2.3",
108
- "vite": "^7.1.11",
109
- "@dxos/plugin-testing": "0.8.4-main.74a063c4e0",
110
- "@dxos/react-hooks": "0.8.4-main.74a063c4e0",
111
- "@dxos/react-ui-syntax-highlighter": "0.8.4-main.74a063c4e0",
112
- "@dxos/react-ui": "0.8.4-main.74a063c4e0",
113
- "@dxos/schema": "0.8.4-main.74a063c4e0",
114
- "@dxos/storybook-utils": "0.8.4-main.74a063c4e0",
115
- "@dxos/ui-theme": "0.8.4-main.74a063c4e0",
116
- "@dxos/random": "0.8.4-main.74a063c4e0",
117
- "@dxos/types": "0.8.4-main.74a063c4e0"
137
+ "vite": "^8.0.13",
138
+ "@dxos/plugin-testing": "0.8.4-main.765dc60934",
139
+ "@dxos/random": "0.8.4-main.765dc60934",
140
+ "@dxos/react-hooks": "0.8.4-main.765dc60934",
141
+ "@dxos/react-ui": "0.8.4-main.765dc60934",
142
+ "@dxos/react-ui-syntax-highlighter": "0.8.4-main.765dc60934",
143
+ "@dxos/schema": "0.8.4-main.765dc60934",
144
+ "@dxos/storybook-utils": "0.8.4-main.765dc60934",
145
+ "@dxos/types": "0.8.4-main.765dc60934",
146
+ "@dxos/ui-theme": "0.8.4-main.765dc60934"
118
147
  },
119
148
  "peerDependencies": {
120
149
  "@effect-atom/atom-react": "^0.5.0",
@@ -122,10 +151,7 @@
122
151
  "effect": "3.20.0",
123
152
  "react": "~19.2.3",
124
153
  "react-dom": "~19.2.3",
125
- "@dxos/react-ui": "0.8.4-main.74a063c4e0",
126
- "@dxos/ui-theme": "0.8.4-main.74a063c4e0"
127
- },
128
- "publishConfig": {
129
- "access": "public"
154
+ "@dxos/react-ui": "0.8.4-main.765dc60934",
155
+ "@dxos/ui-theme": "0.8.4-main.765dc60934"
130
156
  }
131
157
  }
@@ -0,0 +1,17 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Plugin } from '@dxos/app-framework';
6
+ import { AppPlugin } from '@dxos/app-toolkit';
7
+
8
+ import { AppGraphBuilder, OperationHandler } from '#capabilities';
9
+ import { meta } from '#meta';
10
+
11
+ export const DeckPlugin = Plugin.define(meta).pipe(
12
+ AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),
13
+ AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),
14
+ Plugin.make,
15
+ );
16
+
17
+ export default DeckPlugin;
@@ -0,0 +1,27 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { describe, test } from 'vitest';
6
+
7
+ import { ActivationEvents } from '@dxos/app-framework';
8
+ import { createComposerTestApp } from '@dxos/plugin-testing/harness';
9
+
10
+ import { DeckPlugin } from '#plugin';
11
+
12
+ import { meta } from './meta';
13
+
14
+ const moduleId = (name: string) => `${meta.id}.module.${name}`;
15
+
16
+ describe('DeckPlugin', () => {
17
+ test('modules activate on the expected events', async ({ expect }) => {
18
+ await using harness = await createComposerTestApp({
19
+ plugins: [DeckPlugin()],
20
+ });
21
+
22
+ expect(harness.manager.getActive()).toContain(moduleId('AppGraphBuilder'));
23
+
24
+ await harness.fire(ActivationEvents.SetupOperationHandler);
25
+ expect(harness.manager.getActive()).toContain(moduleId('OperationHandler'));
26
+ });
27
+ });
package/src/DeckPlugin.ts CHANGED
@@ -6,7 +6,7 @@ import { setAutoFreeze } from 'immer';
6
6
 
7
7
  import { ActivationEvent, ActivationEvents, Plugin } from '@dxos/app-framework';
8
8
  import { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';
9
- import { translations as stackTranslations } from '@dxos/react-ui-stack';
9
+ import { translations as stackTranslations } from '@dxos/react-ui-stack/translations';
10
10
 
11
11
  import {
12
12
  AppGraphBuilder,
@@ -19,10 +19,9 @@ import {
19
19
  UrlHandler,
20
20
  } from '#capabilities';
21
21
  import { meta } from '#meta';
22
+ import { translations } from '#translations';
22
23
  import { DeckEvents } from '#types';
23
24
 
24
- import { translations } from './translations';
25
-
26
25
  // NOTE(Zan): When producing values with immer, we shouldn't auto-freeze them because
27
26
  // our signal implementation needs to add some hidden properties to the produced values.
28
27
  // TODO(Zan): Move this to a more global location if we use immer more broadly.
@@ -35,7 +34,7 @@ export const DeckPlugin = Plugin.define(meta).pipe(
35
34
  AppPlugin.addTranslationsModule({ translations: [...translations, ...stackTranslations] }),
36
35
  Plugin.addModule({
37
36
  activatesOn: AppActivationEvents.SetupSettings,
38
- activatesAfter: [DeckEvents.SettingsReady],
37
+ firesAfterActivation: [DeckEvents.SettingsReady],
39
38
  activate: DeckSettings,
40
39
  }),
41
40
  Plugin.addModule({
@@ -47,7 +46,7 @@ export const DeckPlugin = Plugin.define(meta).pipe(
47
46
  // Should this be a different event?
48
47
  // Should settings store be renamed to be more generic?
49
48
  activatesOn: ActivationEvent.oneOf(AppActivationEvents.SetupSettings, AppActivationEvents.SetupAppGraph),
50
- activatesAfter: [AppActivationEvents.LayoutReady, DeckEvents.StateReady],
49
+ firesAfterActivation: [AppActivationEvents.LayoutReady, DeckEvents.StateReady],
51
50
  activate: DeckState,
52
51
  }),
53
52
  Plugin.addModule({
@@ -64,3 +63,5 @@ export const DeckPlugin = Plugin.define(meta).pipe(
64
63
  }),
65
64
  Plugin.make,
66
65
  );
66
+
67
+ export default DeckPlugin;
@@ -6,8 +6,8 @@ import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capabilities, Capability } from '@dxos/app-framework';
8
8
  import { AppCapabilities, AppNode, LayoutOperation } from '@dxos/app-toolkit';
9
- import { Operation } from '@dxos/operation';
10
- import { AttentionCapabilities } from '@dxos/plugin-attention/types';
9
+ import { Operation } from '@dxos/compute';
10
+ import { AttentionCapabilities } from '@dxos/plugin-attention';
11
11
  import { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';
12
12
 
13
13
  import { meta } from '#meta';
@@ -38,7 +38,7 @@ export default Capability.makeModule(
38
38
  // );
39
39
  // },
40
40
  // properties: {
41
- // label: ['toggle fullscreen label', { ns: meta.id }],
41
+ // label: ['toggle-fullscreen.label', { ns: meta.id }],
42
42
  // icon: 'ph--arrows-out--regular',
43
43
  // keyBinding: {
44
44
  // macos: 'ctrl+meta+f',
@@ -103,8 +103,8 @@ export default Capability.makeModule(
103
103
  properties: {
104
104
  label: [
105
105
  state.sidebarState === 'expanded'
106
- ? 'collapse navigation sidebar label'
107
- : 'open navigation sidebar label',
106
+ ? 'collapse-navigation-sidebar.label'
107
+ : 'open-navigation-sidebar.label',
108
108
  { ns: meta.id },
109
109
  ],
110
110
  icon: 'ph--sidebar--regular',
@@ -112,7 +112,7 @@ export default Capability.makeModule(
112
112
  macos: "meta+'",
113
113
  },
114
114
  disposition: 'pin-end',
115
- position: 'hoist',
115
+ position: 'fallback',
116
116
  l0Breakpoint: 'lg',
117
117
  },
118
118
  };
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { Capability } from '@dxos/app-framework';
6
- import { OperationHandlerSet } from '@dxos/operation';
6
+ import { OperationHandlerSet } from '@dxos/compute';
7
7
 
8
8
  export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
9
9
  export const CheckAppScheme = Capability.lazy('CheckAppScheme', () => import('./check-app-scheme'));
@@ -5,7 +5,7 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capabilities, Capability } from '@dxos/app-framework';
8
- import type { OperationHandlerSet } from '@dxos/operation';
8
+ import type { OperationHandlerSet } from '@dxos/compute';
9
9
 
10
10
  import { DeckOperationHandlerSet } from '#operations';
11
11
 
@@ -19,8 +19,7 @@ export default Capability.makeModule(() =>
19
19
  Capability.contributes(Capabilities.ReactSurface, [
20
20
  Surface.create({
21
21
  id: 'plugin-settings',
22
- role: 'article',
23
- filter: AppSurface.settingsArticle(meta.id),
22
+ filter: AppSurface.settings(AppSurface.Article, meta.id),
24
23
  component: ({ data: { subject } }) => {
25
24
  const { settings, updateSettings } = useSettingsState<Settings.Settings>(subject.atom);
26
25
  return <DeckSettings settings={settings} onSettingsChange={updateSettings} />;
@@ -20,7 +20,7 @@ export default Capability.makeModule(() =>
20
20
  showHints: false,
21
21
  enableDeck: false,
22
22
  enableStatusbar: false,
23
- enableNativeRedirect: !import.meta.env.DEV,
23
+ enableNativeRedirect: false,
24
24
  encapsulatedPlanks: false,
25
25
  }),
26
26
  });
@@ -16,11 +16,11 @@ import {
16
16
  createIntent,
17
17
  } from '@dxos/app-framework';
18
18
  import { type OperationInvoker } from '@dxos/app-framework/plugin-operation/invoker';
19
+ import { LayoutOperation } from '@dxos/app-toolkit';
19
20
  import { invariant } from '@dxos/invariant';
20
21
  import { trim } from '@dxos/util';
21
22
 
22
23
  import { meta } from '#meta';
23
- import { DeckOperation } from '#operations';
24
24
 
25
25
  // TODO(burdon): Factor out.
26
26
  declare global {
@@ -59,8 +59,8 @@ export default Capability.makeModule(() =>
59
59
  invariant(invokePromise, 'No operation invoker');
60
60
 
61
61
  if (part === 'multi') {
62
- const { error } = await invokePromise(DeckOperation.ChangeCompanion, {
63
- companion: id,
62
+ const { error } = await invokePromise(LayoutOperation.UpdateCompanion, {
63
+ subject: id,
64
64
  });
65
65
  if (error) {
66
66
  return ToolResult.Error(error.message);
@@ -9,14 +9,15 @@ import {
9
9
  AppCapabilities,
10
10
  LayoutOperation,
11
11
  NOT_FOUND_PATH,
12
+ expandPath,
12
13
  fromUrlPath,
13
14
  getWorkspaceFromPath,
14
15
  toUrlPath,
15
16
  } from '@dxos/app-toolkit';
17
+ import { Operation } from '@dxos/compute';
16
18
  import { runAndForwardErrors } from '@dxos/effect';
17
19
  import { invariant } from '@dxos/invariant';
18
20
  import { log } from '@dxos/log';
19
- import { Operation } from '@dxos/operation';
20
21
  import { Node } from '@dxos/plugin-graph';
21
22
  import { isTauri } from '@dxos/util';
22
23
 
@@ -66,6 +67,7 @@ export default Capability.makeModule(
66
67
  };
67
68
 
68
69
  const handleNavigation = Effect.fn(function* (url?: URL) {
70
+ const { graph } = yield* Capability.get(AppCapabilities.AppGraph);
69
71
  const resolvedUrl = url ?? new URL(window.location.href);
70
72
  // When native redirect is active, check-app-scheme owns the initial dispatch
71
73
  // to prevent one-time tokens from being consumed before the native app can use them.
@@ -119,6 +121,9 @@ export default Capability.makeModule(
119
121
  // Multi-mode: restore planks from query params.
120
122
  const plankIds = deserializePlanks(resolvedUrl);
121
123
  if (plankIds.length > 0) {
124
+ for (const plankId of plankIds) {
125
+ expandPath(graph, plankId);
126
+ }
122
127
  updateState((state) => updateActiveDeck(state, { active: plankIds, initialized: true }));
123
128
  }
124
129
  }
@@ -6,7 +6,8 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
 
7
7
  import { withLayout, withTheme } from '@dxos/react-ui/testing';
8
8
 
9
- import { translations } from '../../translations';
9
+ import { translations } from '#translations';
10
+
10
11
  import { DeckSettings } from './DeckSettings';
11
12
 
12
13
  const meta = {
@@ -5,7 +5,7 @@
5
5
  import React from 'react';
6
6
 
7
7
  import { type AppSurface } from '@dxos/app-toolkit/ui';
8
- import { Input, useTranslation } from '@dxos/react-ui';
8
+ import { useTranslation } from '@dxos/react-ui';
9
9
  import { Settings as SettingsForm } from '@dxos/react-ui-form';
10
10
 
11
11
  import { meta } from '#meta';
@@ -21,52 +21,13 @@ export const DeckSettings = ({ settings, onSettingsChange }: DeckSettingsProps)
21
21
  return (
22
22
  <SettingsForm.Viewport>
23
23
  <SettingsForm.Section title={t('settings.title', { ns: meta.id })}>
24
- <SettingsForm.Item title={t('settings.enable-deck.label')} description={t('settings.enable-deck.description')}>
25
- <Input.Switch
26
- disabled={!onSettingsChange}
27
- checked={settings.enableDeck}
28
- onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, enableDeck: checked }))}
29
- />
30
- </SettingsForm.Item>
31
- <SettingsForm.Item
32
- title={t('settings.encapsulated-planks.label')}
33
- description={t('settings.encapsulated-planks.description')}
34
- >
35
- <Input.Switch
36
- disabled={!onSettingsChange}
37
- checked={settings.encapsulatedPlanks ?? false}
38
- onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, encapsulatedPlanks: checked }))}
39
- />
40
- </SettingsForm.Item>
41
- <SettingsForm.Item
42
- title={t('settings.enable-statusbar.label')}
43
- description={t('settings.enable-statusbar.description')}
44
- >
45
- <Input.Switch
46
- disabled={!onSettingsChange}
47
- checked={settings.enableStatusbar}
48
- onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, enableStatusbar: checked }))}
49
- />
50
- </SettingsForm.Item>
51
- <SettingsForm.Item title={t('settings.show-hints.label')} description={t('settings.show-hints.description')}>
52
- <Input.Switch
53
- disabled={!onSettingsChange}
54
- checked={settings.showHints}
55
- onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, showHints: checked }))}
56
- />
57
- </SettingsForm.Item>
58
- {!isSocket && (
59
- <SettingsForm.Item
60
- title={t('settings.native-redirect.label')}
61
- description={t('settings.native-redirect.description')}
62
- >
63
- <Input.Switch
64
- disabled={!onSettingsChange}
65
- checked={settings.enableNativeRedirect}
66
- onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, enableNativeRedirect: checked }))}
67
- />
68
- </SettingsForm.Item>
69
- )}
24
+ <SettingsForm.FieldSet
25
+ readonly={!onSettingsChange}
26
+ schema={Settings.Settings}
27
+ visible={(path) => path !== 'enableNativeRedirect' || !isSocket}
28
+ values={settings}
29
+ onValuesChanged={(values) => onSettingsChange?.(() => values)}
30
+ />
70
31
  </SettingsForm.Section>
71
32
  </SettingsForm.Viewport>
72
33
  );
@@ -9,7 +9,7 @@ import { Capabilities, Capability, Plugin } from '@dxos/app-framework';
9
9
  import { withPluginManager } from '@dxos/app-framework/testing';
10
10
  import { Surface } from '@dxos/app-framework/ui';
11
11
  import { Graph } from '@dxos/app-graph';
12
- import { AppActivationEvents } from '@dxos/app-toolkit';
12
+ import { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';
13
13
  import { Obj } from '@dxos/echo';
14
14
  import { corePlugins } from '@dxos/plugin-testing';
15
15
  import { random } from '@dxos/random';
@@ -18,16 +18,16 @@ import { useAttentionAttributes } from '@dxos/react-ui-attention';
18
18
  import { withAttention } from '@dxos/react-ui-attention/testing';
19
19
  import { type MosaicTileProps, Mosaic } from '@dxos/react-ui-mosaic';
20
20
  import { StackContext } from '@dxos/react-ui-stack';
21
- import { Json } from '@dxos/react-ui-syntax-highlighter';
21
+ import { Syntax } from '@dxos/react-ui-syntax-highlighter';
22
22
  import { Loading, withLayout, withTheme } from '@dxos/react-ui/testing';
23
23
  import { Text } from '@dxos/schema';
24
24
  import { Organization, Person } from '@dxos/types';
25
25
 
26
- import { DeckState } from '#capabilities';
26
+ import { DeckState, OperationHandler } from '#capabilities';
27
27
  import { meta as pluginMeta } from '#meta';
28
+ import { translations } from '#translations';
28
29
 
29
30
  import { Plank } from '../../containers/Plank';
30
- import { translations } from '../../translations';
31
31
  import { Matrix, type MatrixController, type MatrixRootProps } from './Matrix';
32
32
 
33
33
  random.seed(123);
@@ -38,6 +38,9 @@ const TestPlugin = Plugin.define(pluginMeta).pipe(
38
38
  activatesOn: AppActivationEvents.AppGraphReady,
39
39
  activate: () => DeckState(),
40
40
  }),
41
+ AppPlugin.addOperationHandlerModule({
42
+ activate: OperationHandler,
43
+ }),
41
44
  Plugin.make,
42
45
  );
43
46
 
@@ -55,13 +58,15 @@ const StoryTile = (props: MosaicTileProps<Obj.Any>) => {
55
58
  <p>{Obj.getLabel(props.data)}</p>
56
59
  </Toolbar.Root>
57
60
  </Panel.Toolbar>
58
- <Json.Root data={props.data}>
61
+ <Syntax.Root data={props.data}>
59
62
  <Panel.Content asChild>
60
- <Json.Content>
61
- <Json.Data />
62
- </Json.Content>
63
+ <Syntax.Content>
64
+ <Syntax.Viewport>
65
+ <Syntax.Code />
66
+ </Syntax.Viewport>
67
+ </Syntax.Content>
63
68
  </Panel.Content>
64
- </Json.Root>
69
+ </Syntax.Root>
65
70
  </Panel.Root>
66
71
  </Focus.Item>
67
72
  </Mosaic.Tile>
@@ -106,11 +111,13 @@ const TestExtension = Capability.contributes(
106
111
  }
107
112
 
108
113
  return (
109
- <Json.Root data={subject}>
110
- <Json.Content>
111
- <Json.Data />
112
- </Json.Content>
113
- </Json.Root>
114
+ <Syntax.Root data={subject}>
115
+ <Syntax.Content>
116
+ <Syntax.Viewport>
117
+ <Syntax.Code />
118
+ </Syntax.Viewport>
119
+ </Syntax.Content>
120
+ </Syntax.Root>
114
121
  );
115
122
  },
116
123
  }),
@@ -155,7 +162,7 @@ const DefaultStory = ({ Tile }: DefaultStoryProps) => {
155
162
  const currentIndex = items.findIndex((item) => item.id === current);
156
163
 
157
164
  return (
158
- <Mosaic.Root classNames='dx-container'>
165
+ <Mosaic.Root>
159
166
  <Matrix.Root Tile={Tile} items={items} current={current} onCurrentChange={handleCurrentChange} ref={controller}>
160
167
  <Panel.Root>
161
168
  <Panel.Toolbar asChild>
@@ -96,7 +96,7 @@ const MatrixRoot = forwardRef<MatrixController, MatrixRootProps>(
96
96
  return;
97
97
  }
98
98
 
99
- const tile = viewport.querySelector<HTMLElement>(`[data-mosaic-tile-id="${CSS.escape(id)}"]`);
99
+ const tile = viewport.querySelector<HTMLElement>(`[data-object-id="${CSS.escape(id)}"]`);
100
100
  if (!tile) {
101
101
  return;
102
102
  }