@dxos/plugin-deck 0.8.4-main.f5c0578 → 0.8.4-main.fcfe5033a5

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 (479) hide show
  1. package/dist/lib/browser/add-toast-3V7TYC2M.mjs +24 -0
  2. package/dist/lib/browser/add-toast-3V7TYC2M.mjs.map +7 -0
  3. package/dist/lib/browser/adjust-ZMPN7P7J.mjs +96 -0
  4. package/dist/lib/browser/adjust-ZMPN7P7J.mjs.map +7 -0
  5. package/dist/lib/browser/change-companion-F7GCREGM.mjs +34 -0
  6. package/dist/lib/browser/change-companion-F7GCREGM.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-BRZAVPMC.mjs +48 -0
  8. package/dist/lib/browser/chunk-BRZAVPMC.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-DF2VZ6W3.mjs +69 -0
  10. package/dist/lib/browser/chunk-DF2VZ6W3.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-FUWSZ6IC.mjs +88 -0
  12. package/dist/lib/browser/chunk-FUWSZ6IC.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-GN52IRQ7.mjs +216 -0
  14. package/dist/lib/browser/chunk-GN52IRQ7.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  16. package/dist/lib/browser/chunk-KUTDCWZF.mjs +30 -0
  17. package/dist/lib/browser/chunk-KUTDCWZF.mjs.map +7 -0
  18. package/dist/lib/browser/close-N2F26CVG.mjs +44 -0
  19. package/dist/lib/browser/close-N2F26CVG.mjs.map +7 -0
  20. package/dist/lib/browser/index.mjs +161 -134
  21. package/dist/lib/browser/index.mjs.map +4 -4
  22. package/dist/lib/browser/meta.json +1 -1
  23. package/dist/lib/browser/open-VWO7VOOU.mjs +150 -0
  24. package/dist/lib/browser/open-VWO7VOOU.mjs.map +7 -0
  25. package/dist/lib/browser/operations/index.mjs +13 -0
  26. package/dist/lib/browser/operations/index.mjs.map +7 -0
  27. package/dist/lib/browser/revert-workspace-LGKZZKCI.mjs +21 -0
  28. package/dist/lib/browser/revert-workspace-LGKZZKCI.mjs.map +7 -0
  29. package/dist/lib/browser/scroll-into-view-TSVSNKIH.mjs +21 -0
  30. package/dist/lib/browser/scroll-into-view-TSVSNKIH.mjs.map +7 -0
  31. package/dist/lib/browser/set-N2LGA2BY.mjs +37 -0
  32. package/dist/lib/browser/set-N2LGA2BY.mjs.map +7 -0
  33. package/dist/lib/browser/set-layout-mode-TONTQO6G.mjs +90 -0
  34. package/dist/lib/browser/set-layout-mode-TONTQO6G.mjs.map +7 -0
  35. package/dist/lib/browser/show-undo-IFXNEIQY.mjs +59 -0
  36. package/dist/lib/browser/show-undo-IFXNEIQY.mjs.map +7 -0
  37. package/dist/lib/browser/switch-workspace-ZJDC5SSR.mjs +68 -0
  38. package/dist/lib/browser/switch-workspace-ZJDC5SSR.mjs.map +7 -0
  39. package/dist/lib/browser/types/index.mjs +12 -12
  40. package/dist/lib/browser/update-complementary-ELUOK3GD.mjs +28 -0
  41. package/dist/lib/browser/update-complementary-ELUOK3GD.mjs.map +7 -0
  42. package/dist/lib/browser/update-dialog-LMGLOTWX.mjs +29 -0
  43. package/dist/lib/browser/update-dialog-LMGLOTWX.mjs.map +7 -0
  44. package/dist/lib/browser/update-plank-size-WQAPELII.mjs +28 -0
  45. package/dist/lib/browser/update-plank-size-WQAPELII.mjs.map +7 -0
  46. package/dist/lib/browser/update-popover-P6YO6FWJ.mjs +33 -0
  47. package/dist/lib/browser/update-popover-P6YO6FWJ.mjs.map +7 -0
  48. package/dist/lib/browser/update-sidebar-NGWS6IDJ.mjs +25 -0
  49. package/dist/lib/browser/update-sidebar-NGWS6IDJ.mjs.map +7 -0
  50. package/dist/lib/node-esm/add-toast-G4OQEGOS.mjs +25 -0
  51. package/dist/lib/node-esm/add-toast-G4OQEGOS.mjs.map +7 -0
  52. package/dist/lib/node-esm/adjust-KSNI7C3B.mjs +97 -0
  53. package/dist/lib/node-esm/adjust-KSNI7C3B.mjs.map +7 -0
  54. package/dist/lib/node-esm/change-companion-LCJPT6AX.mjs +35 -0
  55. package/dist/lib/node-esm/change-companion-LCJPT6AX.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-4ED7B7OZ.mjs +217 -0
  57. package/dist/lib/node-esm/chunk-4ED7B7OZ.mjs.map +7 -0
  58. package/dist/lib/node-esm/chunk-7KL65RLL.mjs +89 -0
  59. package/dist/lib/node-esm/chunk-7KL65RLL.mjs.map +7 -0
  60. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  61. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-IRWCUYJY.mjs +71 -0
  63. package/dist/lib/node-esm/chunk-IRWCUYJY.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-MB4SDDVY.mjs +50 -0
  65. package/dist/lib/node-esm/chunk-MB4SDDVY.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-MLVJ2ODW.mjs +32 -0
  67. package/dist/lib/node-esm/chunk-MLVJ2ODW.mjs.map +7 -0
  68. package/dist/lib/node-esm/close-YHIBVE2S.mjs +45 -0
  69. package/dist/lib/node-esm/close-YHIBVE2S.mjs.map +7 -0
  70. package/dist/lib/node-esm/index.mjs +202 -0
  71. package/dist/lib/node-esm/index.mjs.map +7 -0
  72. package/dist/lib/node-esm/meta.json +1 -0
  73. package/dist/lib/node-esm/open-353DYMMN.mjs +151 -0
  74. package/dist/lib/node-esm/open-353DYMMN.mjs.map +7 -0
  75. package/dist/lib/node-esm/operations/index.mjs +14 -0
  76. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  77. package/dist/lib/node-esm/revert-workspace-OS5R3PFJ.mjs +22 -0
  78. package/dist/lib/node-esm/revert-workspace-OS5R3PFJ.mjs.map +7 -0
  79. package/dist/lib/node-esm/scroll-into-view-LC2SVKCW.mjs +22 -0
  80. package/dist/lib/node-esm/scroll-into-view-LC2SVKCW.mjs.map +7 -0
  81. package/dist/lib/node-esm/set-3EZ7LJFU.mjs +38 -0
  82. package/dist/lib/node-esm/set-3EZ7LJFU.mjs.map +7 -0
  83. package/dist/lib/node-esm/set-layout-mode-3YBHGEK6.mjs +91 -0
  84. package/dist/lib/node-esm/set-layout-mode-3YBHGEK6.mjs.map +7 -0
  85. package/dist/lib/node-esm/show-undo-RAHLRPUU.mjs +60 -0
  86. package/dist/lib/node-esm/show-undo-RAHLRPUU.mjs.map +7 -0
  87. package/dist/lib/node-esm/switch-workspace-S6CXDPXZ.mjs +69 -0
  88. package/dist/lib/node-esm/switch-workspace-S6CXDPXZ.mjs.map +7 -0
  89. package/dist/lib/node-esm/types/index.mjs +33 -0
  90. package/dist/lib/node-esm/types/index.mjs.map +7 -0
  91. package/dist/lib/node-esm/update-complementary-V5Y2RMYL.mjs +29 -0
  92. package/dist/lib/node-esm/update-complementary-V5Y2RMYL.mjs.map +7 -0
  93. package/dist/lib/node-esm/update-dialog-IMTCLAWR.mjs +30 -0
  94. package/dist/lib/node-esm/update-dialog-IMTCLAWR.mjs.map +7 -0
  95. package/dist/lib/node-esm/update-plank-size-I3DKCPHZ.mjs +29 -0
  96. package/dist/lib/node-esm/update-plank-size-I3DKCPHZ.mjs.map +7 -0
  97. package/dist/lib/node-esm/update-popover-7JX3KWYL.mjs +34 -0
  98. package/dist/lib/node-esm/update-popover-7JX3KWYL.mjs.map +7 -0
  99. package/dist/lib/node-esm/update-sidebar-B5DCSREP.mjs +26 -0
  100. package/dist/lib/node-esm/update-sidebar-B5DCSREP.mjs.map +7 -0
  101. package/dist/types/src/DeckPlugin.d.ts +2 -1
  102. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  104. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/check-app-scheme.d.ts +17 -2
  106. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/index.d.ts +196 -12
  108. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  110. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/react-root.d.ts +4 -2
  112. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  114. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/settings.d.ts +5 -2
  116. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/state.d.ts +134 -44
  118. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/tools.d.ts +4 -3
  120. package/dist/types/src/capabilities/tools.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/url-handler.d.ts +3 -2
  122. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
  123. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts +4 -4
  124. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -1
  125. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts +71 -0
  126. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts.map +1 -0
  127. package/dist/types/src/components/DeckSettings/index.d.ts +1 -1
  128. package/dist/types/src/components/DeckSettings/index.d.ts.map +1 -1
  129. package/dist/types/src/components/Matrix/Matrix.d.ts +41 -0
  130. package/dist/types/src/components/Matrix/Matrix.d.ts.map +1 -0
  131. package/dist/types/src/components/Matrix/Matrix.stories.d.ts +17 -0
  132. package/dist/types/src/components/Matrix/Matrix.stories.d.ts.map +1 -0
  133. package/dist/types/src/components/Matrix/index.d.ts +3 -0
  134. package/dist/types/src/components/Matrix/index.d.ts.map +1 -0
  135. package/dist/types/src/components/index.d.ts +3 -2
  136. package/dist/types/src/components/index.d.ts.map +1 -1
  137. package/dist/types/src/containers/Deck/Banner.d.ts.map +1 -0
  138. package/dist/types/src/containers/Deck/Deck.d.ts +25 -0
  139. package/dist/types/src/containers/Deck/Deck.d.ts.map +1 -0
  140. package/dist/types/src/containers/Deck/Deck.stories.d.ts +71 -0
  141. package/dist/types/src/containers/Deck/Deck.stories.d.ts.map +1 -0
  142. package/dist/types/src/containers/Deck/DeckContent.d.ts +7 -0
  143. package/dist/types/src/containers/Deck/DeckContent.d.ts.map +1 -0
  144. package/dist/types/src/containers/Deck/DeckRoot.d.ts +42 -0
  145. package/dist/types/src/containers/Deck/DeckRoot.d.ts.map +1 -0
  146. package/dist/types/src/containers/Deck/DeckViewport.d.ts +19 -0
  147. package/dist/types/src/containers/Deck/DeckViewport.d.ts.map +1 -0
  148. package/dist/types/src/containers/Deck/StatusBar.d.ts.map +1 -0
  149. package/dist/types/src/containers/Deck/index.d.ts +2 -0
  150. package/dist/types/src/containers/Deck/index.d.ts.map +1 -0
  151. package/dist/types/src/containers/DeckLayout/ActiveNode.d.ts.map +1 -0
  152. package/dist/types/src/containers/DeckLayout/DeckLayout.d.ts +5 -0
  153. package/dist/types/src/containers/DeckLayout/DeckLayout.d.ts.map +1 -0
  154. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts +73 -0
  155. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts.map +1 -0
  156. package/dist/types/src/containers/DeckLayout/Dialog.d.ts.map +1 -0
  157. package/dist/types/src/containers/DeckLayout/Fallback.d.ts +2 -0
  158. package/dist/types/src/containers/DeckLayout/Fallback.d.ts.map +1 -0
  159. package/dist/types/src/containers/DeckLayout/Popover.d.ts +5 -0
  160. package/dist/types/src/containers/DeckLayout/Popover.d.ts.map +1 -0
  161. package/dist/types/src/containers/DeckLayout/Toast.d.ts +10 -0
  162. package/dist/types/src/containers/DeckLayout/Toast.d.ts.map +1 -0
  163. package/dist/types/src/containers/DeckLayout/constants.d.ts.map +1 -0
  164. package/dist/types/src/containers/DeckLayout/index.d.ts +4 -0
  165. package/dist/types/src/containers/DeckLayout/index.d.ts.map +1 -0
  166. package/dist/types/src/containers/Plank/Plank.d.ts +17 -0
  167. package/dist/types/src/containers/Plank/Plank.d.ts.map +1 -0
  168. package/dist/types/src/containers/Plank/Plank.stories.d.ts +71 -0
  169. package/dist/types/src/containers/Plank/Plank.stories.d.ts.map +1 -0
  170. package/dist/types/src/containers/Plank/PlankComponent.d.ts +17 -0
  171. package/dist/types/src/containers/Plank/PlankComponent.d.ts.map +1 -0
  172. package/dist/types/src/containers/Plank/PlankContent.d.ts +10 -0
  173. package/dist/types/src/containers/Plank/PlankContent.d.ts.map +1 -0
  174. package/dist/types/src/{components → containers}/Plank/PlankControls.d.ts +5 -6
  175. package/dist/types/src/containers/Plank/PlankControls.d.ts.map +1 -0
  176. package/dist/types/src/containers/Plank/PlankError.d.ts +15 -0
  177. package/dist/types/src/containers/Plank/PlankError.d.ts.map +1 -0
  178. package/dist/types/src/{components → containers}/Plank/PlankHeading.d.ts +5 -4
  179. package/dist/types/src/containers/Plank/PlankHeading.d.ts.map +1 -0
  180. package/dist/types/src/{components → containers}/Plank/PlankLoading.d.ts.map +1 -1
  181. package/dist/types/src/containers/Plank/PlankRoot.d.ts +37 -0
  182. package/dist/types/src/containers/Plank/PlankRoot.d.ts.map +1 -0
  183. package/dist/types/src/containers/Plank/index.d.ts +4 -0
  184. package/dist/types/src/containers/Plank/index.d.ts.map +1 -0
  185. package/dist/types/src/containers/Sidebar/ComplementarySidebar.d.ts.map +1 -0
  186. package/dist/types/src/containers/Sidebar/Sidebar.d.ts.map +1 -0
  187. package/dist/types/src/containers/Sidebar/SidebarButton.d.ts.map +1 -0
  188. package/dist/types/src/{components → containers}/Sidebar/index.d.ts.map +1 -1
  189. package/dist/types/src/containers/index.d.ts +6 -0
  190. package/dist/types/src/containers/index.d.ts.map +1 -0
  191. package/dist/types/src/hooks/index.d.ts +2 -0
  192. package/dist/types/src/hooks/index.d.ts.map +1 -1
  193. package/dist/types/src/hooks/useDeckCompanions.d.ts +3 -4
  194. package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -1
  195. package/dist/types/src/hooks/useDeckState.d.ts +17 -0
  196. package/dist/types/src/hooks/useDeckState.d.ts.map +1 -0
  197. package/dist/types/src/hooks/useHoistStatusbar.d.ts +1 -1
  198. package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +1 -1
  199. package/dist/types/src/hooks/useMainSize.d.ts +2 -2
  200. package/dist/types/src/hooks/useNodeActionExpander.d.ts +1 -1
  201. package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
  202. package/dist/types/src/hooks/useSelectedCompanion.d.ts +13 -0
  203. package/dist/types/src/hooks/useSelectedCompanion.d.ts.map +1 -0
  204. package/dist/types/src/index.d.ts +1 -2
  205. package/dist/types/src/index.d.ts.map +1 -1
  206. package/dist/types/src/layout.d.ts +20 -9
  207. package/dist/types/src/layout.d.ts.map +1 -1
  208. package/dist/types/src/layout.test.d.ts +2 -0
  209. package/dist/types/src/layout.test.d.ts.map +1 -0
  210. package/dist/types/src/meta.d.ts +2 -3
  211. package/dist/types/src/meta.d.ts.map +1 -1
  212. package/dist/types/src/operations/add-toast.d.ts +5 -0
  213. package/dist/types/src/operations/add-toast.d.ts.map +1 -0
  214. package/dist/types/src/operations/adjust.d.ts +5 -0
  215. package/dist/types/src/operations/adjust.d.ts.map +1 -0
  216. package/dist/types/src/operations/change-companion.d.ts +5 -0
  217. package/dist/types/src/operations/change-companion.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/definitions.d.ts +18 -0
  221. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  222. package/dist/types/src/operations/helpers.d.ts +3 -0
  223. package/dist/types/src/operations/helpers.d.ts.map +1 -0
  224. package/dist/types/src/operations/index.d.ts +4 -0
  225. package/dist/types/src/operations/index.d.ts.map +1 -0
  226. package/dist/types/src/operations/open.d.ts +5 -0
  227. package/dist/types/src/operations/open.d.ts.map +1 -0
  228. package/dist/types/src/operations/revert-workspace.d.ts +5 -0
  229. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -0
  230. package/dist/types/src/operations/scroll-into-view.d.ts +5 -0
  231. package/dist/types/src/operations/scroll-into-view.d.ts.map +1 -0
  232. package/dist/types/src/operations/set-layout-mode.d.ts +9 -0
  233. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
  234. package/dist/types/src/operations/set.d.ts +5 -0
  235. package/dist/types/src/operations/set.d.ts.map +1 -0
  236. package/dist/types/src/operations/show-undo.d.ts +5 -0
  237. package/dist/types/src/operations/show-undo.d.ts.map +1 -0
  238. package/dist/types/src/operations/switch-workspace.d.ts +5 -0
  239. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
  240. package/dist/types/src/operations/update-complementary.d.ts +5 -0
  241. package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
  242. package/dist/types/src/operations/update-dialog.d.ts +5 -0
  243. package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
  244. package/dist/types/src/operations/update-plank-size.d.ts +5 -0
  245. package/dist/types/src/operations/update-plank-size.d.ts.map +1 -0
  246. package/dist/types/src/operations/update-popover.d.ts +5 -0
  247. package/dist/types/src/operations/update-popover.d.ts.map +1 -0
  248. package/dist/types/src/operations/update-sidebar.d.ts +5 -0
  249. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
  250. package/dist/types/src/translations.d.ts +52 -52
  251. package/dist/types/src/translations.d.ts.map +1 -1
  252. package/dist/types/src/types/Settings.d.ts +11 -0
  253. package/dist/types/src/types/Settings.d.ts.map +1 -0
  254. package/dist/types/src/{capabilities → types}/capabilities.d.ts +103 -96
  255. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  256. package/dist/types/src/types/events.d.ts +7 -0
  257. package/dist/types/src/types/events.d.ts.map +1 -0
  258. package/dist/types/src/types/index.d.ts +3 -0
  259. package/dist/types/src/types/index.d.ts.map +1 -1
  260. package/dist/types/src/types/schema.d.ts +68 -56
  261. package/dist/types/src/types/schema.d.ts.map +1 -1
  262. package/dist/types/src/util/index.d.ts +2 -1
  263. package/dist/types/src/util/index.d.ts.map +1 -1
  264. package/dist/types/src/util/layoutAppliesTopbar.d.ts +1 -1
  265. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
  266. package/dist/types/src/util/plank-url-params.d.ts +14 -0
  267. package/dist/types/src/util/plank-url-params.d.ts.map +1 -0
  268. package/dist/types/src/util/plank-url-params.test.d.ts +2 -0
  269. package/dist/types/src/util/plank-url-params.test.d.ts.map +1 -0
  270. package/dist/types/src/util/sanitize-persisted-state.d.ts +19 -0
  271. package/dist/types/src/util/sanitize-persisted-state.d.ts.map +1 -0
  272. package/dist/types/src/util/sanitize-persisted-state.test.d.ts +2 -0
  273. package/dist/types/src/util/sanitize-persisted-state.test.d.ts.map +1 -0
  274. package/dist/types/src/util/set-active.d.ts +19 -4
  275. package/dist/types/src/util/set-active.d.ts.map +1 -1
  276. package/dist/types/src/util/set-active.test.d.ts +2 -0
  277. package/dist/types/src/util/set-active.test.d.ts.map +1 -0
  278. package/dist/types/tsconfig.tsbuildinfo +1 -1
  279. package/package.json +87 -49
  280. package/src/DeckPlugin.ts +43 -69
  281. package/src/capabilities/app-graph-builder.ts +112 -127
  282. package/src/capabilities/check-app-scheme.ts +123 -24
  283. package/src/capabilities/index.ts +13 -14
  284. package/src/capabilities/operation-handler.ts +16 -0
  285. package/src/capabilities/react-root.tsx +37 -29
  286. package/src/capabilities/react-surface.tsx +28 -22
  287. package/src/capabilities/settings.ts +30 -19
  288. package/src/capabilities/state.ts +74 -88
  289. package/src/capabilities/tools.ts +57 -50
  290. package/src/capabilities/url-handler.ts +221 -50
  291. package/src/components/DeckSettings/DeckSettings.stories.tsx +37 -0
  292. package/src/components/DeckSettings/DeckSettings.tsx +55 -70
  293. package/src/components/DeckSettings/index.ts +2 -2
  294. package/src/components/Matrix/Matrix.stories.tsx +216 -0
  295. package/src/components/Matrix/Matrix.tsx +205 -0
  296. package/src/components/Matrix/SPEC.md +219 -0
  297. package/src/components/Matrix/index.ts +6 -0
  298. package/src/components/index.ts +6 -3
  299. package/src/{components/DeckLayout → containers/Deck}/Banner.tsx +13 -11
  300. package/src/containers/Deck/Deck.stories.tsx +81 -0
  301. package/src/containers/Deck/Deck.tsx +21 -0
  302. package/src/containers/Deck/DeckContent.tsx +105 -0
  303. package/src/containers/Deck/DeckRoot.tsx +50 -0
  304. package/src/containers/Deck/DeckViewport.tsx +456 -0
  305. package/src/{components/DeckLayout → containers/Deck}/StatusBar.tsx +4 -4
  306. package/src/containers/Deck/index.ts +5 -0
  307. package/src/{components → containers}/DeckLayout/ActiveNode.tsx +8 -3
  308. package/src/containers/DeckLayout/DeckLayout.stories.tsx +393 -0
  309. package/src/containers/DeckLayout/DeckLayout.tsx +62 -0
  310. package/src/containers/DeckLayout/Dialog.tsx +52 -0
  311. package/src/containers/DeckLayout/Fallback.tsx +24 -0
  312. package/src/containers/DeckLayout/Popover.tsx +161 -0
  313. package/src/{components → containers}/DeckLayout/Toast.tsx +30 -5
  314. package/src/{components → containers}/DeckLayout/constants.ts +1 -0
  315. package/src/{components → containers}/DeckLayout/index.ts +3 -2
  316. package/src/containers/Plank/Plank.stories.tsx +106 -0
  317. package/src/containers/Plank/Plank.tsx +22 -0
  318. package/src/containers/Plank/PlankComponent.tsx +217 -0
  319. package/src/containers/Plank/PlankContent.tsx +45 -0
  320. package/src/{components → containers}/Plank/PlankControls.tsx +45 -38
  321. package/src/containers/Plank/PlankError.tsx +79 -0
  322. package/src/{components → containers}/Plank/PlankHeading.tsx +68 -64
  323. package/src/{components → containers}/Plank/PlankLoading.tsx +1 -1
  324. package/src/containers/Plank/PlankRoot.tsx +49 -0
  325. package/src/{components → containers}/Plank/index.ts +0 -2
  326. package/src/containers/Sidebar/ComplementarySidebar.tsx +209 -0
  327. package/src/containers/Sidebar/Sidebar.tsx +44 -0
  328. package/src/containers/Sidebar/SidebarButton.tsx +94 -0
  329. package/src/containers/index.ts +11 -0
  330. package/src/hooks/index.ts +2 -0
  331. package/src/hooks/useCompanions.ts +3 -3
  332. package/src/hooks/useDeckCompanions.ts +7 -10
  333. package/src/hooks/useDeckState.ts +73 -0
  334. package/src/hooks/useHoistStatusbar.ts +4 -5
  335. package/src/hooks/useMainSize.ts +2 -2
  336. package/src/hooks/useNodeActionExpander.ts +4 -4
  337. package/src/hooks/useSelectedCompanion.ts +32 -0
  338. package/src/index.ts +1 -2
  339. package/src/layout.test.ts +59 -0
  340. package/src/layout.ts +38 -40
  341. package/src/meta.ts +8 -5
  342. package/src/operations/add-toast.ts +24 -0
  343. package/src/operations/adjust.ts +83 -0
  344. package/src/operations/change-companion.ts +35 -0
  345. package/src/operations/close.ts +35 -0
  346. package/src/operations/definitions.ts +62 -0
  347. package/src/operations/helpers.ts +22 -0
  348. package/src/operations/index.ts +26 -0
  349. package/src/operations/open.ts +184 -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/show-undo.ts +47 -0
  355. package/src/operations/switch-workspace.ts +60 -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 +29 -0
  359. package/src/operations/update-popover.ts +36 -0
  360. package/src/operations/update-sidebar.ts +28 -0
  361. package/src/translations.ts +52 -52
  362. package/src/types/Settings.ts +17 -0
  363. package/src/types/capabilities.ts +35 -0
  364. package/src/types/events.ts +21 -0
  365. package/src/types/index.ts +3 -0
  366. package/src/types/schema.ts +52 -50
  367. package/src/util/index.ts +2 -1
  368. package/src/util/layoutAppliesTopbar.ts +2 -2
  369. package/src/util/plank-url-params.test.ts +85 -0
  370. package/src/util/plank-url-params.ts +36 -0
  371. package/src/util/sanitize-persisted-state.test.ts +79 -0
  372. package/src/util/sanitize-persisted-state.ts +52 -0
  373. package/src/util/set-active.test.ts +106 -0
  374. package/src/util/set-active.ts +50 -30
  375. package/src/vite-env.d.ts +5 -0
  376. package/dist/lib/browser/app-graph-builder-DVEKLXB4.mjs +0 -152
  377. package/dist/lib/browser/app-graph-builder-DVEKLXB4.mjs.map +0 -7
  378. package/dist/lib/browser/check-app-scheme-3BQJXWEY.mjs +0 -32
  379. package/dist/lib/browser/check-app-scheme-3BQJXWEY.mjs.map +0 -7
  380. package/dist/lib/browser/chunk-6MQIYIPY.mjs +0 -1494
  381. package/dist/lib/browser/chunk-6MQIYIPY.mjs.map +0 -7
  382. package/dist/lib/browser/chunk-CNTGBCMK.mjs +0 -145
  383. package/dist/lib/browser/chunk-CNTGBCMK.mjs.map +0 -7
  384. package/dist/lib/browser/chunk-F5BQOOEG.mjs +0 -160
  385. package/dist/lib/browser/chunk-F5BQOOEG.mjs.map +0 -7
  386. package/dist/lib/browser/chunk-M57WD3V6.mjs +0 -16
  387. package/dist/lib/browser/chunk-M57WD3V6.mjs.map +0 -7
  388. package/dist/lib/browser/chunk-MX7WRVX3.mjs +0 -127
  389. package/dist/lib/browser/chunk-MX7WRVX3.mjs.map +0 -7
  390. package/dist/lib/browser/chunk-NRCPV6AV.mjs +0 -129
  391. package/dist/lib/browser/chunk-NRCPV6AV.mjs.map +0 -7
  392. package/dist/lib/browser/chunk-Z5KITAZW.mjs +0 -13
  393. package/dist/lib/browser/chunk-Z5KITAZW.mjs.map +0 -7
  394. package/dist/lib/browser/intent-resolver-2SUIIV6N.mjs +0 -521
  395. package/dist/lib/browser/intent-resolver-2SUIIV6N.mjs.map +0 -7
  396. package/dist/lib/browser/react-root-GVZANZX7.mjs +0 -43
  397. package/dist/lib/browser/react-root-GVZANZX7.mjs.map +0 -7
  398. package/dist/lib/browser/react-surface-NXSSD2GW.mjs +0 -40
  399. package/dist/lib/browser/react-surface-NXSSD2GW.mjs.map +0 -7
  400. package/dist/lib/browser/settings-LUPQPZ27.mjs +0 -29
  401. package/dist/lib/browser/settings-LUPQPZ27.mjs.map +0 -7
  402. package/dist/lib/browser/state-CRXR7X63.mjs +0 -12
  403. package/dist/lib/browser/toolkit-OBKFXX23.mjs +0 -47
  404. package/dist/lib/browser/toolkit-OBKFXX23.mjs.map +0 -7
  405. package/dist/lib/browser/url-handler-LROZYQ26.mjs +0 -70
  406. package/dist/lib/browser/url-handler-LROZYQ26.mjs.map +0 -7
  407. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  408. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  409. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  410. package/dist/types/src/capabilities/toolkit.d.ts +0 -5
  411. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  412. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +0 -1
  413. package/dist/types/src/components/DeckLayout/Banner.d.ts.map +0 -1
  414. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts +0 -3
  415. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +0 -1
  416. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +0 -6
  417. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +0 -1
  418. package/dist/types/src/components/DeckLayout/Dialog.d.ts.map +0 -1
  419. package/dist/types/src/components/DeckLayout/Fallback.d.ts +0 -3
  420. package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +0 -1
  421. package/dist/types/src/components/DeckLayout/Popover.d.ts +0 -5
  422. package/dist/types/src/components/DeckLayout/Popover.d.ts.map +0 -1
  423. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +0 -1
  424. package/dist/types/src/components/DeckLayout/Toast.d.ts +0 -5
  425. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +0 -1
  426. package/dist/types/src/components/DeckLayout/Topbar.d.ts +0 -3
  427. package/dist/types/src/components/DeckLayout/Topbar.d.ts.map +0 -1
  428. package/dist/types/src/components/DeckLayout/constants.d.ts.map +0 -1
  429. package/dist/types/src/components/DeckLayout/index.d.ts +0 -4
  430. package/dist/types/src/components/DeckLayout/index.d.ts.map +0 -1
  431. package/dist/types/src/components/Plank/Plank.d.ts +0 -27
  432. package/dist/types/src/components/Plank/Plank.d.ts.map +0 -1
  433. package/dist/types/src/components/Plank/Plank.stories.d.ts +0 -8
  434. package/dist/types/src/components/Plank/Plank.stories.d.ts.map +0 -1
  435. package/dist/types/src/components/Plank/PlankControls.d.ts.map +0 -1
  436. package/dist/types/src/components/Plank/PlankError.d.ts +0 -13
  437. package/dist/types/src/components/Plank/PlankError.d.ts.map +0 -1
  438. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +0 -1
  439. package/dist/types/src/components/Plank/index.d.ts +0 -6
  440. package/dist/types/src/components/Plank/index.d.ts.map +0 -1
  441. package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +0 -1
  442. package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +0 -1
  443. package/dist/types/src/components/Sidebar/SidebarButton.d.ts.map +0 -1
  444. package/dist/types/src/components/fragments.d.ts +0 -4
  445. package/dist/types/src/components/fragments.d.ts.map +0 -1
  446. package/dist/types/src/events.d.ts +0 -4
  447. package/dist/types/src/events.d.ts.map +0 -1
  448. package/dist/types/src/util/overscroll.d.ts +0 -47
  449. package/dist/types/src/util/overscroll.d.ts.map +0 -1
  450. package/src/capabilities/capabilities.ts +0 -14
  451. package/src/capabilities/intent-resolver.ts +0 -469
  452. package/src/capabilities/toolkit.ts +0 -55
  453. package/src/components/DeckLayout/ContentEmpty.tsx +0 -31
  454. package/src/components/DeckLayout/DeckLayout.tsx +0 -302
  455. package/src/components/DeckLayout/Dialog.tsx +0 -36
  456. package/src/components/DeckLayout/Fallback.tsx +0 -28
  457. package/src/components/DeckLayout/Popover.tsx +0 -104
  458. package/src/components/DeckLayout/Topbar.tsx +0 -11
  459. package/src/components/Plank/Plank.stories.tsx +0 -56
  460. package/src/components/Plank/Plank.tsx +0 -267
  461. package/src/components/Plank/PlankError.tsx +0 -49
  462. package/src/components/Sidebar/ComplementarySidebar.tsx +0 -194
  463. package/src/components/Sidebar/Sidebar.tsx +0 -42
  464. package/src/components/Sidebar/SidebarButton.tsx +0 -87
  465. package/src/components/fragments.ts +0 -14
  466. package/src/events.ts +0 -11
  467. package/src/util/overscroll.ts +0 -69
  468. /package/dist/lib/browser/{state-CRXR7X63.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  469. /package/dist/types/src/{components/DeckLayout → containers/Deck}/Banner.d.ts +0 -0
  470. /package/dist/types/src/{components/DeckLayout → containers/Deck}/StatusBar.d.ts +0 -0
  471. /package/dist/types/src/{components → containers}/DeckLayout/ActiveNode.d.ts +0 -0
  472. /package/dist/types/src/{components → containers}/DeckLayout/Dialog.d.ts +0 -0
  473. /package/dist/types/src/{components → containers}/DeckLayout/constants.d.ts +0 -0
  474. /package/dist/types/src/{components → containers}/Plank/PlankLoading.d.ts +0 -0
  475. /package/dist/types/src/{components → containers}/Sidebar/ComplementarySidebar.d.ts +0 -0
  476. /package/dist/types/src/{components → containers}/Sidebar/Sidebar.d.ts +0 -0
  477. /package/dist/types/src/{components → containers}/Sidebar/SidebarButton.d.ts +0 -0
  478. /package/dist/types/src/{components → containers}/Sidebar/index.d.ts +0 -0
  479. /package/src/{components → containers}/Sidebar/index.ts +0 -0
@@ -1,46 +1,102 @@
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
+ solo?: string | undefined;
18
+ initialized: boolean;
19
+ active: string[];
20
+ inactive: string[];
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]: "solo" | "multi" | "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
+ solo?: string | undefined;
44
+ initialized: boolean;
45
+ active: string[];
46
+ inactive: string[];
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]: "solo" | "multi" | "solo--fullscreen";
60
+ };
61
+ }>>;
62
+ /** Transient/ephemeral state (not persisted). */
63
+ const EphemeralState: Capability.InterfaceDef<Atom.Writable<{
23
64
  dialogOpen: boolean;
24
65
  dialogType?: "default" | "alert" | undefined;
25
- dialogBlockAlign?: "start" | "end" | "center" | undefined;
66
+ dialogBlockAlign?: "start" | "center" | "end" | 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
76
  popoverSide?: "top" | "right" | "bottom" | "left" | 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
- readonly id: string;
38
- readonly title?: string | [string, {
93
+ readonly description?: string | [string, {
39
94
  ns: string;
40
95
  count?: number | undefined;
41
96
  defaultValue?: string | undefined;
42
97
  }] | undefined;
43
- readonly description?: string | [string, {
98
+ readonly id: string;
99
+ readonly title?: string | [string, {
44
100
  ns: string;
45
101
  count?: number | undefined;
46
102
  defaultValue?: string | undefined;
@@ -65,72 +121,44 @@ 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
127
  dialogType?: "default" | "alert" | undefined;
115
- dialogBlockAlign?: "start" | "end" | "center" | undefined;
128
+ dialogBlockAlign?: "start" | "center" | "end" | 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
138
  popoverSide?: "top" | "right" | "bottom" | "left" | 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
- readonly id: string;
128
- readonly title?: string | [string, {
155
+ readonly description?: string | [string, {
129
156
  ns: string;
130
157
  count?: number | undefined;
131
158
  defaultValue?: string | undefined;
132
159
  }] | undefined;
133
- readonly description?: string | [string, {
160
+ readonly id: string;
161
+ readonly title?: string | [string, {
134
162
  ns: string;
135
163
  count?: number | undefined;
136
164
  defaultValue?: string | undefined;
@@ -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;IACzB,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;IACnB,MAAM,UAAU,EAAE,eAAe,CAAC,eAExC,CAAC;IAEF,mDAAmD;IAC5C,MAAM,aAAa,EAAE,eAAe,CAAC,eAE3C,CAAC;CACH"}
@@ -1,2 +1,5 @@
1
+ export * from './capabilities';
2
+ export * from './events';
1
3
  export * from './schema';
4
+ export * as Settings from './Settings';
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC"}
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,35 +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>;
129
+ export type EphemeralDeckState = Schema.Schema.Type<typeof EphemeralDeckState>;
130
+ export type DeckPluginState = StoredDeckState & EphemeralDeckState;
118
131
  export declare namespace DeckAction {
119
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"]>]>;
120
133
  export type PartAdjustment = Schema.Schema.Type<typeof PartAdjustmentSchema>;
@@ -123,8 +136,8 @@ export declare namespace DeckAction {
123
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"]>]>;
124
137
  }>>;
125
138
  export type Adjustment = Schema.Schema.Type<typeof Adjustment>;
126
- const Adjust_base: Schema.TaggedClass<Adjust, `${string}/action/adjust`, {
127
- readonly _tag: Schema.tag<`${string}/action/adjust`>;
139
+ const Adjust_base: Schema.TaggedClass<Adjust, `${string}.action.adjust`, {
140
+ readonly _tag: Schema.tag<`${string}.action.adjust`>;
128
141
  } & {
129
142
  input: Schema.mutable<Schema.Struct<{
130
143
  id: typeof Schema.String;
@@ -134,8 +147,8 @@ export declare namespace DeckAction {
134
147
  }>;
135
148
  export class Adjust extends Adjust_base {
136
149
  }
137
- const UpdatePlankSize_base: Schema.TaggedClass<UpdatePlankSize, `${string}/action/update-plank-size`, {
138
- readonly _tag: Schema.tag<`${string}/action/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`>;
139
152
  } & {
140
153
  input: Schema.Struct<{
141
154
  id: typeof Schema.String;
@@ -145,11 +158,10 @@ export declare namespace DeckAction {
145
158
  }>;
146
159
  export class UpdatePlankSize extends UpdatePlankSize_base {
147
160
  }
148
- const ChangeCompanion_base: Schema.TaggedClass<ChangeCompanion, `${string}/action/change-companion`, {
149
- readonly _tag: Schema.tag<`${string}/action/change-companion`>;
161
+ const ChangeCompanion_base: Schema.TaggedClass<ChangeCompanion, `${string}.action.change-companion`, {
162
+ readonly _tag: Schema.tag<`${string}.action.change-companion`>;
150
163
  } & {
151
164
  input: Schema.Struct<{
152
- primary: typeof Schema.String;
153
165
  companion: Schema.Union<[typeof Schema.String, typeof Schema.Null]>;
154
166
  }>;
155
167
  output: typeof Schema.Void;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAC3E,eAAO,MAAM,mBAAmB,wCAAwC,CAAC;AAGzE,eAAO,MAAM,iBAAiB,2BAA4B,CAAC;AAC3D,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,eAAO,MAAM,iBAAiB,gCAAiC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;;GAOR,CAAC;AACxB,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9E,eAAO,MAAM,WAAW,4DAA8D,CAAC;AACvF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAGjE,eAAO,MAAM,SAAS;IACpB,qFAAqF;;;;;;;;;EAUrF,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7D,eAAO,MAAM,WAAW,EAAE,SASzB,CAAC;AAEF,QAAA,MAAM,UAAU,sDAAqD,CAAC;AACtE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAC/D,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,UAA0C,CAAC;AAE9F,eAAO,MAAM,OAAO,GAAI,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,KAAG,UAMnE,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;;;;;IAU1B,+CAA+C;;;;;;IAO/C,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAtDhD,qFAAqF;;;;;;;;;;;;QAArF,qFAAqF;;;;;;;;;;IAkErF,4EAA4E;;GAEvD,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC;AAEzE,yBAAiB,UAAU,CAAC;IAC1B,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;;;;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAMnC;KAAG;;CACN"}
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,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,UAA0C,CAAC;AAC9F,eAAO,MAAM,OAAO,GAAI,MAAM,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;IAC1B,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;;;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAKnC;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,GAAI,YAAY,MAAM,EAAE,aAAa,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,GAAI,QAAQ,SAAS,MAAM,EAAE,EAAE,gBAAgB,MAAM,KAAG,MAOnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,GAAG,KAAG,MAAM,EAElD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,gBAAgB,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,GAAI,OAAO,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,GAAI,2BAA2B,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":""}