@dxos/plugin-deck 0.8.4-main.d05673bc65 → 0.8.4-main.d9fc60f731

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 (580) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +541 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/DeckLayout-YABVXRDU.mjs +291 -0
  5. package/dist/lib/neutral/DeckLayout-YABVXRDU.mjs.map +7 -0
  6. package/dist/lib/neutral/DeckPlugin.mjs +87 -0
  7. package/dist/lib/neutral/DeckPlugin.mjs.map +7 -0
  8. package/dist/lib/neutral/DeckPlugin.node.mjs +18 -0
  9. package/dist/lib/neutral/DeckPlugin.node.mjs.map +7 -0
  10. package/dist/lib/neutral/DeckPlugin.workerd.mjs +16 -0
  11. package/dist/lib/neutral/DeckPlugin.workerd.mjs.map +7 -0
  12. package/dist/lib/neutral/DeckSettings-W5I57OXM.mjs +27 -0
  13. package/dist/lib/neutral/DeckSettings-W5I57OXM.mjs.map +7 -0
  14. package/dist/lib/neutral/add-toast-TNB6DXWU.mjs +24 -0
  15. package/dist/lib/neutral/add-toast-TNB6DXWU.mjs.map +7 -0
  16. package/dist/lib/neutral/adjust-HNU5CCRO.mjs +93 -0
  17. package/dist/lib/neutral/adjust-HNU5CCRO.mjs.map +7 -0
  18. package/dist/lib/neutral/app-graph-builder-HMLT627T.mjs +129 -0
  19. package/dist/lib/neutral/app-graph-builder-HMLT627T.mjs.map +7 -0
  20. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  21. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  22. package/dist/lib/neutral/check-app-scheme-A7FZVNZO.mjs +10 -0
  23. package/dist/lib/neutral/chunk-BS4EOYMK.mjs +282 -0
  24. package/dist/lib/neutral/chunk-BS4EOYMK.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-GBIGQKYW.mjs +112 -0
  26. package/dist/lib/neutral/chunk-GBIGQKYW.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-GLB73Q6U.mjs +22 -0
  28. package/dist/lib/neutral/chunk-GLB73Q6U.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  30. package/dist/lib/neutral/chunk-OQGC7JYT.mjs +8 -0
  31. package/dist/lib/neutral/chunk-OQGC7JYT.mjs.map +7 -0
  32. package/dist/lib/neutral/chunk-PYEY5SEC.mjs +37 -0
  33. package/dist/lib/neutral/chunk-PYEY5SEC.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-Q534NBCS.mjs +1305 -0
  35. package/dist/lib/neutral/chunk-Q534NBCS.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-VHETZ22W.mjs +101 -0
  37. package/dist/lib/neutral/chunk-VHETZ22W.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-ZYYOSX5I.mjs +69 -0
  39. package/dist/lib/neutral/chunk-ZYYOSX5I.mjs.map +7 -0
  40. package/dist/lib/neutral/close-ASKR22A6.mjs +44 -0
  41. package/dist/lib/neutral/close-ASKR22A6.mjs.map +7 -0
  42. package/dist/lib/neutral/components/index.mjs +126 -0
  43. package/dist/lib/neutral/components/index.mjs.map +7 -0
  44. package/dist/lib/neutral/containers/index.mjs +32 -0
  45. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  46. package/dist/lib/{browser/chunk-TAHLKBDO.mjs → neutral/hooks/index.mjs} +34 -62
  47. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  48. package/dist/lib/neutral/index.mjs +38 -0
  49. package/dist/lib/neutral/index.mjs.map +7 -0
  50. package/dist/lib/neutral/meta.json +1 -0
  51. package/dist/lib/neutral/meta.mjs +8 -0
  52. package/dist/lib/neutral/meta.mjs.map +7 -0
  53. package/dist/lib/neutral/notification-tracker-BYKXOXDE.mjs +128 -0
  54. package/dist/lib/neutral/notification-tracker-BYKXOXDE.mjs.map +7 -0
  55. package/dist/lib/neutral/open-IFIEYVHG.mjs +159 -0
  56. package/dist/lib/neutral/open-IFIEYVHG.mjs.map +7 -0
  57. package/dist/lib/neutral/operation-handler-266CVMTW.mjs +13 -0
  58. package/dist/lib/neutral/operation-handler-266CVMTW.mjs.map +7 -0
  59. package/dist/lib/neutral/operations/index.mjs +8 -0
  60. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  61. package/dist/lib/neutral/plugin.mjs +16 -0
  62. package/dist/lib/neutral/plugin.mjs.map +7 -0
  63. package/dist/lib/neutral/react-root-HH5DEUOG.mjs +44 -0
  64. package/dist/lib/neutral/react-root-HH5DEUOG.mjs.map +7 -0
  65. package/dist/lib/neutral/react-surface-3UVVCK3O.mjs +34 -0
  66. package/dist/lib/neutral/react-surface-3UVVCK3O.mjs.map +7 -0
  67. package/dist/lib/neutral/revert-workspace-B2QLT2C4.mjs +21 -0
  68. package/dist/lib/neutral/revert-workspace-B2QLT2C4.mjs.map +7 -0
  69. package/dist/lib/neutral/scroll-into-view-B52C3PJO.mjs +21 -0
  70. package/dist/lib/neutral/scroll-into-view-B52C3PJO.mjs.map +7 -0
  71. package/dist/lib/neutral/set-PA35ONXO.mjs +37 -0
  72. package/dist/lib/neutral/set-PA35ONXO.mjs.map +7 -0
  73. package/dist/lib/neutral/set-layout-mode-RPCCPQRB.mjs +85 -0
  74. package/dist/lib/neutral/set-layout-mode-RPCCPQRB.mjs.map +7 -0
  75. package/dist/lib/{browser/settings-PTMGCSJH.mjs → neutral/settings-EGNYUM4T.mjs} +7 -14
  76. package/dist/lib/neutral/settings-EGNYUM4T.mjs.map +7 -0
  77. package/dist/lib/{browser/state-MA4SQ7BE.mjs → neutral/state-IIDXMQUO.mjs} +13 -33
  78. package/dist/lib/neutral/state-IIDXMQUO.mjs.map +7 -0
  79. package/dist/lib/neutral/switch-workspace-LZF4KZXH.mjs +60 -0
  80. package/dist/lib/neutral/switch-workspace-LZF4KZXH.mjs.map +7 -0
  81. package/dist/lib/neutral/translations.mjs +59 -0
  82. package/dist/lib/neutral/translations.mjs.map +7 -0
  83. package/dist/lib/neutral/types/index.mjs +34 -0
  84. package/dist/lib/neutral/types/index.mjs.map +7 -0
  85. package/dist/lib/neutral/update-companion-YUCZZVGY.mjs +32 -0
  86. package/dist/lib/neutral/update-companion-YUCZZVGY.mjs.map +7 -0
  87. package/dist/lib/neutral/update-complementary-7FZNB55J.mjs +28 -0
  88. package/dist/lib/neutral/update-complementary-7FZNB55J.mjs.map +7 -0
  89. package/dist/lib/neutral/update-dialog-FNQTSSAP.mjs +29 -0
  90. package/dist/lib/neutral/update-dialog-FNQTSSAP.mjs.map +7 -0
  91. package/dist/lib/neutral/update-plank-size-3YW4NXEY.mjs +26 -0
  92. package/dist/lib/neutral/update-plank-size-3YW4NXEY.mjs.map +7 -0
  93. package/dist/lib/neutral/update-popover-G2VUD7E6.mjs +33 -0
  94. package/dist/lib/neutral/update-popover-G2VUD7E6.mjs.map +7 -0
  95. package/dist/lib/neutral/update-sidebar-KRHPUHUB.mjs +25 -0
  96. package/dist/lib/neutral/update-sidebar-KRHPUHUB.mjs.map +7 -0
  97. package/dist/lib/neutral/url-handler-4SW6BFAC.mjs +229 -0
  98. package/dist/lib/neutral/url-handler-4SW6BFAC.mjs.map +7 -0
  99. package/dist/types/src/DeckPlugin.d.ts +1 -0
  100. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  101. package/dist/types/src/DeckPlugin.node.d.ts +4 -0
  102. package/dist/types/src/DeckPlugin.node.d.ts.map +1 -0
  103. package/dist/types/src/DeckPlugin.test.d.ts +2 -0
  104. package/dist/types/src/DeckPlugin.test.d.ts.map +1 -0
  105. package/dist/types/src/DeckPlugin.workerd.d.ts +4 -0
  106. package/dist/types/src/DeckPlugin.workerd.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  108. package/dist/types/src/capabilities/check-app-scheme.d.ts +19 -0
  109. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -0
  110. package/dist/types/src/capabilities/index.d.ts +199 -9
  111. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/notification-tracker.d.ts +13 -0
  113. package/dist/types/src/capabilities/notification-tracker.d.ts.map +1 -0
  114. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  115. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  118. package/dist/types/src/capabilities/settings.d.ts +7 -0
  119. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  120. package/dist/types/src/capabilities/{state/state.d.ts → state.d.ts} +50 -34
  121. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  122. package/dist/types/src/capabilities/{tools/tools.d.ts → tools.d.ts} +1 -1
  123. package/dist/types/src/capabilities/tools.d.ts.map +1 -0
  124. package/dist/types/src/capabilities/{url-handler/url-handler.d.ts → url-handler.d.ts} +1 -1
  125. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -0
  126. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts +6 -0
  127. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -0
  128. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts +63 -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 +2 -0
  131. package/dist/types/src/components/DeckSettings/index.d.ts.map +1 -0
  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 -1
  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 +63 -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/{components → containers}/DeckLayout/ActiveNode.d.ts.map +1 -1
  156. package/dist/types/src/containers/DeckLayout/DeckLayout.d.ts.map +1 -0
  157. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts +65 -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 +1 -1
  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 +63 -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/{components → containers}/Plank/PlankError.d.ts +2 -2
  180. package/dist/types/src/containers/Plank/PlankError.d.ts.map +1 -0
  181. package/dist/types/src/{components → containers}/Plank/PlankHeading.d.ts +3 -2
  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 +4 -2
  194. package/dist/types/src/containers/index.d.ts.map +1 -1
  195. package/dist/types/src/hooks/index.d.ts +0 -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 +2 -1
  200. package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -1
  201. package/dist/types/src/hooks/useDeckState.d.ts +3 -3
  202. package/dist/types/src/hooks/useDeckState.d.ts.map +1 -1
  203. package/dist/types/src/hooks/useMainSize.d.ts.map +1 -1
  204. package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
  205. package/dist/types/src/hooks/useSelectedCompanion.d.ts.map +1 -1
  206. package/dist/types/src/index.d.ts +1 -3
  207. package/dist/types/src/index.d.ts.map +1 -1
  208. package/dist/types/src/layout.d.ts +20 -3
  209. package/dist/types/src/layout.d.ts.map +1 -1
  210. package/dist/types/src/layout.test.d.ts +2 -0
  211. package/dist/types/src/layout.test.d.ts.map +1 -0
  212. package/dist/types/src/meta.d.ts +1 -1
  213. package/dist/types/src/meta.d.ts.map +1 -1
  214. package/dist/types/src/operations/add-toast.d.ts +5 -0
  215. package/dist/types/src/operations/add-toast.d.ts.map +1 -0
  216. package/dist/types/src/operations/adjust.d.ts +5 -0
  217. package/dist/types/src/operations/adjust.d.ts.map +1 -0
  218. package/dist/types/src/operations/close.d.ts +5 -0
  219. package/dist/types/src/operations/close.d.ts.map +1 -0
  220. package/dist/types/src/operations/helpers.d.ts +3 -0
  221. package/dist/types/src/operations/helpers.d.ts.map +1 -0
  222. package/dist/types/src/operations/index.d.ts +3 -0
  223. package/dist/types/src/operations/index.d.ts.map +1 -0
  224. package/dist/types/src/operations/open.d.ts +5 -0
  225. package/dist/types/src/operations/open.d.ts.map +1 -0
  226. package/dist/types/src/operations/revert-workspace.d.ts +5 -0
  227. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -0
  228. package/dist/types/src/operations/scroll-into-view.d.ts +5 -0
  229. package/dist/types/src/operations/scroll-into-view.d.ts.map +1 -0
  230. package/dist/types/src/operations/set-layout-mode.d.ts +9 -0
  231. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
  232. package/dist/types/src/operations/set.d.ts +5 -0
  233. package/dist/types/src/operations/set.d.ts.map +1 -0
  234. package/dist/types/src/operations/switch-workspace.d.ts +5 -0
  235. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
  236. package/dist/types/src/operations/update-companion.d.ts +5 -0
  237. package/dist/types/src/operations/update-companion.d.ts.map +1 -0
  238. package/dist/types/src/operations/update-complementary.d.ts +5 -0
  239. package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
  240. package/dist/types/src/operations/update-dialog.d.ts +5 -0
  241. package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
  242. package/dist/types/src/operations/update-plank-size.d.ts +5 -0
  243. package/dist/types/src/operations/update-plank-size.d.ts.map +1 -0
  244. package/dist/types/src/operations/update-popover.d.ts +5 -0
  245. package/dist/types/src/operations/update-popover.d.ts.map +1 -0
  246. package/dist/types/src/operations/update-sidebar.d.ts +5 -0
  247. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
  248. package/dist/types/src/plugin.d.ts +4 -0
  249. package/dist/types/src/plugin.d.ts.map +1 -0
  250. package/dist/types/src/translations.d.ts +44 -56
  251. package/dist/types/src/translations.d.ts.map +1 -1
  252. package/dist/types/src/{capabilities/state/index.d.ts → types/DeckCapabilities.d.ts} +63 -47
  253. package/dist/types/src/types/DeckCapabilities.d.ts.map +1 -0
  254. package/dist/types/src/types/DeckEvents.d.ts +5 -0
  255. package/dist/types/src/types/DeckEvents.d.ts.map +1 -0
  256. package/dist/types/src/types/DeckOperation.d.ts +15 -0
  257. package/dist/types/src/types/DeckOperation.d.ts.map +1 -0
  258. package/dist/types/src/types/Settings.d.ts +10 -0
  259. package/dist/types/src/types/Settings.d.ts.map +1 -0
  260. package/dist/types/src/types/index.d.ts +4 -2
  261. package/dist/types/src/types/index.d.ts.map +1 -1
  262. package/dist/types/src/types/schema.d.ts +45 -106
  263. package/dist/types/src/types/schema.d.ts.map +1 -1
  264. package/dist/types/src/util/index.d.ts +2 -1
  265. package/dist/types/src/util/index.d.ts.map +1 -1
  266. package/dist/types/src/util/layoutAppliesTopbar.d.ts +1 -1
  267. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
  268. package/dist/types/src/util/plank-url-params.d.ts +14 -0
  269. package/dist/types/src/util/plank-url-params.d.ts.map +1 -0
  270. package/dist/types/src/util/plank-url-params.test.d.ts +2 -0
  271. package/dist/types/src/util/plank-url-params.test.d.ts.map +1 -0
  272. package/dist/types/src/util/sanitize-persisted-state.d.ts +19 -0
  273. package/dist/types/src/util/sanitize-persisted-state.d.ts.map +1 -0
  274. package/dist/types/src/util/sanitize-persisted-state.test.d.ts +2 -0
  275. package/dist/types/src/util/sanitize-persisted-state.test.d.ts.map +1 -0
  276. package/dist/types/src/util/set-active.d.ts +2 -2
  277. package/dist/types/src/util/set-active.d.ts.map +1 -1
  278. package/dist/types/src/util/set-active.test.d.ts +2 -0
  279. package/dist/types/src/util/set-active.test.d.ts.map +1 -0
  280. package/dist/types/tsconfig.tsbuildinfo +1 -1
  281. package/package.json +112 -56
  282. package/src/DeckPlugin.node.ts +17 -0
  283. package/src/DeckPlugin.test.ts +27 -0
  284. package/src/DeckPlugin.ts +23 -16
  285. package/src/DeckPlugin.workerd.ts +16 -0
  286. package/src/capabilities/app-graph-builder.ts +127 -0
  287. package/src/capabilities/check-app-scheme.ts +139 -0
  288. package/src/capabilities/index.ts +15 -10
  289. package/src/capabilities/notification-tracker.ts +132 -0
  290. package/src/capabilities/operation-handler.ts +16 -0
  291. package/src/capabilities/react-root.tsx +52 -0
  292. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +12 -14
  293. package/src/capabilities/{settings/settings.ts → settings.ts} +4 -7
  294. package/src/capabilities/{state/state.ts → state.ts} +12 -26
  295. package/src/capabilities/{tools/tools.ts → tools.ts} +7 -7
  296. package/src/capabilities/url-handler.ts +302 -0
  297. package/src/components/DeckSettings/DeckSettings.stories.tsx +37 -0
  298. package/src/components/DeckSettings/DeckSettings.tsx +34 -0
  299. package/src/components/DeckSettings/index.ts +5 -0
  300. package/src/components/Matrix/Matrix.stories.tsx +220 -0
  301. package/src/components/Matrix/Matrix.tsx +205 -0
  302. package/src/components/Matrix/SPEC.md +219 -0
  303. package/src/components/Matrix/index.ts +6 -0
  304. package/src/components/index.ts +6 -2
  305. package/src/{components/DeckLayout → containers/Deck}/Banner.tsx +7 -5
  306. package/src/containers/Deck/Deck.stories.tsx +81 -0
  307. package/src/containers/Deck/Deck.tsx +21 -0
  308. package/src/containers/Deck/DeckContent.tsx +102 -0
  309. package/src/containers/Deck/DeckRoot.tsx +50 -0
  310. package/src/containers/Deck/DeckViewport.tsx +450 -0
  311. package/src/containers/Deck/index.ts +5 -0
  312. package/src/{components → containers}/DeckLayout/ActiveNode.tsx +8 -4
  313. package/src/containers/DeckLayout/DeckLayout.stories.tsx +395 -0
  314. package/src/containers/DeckLayout/DeckLayout.tsx +62 -0
  315. package/src/{components → containers}/DeckLayout/Dialog.tsx +11 -4
  316. package/src/{components → containers}/DeckLayout/Fallback.tsx +5 -5
  317. package/src/containers/DeckLayout/Popover.tsx +166 -0
  318. package/src/{components → containers}/DeckLayout/Toast.tsx +20 -30
  319. package/src/{components → containers}/DeckLayout/constants.ts +1 -0
  320. package/src/{components → containers}/DeckLayout/index.ts +3 -2
  321. package/src/containers/Plank/Plank.stories.tsx +108 -0
  322. package/src/containers/Plank/Plank.tsx +22 -0
  323. package/src/containers/Plank/PlankComponent.tsx +218 -0
  324. package/src/containers/Plank/PlankContent.tsx +45 -0
  325. package/src/{components → containers}/Plank/PlankControls.tsx +37 -28
  326. package/src/{components → containers}/Plank/PlankError.tsx +25 -6
  327. package/src/{components → containers}/Plank/PlankHeading.tsx +52 -40
  328. package/src/{components → containers}/Plank/PlankLoading.tsx +1 -1
  329. package/src/containers/Plank/PlankRoot.tsx +49 -0
  330. package/src/{components → containers}/Plank/index.ts +0 -2
  331. package/src/containers/Sidebar/ComplementarySidebar.tsx +191 -0
  332. package/src/containers/Sidebar/Sidebar.tsx +39 -0
  333. package/src/{components → containers}/Sidebar/SidebarButton.tsx +17 -11
  334. package/src/containers/index.ts +5 -2
  335. package/src/hooks/index.ts +0 -1
  336. package/src/hooks/useCompanions.ts +1 -1
  337. package/src/hooks/useDeckCompanions.ts +3 -2
  338. package/src/hooks/useDeckState.ts +11 -20
  339. package/src/hooks/useSelectedCompanion.ts +4 -4
  340. package/src/index.ts +1 -3
  341. package/src/layout.test.ts +59 -0
  342. package/src/layout.ts +38 -27
  343. package/src/meta.ts +24 -6
  344. package/src/operations/add-toast.ts +24 -0
  345. package/src/operations/adjust.ts +82 -0
  346. package/src/operations/close.ts +35 -0
  347. package/src/operations/helpers.ts +22 -0
  348. package/src/operations/index.ts +23 -0
  349. package/src/operations/open.ts +200 -0
  350. package/src/operations/revert-workspace.ts +22 -0
  351. package/src/operations/scroll-into-view.ts +24 -0
  352. package/src/operations/set-layout-mode.ts +84 -0
  353. package/src/operations/set.ts +36 -0
  354. package/src/operations/switch-workspace.ts +66 -0
  355. package/src/operations/update-companion.ts +35 -0
  356. package/src/operations/update-complementary.ts +33 -0
  357. package/src/operations/update-dialog.ts +34 -0
  358. package/src/operations/update-plank-size.ts +28 -0
  359. package/src/operations/update-popover.ts +36 -0
  360. package/src/operations/update-sidebar.ts +28 -0
  361. package/src/plugin.ts +11 -0
  362. package/src/translations.ts +44 -55
  363. package/src/types/DeckCapabilities.ts +34 -0
  364. package/src/types/DeckEvents.ts +21 -0
  365. package/src/types/DeckOperation.ts +56 -0
  366. package/src/types/Settings.ts +36 -0
  367. package/src/types/index.ts +5 -2
  368. package/src/types/schema.ts +33 -113
  369. package/src/util/index.ts +2 -1
  370. package/src/util/layoutAppliesTopbar.ts +1 -1
  371. package/src/util/plank-url-params.test.ts +85 -0
  372. package/src/util/plank-url-params.ts +36 -0
  373. package/src/util/sanitize-persisted-state.test.ts +79 -0
  374. package/src/util/sanitize-persisted-state.ts +52 -0
  375. package/src/util/set-active.test.ts +106 -0
  376. package/src/util/set-active.ts +2 -2
  377. package/src/vite-env.d.ts +10 -0
  378. package/dist/lib/browser/Banner-HXRXEUOZ.mjs +0 -14
  379. package/dist/lib/browser/Banner-HXRXEUOZ.mjs.map +0 -7
  380. package/dist/lib/browser/DeckSettings-HSSQKFNE.mjs +0 -96
  381. package/dist/lib/browser/DeckSettings-HSSQKFNE.mjs.map +0 -7
  382. package/dist/lib/browser/app-graph-builder-MP6INIM2.mjs +0 -123
  383. package/dist/lib/browser/app-graph-builder-MP6INIM2.mjs.map +0 -7
  384. package/dist/lib/browser/check-app-scheme-AUNCD2Y6.mjs +0 -33
  385. package/dist/lib/browser/check-app-scheme-AUNCD2Y6.mjs.map +0 -7
  386. package/dist/lib/browser/chunk-3P2FJVXC.mjs +0 -278
  387. package/dist/lib/browser/chunk-3P2FJVXC.mjs.map +0 -7
  388. package/dist/lib/browser/chunk-BJDEG7YZ.mjs +0 -74
  389. package/dist/lib/browser/chunk-BJDEG7YZ.mjs.map +0 -7
  390. package/dist/lib/browser/chunk-ITNJS5QX.mjs +0 -1386
  391. package/dist/lib/browser/chunk-ITNJS5QX.mjs.map +0 -7
  392. package/dist/lib/browser/chunk-L3RYMAV7.mjs +0 -16
  393. package/dist/lib/browser/chunk-L3RYMAV7.mjs.map +0 -7
  394. package/dist/lib/browser/chunk-TAHLKBDO.mjs.map +0 -7
  395. package/dist/lib/browser/index.mjs +0 -184
  396. package/dist/lib/browser/index.mjs.map +0 -7
  397. package/dist/lib/browser/meta.json +0 -1
  398. package/dist/lib/browser/operation-resolver-2TEGT4PG.mjs +0 -639
  399. package/dist/lib/browser/operation-resolver-2TEGT4PG.mjs.map +0 -7
  400. package/dist/lib/browser/react-root-AS4IOYDG.mjs +0 -48
  401. package/dist/lib/browser/react-root-AS4IOYDG.mjs.map +0 -7
  402. package/dist/lib/browser/react-surface-FH7TC6WW.mjs +0 -44
  403. package/dist/lib/browser/react-surface-FH7TC6WW.mjs.map +0 -7
  404. package/dist/lib/browser/settings-PTMGCSJH.mjs.map +0 -7
  405. package/dist/lib/browser/state-MA4SQ7BE.mjs.map +0 -7
  406. package/dist/lib/browser/toolkit-6B34QFU3.mjs +0 -55
  407. package/dist/lib/browser/toolkit-6B34QFU3.mjs.map +0 -7
  408. package/dist/lib/browser/types/index.mjs +0 -38
  409. package/dist/lib/browser/url-handler-FEUFPQIP.mjs +0 -98
  410. package/dist/lib/browser/url-handler-FEUFPQIP.mjs.map +0 -7
  411. package/dist/lib/node-esm/Banner-RN7XXOXY.mjs +0 -15
  412. package/dist/lib/node-esm/Banner-RN7XXOXY.mjs.map +0 -7
  413. package/dist/lib/node-esm/DeckSettings-DJRFLKQS.mjs +0 -97
  414. package/dist/lib/node-esm/DeckSettings-DJRFLKQS.mjs.map +0 -7
  415. package/dist/lib/node-esm/app-graph-builder-ACHG5HY7.mjs +0 -124
  416. package/dist/lib/node-esm/app-graph-builder-ACHG5HY7.mjs.map +0 -7
  417. package/dist/lib/node-esm/check-app-scheme-WN76GWVC.mjs +0 -34
  418. package/dist/lib/node-esm/check-app-scheme-WN76GWVC.mjs.map +0 -7
  419. package/dist/lib/node-esm/chunk-DGTRKKWZ.mjs +0 -76
  420. package/dist/lib/node-esm/chunk-DGTRKKWZ.mjs.map +0 -7
  421. package/dist/lib/node-esm/chunk-EMU4VIPH.mjs +0 -188
  422. package/dist/lib/node-esm/chunk-EMU4VIPH.mjs.map +0 -7
  423. package/dist/lib/node-esm/chunk-GZJAQ5IP.mjs +0 -279
  424. package/dist/lib/node-esm/chunk-GZJAQ5IP.mjs.map +0 -7
  425. package/dist/lib/node-esm/chunk-MBCCNIWY.mjs +0 -1387
  426. package/dist/lib/node-esm/chunk-MBCCNIWY.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-XCNF4COU.mjs +0 -18
  428. package/dist/lib/node-esm/chunk-XCNF4COU.mjs.map +0 -7
  429. package/dist/lib/node-esm/index.mjs +0 -185
  430. package/dist/lib/node-esm/index.mjs.map +0 -7
  431. package/dist/lib/node-esm/meta.json +0 -1
  432. package/dist/lib/node-esm/operation-resolver-GCMCCI7A.mjs +0 -640
  433. package/dist/lib/node-esm/operation-resolver-GCMCCI7A.mjs.map +0 -7
  434. package/dist/lib/node-esm/react-root-7DTDLAF4.mjs +0 -49
  435. package/dist/lib/node-esm/react-root-7DTDLAF4.mjs.map +0 -7
  436. package/dist/lib/node-esm/react-surface-U6Z2K324.mjs +0 -45
  437. package/dist/lib/node-esm/react-surface-U6Z2K324.mjs.map +0 -7
  438. package/dist/lib/node-esm/settings-LPPFLXNJ.mjs +0 -41
  439. package/dist/lib/node-esm/settings-LPPFLXNJ.mjs.map +0 -7
  440. package/dist/lib/node-esm/state-KNRU3GDC.mjs +0 -107
  441. package/dist/lib/node-esm/state-KNRU3GDC.mjs.map +0 -7
  442. package/dist/lib/node-esm/toolkit-SOWYKJY3.mjs +0 -56
  443. package/dist/lib/node-esm/toolkit-SOWYKJY3.mjs.map +0 -7
  444. package/dist/lib/node-esm/types/index.mjs +0 -39
  445. package/dist/lib/node-esm/url-handler-4LEB7UWF.mjs +0 -99
  446. package/dist/lib/node-esm/url-handler-4LEB7UWF.mjs.map +0 -7
  447. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  448. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  449. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  450. package/dist/types/src/capabilities/check-app-scheme/check-app-scheme.d.ts +0 -5
  451. package/dist/types/src/capabilities/check-app-scheme/check-app-scheme.d.ts.map +0 -1
  452. package/dist/types/src/capabilities/check-app-scheme/index.d.ts +0 -3
  453. package/dist/types/src/capabilities/check-app-scheme/index.d.ts.map +0 -1
  454. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  455. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  456. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  457. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  458. package/dist/types/src/capabilities/react-root/index.d.ts +0 -6
  459. package/dist/types/src/capabilities/react-root/index.d.ts.map +0 -1
  460. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +0 -1
  461. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  462. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  463. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  464. package/dist/types/src/capabilities/settings/index.d.ts +0 -19
  465. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  466. package/dist/types/src/capabilities/settings/settings.d.ts +0 -22
  467. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  468. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  469. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  470. package/dist/types/src/capabilities/toolkit/index.d.ts +0 -3
  471. package/dist/types/src/capabilities/toolkit/index.d.ts.map +0 -1
  472. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +0 -27
  473. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +0 -1
  474. package/dist/types/src/capabilities/tools/index.d.ts +0 -3
  475. package/dist/types/src/capabilities/tools/index.d.ts.map +0 -1
  476. package/dist/types/src/capabilities/tools/tools.d.ts.map +0 -1
  477. package/dist/types/src/capabilities/url-handler/index.d.ts +0 -3
  478. package/dist/types/src/capabilities/url-handler/index.d.ts.map +0 -1
  479. package/dist/types/src/capabilities/url-handler/url-handler.d.ts.map +0 -1
  480. package/dist/types/src/components/DeckLayout/Banner.d.ts.map +0 -1
  481. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts +0 -3
  482. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +0 -1
  483. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +0 -1
  484. package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts +0 -75
  485. package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts.map +0 -1
  486. package/dist/types/src/components/DeckLayout/DeckMain.d.ts +0 -3
  487. package/dist/types/src/components/DeckLayout/DeckMain.d.ts.map +0 -1
  488. package/dist/types/src/components/DeckLayout/Dialog.d.ts.map +0 -1
  489. package/dist/types/src/components/DeckLayout/Fallback.d.ts +0 -3
  490. package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +0 -1
  491. package/dist/types/src/components/DeckLayout/Popover.d.ts +0 -5
  492. package/dist/types/src/components/DeckLayout/Popover.d.ts.map +0 -1
  493. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +0 -1
  494. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +0 -1
  495. package/dist/types/src/components/DeckLayout/Topbar.d.ts +0 -3
  496. package/dist/types/src/components/DeckLayout/Topbar.d.ts.map +0 -1
  497. package/dist/types/src/components/DeckLayout/constants.d.ts.map +0 -1
  498. package/dist/types/src/components/DeckLayout/index.d.ts +0 -4
  499. package/dist/types/src/components/DeckLayout/index.d.ts.map +0 -1
  500. package/dist/types/src/components/Plank/Plank.d.ts +0 -27
  501. package/dist/types/src/components/Plank/Plank.d.ts.map +0 -1
  502. package/dist/types/src/components/Plank/Plank.stories.d.ts +0 -108
  503. package/dist/types/src/components/Plank/Plank.stories.d.ts.map +0 -1
  504. package/dist/types/src/components/Plank/PlankControls.d.ts.map +0 -1
  505. package/dist/types/src/components/Plank/PlankError.d.ts.map +0 -1
  506. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +0 -1
  507. package/dist/types/src/components/Plank/index.d.ts +0 -6
  508. package/dist/types/src/components/Plank/index.d.ts.map +0 -1
  509. package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +0 -1
  510. package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +0 -1
  511. package/dist/types/src/components/Sidebar/SidebarButton.d.ts.map +0 -1
  512. package/dist/types/src/components/fragments.d.ts +0 -7
  513. package/dist/types/src/components/fragments.d.ts.map +0 -1
  514. package/dist/types/src/containers/Banner/Banner.d.ts +0 -2
  515. package/dist/types/src/containers/Banner/Banner.d.ts.map +0 -1
  516. package/dist/types/src/containers/Banner/index.d.ts +0 -3
  517. package/dist/types/src/containers/Banner/index.d.ts.map +0 -1
  518. package/dist/types/src/containers/DeckSettings/DeckSettings.d.ts +0 -8
  519. package/dist/types/src/containers/DeckSettings/DeckSettings.d.ts.map +0 -1
  520. package/dist/types/src/containers/DeckSettings/index.d.ts +0 -3
  521. package/dist/types/src/containers/DeckSettings/index.d.ts.map +0 -1
  522. package/dist/types/src/hooks/useHoistStatusbar.d.ts +0 -3
  523. package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +0 -1
  524. package/dist/types/src/types/capabilities.d.ts +0 -190
  525. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  526. package/dist/types/src/types/events.d.ts +0 -7
  527. package/dist/types/src/types/events.d.ts.map +0 -1
  528. package/dist/types/src/util/overscroll.d.ts +0 -47
  529. package/dist/types/src/util/overscroll.d.ts.map +0 -1
  530. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -119
  531. package/src/capabilities/app-graph-builder/index.ts +0 -7
  532. package/src/capabilities/check-app-scheme/check-app-scheme.ts +0 -45
  533. package/src/capabilities/check-app-scheme/index.ts +0 -7
  534. package/src/capabilities/operation-resolver/index.ts +0 -10
  535. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -558
  536. package/src/capabilities/react-root/index.ts +0 -7
  537. package/src/capabilities/react-root/react-root.tsx +0 -47
  538. package/src/capabilities/react-surface/index.ts +0 -7
  539. package/src/capabilities/settings/index.ts +0 -7
  540. package/src/capabilities/state/index.ts +0 -7
  541. package/src/capabilities/toolkit/index.ts +0 -7
  542. package/src/capabilities/toolkit/toolkit.ts +0 -64
  543. package/src/capabilities/tools/index.ts +0 -7
  544. package/src/capabilities/url-handler/index.ts +0 -7
  545. package/src/capabilities/url-handler/url-handler.ts +0 -98
  546. package/src/components/DeckLayout/ContentEmpty.tsx +0 -30
  547. package/src/components/DeckLayout/DeckLayout.stories.tsx +0 -53
  548. package/src/components/DeckLayout/DeckLayout.tsx +0 -34
  549. package/src/components/DeckLayout/DeckMain.tsx +0 -287
  550. package/src/components/DeckLayout/Popover.tsx +0 -142
  551. package/src/components/DeckLayout/Topbar.tsx +0 -11
  552. package/src/components/Plank/Plank.stories.tsx +0 -64
  553. package/src/components/Plank/Plank.tsx +0 -307
  554. package/src/components/Sidebar/ComplementarySidebar.tsx +0 -218
  555. package/src/components/Sidebar/Sidebar.tsx +0 -42
  556. package/src/components/fragments.ts +0 -19
  557. package/src/containers/Banner/Banner.tsx +0 -5
  558. package/src/containers/Banner/index.ts +0 -7
  559. package/src/containers/DeckSettings/DeckSettings.tsx +0 -113
  560. package/src/containers/DeckSettings/index.ts +0 -7
  561. package/src/hooks/useHoistStatusbar.ts +0 -24
  562. package/src/types/capabilities.ts +0 -33
  563. package/src/types/events.ts +0 -21
  564. package/src/util/overscroll.ts +0 -69
  565. /package/dist/lib/{browser/types/index.mjs.map → neutral/check-app-scheme-A7FZVNZO.mjs.map} +0 -0
  566. /package/dist/lib/{node-esm/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  567. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  568. /package/dist/types/src/capabilities/{react-root/react-root.d.ts → react-root.d.ts} +0 -0
  569. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
  570. /package/dist/types/src/{components/DeckLayout → containers/Deck}/StatusBar.d.ts +0 -0
  571. /package/dist/types/src/{components → containers}/DeckLayout/ActiveNode.d.ts +0 -0
  572. /package/dist/types/src/{components → containers}/DeckLayout/DeckLayout.d.ts +0 -0
  573. /package/dist/types/src/{components → containers}/DeckLayout/Dialog.d.ts +0 -0
  574. /package/dist/types/src/{components → containers}/DeckLayout/constants.d.ts +0 -0
  575. /package/dist/types/src/{components → containers}/Plank/PlankLoading.d.ts +0 -0
  576. /package/dist/types/src/{components → containers}/Sidebar/ComplementarySidebar.d.ts +0 -0
  577. /package/dist/types/src/{components → containers}/Sidebar/Sidebar.d.ts +0 -0
  578. /package/dist/types/src/{components → containers}/Sidebar/index.d.ts +0 -0
  579. /package/src/{components/DeckLayout → containers/Deck}/StatusBar.tsx +0 -0
  580. /package/src/{components → containers}/Sidebar/index.ts +0 -0
@@ -0,0 +1,229 @@
1
+ import {
2
+ updateActiveDeck
3
+ } from "./chunk-GLB73Q6U.mjs";
4
+ import {
5
+ shouldDeferNavigationHandlers
6
+ } from "./chunk-VHETZ22W.mjs";
7
+ import {
8
+ deserializePlanks,
9
+ serializePlanks,
10
+ stripPlanks
11
+ } from "./chunk-GBIGQKYW.mjs";
12
+ import "./chunk-J5LGTIGS.mjs";
13
+
14
+ // src/capabilities/url-handler.ts
15
+ import * as Effect from "effect/Effect";
16
+ import { Capabilities, Capability } from "@dxos/app-framework";
17
+ import { AppCapabilities, LayoutOperation, NOT_FOUND_PATH, expandPath, fromUrlPath, getWorkspaceFromPath, toUrlPath } from "@dxos/app-toolkit";
18
+ import { Operation } from "@dxos/compute";
19
+ import { runAndForwardErrors } from "@dxos/effect";
20
+ import { invariant } from "@dxos/invariant";
21
+ import { log } from "@dxos/log";
22
+ import { Node } from "@dxos/plugin-graph";
23
+ import { isTauri } from "@dxos/util";
24
+ import { DeckCapabilities, defaultDeck } from "#types";
25
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-deck/src/capabilities/url-handler.ts";
26
+ var dispatchNavigationHandlers = Effect.fn(function* (url) {
27
+ const handlers = yield* Capability.getAll(AppCapabilities.NavigationHandler);
28
+ yield* Effect.all(handlers.map((handler) => handler(url)), {
29
+ concurrency: "unbounded"
30
+ });
31
+ });
32
+ var url_handler_default = Capability.makeModule(Effect.fnUntraced(function* () {
33
+ const operationService = yield* Capability.get(Capabilities.OperationInvoker);
34
+ const capabilities = yield* Capability.Service;
35
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
36
+ const stateAtom = yield* Capability.get(DeckCapabilities.State);
37
+ const settingsAtom = yield* Capability.get(DeckCapabilities.Settings);
38
+ const provideServices = (effect) => effect.pipe(Effect.provideService(Capability.Service, capabilities), Effect.provideService(Operation.Service, operationService));
39
+ const getState = () => registry.get(stateAtom);
40
+ const getDeck = () => {
41
+ const state = getState();
42
+ const deck = state.decks[state.activeDeck];
43
+ invariant(deck, `Deck not found: ${state.activeDeck}`, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 36, S: this, A: ["deck", "`Deck not found: ${state.activeDeck}`"] });
44
+ return deck;
45
+ };
46
+ const updateState = (fn2) => {
47
+ registry.set(stateAtom, fn2(getState()));
48
+ };
49
+ const handleNavigation = Effect.fn(function* (url) {
50
+ const { graph } = yield* Capability.get(AppCapabilities.AppGraph);
51
+ const resolvedUrl = url ?? new URL(window.location.href);
52
+ const settings = registry.get(settingsAtom);
53
+ const deferHandlers = settings?.enableNativeRedirect && shouldDeferNavigationHandlers();
54
+ if (!deferHandlers) {
55
+ yield* dispatchNavigationHandlers(resolvedUrl);
56
+ }
57
+ const pathname = resolvedUrl.pathname;
58
+ const state = getState();
59
+ if (pathname === "/reset") {
60
+ updateState((s) => ({
61
+ ...s,
62
+ activeDeck: "default",
63
+ decks: {
64
+ default: {
65
+ ...defaultDeck
66
+ }
67
+ }
68
+ }));
69
+ window.location.pathname = "/";
70
+ return;
71
+ }
72
+ const qualifiedId = fromUrlPath(pathname);
73
+ const workspace = getWorkspaceFromPath(qualifiedId);
74
+ if (workspace !== Node.RootId && workspace !== state.activeDeck) {
75
+ yield* Operation.invoke(LayoutOperation.SwitchWorkspace, {
76
+ subject: workspace
77
+ });
78
+ }
79
+ const deck = getDeck();
80
+ const activeId = qualifiedId !== workspace ? qualifiedId : void 0;
81
+ if (activeId) {
82
+ const resolvedIds = yield* Operation.invoke(LayoutOperation.Open, {
83
+ subject: [
84
+ activeId
85
+ ]
86
+ });
87
+ if (!deck.solo) {
88
+ yield* Operation.invoke(LayoutOperation.SetLayoutMode, {
89
+ subject: resolvedIds?.[0] ?? activeId,
90
+ mode: "solo"
91
+ });
92
+ }
93
+ } else if (deck.solo && deck.solo !== NOT_FOUND_PATH) {
94
+ const path = toUrlPath(deck.solo);
95
+ if (window.location.pathname !== path) {
96
+ history.replaceState(null, "", `${path}${stripPlanks(window.location.search)}`);
97
+ }
98
+ } else if (!activeId && !deck.solo) {
99
+ const plankIds = deserializePlanks(resolvedUrl);
100
+ if (plankIds.length > 0) {
101
+ for (const plankId of plankIds) {
102
+ expandPath(graph, plankId);
103
+ }
104
+ updateState((state2) => updateActiveDeck(state2, {
105
+ active: plankIds,
106
+ initialized: true
107
+ }));
108
+ }
109
+ }
110
+ });
111
+ const onPopState = () => void runAndForwardErrors(provideServices(handleNavigation()));
112
+ const sentinelKey = installLeaveTrap();
113
+ let handlingSentinel = false;
114
+ const onCurrentEntryChange = () => {
115
+ const current = window.navigation.currentEntry;
116
+ if (handlingSentinel || !current || current.key !== sentinelKey) {
117
+ return;
118
+ }
119
+ handlingSentinel = true;
120
+ queueMicrotask(() => {
121
+ if (window.confirm("Leave Composer?")) {
122
+ history.back();
123
+ } else {
124
+ history.forward();
125
+ }
126
+ setTimeout(() => {
127
+ handlingSentinel = false;
128
+ });
129
+ });
130
+ };
131
+ yield* provideServices(handleNavigation());
132
+ window.addEventListener("popstate", onPopState);
133
+ if ("navigation" in window) {
134
+ window.navigation.addEventListener("currententrychange", onCurrentEntryChange);
135
+ }
136
+ let unlistenDeepLink;
137
+ if (isTauri()) {
138
+ yield* Effect.gen(function* () {
139
+ const { getCurrent, onOpenUrl } = yield* Effect.promise(() => import("@tauri-apps/plugin-deep-link"));
140
+ const launchUrls = yield* Effect.promise(() => getCurrent());
141
+ if (launchUrls && launchUrls.length > 0) {
142
+ log("app launched with deep links", {
143
+ urls: launchUrls
144
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 148, S: this });
145
+ for (const urlString of launchUrls) {
146
+ yield* provideServices(handleDeepLink(urlString, handleNavigation));
147
+ }
148
+ }
149
+ unlistenDeepLink = yield* Effect.promise(() => onOpenUrl((urls) => {
150
+ for (const urlString of urls) {
151
+ void runAndForwardErrors(provideServices(handleDeepLink(urlString, handleNavigation)));
152
+ }
153
+ }));
154
+ }).pipe(Effect.catchAll((error) => Effect.sync(() => log.warn("failed to initialize deep link listener", {
155
+ error
156
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 160, S: this }))));
157
+ }
158
+ let lastSolo;
159
+ let lastActiveDeck;
160
+ let lastActiveKey;
161
+ const unsubscribe = registry.subscribe(stateAtom, () => {
162
+ const state = getState();
163
+ const deck = getDeck();
164
+ const solo = deck.solo;
165
+ const activeDeck = state.activeDeck;
166
+ const activeKey = solo ? void 0 : JSON.stringify(deck.active);
167
+ if (solo !== lastSolo || activeDeck !== lastActiveDeck || activeKey !== lastActiveKey) {
168
+ lastSolo = solo;
169
+ lastActiveDeck = activeDeck;
170
+ lastActiveKey = activeKey;
171
+ const path = solo && solo !== NOT_FOUND_PATH ? toUrlPath(solo) : toUrlPath(activeDeck);
172
+ const search = !solo ? serializePlanks(deck.active, window.location.search) : stripPlanks(window.location.search);
173
+ const newUrl = `${path}${search}`;
174
+ if (`${window.location.pathname}${window.location.search}` !== newUrl) {
175
+ history.pushState(null, "", newUrl);
176
+ }
177
+ }
178
+ });
179
+ return Capability.contributes(Capabilities.Null, null, () => Effect.sync(() => {
180
+ window.removeEventListener("popstate", onPopState);
181
+ if ("navigation" in window) {
182
+ window.navigation.removeEventListener("currententrychange", onCurrentEntryChange);
183
+ }
184
+ unsubscribe();
185
+ unlistenDeepLink?.();
186
+ }));
187
+ }));
188
+ var SENTINEL_STORAGE_KEY = "dxos.composer.deck.leaveTrap.sentinelKey";
189
+ var installLeaveTrap = () => {
190
+ if (!("navigation" in window)) {
191
+ return void 0;
192
+ }
193
+ const saved = sessionStorage.getItem(SENTINEL_STORAGE_KEY);
194
+ if (saved && window.navigation.entries().some((entry) => entry.key === saved)) {
195
+ if (window.navigation.currentEntry?.key === saved) {
196
+ history.pushState(null, "", window.location.pathname + window.location.search);
197
+ }
198
+ return saved;
199
+ }
200
+ const key = window.navigation.currentEntry?.key;
201
+ if (key && window.history.length > 1) {
202
+ sessionStorage.setItem(SENTINEL_STORAGE_KEY, key);
203
+ history.pushState(null, "", window.location.pathname + window.location.search);
204
+ return key;
205
+ }
206
+ return void 0;
207
+ };
208
+ var isRedirectPath = (pathname) => pathname.startsWith("/redirect/");
209
+ var handleDeepLink = Effect.fn(function* (urlString, navigate) {
210
+ log("deep link received", {
211
+ url: urlString
212
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 235, S: this });
213
+ const deepLinkUrl = new URL(urlString);
214
+ const fullPath = deepLinkUrl.protocol !== "https:" && deepLinkUrl.protocol !== "http:" && deepLinkUrl.hostname ? "/" + deepLinkUrl.hostname + deepLinkUrl.pathname : deepLinkUrl.pathname;
215
+ if (isRedirectPath(fullPath)) {
216
+ return;
217
+ }
218
+ const current = new URL(window.location.href);
219
+ if (deepLinkUrl.search) {
220
+ deepLinkUrl.searchParams.forEach((value, key) => current.searchParams.set(key, value));
221
+ }
222
+ current.pathname = fullPath;
223
+ history.replaceState(null, "", current.pathname + current.search);
224
+ yield* navigate(current);
225
+ });
226
+ export {
227
+ url_handler_default as default
228
+ };
229
+ //# sourceMappingURL=url-handler-4SW6BFAC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/url-handler.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 {\n AppCapabilities,\n LayoutOperation,\n NOT_FOUND_PATH,\n expandPath,\n fromUrlPath,\n getWorkspaceFromPath,\n toUrlPath,\n} from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { Node } from '@dxos/plugin-graph';\nimport { isTauri } from '@dxos/util';\n\nimport { DeckCapabilities, type StoredDeckState, defaultDeck } from '#types';\n\nimport { updateActiveDeck } from '../operations/helpers';\nimport { deserializePlanks, serializePlanks, stripPlanks } from '../util';\nimport { shouldDeferNavigationHandlers } from './check-app-scheme';\n\n/** Dispatch all NavigationHandler contributions with a given URL. */\nconst dispatchNavigationHandlers = Effect.fn(function* (url: URL) {\n const handlers = yield* Capability.getAll(AppCapabilities.NavigationHandler);\n yield* Effect.all(\n handlers.map((handler) => handler(url)),\n { concurrency: 'unbounded' },\n );\n});\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const operationService = yield* Capability.get(Capabilities.OperationInvoker);\n const capabilities = yield* Capability.Service;\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const stateAtom = yield* Capability.get(DeckCapabilities.State);\n const settingsAtom = yield* Capability.get(DeckCapabilities.Settings);\n\n const provideServices = <A, E>(effect: Effect.Effect<A, E, Capability.Service | Operation.Service>) =>\n effect.pipe(\n Effect.provideService(Capability.Service, capabilities),\n Effect.provideService(Operation.Service, operationService),\n );\n\n // Helper to get state.\n const getState = () => registry.get(stateAtom);\n\n // Helper to get computed deck from state.\n const getDeck = () => {\n const state = getState();\n const deck = state.decks[state.activeDeck];\n invariant(deck, `Deck not found: ${state.activeDeck}`);\n return deck;\n };\n\n // Helper to update state.\n const updateState = (fn: (current: StoredDeckState) => StoredDeckState) => {\n registry.set(stateAtom, fn(getState()));\n };\n\n const handleNavigation = Effect.fn(function* (url?: URL) {\n const { graph } = yield* Capability.get(AppCapabilities.AppGraph);\n const resolvedUrl = url ?? new URL(window.location.href);\n // When native redirect is active, check-app-scheme owns the initial dispatch\n // to prevent one-time tokens from being consumed before the native app can use them.\n const settings = registry.get(settingsAtom);\n const deferHandlers = settings?.enableNativeRedirect && shouldDeferNavigationHandlers();\n if (!deferHandlers) {\n yield* dispatchNavigationHandlers(resolvedUrl);\n }\n\n const pathname = resolvedUrl.pathname;\n const state = getState();\n if (pathname === '/reset') {\n updateState((s) => ({\n ...s,\n activeDeck: 'default',\n decks: {\n default: { ...defaultDeck },\n },\n }));\n window.location.pathname = '/';\n return;\n }\n\n const qualifiedId = fromUrlPath(pathname);\n const workspace = getWorkspaceFromPath(qualifiedId);\n if (workspace !== Node.RootId && workspace !== state.activeDeck) {\n yield* Operation.invoke(LayoutOperation.SwitchWorkspace, { subject: workspace });\n }\n\n const deck = getDeck();\n const activeId = qualifiedId !== workspace ? qualifiedId : undefined;\n if (activeId) {\n // Ensure the object referenced by the URL is open in the deck.\n // Open validates the target and may redirect to 404, returning the resolved IDs.\n const resolvedIds = yield* Operation.invoke(LayoutOperation.Open, { subject: [activeId] });\n // If not already in solo mode, switch to solo for the resolved target.\n if (!deck.solo) {\n yield* Operation.invoke(LayoutOperation.SetLayoutMode, {\n subject: resolvedIds?.[0] ?? activeId,\n mode: 'solo',\n });\n }\n } else if (deck.solo && deck.solo !== NOT_FOUND_PATH) {\n // Stay in solo mode; redirect URL to reflect the current solo item.\n // Do not switch to deck mode here — only explicit user action should change layout mode.\n const path = toUrlPath(deck.solo);\n if (window.location.pathname !== path) {\n history.replaceState(null, '', `${path}${stripPlanks(window.location.search)}`);\n }\n } else if (!activeId && !deck.solo) {\n // Multi-mode: restore planks from query params.\n const plankIds = deserializePlanks(resolvedUrl);\n if (plankIds.length > 0) {\n for (const plankId of plankIds) {\n expandPath(graph, plankId);\n }\n updateState((state) => updateActiveDeck(state, { active: plankIds, initialized: true }));\n }\n }\n });\n\n const onPopState = () => void runAndForwardErrors(provideServices(handleNavigation()));\n\n // Install before handleNavigation()/state-sync push entries on top of the sentinel.\n const sentinelKey = installLeaveTrap();\n\n // Landing on the sentinel means a Back is about to leave Composer; confirm and act on it.\n // The guard stops our own back()/forward() from re-entering.\n let handlingSentinel = false;\n const onCurrentEntryChange = () => {\n const current = window.navigation.currentEntry;\n if (handlingSentinel || !current || current.key !== sentinelKey) {\n return;\n }\n handlingSentinel = true;\n queueMicrotask(() => {\n if (window.confirm('Leave Composer?')) {\n history.back(); // Past the sentinel to the prior page.\n } else {\n history.forward(); // Back to where the user was.\n }\n setTimeout(() => {\n handlingSentinel = false;\n });\n });\n };\n\n yield* provideServices(handleNavigation());\n window.addEventListener('popstate', onPopState);\n if ('navigation' in window) {\n window.navigation.addEventListener('currententrychange', onCurrentEntryChange);\n }\n\n // Tauri deep link support.\n let unlistenDeepLink: (() => void) | undefined;\n if (isTauri()) {\n yield* Effect.gen(function* () {\n const { getCurrent, onOpenUrl } = yield* Effect.promise(() => import('@tauri-apps/plugin-deep-link'));\n\n const launchUrls = yield* Effect.promise(() => getCurrent());\n if (launchUrls && launchUrls.length > 0) {\n log('app launched with deep links', { urls: launchUrls });\n for (const urlString of launchUrls) {\n yield* provideServices(handleDeepLink(urlString, handleNavigation));\n }\n }\n\n unlistenDeepLink = yield* Effect.promise(() =>\n onOpenUrl((urls) => {\n for (const urlString of urls) {\n void runAndForwardErrors(provideServices(handleDeepLink(urlString, handleNavigation)));\n }\n }),\n );\n }).pipe(\n Effect.catchAll((error) => Effect.sync(() => log.warn('failed to initialize deep link listener', { error }))),\n );\n }\n\n // Sync URL with layout state changes.\n let lastSolo: string | undefined;\n let lastActiveDeck: string | undefined;\n let lastActiveKey: string | undefined;\n const unsubscribe = registry.subscribe(stateAtom, () => {\n const state = getState();\n const deck = getDeck();\n const solo = deck.solo;\n const activeDeck = state.activeDeck;\n const activeKey = solo ? undefined : JSON.stringify(deck.active);\n\n if (solo !== lastSolo || activeDeck !== lastActiveDeck || activeKey !== lastActiveKey) {\n lastSolo = solo;\n lastActiveDeck = activeDeck;\n lastActiveKey = activeKey;\n\n const path = solo && solo !== NOT_FOUND_PATH ? toUrlPath(solo) : toUrlPath(activeDeck);\n const search = !solo\n ? serializePlanks(deck.active, window.location.search)\n : stripPlanks(window.location.search);\n const newUrl = `${path}${search}`;\n\n if (`${window.location.pathname}${window.location.search}` !== newUrl) {\n history.pushState(null, '', newUrl);\n }\n }\n });\n\n return Capability.contributes(Capabilities.Null, null, () =>\n Effect.sync(() => {\n window.removeEventListener('popstate', onPopState);\n if ('navigation' in window) {\n window.navigation.removeEventListener('currententrychange', onCurrentEntryChange);\n }\n unsubscribe();\n unlistenDeepLink?.();\n }),\n );\n }),\n);\n\n/**\n * sessionStorage key holding the sentinel history entry's key. The entry is identified by its\n * (reload-stable) Navigation API key rather than by entry state, because the deck overwrites\n * history state via replaceState during URL sync — which would erase a state marker. sessionStorage\n * survives reloads within the tab and the deck never touches it.\n */\nconst SENTINEL_STORAGE_KEY = 'dxos.composer.deck.leaveTrap.sentinelKey';\n\n/**\n * Insert a \"sentinel\" history entry beneath the app's working entries, so a Back-press that would\n * leave Composer instead lands on the sentinel — where `onCurrentEntryChange` confirms the exit. A\n * cross-document back is uncancelable and `beforeunload` cannot distinguish reload from leave, so\n * this same-document floor is required; reload fires no traversal and is never trapped. Requires the\n * Navigation API (Chromium); no-op otherwise. Idempotent across reloads via the sessionStorage-held\n * entry key, so the sentinel is not duplicated. Returns the sentinel entry's key, or undefined.\n */\nconst installLeaveTrap = (): string | undefined => {\n if (!('navigation' in window)) {\n return undefined;\n }\n const saved = sessionStorage.getItem(SENTINEL_STORAGE_KEY);\n if (saved && window.navigation.entries().some((entry) => entry.key === saved)) {\n // The sentinel survived (reload, or the user returned to Composer after leaving). If we are\n // sitting ON it — e.g. the user left via the sentinel then came back Forward onto it — push a\n // working entry above so the user is above the floor again and the trap re-arms.\n if (window.navigation.currentEntry?.key === saved) {\n history.pushState(null, '', window.location.pathname + window.location.search);\n }\n return saved;\n }\n // history.length > 1 (not navigation.canGoBack, which is false for a cross-origin prior entry)\n // means there is somewhere to leave to; otherwise Back can't exit and no sentinel is needed.\n const key = window.navigation.currentEntry?.key;\n if (key && window.history.length > 1) {\n // Record the current (landing) entry as the sentinel, then push the working entry above it.\n sessionStorage.setItem(SENTINEL_STORAGE_KEY, key);\n history.pushState(null, '', window.location.pathname + window.location.search);\n return key;\n }\n return undefined;\n};\n\n/** Check if a path is a redirect path handled elsewhere (e.g., OAuth). */\nconst isRedirectPath = (pathname: string): boolean => pathname.startsWith('/redirect/');\n\n/** Handle a deep link URL string. Merges query params into window.location and navigates. */\nconst handleDeepLink = Effect.fn(function* (urlString: string, navigate: (url?: URL) => Effect.Effect<void, any, any>) {\n log('deep link received', { url: urlString });\n\n const deepLinkUrl = new URL(urlString);\n\n // For custom schemes (e.g., composer://a/b/c), new URL() treats the first segment as the\n // hostname. Reconstruct the full path from hostname + pathname.\n const fullPath =\n deepLinkUrl.protocol !== 'https:' && deepLinkUrl.protocol !== 'http:' && deepLinkUrl.hostname\n ? '/' + deepLinkUrl.hostname + deepLinkUrl.pathname\n : deepLinkUrl.pathname;\n\n if (isRedirectPath(fullPath)) {\n return;\n }\n\n // Merge deep link query params into the current window URL so handlers can read them.\n const current = new URL(window.location.href);\n if (deepLinkUrl.search) {\n deepLinkUrl.searchParams.forEach((value, key) => current.searchParams.set(key, value));\n }\n current.pathname = fullPath;\n history.replaceState(null, '', current.pathname + current.search);\n\n yield* navigate(current);\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "LayoutOperation", "NOT_FOUND_PATH", "expandPath", "fromUrlPath", "getWorkspaceFromPath", "toUrlPath", "Operation", "runAndForwardErrors", "invariant", "log", "Node", "isTauri", "DeckCapabilities", "defaultDeck", "concurrency", "capabilities", "Service", "registry", "Capability", "Capabilities", "AtomRegistry", "stateAtom", "settingsAtom", "get", "DeckCapabilities", "Settings", "provideServices", "effect", "provideService", "getState", "getDeck", "deck", "state", "invariant", "fn", "handleNavigation", "Effect", "URL", "window", "location", "deferHandlers", "dispatchNavigationHandlers", "resolvedUrl", "pathname", "updateState", "activeDeck", "decks", "default", "workspace", "Node", "Operation", "LayoutOperation", "SwitchWorkspace", "activeId", "subject", "mode", "history", "replaceState", "plankIds", "deserializePlanks", "plankId", "expandPath", "graph", "updateActiveDeck", "initialized", "sentinelKey", "installLeaveTrap", "current", "handlingSentinel", "queueMicrotask", "confirm", "back", "forward", "setTimeout", "addEventListener", "launchUrls", "length", "log", "handleDeepLink", "urlString", "unlistenDeepLink", "runAndForwardErrors", "lastActiveKey", "solo", "activeKey", "lastSolo", "lastActiveDeck", "newUrl", "path", "search", "pushState", "removeEventListener", "unsubscribe", "undefined", "saved", "sessionStorage", "SENTINEL_STORAGE_KEY", "key", "deepLinkUrl", "searchParams", "forEach", "value", "fullPath", "navigate"]
7
+ }
@@ -1,3 +1,4 @@
1
1
  import { Plugin } from '@dxos/app-framework';
