@dxos/plugin-deck 0.8.4-main.f9ba587 → 0.8.4-main.fcc0d83b33

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 (518) hide show
  1. package/dist/lib/browser/add-toast-JWJOQNVL.mjs +24 -0
  2. package/dist/lib/browser/add-toast-JWJOQNVL.mjs.map +7 -0
  3. package/dist/lib/browser/adjust-RG6LIQLX.mjs +95 -0
  4. package/dist/lib/browser/adjust-RG6LIQLX.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-GLB73Q6U.mjs +22 -0
  6. package/dist/lib/browser/chunk-GLB73Q6U.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  8. package/dist/lib/browser/chunk-LSZ47AY3.mjs +48 -0
  9. package/dist/lib/browser/chunk-LSZ47AY3.mjs.map +7 -0
  10. package/dist/lib/browser/chunk-MARE7ZFK.mjs +215 -0
  11. package/dist/lib/browser/chunk-MARE7ZFK.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-XM263CQU.mjs +72 -0
  13. package/dist/lib/browser/chunk-XM263CQU.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-ZYYOSX5I.mjs +69 -0
  15. package/dist/lib/browser/chunk-ZYYOSX5I.mjs.map +7 -0
  16. package/dist/lib/browser/close-URA766JO.mjs +44 -0
  17. package/dist/lib/browser/close-URA766JO.mjs.map +7 -0
  18. package/dist/lib/browser/index.mjs +114 -144
  19. package/dist/lib/browser/index.mjs.map +4 -4
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/open-OPFOOHCQ.mjs +147 -0
  22. package/dist/lib/browser/open-OPFOOHCQ.mjs.map +7 -0
  23. package/dist/lib/browser/operations/index.mjs +13 -0
  24. package/dist/lib/browser/operations/index.mjs.map +7 -0
  25. package/dist/lib/browser/revert-workspace-KP2Y4QLG.mjs +21 -0
  26. package/dist/lib/browser/revert-workspace-KP2Y4QLG.mjs.map +7 -0
  27. package/dist/lib/browser/scroll-into-view-S5H2FGSQ.mjs +21 -0
  28. package/dist/lib/browser/scroll-into-view-S5H2FGSQ.mjs.map +7 -0
  29. package/dist/lib/browser/set-AEKFFSIX.mjs +37 -0
  30. package/dist/lib/browser/set-AEKFFSIX.mjs.map +7 -0
  31. package/dist/lib/browser/set-layout-mode-CWIGQDFZ.mjs +85 -0
  32. package/dist/lib/browser/set-layout-mode-CWIGQDFZ.mjs.map +7 -0
  33. package/dist/lib/browser/show-undo-XFVEDKYC.mjs +59 -0
  34. package/dist/lib/browser/show-undo-XFVEDKYC.mjs.map +7 -0
  35. package/dist/lib/browser/switch-workspace-DSAAXZSI.mjs +60 -0
  36. package/dist/lib/browser/switch-workspace-DSAAXZSI.mjs.map +7 -0
  37. package/dist/lib/browser/translations.mjs +57 -0
  38. package/dist/lib/browser/translations.mjs.map +7 -0
  39. package/dist/lib/browser/types/index.mjs +32 -0
  40. package/dist/lib/browser/update-companion-IDBBBHT3.mjs +32 -0
  41. package/dist/lib/browser/update-companion-IDBBBHT3.mjs.map +7 -0
  42. package/dist/lib/browser/update-complementary-55PNO5MD.mjs +28 -0
  43. package/dist/lib/browser/update-complementary-55PNO5MD.mjs.map +7 -0
  44. package/dist/lib/browser/update-dialog-VNARIANC.mjs +29 -0
  45. package/dist/lib/browser/update-dialog-VNARIANC.mjs.map +7 -0
  46. package/dist/lib/browser/update-plank-size-H63PRRXS.mjs +28 -0
  47. package/dist/lib/browser/update-plank-size-H63PRRXS.mjs.map +7 -0
  48. package/dist/lib/browser/update-popover-ODTPZ3JL.mjs +33 -0
  49. package/dist/lib/browser/update-popover-ODTPZ3JL.mjs.map +7 -0
  50. package/dist/lib/browser/update-sidebar-JDVQ36WK.mjs +25 -0
  51. package/dist/lib/browser/update-sidebar-JDVQ36WK.mjs.map +7 -0
  52. package/dist/lib/node-esm/add-toast-JUTN4GTI.mjs +25 -0
  53. package/dist/lib/node-esm/add-toast-JUTN4GTI.mjs.map +7 -0
  54. package/dist/lib/node-esm/adjust-P5QK33P4.mjs +96 -0
  55. package/dist/lib/node-esm/adjust-P5QK33P4.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-FO7YDJZ3.mjs +216 -0
  57. package/dist/lib/node-esm/chunk-FO7YDJZ3.mjs.map +7 -0
  58. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  59. package/dist/lib/node-esm/chunk-KY7ZCANM.mjs +50 -0
  60. package/dist/lib/node-esm/chunk-KY7ZCANM.mjs.map +7 -0
  61. package/dist/lib/node-esm/chunk-L7OVX7CV.mjs +73 -0
  62. package/dist/lib/node-esm/chunk-L7OVX7CV.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-SHSR2CYO.mjs +24 -0
  64. package/dist/lib/node-esm/chunk-SHSR2CYO.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-WGBUTT5K.mjs +71 -0
  66. package/dist/lib/node-esm/chunk-WGBUTT5K.mjs.map +7 -0
  67. package/dist/lib/node-esm/close-U5VC7ERP.mjs +45 -0
  68. package/dist/lib/node-esm/close-U5VC7ERP.mjs.map +7 -0
  69. package/dist/lib/node-esm/index.mjs +114 -144
  70. package/dist/lib/node-esm/index.mjs.map +4 -4
  71. package/dist/lib/node-esm/meta.json +1 -1
  72. package/dist/lib/node-esm/open-4B3P5XGS.mjs +148 -0
  73. package/dist/lib/node-esm/open-4B3P5XGS.mjs.map +7 -0
  74. package/dist/lib/node-esm/operations/index.mjs +14 -0
  75. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  76. package/dist/lib/node-esm/revert-workspace-QD63M2U7.mjs +22 -0
  77. package/dist/lib/node-esm/revert-workspace-QD63M2U7.mjs.map +7 -0
  78. package/dist/lib/node-esm/scroll-into-view-G5M2EWK7.mjs +22 -0
  79. package/dist/lib/node-esm/scroll-into-view-G5M2EWK7.mjs.map +7 -0
  80. package/dist/lib/node-esm/set-ERJCXZBY.mjs +38 -0
  81. package/dist/lib/node-esm/set-ERJCXZBY.mjs.map +7 -0
  82. package/dist/lib/node-esm/set-layout-mode-BOZD7744.mjs +86 -0
  83. package/dist/lib/node-esm/set-layout-mode-BOZD7744.mjs.map +7 -0
  84. package/dist/lib/node-esm/show-undo-H5BRBYDC.mjs +60 -0
  85. package/dist/lib/node-esm/show-undo-H5BRBYDC.mjs.map +7 -0
  86. package/dist/lib/node-esm/switch-workspace-F54PXE5N.mjs +61 -0
  87. package/dist/lib/node-esm/switch-workspace-F54PXE5N.mjs.map +7 -0
  88. package/dist/lib/node-esm/translations.mjs +58 -0
  89. package/dist/lib/node-esm/translations.mjs.map +7 -0
  90. package/dist/lib/node-esm/{types.mjs → types/index.mjs} +13 -15
  91. package/dist/lib/node-esm/update-companion-47LMKL5R.mjs +33 -0
  92. package/dist/lib/node-esm/update-companion-47LMKL5R.mjs.map +7 -0
  93. package/dist/lib/node-esm/update-complementary-7VYYG7L2.mjs +29 -0
  94. package/dist/lib/node-esm/update-complementary-7VYYG7L2.mjs.map +7 -0
  95. package/dist/lib/node-esm/update-dialog-CABL7OWW.mjs +30 -0
  96. package/dist/lib/node-esm/update-dialog-CABL7OWW.mjs.map +7 -0
  97. package/dist/lib/node-esm/update-plank-size-WYTSMZF2.mjs +29 -0
  98. package/dist/lib/node-esm/update-plank-size-WYTSMZF2.mjs.map +7 -0
  99. package/dist/lib/node-esm/update-popover-YZDYGL7G.mjs +34 -0
  100. package/dist/lib/node-esm/update-popover-YZDYGL7G.mjs.map +7 -0
  101. package/dist/lib/node-esm/update-sidebar-HV736LUN.mjs +26 -0
  102. package/dist/lib/node-esm/update-sidebar-HV736LUN.mjs.map +7 -0
  103. package/dist/types/src/DeckPlugin.d.ts +2 -1
  104. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  106. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/check-app-scheme.d.ts +17 -2
  108. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/index.d.ts +196 -12
  110. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  112. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/react-root.d.ts +4 -2
  114. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  116. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/settings.d.ts +5 -2
  118. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/state.d.ts +136 -46
  120. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/tools.d.ts +4 -3
  122. package/dist/types/src/capabilities/tools.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/url-handler.d.ts +3 -2
  124. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
  125. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts +4 -4
  126. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -1
  127. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts +61 -0
  128. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts.map +1 -0
  129. package/dist/types/src/components/DeckSettings/index.d.ts +1 -1
  130. package/dist/types/src/components/DeckSettings/index.d.ts.map +1 -1
  131. package/dist/types/src/components/Matrix/Matrix.d.ts +41 -0
  132. package/dist/types/src/components/Matrix/Matrix.d.ts.map +1 -0
  133. package/dist/types/src/components/Matrix/Matrix.stories.d.ts +17 -0
  134. package/dist/types/src/components/Matrix/Matrix.stories.d.ts.map +1 -0
  135. package/dist/types/src/components/Matrix/index.d.ts +3 -0
  136. package/dist/types/src/components/Matrix/index.d.ts.map +1 -0
  137. package/dist/types/src/components/index.d.ts +3 -2
  138. package/dist/types/src/components/index.d.ts.map +1 -1
  139. package/dist/types/src/{components/DeckLayout → containers/Deck}/Banner.d.ts +1 -1
  140. package/dist/types/src/containers/Deck/Banner.d.ts.map +1 -0
  141. package/dist/types/src/containers/Deck/Deck.d.ts +25 -0
  142. package/dist/types/src/containers/Deck/Deck.d.ts.map +1 -0
  143. package/dist/types/src/containers/Deck/Deck.stories.d.ts +61 -0
  144. package/dist/types/src/containers/Deck/Deck.stories.d.ts.map +1 -0
  145. package/dist/types/src/containers/Deck/DeckContent.d.ts +7 -0
  146. package/dist/types/src/containers/Deck/DeckContent.d.ts.map +1 -0
  147. package/dist/types/src/containers/Deck/DeckRoot.d.ts +39 -0
  148. package/dist/types/src/containers/Deck/DeckRoot.d.ts.map +1 -0
  149. package/dist/types/src/containers/Deck/DeckViewport.d.ts +16 -0
  150. package/dist/types/src/containers/Deck/DeckViewport.d.ts.map +1 -0
  151. package/dist/types/src/containers/Deck/StatusBar.d.ts.map +1 -0
  152. package/dist/types/src/containers/Deck/index.d.ts +2 -0
  153. package/dist/types/src/containers/Deck/index.d.ts.map +1 -0
  154. package/dist/types/src/containers/DeckLayout/ActiveNode.d.ts.map +1 -0
  155. package/dist/types/src/containers/DeckLayout/DeckLayout.d.ts +5 -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 +63 -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/containers/DeckLayout/Toast.d.ts +10 -0
  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 +61 -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 -0
  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/useHoistStatusbar.d.ts +1 -1
  204. package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +1 -1
  205. package/dist/types/src/hooks/useMainSize.d.ts +2 -2
  206. package/dist/types/src/hooks/useMainSize.d.ts.map +1 -1
  207. package/dist/types/src/hooks/useNodeActionExpander.d.ts +1 -1
  208. package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
  209. package/dist/types/src/hooks/useSelectedCompanion.d.ts +13 -0
  210. package/dist/types/src/hooks/useSelectedCompanion.d.ts.map +1 -0
  211. package/dist/types/src/index.d.ts +1 -2
  212. package/dist/types/src/index.d.ts.map +1 -1
  213. package/dist/types/src/layout.d.ts +20 -9
  214. package/dist/types/src/layout.d.ts.map +1 -1
  215. package/dist/types/src/layout.test.d.ts +2 -0
  216. package/dist/types/src/layout.test.d.ts.map +1 -0
  217. package/dist/types/src/meta.d.ts +2 -3
  218. package/dist/types/src/meta.d.ts.map +1 -1
  219. package/dist/types/src/operations/add-toast.d.ts +5 -0
  220. package/dist/types/src/operations/add-toast.d.ts.map +1 -0
  221. package/dist/types/src/operations/adjust.d.ts +5 -0
  222. package/dist/types/src/operations/adjust.d.ts.map +1 -0
  223. package/dist/types/src/operations/close.d.ts +5 -0
  224. package/dist/types/src/operations/close.d.ts.map +1 -0
  225. package/dist/types/src/operations/definitions.d.ts +15 -0
  226. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  227. package/dist/types/src/operations/helpers.d.ts +3 -0
  228. package/dist/types/src/operations/helpers.d.ts.map +1 -0
  229. package/dist/types/src/operations/index.d.ts +4 -0
  230. package/dist/types/src/operations/index.d.ts.map +1 -0
  231. package/dist/types/src/operations/open.d.ts +5 -0
  232. package/dist/types/src/operations/open.d.ts.map +1 -0
  233. package/dist/types/src/operations/revert-workspace.d.ts +5 -0
  234. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -0
  235. package/dist/types/src/operations/scroll-into-view.d.ts +5 -0
  236. package/dist/types/src/operations/scroll-into-view.d.ts.map +1 -0
  237. package/dist/types/src/operations/set-layout-mode.d.ts +9 -0
  238. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
  239. package/dist/types/src/operations/set.d.ts +5 -0
  240. package/dist/types/src/operations/set.d.ts.map +1 -0
  241. package/dist/types/src/operations/show-undo.d.ts +5 -0
  242. package/dist/types/src/operations/show-undo.d.ts.map +1 -0
  243. package/dist/types/src/operations/switch-workspace.d.ts +5 -0
  244. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
  245. package/dist/types/src/operations/update-companion.d.ts +5 -0
  246. package/dist/types/src/operations/update-companion.d.ts.map +1 -0
  247. package/dist/types/src/operations/update-complementary.d.ts +5 -0
  248. package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
  249. package/dist/types/src/operations/update-dialog.d.ts +5 -0
  250. package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
  251. package/dist/types/src/operations/update-plank-size.d.ts +5 -0
  252. package/dist/types/src/operations/update-plank-size.d.ts.map +1 -0
  253. package/dist/types/src/operations/update-popover.d.ts +5 -0
  254. package/dist/types/src/operations/update-popover.d.ts.map +1 -0
  255. package/dist/types/src/operations/update-sidebar.d.ts +5 -0
  256. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
  257. package/dist/types/src/translations.d.ts +42 -53
  258. package/dist/types/src/translations.d.ts.map +1 -1
  259. package/dist/types/src/types/Settings.d.ts +11 -0
  260. package/dist/types/src/types/Settings.d.ts.map +1 -0
  261. package/dist/types/src/{capabilities → types}/capabilities.d.ts +101 -94
  262. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  263. package/dist/types/src/types/events.d.ts +7 -0
  264. package/dist/types/src/types/events.d.ts.map +1 -0
  265. package/dist/types/src/types/index.d.ts +5 -0
  266. package/dist/types/src/types/index.d.ts.map +1 -0
  267. package/dist/types/src/{types.d.ts → types/schema.d.ts} +67 -66
  268. package/dist/types/src/types/schema.d.ts.map +1 -0
  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 +93 -55
  287. package/src/DeckPlugin.ts +44 -65
  288. package/src/capabilities/app-graph-builder.ts +113 -127
  289. package/src/capabilities/check-app-scheme.ts +123 -24
  290. package/src/capabilities/index.ts +13 -13
  291. package/src/capabilities/operation-handler.ts +16 -0
  292. package/src/capabilities/react-root.tsx +37 -28
  293. package/src/capabilities/react-surface.tsx +28 -22
  294. package/src/capabilities/settings.ts +30 -19
  295. package/src/capabilities/state.ts +74 -87
  296. package/src/capabilities/tools.ts +65 -55
  297. package/src/capabilities/url-handler.ts +221 -49
  298. package/src/components/DeckSettings/DeckSettings.stories.tsx +38 -0
  299. package/src/components/DeckSettings/DeckSettings.tsx +19 -73
  300. package/src/components/DeckSettings/index.ts +2 -2
  301. package/src/components/Matrix/Matrix.stories.tsx +220 -0
  302. package/src/components/Matrix/Matrix.tsx +205 -0
  303. package/src/components/Matrix/SPEC.md +219 -0
  304. package/src/components/Matrix/index.ts +6 -0
  305. package/src/components/index.ts +6 -3
  306. package/src/containers/Deck/Banner.tsx +41 -0
  307. package/src/containers/Deck/Deck.stories.tsx +81 -0
  308. package/src/containers/Deck/Deck.tsx +21 -0
  309. package/src/containers/Deck/DeckContent.tsx +105 -0
  310. package/src/containers/Deck/DeckRoot.tsx +50 -0
  311. package/src/containers/Deck/DeckViewport.tsx +456 -0
  312. package/src/{components/DeckLayout → containers/Deck}/StatusBar.tsx +4 -4
  313. package/src/containers/Deck/index.ts +5 -0
  314. package/src/{components → containers}/DeckLayout/ActiveNode.tsx +8 -3
  315. package/src/containers/DeckLayout/DeckLayout.stories.tsx +397 -0
  316. package/src/containers/DeckLayout/DeckLayout.tsx +62 -0
  317. package/src/containers/DeckLayout/Dialog.tsx +52 -0
  318. package/src/containers/DeckLayout/Fallback.tsx +24 -0
  319. package/src/containers/DeckLayout/Popover.tsx +161 -0
  320. package/src/{components → containers}/DeckLayout/Toast.tsx +30 -5
  321. package/src/{components → containers}/DeckLayout/constants.ts +1 -0
  322. package/src/{components → containers}/DeckLayout/index.ts +3 -2
  323. package/src/containers/Plank/Plank.stories.tsx +108 -0
  324. package/src/containers/Plank/Plank.tsx +22 -0
  325. package/src/containers/Plank/PlankComponent.tsx +217 -0
  326. package/src/containers/Plank/PlankContent.tsx +45 -0
  327. package/src/{components → containers}/Plank/PlankControls.tsx +45 -38
  328. package/src/containers/Plank/PlankError.tsx +79 -0
  329. package/src/{components → containers}/Plank/PlankHeading.tsx +70 -65
  330. package/src/{components → containers}/Plank/PlankLoading.tsx +1 -1
  331. package/src/containers/Plank/PlankRoot.tsx +49 -0
  332. package/src/{components → containers}/Plank/index.ts +0 -2
  333. package/src/containers/Sidebar/ComplementarySidebar.tsx +210 -0
  334. package/src/containers/Sidebar/Sidebar.tsx +44 -0
  335. package/src/containers/Sidebar/SidebarButton.tsx +100 -0
  336. package/src/containers/index.ts +11 -0
  337. package/src/hooks/index.ts +2 -0
  338. package/src/hooks/useCompanions.ts +3 -3
  339. package/src/hooks/useDeckCompanions.ts +9 -11
  340. package/src/hooks/useDeckState.ts +73 -0
  341. package/src/hooks/useHoistStatusbar.ts +4 -5
  342. package/src/hooks/useMainSize.ts +2 -2
  343. package/src/hooks/useNodeActionExpander.ts +4 -4
  344. package/src/hooks/useSelectedCompanion.ts +32 -0
  345. package/src/index.ts +1 -2
  346. package/src/layout.test.ts +59 -0
  347. package/src/layout.ts +38 -40
  348. package/src/meta.ts +8 -5
  349. package/src/operations/add-toast.ts +24 -0
  350. package/src/operations/adjust.ts +83 -0
  351. package/src/operations/close.ts +35 -0
  352. package/src/operations/definitions.ts +49 -0
  353. package/src/operations/helpers.ts +22 -0
  354. package/src/operations/index.ts +26 -0
  355. package/src/operations/open.ts +184 -0
  356. package/src/operations/revert-workspace.ts +22 -0
  357. package/src/operations/scroll-into-view.ts +24 -0
  358. package/src/operations/set-layout-mode.ts +84 -0
  359. package/src/operations/set.ts +36 -0
  360. package/src/operations/show-undo.ts +47 -0
  361. package/src/operations/switch-workspace.ts +60 -0
  362. package/src/operations/update-companion.ts +35 -0
  363. package/src/operations/update-complementary.ts +33 -0
  364. package/src/operations/update-dialog.ts +34 -0
  365. package/src/operations/update-plank-size.ts +29 -0
  366. package/src/operations/update-popover.ts +36 -0
  367. package/src/operations/update-sidebar.ts +28 -0
  368. package/src/translations.ts +42 -52
  369. package/src/types/Settings.ts +42 -0
  370. package/src/types/capabilities.ts +35 -0
  371. package/src/types/events.ts +21 -0
  372. package/src/types/index.ts +8 -0
  373. package/src/{types.ts → types/schema.ts} +51 -58
  374. package/src/util/index.ts +2 -1
  375. package/src/util/layoutAppliesTopbar.ts +2 -2
  376. package/src/util/plank-url-params.test.ts +85 -0
  377. package/src/util/plank-url-params.ts +36 -0
  378. package/src/util/sanitize-persisted-state.test.ts +79 -0
  379. package/src/util/sanitize-persisted-state.ts +52 -0
  380. package/src/util/set-active.test.ts +106 -0
  381. package/src/util/set-active.ts +50 -30
  382. package/src/vite-env.d.ts +5 -0
  383. package/dist/lib/browser/app-graph-builder-JTFSDT2I.mjs +0 -152
  384. package/dist/lib/browser/app-graph-builder-JTFSDT2I.mjs.map +0 -7
  385. package/dist/lib/browser/check-app-scheme-57U62A3A.mjs +0 -32
  386. package/dist/lib/browser/check-app-scheme-57U62A3A.mjs.map +0 -7
  387. package/dist/lib/browser/chunk-7LJDT5OH.mjs +0 -127
  388. package/dist/lib/browser/chunk-7LJDT5OH.mjs.map +0 -7
  389. package/dist/lib/browser/chunk-CNTGBCMK.mjs +0 -145
  390. package/dist/lib/browser/chunk-CNTGBCMK.mjs.map +0 -7
  391. package/dist/lib/browser/chunk-M57WD3V6.mjs +0 -16
  392. package/dist/lib/browser/chunk-M57WD3V6.mjs.map +0 -7
  393. package/dist/lib/browser/chunk-QBKDUEDV.mjs +0 -1494
  394. package/dist/lib/browser/chunk-QBKDUEDV.mjs.map +0 -7
  395. package/dist/lib/browser/chunk-QO3VIMKQ.mjs +0 -128
  396. package/dist/lib/browser/chunk-QO3VIMKQ.mjs.map +0 -7
  397. package/dist/lib/browser/chunk-XL7EWOGI.mjs +0 -162
  398. package/dist/lib/browser/chunk-XL7EWOGI.mjs.map +0 -7
  399. package/dist/lib/browser/chunk-Z5KITAZW.mjs +0 -13
  400. package/dist/lib/browser/chunk-Z5KITAZW.mjs.map +0 -7
  401. package/dist/lib/browser/intent-resolver-6YMAE4SF.mjs +0 -521
  402. package/dist/lib/browser/intent-resolver-6YMAE4SF.mjs.map +0 -7
  403. package/dist/lib/browser/react-root-UVN2LMU3.mjs +0 -43
  404. package/dist/lib/browser/react-root-UVN2LMU3.mjs.map +0 -7
  405. package/dist/lib/browser/react-surface-WOLHGHMN.mjs +0 -40
  406. package/dist/lib/browser/react-surface-WOLHGHMN.mjs.map +0 -7
  407. package/dist/lib/browser/settings-L5CR5GTJ.mjs +0 -29
  408. package/dist/lib/browser/settings-L5CR5GTJ.mjs.map +0 -7
  409. package/dist/lib/browser/state-ZTYWMORZ.mjs +0 -10
  410. package/dist/lib/browser/tools-2YYFHQAS.mjs +0 -88
  411. package/dist/lib/browser/tools-2YYFHQAS.mjs.map +0 -7
  412. package/dist/lib/browser/types.mjs +0 -34
  413. package/dist/lib/browser/url-handler-KZW7GBA2.mjs +0 -70
  414. package/dist/lib/browser/url-handler-KZW7GBA2.mjs.map +0 -7
  415. package/dist/lib/node-esm/app-graph-builder-YCSX45KJ.mjs +0 -153
  416. package/dist/lib/node-esm/app-graph-builder-YCSX45KJ.mjs.map +0 -7
  417. package/dist/lib/node-esm/check-app-scheme-3YZIA73T.mjs +0 -33
  418. package/dist/lib/node-esm/check-app-scheme-3YZIA73T.mjs.map +0 -7
  419. package/dist/lib/node-esm/chunk-ANLUUC3J.mjs +0 -129
  420. package/dist/lib/node-esm/chunk-ANLUUC3J.mjs.map +0 -7
  421. package/dist/lib/node-esm/chunk-F4YIQ5GG.mjs +0 -128
  422. package/dist/lib/node-esm/chunk-F4YIQ5GG.mjs.map +0 -7
  423. package/dist/lib/node-esm/chunk-HHG6H2BX.mjs +0 -15
  424. package/dist/lib/node-esm/chunk-HHG6H2BX.mjs.map +0 -7
  425. package/dist/lib/node-esm/chunk-KTPDAVNM.mjs +0 -17
  426. package/dist/lib/node-esm/chunk-KTPDAVNM.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-NMSUKHE3.mjs +0 -1495
  428. package/dist/lib/node-esm/chunk-NMSUKHE3.mjs.map +0 -7
  429. package/dist/lib/node-esm/chunk-QFKYT4JK.mjs +0 -163
  430. package/dist/lib/node-esm/chunk-QFKYT4JK.mjs.map +0 -7
  431. package/dist/lib/node-esm/chunk-UJGQAMF7.mjs +0 -147
  432. package/dist/lib/node-esm/chunk-UJGQAMF7.mjs.map +0 -7
  433. package/dist/lib/node-esm/intent-resolver-URTWBGD7.mjs +0 -522
  434. package/dist/lib/node-esm/intent-resolver-URTWBGD7.mjs.map +0 -7
  435. package/dist/lib/node-esm/react-root-GFX4GOJT.mjs +0 -44
  436. package/dist/lib/node-esm/react-root-GFX4GOJT.mjs.map +0 -7
  437. package/dist/lib/node-esm/react-surface-F6L5PLWK.mjs +0 -41
  438. package/dist/lib/node-esm/react-surface-F6L5PLWK.mjs.map +0 -7
  439. package/dist/lib/node-esm/settings-WE3TBMOC.mjs +0 -30
  440. package/dist/lib/node-esm/settings-WE3TBMOC.mjs.map +0 -7
  441. package/dist/lib/node-esm/state-DUK6WFDX.mjs +0 -11
  442. package/dist/lib/node-esm/tools-HH6NN7HB.mjs +0 -89
  443. package/dist/lib/node-esm/tools-HH6NN7HB.mjs.map +0 -7
  444. package/dist/lib/node-esm/url-handler-774BWWKI.mjs +0 -71
  445. package/dist/lib/node-esm/url-handler-774BWWKI.mjs.map +0 -7
  446. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  447. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  448. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  449. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +0 -1
  450. package/dist/types/src/components/DeckLayout/Banner.d.ts.map +0 -1
  451. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts +0 -3
  452. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +0 -1
  453. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +0 -6
  454. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +0 -1
  455. package/dist/types/src/components/DeckLayout/Dialog.d.ts.map +0 -1
  456. package/dist/types/src/components/DeckLayout/Fallback.d.ts +0 -3
  457. package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +0 -1
  458. package/dist/types/src/components/DeckLayout/Popover.d.ts +0 -5
  459. package/dist/types/src/components/DeckLayout/Popover.d.ts.map +0 -1
  460. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +0 -1
  461. package/dist/types/src/components/DeckLayout/Toast.d.ts +0 -5
  462. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +0 -1
  463. package/dist/types/src/components/DeckLayout/Topbar.d.ts +0 -3
  464. package/dist/types/src/components/DeckLayout/Topbar.d.ts.map +0 -1
  465. package/dist/types/src/components/DeckLayout/constants.d.ts.map +0 -1
  466. package/dist/types/src/components/DeckLayout/index.d.ts +0 -4
  467. package/dist/types/src/components/DeckLayout/index.d.ts.map +0 -1
  468. package/dist/types/src/components/Plank/Plank.d.ts +0 -27
  469. package/dist/types/src/components/Plank/Plank.d.ts.map +0 -1
  470. package/dist/types/src/components/Plank/Plank.stories.d.ts +0 -8
  471. package/dist/types/src/components/Plank/Plank.stories.d.ts.map +0 -1
  472. package/dist/types/src/components/Plank/PlankControls.d.ts.map +0 -1
  473. package/dist/types/src/components/Plank/PlankError.d.ts +0 -13
  474. package/dist/types/src/components/Plank/PlankError.d.ts.map +0 -1
  475. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +0 -1
  476. package/dist/types/src/components/Plank/index.d.ts +0 -6
  477. package/dist/types/src/components/Plank/index.d.ts.map +0 -1
  478. package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +0 -1
  479. package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +0 -1
  480. package/dist/types/src/components/Sidebar/SidebarButton.d.ts.map +0 -1
  481. package/dist/types/src/components/fragments.d.ts +0 -4
  482. package/dist/types/src/components/fragments.d.ts.map +0 -1
  483. package/dist/types/src/events.d.ts +0 -4
  484. package/dist/types/src/events.d.ts.map +0 -1
  485. package/dist/types/src/types.d.ts.map +0 -1
  486. package/dist/types/src/util/overscroll.d.ts +0 -47
  487. package/dist/types/src/util/overscroll.d.ts.map +0 -1
  488. package/src/capabilities/capabilities.ts +0 -14
  489. package/src/capabilities/intent-resolver.ts +0 -468
  490. package/src/components/DeckLayout/Banner.tsx +0 -39
  491. package/src/components/DeckLayout/ContentEmpty.tsx +0 -31
  492. package/src/components/DeckLayout/DeckLayout.tsx +0 -301
  493. package/src/components/DeckLayout/Dialog.tsx +0 -36
  494. package/src/components/DeckLayout/Fallback.tsx +0 -28
  495. package/src/components/DeckLayout/Popover.tsx +0 -104
  496. package/src/components/DeckLayout/Topbar.tsx +0 -11
  497. package/src/components/Plank/Plank.stories.tsx +0 -55
  498. package/src/components/Plank/Plank.tsx +0 -266
  499. package/src/components/Plank/PlankError.tsx +0 -51
  500. package/src/components/Sidebar/ComplementarySidebar.tsx +0 -193
  501. package/src/components/Sidebar/Sidebar.tsx +0 -42
  502. package/src/components/Sidebar/SidebarButton.tsx +0 -87
  503. package/src/components/fragments.ts +0 -14
  504. package/src/events.ts +0 -11
  505. package/src/util/overscroll.ts +0 -69
  506. /package/dist/lib/browser/{state-ZTYWMORZ.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  507. /package/dist/lib/browser/{types.mjs.map → types/index.mjs.map} +0 -0
  508. /package/dist/lib/node-esm/{state-DUK6WFDX.mjs.map → chunk-HSLMI22Q.mjs.map} +0 -0
  509. /package/dist/lib/node-esm/{types.mjs.map → types/index.mjs.map} +0 -0
  510. /package/dist/types/src/{components/DeckLayout → containers/Deck}/StatusBar.d.ts +0 -0
  511. /package/dist/types/src/{components → containers}/DeckLayout/ActiveNode.d.ts +0 -0
  512. /package/dist/types/src/{components → containers}/DeckLayout/Dialog.d.ts +0 -0
  513. /package/dist/types/src/{components → containers}/DeckLayout/constants.d.ts +0 -0
  514. /package/dist/types/src/{components → containers}/Plank/PlankLoading.d.ts +0 -0
  515. /package/dist/types/src/{components → containers}/Sidebar/ComplementarySidebar.d.ts +0 -0
  516. /package/dist/types/src/{components → containers}/Sidebar/Sidebar.d.ts +0 -0
  517. /package/dist/types/src/{components → containers}/Sidebar/index.d.ts +0 -0
  518. /package/src/{components → containers}/Sidebar/index.ts +0 -0
@@ -1,38 +1,94 @@
1
- import { type DeepReadonly } from '@dxos/util';
1
+ import { type Atom } from '@effect-atom/atom-react';
2
+ import * as Effect from 'effect/Effect';
3
+ import { Capability } from '@dxos/app-framework';
4
+ import { type DeckState } from './schema';
5
+ import * as Settings from './Settings';
2
6
  export declare namespace DeckCapabilities {
3
- const DeckState: import("@dxos/app-framework").InterfaceDef<DeepReadonly<{
4
- deck: {
5
- solo?: string | undefined;
6
- initialized: boolean;
7
- active: string[];
8
- activeCompanions?: {
9
- [x: string]: string;
10
- } | undefined;
11
- inactive: string[];
12
- fullscreen: boolean;
13
- plankSizing: {
14
- [x: string]: number;
15
- };
16
- companionFrameSizing: {
17
- [x: string]: number;
7
+ const Settings: Capability.InterfaceDef<Atom.Writable<Settings.Settings, Settings.Settings>>;
8
+ /** Persisted state (stored in KVS/localStorage). */
9
+ const State: Capability.InterfaceDef<Atom.Writable<{
10
+ sidebarState: "closed" | "collapsed" | "expanded";
11
+ complementarySidebarState: "closed" | "collapsed" | "expanded";
12
+ complementarySidebarPanel?: string | undefined;
13
+ activeDeck: string;
14
+ previousDeck: string;
15
+ decks: {
16
+ [x: string]: {
17
+ initialized: boolean;
18
+ active: string[];
19
+ inactive: string[];
20
+ solo?: string | undefined;
21
+ fullscreen: boolean;
22
+ plankSizing: {
23
+ [x: string]: number;
24
+ };
25
+ companionOpen: boolean;
26
+ companionVariant?: string | undefined;
27
+ companionFrameSizing: {
28
+ [x: string]: number;
29
+ };
18
30
  };
19
31
  };
32
+ previousMode: {
33
+ [x: string]: "multi" | "solo" | "solo--fullscreen";
34
+ };
35
+ }, {
20
36
  sidebarState: "closed" | "collapsed" | "expanded";
21
37
  complementarySidebarState: "closed" | "collapsed" | "expanded";
22
38
  complementarySidebarPanel?: string | undefined;
39
+ activeDeck: string;
40
+ previousDeck: string;
41
+ decks: {
42
+ [x: string]: {
43
+ initialized: boolean;
44
+ active: string[];
45
+ inactive: string[];
46
+ solo?: string | undefined;
47
+ fullscreen: boolean;
48
+ plankSizing: {
49
+ [x: string]: number;
50
+ };
51
+ companionOpen: boolean;
52
+ companionVariant?: string | undefined;
53
+ companionFrameSizing: {
54
+ [x: string]: number;
55
+ };
56
+ };
57
+ };
58
+ previousMode: {
59
+ [x: string]: "multi" | "solo" | "solo--fullscreen";
60
+ };
61
+ }>>;
62
+ /** Transient/ephemeral state (not persisted). */
63
+ const EphemeralState: Capability.InterfaceDef<Atom.Writable<{
23
64
  dialogOpen: boolean;
24
- dialogType?: "default" | "alert" | undefined;
25
- dialogBlockAlign?: "start" | "end" | "center" | undefined;
65
+ dialogType?: "alert" | "default" | undefined;
66
+ dialogBlockAlign?: "center" | "end" | "start" | undefined;
26
67
  dialogOverlayClasses?: string | undefined;
27
68
  dialogOverlayStyle?: {
28
69
  readonly [x: string]: any;
29
70
  } | undefined;
30
- dialogContent?: any;
71
+ dialogContent: {
72
+ readonly component: string;
73
+ readonly props?: any;
74
+ } | null;
31
75
  popoverOpen: boolean;
32
- popoverSide?: "top" | "right" | "bottom" | "left" | undefined;
76
+ popoverSide?: "bottom" | "left" | "right" | "top" | undefined;
33
77
  popoverAnchor?: any;
34
78
  popoverAnchorId?: string | undefined;
35
- popoverContent?: any;
79
+ popoverKind?: "base" | "card" | undefined;
80
+ popoverTitle?: string | [string, {
81
+ ns: string;
82
+ count?: number | undefined;
83
+ defaultValue?: string | undefined;
84
+ }] | undefined;
85
+ popoverContentRef?: string | undefined;
86
+ popoverContent: {
87
+ readonly component: string;
88
+ readonly props?: any;
89
+ } | {
90
+ readonly subject: any;
91
+ } | null;
36
92
  toasts: {
37
93
  readonly id: string;
38
94
  readonly title?: string | [string, {
@@ -65,64 +121,36 @@ export declare namespace DeckCapabilities {
65
121
  readonly onAction?: any;
66
122
  }[];
67
123
  currentUndoId?: string | undefined;
68
- activeDeck: string;
69
- previousDeck: string;
70
- decks: {
71
- [x: string]: {
72
- solo?: string | undefined;
73
- initialized: boolean;
74
- active: string[];
75
- activeCompanions?: {
76
- [x: string]: string;
77
- } | undefined;
78
- inactive: string[];
79
- fullscreen: boolean;
80
- plankSizing: {
81
- [x: string]: number;
82
- };
83
- companionFrameSizing: {
84
- [x: string]: number;
85
- };
86
- };
87
- };
88
- previousMode: {
89
- [x: string]: "solo" | "deck" | "solo--fullscreen";
90
- };
91
124
  scrollIntoView?: string | undefined;
92
- }>>;
93
- const MutableDeckState: import("@dxos/app-framework").InterfaceDef<{
94
- deck: {
95
- solo?: string | undefined;
96
- initialized: boolean;
97
- active: string[];
98
- activeCompanions?: {
99
- [x: string]: string;
100
- } | undefined;
101
- inactive: string[];
102
- fullscreen: boolean;
103
- plankSizing: {
104
- [x: string]: number;
105
- };
106
- companionFrameSizing: {
107
- [x: string]: number;
108
- };
109
- };
110
- sidebarState: "closed" | "collapsed" | "expanded";
111
- complementarySidebarState: "closed" | "collapsed" | "expanded";
112
- complementarySidebarPanel?: string | undefined;
125
+ }, {
113
126
  dialogOpen: boolean;
114
- dialogType?: "default" | "alert" | undefined;
115
- dialogBlockAlign?: "start" | "end" | "center" | undefined;
127
+ dialogType?: "alert" | "default" | undefined;
128
+ dialogBlockAlign?: "center" | "end" | "start" | undefined;
116
129
  dialogOverlayClasses?: string | undefined;
117
130
  dialogOverlayStyle?: {
118
131
  readonly [x: string]: any;
119
132
  } | undefined;
120
- dialogContent?: any;
133
+ dialogContent: {
134
+ readonly component: string;
135
+ readonly props?: any;
136
+ } | null;
121
137
  popoverOpen: boolean;
122
- popoverSide?: "top" | "right" | "bottom" | "left" | undefined;
138
+ popoverSide?: "bottom" | "left" | "right" | "top" | undefined;
123
139
  popoverAnchor?: any;
124
140
  popoverAnchorId?: string | undefined;
125
- popoverContent?: any;
141
+ popoverKind?: "base" | "card" | undefined;
142
+ popoverTitle?: string | [string, {
143
+ ns: string;
144
+ count?: number | undefined;
145
+ defaultValue?: string | undefined;
146
+ }] | undefined;
147
+ popoverContentRef?: string | undefined;
148
+ popoverContent: {
149
+ readonly component: string;
150
+ readonly props?: any;
151
+ } | {
152
+ readonly subject: any;
153
+ } | null;
126
154
  toasts: {
127
155
  readonly id: string;
128
156
  readonly title?: string | [string, {
@@ -155,30 +183,9 @@ export declare namespace DeckCapabilities {
155
183
  readonly onAction?: any;
156
184
  }[];
157
185
  currentUndoId?: string | undefined;
158
- activeDeck: string;
159
- previousDeck: string;
160
- decks: {
161
- [x: string]: {
162
- solo?: string | undefined;
163
- initialized: boolean;
164
- active: string[];
165
- activeCompanions?: {
166
- [x: string]: string;
167
- } | undefined;
168
- inactive: string[];
169
- fullscreen: boolean;
170
- plankSizing: {
171
- [x: string]: number;
172
- };
173
- companionFrameSizing: {
174
- [x: string]: number;
175
- };
176
- };
177
- };
178
- previousMode: {
179
- [x: string]: "solo" | "deck" | "solo--fullscreen";
180
- };
181
186
  scrollIntoView?: string | undefined;
182
- }>;
187
+ }>>;
188
+ /** Get the current active deck from state. */
189
+ const getDeck: () => Effect.Effect<DeckState, Error, Capability.Service>;
183
190
  }
184
191
  //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/types/capabilities.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAK/D,OAAO,EAA2B,KAAK,SAAS,EAAwB,MAAM,UAAU,CAAC;AACzF,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,yBAAiB,gBAAgB,CAAC,CAAC;IAC1B,MAAM,QAAQ,8EAAsF,CAAC;IAE5G,oDAAoD;IAC7C,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAiF,CAAC;IAEpG,iDAAiD;IAC1C,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAE1B,CAAC;IAEF,8CAA8C;IACvC,MAAM,OAAO,QAAO,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAMzE,CAAC;CACN"}
@@ -0,0 +1,7 @@
1
+ import { type ActivationEvent } from '@dxos/app-framework';
2
+ export declare namespace DeckEvents {
3
+ const StateReady: ActivationEvent.ActivationEvent;
4
+ /** Fired when DeckSettings capability is ready. */
5
+ const SettingsReady: ActivationEvent.ActivationEvent;
6
+ }
7
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/types/events.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO3D,yBAAiB,UAAU,CAAC,CAAC;IACpB,MAAM,UAAU,EAAE,eAAe,CAAC,eAExC,CAAC;IAEF,mDAAmD;IAC5C,MAAM,aAAa,EAAE,eAAe,CAAC,eAE3C,CAAC;CACH"}
@@ -0,0 +1,5 @@
1
+ export * from './capabilities';
2
+ export * from './events';
3
+ export * from './schema';
4
+ export * as Settings from './Settings';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC"}
@@ -1,59 +1,96 @@
1
- import { Schema } from 'effect';
1
+ import * as Schema from 'effect/Schema';
2
2
  import { type DeepReadonly } from '@dxos/util';
3
- export { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
4
- export declare const PLANK_COMPANION_TYPE = "dxos.org/plugin/deck/plank-companion";
5
- export declare const DECK_COMPANION_TYPE = "dxos.org/plugin/deck/deck-companion";
6
- export declare const NewPlankPositions: readonly ["start", "end"];
7
- export type NewPlankPositioning = (typeof NewPlankPositions)[number];
8
- export declare const OverscrollOptions: readonly ["none", "centering"];
9
- export type Overscroll = (typeof OverscrollOptions)[number];
10
- export type Part = 'solo' | 'deck' | 'complementary';
3
+ export * as Settings from './Settings';
4
+ export { PLANK_COMPANION_TYPE, DECK_COMPANION_TYPE } from '@dxos/app-toolkit';
5
+ export type Part = 'solo' | 'multi' | 'complementary';
11
6
  export type ResolvedPart = Part | 'solo-primary' | 'solo-companion';
12
- export declare const DeckSettingsSchema: Schema.mutable<Schema.Struct<{
13
- showHints: Schema.optional<typeof Schema.Boolean>;
14
- enableDeck: Schema.optional<typeof Schema.Boolean>;
15
- enableStatusbar: Schema.optional<typeof Schema.Boolean>;
16
- enableNativeRedirect: Schema.optional<typeof Schema.Boolean>;
17
- newPlankPositioning: Schema.optional<Schema.Literal<["start", "end"]>>;
18
- overscroll: Schema.optional<Schema.Literal<["none", "centering"]>>;
19
- }>>;
20
- export type DeckSettingsProps = Schema.Schema.Type<typeof DeckSettingsSchema>;
21
7
  export declare const PlankSizing: Schema.Record$<typeof Schema.String, typeof Schema.Number>;
22
8
  export type PlankSizing = Schema.Schema.Type<typeof PlankSizing>;
23
9
  export declare const DeckState: Schema.Struct<{
24
10
  /** If false, the deck has not yet left solo mode and new planks should be soloed. */
25
11
  initialized: typeof Schema.Boolean;
12
+ /** Item IDs of planks currently displayed in multi-mode. */
26
13
  active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
27
- activeCompanions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
14
+ /** Item IDs of planks that have been closed; used for state persistence and reopening. */
28
15
  inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
16
+ /** Item ID of the single plank displayed in solo or fullscreen mode. */
29
17
  solo: Schema.optional<typeof Schema.String>;
18
+ /** Whether the solo plank is displayed in fullscreen mode (no heading or sidebars). */
30
19
  fullscreen: typeof Schema.Boolean;
20
+ /** Persisted plank widths in rem, keyed by item ID. */
31
21
  plankSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
22
+ /** Whether the companion pane is visible alongside the active plank(s). */
23
+ companionOpen: typeof Schema.Boolean;
24
+ /** Which companion variant to display when the companion pane is open. */
25
+ companionVariant: Schema.optional<typeof Schema.String>;
26
+ /** Persisted companion frame widths in rem, keyed by frame ID. */
32
27
  companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
33
28
  }>;
34
29
  export type DeckState = Schema.Schema.Type<typeof DeckState>;
35
30
  export declare const defaultDeck: DeckState;
36
- declare const LayoutMode: Schema.Literal<["deck", "solo", "solo--fullscreen"]>;
31
+ declare const LayoutMode: Schema.Literal<["multi", "solo", "solo--fullscreen"]>;
37
32
  export type LayoutMode = Schema.Schema.Type<typeof LayoutMode>;
38
33
  export declare const isLayoutMode: (value: any) => value is LayoutMode;
39
34
  export declare const getMode: (deck: DeckState | DeepReadonly<DeckState>) => LayoutMode;
40
- export declare const DeckPluginState: Schema.mutable<Schema.Struct<{
35
+ export declare const StoredDeckState: Schema.mutable<Schema.Struct<{
41
36
  sidebarState: Schema.Literal<["closed", "collapsed", "expanded"]>;
42
37
  complementarySidebarState: Schema.Literal<["closed", "collapsed", "expanded"]>;
43
38
  complementarySidebarPanel: Schema.optional<typeof Schema.String>;
39
+ activeDeck: typeof Schema.String;
40
+ previousDeck: typeof Schema.String;
41
+ decks: Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
42
+ /** If false, the deck has not yet left solo mode and new planks should be soloed. */
43
+ initialized: typeof Schema.Boolean;
44
+ /** Item IDs of planks currently displayed in multi-mode. */
45
+ active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
46
+ /** Item IDs of planks that have been closed; used for state persistence and reopening. */
47
+ inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
48
+ /** Item ID of the single plank displayed in solo or fullscreen mode. */
49
+ solo: Schema.optional<typeof Schema.String>;
50
+ /** Whether the solo plank is displayed in fullscreen mode (no heading or sidebars). */
51
+ fullscreen: typeof Schema.Boolean;
52
+ /** Persisted plank widths in rem, keyed by item ID. */
53
+ plankSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
54
+ /** Whether the companion pane is visible alongside the active plank(s). */
55
+ companionOpen: typeof Schema.Boolean;
56
+ /** Which companion variant to display when the companion pane is open. */
57
+ companionVariant: Schema.optional<typeof Schema.String>;
58
+ /** Persisted companion frame widths in rem, keyed by frame ID. */
59
+ companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
60
+ }>>>>;
61
+ previousMode: Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Literal<["multi", "solo", "solo--fullscreen"]>>>;
62
+ }>>;
63
+ export type StoredDeckState = Schema.Schema.Type<typeof StoredDeckState>;
64
+ export declare const EphemeralDeckState: Schema.mutable<Schema.Struct<{
44
65
  dialogOpen: typeof Schema.Boolean;
45
66
  dialogType: Schema.optional<Schema.Literal<["default", "alert"]>>;
46
67
  dialogBlockAlign: Schema.optional<Schema.Literal<["start", "center", "end"]>>;
47
68
  dialogOverlayClasses: Schema.optional<typeof Schema.String>;
48
69
  dialogOverlayStyle: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
49
70
  /** Data to be passed to the dialog Surface. */
50
- dialogContent: Schema.optional<typeof Schema.Any>;
71
+ dialogContent: Schema.NullOr<Schema.Struct<{
72
+ component: typeof Schema.String;
73
+ props: Schema.optional<typeof Schema.Any>;
74
+ }>>;
51
75
  popoverOpen: typeof Schema.Boolean;
52
76
  popoverSide: Schema.optional<Schema.Literal<["top", "right", "bottom", "left"]>>;
53
77
  popoverAnchor: Schema.optional<typeof Schema.Any>;
54
78
  popoverAnchorId: Schema.optional<typeof Schema.String>;
79
+ popoverKind: Schema.optional<Schema.Literal<["base", "card"]>>;
80
+ popoverTitle: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
81
+ ns: typeof Schema.String;
82
+ count: Schema.optional<typeof Schema.Number>;
83
+ defaultValue: Schema.optional<typeof Schema.String>;
84
+ }>>>>]>>;
85
+ /** Ref of the subject to be passed to the popover Surface. */
86
+ popoverContentRef: Schema.optional<typeof Schema.String>;
55
87
  /** Data to be passed to the popover Surface. */
56
- popoverContent: Schema.optional<typeof Schema.Any>;
88
+ popoverContent: Schema.NullOr<Schema.Union<[Schema.Struct<{
89
+ component: typeof Schema.String;
90
+ props: Schema.optional<typeof Schema.Any>;
91
+ }>, Schema.Struct<{
92
+ subject: typeof Schema.Any;
93
+ }>]>>;
57
94
  toasts: Schema.mutable<Schema.Array$<Schema.Struct<{
58
95
  id: Schema.SchemaClass<string, string, never>;
59
96
  title: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
@@ -86,36 +123,11 @@ export declare const DeckPluginState: Schema.mutable<Schema.Struct<{
86
123
  onAction: Schema.optional<Schema.SchemaClass<any, any, never>>;
87
124
  }>>>;
88
125
  currentUndoId: Schema.optional<typeof Schema.String>;
89
- activeDeck: typeof Schema.String;
90
- previousDeck: typeof Schema.String;
91
- decks: Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
92
- /** If false, the deck has not yet left solo mode and new planks should be soloed. */
93
- initialized: typeof Schema.Boolean;
94
- active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
95
- activeCompanions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
96
- inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
97
- solo: Schema.optional<typeof Schema.String>;
98
- fullscreen: typeof Schema.Boolean;
99
- plankSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
100
- companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
101
- }>>>>;
102
- previousMode: Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Literal<["deck", "solo", "solo--fullscreen"]>>>;
103
- deck: Schema.mutable<Schema.Struct<{
104
- /** If false, the deck has not yet left solo mode and new planks should be soloed. */
105
- initialized: typeof Schema.Boolean;
106
- active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
107
- activeCompanions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
108
- inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
109
- solo: Schema.optional<typeof Schema.String>;
110
- fullscreen: typeof Schema.Boolean;
111
- plankSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
112
- companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
113
- }>>;
114
126
  /** The identifier of a component to scroll into view when it is mounted. */
115
127
  scrollIntoView: Schema.optional<typeof Schema.String>;
116
128
  }>>;
117
- export type DeckPluginState = Schema.Schema.Type<typeof DeckPluginState>;
118
- export declare const DECK_ACTION: string;
129
+ export type EphemeralDeckState = Schema.Schema.Type<typeof EphemeralDeckState>;
130
+ export type DeckPluginState = StoredDeckState & EphemeralDeckState;
119
131
  export declare namespace DeckAction {
120
132
  const PartAdjustmentSchema: Schema.Union<[Schema.Literal<["close"]>, Schema.Literal<["companion"]>, Schema.Literal<["solo"]>, Schema.Literal<["solo--fullscreen"]>, Schema.Literal<["increment-start"]>, Schema.Literal<["increment-end"]>]>;
121
133
  export type PartAdjustment = Schema.Schema.Type<typeof PartAdjustmentSchema>;
@@ -124,8 +136,8 @@ export declare namespace DeckAction {
124
136
  type: Schema.Union<[Schema.Literal<["close"]>, Schema.Literal<["companion"]>, Schema.Literal<["solo"]>, Schema.Literal<["solo--fullscreen"]>, Schema.Literal<["increment-start"]>, Schema.Literal<["increment-end"]>]>;
125
137
  }>>;
126
138
  export type Adjustment = Schema.Schema.Type<typeof Adjustment>;
127
- const Adjust_base: Schema.TaggedClass<Adjust, `${string}/adjust`, {
128
- readonly _tag: Schema.tag<`${string}/adjust`>;
139
+ const Adjust_base: Schema.TaggedClass<Adjust, `${string}.action.adjust`, {
140
+ readonly _tag: Schema.tag<`${string}.action.adjust`>;
129
141
  } & {
130
142
  input: Schema.mutable<Schema.Struct<{
131
143
  id: typeof Schema.String;
@@ -135,8 +147,8 @@ export declare namespace DeckAction {
135
147
  }>;
136
148
  export class Adjust extends Adjust_base {
137
149
  }
138
- const UpdatePlankSize_base: Schema.TaggedClass<UpdatePlankSize, `${string}/update-plank-size`, {
139
- readonly _tag: Schema.tag<`${string}/update-plank-size`>;
150
+ const UpdatePlankSize_base: Schema.TaggedClass<UpdatePlankSize, `${string}.action.update-plank-size`, {
151
+ readonly _tag: Schema.tag<`${string}.action.update-plank-size`>;
140
152
  } & {
141
153
  input: Schema.Struct<{
142
154
  id: typeof Schema.String;
@@ -146,17 +158,6 @@ export declare namespace DeckAction {
146
158
  }>;
147
159
  export class UpdatePlankSize extends UpdatePlankSize_base {
148
160
  }
149
- const ChangeCompanion_base: Schema.TaggedClass<ChangeCompanion, `${string}/change-companion`, {
150
- readonly _tag: Schema.tag<`${string}/change-companion`>;
151
- } & {
152
- input: Schema.Struct<{
153
- primary: typeof Schema.String;
154
- companion: Schema.Union<[typeof Schema.String, typeof Schema.Null]>;
155
- }>;
156
- output: typeof Schema.Void;
157
- }>;
158
- export class ChangeCompanion extends ChangeCompanion_base {
159
- }
160
161
  export {};
161
162
  }
162
- //# sourceMappingURL=types.d.ts.map
163
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEpE,eAAO,MAAM,WAAW,4DAA8D,CAAC;AACvF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAEjE,eAAO,MAAM,SAAS;IACpB,qFAAqF;;IAErF,4DAA4D;;IAE5D,0FAA0F;;IAE1F,wEAAwE;;IAExE,uFAAuF;;IAEvF,uDAAuD;;IAEvD,2EAA2E;;IAE3E,0EAA0E;;IAE1E,kEAAkE;;EAElE,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7D,eAAO,MAAM,WAAW,EAAE,SAUzB,CAAC;AAMF,QAAA,MAAM,UAAU,uDAAsD,CAAC;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAC/D,eAAO,MAAM,YAAY,UAAW,GAAG,KAAG,KAAK,IAAI,UAA0C,CAAC;AAC9F,eAAO,MAAM,OAAO,SAAU,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,KAAG,UAMnE,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;;;QAjD1B,qFAAqF;;QAErF,4DAA4D;;QAE5D,0FAA0F;;QAE1F,wEAAwE;;QAExE,uFAAuF;;QAEvF,uDAAuD;;QAEvD,2EAA2E;;QAE3E,0EAA0E;;QAE1E,kEAAkE;;;;GAyC7C,CAAC;AACxB,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC;AAGzE,eAAO,MAAM,kBAAkB;;;;;;IAM7B,+CAA+C;;;;;;;;;;;;;;;IAQ/C,8DAA8D;;IAE9D,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAShD,4EAA4E;;GAEvD,CAAC;AACxB,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG/E,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAEnE,yBAAiB,UAAU,CAAC,CAAC;IAC3B,MAAM,oBAAoB,kNAOzB,CAAC;IACF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAC7E,MAAM,CAAC,MAAM,UAAU;;;OAAmF,CAAC;IAC3G,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;;;;;;;;;;IAG/D,MAAM,OAAO,MAAO,SAAQ,WAG1B;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAMnC;KAAG;;CACN"}
@@ -1,4 +1,5 @@
1
1
  export * from './layoutAppliesTopbar';
2
- export * from './overscroll';
2
+ export * from './plank-url-params';
3
+ export * from './sanitize-persisted-state';
3
4
  export * from './set-active';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC"}
@@ -1,3 +1,3 @@
1
- import { type LayoutMode } from '../types';
1
+ import { type LayoutMode } from '#types';
2
2
  export declare const layoutAppliesTopbar: (breakpoint: string, layoutMode?: LayoutMode) => boolean;
3
3
  //# sourceMappingURL=layoutAppliesTopbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layoutAppliesTopbar.d.ts","sourceRoot":"","sources":["../../../../src/util/layoutAppliesTopbar.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,mBAAmB,GAAI,YAAY,MAAM,EAAE,aAAa,UAAU,YAM9E,CAAC"}
1
+ {"version":3,"file":"layoutAppliesTopbar.d.ts","sourceRoot":"","sources":["../../../../src/util/layoutAppliesTopbar.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,eAAO,MAAM,mBAAmB,eAAgB,MAAM,eAAe,UAAU,YAM9E,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Serialize deck active qualified IDs into a URL search string.
3
+ * Preserves non-plank query params from the existing search string.
4
+ */
5
+ export declare const serializePlanks: (active: readonly string[], existingSearch: string) => string;
6
+ /**
7
+ * Deserialize plank query params from a URL back to qualified graph IDs.
8
+ */
9
+ export declare const deserializePlanks: (url: URL) => string[];
10
+ /**
11
+ * Strip plank query params from a search string, preserving all others.
12
+ */
13
+ export declare const stripPlanks: (existingSearch: string) => string;
14
+ //# sourceMappingURL=plank-url-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plank-url-params.d.ts","sourceRoot":"","sources":["../../../../src/util/plank-url-params.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,eAAO,MAAM,eAAe,WAAY,SAAS,MAAM,EAAE,kBAAkB,MAAM,KAAG,MAOnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAS,GAAG,KAAG,MAAM,EAElD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,mBAAoB,MAAM,KAAG,MAIpD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plank-url-params.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plank-url-params.test.d.ts","sourceRoot":"","sources":["../../../../src/util/plank-url-params.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { type StoredDeckState } from '#types';
2
+ /**
3
+ * Sanitizes persisted deck state on startup.
4
+ *
5
+ * Persisted state may contain values that are inappropriate to restore across sessions:
6
+ *
7
+ * - **Fullscreen**: Cleared unconditionally to prevent the user from getting stuck in fullscreen
8
+ * mode if the app was closed (or crashed) while fullscreen was active.
9
+ *
10
+ * - **Active planks in solo-mode decks**: When a deck is in solo mode, any items in `active`
11
+ * represent planks that were kept mounted (hidden) during the session for fast deck↔solo
12
+ * switching. After a restart these planks would need to fully remount anyway, so retaining
13
+ * them only adds unnecessary load. Clearing `active` for solo-mode decks avoids rendering
14
+ * stale planks in the background on startup.
15
+ *
16
+ * Returns a new state object if any changes were made, or the original state if clean.
17
+ */
18
+ export declare const sanitizePersistedState: (state: StoredDeckState) => StoredDeckState;
19
+ //# sourceMappingURL=sanitize-persisted-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-persisted-state.d.ts","sourceRoot":"","sources":["../../../../src/util/sanitize-persisted-state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,UAAW,eAAe,KAAG,eA6B/D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sanitize-persisted-state.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-persisted-state.test.d.ts","sourceRoot":"","sources":["../../../../src/util/sanitize-persisted-state.test.ts"],"names":[],"mappings":""}
@@ -1,9 +1,24 @@
1
- import { type AttentionManager } from '@dxos/plugin-attention';
2
- import { type DeckPluginState } from '../types';
1
+ import { type AttentionManager } from '@dxos/react-ui-attention';
2
+ import { type DeckState } from '#types';
3
3
  export type SetActiveOptions = {
4
4
  next: string[];
5
- state: DeckPluginState;
5
+ deck: DeckState;
6
6
  attention?: AttentionManager;
7
7
  };
8
- export declare const setActive: ({ next, state, attention }: SetActiveOptions) => string | undefined;
8
+ export type SetActiveResult = {
9
+ /** Updates to apply to the deck. */
10
+ deckUpdates: {
11
+ inactive: string[];
12
+ solo: string | undefined;
13
+ active: string[];
14
+ fullscreen: boolean;
15
+ };
16
+ /** ID of the item to attend (scroll into view) if attention changed. */
17
+ toAttend?: string;
18
+ };
19
+ /**
20
+ * Computes the new active state for the deck without mutating.
21
+ * Returns the updates to apply and optionally an item to attend.
22
+ */
23
+ export declare const computeActiveUpdates: ({ next, deck, attention }: SetActiveOptions) => SetActiveResult;
9
24
  //# sourceMappingURL=set-active.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-active.d.ts","sourceRoot":"","sources":["../../../../src/util/set-active.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,4BAA4B,gBAAgB,uBA8BrE,CAAC"}
1
+ {"version":3,"file":"set-active.d.ts","sourceRoot":"","sources":["../../../../src/util/set-active.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,oCAAoC;IACpC,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,8BAA+B,gBAAgB,KAAG,eAoClF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=set-active.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-active.test.d.ts","sourceRoot":"","sources":["../../../../src/util/set-active.test.ts"],"names":[],"mappings":""}