@dxos/plugin-deck 0.8.4-main.f9ba587 → 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 (511) 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 +164 -131
  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 +32 -0
  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-IRWCUYJY.mjs +71 -0
  62. package/dist/lib/node-esm/chunk-IRWCUYJY.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-MB4SDDVY.mjs +50 -0
  64. package/dist/lib/node-esm/chunk-MB4SDDVY.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-MLVJ2ODW.mjs +32 -0
  66. package/dist/lib/node-esm/chunk-MLVJ2ODW.mjs.map +7 -0
  67. package/dist/lib/node-esm/close-YHIBVE2S.mjs +45 -0
  68. package/dist/lib/node-esm/close-YHIBVE2S.mjs.map +7 -0
  69. package/dist/lib/node-esm/index.mjs +164 -131
  70. package/dist/lib/node-esm/index.mjs.map +4 -4
  71. package/dist/lib/node-esm/meta.json +1 -1
  72. package/dist/lib/node-esm/open-353DYMMN.mjs +151 -0
  73. package/dist/lib/node-esm/open-353DYMMN.mjs.map +7 -0
  74. package/dist/lib/node-esm/operations/index.mjs +14 -0
  75. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  76. package/dist/lib/node-esm/revert-workspace-OS5R3PFJ.mjs +22 -0
  77. package/dist/lib/node-esm/revert-workspace-OS5R3PFJ.mjs.map +7 -0
  78. package/dist/lib/node-esm/scroll-into-view-LC2SVKCW.mjs +22 -0
  79. package/dist/lib/node-esm/scroll-into-view-LC2SVKCW.mjs.map +7 -0
  80. package/dist/lib/node-esm/set-3EZ7LJFU.mjs +38 -0
  81. package/dist/lib/node-esm/set-3EZ7LJFU.mjs.map +7 -0
  82. package/dist/lib/node-esm/set-layout-mode-3YBHGEK6.mjs +91 -0
  83. package/dist/lib/node-esm/set-layout-mode-3YBHGEK6.mjs.map +7 -0
  84. package/dist/lib/node-esm/show-undo-RAHLRPUU.mjs +60 -0
  85. package/dist/lib/node-esm/show-undo-RAHLRPUU.mjs.map +7 -0
  86. package/dist/lib/node-esm/switch-workspace-S6CXDPXZ.mjs +69 -0
  87. package/dist/lib/node-esm/switch-workspace-S6CXDPXZ.mjs.map +7 -0
  88. package/dist/lib/node-esm/{types.mjs → types/index.mjs} +13 -15
  89. package/dist/lib/node-esm/update-complementary-V5Y2RMYL.mjs +29 -0
  90. package/dist/lib/node-esm/update-complementary-V5Y2RMYL.mjs.map +7 -0
  91. package/dist/lib/node-esm/update-dialog-IMTCLAWR.mjs +30 -0
  92. package/dist/lib/node-esm/update-dialog-IMTCLAWR.mjs.map +7 -0
  93. package/dist/lib/node-esm/update-plank-size-I3DKCPHZ.mjs +29 -0
  94. package/dist/lib/node-esm/update-plank-size-I3DKCPHZ.mjs.map +7 -0
  95. package/dist/lib/node-esm/update-popover-7JX3KWYL.mjs +34 -0
  96. package/dist/lib/node-esm/update-popover-7JX3KWYL.mjs.map +7 -0
  97. package/dist/lib/node-esm/update-sidebar-B5DCSREP.mjs +26 -0
  98. package/dist/lib/node-esm/update-sidebar-B5DCSREP.mjs.map +7 -0
  99. package/dist/types/src/DeckPlugin.d.ts +2 -1
  100. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  102. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/check-app-scheme.d.ts +17 -2
  104. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/index.d.ts +196 -12
  106. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  108. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/react-root.d.ts +4 -2
  110. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  112. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/settings.d.ts +5 -2
  114. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/state.d.ts +134 -44
  116. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/tools.d.ts +4 -3
  118. package/dist/types/src/capabilities/tools.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/url-handler.d.ts +3 -2
  120. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
  121. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts +4 -4
  122. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -1
  123. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts +71 -0
  124. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts.map +1 -0
  125. package/dist/types/src/components/DeckSettings/index.d.ts +1 -1
  126. package/dist/types/src/components/DeckSettings/index.d.ts.map +1 -1
  127. package/dist/types/src/components/Matrix/Matrix.d.ts +41 -0
  128. package/dist/types/src/components/Matrix/Matrix.d.ts.map +1 -0
  129. package/dist/types/src/components/Matrix/Matrix.stories.d.ts +17 -0
  130. package/dist/types/src/components/Matrix/Matrix.stories.d.ts.map +1 -0
  131. package/dist/types/src/components/Matrix/index.d.ts +3 -0
  132. package/dist/types/src/components/Matrix/index.d.ts.map +1 -0
  133. package/dist/types/src/components/index.d.ts +3 -2
  134. package/dist/types/src/components/index.d.ts.map +1 -1
  135. package/dist/types/src/containers/Deck/Banner.d.ts.map +1 -0
  136. package/dist/types/src/containers/Deck/Deck.d.ts +25 -0
  137. package/dist/types/src/containers/Deck/Deck.d.ts.map +1 -0
  138. package/dist/types/src/containers/Deck/Deck.stories.d.ts +71 -0
  139. package/dist/types/src/containers/Deck/Deck.stories.d.ts.map +1 -0
  140. package/dist/types/src/containers/Deck/DeckContent.d.ts +7 -0
  141. package/dist/types/src/containers/Deck/DeckContent.d.ts.map +1 -0
  142. package/dist/types/src/containers/Deck/DeckRoot.d.ts +42 -0
  143. package/dist/types/src/containers/Deck/DeckRoot.d.ts.map +1 -0
  144. package/dist/types/src/containers/Deck/DeckViewport.d.ts +19 -0
  145. package/dist/types/src/containers/Deck/DeckViewport.d.ts.map +1 -0
  146. package/dist/types/src/containers/Deck/StatusBar.d.ts.map +1 -0
  147. package/dist/types/src/containers/Deck/index.d.ts +2 -0
  148. package/dist/types/src/containers/Deck/index.d.ts.map +1 -0
  149. package/dist/types/src/containers/DeckLayout/ActiveNode.d.ts.map +1 -0
  150. package/dist/types/src/containers/DeckLayout/DeckLayout.d.ts +5 -0
  151. package/dist/types/src/containers/DeckLayout/DeckLayout.d.ts.map +1 -0
  152. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts +73 -0
  153. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts.map +1 -0
  154. package/dist/types/src/containers/DeckLayout/Dialog.d.ts.map +1 -0
  155. package/dist/types/src/containers/DeckLayout/Fallback.d.ts +2 -0
  156. package/dist/types/src/containers/DeckLayout/Fallback.d.ts.map +1 -0
  157. package/dist/types/src/containers/DeckLayout/Popover.d.ts +5 -0
  158. package/dist/types/src/containers/DeckLayout/Popover.d.ts.map +1 -0
  159. package/dist/types/src/containers/DeckLayout/Toast.d.ts +10 -0
  160. package/dist/types/src/containers/DeckLayout/Toast.d.ts.map +1 -0
  161. package/dist/types/src/containers/DeckLayout/constants.d.ts.map +1 -0
  162. package/dist/types/src/containers/DeckLayout/index.d.ts +4 -0
  163. package/dist/types/src/containers/DeckLayout/index.d.ts.map +1 -0
  164. package/dist/types/src/containers/Plank/Plank.d.ts +17 -0
  165. package/dist/types/src/containers/Plank/Plank.d.ts.map +1 -0
  166. package/dist/types/src/containers/Plank/Plank.stories.d.ts +71 -0
  167. package/dist/types/src/containers/Plank/Plank.stories.d.ts.map +1 -0
  168. package/dist/types/src/containers/Plank/PlankComponent.d.ts +17 -0
  169. package/dist/types/src/containers/Plank/PlankComponent.d.ts.map +1 -0
  170. package/dist/types/src/containers/Plank/PlankContent.d.ts +10 -0
  171. package/dist/types/src/containers/Plank/PlankContent.d.ts.map +1 -0
  172. package/dist/types/src/{components → containers}/Plank/PlankControls.d.ts +5 -6
  173. package/dist/types/src/containers/Plank/PlankControls.d.ts.map +1 -0
  174. package/dist/types/src/containers/Plank/PlankError.d.ts +15 -0
  175. package/dist/types/src/containers/Plank/PlankError.d.ts.map +1 -0
  176. package/dist/types/src/{components → containers}/Plank/PlankHeading.d.ts +5 -4
  177. package/dist/types/src/containers/Plank/PlankHeading.d.ts.map +1 -0
  178. package/dist/types/src/{components → containers}/Plank/PlankLoading.d.ts.map +1 -1
  179. package/dist/types/src/containers/Plank/PlankRoot.d.ts +37 -0
  180. package/dist/types/src/containers/Plank/PlankRoot.d.ts.map +1 -0
  181. package/dist/types/src/containers/Plank/index.d.ts +4 -0
  182. package/dist/types/src/containers/Plank/index.d.ts.map +1 -0
  183. package/dist/types/src/containers/Sidebar/ComplementarySidebar.d.ts.map +1 -0
  184. package/dist/types/src/containers/Sidebar/Sidebar.d.ts.map +1 -0
  185. package/dist/types/src/containers/Sidebar/SidebarButton.d.ts.map +1 -0
  186. package/dist/types/src/{components → containers}/Sidebar/index.d.ts.map +1 -1
  187. package/dist/types/src/containers/index.d.ts +6 -0
  188. package/dist/types/src/containers/index.d.ts.map +1 -0
  189. package/dist/types/src/hooks/index.d.ts +2 -0
  190. package/dist/types/src/hooks/index.d.ts.map +1 -1
  191. package/dist/types/src/hooks/useDeckCompanions.d.ts +3 -4
  192. package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -1
  193. package/dist/types/src/hooks/useDeckState.d.ts +17 -0
  194. package/dist/types/src/hooks/useDeckState.d.ts.map +1 -0
  195. package/dist/types/src/hooks/useHoistStatusbar.d.ts +1 -1
  196. package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +1 -1
  197. package/dist/types/src/hooks/useMainSize.d.ts +2 -2
  198. package/dist/types/src/hooks/useNodeActionExpander.d.ts +1 -1
  199. package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
  200. package/dist/types/src/hooks/useSelectedCompanion.d.ts +13 -0
  201. package/dist/types/src/hooks/useSelectedCompanion.d.ts.map +1 -0
  202. package/dist/types/src/index.d.ts +1 -2
  203. package/dist/types/src/index.d.ts.map +1 -1
  204. package/dist/types/src/layout.d.ts +20 -9
  205. package/dist/types/src/layout.d.ts.map +1 -1
  206. package/dist/types/src/layout.test.d.ts +2 -0
  207. package/dist/types/src/layout.test.d.ts.map +1 -0
  208. package/dist/types/src/meta.d.ts +2 -3
  209. package/dist/types/src/meta.d.ts.map +1 -1
  210. package/dist/types/src/operations/add-toast.d.ts +5 -0
  211. package/dist/types/src/operations/add-toast.d.ts.map +1 -0
  212. package/dist/types/src/operations/adjust.d.ts +5 -0
  213. package/dist/types/src/operations/adjust.d.ts.map +1 -0
  214. package/dist/types/src/operations/change-companion.d.ts +5 -0
  215. package/dist/types/src/operations/change-companion.d.ts.map +1 -0
  216. package/dist/types/src/operations/close.d.ts +5 -0
  217. package/dist/types/src/operations/close.d.ts.map +1 -0
  218. package/dist/types/src/operations/definitions.d.ts +18 -0
  219. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  220. package/dist/types/src/operations/helpers.d.ts +3 -0
  221. package/dist/types/src/operations/helpers.d.ts.map +1 -0
  222. package/dist/types/src/operations/index.d.ts +4 -0
  223. package/dist/types/src/operations/index.d.ts.map +1 -0
  224. package/dist/types/src/operations/open.d.ts +5 -0
  225. package/dist/types/src/operations/open.d.ts.map +1 -0
  226. package/dist/types/src/operations/revert-workspace.d.ts +5 -0
  227. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -0
  228. package/dist/types/src/operations/scroll-into-view.d.ts +5 -0
  229. package/dist/types/src/operations/scroll-into-view.d.ts.map +1 -0
  230. package/dist/types/src/operations/set-layout-mode.d.ts +9 -0
  231. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
  232. package/dist/types/src/operations/set.d.ts +5 -0
  233. package/dist/types/src/operations/set.d.ts.map +1 -0
  234. package/dist/types/src/operations/show-undo.d.ts +5 -0
  235. package/dist/types/src/operations/show-undo.d.ts.map +1 -0
  236. package/dist/types/src/operations/switch-workspace.d.ts +5 -0
  237. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
  238. package/dist/types/src/operations/update-complementary.d.ts +5 -0
  239. package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
  240. package/dist/types/src/operations/update-dialog.d.ts +5 -0
  241. package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
  242. package/dist/types/src/operations/update-plank-size.d.ts +5 -0
  243. package/dist/types/src/operations/update-plank-size.d.ts.map +1 -0
  244. package/dist/types/src/operations/update-popover.d.ts +5 -0
  245. package/dist/types/src/operations/update-popover.d.ts.map +1 -0
  246. package/dist/types/src/operations/update-sidebar.d.ts +5 -0
  247. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
  248. package/dist/types/src/translations.d.ts +52 -52
  249. package/dist/types/src/translations.d.ts.map +1 -1
  250. package/dist/types/src/types/Settings.d.ts +11 -0
  251. package/dist/types/src/types/Settings.d.ts.map +1 -0
  252. package/dist/types/src/{capabilities → types}/capabilities.d.ts +103 -96
  253. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  254. package/dist/types/src/types/events.d.ts +7 -0
  255. package/dist/types/src/types/events.d.ts.map +1 -0
  256. package/dist/types/src/types/index.d.ts +5 -0
  257. package/dist/types/src/types/index.d.ts.map +1 -0
  258. package/dist/types/src/{types.d.ts → types/schema.d.ts} +69 -58
  259. package/dist/types/src/types/schema.d.ts.map +1 -0
  260. package/dist/types/src/util/index.d.ts +2 -1
  261. package/dist/types/src/util/index.d.ts.map +1 -1
  262. package/dist/types/src/util/layoutAppliesTopbar.d.ts +1 -1
  263. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
  264. package/dist/types/src/util/plank-url-params.d.ts +14 -0
  265. package/dist/types/src/util/plank-url-params.d.ts.map +1 -0
  266. package/dist/types/src/util/plank-url-params.test.d.ts +2 -0
  267. package/dist/types/src/util/plank-url-params.test.d.ts.map +1 -0
  268. package/dist/types/src/util/sanitize-persisted-state.d.ts +19 -0
  269. package/dist/types/src/util/sanitize-persisted-state.d.ts.map +1 -0
  270. package/dist/types/src/util/sanitize-persisted-state.test.d.ts +2 -0
  271. package/dist/types/src/util/sanitize-persisted-state.test.d.ts.map +1 -0
  272. package/dist/types/src/util/set-active.d.ts +19 -4
  273. package/dist/types/src/util/set-active.d.ts.map +1 -1
  274. package/dist/types/src/util/set-active.test.d.ts +2 -0
  275. package/dist/types/src/util/set-active.test.d.ts.map +1 -0
  276. package/dist/types/tsconfig.tsbuildinfo +1 -1
  277. package/package.json +91 -49
  278. package/src/DeckPlugin.ts +43 -63
  279. package/src/capabilities/app-graph-builder.ts +113 -127
  280. package/src/capabilities/check-app-scheme.ts +123 -24
  281. package/src/capabilities/index.ts +13 -13
  282. package/src/capabilities/operation-handler.ts +16 -0
  283. package/src/capabilities/react-root.tsx +37 -28
  284. package/src/capabilities/react-surface.tsx +28 -22
  285. package/src/capabilities/settings.ts +30 -19
  286. package/src/capabilities/state.ts +74 -87
  287. package/src/capabilities/tools.ts +64 -54
  288. package/src/capabilities/url-handler.ts +221 -49
  289. package/src/components/DeckSettings/DeckSettings.stories.tsx +37 -0
  290. package/src/components/DeckSettings/DeckSettings.tsx +55 -70
  291. package/src/components/DeckSettings/index.ts +2 -2
  292. package/src/components/Matrix/Matrix.stories.tsx +216 -0
  293. package/src/components/Matrix/Matrix.tsx +205 -0
  294. package/src/components/Matrix/SPEC.md +219 -0
  295. package/src/components/Matrix/index.ts +6 -0
  296. package/src/components/index.ts +6 -3
  297. package/src/containers/Deck/Banner.tsx +41 -0
  298. package/src/containers/Deck/Deck.stories.tsx +81 -0
  299. package/src/containers/Deck/Deck.tsx +21 -0
  300. package/src/containers/Deck/DeckContent.tsx +105 -0
  301. package/src/containers/Deck/DeckRoot.tsx +50 -0
  302. package/src/containers/Deck/DeckViewport.tsx +456 -0
  303. package/src/{components/DeckLayout → containers/Deck}/StatusBar.tsx +4 -4
  304. package/src/containers/Deck/index.ts +5 -0
  305. package/src/{components → containers}/DeckLayout/ActiveNode.tsx +8 -3
  306. package/src/containers/DeckLayout/DeckLayout.stories.tsx +393 -0
  307. package/src/containers/DeckLayout/DeckLayout.tsx +62 -0
  308. package/src/containers/DeckLayout/Dialog.tsx +52 -0
  309. package/src/containers/DeckLayout/Fallback.tsx +24 -0
  310. package/src/containers/DeckLayout/Popover.tsx +161 -0
  311. package/src/{components → containers}/DeckLayout/Toast.tsx +30 -5
  312. package/src/{components → containers}/DeckLayout/constants.ts +1 -0
  313. package/src/{components → containers}/DeckLayout/index.ts +3 -2
  314. package/src/containers/Plank/Plank.stories.tsx +106 -0
  315. package/src/containers/Plank/Plank.tsx +22 -0
  316. package/src/containers/Plank/PlankComponent.tsx +217 -0
  317. package/src/containers/Plank/PlankContent.tsx +45 -0
  318. package/src/{components → containers}/Plank/PlankControls.tsx +45 -38
  319. package/src/containers/Plank/PlankError.tsx +79 -0
  320. package/src/{components → containers}/Plank/PlankHeading.tsx +70 -65
  321. package/src/{components → containers}/Plank/PlankLoading.tsx +1 -1
  322. package/src/containers/Plank/PlankRoot.tsx +49 -0
  323. package/src/{components → containers}/Plank/index.ts +0 -2
  324. package/src/containers/Sidebar/ComplementarySidebar.tsx +209 -0
  325. package/src/containers/Sidebar/Sidebar.tsx +44 -0
  326. package/src/containers/Sidebar/SidebarButton.tsx +94 -0
  327. package/src/containers/index.ts +11 -0
  328. package/src/hooks/index.ts +2 -0
  329. package/src/hooks/useCompanions.ts +3 -3
  330. package/src/hooks/useDeckCompanions.ts +8 -11
  331. package/src/hooks/useDeckState.ts +73 -0
  332. package/src/hooks/useHoistStatusbar.ts +4 -5
  333. package/src/hooks/useMainSize.ts +2 -2
  334. package/src/hooks/useNodeActionExpander.ts +4 -4
  335. package/src/hooks/useSelectedCompanion.ts +32 -0
  336. package/src/index.ts +1 -2
  337. package/src/layout.test.ts +59 -0
  338. package/src/layout.ts +38 -40
  339. package/src/meta.ts +8 -5
  340. package/src/operations/add-toast.ts +24 -0
  341. package/src/operations/adjust.ts +83 -0
  342. package/src/operations/change-companion.ts +35 -0
  343. package/src/operations/close.ts +35 -0
  344. package/src/operations/definitions.ts +62 -0
  345. package/src/operations/helpers.ts +22 -0
  346. package/src/operations/index.ts +26 -0
  347. package/src/operations/open.ts +184 -0
  348. package/src/operations/revert-workspace.ts +22 -0
  349. package/src/operations/scroll-into-view.ts +24 -0
  350. package/src/operations/set-layout-mode.ts +84 -0
  351. package/src/operations/set.ts +36 -0
  352. package/src/operations/show-undo.ts +47 -0
  353. package/src/operations/switch-workspace.ts +60 -0
  354. package/src/operations/update-complementary.ts +33 -0
  355. package/src/operations/update-dialog.ts +34 -0
  356. package/src/operations/update-plank-size.ts +29 -0
  357. package/src/operations/update-popover.ts +36 -0
  358. package/src/operations/update-sidebar.ts +28 -0
  359. package/src/translations.ts +52 -52
  360. package/src/types/Settings.ts +17 -0
  361. package/src/types/capabilities.ts +35 -0
  362. package/src/types/events.ts +21 -0
  363. package/src/types/index.ts +8 -0
  364. package/src/{types.ts → types/schema.ts} +52 -52
  365. package/src/util/index.ts +2 -1
  366. package/src/util/layoutAppliesTopbar.ts +2 -2
  367. package/src/util/plank-url-params.test.ts +85 -0
  368. package/src/util/plank-url-params.ts +36 -0
  369. package/src/util/sanitize-persisted-state.test.ts +79 -0
  370. package/src/util/sanitize-persisted-state.ts +52 -0
  371. package/src/util/set-active.test.ts +106 -0
  372. package/src/util/set-active.ts +50 -30
  373. package/src/vite-env.d.ts +5 -0
  374. package/dist/lib/browser/app-graph-builder-JTFSDT2I.mjs +0 -152
  375. package/dist/lib/browser/app-graph-builder-JTFSDT2I.mjs.map +0 -7
  376. package/dist/lib/browser/check-app-scheme-57U62A3A.mjs +0 -32
  377. package/dist/lib/browser/check-app-scheme-57U62A3A.mjs.map +0 -7
  378. package/dist/lib/browser/chunk-7LJDT5OH.mjs +0 -127
  379. package/dist/lib/browser/chunk-7LJDT5OH.mjs.map +0 -7
  380. package/dist/lib/browser/chunk-CNTGBCMK.mjs +0 -145
  381. package/dist/lib/browser/chunk-CNTGBCMK.mjs.map +0 -7
  382. package/dist/lib/browser/chunk-M57WD3V6.mjs +0 -16
  383. package/dist/lib/browser/chunk-M57WD3V6.mjs.map +0 -7
  384. package/dist/lib/browser/chunk-QBKDUEDV.mjs +0 -1494
  385. package/dist/lib/browser/chunk-QBKDUEDV.mjs.map +0 -7
  386. package/dist/lib/browser/chunk-QO3VIMKQ.mjs +0 -128
  387. package/dist/lib/browser/chunk-QO3VIMKQ.mjs.map +0 -7
  388. package/dist/lib/browser/chunk-XL7EWOGI.mjs +0 -162
  389. package/dist/lib/browser/chunk-XL7EWOGI.mjs.map +0 -7
  390. package/dist/lib/browser/chunk-Z5KITAZW.mjs +0 -13
  391. package/dist/lib/browser/chunk-Z5KITAZW.mjs.map +0 -7
  392. package/dist/lib/browser/intent-resolver-6YMAE4SF.mjs +0 -521
  393. package/dist/lib/browser/intent-resolver-6YMAE4SF.mjs.map +0 -7
  394. package/dist/lib/browser/react-root-UVN2LMU3.mjs +0 -43
  395. package/dist/lib/browser/react-root-UVN2LMU3.mjs.map +0 -7
  396. package/dist/lib/browser/react-surface-WOLHGHMN.mjs +0 -40
  397. package/dist/lib/browser/react-surface-WOLHGHMN.mjs.map +0 -7
  398. package/dist/lib/browser/settings-L5CR5GTJ.mjs +0 -29
  399. package/dist/lib/browser/settings-L5CR5GTJ.mjs.map +0 -7
  400. package/dist/lib/browser/state-ZTYWMORZ.mjs +0 -10
  401. package/dist/lib/browser/tools-2YYFHQAS.mjs +0 -88
  402. package/dist/lib/browser/tools-2YYFHQAS.mjs.map +0 -7
  403. package/dist/lib/browser/types.mjs +0 -34
  404. package/dist/lib/browser/url-handler-KZW7GBA2.mjs +0 -70
  405. package/dist/lib/browser/url-handler-KZW7GBA2.mjs.map +0 -7
  406. package/dist/lib/node-esm/app-graph-builder-YCSX45KJ.mjs +0 -153
  407. package/dist/lib/node-esm/app-graph-builder-YCSX45KJ.mjs.map +0 -7
  408. package/dist/lib/node-esm/check-app-scheme-3YZIA73T.mjs +0 -33
  409. package/dist/lib/node-esm/check-app-scheme-3YZIA73T.mjs.map +0 -7
  410. package/dist/lib/node-esm/chunk-ANLUUC3J.mjs +0 -129
  411. package/dist/lib/node-esm/chunk-ANLUUC3J.mjs.map +0 -7
  412. package/dist/lib/node-esm/chunk-F4YIQ5GG.mjs +0 -128
  413. package/dist/lib/node-esm/chunk-F4YIQ5GG.mjs.map +0 -7
  414. package/dist/lib/node-esm/chunk-HHG6H2BX.mjs +0 -15
  415. package/dist/lib/node-esm/chunk-HHG6H2BX.mjs.map +0 -7
  416. package/dist/lib/node-esm/chunk-KTPDAVNM.mjs +0 -17
  417. package/dist/lib/node-esm/chunk-KTPDAVNM.mjs.map +0 -7
  418. package/dist/lib/node-esm/chunk-NMSUKHE3.mjs +0 -1495
  419. package/dist/lib/node-esm/chunk-NMSUKHE3.mjs.map +0 -7
  420. package/dist/lib/node-esm/chunk-QFKYT4JK.mjs +0 -163
  421. package/dist/lib/node-esm/chunk-QFKYT4JK.mjs.map +0 -7
  422. package/dist/lib/node-esm/chunk-UJGQAMF7.mjs +0 -147
  423. package/dist/lib/node-esm/chunk-UJGQAMF7.mjs.map +0 -7
  424. package/dist/lib/node-esm/intent-resolver-URTWBGD7.mjs +0 -522
  425. package/dist/lib/node-esm/intent-resolver-URTWBGD7.mjs.map +0 -7
  426. package/dist/lib/node-esm/react-root-GFX4GOJT.mjs +0 -44
  427. package/dist/lib/node-esm/react-root-GFX4GOJT.mjs.map +0 -7
  428. package/dist/lib/node-esm/react-surface-F6L5PLWK.mjs +0 -41
  429. package/dist/lib/node-esm/react-surface-F6L5PLWK.mjs.map +0 -7
  430. package/dist/lib/node-esm/settings-WE3TBMOC.mjs +0 -30
  431. package/dist/lib/node-esm/settings-WE3TBMOC.mjs.map +0 -7
  432. package/dist/lib/node-esm/state-DUK6WFDX.mjs +0 -11
  433. package/dist/lib/node-esm/tools-HH6NN7HB.mjs +0 -89
  434. package/dist/lib/node-esm/tools-HH6NN7HB.mjs.map +0 -7
  435. package/dist/lib/node-esm/url-handler-774BWWKI.mjs +0 -71
  436. package/dist/lib/node-esm/url-handler-774BWWKI.mjs.map +0 -7
  437. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  438. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  439. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  440. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +0 -1
  441. package/dist/types/src/components/DeckLayout/Banner.d.ts.map +0 -1
  442. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts +0 -3
  443. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +0 -1
  444. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +0 -6
  445. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +0 -1
  446. package/dist/types/src/components/DeckLayout/Dialog.d.ts.map +0 -1
  447. package/dist/types/src/components/DeckLayout/Fallback.d.ts +0 -3
  448. package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +0 -1
  449. package/dist/types/src/components/DeckLayout/Popover.d.ts +0 -5
  450. package/dist/types/src/components/DeckLayout/Popover.d.ts.map +0 -1
  451. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +0 -1
  452. package/dist/types/src/components/DeckLayout/Toast.d.ts +0 -5
  453. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +0 -1
  454. package/dist/types/src/components/DeckLayout/Topbar.d.ts +0 -3
  455. package/dist/types/src/components/DeckLayout/Topbar.d.ts.map +0 -1
  456. package/dist/types/src/components/DeckLayout/constants.d.ts.map +0 -1
  457. package/dist/types/src/components/DeckLayout/index.d.ts +0 -4
  458. package/dist/types/src/components/DeckLayout/index.d.ts.map +0 -1
  459. package/dist/types/src/components/Plank/Plank.d.ts +0 -27
  460. package/dist/types/src/components/Plank/Plank.d.ts.map +0 -1
  461. package/dist/types/src/components/Plank/Plank.stories.d.ts +0 -8
  462. package/dist/types/src/components/Plank/Plank.stories.d.ts.map +0 -1
  463. package/dist/types/src/components/Plank/PlankControls.d.ts.map +0 -1
  464. package/dist/types/src/components/Plank/PlankError.d.ts +0 -13
  465. package/dist/types/src/components/Plank/PlankError.d.ts.map +0 -1
  466. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +0 -1
  467. package/dist/types/src/components/Plank/index.d.ts +0 -6
  468. package/dist/types/src/components/Plank/index.d.ts.map +0 -1
  469. package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +0 -1
  470. package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +0 -1
  471. package/dist/types/src/components/Sidebar/SidebarButton.d.ts.map +0 -1
  472. package/dist/types/src/components/fragments.d.ts +0 -4
  473. package/dist/types/src/components/fragments.d.ts.map +0 -1
  474. package/dist/types/src/events.d.ts +0 -4
  475. package/dist/types/src/events.d.ts.map +0 -1
  476. package/dist/types/src/types.d.ts.map +0 -1
  477. package/dist/types/src/util/overscroll.d.ts +0 -47
  478. package/dist/types/src/util/overscroll.d.ts.map +0 -1
  479. package/src/capabilities/capabilities.ts +0 -14
  480. package/src/capabilities/intent-resolver.ts +0 -468
  481. package/src/components/DeckLayout/Banner.tsx +0 -39
  482. package/src/components/DeckLayout/ContentEmpty.tsx +0 -31
  483. package/src/components/DeckLayout/DeckLayout.tsx +0 -301
  484. package/src/components/DeckLayout/Dialog.tsx +0 -36
  485. package/src/components/DeckLayout/Fallback.tsx +0 -28
  486. package/src/components/DeckLayout/Popover.tsx +0 -104
  487. package/src/components/DeckLayout/Topbar.tsx +0 -11
  488. package/src/components/Plank/Plank.stories.tsx +0 -55
  489. package/src/components/Plank/Plank.tsx +0 -266
  490. package/src/components/Plank/PlankError.tsx +0 -51
  491. package/src/components/Sidebar/ComplementarySidebar.tsx +0 -193
  492. package/src/components/Sidebar/Sidebar.tsx +0 -42
  493. package/src/components/Sidebar/SidebarButton.tsx +0 -87
  494. package/src/components/fragments.ts +0 -14
  495. package/src/events.ts +0 -11
  496. package/src/util/overscroll.ts +0 -69
  497. /package/dist/lib/browser/{state-ZTYWMORZ.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  498. /package/dist/lib/browser/{types.mjs.map → types/index.mjs.map} +0 -0
  499. /package/dist/lib/node-esm/{state-DUK6WFDX.mjs.map → chunk-HSLMI22Q.mjs.map} +0 -0
  500. /package/dist/lib/node-esm/{types.mjs.map → types/index.mjs.map} +0 -0
  501. /package/dist/types/src/{components/DeckLayout → containers/Deck}/Banner.d.ts +0 -0
  502. /package/dist/types/src/{components/DeckLayout → containers/Deck}/StatusBar.d.ts +0 -0
  503. /package/dist/types/src/{components → containers}/DeckLayout/ActiveNode.d.ts +0 -0
  504. /package/dist/types/src/{components → containers}/DeckLayout/Dialog.d.ts +0 -0
  505. /package/dist/types/src/{components → containers}/DeckLayout/constants.d.ts +0 -0
  506. /package/dist/types/src/{components → containers}/Plank/PlankLoading.d.ts +0 -0
  507. /package/dist/types/src/{components → containers}/Sidebar/ComplementarySidebar.d.ts +0 -0
  508. /package/dist/types/src/{components → containers}/Sidebar/Sidebar.d.ts +0 -0
  509. /package/dist/types/src/{components → containers}/Sidebar/SidebarButton.d.ts +0 -0
  510. /package/dist/types/src/{components → containers}/Sidebar/index.d.ts +0 -0
  511. /package/src/{components → containers}/Sidebar/index.ts +0 -0
@@ -1,59 +1,96 @@
1
- import { Schema } from 'effect';
1
+ import * as Schema from 'effect/Schema';
2
2
  import { type DeepReadonly } from '@dxos/util';
3
- export { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
4
- export declare const PLANK_COMPANION_TYPE = "dxos.org/plugin/deck/plank-companion";
5
- export declare const DECK_COMPANION_TYPE = "dxos.org/plugin/deck/deck-companion";
6
- export declare const NewPlankPositions: readonly ["start", "end"];
7
- export type NewPlankPositioning = (typeof NewPlankPositions)[number];
8
- export declare const OverscrollOptions: readonly ["none", "centering"];
9
- export type Overscroll = (typeof OverscrollOptions)[number];
10
- export type Part = 'solo' | 'deck' | 'complementary';
3
+ export * as Settings from './Settings';
4
+ export { PLANK_COMPANION_TYPE, DECK_COMPANION_TYPE } from '@dxos/app-toolkit';
5
+ export type Part = 'solo' | 'multi' | 'complementary';
11
6
  export type ResolvedPart = Part | 'solo-primary' | 'solo-companion';
12
- export declare const DeckSettingsSchema: Schema.mutable<Schema.Struct<{
13
- showHints: Schema.optional<typeof Schema.Boolean>;
14
- enableDeck: Schema.optional<typeof Schema.Boolean>;
15
- enableStatusbar: Schema.optional<typeof Schema.Boolean>;
16
- enableNativeRedirect: Schema.optional<typeof Schema.Boolean>;
17
- newPlankPositioning: Schema.optional<Schema.Literal<["start", "end"]>>;
18
- overscroll: Schema.optional<Schema.Literal<["none", "centering"]>>;
19
- }>>;
20
- export type DeckSettingsProps = Schema.Schema.Type<typeof DeckSettingsSchema>;
21
7
  export declare const PlankSizing: Schema.Record$<typeof Schema.String, typeof Schema.Number>;
22
8
  export type PlankSizing = Schema.Schema.Type<typeof PlankSizing>;
23
9
  export declare const DeckState: Schema.Struct<{
24
10
  /** If false, the deck has not yet left solo mode and new planks should be soloed. */
25
11
  initialized: typeof Schema.Boolean;
12
+ /** Item IDs of planks currently displayed in multi-mode. */
26
13
  active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
27
- activeCompanions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
14
+ /** Item IDs of planks that have been closed; used for state persistence and reopening. */
28
15
  inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
16
+ /** Item ID of the single plank displayed in solo or fullscreen mode. */
29
17
  solo: Schema.optional<typeof Schema.String>;
18
+ /** Whether the solo plank is displayed in fullscreen mode (no heading or sidebars). */
30
19
  fullscreen: typeof Schema.Boolean;
20
+ /** Persisted plank widths in rem, keyed by item ID. */
31
21
  plankSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
22
+ /** Whether the companion pane is visible alongside the active plank(s). */
23
+ companionOpen: typeof Schema.Boolean;
24
+ /** Which companion variant to display when the companion pane is open. */
25
+ companionVariant: Schema.optional<typeof Schema.String>;
26
+ /** Persisted companion frame widths in rem, keyed by frame ID. */
32
27
  companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
33
28
  }>;
34
29
  export type DeckState = Schema.Schema.Type<typeof DeckState>;
35
30
  export declare const defaultDeck: DeckState;
36
- declare const LayoutMode: Schema.Literal<["deck", "solo", "solo--fullscreen"]>;
31
+ declare const LayoutMode: Schema.Literal<["multi", "solo", "solo--fullscreen"]>;
37
32
  export type LayoutMode = Schema.Schema.Type<typeof LayoutMode>;
38
33
  export declare const isLayoutMode: (value: any) => value is LayoutMode;
39
34
  export declare const getMode: (deck: DeckState | DeepReadonly<DeckState>) => LayoutMode;
40
- export declare const DeckPluginState: Schema.mutable<Schema.Struct<{
35
+ export declare const StoredDeckState: Schema.mutable<Schema.Struct<{
41
36
  sidebarState: Schema.Literal<["closed", "collapsed", "expanded"]>;
42
37
  complementarySidebarState: Schema.Literal<["closed", "collapsed", "expanded"]>;
43
38
  complementarySidebarPanel: Schema.optional<typeof Schema.String>;
39
+ activeDeck: typeof Schema.String;
40
+ previousDeck: typeof Schema.String;
41
+ decks: Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
42
+ /** If false, the deck has not yet left solo mode and new planks should be soloed. */
43
+ initialized: typeof Schema.Boolean;
44
+ /** Item IDs of planks currently displayed in multi-mode. */
45
+ active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
46
+ /** Item IDs of planks that have been closed; used for state persistence and reopening. */
47
+ inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
48
+ /** Item ID of the single plank displayed in solo or fullscreen mode. */
49
+ solo: Schema.optional<typeof Schema.String>;
50
+ /** Whether the solo plank is displayed in fullscreen mode (no heading or sidebars). */
51
+ fullscreen: typeof Schema.Boolean;
52
+ /** Persisted plank widths in rem, keyed by item ID. */
53
+ plankSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
54
+ /** Whether the companion pane is visible alongside the active plank(s). */
55
+ companionOpen: typeof Schema.Boolean;
56
+ /** Which companion variant to display when the companion pane is open. */
57
+ companionVariant: Schema.optional<typeof Schema.String>;
58
+ /** Persisted companion frame widths in rem, keyed by frame ID. */
59
+ companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
60
+ }>>>>;
61
+ previousMode: Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Literal<["multi", "solo", "solo--fullscreen"]>>>;
62
+ }>>;
63
+ export type StoredDeckState = Schema.Schema.Type<typeof StoredDeckState>;
64
+ export declare const EphemeralDeckState: Schema.mutable<Schema.Struct<{
44
65
  dialogOpen: typeof Schema.Boolean;
45
66
  dialogType: Schema.optional<Schema.Literal<["default", "alert"]>>;
46
67
  dialogBlockAlign: Schema.optional<Schema.Literal<["start", "center", "end"]>>;
47
68
  dialogOverlayClasses: Schema.optional<typeof Schema.String>;
48
69
  dialogOverlayStyle: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
49
70
  /** Data to be passed to the dialog Surface. */
50
- dialogContent: Schema.optional<typeof Schema.Any>;
71
+ dialogContent: Schema.NullOr<Schema.Struct<{
72
+ component: typeof Schema.String;
73
+ props: Schema.optional<typeof Schema.Any>;
74
+ }>>;
51
75
  popoverOpen: typeof Schema.Boolean;
52
76
  popoverSide: Schema.optional<Schema.Literal<["top", "right", "bottom", "left"]>>;
53
77
  popoverAnchor: Schema.optional<typeof Schema.Any>;
54
78
  popoverAnchorId: Schema.optional<typeof Schema.String>;
79
+ popoverKind: Schema.optional<Schema.Literal<["base", "card"]>>;
80
+ popoverTitle: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
81
+ ns: typeof Schema.String;
82
+ count: Schema.optional<typeof Schema.Number>;
83
+ defaultValue: Schema.optional<typeof Schema.String>;
84
+ }>>>>]>>;
85
+ /** Ref of the subject to be passed to the popover Surface. */
86
+ popoverContentRef: Schema.optional<typeof Schema.String>;
55
87
  /** Data to be passed to the popover Surface. */
56
- popoverContent: Schema.optional<typeof Schema.Any>;
88
+ popoverContent: Schema.NullOr<Schema.Union<[Schema.Struct<{
89
+ component: typeof Schema.String;
90
+ props: Schema.optional<typeof Schema.Any>;
91
+ }>, Schema.Struct<{
92
+ subject: typeof Schema.Any;
93
+ }>]>>;
57
94
  toasts: Schema.mutable<Schema.Array$<Schema.Struct<{
58
95
  id: Schema.SchemaClass<string, string, never>;
59
96
  title: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
@@ -86,36 +123,11 @@ export declare const DeckPluginState: Schema.mutable<Schema.Struct<{
86
123
  onAction: Schema.optional<Schema.SchemaClass<any, any, never>>;
87
124
  }>>>;
88
125
  currentUndoId: Schema.optional<typeof Schema.String>;
89
- activeDeck: typeof Schema.String;
90
- previousDeck: typeof Schema.String;
91
- decks: Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
92
- /** If false, the deck has not yet left solo mode and new planks should be soloed. */
93
- initialized: typeof Schema.Boolean;
94
- active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
95
- activeCompanions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
96
- inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
97
- solo: Schema.optional<typeof Schema.String>;
98
- fullscreen: typeof Schema.Boolean;
99
- plankSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
100
- companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
101
- }>>>>;
102
- previousMode: Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Literal<["deck", "solo", "solo--fullscreen"]>>>;
103
- deck: Schema.mutable<Schema.Struct<{
104
- /** If false, the deck has not yet left solo mode and new planks should be soloed. */
105
- initialized: typeof Schema.Boolean;
106
- active: Schema.mutable<Schema.Array$<typeof Schema.String>>;
107
- activeCompanions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.String>>>;
108
- inactive: Schema.mutable<Schema.Array$<typeof Schema.String>>;
109
- solo: Schema.optional<typeof Schema.String>;
110
- fullscreen: typeof Schema.Boolean;
111
- plankSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
112
- companionFrameSizing: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
113
- }>>;
114
126
  /** The identifier of a component to scroll into view when it is mounted. */
115
127
  scrollIntoView: Schema.optional<typeof Schema.String>;
116
128
  }>>;
