@dxos/plugin-deck 0.8.4-main.70d3990 → 0.8.4-main.74a063c4e0

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 (481) hide show
  1. package/dist/lib/browser/add-toast-HW74YZHJ.mjs +24 -0
  2. package/dist/lib/browser/add-toast-HW74YZHJ.mjs.map +7 -0
  3. package/dist/lib/browser/adjust-OXVHZTBE.mjs +96 -0
  4. package/dist/lib/browser/adjust-OXVHZTBE.mjs.map +7 -0
  5. package/dist/lib/browser/change-companion-Z3Q2UPX4.mjs +34 -0
  6. package/dist/lib/browser/change-companion-Z3Q2UPX4.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-2YNVGCOQ.mjs +88 -0
  8. package/dist/lib/browser/chunk-2YNVGCOQ.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-BRZAVPMC.mjs +48 -0
  10. package/dist/lib/browser/chunk-BRZAVPMC.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-DF2VZ6W3.mjs +69 -0
  12. package/dist/lib/browser/chunk-DF2VZ6W3.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-GFOCQS7S.mjs +216 -0
  14. package/dist/lib/browser/chunk-GFOCQS7S.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-N5FCDT7Y.mjs +44 -0
  19. package/dist/lib/browser/close-N5FCDT7Y.mjs.map +7 -0
  20. package/dist/lib/browser/index.mjs +160 -133
  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-J5HV42UN.mjs +150 -0
  24. package/dist/lib/browser/open-J5HV42UN.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-VWNN7RYF.mjs +21 -0
  28. package/dist/lib/browser/revert-workspace-VWNN7RYF.mjs.map +7 -0
  29. package/dist/lib/browser/scroll-into-view-CA7E3PSO.mjs +21 -0
  30. package/dist/lib/browser/scroll-into-view-CA7E3PSO.mjs.map +7 -0
  31. package/dist/lib/browser/set-YVWQQZLE.mjs +37 -0
  32. package/dist/lib/browser/set-YVWQQZLE.mjs.map +7 -0
  33. package/dist/lib/browser/set-layout-mode-DRNBZHE7.mjs +90 -0
  34. package/dist/lib/browser/set-layout-mode-DRNBZHE7.mjs.map +7 -0
  35. package/dist/lib/browser/show-undo-KA2XHQ6E.mjs +59 -0
  36. package/dist/lib/browser/show-undo-KA2XHQ6E.mjs.map +7 -0
  37. package/dist/lib/browser/switch-workspace-U7SPENHU.mjs +68 -0
  38. package/dist/lib/browser/switch-workspace-U7SPENHU.mjs.map +7 -0
  39. package/dist/lib/browser/types/index.mjs +12 -12
  40. package/dist/lib/browser/update-complementary-W6UVLWLI.mjs +28 -0
  41. package/dist/lib/browser/update-complementary-W6UVLWLI.mjs.map +7 -0
  42. package/dist/lib/browser/update-dialog-VCTI7WKS.mjs +29 -0
  43. package/dist/lib/browser/update-dialog-VCTI7WKS.mjs.map +7 -0
  44. package/dist/lib/browser/update-plank-size-6TPVOYLT.mjs +28 -0
  45. package/dist/lib/browser/update-plank-size-6TPVOYLT.mjs.map +7 -0
  46. package/dist/lib/browser/update-popover-4EVVZSB6.mjs +33 -0
  47. package/dist/lib/browser/update-popover-4EVVZSB6.mjs.map +7 -0
  48. package/dist/lib/browser/update-sidebar-PAZARC4Q.mjs +25 -0
  49. package/dist/lib/browser/update-sidebar-PAZARC4Q.mjs.map +7 -0
  50. package/dist/lib/node-esm/add-toast-FA7NTWKA.mjs +25 -0
  51. package/dist/lib/node-esm/add-toast-FA7NTWKA.mjs.map +7 -0
  52. package/dist/lib/node-esm/adjust-G6FGZW6H.mjs +97 -0
  53. package/dist/lib/node-esm/adjust-G6FGZW6H.mjs.map +7 -0
  54. package/dist/lib/node-esm/change-companion-V6343HMY.mjs +35 -0
  55. package/dist/lib/node-esm/change-companion-V6343HMY.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-6BWQJDNT.mjs +217 -0
  57. package/dist/lib/node-esm/chunk-6BWQJDNT.mjs.map +7 -0
  58. package/dist/lib/node-esm/chunk-GI5JXNBT.mjs +89 -0
  59. package/dist/lib/node-esm/chunk-GI5JXNBT.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-AMA63RJN.mjs +45 -0
  69. package/dist/lib/node-esm/close-AMA63RJN.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-KRCARMEB.mjs +151 -0
  74. package/dist/lib/node-esm/open-KRCARMEB.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-A2K3JQFS.mjs +22 -0
  78. package/dist/lib/node-esm/revert-workspace-A2K3JQFS.mjs.map +7 -0
  79. package/dist/lib/node-esm/scroll-into-view-B2U4RQK7.mjs +22 -0
  80. package/dist/lib/node-esm/scroll-into-view-B2U4RQK7.mjs.map +7 -0
  81. package/dist/lib/node-esm/set-HCWNW76S.mjs +38 -0
  82. package/dist/lib/node-esm/set-HCWNW76S.mjs.map +7 -0
  83. package/dist/lib/node-esm/set-layout-mode-E27AI5KE.mjs +91 -0
  84. package/dist/lib/node-esm/set-layout-mode-E27AI5KE.mjs.map +7 -0
  85. package/dist/lib/node-esm/show-undo-YTZXH422.mjs +60 -0
  86. package/dist/lib/node-esm/show-undo-YTZXH422.mjs.map +7 -0
  87. package/dist/lib/node-esm/switch-workspace-AQCNGS4Y.mjs +69 -0
  88. package/dist/lib/node-esm/switch-workspace-AQCNGS4Y.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-7HIRM7OT.mjs +29 -0
  92. package/dist/lib/node-esm/update-complementary-7HIRM7OT.mjs.map +7 -0
  93. package/dist/lib/node-esm/update-dialog-F3JF7MBZ.mjs +30 -0
  94. package/dist/lib/node-esm/update-dialog-F3JF7MBZ.mjs.map +7 -0
  95. package/dist/lib/node-esm/update-plank-size-IIZKU7YR.mjs +29 -0
  96. package/dist/lib/node-esm/update-plank-size-IIZKU7YR.mjs.map +7 -0
  97. package/dist/lib/node-esm/update-popover-RO5QEH4C.mjs +34 -0
  98. package/dist/lib/node-esm/update-popover-RO5QEH4C.mjs.map +7 -0
  99. package/dist/lib/node-esm/update-sidebar-2RX6VLEK.mjs +26 -0
  100. package/dist/lib/node-esm/update-sidebar-2RX6VLEK.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 +208 -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 +16 -2
  116. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/state.d.ts +134 -47
  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 +49 -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.map +1 -0
  153. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts +73 -0
  154. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts.map +1 -0
  155. package/dist/types/src/containers/DeckLayout/Dialog.d.ts.map +1 -0
  156. package/dist/types/src/containers/DeckLayout/Fallback.d.ts +2 -0
  157. package/dist/types/src/containers/DeckLayout/Fallback.d.ts.map +1 -0
  158. package/dist/types/src/containers/DeckLayout/Popover.d.ts +5 -0
  159. package/dist/types/src/containers/DeckLayout/Popover.d.ts.map +1 -0
  160. package/dist/types/src/{components → containers}/DeckLayout/Toast.d.ts +3 -3
  161. package/dist/types/src/containers/DeckLayout/Toast.d.ts.map +1 -0
  162. package/dist/types/src/containers/DeckLayout/constants.d.ts.map +1 -0
  163. package/dist/types/src/containers/DeckLayout/index.d.ts +4 -0
  164. package/dist/types/src/containers/DeckLayout/index.d.ts.map +1 -0
  165. package/dist/types/src/containers/Plank/Plank.d.ts +21 -0
  166. package/dist/types/src/containers/Plank/Plank.d.ts.map +1 -0
  167. package/dist/types/src/containers/Plank/Plank.stories.d.ts +70 -0
  168. package/dist/types/src/containers/Plank/Plank.stories.d.ts.map +1 -0
  169. package/dist/types/src/containers/Plank/PlankComponent.d.ts +15 -0
  170. package/dist/types/src/containers/Plank/PlankComponent.d.ts.map +1 -0
  171. package/dist/types/src/containers/Plank/PlankContent.d.ts +14 -0
  172. package/dist/types/src/containers/Plank/PlankContent.d.ts.map +1 -0
  173. package/dist/types/src/{components → containers}/Plank/PlankControls.d.ts +5 -6
  174. package/dist/types/src/containers/Plank/PlankControls.d.ts.map +1 -0
  175. package/dist/types/src/containers/Plank/PlankError.d.ts +15 -0
  176. package/dist/types/src/containers/Plank/PlankError.d.ts.map +1 -0
  177. package/dist/types/src/{components → containers}/Plank/PlankHeading.d.ts +3 -3
  178. package/dist/types/src/containers/Plank/PlankHeading.d.ts.map +1 -0
  179. package/dist/types/src/{components → containers}/Plank/PlankLoading.d.ts.map +1 -1
  180. package/dist/types/src/containers/Plank/PlankRoot.d.ts +37 -0
  181. package/dist/types/src/containers/Plank/PlankRoot.d.ts.map +1 -0
  182. package/dist/types/src/containers/Plank/index.d.ts +4 -0
  183. package/dist/types/src/containers/Plank/index.d.ts.map +1 -0
  184. package/dist/types/src/containers/Sidebar/ComplementarySidebar.d.ts.map +1 -0
  185. package/dist/types/src/containers/Sidebar/Sidebar.d.ts.map +1 -0
  186. package/dist/types/src/{components → containers}/Sidebar/SidebarButton.d.ts.map +1 -1
  187. package/dist/types/src/{components → containers}/Sidebar/index.d.ts.map +1 -1
  188. package/dist/types/src/containers/index.d.ts +6 -0
  189. package/dist/types/src/containers/index.d.ts.map +1 -0
  190. package/dist/types/src/hooks/index.d.ts +2 -0
  191. package/dist/types/src/hooks/index.d.ts.map +1 -1
  192. package/dist/types/src/hooks/useDeckCompanions.d.ts +3 -4
  193. package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -1
  194. package/dist/types/src/hooks/useDeckState.d.ts +17 -0
  195. package/dist/types/src/hooks/useDeckState.d.ts.map +1 -0
  196. package/dist/types/src/hooks/useHoistStatusbar.d.ts +1 -1
  197. package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +1 -1
  198. package/dist/types/src/hooks/useMainSize.d.ts +2 -2
  199. package/dist/types/src/hooks/useNodeActionExpander.d.ts +1 -1
  200. package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
  201. package/dist/types/src/hooks/useSelectedCompanion.d.ts +13 -0
  202. package/dist/types/src/hooks/useSelectedCompanion.d.ts.map +1 -0
  203. package/dist/types/src/index.d.ts +1 -2
  204. package/dist/types/src/index.d.ts.map +1 -1
  205. package/dist/types/src/layout.d.ts +20 -9
  206. package/dist/types/src/layout.d.ts.map +1 -1
  207. package/dist/types/src/layout.test.d.ts +2 -0
  208. package/dist/types/src/layout.test.d.ts.map +1 -0
  209. package/dist/types/src/meta.d.ts +2 -2
  210. package/dist/types/src/meta.d.ts.map +1 -1
  211. package/dist/types/src/operations/add-toast.d.ts +5 -0
  212. package/dist/types/src/operations/add-toast.d.ts.map +1 -0
  213. package/dist/types/src/operations/adjust.d.ts +5 -0
  214. package/dist/types/src/operations/adjust.d.ts.map +1 -0
  215. package/dist/types/src/operations/change-companion.d.ts +5 -0
  216. package/dist/types/src/operations/change-companion.d.ts.map +1 -0
  217. package/dist/types/src/operations/close.d.ts +5 -0
  218. package/dist/types/src/operations/close.d.ts.map +1 -0
  219. package/dist/types/src/operations/definitions.d.ts +18 -0
  220. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  221. package/dist/types/src/operations/helpers.d.ts +3 -0
  222. package/dist/types/src/operations/helpers.d.ts.map +1 -0
  223. package/dist/types/src/operations/index.d.ts +4 -0
  224. package/dist/types/src/operations/index.d.ts.map +1 -0
  225. package/dist/types/src/operations/open.d.ts +5 -0
  226. package/dist/types/src/operations/open.d.ts.map +1 -0
  227. package/dist/types/src/operations/revert-workspace.d.ts +5 -0
  228. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -0
  229. package/dist/types/src/operations/scroll-into-view.d.ts +5 -0
  230. package/dist/types/src/operations/scroll-into-view.d.ts.map +1 -0
  231. package/dist/types/src/operations/set-layout-mode.d.ts +9 -0
  232. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
  233. package/dist/types/src/operations/set.d.ts +5 -0
  234. package/dist/types/src/operations/set.d.ts.map +1 -0
  235. package/dist/types/src/operations/show-undo.d.ts +5 -0
  236. package/dist/types/src/operations/show-undo.d.ts.map +1 -0
  237. package/dist/types/src/operations/switch-workspace.d.ts +5 -0
  238. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
  239. package/dist/types/src/operations/update-complementary.d.ts +5 -0
  240. package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
  241. package/dist/types/src/operations/update-dialog.d.ts +5 -0
  242. package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
  243. package/dist/types/src/operations/update-plank-size.d.ts +5 -0
  244. package/dist/types/src/operations/update-plank-size.d.ts.map +1 -0
  245. package/dist/types/src/operations/update-popover.d.ts +5 -0
  246. package/dist/types/src/operations/update-popover.d.ts.map +1 -0
  247. package/dist/types/src/operations/update-sidebar.d.ts +5 -0
  248. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
  249. package/dist/types/src/translations.d.ts +52 -54
  250. package/dist/types/src/translations.d.ts.map +1 -1
  251. package/dist/types/src/types/Settings.d.ts +10 -0
  252. package/dist/types/src/types/Settings.d.ts.map +1 -0
  253. package/dist/types/src/{capabilities → types}/capabilities.d.ts +114 -96
  254. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  255. package/dist/types/src/types/events.d.ts +7 -0
  256. package/dist/types/src/types/events.d.ts.map +1 -0
  257. package/dist/types/src/types/index.d.ts +3 -0
  258. package/dist/types/src/types/index.d.ts.map +1 -1
  259. package/dist/types/src/types/schema.d.ts +67 -56
  260. package/dist/types/src/types/schema.d.ts.map +1 -1
  261. package/dist/types/src/util/index.d.ts +2 -1
  262. package/dist/types/src/util/index.d.ts.map +1 -1
  263. package/dist/types/src/util/layoutAppliesTopbar.d.ts +1 -1
  264. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
  265. package/dist/types/src/util/plank-url-params.d.ts +14 -0
  266. package/dist/types/src/util/plank-url-params.d.ts.map +1 -0
  267. package/dist/types/src/util/plank-url-params.test.d.ts +2 -0
  268. package/dist/types/src/util/plank-url-params.test.d.ts.map +1 -0
  269. package/dist/types/src/util/sanitize-persisted-state.d.ts +19 -0
  270. package/dist/types/src/util/sanitize-persisted-state.d.ts.map +1 -0
  271. package/dist/types/src/util/sanitize-persisted-state.test.d.ts +2 -0
  272. package/dist/types/src/util/sanitize-persisted-state.test.d.ts.map +1 -0
  273. package/dist/types/src/util/set-active.d.ts +19 -4
  274. package/dist/types/src/util/set-active.d.ts.map +1 -1
  275. package/dist/types/src/util/set-active.test.d.ts +2 -0
  276. package/dist/types/src/util/set-active.test.d.ts.map +1 -0
  277. package/dist/types/tsconfig.tsbuildinfo +1 -1
  278. package/package.json +87 -49
  279. package/src/DeckPlugin.ts +29 -54
  280. package/src/capabilities/app-graph-builder.ts +112 -128
  281. package/src/capabilities/check-app-scheme.ts +123 -24
  282. package/src/capabilities/index.ts +13 -14
  283. package/src/capabilities/operation-handler.ts +16 -0
  284. package/src/capabilities/react-root.tsx +37 -30
  285. package/src/capabilities/react-surface.tsx +29 -22
  286. package/src/capabilities/settings.ts +30 -20
  287. package/src/capabilities/state.ts +74 -96
  288. package/src/capabilities/tools.ts +56 -49
  289. package/src/capabilities/url-handler.ts +216 -50
  290. package/src/components/DeckSettings/DeckSettings.stories.tsx +37 -0
  291. package/src/components/DeckSettings/DeckSettings.tsx +56 -86
  292. package/src/components/DeckSettings/index.ts +2 -2
  293. package/src/components/Matrix/Matrix.stories.tsx +213 -0
  294. package/src/components/Matrix/Matrix.tsx +205 -0
  295. package/src/components/Matrix/SPEC.md +219 -0
  296. package/src/components/Matrix/index.ts +6 -0
  297. package/src/components/index.ts +6 -3
  298. package/src/{components/DeckLayout → containers/Deck}/Banner.tsx +12 -10
  299. package/src/containers/Deck/Deck.stories.tsx +83 -0
  300. package/src/containers/Deck/Deck.tsx +21 -0
  301. package/src/containers/Deck/DeckContent.tsx +105 -0
  302. package/src/containers/Deck/DeckRoot.tsx +50 -0
  303. package/src/containers/Deck/DeckViewport.tsx +456 -0
  304. package/src/{components/DeckLayout → containers/Deck}/StatusBar.tsx +4 -4
  305. package/src/containers/Deck/index.ts +5 -0
  306. package/src/{components → containers}/DeckLayout/ActiveNode.tsx +8 -3
  307. package/src/containers/DeckLayout/DeckLayout.stories.tsx +397 -0
  308. package/src/containers/DeckLayout/DeckLayout.tsx +62 -0
  309. package/src/{components → containers}/DeckLayout/Dialog.tsx +23 -13
  310. package/src/containers/DeckLayout/Fallback.tsx +24 -0
  311. package/src/containers/DeckLayout/Popover.tsx +159 -0
  312. package/src/{components → containers}/DeckLayout/Toast.tsx +5 -5
  313. package/src/{components → containers}/DeckLayout/constants.ts +1 -0
  314. package/src/{components → containers}/DeckLayout/index.ts +3 -2
  315. package/src/containers/Plank/Plank.stories.tsx +105 -0
  316. package/src/containers/Plank/Plank.tsx +22 -0
  317. package/src/containers/Plank/PlankComponent.tsx +180 -0
  318. package/src/containers/Plank/PlankContent.tsx +45 -0
  319. package/src/{components → containers}/Plank/PlankControls.tsx +43 -37
  320. package/src/containers/Plank/PlankError.tsx +79 -0
  321. package/src/{components → containers}/Plank/PlankHeading.tsx +56 -63
  322. package/src/{components → containers}/Plank/PlankLoading.tsx +1 -1
  323. package/src/containers/Plank/PlankRoot.tsx +49 -0
  324. package/src/{components → containers}/Plank/index.ts +0 -2
  325. package/src/containers/Sidebar/ComplementarySidebar.tsx +209 -0
  326. package/src/containers/Sidebar/Sidebar.tsx +44 -0
  327. package/src/containers/Sidebar/SidebarButton.tsx +94 -0
  328. package/src/containers/index.ts +11 -0
  329. package/src/hooks/index.ts +2 -0
  330. package/src/hooks/useCompanions.ts +3 -3
  331. package/src/hooks/useDeckCompanions.ts +7 -11
  332. package/src/hooks/useDeckState.ts +73 -0
  333. package/src/hooks/useHoistStatusbar.ts +3 -6
  334. package/src/hooks/useMainSize.ts +2 -2
  335. package/src/hooks/useNodeActionExpander.ts +4 -4
  336. package/src/hooks/useSelectedCompanion.ts +32 -0
  337. package/src/index.ts +1 -2
  338. package/src/layout.test.ts +59 -0
  339. package/src/layout.ts +38 -40
  340. package/src/meta.ts +3 -3
  341. package/src/operations/add-toast.ts +24 -0
  342. package/src/operations/adjust.ts +83 -0
  343. package/src/operations/change-companion.ts +35 -0
  344. package/src/operations/close.ts +35 -0
  345. package/src/operations/definitions.ts +61 -0
  346. package/src/operations/helpers.ts +22 -0
  347. package/src/operations/index.ts +26 -0
  348. package/src/operations/open.ts +184 -0
  349. package/src/operations/revert-workspace.ts +22 -0
  350. package/src/operations/scroll-into-view.ts +24 -0
  351. package/src/operations/set-layout-mode.ts +84 -0
  352. package/src/operations/set.ts +36 -0
  353. package/src/operations/show-undo.ts +47 -0
  354. package/src/operations/switch-workspace.ts +60 -0
  355. package/src/operations/update-complementary.ts +33 -0
  356. package/src/operations/update-dialog.ts +34 -0
  357. package/src/operations/update-plank-size.ts +29 -0
  358. package/src/operations/update-popover.ts +36 -0
  359. package/src/operations/update-sidebar.ts +28 -0
  360. package/src/translations.ts +52 -54
  361. package/src/types/Settings.ts +17 -0
  362. package/src/types/capabilities.ts +35 -0
  363. package/src/types/events.ts +21 -0
  364. package/src/types/index.ts +3 -0
  365. package/src/types/schema.ts +51 -51
  366. package/src/util/index.ts +2 -1
  367. package/src/util/layoutAppliesTopbar.ts +2 -2
  368. package/src/util/plank-url-params.test.ts +85 -0
  369. package/src/util/plank-url-params.ts +36 -0
  370. package/src/util/sanitize-persisted-state.test.ts +79 -0
  371. package/src/util/sanitize-persisted-state.ts +52 -0
  372. package/src/util/set-active.test.ts +106 -0
  373. package/src/util/set-active.ts +50 -30
  374. package/src/vite-env.d.ts +5 -0
  375. package/dist/lib/browser/app-graph-builder-D74NTOMK.mjs +0 -128
  376. package/dist/lib/browser/app-graph-builder-D74NTOMK.mjs.map +0 -7
  377. package/dist/lib/browser/check-app-scheme-HIEVFAAX.mjs +0 -32
  378. package/dist/lib/browser/check-app-scheme-HIEVFAAX.mjs.map +0 -7
  379. package/dist/lib/browser/chunk-5KMJPIQC.mjs +0 -16
  380. package/dist/lib/browser/chunk-5KMJPIQC.mjs.map +0 -7
  381. package/dist/lib/browser/chunk-CNTGBCMK.mjs +0 -145
  382. package/dist/lib/browser/chunk-CNTGBCMK.mjs.map +0 -7
  383. package/dist/lib/browser/chunk-F3VCCHVL.mjs +0 -162
  384. package/dist/lib/browser/chunk-F3VCCHVL.mjs.map +0 -7
  385. package/dist/lib/browser/chunk-QKCGZ45E.mjs +0 -128
  386. package/dist/lib/browser/chunk-QKCGZ45E.mjs.map +0 -7
  387. package/dist/lib/browser/chunk-UXLU6CMW.mjs +0 -16
  388. package/dist/lib/browser/chunk-UXLU6CMW.mjs.map +0 -7
  389. package/dist/lib/browser/chunk-VBYJ664A.mjs +0 -132
  390. package/dist/lib/browser/chunk-VBYJ664A.mjs.map +0 -7
  391. package/dist/lib/browser/chunk-VUJ6UNIJ.mjs +0 -1553
  392. package/dist/lib/browser/chunk-VUJ6UNIJ.mjs.map +0 -7
  393. package/dist/lib/browser/intent-resolver-UA4YQGAC.mjs +0 -524
  394. package/dist/lib/browser/intent-resolver-UA4YQGAC.mjs.map +0 -7
  395. package/dist/lib/browser/react-root-JAMHKYWN.mjs +0 -44
  396. package/dist/lib/browser/react-root-JAMHKYWN.mjs.map +0 -7
  397. package/dist/lib/browser/react-surface-6LW337ZT.mjs +0 -40
  398. package/dist/lib/browser/react-surface-6LW337ZT.mjs.map +0 -7
  399. package/dist/lib/browser/settings-SDPTOCCM.mjs +0 -30
  400. package/dist/lib/browser/settings-SDPTOCCM.mjs.map +0 -7
  401. package/dist/lib/browser/state-7IFAGZQO.mjs +0 -12
  402. package/dist/lib/browser/toolkit-L5CFXJCF.mjs +0 -52
  403. package/dist/lib/browser/toolkit-L5CFXJCF.mjs.map +0 -7
  404. package/dist/lib/browser/url-handler-QEYGYE2H.mjs +0 -70
  405. package/dist/lib/browser/url-handler-QEYGYE2H.mjs.map +0 -7
  406. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  407. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  408. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  409. package/dist/types/src/capabilities/toolkit.d.ts +0 -25
  410. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  411. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +0 -1
  412. package/dist/types/src/components/DeckLayout/Banner.d.ts.map +0 -1
  413. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts +0 -3
  414. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +0 -1
  415. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +0 -1
  416. package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts +0 -74
  417. package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts.map +0 -1
  418. package/dist/types/src/components/DeckLayout/DeckMain.d.ts +0 -3
  419. package/dist/types/src/components/DeckLayout/DeckMain.d.ts.map +0 -1
  420. package/dist/types/src/components/DeckLayout/Dialog.d.ts.map +0 -1
  421. package/dist/types/src/components/DeckLayout/Fallback.d.ts +0 -3
  422. package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +0 -1
  423. package/dist/types/src/components/DeckLayout/Popover.d.ts +0 -5
  424. package/dist/types/src/components/DeckLayout/Popover.d.ts.map +0 -1
  425. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +0 -1
  426. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +0 -1
  427. package/dist/types/src/components/DeckLayout/Topbar.d.ts +0 -3
  428. package/dist/types/src/components/DeckLayout/Topbar.d.ts.map +0 -1
  429. package/dist/types/src/components/DeckLayout/constants.d.ts.map +0 -1
  430. package/dist/types/src/components/DeckLayout/index.d.ts +0 -4
  431. package/dist/types/src/components/DeckLayout/index.d.ts.map +0 -1
  432. package/dist/types/src/components/Plank/Plank.d.ts +0 -27
  433. package/dist/types/src/components/Plank/Plank.d.ts.map +0 -1
  434. package/dist/types/src/components/Plank/Plank.stories.d.ts +0 -89
  435. package/dist/types/src/components/Plank/Plank.stories.d.ts.map +0 -1
  436. package/dist/types/src/components/Plank/PlankControls.d.ts.map +0 -1
  437. package/dist/types/src/components/Plank/PlankError.d.ts +0 -13
  438. package/dist/types/src/components/Plank/PlankError.d.ts.map +0 -1
  439. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +0 -1
  440. package/dist/types/src/components/Plank/index.d.ts +0 -6
  441. package/dist/types/src/components/Plank/index.d.ts.map +0 -1
  442. package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +0 -1
  443. package/dist/types/src/components/Sidebar/Sidebar.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 -471
  452. package/src/capabilities/toolkit.ts +0 -66
  453. package/src/components/DeckLayout/ContentEmpty.tsx +0 -31
  454. package/src/components/DeckLayout/DeckLayout.stories.tsx +0 -63
  455. package/src/components/DeckLayout/DeckLayout.tsx +0 -32
  456. package/src/components/DeckLayout/DeckMain.tsx +0 -281
  457. package/src/components/DeckLayout/Fallback.tsx +0 -28
  458. package/src/components/DeckLayout/Popover.tsx +0 -95
  459. package/src/components/DeckLayout/Topbar.tsx +0 -11
  460. package/src/components/Plank/Plank.stories.tsx +0 -54
  461. package/src/components/Plank/Plank.tsx +0 -299
  462. package/src/components/Plank/PlankError.tsx +0 -49
  463. package/src/components/Sidebar/ComplementarySidebar.tsx +0 -214
  464. package/src/components/Sidebar/Sidebar.tsx +0 -42
  465. package/src/components/Sidebar/SidebarButton.tsx +0 -88
  466. package/src/components/fragments.ts +0 -14
  467. package/src/events.ts +0 -11
  468. package/src/util/overscroll.ts +0 -69
  469. /package/dist/lib/browser/{state-7IFAGZQO.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  470. /package/dist/types/src/{components/DeckLayout → containers/Deck}/Banner.d.ts +0 -0
  471. /package/dist/types/src/{components/DeckLayout → containers/Deck}/StatusBar.d.ts +0 -0
  472. /package/dist/types/src/{components → containers}/DeckLayout/ActiveNode.d.ts +0 -0
  473. /package/dist/types/src/{components → containers}/DeckLayout/DeckLayout.d.ts +0 -0
  474. /package/dist/types/src/{components → containers}/DeckLayout/Dialog.d.ts +0 -0
  475. /package/dist/types/src/{components → containers}/DeckLayout/constants.d.ts +0 -0
  476. /package/dist/types/src/{components → containers}/Plank/PlankLoading.d.ts +0 -0
  477. /package/dist/types/src/{components → containers}/Sidebar/ComplementarySidebar.d.ts +0 -0
  478. /package/dist/types/src/{components → containers}/Sidebar/Sidebar.d.ts +0 -0
  479. /package/dist/types/src/{components → containers}/Sidebar/SidebarButton.d.ts +0 -0
  480. /package/dist/types/src/{components → containers}/Sidebar/index.d.ts +0 -0
  481. /package/src/{components → containers}/Sidebar/index.ts +0 -0
@@ -1,46 +1,113 @@
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';
2
5
  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;
6
+ const Settings: Capability.InterfaceDef<Atom.Writable<{
7
+ showHints?: boolean | undefined;
8
+ enableDeck?: boolean | undefined;
9
+ enableStatusbar?: boolean | undefined;
10
+ enableNativeRedirect?: boolean | undefined;
11
+ encapsulatedPlanks?: boolean | undefined;
12
+ }, {
13
+ showHints?: boolean | undefined;
14
+ enableDeck?: boolean | undefined;
15
+ enableStatusbar?: boolean | undefined;
16
+ enableNativeRedirect?: boolean | undefined;
17
+ encapsulatedPlanks?: boolean | undefined;
18
+ }>>;
19
+ /** Persisted state (stored in KVS/localStorage). */
20
+ const State: Capability.InterfaceDef<Atom.Writable<{
21
+ sidebarState: "closed" | "collapsed" | "expanded";
22
+ complementarySidebarState: "closed" | "collapsed" | "expanded";
23
+ complementarySidebarPanel?: string | undefined;
24
+ activeDeck: string;
25
+ previousDeck: string;
26
+ decks: {
27
+ [x: string]: {
28
+ solo?: string | undefined;
29
+ initialized: boolean;
30
+ active: string[];
31
+ inactive: string[];
32
+ fullscreen: boolean;
33
+ plankSizing: {
34
+ [x: string]: number;
35
+ };
36
+ companionOpen: boolean;
37
+ companionVariant?: string | undefined;
38
+ companionFrameSizing: {
39
+ [x: string]: number;
40
+ };
18
41
  };
19
42
  };
43
+ previousMode: {
44
+ [x: string]: "solo" | "multi" | "solo--fullscreen";
45
+ };
46
+ }, {
20
47
  sidebarState: "closed" | "collapsed" | "expanded";
21
48
  complementarySidebarState: "closed" | "collapsed" | "expanded";
22
49
  complementarySidebarPanel?: string | undefined;
50
+ activeDeck: string;
51
+ previousDeck: string;
52
+ decks: {
53
+ [x: string]: {
54
+ solo?: string | undefined;
55
+ initialized: boolean;
56
+ active: string[];
57
+ inactive: string[];
58
+ fullscreen: boolean;
59
+ plankSizing: {
60
+ [x: string]: number;
61
+ };
62
+ companionOpen: boolean;
63
+ companionVariant?: string | undefined;
64
+ companionFrameSizing: {
65
+ [x: string]: number;
66
+ };
67
+ };
68
+ };
69
+ previousMode: {
70
+ [x: string]: "solo" | "multi" | "solo--fullscreen";
71
+ };
72
+ }>>;
73
+ /** Transient/ephemeral state (not persisted). */
74
+ const EphemeralState: Capability.InterfaceDef<Atom.Writable<{
23
75
  dialogOpen: boolean;
24
76
  dialogType?: "default" | "alert" | undefined;
25
- dialogBlockAlign?: "start" | "end" | "center" | undefined;
77
+ dialogBlockAlign?: "start" | "center" | "end" | undefined;
26
78
  dialogOverlayClasses?: string | undefined;
27
79
  dialogOverlayStyle?: {
28
80
  readonly [x: string]: any;
29
81
  } | undefined;
30
- dialogContent?: any;
82
+ dialogContent: {
83
+ readonly component: string;
84
+ readonly props?: any;
85
+ } | null;
31
86
  popoverOpen: boolean;
32
87
  popoverSide?: "top" | "right" | "bottom" | "left" | undefined;
33
88
  popoverAnchor?: any;
34
89
  popoverAnchorId?: string | undefined;
35
- popoverContent?: any;
90
+ popoverKind?: "base" | "card" | undefined;
91
+ popoverTitle?: string | [string, {
92
+ ns: string;
93
+ count?: number | undefined;
94
+ defaultValue?: string | undefined;
95
+ }] | undefined;
96
+ popoverContentRef?: string | undefined;
97
+ popoverContent: {
98
+ readonly component: string;
99
+ readonly props?: any;
100
+ } | {
101
+ readonly subject: any;
102
+ } | null;
36
103
  toasts: {
37
- readonly id: string;
38
- readonly title?: string | [string, {
104
+ readonly description?: string | [string, {
39
105
  ns: string;
40
106
  count?: number | undefined;
41
107
  defaultValue?: string | undefined;
42
108
  }] | undefined;
43
- readonly description?: string | [string, {
109
+ readonly id: string;
110
+ readonly title?: string | [string, {
44
111
  ns: string;
45
112
  count?: number | undefined;
46
113
  defaultValue?: string | undefined;
@@ -65,72 +132,44 @@ export declare namespace DeckCapabilities {
65
132
  readonly onAction?: any;
66
133
  }[];
67
134
  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
135
  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;
136
+ }, {
113
137
  dialogOpen: boolean;
114
138
  dialogType?: "default" | "alert" | undefined;
115
- dialogBlockAlign?: "start" | "end" | "center" | undefined;
139
+ dialogBlockAlign?: "start" | "center" | "end" | undefined;
116
140
  dialogOverlayClasses?: string | undefined;
117
141
  dialogOverlayStyle?: {
118
142
  readonly [x: string]: any;
119
143
  } | undefined;
120
- dialogContent?: any;
144
+ dialogContent: {
145
+ readonly component: string;
146
+ readonly props?: any;
147
+ } | null;
121
148
  popoverOpen: boolean;
122
149
  popoverSide?: "top" | "right" | "bottom" | "left" | undefined;
123
150
  popoverAnchor?: any;
124
151
  popoverAnchorId?: string | undefined;
125
- popoverContent?: any;
152
+ popoverKind?: "base" | "card" | undefined;
153
+ popoverTitle?: string | [string, {
154
+ ns: string;
155
+ count?: number | undefined;
156
+ defaultValue?: string | undefined;
157
+ }] | undefined;
158
+ popoverContentRef?: string | undefined;
159
+ popoverContent: {
160
+ readonly component: string;
161
+ readonly props?: any;
162
+ } | {
163
+ readonly subject: any;
164
+ } | null;
126
165
  toasts: {
127
- readonly id: string;
128
- readonly title?: string | [string, {
166
+ readonly description?: string | [string, {
129
167
  ns: string;
130
168
  count?: number | undefined;
131
169
  defaultValue?: string | undefined;
132
170
  }] | undefined;
133
- readonly description?: string | [string, {
171
+ readonly id: string;
172
+ readonly title?: string | [string, {
134
173
  ns: string;
135
174
  count?: number | undefined;
136
175
  defaultValue?: string | undefined;
@@ -155,30 +194,9 @@ export declare namespace DeckCapabilities {
155
194
  readonly onAction?: any;
156
195
  }[];
157
196
  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
197
  scrollIntoView?: string | undefined;
182
- }>;
198
+ }>>;
199
+ /** Get the current active deck from state. */
200
+ const getDeck: () => Effect.Effect<DeckState, Error, Capability.Service>;
183
201
  }
184
202
  //# 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;AAGzF,yBAAiB,gBAAgB,CAAC;IACzB,MAAM,QAAQ;;;;;;;;;;;;OAAsF,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,60 +1,96 @@
1
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: string;
5
- export declare const DECK_COMPANION_TYPE: string;
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
- encapsulatedPlanks: Schema.optional<typeof Schema.Boolean>;
20
- }>>;
21
- export type DeckSettingsProps = Schema.Schema.Type<typeof DeckSettingsSchema>;
22
7
  export declare const PlankSizing: Schema.Record$<typeof Schema.String, typeof Schema.Number>;
23
8
  export type PlankSizing = Schema.Schema.Type<typeof PlankSizing>;
24
9
  export declare const DeckState: Schema.Struct<{
25
10
  /** If false, the deck has not yet left solo mode and new planks should be soloed. */
26
11
  initialized: typeof Schema.Boolean;
12
+ /** Item IDs of planks currently displayed in multi-mode. */
27
13
  active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
28
- 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. */
29
15
  inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
16
+ /** Item ID of the single plank displayed in solo or fullscreen mode. */
30
17
  solo: Schema.optional<typeof Schema.String>;
18
+ /** Whether the solo plank is displayed in fullscreen mode (no heading or sidebars). */
31
19
  fullscreen: typeof Schema.Boolean;
20
+ /** Persisted plank widths in rem, keyed by item ID. */
32
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. */
33
27
  companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
34
28
  }>;
35
29
  export type DeckState = Schema.Schema.Type<typeof DeckState>;
36
30
  export declare const defaultDeck: DeckState;
37
- declare const LayoutMode: Schema.Literal<["deck", "solo", "solo--fullscreen"]>;
31
+ declare const LayoutMode: Schema.Literal<["multi", "solo", "solo--fullscreen"]>;
38
32
  export type LayoutMode = Schema.Schema.Type<typeof LayoutMode>;
39
33
  export declare const isLayoutMode: (value: any) => value is LayoutMode;
40
34
  export declare const getMode: (deck: DeckState | DeepReadonly<DeckState>) => LayoutMode;
41
- export declare const DeckPluginState: Schema.mutable<Schema.Struct<{
35
+ export declare const StoredDeckState: Schema.mutable<Schema.Struct<{
42
36
  sidebarState: Schema.Literal<["closed", "collapsed", "expanded"]>;
43
37
  complementarySidebarState: Schema.Literal<["closed", "collapsed", "expanded"]>;
44
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<{
45
65
  dialogOpen: typeof Schema.Boolean;
46
66
  dialogType: Schema.optional<Schema.Literal<["default", "alert"]>>;
47
67
  dialogBlockAlign: Schema.optional<Schema.Literal<["start", "center", "end"]>>;
48
68
  dialogOverlayClasses: Schema.optional<typeof Schema.String>;
49
69
  dialogOverlayStyle: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
50
70
  /** Data to be passed to the dialog Surface. */
51
- 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
+ }>>;
52
75
  popoverOpen: typeof Schema.Boolean;
53
76
  popoverSide: Schema.optional<Schema.Literal<["top", "right", "bottom", "left"]>>;
54
77
  popoverAnchor: Schema.optional<typeof Schema.Any>;
55
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>;
56
87
  /** Data to be passed to the popover Surface. */
57
- 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
+ }>]>>;
58
94
  toasts: Schema.mutable<Schema.Array$<Schema.Struct<{
59
95
  id: Schema.SchemaClass<string, string, never>;
60
96
  title: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
@@ -87,35 +123,11 @@ export declare const DeckPluginState: Schema.mutable<Schema.Struct<{
87
123
  onAction: Schema.optional<Schema.SchemaClass<any, any, never>>;
88
124
  }>>>;
89
125
  currentUndoId: Schema.optional<typeof Schema.String>;
90
- activeDeck: typeof Schema.String;
91
- previousDeck: typeof Schema.String;
92
- decks: Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
93
- /** If false, the deck has not yet left solo mode and new planks should be soloed. */
94
- initialized: typeof Schema.Boolean;
95
- active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
96
- activeCompanions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
97
- inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
98
- solo: Schema.optional<typeof Schema.String>;
99
- fullscreen: typeof Schema.Boolean;
100
- plankSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
101
- companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
102
- }>>>>;
103
- previousMode: Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Literal<["deck", "solo", "solo--fullscreen"]>>>;
104
- deck: Schema.mutable<Schema.Struct<{
105
- /** If false, the deck has not yet left solo mode and new planks should be soloed. */
106
- initialized: typeof Schema.Boolean;
107
- active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
108
- activeCompanions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
109
- inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
110
- solo: Schema.optional<typeof Schema.String>;
111
- fullscreen: typeof Schema.Boolean;
112
- plankSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
113
- companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
114
- }>>;
115
126
  /** The identifier of a component to scroll into view when it is mounted. */
116
127
  scrollIntoView: Schema.optional<typeof Schema.String>;
117
128
  }>>;
118
- export type DeckPluginState = Schema.Schema.Type<typeof DeckPluginState>;
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}/action/adjust`, {
128
- 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`>;
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}/action/update-plank-size`, {
139
- 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`>;
140
152
  } & {
141
153
  input: Schema.Struct<{
142
154
  id: typeof Schema.String;
@@ -146,11 +158,10 @@ export declare namespace DeckAction {
146
158
  }>;
147
159
  export class UpdatePlankSize extends UpdatePlankSize_base {
148
160
  }
149
- const ChangeCompanion_base: Schema.TaggedClass<ChangeCompanion, `${string}/action/change-companion`, {
150
- 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`>;
151
163
  } & {
152
164
  input: Schema.Struct<{
153
- primary: typeof Schema.String;
154
165
  companion: Schema.Union<[typeof Schema.String, typeof Schema.Null]>;
155
166
  }>;
156
167
  output: typeof Schema.Void;
@@ -1 +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,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,eAAO,MAAM,oBAAoB,QAA+B,CAAC;AACjE,eAAO,MAAM,mBAAmB,QAA8B,CAAC;AAG/D,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;;;;;;;;GASR,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":""}