@dxos/plugin-deck 0.8.4-main.ead640a → 0.8.4-main.effb148878

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 (502) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/DeckLayout-NBVPPAQP.mjs +278 -0
  4. package/dist/lib/neutral/DeckLayout-NBVPPAQP.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/DeckPlugin.workerd.mjs +16 -0
  10. package/dist/lib/neutral/DeckPlugin.workerd.mjs.map +7 -0
  11. package/dist/lib/neutral/DeckSettings-W5I57OXM.mjs +27 -0
  12. package/dist/lib/neutral/DeckSettings-W5I57OXM.mjs.map +7 -0
  13. package/dist/lib/neutral/add-toast-H2PK2S3H.mjs +24 -0
  14. package/dist/lib/neutral/add-toast-H2PK2S3H.mjs.map +7 -0
  15. package/dist/lib/neutral/adjust-J6ZPQ5BT.mjs +93 -0
  16. package/dist/lib/neutral/adjust-J6ZPQ5BT.mjs.map +7 -0
  17. package/dist/lib/neutral/app-graph-builder-MRA3OMKO.mjs +129 -0
  18. package/dist/lib/neutral/app-graph-builder-MRA3OMKO.mjs.map +7 -0
  19. package/dist/lib/neutral/capabilities/index.mjs +23 -0
  20. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  21. package/dist/lib/neutral/check-app-scheme-A7FZVNZO.mjs +10 -0
  22. package/dist/lib/neutral/chunk-3WIBNTUT.mjs +35 -0
  23. package/dist/lib/neutral/chunk-3WIBNTUT.mjs.map +7 -0
  24. package/dist/lib/neutral/chunk-FBN443XP.mjs +8 -0
  25. package/dist/lib/neutral/chunk-FBN443XP.mjs.map +7 -0
  26. package/dist/lib/neutral/chunk-FSIEKCMR.mjs +1305 -0
  27. package/dist/lib/neutral/chunk-FSIEKCMR.mjs.map +7 -0
  28. package/dist/lib/neutral/chunk-GBIGQKYW.mjs +112 -0
  29. package/dist/lib/neutral/chunk-GBIGQKYW.mjs.map +7 -0
  30. package/dist/lib/neutral/chunk-GLB73Q6U.mjs +22 -0
  31. package/dist/lib/neutral/chunk-GLB73Q6U.mjs.map +7 -0
  32. package/dist/lib/neutral/chunk-HD44H4CJ.mjs +280 -0
  33. package/dist/lib/neutral/chunk-HD44H4CJ.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  35. package/dist/lib/neutral/chunk-VHETZ22W.mjs +101 -0
  36. package/dist/lib/neutral/chunk-VHETZ22W.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-ZYYOSX5I.mjs +69 -0
  38. package/dist/lib/neutral/chunk-ZYYOSX5I.mjs.map +7 -0
  39. package/dist/lib/neutral/close-IPQTWQXS.mjs +44 -0
  40. package/dist/lib/neutral/close-IPQTWQXS.mjs.map +7 -0
  41. package/dist/lib/neutral/components/index.mjs +126 -0
  42. package/dist/lib/neutral/components/index.mjs.map +7 -0
  43. package/dist/lib/neutral/containers/index.mjs +32 -0
  44. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  45. package/dist/lib/neutral/hooks/index.mjs +159 -0
  46. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  47. package/dist/lib/neutral/index.mjs +38 -0
  48. package/dist/lib/neutral/index.mjs.map +7 -0
  49. package/dist/lib/neutral/meta.json +1 -0
  50. package/dist/lib/neutral/meta.mjs +8 -0
  51. package/dist/lib/neutral/meta.mjs.map +7 -0
  52. package/dist/lib/neutral/open-OAKTKZM2.mjs +149 -0
  53. package/dist/lib/neutral/open-OAKTKZM2.mjs.map +7 -0
  54. package/dist/lib/neutral/operation-handler-266CVMTW.mjs +13 -0
  55. package/dist/lib/neutral/operation-handler-266CVMTW.mjs.map +7 -0
  56. package/dist/lib/neutral/operations/index.mjs +8 -0
  57. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  58. package/dist/lib/neutral/plugin.mjs +16 -0
  59. package/dist/lib/neutral/plugin.mjs.map +7 -0
  60. package/dist/lib/neutral/react-root-WZ6KH27J.mjs +41 -0
  61. package/dist/lib/neutral/react-root-WZ6KH27J.mjs.map +7 -0
  62. package/dist/lib/neutral/react-surface-KAAZDHV3.mjs +34 -0
  63. package/dist/lib/neutral/react-surface-KAAZDHV3.mjs.map +7 -0
  64. package/dist/lib/neutral/revert-workspace-PLY4YQ4X.mjs +21 -0
  65. package/dist/lib/neutral/revert-workspace-PLY4YQ4X.mjs.map +7 -0
  66. package/dist/lib/neutral/scroll-into-view-INJL3YOV.mjs +21 -0
  67. package/dist/lib/neutral/scroll-into-view-INJL3YOV.mjs.map +7 -0
  68. package/dist/lib/neutral/set-CQ6AO7QB.mjs +37 -0
  69. package/dist/lib/neutral/set-CQ6AO7QB.mjs.map +7 -0
  70. package/dist/lib/neutral/set-layout-mode-NBPJRYGC.mjs +85 -0
  71. package/dist/lib/neutral/set-layout-mode-NBPJRYGC.mjs.map +7 -0
  72. package/dist/lib/neutral/settings-EGNYUM4T.mjs +33 -0
  73. package/dist/lib/neutral/settings-EGNYUM4T.mjs.map +7 -0
  74. package/dist/lib/neutral/show-undo-EZH7JPAV.mjs +59 -0
  75. package/dist/lib/neutral/show-undo-EZH7JPAV.mjs.map +7 -0
  76. package/dist/lib/neutral/state-IIDXMQUO.mjs +86 -0
  77. package/dist/lib/neutral/state-IIDXMQUO.mjs.map +7 -0
  78. package/dist/lib/neutral/switch-workspace-UCFFW3B6.mjs +60 -0
  79. package/dist/lib/neutral/switch-workspace-UCFFW3B6.mjs.map +7 -0
  80. package/dist/lib/neutral/translations.mjs +58 -0
  81. package/dist/lib/neutral/translations.mjs.map +7 -0
  82. package/dist/lib/neutral/types/index.mjs +34 -0
  83. package/dist/lib/neutral/types/index.mjs.map +7 -0
  84. package/dist/lib/neutral/update-companion-NCPRS5MP.mjs +32 -0
  85. package/dist/lib/neutral/update-companion-NCPRS5MP.mjs.map +7 -0
  86. package/dist/lib/neutral/update-complementary-4RERA3VA.mjs +28 -0
  87. package/dist/lib/neutral/update-complementary-4RERA3VA.mjs.map +7 -0
  88. package/dist/lib/neutral/update-dialog-GMFMY7KZ.mjs +29 -0
  89. package/dist/lib/neutral/update-dialog-GMFMY7KZ.mjs.map +7 -0
  90. package/dist/lib/neutral/update-plank-size-TO7RMHQM.mjs +26 -0
  91. package/dist/lib/neutral/update-plank-size-TO7RMHQM.mjs.map +7 -0
  92. package/dist/lib/neutral/update-popover-H3KBQQZ4.mjs +33 -0
  93. package/dist/lib/neutral/update-popover-H3KBQQZ4.mjs.map +7 -0
  94. package/dist/lib/neutral/update-sidebar-OM7EGDQR.mjs +25 -0
  95. package/dist/lib/neutral/update-sidebar-OM7EGDQR.mjs.map +7 -0
  96. package/dist/lib/neutral/url-handler-3QTKEM2K.mjs +184 -0
  97. package/dist/lib/neutral/url-handler-3QTKEM2K.mjs.map +7 -0
  98. package/dist/types/src/DeckPlugin.d.ts +3 -1
  99. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  100. package/dist/types/src/DeckPlugin.node.d.ts +4 -0
  101. package/dist/types/src/DeckPlugin.node.d.ts.map +1 -0
  102. package/dist/types/src/DeckPlugin.test.d.ts +2 -0
  103. package/dist/types/src/DeckPlugin.test.d.ts.map +1 -0
  104. package/dist/types/src/DeckPlugin.workerd.d.ts +4 -0
  105. package/dist/types/src/DeckPlugin.workerd.d.ts.map +1 -0
  106. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  107. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/check-app-scheme.d.ts +17 -2
  109. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/index.d.ts +196 -12
  111. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  113. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  114. package/dist/types/src/capabilities/react-root.d.ts +4 -2
  115. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  117. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/settings.d.ts +5 -2
  119. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  120. package/dist/types/src/capabilities/state.d.ts +136 -49
  121. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  122. package/dist/types/src/capabilities/tools.d.ts +4 -3
  123. package/dist/types/src/capabilities/tools.d.ts.map +1 -1
  124. package/dist/types/src/capabilities/url-handler.d.ts +3 -2
  125. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
  126. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts +4 -4
  127. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -1
  128. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts +62 -0
  129. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts.map +1 -0
  130. package/dist/types/src/components/DeckSettings/index.d.ts +1 -1
  131. package/dist/types/src/components/DeckSettings/index.d.ts.map +1 -1
  132. package/dist/types/src/components/Matrix/Matrix.d.ts +41 -0
  133. package/dist/types/src/components/Matrix/Matrix.d.ts.map +1 -0
  134. package/dist/types/src/components/Matrix/Matrix.stories.d.ts +17 -0
  135. package/dist/types/src/components/Matrix/Matrix.stories.d.ts.map +1 -0
  136. package/dist/types/src/components/Matrix/index.d.ts +3 -0
  137. package/dist/types/src/components/Matrix/index.d.ts.map +1 -0
  138. package/dist/types/src/components/index.d.ts +3 -2
  139. package/dist/types/src/components/index.d.ts.map +1 -1
  140. package/dist/types/src/{components/DeckLayout → containers/Deck}/Banner.d.ts +1 -1
  141. package/dist/types/src/containers/Deck/Banner.d.ts.map +1 -0
  142. package/dist/types/src/containers/Deck/Deck.d.ts +25 -0
  143. package/dist/types/src/containers/Deck/Deck.d.ts.map +1 -0
  144. package/dist/types/src/containers/Deck/Deck.stories.d.ts +62 -0
  145. package/dist/types/src/containers/Deck/Deck.stories.d.ts.map +1 -0
  146. package/dist/types/src/containers/Deck/DeckContent.d.ts +7 -0
  147. package/dist/types/src/containers/Deck/DeckContent.d.ts.map +1 -0
  148. package/dist/types/src/containers/Deck/DeckRoot.d.ts +39 -0
  149. package/dist/types/src/containers/Deck/DeckRoot.d.ts.map +1 -0
  150. package/dist/types/src/containers/Deck/DeckViewport.d.ts +16 -0
  151. package/dist/types/src/containers/Deck/DeckViewport.d.ts.map +1 -0
  152. package/dist/types/src/containers/Deck/StatusBar.d.ts.map +1 -0
  153. package/dist/types/src/containers/Deck/index.d.ts +2 -0
  154. package/dist/types/src/containers/Deck/index.d.ts.map +1 -0
  155. package/dist/types/src/containers/DeckLayout/ActiveNode.d.ts.map +1 -0
  156. package/dist/types/src/containers/DeckLayout/DeckLayout.d.ts.map +1 -0
  157. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts +64 -0
  158. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts.map +1 -0
  159. package/dist/types/src/containers/DeckLayout/Dialog.d.ts.map +1 -0
  160. package/dist/types/src/containers/DeckLayout/Fallback.d.ts +2 -0
  161. package/dist/types/src/containers/DeckLayout/Fallback.d.ts.map +1 -0
  162. package/dist/types/src/containers/DeckLayout/Popover.d.ts +5 -0
  163. package/dist/types/src/containers/DeckLayout/Popover.d.ts.map +1 -0
  164. package/dist/types/src/{components → containers}/DeckLayout/Toast.d.ts +3 -3
  165. package/dist/types/src/containers/DeckLayout/Toast.d.ts.map +1 -0
  166. package/dist/types/src/containers/DeckLayout/constants.d.ts.map +1 -0
  167. package/dist/types/src/containers/DeckLayout/index.d.ts +4 -0
  168. package/dist/types/src/containers/DeckLayout/index.d.ts.map +1 -0
  169. package/dist/types/src/containers/Plank/Plank.d.ts +17 -0
  170. package/dist/types/src/containers/Plank/Plank.d.ts.map +1 -0
  171. package/dist/types/src/containers/Plank/Plank.stories.d.ts +62 -0
  172. package/dist/types/src/containers/Plank/Plank.stories.d.ts.map +1 -0
  173. package/dist/types/src/containers/Plank/PlankComponent.d.ts +17 -0
  174. package/dist/types/src/containers/Plank/PlankComponent.d.ts.map +1 -0
  175. package/dist/types/src/containers/Plank/PlankContent.d.ts +10 -0
  176. package/dist/types/src/containers/Plank/PlankContent.d.ts.map +1 -0
  177. package/dist/types/src/{components → containers}/Plank/PlankControls.d.ts +5 -6
  178. package/dist/types/src/containers/Plank/PlankControls.d.ts.map +1 -0
  179. package/dist/types/src/containers/Plank/PlankError.d.ts +15 -0
  180. package/dist/types/src/containers/Plank/PlankError.d.ts.map +1 -0
  181. package/dist/types/src/{components → containers}/Plank/PlankHeading.d.ts +5 -4
  182. package/dist/types/src/containers/Plank/PlankHeading.d.ts.map +1 -0
  183. package/dist/types/src/{components → containers}/Plank/PlankLoading.d.ts.map +1 -1
  184. package/dist/types/src/containers/Plank/PlankRoot.d.ts +37 -0
  185. package/dist/types/src/containers/Plank/PlankRoot.d.ts.map +1 -0
  186. package/dist/types/src/containers/Plank/index.d.ts +4 -0
  187. package/dist/types/src/containers/Plank/index.d.ts.map +1 -0
  188. package/dist/types/src/containers/Sidebar/ComplementarySidebar.d.ts.map +1 -0
  189. package/dist/types/src/containers/Sidebar/Sidebar.d.ts.map +1 -0
  190. package/dist/types/src/{components → containers}/Sidebar/SidebarButton.d.ts +1 -1
  191. package/dist/types/src/containers/Sidebar/SidebarButton.d.ts.map +1 -0
  192. package/dist/types/src/{components → containers}/Sidebar/index.d.ts.map +1 -1
  193. package/dist/types/src/containers/index.d.ts +6 -0
  194. package/dist/types/src/containers/index.d.ts.map +1 -0
  195. package/dist/types/src/hooks/index.d.ts +2 -1
  196. package/dist/types/src/hooks/index.d.ts.map +1 -1
  197. package/dist/types/src/hooks/useBreakpoints.d.ts +1 -1
  198. package/dist/types/src/hooks/useCompanions.d.ts.map +1 -1
  199. package/dist/types/src/hooks/useDeckCompanions.d.ts +4 -4
  200. package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -1
  201. package/dist/types/src/hooks/useDeckState.d.ts +17 -0
  202. package/dist/types/src/hooks/useDeckState.d.ts.map +1 -0
  203. package/dist/types/src/hooks/useMainSize.d.ts +2 -2
  204. package/dist/types/src/hooks/useMainSize.d.ts.map +1 -1
  205. package/dist/types/src/hooks/useNodeActionExpander.d.ts +1 -1
  206. package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
  207. package/dist/types/src/hooks/useSelectedCompanion.d.ts +13 -0
  208. package/dist/types/src/hooks/useSelectedCompanion.d.ts.map +1 -0
  209. package/dist/types/src/index.d.ts +1 -4
  210. package/dist/types/src/index.d.ts.map +1 -1
  211. package/dist/types/src/layout.d.ts +20 -9
  212. package/dist/types/src/layout.d.ts.map +1 -1
  213. package/dist/types/src/layout.test.d.ts +2 -0
  214. package/dist/types/src/layout.test.d.ts.map +1 -0
  215. package/dist/types/src/meta.d.ts +2 -2
  216. package/dist/types/src/meta.d.ts.map +1 -1
  217. package/dist/types/src/operations/add-toast.d.ts +5 -0
  218. package/dist/types/src/operations/add-toast.d.ts.map +1 -0
  219. package/dist/types/src/operations/adjust.d.ts +5 -0
  220. package/dist/types/src/operations/adjust.d.ts.map +1 -0
  221. package/dist/types/src/operations/close.d.ts +5 -0
  222. package/dist/types/src/operations/close.d.ts.map +1 -0
  223. package/dist/types/src/operations/helpers.d.ts +3 -0
  224. package/dist/types/src/operations/helpers.d.ts.map +1 -0
  225. package/dist/types/src/operations/index.d.ts +3 -0
  226. package/dist/types/src/operations/index.d.ts.map +1 -0
  227. package/dist/types/src/operations/open.d.ts +5 -0
  228. package/dist/types/src/operations/open.d.ts.map +1 -0
  229. package/dist/types/src/operations/revert-workspace.d.ts +5 -0
  230. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -0
  231. package/dist/types/src/operations/scroll-into-view.d.ts +5 -0
  232. package/dist/types/src/operations/scroll-into-view.d.ts.map +1 -0
  233. package/dist/types/src/operations/set-layout-mode.d.ts +9 -0
  234. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
  235. package/dist/types/src/operations/set.d.ts +5 -0
  236. package/dist/types/src/operations/set.d.ts.map +1 -0
  237. package/dist/types/src/operations/show-undo.d.ts +5 -0
  238. package/dist/types/src/operations/show-undo.d.ts.map +1 -0
  239. package/dist/types/src/operations/switch-workspace.d.ts +5 -0
  240. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
  241. package/dist/types/src/operations/update-companion.d.ts +5 -0
  242. package/dist/types/src/operations/update-companion.d.ts.map +1 -0
  243. package/dist/types/src/operations/update-complementary.d.ts +5 -0
  244. package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
  245. package/dist/types/src/operations/update-dialog.d.ts +5 -0
  246. package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
  247. package/dist/types/src/operations/update-plank-size.d.ts +5 -0
  248. package/dist/types/src/operations/update-plank-size.d.ts.map +1 -0
  249. package/dist/types/src/operations/update-popover.d.ts +5 -0
  250. package/dist/types/src/operations/update-popover.d.ts.map +1 -0
  251. package/dist/types/src/operations/update-sidebar.d.ts +5 -0
  252. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
  253. package/dist/types/src/plugin.d.ts +4 -0
  254. package/dist/types/src/plugin.d.ts.map +1 -0
  255. package/dist/types/src/translations.d.ts +43 -55
  256. package/dist/types/src/translations.d.ts.map +1 -1
  257. package/dist/types/src/types/DeckCapabilities.d.ts +188 -0
  258. package/dist/types/src/types/DeckCapabilities.d.ts.map +1 -0
  259. package/dist/types/src/types/DeckEvents.d.ts +5 -0
  260. package/dist/types/src/types/DeckEvents.d.ts.map +1 -0
  261. package/dist/types/src/types/DeckOperation.d.ts +15 -0
  262. package/dist/types/src/types/DeckOperation.d.ts.map +1 -0
  263. package/dist/types/src/types/Settings.d.ts +10 -0
  264. package/dist/types/src/types/Settings.d.ts.map +1 -0
  265. package/dist/types/src/types/index.d.ts +4 -0
  266. package/dist/types/src/types/index.d.ts.map +1 -1
  267. package/dist/types/src/types/schema.d.ts +64 -64
  268. package/dist/types/src/types/schema.d.ts.map +1 -1
  269. package/dist/types/src/util/index.d.ts +2 -1
  270. package/dist/types/src/util/index.d.ts.map +1 -1
  271. package/dist/types/src/util/layoutAppliesTopbar.d.ts +1 -1
  272. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
  273. package/dist/types/src/util/plank-url-params.d.ts +14 -0
  274. package/dist/types/src/util/plank-url-params.d.ts.map +1 -0
  275. package/dist/types/src/util/plank-url-params.test.d.ts +2 -0
  276. package/dist/types/src/util/plank-url-params.test.d.ts.map +1 -0
  277. package/dist/types/src/util/sanitize-persisted-state.d.ts +19 -0
  278. package/dist/types/src/util/sanitize-persisted-state.d.ts.map +1 -0
  279. package/dist/types/src/util/sanitize-persisted-state.test.d.ts +2 -0
  280. package/dist/types/src/util/sanitize-persisted-state.test.d.ts.map +1 -0
  281. package/dist/types/src/util/set-active.d.ts +19 -4
  282. package/dist/types/src/util/set-active.d.ts.map +1 -1
  283. package/dist/types/src/util/set-active.test.d.ts +2 -0
  284. package/dist/types/src/util/set-active.test.d.ts.map +1 -0
  285. package/dist/types/tsconfig.tsbuildinfo +1 -1
  286. package/package.json +130 -61
  287. package/src/DeckPlugin.node.ts +17 -0
  288. package/src/DeckPlugin.test.ts +27 -0
  289. package/src/DeckPlugin.ts +32 -56
  290. package/src/DeckPlugin.workerd.ts +16 -0
  291. package/src/capabilities/app-graph-builder.ts +111 -127
  292. package/src/capabilities/check-app-scheme.ts +123 -24
  293. package/src/capabilities/index.ts +13 -14
  294. package/src/capabilities/operation-handler.ts +16 -0
  295. package/src/capabilities/react-root.tsx +37 -29
  296. package/src/capabilities/react-surface.tsx +28 -22
  297. package/src/capabilities/settings.ts +29 -20
  298. package/src/capabilities/state.ts +74 -91
  299. package/src/capabilities/tools.ts +57 -50
  300. package/src/capabilities/url-handler.ts +221 -50
  301. package/src/components/DeckSettings/DeckSettings.stories.tsx +37 -0
  302. package/src/components/DeckSettings/DeckSettings.tsx +19 -88
  303. package/src/components/DeckSettings/index.ts +2 -2
  304. package/src/components/Matrix/Matrix.stories.tsx +220 -0
  305. package/src/components/Matrix/Matrix.tsx +205 -0
  306. package/src/components/Matrix/SPEC.md +219 -0
  307. package/src/components/Matrix/index.ts +6 -0
  308. package/src/components/index.ts +6 -3
  309. package/src/containers/Deck/Banner.tsx +41 -0
  310. package/src/containers/Deck/Deck.stories.tsx +81 -0
  311. package/src/containers/Deck/Deck.tsx +21 -0
  312. package/src/containers/Deck/DeckContent.tsx +102 -0
  313. package/src/containers/Deck/DeckRoot.tsx +50 -0
  314. package/src/containers/Deck/DeckViewport.tsx +450 -0
  315. package/src/{components/DeckLayout → containers/Deck}/StatusBar.tsx +4 -4
  316. package/src/containers/Deck/index.ts +5 -0
  317. package/src/{components → containers}/DeckLayout/ActiveNode.tsx +9 -4
  318. package/src/containers/DeckLayout/DeckLayout.stories.tsx +395 -0
  319. package/src/containers/DeckLayout/DeckLayout.tsx +62 -0
  320. package/src/containers/DeckLayout/Dialog.tsx +52 -0
  321. package/src/containers/DeckLayout/Fallback.tsx +24 -0
  322. package/src/containers/DeckLayout/Popover.tsx +162 -0
  323. package/src/{components → containers}/DeckLayout/Toast.tsx +6 -6
  324. package/src/{components → containers}/DeckLayout/constants.ts +1 -0
  325. package/src/{components → containers}/DeckLayout/index.ts +3 -2
  326. package/src/containers/Plank/Plank.stories.tsx +108 -0
  327. package/src/containers/Plank/Plank.tsx +22 -0
  328. package/src/containers/Plank/PlankComponent.tsx +218 -0
  329. package/src/containers/Plank/PlankContent.tsx +45 -0
  330. package/src/{components → containers}/Plank/PlankControls.tsx +43 -36
  331. package/src/containers/Plank/PlankError.tsx +82 -0
  332. package/src/{components → containers}/Plank/PlankHeading.tsx +68 -64
  333. package/src/{components → containers}/Plank/PlankLoading.tsx +1 -1
  334. package/src/containers/Plank/PlankRoot.tsx +49 -0
  335. package/src/{components → containers}/Plank/index.ts +0 -2
  336. package/src/containers/Sidebar/ComplementarySidebar.tsx +192 -0
  337. package/src/containers/Sidebar/Sidebar.tsx +39 -0
  338. package/src/containers/Sidebar/SidebarButton.tsx +100 -0
  339. package/src/containers/index.ts +11 -0
  340. package/src/hooks/index.ts +2 -1
  341. package/src/hooks/useCompanions.ts +3 -3
  342. package/src/hooks/useDeckCompanions.ts +8 -10
  343. package/src/hooks/useDeckState.ts +73 -0
  344. package/src/hooks/useMainSize.ts +2 -2
  345. package/src/hooks/useNodeActionExpander.ts +4 -4
  346. package/src/hooks/useSelectedCompanion.ts +32 -0
  347. package/src/index.ts +1 -4
  348. package/src/layout.test.ts +59 -0
  349. package/src/layout.ts +38 -40
  350. package/src/meta.ts +25 -3
  351. package/src/operations/add-toast.ts +24 -0
  352. package/src/operations/adjust.ts +82 -0
  353. package/src/operations/close.ts +35 -0
  354. package/src/operations/helpers.ts +22 -0
  355. package/src/operations/index.ts +24 -0
  356. package/src/operations/open.ts +186 -0
  357. package/src/operations/revert-workspace.ts +22 -0
  358. package/src/operations/scroll-into-view.ts +24 -0
  359. package/src/operations/set-layout-mode.ts +84 -0
  360. package/src/operations/set.ts +36 -0
  361. package/src/operations/show-undo.ts +47 -0
  362. package/src/operations/switch-workspace.ts +66 -0
  363. package/src/operations/update-companion.ts +35 -0
  364. package/src/operations/update-complementary.ts +33 -0
  365. package/src/operations/update-dialog.ts +34 -0
  366. package/src/operations/update-plank-size.ts +28 -0
  367. package/src/operations/update-popover.ts +36 -0
  368. package/src/operations/update-sidebar.ts +28 -0
  369. package/src/plugin.ts +11 -0
  370. package/src/translations.ts +43 -54
  371. package/src/types/DeckCapabilities.ts +34 -0
  372. package/src/types/DeckEvents.ts +21 -0
  373. package/src/types/DeckOperation.ts +53 -0
  374. package/src/types/Settings.ts +36 -0
  375. package/src/types/index.ts +5 -0
  376. package/src/types/schema.ts +49 -58
  377. package/src/util/index.ts +2 -1
  378. package/src/util/layoutAppliesTopbar.ts +2 -2
  379. package/src/util/plank-url-params.test.ts +85 -0
  380. package/src/util/plank-url-params.ts +36 -0
  381. package/src/util/sanitize-persisted-state.test.ts +79 -0
  382. package/src/util/sanitize-persisted-state.ts +52 -0
  383. package/src/util/set-active.test.ts +106 -0
  384. package/src/util/set-active.ts +50 -30
  385. package/src/vite-env.d.ts +5 -0
  386. package/dist/lib/browser/app-graph-builder-YYP67JHW.mjs +0 -153
  387. package/dist/lib/browser/app-graph-builder-YYP67JHW.mjs.map +0 -7
  388. package/dist/lib/browser/check-app-scheme-GCOL6YDT.mjs +0 -32
  389. package/dist/lib/browser/check-app-scheme-GCOL6YDT.mjs.map +0 -7
  390. package/dist/lib/browser/chunk-7I6H3N4Q.mjs +0 -162
  391. package/dist/lib/browser/chunk-7I6H3N4Q.mjs.map +0 -7
  392. package/dist/lib/browser/chunk-CNTGBCMK.mjs +0 -145
  393. package/dist/lib/browser/chunk-CNTGBCMK.mjs.map +0 -7
  394. package/dist/lib/browser/chunk-HUWUYTOI.mjs +0 -16
  395. package/dist/lib/browser/chunk-HUWUYTOI.mjs.map +0 -7
  396. package/dist/lib/browser/chunk-JQKOS2HB.mjs +0 -1531
  397. package/dist/lib/browser/chunk-JQKOS2HB.mjs.map +0 -7
  398. package/dist/lib/browser/chunk-MHP4GPX5.mjs +0 -11
  399. package/dist/lib/browser/chunk-MHP4GPX5.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-RJP5R7PY.mjs +0 -127
  401. package/dist/lib/browser/chunk-RJP5R7PY.mjs.map +0 -7
  402. package/dist/lib/browser/chunk-VX7MMQOW.mjs +0 -129
  403. package/dist/lib/browser/chunk-VX7MMQOW.mjs.map +0 -7
  404. package/dist/lib/browser/index.mjs +0 -174
  405. package/dist/lib/browser/index.mjs.map +0 -7
  406. package/dist/lib/browser/intent-resolver-7XNOEPVN.mjs +0 -524
  407. package/dist/lib/browser/intent-resolver-7XNOEPVN.mjs.map +0 -7
  408. package/dist/lib/browser/meta.json +0 -1
  409. package/dist/lib/browser/react-root-OJEF7YCH.mjs +0 -43
  410. package/dist/lib/browser/react-root-OJEF7YCH.mjs.map +0 -7
  411. package/dist/lib/browser/react-surface-XN2NJYHO.mjs +0 -40
  412. package/dist/lib/browser/react-surface-XN2NJYHO.mjs.map +0 -7
  413. package/dist/lib/browser/settings-M3KSKRAP.mjs +0 -30
  414. package/dist/lib/browser/settings-M3KSKRAP.mjs.map +0 -7
  415. package/dist/lib/browser/state-6ZSDTF6Q.mjs +0 -12
  416. package/dist/lib/browser/toolkit-L7C3UAEU.mjs +0 -63
  417. package/dist/lib/browser/toolkit-L7C3UAEU.mjs.map +0 -7
  418. package/dist/lib/browser/types/index.mjs +0 -32
  419. package/dist/lib/browser/url-handler-EHTLXZRR.mjs +0 -70
  420. package/dist/lib/browser/url-handler-EHTLXZRR.mjs.map +0 -7
  421. package/dist/types/src/capabilities/capabilities.d.ts +0 -184
  422. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  423. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  424. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  425. package/dist/types/src/capabilities/toolkit.d.ts +0 -6
  426. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  427. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +0 -1
  428. package/dist/types/src/components/DeckLayout/Banner.d.ts.map +0 -1
  429. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts +0 -3
  430. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +0 -1
  431. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +0 -1
  432. package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts +0 -74
  433. package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts.map +0 -1
  434. package/dist/types/src/components/DeckLayout/DeckMain.d.ts +0 -3
  435. package/dist/types/src/components/DeckLayout/DeckMain.d.ts.map +0 -1
  436. package/dist/types/src/components/DeckLayout/Dialog.d.ts.map +0 -1
  437. package/dist/types/src/components/DeckLayout/Fallback.d.ts +0 -3
  438. package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +0 -1
  439. package/dist/types/src/components/DeckLayout/Popover.d.ts +0 -5
  440. package/dist/types/src/components/DeckLayout/Popover.d.ts.map +0 -1
  441. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +0 -1
  442. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +0 -1
  443. package/dist/types/src/components/DeckLayout/Topbar.d.ts +0 -3
  444. package/dist/types/src/components/DeckLayout/Topbar.d.ts.map +0 -1
  445. package/dist/types/src/components/DeckLayout/constants.d.ts.map +0 -1
  446. package/dist/types/src/components/DeckLayout/index.d.ts +0 -4
  447. package/dist/types/src/components/DeckLayout/index.d.ts.map +0 -1
  448. package/dist/types/src/components/Plank/Plank.d.ts +0 -27
  449. package/dist/types/src/components/Plank/Plank.d.ts.map +0 -1
  450. package/dist/types/src/components/Plank/Plank.stories.d.ts +0 -89
  451. package/dist/types/src/components/Plank/Plank.stories.d.ts.map +0 -1
  452. package/dist/types/src/components/Plank/PlankControls.d.ts.map +0 -1
  453. package/dist/types/src/components/Plank/PlankError.d.ts +0 -13
  454. package/dist/types/src/components/Plank/PlankError.d.ts.map +0 -1
  455. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +0 -1
  456. package/dist/types/src/components/Plank/index.d.ts +0 -6
  457. package/dist/types/src/components/Plank/index.d.ts.map +0 -1
  458. package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +0 -1
  459. package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +0 -1
  460. package/dist/types/src/components/Sidebar/SidebarButton.d.ts.map +0 -1
  461. package/dist/types/src/components/fragments.d.ts +0 -4
  462. package/dist/types/src/components/fragments.d.ts.map +0 -1
  463. package/dist/types/src/events.d.ts +0 -4
  464. package/dist/types/src/events.d.ts.map +0 -1
  465. package/dist/types/src/hooks/useHoistStatusbar.d.ts +0 -3
  466. package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +0 -1
  467. package/dist/types/src/util/overscroll.d.ts +0 -47
  468. package/dist/types/src/util/overscroll.d.ts.map +0 -1
  469. package/src/capabilities/capabilities.ts +0 -14
  470. package/src/capabilities/intent-resolver.ts +0 -472
  471. package/src/capabilities/toolkit.ts +0 -57
  472. package/src/components/DeckLayout/Banner.tsx +0 -39
  473. package/src/components/DeckLayout/ContentEmpty.tsx +0 -31
  474. package/src/components/DeckLayout/DeckLayout.stories.tsx +0 -64
  475. package/src/components/DeckLayout/DeckLayout.tsx +0 -32
  476. package/src/components/DeckLayout/DeckMain.tsx +0 -285
  477. package/src/components/DeckLayout/Dialog.tsx +0 -36
  478. package/src/components/DeckLayout/Fallback.tsx +0 -28
  479. package/src/components/DeckLayout/Popover.tsx +0 -104
  480. package/src/components/DeckLayout/Topbar.tsx +0 -11
  481. package/src/components/Plank/Plank.stories.tsx +0 -54
  482. package/src/components/Plank/Plank.tsx +0 -283
  483. package/src/components/Plank/PlankError.tsx +0 -49
  484. package/src/components/Sidebar/ComplementarySidebar.tsx +0 -194
  485. package/src/components/Sidebar/Sidebar.tsx +0 -42
  486. package/src/components/Sidebar/SidebarButton.tsx +0 -87
  487. package/src/components/fragments.ts +0 -14
  488. package/src/events.ts +0 -11
  489. package/src/hooks/useHoistStatusbar.ts +0 -26
  490. package/src/util/overscroll.ts +0 -69
  491. /package/dist/lib/{browser/state-6ZSDTF6Q.mjs.map → neutral/check-app-scheme-A7FZVNZO.mjs.map} +0 -0
  492. /package/dist/lib/{browser/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  493. /package/dist/types/src/{components/DeckLayout → containers/Deck}/StatusBar.d.ts +0 -0
  494. /package/dist/types/src/{components → containers}/DeckLayout/ActiveNode.d.ts +0 -0
  495. /package/dist/types/src/{components → containers}/DeckLayout/DeckLayout.d.ts +0 -0
  496. /package/dist/types/src/{components → containers}/DeckLayout/Dialog.d.ts +0 -0
  497. /package/dist/types/src/{components → containers}/DeckLayout/constants.d.ts +0 -0
  498. /package/dist/types/src/{components → containers}/Plank/PlankLoading.d.ts +0 -0
  499. /package/dist/types/src/{components → containers}/Sidebar/ComplementarySidebar.d.ts +0 -0
  500. /package/dist/types/src/{components → containers}/Sidebar/Sidebar.d.ts +0 -0
  501. /package/dist/types/src/{components → containers}/Sidebar/index.d.ts +0 -0
  502. /package/src/{components → containers}/Sidebar/index.ts +0 -0
@@ -0,0 +1,24 @@
1
+ import {
2
+ DeckCapabilities_exports
3
+ } from "./chunk-HD44H4CJ.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/operations/add-toast.ts
7
+ import * as Effect from "effect/Effect";
8
+ import { Capabilities } from "@dxos/app-framework";
9
+ import { LayoutOperation } from "@dxos/app-toolkit";
10
+ import { Operation } from "@dxos/compute";
11
+ var handler = LayoutOperation.AddToast.pipe(Operation.withHandler(Effect.fnUntraced(function* (input) {
12
+ yield* Capabilities.updateAtomValue(DeckCapabilities_exports.EphemeralState, (state) => ({
13
+ ...state,
14
+ toasts: [
15
+ ...state.toasts,
16
+ input
17
+ ]
18
+ }));
19
+ })));
20
+ var add_toast_default = handler;
21
+ export {
22
+ add_toast_default as default
23
+ };
24
+ //# sourceMappingURL=add-toast-H2PK2S3H.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/add-toast.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\n\nimport { DeckCapabilities } from '../types';\n\nconst handler: Operation.WithHandler<typeof LayoutOperation.AddToast> = LayoutOperation.AddToast.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* (input) {\n yield* Capabilities.updateAtomValue(DeckCapabilities.EphemeralState, (state) => ({\n ...state,\n toasts: [...state.toasts, input as LayoutOperation.Toast],\n }));\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,oBAAoB;AAC7B,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAI1B,IAAMC,UAAkEC,gBAAgBC,SAASC,KAC/FC,UAAUC,YACDC,kBAAW,WAAWC,OAAK;AAChC,SAAOC,aAAaC,gBAAgBC,yBAAiBC,gBAAgB,CAACC,WAAW;IAC/E,GAAGA;IACHC,QAAQ;SAAID,MAAMC;MAAQN;;EAC5B,EAAA;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,oBAAeP;",
6
+ "names": ["Effect", "Capabilities", "LayoutOperation", "Operation", "handler", "LayoutOperation", "AddToast", "pipe", "Operation", "withHandler", "fnUntraced", "input", "Capabilities", "updateAtomValue", "DeckCapabilities", "EphemeralState", "state", "toasts"]
7
+ }
@@ -0,0 +1,93 @@
1
+ import {
2
+ incrementPlank
3
+ } from "./chunk-ZYYOSX5I.mjs";
4
+ import {
5
+ updateActiveDeck
6
+ } from "./chunk-GLB73Q6U.mjs";
7
+ import {
8
+ DeckCapabilities_exports,
9
+ DeckOperation_exports,
10
+ PLANK_COMPANION_TYPE
11
+ } from "./chunk-HD44H4CJ.mjs";
12
+ import {
13
+ computeActiveUpdates
14
+ } from "./chunk-GBIGQKYW.mjs";
15
+ import "./chunk-J5LGTIGS.mjs";
16
+
17
+ // src/operations/adjust.ts
18
+ import * as Effect from "effect/Effect";
19
+ import * as Function from "effect/Function";
20
+ import * as Option from "effect/Option";
21
+ import { Capabilities, Capability } from "@dxos/app-framework";
22
+ import { AppCapabilities, LayoutOperation } from "@dxos/app-toolkit";
23
+ import { Operation } from "@dxos/compute";
24
+ import { AttentionCapabilities } from "@dxos/plugin-attention";
25
+ import { Graph } from "@dxos/plugin-graph";
26
+ import { byPosition } from "@dxos/util";
27
+ var handler = DeckOperation_exports.Adjust.pipe(Operation.withHandler(Effect.fnUntraced(function* (input) {
28
+ const _state = yield* Capabilities.getAtomValue(DeckCapabilities_exports.State);
29
+ const deck = yield* DeckCapabilities_exports.getDeck();
30
+ const attention = yield* Capability.get(AttentionCapabilities.Attention);
31
+ const { graph } = yield* Capability.get(AppCapabilities.AppGraph);
32
+ let soloOperation;
33
+ if (input.type === "increment-end" || input.type === "increment-start") {
34
+ const next = incrementPlank(deck.active, input);
35
+ const { deckUpdates } = computeActiveUpdates({
36
+ next,
37
+ deck,
38
+ attention
39
+ });
40
+ yield* Capabilities.updateAtomValue(DeckCapabilities_exports.State, (state) => updateActiveDeck(state, deckUpdates));
41
+ }
42
+ if (input.type.startsWith("solo")) {
43
+ const entryId = input.id;
44
+ if (!deck.solo) {
45
+ soloOperation = {
46
+ type: "solo",
47
+ entryId,
48
+ mode: input.type
49
+ };
50
+ } else {
51
+ if (input.type === "solo--fullscreen") {
52
+ soloOperation = {
53
+ type: "solo",
54
+ entryId,
55
+ mode: "solo--fullscreen"
56
+ };
57
+ } else if (input.type === "solo") {
58
+ soloOperation = {
59
+ type: "unsolo",
60
+ entryId
61
+ };
62
+ }
63
+ }
64
+ }
65
+ if (soloOperation?.type === "solo") {
66
+ yield* Operation.invoke(LayoutOperation.SetLayoutMode, {
67
+ subject: soloOperation.entryId,
68
+ mode: soloOperation.mode
69
+ });
70
+ } else if (soloOperation?.type === "unsolo") {
71
+ yield* Operation.invoke(LayoutOperation.SetLayoutMode, {
72
+ mode: "multi"
73
+ });
74
+ yield* Operation.invoke(LayoutOperation.Open, {
75
+ subject: [
76
+ soloOperation.entryId
77
+ ]
78
+ });
79
+ }
80
+ if (input.type === "companion") {
81
+ const companion = Function.pipe(Graph.getNode(graph, input.id), Option.map((node) => Graph.getConnections(graph, node.id, "child").filter((n) => n.type === PLANK_COMPANION_TYPE).toSorted((a, b) => byPosition(a.properties, b.properties))), Option.flatMap((companions) => companions.length > 0 ? Option.some(companions[0]) : Option.none()));
82
+ if (Option.isSome(companion)) {
83
+ yield* Operation.invoke(LayoutOperation.UpdateCompanion, {
84
+ subject: companion.value.id
85
+ });
86
+ }
87
+ }
88
+ })));
89
+ var adjust_default = handler;
90
+ export {
91
+ adjust_default as default
92
+ };
93
+ //# sourceMappingURL=adjust-J6ZPQ5BT.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/adjust.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities, LayoutOperation } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { Graph } from '@dxos/plugin-graph';\nimport { byPosition } from '@dxos/util';\n\nimport { incrementPlank } from '../layout';\nimport { DeckCapabilities, DeckOperation, PLANK_COMPANION_TYPE } from '../types';\nimport { computeActiveUpdates } from '../util';\nimport { updateActiveDeck } from './helpers';\n\nconst handler: Operation.WithHandler<typeof DeckOperation.Adjust> = DeckOperation.Adjust.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* (input) {\n const _state = yield* Capabilities.getAtomValue(DeckCapabilities.State);\n const deck = yield* DeckCapabilities.getDeck();\n const attention = yield* Capability.get(AttentionCapabilities.Attention);\n const { graph } = yield* Capability.get(AppCapabilities.AppGraph);\n\n let soloOperation:\n | { type: 'solo'; entryId: string; mode: string }\n | { type: 'unsolo'; entryId: string }\n | undefined;\n\n if (input.type === 'increment-end' || input.type === 'increment-start') {\n const next = incrementPlank(deck.active, input);\n const { deckUpdates } = computeActiveUpdates({ next, deck, attention });\n yield* Capabilities.updateAtomValue(DeckCapabilities.State, (state) => updateActiveDeck(state, deckUpdates));\n }\n\n if (input.type.startsWith('solo')) {\n const entryId = input.id;\n if (!deck.solo) {\n soloOperation = { type: 'solo', entryId, mode: input.type };\n } else {\n if (input.type === 'solo--fullscreen') {\n soloOperation = { type: 'solo', entryId, mode: 'solo--fullscreen' };\n } else if (input.type === 'solo') {\n soloOperation = { type: 'unsolo', entryId };\n }\n }\n }\n\n if (soloOperation?.type === 'solo') {\n yield* Operation.invoke(LayoutOperation.SetLayoutMode, {\n subject: soloOperation.entryId,\n mode: soloOperation.mode,\n });\n } else if (soloOperation?.type === 'unsolo') {\n yield* Operation.invoke(LayoutOperation.SetLayoutMode, { mode: 'multi' });\n yield* Operation.invoke(LayoutOperation.Open, { subject: [soloOperation.entryId] });\n }\n\n if (input.type === 'companion') {\n const companion = Function.pipe(\n Graph.getNode(graph, input.id),\n Option.map((node) =>\n Graph.getConnections(graph, node.id, 'child')\n .filter((n) => n.type === PLANK_COMPANION_TYPE)\n .toSorted((a, b) => byPosition(a.properties, b.properties)),\n ),\n Option.flatMap((companions) => (companions.length > 0 ? Option.some(companions[0]) : Option.none())),\n );\n\n if (Option.isSome(companion)) {\n yield* Operation.invoke(LayoutOperation.UpdateCompanion, { subject: companion.value.id });\n }\n }\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiBC,uBAAuB;AACjD,SAASC,iBAAiB;AAC1B,SAASC,6BAA6B;AACtC,SAASC,aAAa;AACtB,SAASC,kBAAkB;AAO3B,IAAMC,UAA8DC,sBAAcC,OAAOC,KACvFC,UAAUC,YACDC,kBAAW,WAAWC,OAAK;AAChC,QAAMC,SAAS,OAAOC,aAAaC,aAAaC,yBAAiBC,KAAK;AACtE,QAAMC,OAAO,OAAOF,yBAAiBG,QAAO;AAC5C,QAAMC,YAAY,OAAOC,WAAWC,IAAIC,sBAAsBC,SAAS;AACvE,QAAM,EAAEC,MAAK,IAAK,OAAOJ,WAAWC,IAAII,gBAAgBC,QAAQ;AAEhE,MAAIC;AAKJ,MAAIhB,MAAMiB,SAAS,mBAAmBjB,MAAMiB,SAAS,mBAAmB;AACtE,UAAMC,OAAOC,eAAeb,KAAKc,QAAQpB,KAAAA;AACzC,UAAM,EAAEqB,YAAW,IAAKC,qBAAqB;MAAEJ;MAAMZ;MAAME;IAAU,CAAA;AACrE,WAAON,aAAaqB,gBAAgBnB,yBAAiBC,OAAO,CAACmB,UAAUC,iBAAiBD,OAAOH,WAAAA,CAAAA;EACjG;AAEA,MAAIrB,MAAMiB,KAAKS,WAAW,MAAA,GAAS;AACjC,UAAMC,UAAU3B,MAAM4B;AACtB,QAAI,CAACtB,KAAKuB,MAAM;AACdb,sBAAgB;QAAEC,MAAM;QAAQU;QAASG,MAAM9B,MAAMiB;MAAK;IAC5D,OAAO;AACL,UAAIjB,MAAMiB,SAAS,oBAAoB;AACrCD,wBAAgB;UAAEC,MAAM;UAAQU;UAASG,MAAM;QAAmB;MACpE,WAAW9B,MAAMiB,SAAS,QAAQ;AAChCD,wBAAgB;UAAEC,MAAM;UAAUU;QAAQ;MAC5C;IACF;EACF;AAEA,MAAIX,eAAeC,SAAS,QAAQ;AAClC,WAAOpB,UAAUkC,OAAOC,gBAAgBC,eAAe;MACrDC,SAASlB,cAAcW;MACvBG,MAAMd,cAAcc;IACtB,CAAA;EACF,WAAWd,eAAeC,SAAS,UAAU;AAC3C,WAAOpB,UAAUkC,OAAOC,gBAAgBC,eAAe;MAAEH,MAAM;IAAQ,CAAA;AACvE,WAAOjC,UAAUkC,OAAOC,gBAAgBG,MAAM;MAAED,SAAS;QAAClB,cAAcW;;IAAS,CAAA;EACnF;AAEA,MAAI3B,MAAMiB,SAAS,aAAa;AAC9B,UAAMmB,YAAqBxC,cACzByC,MAAMC,QAAQzB,OAAOb,MAAM4B,EAAE,GACtBW,WAAI,CAACC,SACVH,MAAMI,eAAe5B,OAAO2B,KAAKZ,IAAI,OAAA,EAClCc,OAAO,CAACC,MAAMA,EAAE1B,SAAS2B,oBAAAA,EACzBC,SAAS,CAACC,GAAGC,MAAMC,WAAWF,EAAEG,YAAYF,EAAEE,UAAU,CAAA,CAAA,GAEtDC,eAAQ,CAACC,eAAgBA,WAAWC,SAAS,IAAWC,YAAKF,WAAW,CAAA,CAAE,IAAWG,YAAI,CAAA,CAAA;AAGlG,QAAWC,cAAOnB,SAAAA,GAAY;AAC5B,aAAOvC,UAAUkC,OAAOC,gBAAgBwB,iBAAiB;QAAEtB,SAASE,UAAUqB,MAAM7B;MAAG,CAAA;IACzF;EACF;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,iBAAenC;",
6
+ "names": ["Effect", "Function", "Option", "Capabilities", "Capability", "AppCapabilities", "LayoutOperation", "Operation", "AttentionCapabilities", "Graph", "byPosition", "handler", "DeckOperation", "Adjust", "pipe", "Operation", "withHandler", "fnUntraced", "input", "_state", "Capabilities", "getAtomValue", "DeckCapabilities", "State", "deck", "getDeck", "attention", "Capability", "get", "AttentionCapabilities", "Attention", "graph", "AppCapabilities", "AppGraph", "soloOperation", "type", "next", "incrementPlank", "active", "deckUpdates", "computeActiveUpdates", "updateAtomValue", "state", "updateActiveDeck", "startsWith", "entryId", "id", "solo", "mode", "invoke", "LayoutOperation", "SetLayoutMode", "subject", "Open", "companion", "Graph", "getNode", "map", "node", "getConnections", "filter", "n", "PLANK_COMPANION_TYPE", "toSorted", "a", "b", "byPosition", "properties", "flatMap", "companions", "length", "some", "none", "isSome", "UpdateCompanion", "value"]
7
+ }
@@ -0,0 +1,129 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/app-graph-builder.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capabilities, Capability } from "@dxos/app-framework";
6
+ import { AppCapabilities, AppNode, LayoutOperation } from "@dxos/app-toolkit";
7
+ import { Operation } from "@dxos/compute";
8
+ import { AttentionCapabilities } from "@dxos/plugin-attention";
9
+ import { GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
10
+ import { meta } from "#meta";
11
+ import { DeckCapabilities } from "#types";
12
+ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
13
+ const extensions = yield* Effect.all([
14
+ GraphBuilder.createExtension({
15
+ id: "not-found",
16
+ match: NodeMatcher.whenRoot,
17
+ connector: () => Effect.succeed([
18
+ AppNode.makeNotFound()
19
+ ])
20
+ }),
21
+ GraphBuilder.createExtension({
22
+ id: "root",
23
+ match: NodeMatcher.whenRoot,
24
+ actions: (_node, get) => Effect.gen(function* () {
25
+ const closeCurrent = {
26
+ id: `${LayoutOperation.Close.meta.key}.current`,
27
+ data: Effect.fnUntraced(function* () {
28
+ const attention = yield* Capability.get(AttentionCapabilities.Attention);
29
+ const attended = attention.getCurrent().at(-1);
30
+ if (attended) {
31
+ yield* Operation.invoke(LayoutOperation.Close, {
32
+ subject: [
33
+ attended
34
+ ]
35
+ });
36
+ }
37
+ }),
38
+ properties: {
39
+ label: [
40
+ "close-current.label",
41
+ {
42
+ ns: meta.id
43
+ }
44
+ ],
45
+ icon: "ph--x--regular"
46
+ }
47
+ };
48
+ const closeOthers = {
49
+ id: `${LayoutOperation.Close.meta.key}.others`,
50
+ data: Effect.fnUntraced(function* () {
51
+ const attention = yield* Capability.get(AttentionCapabilities.Attention);
52
+ const deck2 = yield* DeckCapabilities.getDeck();
53
+ const attended = attention.getCurrent().at(-1);
54
+ const ids = deck2.active.filter((id) => id !== attended) ?? [];
55
+ yield* Operation.invoke(LayoutOperation.Close, {
56
+ subject: ids
57
+ });
58
+ }),
59
+ properties: {
60
+ label: [
61
+ "close-others.label",
62
+ {
63
+ ns: meta.id
64
+ }
65
+ ],
66
+ icon: "ph--x-square--regular"
67
+ }
68
+ };
69
+ const closeAll = {
70
+ id: `${LayoutOperation.Close.meta.key}.all`,
71
+ data: Effect.fnUntraced(function* () {
72
+ const deck2 = yield* DeckCapabilities.getDeck();
73
+ yield* Operation.invoke(LayoutOperation.Close, {
74
+ subject: deck2.active
75
+ });
76
+ }),
77
+ properties: {
78
+ label: [
79
+ "close-all.label",
80
+ {
81
+ ns: meta.id
82
+ }
83
+ ],
84
+ icon: "ph--x-circle--regular"
85
+ }
86
+ };
87
+ const state = get(yield* Capability.get(DeckCapabilities.State));
88
+ const deck = state.decks[state.activeDeck];
89
+ const toggleSidebar = {
90
+ id: `${LayoutOperation.UpdateSidebar.meta.key}.nav`,
91
+ data: Effect.fnUntraced(function* () {
92
+ yield* Capabilities.updateAtomValue(DeckCapabilities.State, (s) => ({
93
+ ...s,
94
+ sidebarState: s.sidebarState === "expanded" ? "collapsed" : "expanded"
95
+ }));
96
+ }),
97
+ properties: {
98
+ label: [
99
+ state.sidebarState === "expanded" ? "collapse-navigation-sidebar.label" : "open-navigation-sidebar.label",
100
+ {
101
+ ns: meta.id
102
+ }
103
+ ],
104
+ icon: "ph--sidebar--regular",
105
+ keyBinding: {
106
+ macos: "meta+'"
107
+ },
108
+ disposition: "pin-end",
109
+ position: "last",
110
+ l0Breakpoint: "lg"
111
+ }
112
+ };
113
+ return !deck?.solo ? [
114
+ closeCurrent,
115
+ closeOthers,
116
+ closeAll,
117
+ toggleSidebar
118
+ ] : [
119
+ toggleSidebar
120
+ ];
121
+ })
122
+ })
123
+ ]);
124
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions.flat());
125
+ }));
126
+ export {
127
+ app_graph_builder_default as default
128
+ };
129
+ //# sourceMappingURL=app-graph-builder-MRA3OMKO.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities, AppNode, LayoutOperation } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\n\nimport { meta } from '#meta';\nimport { DeckCapabilities } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n GraphBuilder.createExtension({\n id: 'not-found',\n match: NodeMatcher.whenRoot,\n connector: () => Effect.succeed([AppNode.makeNotFound()]),\n }),\n\n GraphBuilder.createExtension({\n id: 'root',\n match: NodeMatcher.whenRoot,\n actions: (_node, get) =>\n Effect.gen(function* () {\n // NOTE(Zan): This is currently disabled.\n // TODO(Zan): Fullscreen needs to know the active node and provide that to the layout part.\n // const _fullscreen = {\n // id: `${LayoutAction.UpdateLayout._tag}/fullscreen`,\n // data: async () => {\n // const { dispatchPromise: dispatch } = context.get(Capabilities.IntentDispatcher);\n // await dispatch(\n // createIntent(LayoutAction.SetLayoutMode, { part: 'mode', options: { mode: 'fullscreen' } }),\n // );\n // },\n // properties: {\n // label: ['toggle-fullscreen.label', { ns: meta.id }],\n // icon: 'ph--arrows-out--regular',\n // keyBinding: {\n // macos: 'ctrl+meta+f',\n // windows: 'shift+ctrl+f',\n // },\n // },\n // };\n\n const closeCurrent = {\n id: `${LayoutOperation.Close.meta.key}.current`,\n data: Effect.fnUntraced(function* () {\n const attention = yield* Capability.get(AttentionCapabilities.Attention);\n const attended = attention.getCurrent().at(-1);\n if (attended) {\n yield* Operation.invoke(LayoutOperation.Close, { subject: [attended] });\n }\n }),\n properties: {\n label: ['close-current.label', { ns: meta.id }],\n icon: 'ph--x--regular',\n },\n };\n\n const closeOthers = {\n id: `${LayoutOperation.Close.meta.key}.others`,\n data: Effect.fnUntraced(function* () {\n const attention = yield* Capability.get(AttentionCapabilities.Attention);\n const deck = yield* DeckCapabilities.getDeck();\n const attended = attention.getCurrent().at(-1);\n const ids = deck.active.filter((id: string) => id !== attended) ?? [];\n yield* Operation.invoke(LayoutOperation.Close, { subject: ids });\n }),\n properties: {\n label: ['close-others.label', { ns: meta.id }],\n icon: 'ph--x-square--regular',\n },\n };\n\n const closeAll = {\n id: `${LayoutOperation.Close.meta.key}.all`,\n data: Effect.fnUntraced(function* () {\n const deck = yield* DeckCapabilities.getDeck();\n yield* Operation.invoke(LayoutOperation.Close, { subject: deck.active });\n }),\n properties: {\n label: ['close-all.label', { ns: meta.id }],\n icon: 'ph--x-circle--regular',\n },\n };\n\n const state = get(yield* Capability.get(DeckCapabilities.State));\n const deck = state.decks[state.activeDeck];\n\n const toggleSidebar = {\n id: `${LayoutOperation.UpdateSidebar.meta.key}.nav`,\n data: Effect.fnUntraced(function* () {\n yield* Capabilities.updateAtomValue(DeckCapabilities.State, (s) => ({\n ...s,\n sidebarState: s.sidebarState === 'expanded' ? ('collapsed' as const) : ('expanded' as const),\n }));\n }),\n properties: {\n label: [\n state.sidebarState === 'expanded'\n ? 'collapse-navigation-sidebar.label'\n : 'open-navigation-sidebar.label',\n { ns: meta.id },\n ],\n icon: 'ph--sidebar--regular',\n keyBinding: {\n macos: \"meta+'\",\n },\n disposition: 'pin-end',\n position: 'last',\n l0Breakpoint: 'lg',\n },\n };\n\n return !deck?.solo ? [closeCurrent, closeOthers, closeAll, toggleSidebar] : [toggleSidebar];\n }),\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions.flat());\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiBC,SAASC,uBAAuB;AAC1D,SAASC,iBAAiB;AAC1B,SAASC,6BAA6B;AACtC,SAASC,cAAcC,mBAAmB;AAE1C,SAASC,YAAY;AACrB,SAASC,wBAAwB;AAEjC,IAAA,4BAAeT,WAAWU,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAcC,WAAI;IACnCP,aAAaQ,gBAAgB;MAC3BC,IAAI;MACJC,OAAOT,YAAYU;MACnBC,WAAW,MAAaC,eAAQ;QAACjB,QAAQkB,aAAY;OAAG;IAC1D,CAAA;IAEAd,aAAaQ,gBAAgB;MAC3BC,IAAI;MACJC,OAAOT,YAAYU;MACnBI,SAAS,CAACC,OAAOC,QACRC,WAAI,aAAA;AAqBT,cAAMC,eAAe;UACnBV,IAAI,GAAGZ,gBAAgBuB,MAAMlB,KAAKmB,GAAG;UACrCC,MAAajB,kBAAW,aAAA;AACtB,kBAAMkB,YAAY,OAAO7B,WAAWuB,IAAIlB,sBAAsByB,SAAS;AACvE,kBAAMC,WAAWF,UAAUG,WAAU,EAAGC,GAAG,EAAC;AAC5C,gBAAIF,UAAU;AACZ,qBAAO3B,UAAU8B,OAAO/B,gBAAgBuB,OAAO;gBAAES,SAAS;kBAACJ;;cAAU,CAAA;YACvE;UACF,CAAA;UACAK,YAAY;YACVC,OAAO;cAAC;cAAuB;gBAAEC,IAAI9B,KAAKO;cAAG;;YAC7CwB,MAAM;UACR;QACF;AAEA,cAAMC,cAAc;UAClBzB,IAAI,GAAGZ,gBAAgBuB,MAAMlB,KAAKmB,GAAG;UACrCC,MAAajB,kBAAW,aAAA;AACtB,kBAAMkB,YAAY,OAAO7B,WAAWuB,IAAIlB,sBAAsByB,SAAS;AACvE,kBAAMW,QAAO,OAAOhC,iBAAiBiC,QAAO;AAC5C,kBAAMX,WAAWF,UAAUG,WAAU,EAAGC,GAAG,EAAC;AAC5C,kBAAMU,MAAMF,MAAKG,OAAOC,OAAO,CAAC9B,OAAeA,OAAOgB,QAAAA,KAAa,CAAA;AACnE,mBAAO3B,UAAU8B,OAAO/B,gBAAgBuB,OAAO;cAAES,SAASQ;YAAI,CAAA;UAChE,CAAA;UACAP,YAAY;YACVC,OAAO;cAAC;cAAsB;gBAAEC,IAAI9B,KAAKO;cAAG;;YAC5CwB,MAAM;UACR;QACF;AAEA,cAAMO,WAAW;UACf/B,IAAI,GAAGZ,gBAAgBuB,MAAMlB,KAAKmB,GAAG;UACrCC,MAAajB,kBAAW,aAAA;AACtB,kBAAM8B,QAAO,OAAOhC,iBAAiBiC,QAAO;AAC5C,mBAAOtC,UAAU8B,OAAO/B,gBAAgBuB,OAAO;cAAES,SAASM,MAAKG;YAAO,CAAA;UACxE,CAAA;UACAR,YAAY;YACVC,OAAO;cAAC;cAAmB;gBAAEC,IAAI9B,KAAKO;cAAG;;YACzCwB,MAAM;UACR;QACF;AAEA,cAAMQ,QAAQxB,IAAI,OAAOvB,WAAWuB,IAAId,iBAAiBuC,KAAK,CAAA;AAC9D,cAAMP,OAAOM,MAAME,MAAMF,MAAMG,UAAU;AAEzC,cAAMC,gBAAgB;UACpBpC,IAAI,GAAGZ,gBAAgBiD,cAAc5C,KAAKmB,GAAG;UAC7CC,MAAajB,kBAAW,aAAA;AACtB,mBAAOZ,aAAasD,gBAAgB5C,iBAAiBuC,OAAO,CAACM,OAAO;cAClE,GAAGA;cACHC,cAAcD,EAAEC,iBAAiB,aAAc,cAAyB;YAC1E,EAAA;UACF,CAAA;UACAnB,YAAY;YACVC,OAAO;cACLU,MAAMQ,iBAAiB,aACnB,sCACA;cACJ;gBAAEjB,IAAI9B,KAAKO;cAAG;;YAEhBwB,MAAM;YACNiB,YAAY;cACVC,OAAO;YACT;YACAC,aAAa;YACbC,UAAU;YACVC,cAAc;UAChB;QACF;AAEA,eAAO,CAACnB,MAAMoB,OAAO;UAACpC;UAAce;UAAaM;UAAUK;YAAiB;UAACA;;MAC/E,CAAA;IACJ,CAAA;GACD;AAED,SAAOnD,WAAW8D,YAAY7D,gBAAgB8D,iBAAiBnD,WAAWoD,KAAI,CAAA;AAChF,CAAA,CAAA;",
6
+ "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "AppNode", "LayoutOperation", "Operation", "AttentionCapabilities", "GraphBuilder", "NodeMatcher", "meta", "DeckCapabilities", "makeModule", "fnUntraced", "extensions", "all", "createExtension", "id", "match", "whenRoot", "connector", "succeed", "makeNotFound", "actions", "_node", "get", "gen", "closeCurrent", "Close", "key", "data", "attention", "Attention", "attended", "getCurrent", "at", "invoke", "subject", "properties", "label", "ns", "icon", "closeOthers", "deck", "getDeck", "ids", "active", "filter", "closeAll", "state", "State", "decks", "activeDeck", "toggleSidebar", "UpdateSidebar", "updateAtomValue", "s", "sidebarState", "keyBinding", "macos", "disposition", "position", "l0Breakpoint", "solo", "contributes", "AppGraphBuilder", "flat"]
7
+ }
@@ -0,0 +1,23 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/index.ts
4
+ import { Capability } from "@dxos/app-framework";
5
+ var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-MRA3OMKO.mjs"));
6
+ var CheckAppScheme = Capability.lazy("CheckAppScheme", () => import("../check-app-scheme-A7FZVNZO.mjs"));
7
+ var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-266CVMTW.mjs"));
8
+ var ReactRoot = Capability.lazy("ReactRoot", () => import("../react-root-WZ6KH27J.mjs"));
9
+ var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-KAAZDHV3.mjs"));
10
+ var DeckSettings = Capability.lazy("DeckSettings", () => import("../settings-EGNYUM4T.mjs"));
11
+ var DeckState = Capability.lazy("DeckState", () => import("../state-IIDXMQUO.mjs"));
12
+ var UrlHandler = Capability.lazy("UrlHandler", () => import("../url-handler-3QTKEM2K.mjs"));
13
+ export {
14
+ AppGraphBuilder,
15
+ CheckAppScheme,
16
+ DeckSettings,
17
+ DeckState,
18
+ OperationHandler,
19
+ ReactRoot,
20
+ ReactSurface,
21
+ UrlHandler
22
+ };
23
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/capabilities/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const CheckAppScheme = Capability.lazy('CheckAppScheme', () => import('./check-app-scheme'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactRoot = Capability.lazy('ReactRoot', () => import('./react-root'));\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const DeckSettings = Capability.lazy('DeckSettings', () => import('./settings'));\nexport const DeckState = Capability.lazy('DeckState', () => import('./state'));\nexport const UrlHandler = Capability.lazy('UrlHandler', () => import('./url-handler'));\n"],
5
+ "mappings": ";;;AAIA,SAASA,kBAAkB;AAGpB,IAAMC,kBAAkBD,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMC,iBAAiBH,WAAWE,KAAK,kBAAkB,MAAM,OAAO,kCAAA,CAAA;AACtE,IAAME,mBAAmBJ,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMG,YAAYL,WAAWE,KAAK,aAAa,MAAM,OAAO,4BAAA,CAAA;AAC5D,IAAMI,eAAeN,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMK,eAAeP,WAAWE,KAAK,gBAAgB,MAAM,OAAO,0BAAA,CAAA;AAClE,IAAMM,YAAYR,WAAWE,KAAK,aAAa,MAAM,OAAO,uBAAA,CAAA;AAC5D,IAAMO,aAAaT,WAAWE,KAAK,cAAc,MAAM,OAAO,6BAAA,CAAA;",
6
+ "names": ["Capability", "AppGraphBuilder", "lazy", "CheckAppScheme", "OperationHandler", "ReactRoot", "ReactSurface", "DeckSettings", "DeckState", "UrlHandler"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ check_app_scheme_default,
3
+ shouldDeferNavigationHandlers
4
+ } from "./chunk-VHETZ22W.mjs";
5
+ import "./chunk-J5LGTIGS.mjs";
6
+ export {
7
+ check_app_scheme_default as default,
8
+ shouldDeferNavigationHandlers
9
+ };
10
+ //# sourceMappingURL=check-app-scheme-A7FZVNZO.mjs.map
@@ -0,0 +1,35 @@
1
+ // src/meta.ts
2
+ import { trim } from "@dxos/util";
3
+ var meta = {
4
+ id: "org.dxos.plugin.deck",
5
+ name: "Layout",
6
+ author: "DXOS",
7
+ spec: "PLUGIN.mdl",
8
+ description: trim`
9
+ The Deck plugin is the core layout engine for DXOS Composer. It manages the multi-plank
10
+ workspace (the "deck"), sidebar panels, dialogs, popovers, and toast notifications, giving
11
+ users a flexible, persistent workspace they can arrange to match their workflow.
12
+
13
+ In multi mode, subjects are opened as resizable "planks" arranged side by side. Users can
14
+ navigate with stack semantics — opening from a pivot truncates planks to the right and
15
+ appends the new one — or switch to solo or fullscreen mode for focused, distraction-free
16
+ viewing.
17
+
18
+ Layout state (active planks, sidebar visibility, plank sizes, companion pane) is persisted
19
+ across sessions via KVS/localStorage. URL routing is handled by the plugin so that any
20
+ workspace configuration can be bookmarked or shared as a deep link.
21
+
22
+ All layout changes are expressed through typed LayoutOperations (Open, Close, SetLayoutMode,
23
+ UpdateSidebar, UpdateDialog, UpdatePopover, etc.) that any plugin in the system can dispatch,
24
+ keeping the layout logic centralised and easy to extend.
25
+ `,
26
+ icon: "ph--layout--regular",
27
+ tags: [
28
+ "system"
29
+ ]
30
+ };
31
+
32
+ export {
33
+ meta
34
+ };
35
+ //# sourceMappingURL=chunk-3WIBNTUT.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.deck',\n name: 'Layout',\n author: 'DXOS',\n spec: 'PLUGIN.mdl',\n description: trim`\n The Deck plugin is the core layout engine for DXOS Composer. It manages the multi-plank\n workspace (the \"deck\"), sidebar panels, dialogs, popovers, and toast notifications, giving\n users a flexible, persistent workspace they can arrange to match their workflow.\n\n In multi mode, subjects are opened as resizable \"planks\" arranged side by side. Users can\n navigate with stack semantics — opening from a pivot truncates planks to the right and\n appends the new one — or switch to solo or fullscreen mode for focused, distraction-free\n viewing.\n\n Layout state (active planks, sidebar visibility, plank sizes, companion pane) is persisted\n across sessions via KVS/localStorage. URL routing is handled by the plugin so that any\n workspace configuration can be bookmarked or shared as a deep link.\n\n All layout changes are expressed through typed LayoutOperations (Open, Close, SetLayoutMode,\n UpdateSidebar, UpdateDialog, UpdatePopover, etc.) that any plugin in the system can dispatch,\n keeping the layout logic centralised and easy to extend.\n `,\n icon: 'ph--layout--regular',\n tags: ['system'],\n};\n"],
5
+ "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,QAAQ;EACRC,MAAM;EACNC,aAAaN;;;;;;;;;;;;;;;;;;EAkBbO,MAAM;EACNC,MAAM;IAAC;;AACT;",
6
+ "names": ["trim", "meta", "id", "name", "author", "spec", "description", "icon", "tags"]
7
+ }
@@ -0,0 +1,8 @@
1
+ // src/operations/index.ts
2
+ import { OperationHandlerSet } from "@dxos/compute";
3
+ var DeckOperationHandlerSet = OperationHandlerSet.lazy(() => import("./add-toast-H2PK2S3H.mjs"), () => import("./adjust-J6ZPQ5BT.mjs"), () => import("./close-IPQTWQXS.mjs"), () => import("./open-OAKTKZM2.mjs"), () => import("./revert-workspace-PLY4YQ4X.mjs"), () => import("./scroll-into-view-INJL3YOV.mjs"), () => import("./set-CQ6AO7QB.mjs"), () => import("./set-layout-mode-NBPJRYGC.mjs"), () => import("./show-undo-EZH7JPAV.mjs"), () => import("./switch-workspace-UCFFW3B6.mjs"), () => import("./update-companion-NCPRS5MP.mjs"), () => import("./update-complementary-4RERA3VA.mjs"), () => import("./update-dialog-GMFMY7KZ.mjs"), () => import("./update-plank-size-TO7RMHQM.mjs"), () => import("./update-popover-H3KBQQZ4.mjs"), () => import("./update-sidebar-OM7EGDQR.mjs"));
4
+
5
+ export {
6
+ DeckOperationHandlerSet
7
+ };
8
+ //# sourceMappingURL=chunk-FBN443XP.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const DeckOperationHandlerSet = OperationHandlerSet.lazy(\n () => import('./add-toast'),\n () => import('./adjust'),\n () => import('./close'),\n () => import('./open'),\n () => import('./revert-workspace'),\n () => import('./scroll-into-view'),\n () => import('./set'),\n () => import('./set-layout-mode'),\n () => import('./show-undo'),\n () => import('./switch-workspace'),\n () => import('./update-companion'),\n () => import('./update-complementary'),\n () => import('./update-dialog'),\n () => import('./update-plank-size'),\n () => import('./update-popover'),\n () => import('./update-sidebar'),\n);\n"],
5
+ "mappings": ";AAIA,SAASA,2BAA2B;AAE7B,IAAMC,0BAA0BD,oBAAoBE,KACzD,MAAM,OAAO,0BAAA,GACb,MAAM,OAAO,uBAAA,GACb,MAAM,OAAO,sBAAA,GACb,MAAM,OAAO,qBAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,oBAAA,GACb,MAAM,OAAO,gCAAA,GACb,MAAM,OAAO,0BAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,qCAAA,GACb,MAAM,OAAO,8BAAA,GACb,MAAM,OAAO,kCAAA,GACb,MAAM,OAAO,+BAAA,GACb,MAAM,OAAO,+BAAA,CAAA;",
6
+ "names": ["OperationHandlerSet", "DeckOperationHandlerSet", "lazy"]
7
+ }