117
- export type DeckPluginState = Schema.Schema.Type<typeof DeckPluginState>;
118
- export declare const DECK_ACTION: string;
129
+ export type EphemeralDeckState = Schema.Schema.Type<typeof EphemeralDeckState>;
130
+ export type DeckPluginState = StoredDeckState & EphemeralDeckState;
119
131
  export declare namespace DeckAction {
120
132
  const PartAdjustmentSchema: Schema.Union<[Schema.Literal<["close"]>, Schema.Literal<["companion"]>, Schema.Literal<["solo"]>, Schema.Literal<["solo--fullscreen"]>, Schema.Literal<["increment-start"]>, Schema.Literal<["increment-end"]>]>;
121
133
  export type PartAdjustment = Schema.Schema.Type<typeof PartAdjustmentSchema>;
@@ -124,8 +136,8 @@ export declare namespace DeckAction {
124
136
  type: Schema.Union<[Schema.Literal<["close"]>, Schema.Literal<["companion"]>, Schema.Literal<["solo"]>, Schema.Literal<["solo--fullscreen"]>, Schema.Literal<["increment-start"]>, Schema.Literal<["increment-end"]>]>;
125
137
  }>>;
126
138
  export type Adjustment = Schema.Schema.Type<typeof Adjustment>;
127
- const Adjust_base: Schema.TaggedClass<Adjust, `${string}/adjust`, {
128
- readonly _tag: Schema.tag<`${string}/adjust`>;
139
+ const Adjust_base: Schema.TaggedClass<Adjust, `${string}.action.adjust`, {
140
+ readonly _tag: Schema.tag<`${string}.action.adjust`>;
129
141
  } & {
130
142
  input: Schema.mutable<Schema.Struct<{
131
143
  id: typeof Schema.String;
@@ -135,8 +147,8 @@ export declare namespace DeckAction {
135
147
  }>;
136
148
  export class Adjust extends Adjust_base {
137
149
  }
138
- const UpdatePlankSize_base: Schema.TaggedClass<UpdatePlankSize, `${string}/update-plank-size`, {
139
- readonly _tag: Schema.tag<`${string}/update-plank-size`>;
150
+ const UpdatePlankSize_base: Schema.TaggedClass<UpdatePlankSize, `${string}.action.update-plank-size`, {
151
+ readonly _tag: Schema.tag<`${string}.action.update-plank-size`>;
140
152
  } & {
141
153
  input: Schema.Struct<{
142
154
  id: typeof Schema.String;
@@ -146,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}/change-companion`, {
150
- readonly _tag: Schema.tag<`${string}/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;
@@ -159,4 +170,4 @@ export declare namespace DeckAction {
159
170
  }
160
171
  export {};
161
172
  }
162
- //# sourceMappingURL=types.d.ts.map
173
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEpE,eAAO,MAAM,WAAW,4DAA8D,CAAC;AACvF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAEjE,eAAO,MAAM,SAAS;IACpB,qFAAqF;;IAErF,4DAA4D;;IAE5D,0FAA0F;;IAE1F,wEAAwE;;IAExE,uFAAuF;;IAEvF,uDAAuD;;IAEvD,2EAA2E;;IAE3E,0EAA0E;;IAE1E,kEAAkE;;EAElE,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7D,eAAO,MAAM,WAAW,EAAE,SAUzB,CAAC;AAMF,QAAA,MAAM,UAAU,uDAAsD,CAAC;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAC/D,eAAO,MAAM,YAAY,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":""}