2
2
  export declare const DeckPlugin: Plugin.PluginFactory<void>;
3
+ export default DeckPlugin;
3
4
  //# sourceMappingURL=DeckPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeckPlugin.d.ts","sourceRoot":"","sources":["../../../src/DeckPlugin.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqC,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAwBhF,eAAO,MAAM,UAAU,4BAwCtB,CAAC"}
1
+ {"version":3,"file":"DeckPlugin.d.ts","sourceRoot":"","sources":["../../../src/DeckPlugin.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqC,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA2BhF,eAAO,MAAM,UAAU,4BA0CtB,CAAC;eAEa,UAAU"}
@@ -0,0 +1,4 @@
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const DeckPlugin: Plugin.PluginFactory<void>;
3
+ export default DeckPlugin;
4
+ //# sourceMappingURL=DeckPlugin.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeckPlugin.node.d.ts","sourceRoot":"","sources":["../../../src/DeckPlugin.node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAM7C,eAAO,MAAM,UAAU,4BAItB,CAAC;eAEa,UAAU"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeckPlugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeckPlugin.test.d.ts","sourceRoot":"","sources":["../../../src/DeckPlugin.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const DeckPlugin: Plugin.PluginFactory<void>;
3
+ export default DeckPlugin;
4
+ //# sourceMappingURL=DeckPlugin.workerd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeckPlugin.workerd.d.ts","sourceRoot":"","sources":["../../../src/DeckPlugin.workerd.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAM7C,eAAO,MAAM,UAAU,4BAGtB,CAAC;eAEa,UAAU"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ /**
4
+ * Checks whether the native redirect setting is enabled and the redirect should be attempted.
5
+ * Exported for the URL handler to decide whether to defer NavigationHandler dispatch.
6
+ */
7
+ export declare const shouldDeferNavigationHandlers: () => boolean;
8
+ /**
9
+ * When running in a web browser (not Tauri) with native redirect enabled,
10
+ * tries to open the native app via custom scheme. Defers NavigationHandlers
11
+ * to prevent the web app from consuming one-time tokens before the native app.
12
+ *
13
+ * If the app opens: shows dialog with "Open here" callback that dispatches handlers.
14
+ * If the app doesn't open: dispatches handlers immediately.
15
+ * In Safari: universal links handle this natively, so the check is skipped.
16
+ */
17
+ declare const _default: (props: void) => Effect.Effect<void, Error | import("@dxos/compute").NoHandlerError, Capability.Service>;
18
+ export default _default;
19
+ //# sourceMappingURL=check-app-scheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-app-scheme.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/check-app-scheme.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAuF/D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,QAAO,OAEhD,CAAC;AAEF;;;;;;;;GAQG"}
@@ -1,10 +1,200 @@
1
- export * from './app-graph-builder';
2
- export * from './check-app-scheme';
3
- export * from './operation-resolver';
4
- export * from './react-root';
5
- export * from './react-surface';
6
- export * from './settings';
7
- export * from './state';
8
- export * from './toolkit';
9
- export * from './url-handler';
1
+ import { Capability } from '@dxos/app-framework';
2
+ import { OperationHandlerSet } from '@dxos/compute';
3
+ export declare const AppGraphBuilder: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-graph").BuilderExtensions>>, Error>;
4
+ export declare const CheckAppScheme: Capability.LazyCapability<void, void, Error>;
5
+ export declare const NotificationTracker: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<null>>, Error>;
6
+ export declare const OperationHandler: Capability.LazyCapability<OperationHandlerSet.OperationHandlerSet, Capability.ModuleReturn, Error>;
7
+ export declare const ReactRoot: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<Readonly<{
8
+ id: string;
9
+ root: import("react").FC<import("react").PropsWithChildren>;
10
+ }>>>, Error>;
11
+ export declare const ReactSurface: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Capabilities").ReactSurface>>, Error>;
12
+ export declare const DeckSettings: Capability.LazyCapability<void, [Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Writable<import("../types/Settings").Settings, import("../types/Settings").Settings>>>, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-toolkit").AppCapabilities.Settings>>], Error>;
13
+ export declare const DeckState: Capability.LazyCapability<void, [Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Writable<{
14
+ sidebarState: "closed" | "collapsed" | "expanded";
15
+ complementarySidebarState: "closed" | "collapsed" | "expanded";
16
+ complementarySidebarPanel?: string | undefined;
17
+ activeDeck: string;
18
+ previousDeck: string;
19
+ decks: {
20
+ [x: string]: {
21
+ initialized: boolean;
22
+ active: string[];
23
+ inactive: string[];
24
+ solo?: string | undefined;
25
+ fullscreen: boolean;
26
+ plankSizing: {
27
+ [x: string]: number;
28
+ };
29
+ companionOpen: boolean;
30
+ companionVariant?: string | undefined;
31
+ companionFrameSizing: {
32
+ [x: string]: number;
33
+ };
34
+ };
35
+ };
36
+ previousMode: {
37
+ [x: string]: "multi" | "solo" | "solo--fullscreen";
38
+ };
39
+ }, {
40
+ sidebarState: "closed" | "collapsed" | "expanded";
41
+ complementarySidebarState: "closed" | "collapsed" | "expanded";
42
+ complementarySidebarPanel?: string | undefined;
43
+ activeDeck: string;
44
+ previousDeck: string;
45
+ decks: {
46
+ [x: string]: {
47
+ initialized: boolean;
48
+ active: string[];
49
+ inactive: string[];
50
+ solo?: string | undefined;
51
+ fullscreen: boolean;
52
+ plankSizing: {
53
+ [x: string]: number;
54
+ };
55
+ companionOpen: boolean;
56
+ companionVariant?: string | undefined;
57
+ companionFrameSizing: {
58
+ [x: string]: number;
59
+ };
60
+ };
61
+ };
62
+ previousMode: {
63
+ [x: string]: "multi" | "solo" | "solo--fullscreen";
64
+ };
65
+ }>>>, Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Writable<{
66
+ dialogOpen: boolean;
67
+ dialogType?: "alert" | "default" | undefined;
68
+ dialogBlockAlign?: "center" | "end" | "start" | undefined;
69
+ dialogOverlayClasses?: string | undefined;
70
+ dialogOverlayStyle?: {
71
+ readonly [x: string]: any;
72
+ } | undefined;
73
+ dialogContent: {
74
+ readonly component: string;
75
+ readonly props?: any;
76
+ } | null;
77
+ popoverOpen: boolean;
78
+ popoverSide?: "bottom" | "left" | "right" | "top" | undefined;
79
+ popoverAnchor?: any;
80
+ popoverAnchorId?: string | undefined;
81
+ popoverKind?: "base" | "card" | undefined;
82
+ popoverTitle?: string | [string, {
83
+ ns: string | readonly string[];
84
+ count?: number | undefined;
85
+ defaultValue?: string | undefined;
86
+ }] | undefined;
87
+ popoverContentRef?: string | undefined;
88
+ popoverContent: {
89
+ readonly component: string;
90
+ readonly props?: any;
91
+ } | {
92
+ readonly subject: any;
93
+ } | null;
94
+ toasts: {
95
+ readonly id: string;
96
+ readonly title?: string | [string, {
97
+ ns: string | readonly string[];
98
+ count?: number | undefined;
99
+ defaultValue?: string | undefined;
100
+ }] | undefined;
101
+ readonly description?: string | [string, {
102
+ ns: string | readonly string[];
103
+ count?: number | undefined;
104
+ defaultValue?: string | undefined;
105
+ }] | undefined;
106
+ readonly icon?: string | undefined;
107
+ readonly duration?: number | undefined;
108
+ readonly closeLabel?: string | [string, {
109
+ ns: string | readonly string[];
110
+ count?: number | undefined;
111
+ defaultValue?: string | undefined;
112
+ }] | undefined;
113
+ readonly actionLabel?: string | [string, {
114
+ ns: string | readonly string[];
115
+ count?: number | undefined;
116
+ defaultValue?: string | undefined;
117
+ }] | undefined;
118
+ readonly actionAlt?: string | [string, {
119
+ ns: string | readonly string[];
120
+ count?: number | undefined;
121
+ defaultValue?: string | undefined;
122
+ }] | undefined;
123
+ readonly onAction?: any;
124
+ }[];
125
+ currentUndoId?: string | undefined;
126
+ scrollIntoView?: string | undefined;
127
+ }, {
128
+ dialogOpen: boolean;
129
+ dialogType?: "alert" | "default" | undefined;
130
+ dialogBlockAlign?: "center" | "end" | "start" | undefined;
131
+ dialogOverlayClasses?: string | undefined;
132
+ dialogOverlayStyle?: {
133
+ readonly [x: string]: any;
134
+ } | undefined;
135
+ dialogContent: {
136
+ readonly component: string;
137
+ readonly props?: any;
138
+ } | null;
139
+ popoverOpen: boolean;
140
+ popoverSide?: "bottom" | "left" | "right" | "top" | undefined;
141
+ popoverAnchor?: any;
142
+ popoverAnchorId?: string | undefined;
143
+ popoverKind?: "base" | "card" | undefined;
144
+ popoverTitle?: string | [string, {
145
+ ns: string | readonly string[];
146
+ count?: number | undefined;
147
+ defaultValue?: string | undefined;
148
+ }] | undefined;
149
+ popoverContentRef?: string | undefined;
150
+ popoverContent: {
151
+ readonly component: string;
152
+ readonly props?: any;
153
+ } | {
154
+ readonly subject: any;
155
+ } | null;
156
+ toasts: {
157
+ readonly id: string;
158
+ readonly title?: string | [string, {
159
+ ns: string | readonly string[];
160
+ count?: number | undefined;
161
+ defaultValue?: string | undefined;
162
+ }] | undefined;
163
+ readonly description?: string | [string, {
164
+ ns: string | readonly string[];
165
+ count?: number | undefined;
166
+ defaultValue?: string | undefined;
167
+ }] | undefined;
168
+ readonly icon?: string | undefined;
169
+ readonly duration?: number | undefined;
170
+ readonly closeLabel?: string | [string, {
171
+ ns: string | readonly string[];
172
+ count?: number | undefined;
173
+ defaultValue?: string | undefined;
174
+ }] | undefined;
175
+ readonly actionLabel?: string | [string, {
176
+ ns: string | readonly string[];
177
+ count?: number | undefined;
178
+ defaultValue?: string | undefined;
179
+ }] | undefined;
180
+ readonly actionAlt?: string | [string, {
181
+ ns: string | readonly string[];
182
+ count?: number | undefined;
183
+ defaultValue?: string | undefined;
184
+ }] | undefined;
185
+ readonly onAction?: any;
186
+ }[];
187
+ currentUndoId?: string | undefined;
188
+ scrollIntoView?: string | undefined;
189
+ }>>>, Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Atom<Readonly<{
190
+ mode: string;
191
+ dialogOpen: boolean;
192
+ sidebarOpen: boolean;
193
+ complementarySidebarOpen: boolean;
194
+ workspace: string;
195
+ active: string[];
196
+ inactive: string[];
197
+ scrollIntoView: string | undefined;
198
+ }>>>>], Error>;
199
+ export declare const UrlHandler: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<null>>, Error>;
10
200
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAE1B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,eAAO,MAAM,eAAe,qIAA0E,CAAC;AACvG,eAAO,MAAM,cAAc,8CAAwE,CAAC;AACpG,eAAO,MAAM,mBAAmB,8FAAiF,CAAC;AAClH,eAAO,MAAM,gBAAgB,oGAG5B,CAAC;AACF,eAAO,MAAM,SAAS;;;YAA6D,CAAC;AACpF,eAAO,MAAM,YAAY,iJAAmE,CAAC;AAC7F,eAAO,MAAM,YAAY,uTAA8D,CAAC;AACxF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAwD,CAAC;AAC/E,eAAO,MAAM,UAAU,8FAA+D,CAAC"}
@@ -0,0 +1,13 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ /**
4
+ * The single producer of toasts driven by operation invocations:
5
+ * - Per-invoke notifications ride the process monitor: each invocation spawns a process carrying the
6
+ * caller's `notify` config on its params; this tracker watches process state transitions and toasts
7
+ * on start / success / failure.
8
+ * - Undo toasts come from the history tracker's `undoable` stream (it owns the undo registry lookup);
9
+ * the toast action triggers `historyTracker.undoPromise()`.
10
+ */
11
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<null>>, Error, Capability.Service>;
12
+ export default _default;
13
+ //# sourceMappingURL=notification-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-tracker.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/notification-tracker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAW/D;;;;;;;GAOG"}
@@ -0,0 +1,6 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ import type { OperationHandlerSet } from '@dxos/compute';
4
+ declare const _default: (props: OperationHandlerSet.OperationHandlerSet) => Effect.Effect<Capability.ModuleReturn, Error, Capability.Service>;
5
+ export default _default;
6
+ //# sourceMappingURL=operation-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-handler.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/operation-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-root.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-root.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ import { AppCapabilities } from '@dxos/app-toolkit';
4
+ import { Settings } from '#types';
5
+ declare const _default: (props: void) => Effect.Effect<[Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Writable<Settings.Settings, Settings.Settings>>>, Capability.Capability<Capability.InterfaceDef<AppCapabilities.Settings>>], never, never>;
6
+ export default _default;
7
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/settings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAoB,QAAQ,EAAE,MAAM,QAAQ,CAAC"}