@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,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/layout.ts", "../../../src/util/set-active.ts", "../../../src/util/layoutAppliesTopbar.ts", "../../../src/util/overscroll.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { produce } from 'immer';\n\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\n\nimport { type DeckAction, type NewPlankPositioning } from './types';\n\nexport const createEntryId = (entryId: string, variant?: string) =>\n variant ? `${entryId}${ATTENDABLE_PATH_SEPARATOR}${variant}` : entryId;\n\nexport const parseEntryId = (entryId: string) => {\n const [id, variant] = entryId.split(ATTENDABLE_PATH_SEPARATOR);\n return { id, variant };\n};\n\ntype OpenLayoutEntryOptions = {\n key?: string;\n positioning?: NewPlankPositioning;\n pivotId?: string;\n variant?: string;\n};\n\nexport const openEntry = (deck: string[], _entryId: string, options?: OpenLayoutEntryOptions): string[] => {\n return produce(deck, (draft) => {\n const entryId = createEntryId(_entryId, options?.variant);\n\n // Check that the entry is not already in the part\n if (draft.find((id) => id === entryId)) {\n return;\n }\n\n const key = options?.key;\n const plankPositioning = options?.positioning ?? 'start';\n const pivotId = options?.pivotId;\n\n if (key) {\n const index = draft.findIndex((id) => id.split('+')[0] === key);\n if (index !== -1) {\n draft.splice(index, 1, entryId);\n return;\n }\n }\n\n if (pivotId) {\n const pivotIndex = draft.findIndex((id) => id === pivotId);\n if (pivotIndex !== -1) {\n if (plankPositioning === 'start') {\n draft.splice(pivotIndex, 0, entryId);\n } else {\n draft.splice(pivotIndex + 1, 0, entryId);\n }\n return;\n }\n }\n\n // If no pivot found or provided, fall back to original behavior\n if (plankPositioning === 'start') {\n draft.unshift(entryId);\n } else {\n draft.push(entryId);\n }\n });\n};\n\nexport const closeEntry = (deck: string[], entryId: string): string[] => {\n return produce(deck, (draft) => {\n const index = draft.findIndex((id) => id === entryId);\n if (index !== -1) {\n draft.splice(index, 1);\n }\n });\n};\n\nexport const incrementPlank = (deck: string[], adjustment: DeckAction.Adjustment): string[] => {\n return produce(deck, (draft) => {\n const index = draft.findIndex((id) => id === adjustment.id);\n if (\n index === -1 ||\n (adjustment.type === 'increment-start' && index === 0) ||\n (adjustment.type === 'increment-end' && index === draft.length - 1)\n ) {\n return;\n }\n\n if (adjustment.type === 'increment-start') {\n // Swap the current item with the previous item.\n [draft[index - 1], draft[index]] = [draft[index], draft[index - 1]];\n } else if (adjustment.type === 'increment-end') {\n // Swap the current item with the next item.\n [draft[index], draft[index + 1]] = [draft[index + 1], draft[index]];\n }\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { batch } from '@preact/signals-core';\n\nimport { type AttentionManager } from '@dxos/plugin-attention';\n\nimport { type DeckPluginState } from '../types';\n\nexport type SetActiveOptions = {\n next: string[];\n state: DeckPluginState;\n attention?: AttentionManager;\n};\n\nexport const setActive = ({ next, state, attention }: SetActiveOptions) => {\n return batch(() => {\n const active = state.deck.solo ? [state.deck.solo] : state.deck.active;\n const removed = active.filter((id) => !next.includes(id));\n const closed = Array.from(new Set([...state.deck.inactive.filter((id) => !next.includes(id)), ...removed]));\n\n state.deck.inactive = closed;\n\n if (state.deck.solo || !state.deck.initialized) {\n state.deck.solo = next[0];\n } else {\n state.deck.active = next;\n }\n\n if (state.deck.fullscreen && !state.deck.solo) {\n state.deck.fullscreen = false;\n }\n\n if (attention) {\n const attended = attention.current;\n const [attendedId] = Array.from(attended);\n const isAttendedAvailable = !!attendedId && next.includes(attendedId);\n if (!isAttendedAvailable) {\n const attendedIndex = active.indexOf(attendedId);\n // If outside of bounds, focus on the first/last plank, otherwise focus on the new plank in the same position.\n const index = attendedIndex === -1 ? 0 : attendedIndex >= next.length ? next.length - 1 : attendedIndex;\n return next[index];\n }\n }\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type LayoutMode } from '../types';\n\nexport const layoutAppliesTopbar = (breakpoint: string, layoutMode?: LayoutMode) => {\n return (\n document.body.getAttribute('data-platform') === 'win' &&\n breakpoint === 'desktop' &&\n layoutMode !== 'solo--fullscreen'\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { CSSProperties } from 'react';\n\n/**\n * ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐\n * | Overscroll Padding Calculation for Centering Planks on Screen. │\n * ├────────────────────────────────────────────────────────────────────────────────────────────────────┤\n * │ NOTE(Zan): I found the way you calculate the overscroll padding to center a plank on the screen │\n * │ at the edges of the scroll context a bit confusing, so I've diagrammed it here. │\n * │ │\n * │ Multiple Planks: │\n * │ ─────────────── │\n * | Use the following overscroll padding calculation centering the boundary planks on the SCREEN. │\n * │ │\n * │ Left Padding: Right Padding: │\n * │ ┌───┬────┬──────────────────┬──────┐ ┌──────┬──────────────────┬────┬───┐ │\n * │ │ │████│ Ideal │ │ │ │ Ideal │████│ │ │\n * │ │ S │█PL█│ first │ │ │ │ last │█PR█│ C │ │\n * │ │ │████│ plank │ │ │ │ plank │████│ │ │\n * │ └───┴────┴──────────────────┴──────┘ └──────┴──────────────────┴────┴───┘ │\n * │ <--------- screen width -----------> <---------- screen width ----------> │\n * │ │\n * │ PL = ((screen width - Plank Width) / 2) - S │\n * │ PR = ((screen width - Plank Width) / 2) - C │\n * │ │\n * │ S = Sidebar width C = Complementary sidebar width │\n * │ PL = Padding Left PR = Padding Right │\n * │ │\n * │ Single Plank: │\n * │ ───────────── │\n * │ For a single plank we use the following overscroll padding calculation to center the plank in │\n * │ the content area: │\n * │ │\n * │ ┌───┬───────────────────────┬───┬───────────────────────┬───┐ │\n * │ │ │███████████████████████│ │███████████████████████│ │ │\n * │ │ S │█████ Left Padding ████│ P │████ Right Padding ████│ C │ │\n * │ │ │███████████████████████│ │███████████████████████│ │ │\n * │ └───┴───────────────────────┴───┴───────────────────────┴───┘ │\n * │ <------------------------ screen width ---------------------> │\n * │ │\n * │ Left/Right Padding Width = (screen width - S - P - C) / 2 │\n * │ │\n * │ S = Sidebar width (may be 0) │\n * │ P = Plank width (centered) │\n * │ C = Complementary sidebar width (may be 0) │\n * └────────────────────────────────────────────────────────────────────────────────────────────────────┘\n */\nexport const calculateOverscroll = (\n planksCount: number,\n): Pick<CSSProperties, 'paddingInlineStart' | 'paddingInlineEnd'> | undefined => {\n if (!planksCount) {\n return { paddingInlineStart: 0, paddingInlineEnd: 0 };\n }\n if (planksCount === 1) {\n const overscrollPadding =\n 'max(0px, calc(((100dvw - var(--dx-main-sidebarWidth) - var(--dx-main-complementaryWidth) - (var(--dx-main-contentFirstWidth) + 1px)) / 2)))';\n return { paddingInlineStart: overscrollPadding, paddingInlineEnd: overscrollPadding };\n } else {\n return {\n paddingInlineStart:\n 'max(0px, calc(((100dvw - (var(--dx-main-contentFirstWidth) + 1px)) / 2) - var(--dx-main-sidebarWidth)))',\n paddingInlineEnd:\n 'max(0px, calc(((100dvw - (var(--dx-main-contentLastWidth) + 1px)) / 2) - var(--dx-main-complementaryWidth)))',\n };\n }\n};\n"],
5
- "mappings": "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",
6
- "names": ["produce", "ATTENDABLE_PATH_SEPARATOR", "createEntryId", "entryId", "variant", "ATTENDABLE_PATH_SEPARATOR", "parseEntryId", "id", "split", "openEntry", "deck", "_entryId", "options", "produce", "draft", "find", "key", "plankPositioning", "positioning", "pivotId", "index", "findIndex", "splice", "pivotIndex", "unshift", "push", "closeEntry", "incrementPlank", "adjustment", "type", "length", "batch", "setActive", "next", "state", "attention", "batch", "active", "deck", "solo", "removed", "filter", "id", "includes", "closed", "Array", "from", "Set", "inactive", "initialized", "fullscreen", "attended", "current", "attendedId", "isAttendedAvailable", "attendedIndex", "indexOf", "index", "length", "layoutAppliesTopbar", "breakpoint", "layoutMode", "document", "body", "getAttribute", "calculateOverscroll", "planksCount", "paddingInlineStart", "paddingInlineEnd", "overscrollPadding"]
7
- }
@@ -1,162 +0,0 @@
1
- import {
2
- meta
3
- } from "./chunk-UXLU6CMW.mjs";
4
-
5
- // src/types/schema.ts
6
- import * as Schema from "effect/Schema";
7
- import { LayoutAction } from "@dxos/app-framework";
8
- import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
9
- var PLANK_COMPANION_TYPE = `${meta.id}/plank-companion`;
10
- var DECK_COMPANION_TYPE = `${meta.id}/deck-companion`;
11
- var NewPlankPositions = [
12
- "start",
13
- "end"
14
- ];
15
- var OverscrollOptions = [
16
- "none",
17
- "centering"
18
- ];
19
- var DeckSettingsSchema = Schema.Struct({
20
- showHints: Schema.optional(Schema.Boolean),
21
- enableDeck: Schema.optional(Schema.Boolean),
22
- enableStatusbar: Schema.optional(Schema.Boolean),
23
- enableNativeRedirect: Schema.optional(Schema.Boolean),
24
- newPlankPositioning: Schema.optional(Schema.Literal(...NewPlankPositions)),
25
- overscroll: Schema.optional(Schema.Literal(...OverscrollOptions)),
26
- // TODO(burdon): Rename layoutMode? (e.g., bento | encapsulated?)
27
- encapsulatedPlanks: Schema.optional(Schema.Boolean)
28
- }).pipe(Schema.mutable);
29
- var PlankSizing = Schema.Record({
30
- key: Schema.String,
31
- value: Schema.Number
32
- });
33
- var DeckState = Schema.Struct({
34
- /** If false, the deck has not yet left solo mode and new planks should be soloed. */
35
- initialized: Schema.Boolean,
36
- active: Schema.mutable(Schema.Array(Schema.String)),
37
- // TODO(wittjosiah): Piping into both mutable and optional caused invalid typescript output.
38
- activeCompanions: Schema.optional(Schema.mutable(Schema.Record({
39
- key: Schema.String,
40
- value: Schema.String
41
- }))),
42
- inactive: Schema.mutable(Schema.Array(Schema.String)),
43
- solo: Schema.optional(Schema.String),
44
- fullscreen: Schema.Boolean,
45
- plankSizing: Schema.mutable(PlankSizing),
46
- companionFrameSizing: Schema.mutable(PlankSizing)
47
- });
48
- var defaultDeck = {
49
- initialized: false,
50
- active: [],
51
- activeCompanions: {},
52
- inactive: [],
53
- solo: void 0,
54
- fullscreen: false,
55
- plankSizing: {},
56
- companionFrameSizing: {}
57
- };
58
- var LayoutMode = Schema.Literal("deck", "solo", "solo--fullscreen");
59
- var isLayoutMode = (value) => Schema.is(LayoutMode)(value);
60
- var getMode = (deck) => {
61
- if (deck.solo) {
62
- return deck.fullscreen ? "solo--fullscreen" : "solo";
63
- }
64
- return "deck";
65
- };
66
- var DeckPluginState = Schema.Struct({
67
- sidebarState: Schema.Literal("closed", "collapsed", "expanded"),
68
- complementarySidebarState: Schema.Literal("closed", "collapsed", "expanded"),
69
- complementarySidebarPanel: Schema.optional(Schema.String),
70
- dialogOpen: Schema.Boolean,
71
- dialogType: Schema.optional(Schema.Literal("default", "alert")),
72
- dialogBlockAlign: Schema.optional(Schema.Literal("start", "center", "end")),
73
- dialogOverlayClasses: Schema.optional(Schema.String),
74
- dialogOverlayStyle: Schema.optional(Schema.Record({
75
- key: Schema.String,
76
- value: Schema.Any
77
- })),
78
- /** Data to be passed to the dialog Surface. */
79
- dialogContent: Schema.optional(Schema.Any),
80
- popoverOpen: Schema.Boolean,
81
- popoverSide: Schema.optional(Schema.Literal("top", "right", "bottom", "left")),
82
- popoverAnchor: Schema.optional(Schema.Any),
83
- popoverAnchorId: Schema.optional(Schema.String),
84
- /** Data to be passed to the popover Surface. */
85
- popoverContent: Schema.optional(Schema.Any),
86
- toasts: Schema.mutable(Schema.Array(LayoutAction.Toast)),
87
- currentUndoId: Schema.optional(Schema.String),
88
- activeDeck: Schema.String,
89
- previousDeck: Schema.String,
90
- decks: Schema.mutable(Schema.Record({
91
- key: Schema.String,
92
- value: Schema.mutable(DeckState)
93
- })),
94
- previousMode: Schema.mutable(Schema.Record({
95
- key: Schema.String,
96
- value: LayoutMode
97
- })),
98
- deck: Schema.mutable(DeckState),
99
- /** The identifier of a component to scroll into view when it is mounted. */
100
- scrollIntoView: Schema.optional(Schema.String)
101
- }).pipe(Schema.mutable);
102
- (function(DeckAction2) {
103
- const PartAdjustmentSchema = Schema.Union(Schema.Literal("close").annotations({
104
- description: "Close the plank."
105
- }), Schema.Literal("companion").annotations({
106
- description: "Open the companion plank."
107
- }), Schema.Literal("solo").annotations({
108
- description: "Solo the plank."
109
- }), Schema.Literal("solo--fullscreen").annotations({
110
- description: "Fullscreen the plank."
111
- }), Schema.Literal("increment-start").annotations({
112
- description: "Move the plank towards the start of the deck."
113
- }), Schema.Literal("increment-end").annotations({
114
- description: "Move the plank towards the end of the deck."
115
- }));
116
- DeckAction2.Adjustment = Schema.mutable(Schema.Struct({
117
- id: Schema.String,
118
- type: PartAdjustmentSchema
119
- }));
120
- class Adjust extends Schema.TaggedClass()(`${meta.id}/action/adjust`, {
121
- input: DeckAction2.Adjustment,
122
- output: Schema.Void
123
- }) {
124
- }
125
- DeckAction2.Adjust = Adjust;
126
- class UpdatePlankSize extends Schema.TaggedClass()(`${meta.id}/action/update-plank-size`, {
127
- input: Schema.Struct({
128
- id: Schema.String,
129
- size: Schema.Number
130
- }),
131
- output: Schema.Void
132
- }) {
133
- }
134
- DeckAction2.UpdatePlankSize = UpdatePlankSize;
135
- class ChangeCompanion extends Schema.TaggedClass()(`${meta.id}/action/change-companion`, {
136
- input: Schema.Struct({
137
- primary: Schema.String,
138
- companion: Schema.Union(Schema.String, Schema.Null)
139
- }),
140
- output: Schema.Void
141
- }) {
142
- }
143
- DeckAction2.ChangeCompanion = ChangeCompanion;
144
- })(DeckAction || (DeckAction = {}));
145
- var DeckAction;
146
-
147
- export {
148
- PLANK_COMPANION_TYPE,
149
- DECK_COMPANION_TYPE,
150
- NewPlankPositions,
151
- OverscrollOptions,
152
- DeckSettingsSchema,
153
- PlankSizing,
154
- DeckState,
155
- defaultDeck,
156
- isLayoutMode,
157
- getMode,
158
- DeckPluginState,
159
- DeckAction,
160
- ATTENDABLE_PATH_SEPARATOR
161
- };
162
- //# sourceMappingURL=chunk-F3VCCHVL.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/schema.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { LayoutAction } from '@dxos/app-framework';\nimport { type DeepReadonly } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nexport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\n\nexport const PLANK_COMPANION_TYPE = `${meta.id}/plank-companion`;\nexport const DECK_COMPANION_TYPE = `${meta.id}/deck-companion`;\n\n// TODO(Zan): In the future we should consider adding new planks adjacent to the attended plank.\nexport const NewPlankPositions = ['start', 'end'] as const;\nexport type NewPlankPositioning = (typeof NewPlankPositions)[number];\n\nexport const OverscrollOptions = ['none', 'centering'] as const;\nexport type Overscroll = (typeof OverscrollOptions)[number];\n\nexport type Part = 'solo' | 'deck' | 'complementary';\nexport type ResolvedPart = Part | 'solo-primary' | 'solo-companion';\n\nexport const DeckSettingsSchema = Schema.Struct({\n showHints: Schema.optional(Schema.Boolean),\n enableDeck: Schema.optional(Schema.Boolean),\n enableStatusbar: Schema.optional(Schema.Boolean),\n enableNativeRedirect: Schema.optional(Schema.Boolean),\n newPlankPositioning: Schema.optional(Schema.Literal(...NewPlankPositions)),\n overscroll: Schema.optional(Schema.Literal(...OverscrollOptions)),\n // TODO(burdon): Rename layoutMode? (e.g., bento | encapsulated?)\n encapsulatedPlanks: Schema.optional(Schema.Boolean),\n}).pipe(Schema.mutable);\nexport type DeckSettingsProps = Schema.Schema.Type<typeof DeckSettingsSchema>;\n\nexport const PlankSizing = Schema.Record({ key: Schema.String, value: Schema.Number });\nexport type PlankSizing = Schema.Schema.Type<typeof PlankSizing>;\n\n// State of an individual deck.\nexport const DeckState = Schema.Struct({\n /** If false, the deck has not yet left solo mode and new planks should be soloed. */\n initialized: Schema.Boolean,\n active: Schema.mutable(Schema.Array(Schema.String)),\n // TODO(wittjosiah): Piping into both mutable and optional caused invalid typescript output.\n activeCompanions: Schema.optional(Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.String }))),\n inactive: Schema.mutable(Schema.Array(Schema.String)),\n solo: Schema.optional(Schema.String),\n fullscreen: Schema.Boolean,\n plankSizing: Schema.mutable(PlankSizing),\n companionFrameSizing: Schema.mutable(PlankSizing),\n});\nexport type DeckState = Schema.Schema.Type<typeof DeckState>;\n\nexport const defaultDeck: DeckState = {\n initialized: false,\n active: [],\n activeCompanions: {},\n inactive: [],\n solo: undefined,\n fullscreen: false,\n plankSizing: {},\n companionFrameSizing: {},\n};\n\nconst LayoutMode = Schema.Literal('deck', 'solo', 'solo--fullscreen');\nexport type LayoutMode = Schema.Schema.Type<typeof LayoutMode>;\nexport const isLayoutMode = (value: any): value is LayoutMode => Schema.is(LayoutMode)(value);\n\nexport const getMode = (deck: DeckState | DeepReadonly<DeckState>): LayoutMode => {\n if (deck.solo) {\n return deck.fullscreen ? 'solo--fullscreen' : 'solo';\n }\n\n return 'deck';\n};\n\n// State of the deck plugin.\nexport const DeckPluginState = Schema.Struct({\n sidebarState: Schema.Literal('closed', 'collapsed', 'expanded'),\n complementarySidebarState: Schema.Literal('closed', 'collapsed', 'expanded'),\n complementarySidebarPanel: Schema.optional(Schema.String),\n\n dialogOpen: Schema.Boolean,\n dialogType: Schema.optional(Schema.Literal('default', 'alert')),\n dialogBlockAlign: Schema.optional(Schema.Literal('start', 'center', 'end')),\n dialogOverlayClasses: Schema.optional(Schema.String),\n dialogOverlayStyle: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n /** Data to be passed to the dialog Surface. */\n dialogContent: Schema.optional(Schema.Any),\n\n popoverOpen: Schema.Boolean,\n popoverSide: Schema.optional(Schema.Literal('top', 'right', 'bottom', 'left')),\n popoverAnchor: Schema.optional(Schema.Any),\n popoverAnchorId: Schema.optional(Schema.String),\n /** Data to be passed to the popover Surface. */\n popoverContent: Schema.optional(Schema.Any),\n\n toasts: Schema.mutable(Schema.Array(LayoutAction.Toast)),\n currentUndoId: Schema.optional(Schema.String),\n\n activeDeck: Schema.String,\n previousDeck: Schema.String,\n decks: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(DeckState) })),\n previousMode: Schema.mutable(Schema.Record({ key: Schema.String, value: LayoutMode })),\n deck: Schema.mutable(DeckState),\n\n /** The identifier of a component to scroll into view when it is mounted. */\n scrollIntoView: Schema.optional(Schema.String),\n}).pipe(Schema.mutable);\n\nexport type DeckPluginState = Schema.Schema.Type<typeof DeckPluginState>;\n\nexport namespace DeckAction {\n const PartAdjustmentSchema = Schema.Union(\n Schema.Literal('close').annotations({ description: 'Close the plank.' }),\n Schema.Literal('companion').annotations({ description: 'Open the companion plank.' }),\n Schema.Literal('solo').annotations({ description: 'Solo the plank.' }),\n Schema.Literal('solo--fullscreen').annotations({ description: 'Fullscreen the plank.' }),\n Schema.Literal('increment-start').annotations({ description: 'Move the plank towards the start of the deck.' }),\n Schema.Literal('increment-end').annotations({ description: 'Move the plank towards the end of the deck.' }),\n );\n export type PartAdjustment = Schema.Schema.Type<typeof PartAdjustmentSchema>;\n export const Adjustment = Schema.mutable(Schema.Struct({ id: Schema.String, type: PartAdjustmentSchema }));\n export type Adjustment = Schema.Schema.Type<typeof Adjustment>;\n\n // An atomic transaction to apply to the deck, describing which element to move to which location.\n export class Adjust extends Schema.TaggedClass<Adjust>()(`${meta.id}/action/adjust`, {\n input: Adjustment,\n output: Schema.Void,\n }) {}\n\n export class UpdatePlankSize extends Schema.TaggedClass<UpdatePlankSize>()(`${meta.id}/action/update-plank-size`, {\n input: Schema.Struct({\n id: Schema.String,\n size: Schema.Number,\n }),\n output: Schema.Void,\n }) {}\n\n export class ChangeCompanion extends Schema.TaggedClass<ChangeCompanion>()(`${meta.id}/action/change-companion`, {\n input: Schema.Struct({\n primary: Schema.String,\n companion: Schema.Union(Schema.String, Schema.Null),\n }),\n output: Schema.Void,\n }) {}\n}\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,oBAAoB;AAK7B,SAASC,iCAAiC;AAEnC,IAAMC,uBAAuB,GAAGC,KAAKC,EAAE;AACvC,IAAMC,sBAAsB,GAAGF,KAAKC,EAAE;AAGtC,IAAME,oBAAoB;EAAC;EAAS;;AAGpC,IAAMC,oBAAoB;EAAC;EAAQ;;AAMnC,IAAMC,qBAA4BC,cAAO;EAC9CC,WAAkBC,gBAAgBC,cAAO;EACzCC,YAAmBF,gBAAgBC,cAAO;EAC1CE,iBAAwBH,gBAAgBC,cAAO;EAC/CG,sBAA6BJ,gBAAgBC,cAAO;EACpDI,qBAA4BL,gBAAgBM,eAAO,GAAIX,iBAAAA,CAAAA;EACvDY,YAAmBP,gBAAgBM,eAAO,GAAIV,iBAAAA,CAAAA;;EAE9CY,oBAA2BR,gBAAgBC,cAAO;AACpD,CAAA,EAAGQ,KAAYC,cAAO;AAGf,IAAMC,cAAqBC,cAAO;EAAEC,KAAYC;EAAQC,OAAcC;AAAO,CAAA;AAI7E,IAAMC,YAAmBnB,cAAO;;EAErCoB,aAAoBjB;EACpBkB,QAAeT,eAAeU,aAAaN,aAAM,CAAA;;EAEjDO,kBAAyBrB,gBAAgBU,eAAeE,cAAO;IAAEC,KAAYC;IAAQC,OAAcD;EAAO,CAAA,CAAA,CAAA;EAC1GQ,UAAiBZ,eAAeU,aAAaN,aAAM,CAAA;EACnDS,MAAavB,gBAAgBc,aAAM;EACnCU,YAAmBvB;EACnBwB,aAAoBf,eAAQC,WAAAA;EAC5Be,sBAA6BhB,eAAQC,WAAAA;AACvC,CAAA;AAGO,IAAMgB,cAAyB;EACpCT,aAAa;EACbC,QAAQ,CAAA;EACRE,kBAAkB,CAAC;EACnBC,UAAU,CAAA;EACVC,MAAMK;EACNJ,YAAY;EACZC,aAAa,CAAC;EACdC,sBAAsB,CAAC;AACzB;AAEA,IAAMG,aAAoBvB,eAAQ,QAAQ,QAAQ,kBAAA;AAE3C,IAAMwB,eAAe,CAACf,UAA2CgB,UAAGF,UAAAA,EAAYd,KAAAA;AAEhF,IAAMiB,UAAU,CAACC,SAAAA;AACtB,MAAIA,KAAKV,MAAM;AACb,WAAOU,KAAKT,aAAa,qBAAqB;EAChD;AAEA,SAAO;AACT;AAGO,IAAMU,kBAAyBpC,cAAO;EAC3CqC,cAAqB7B,eAAQ,UAAU,aAAa,UAAA;EACpD8B,2BAAkC9B,eAAQ,UAAU,aAAa,UAAA;EACjE+B,2BAAkCrC,gBAAgBc,aAAM;EAExDwB,YAAmBrC;EACnBsC,YAAmBvC,gBAAgBM,eAAQ,WAAW,OAAA,CAAA;EACtDkC,kBAAyBxC,gBAAgBM,eAAQ,SAAS,UAAU,KAAA,CAAA;EACpEmC,sBAA6BzC,gBAAgBc,aAAM;EACnD4B,oBAA2B1C,gBAAgBY,cAAO;IAAEC,KAAYC;IAAQC,OAAc4B;EAAI,CAAA,CAAA;;EAE1FC,eAAsB5C,gBAAgB2C,UAAG;EAEzCE,aAAoB5C;EACpB6C,aAAoB9C,gBAAgBM,eAAQ,OAAO,SAAS,UAAU,MAAA,CAAA;EACtEyC,eAAsB/C,gBAAgB2C,UAAG;EACzCK,iBAAwBhD,gBAAgBc,aAAM;;EAE9CmC,gBAAuBjD,gBAAgB2C,UAAG;EAE1CO,QAAexC,eAAeU,aAAM+B,aAAaC,KAAK,CAAA;EACtDC,eAAsBrD,gBAAgBc,aAAM;EAE5CwC,YAAmBxC;EACnByC,cAAqBzC;EACrB0C,OAAc9C,eAAeE,cAAO;IAAEC,KAAYC;IAAQC,OAAcL,eAAQO,SAAAA;EAAW,CAAA,CAAA;EAC3FwC,cAAqB/C,eAAeE,cAAO;IAAEC,KAAYC;IAAQC,OAAOc;EAAW,CAAA,CAAA;EACnFI,MAAavB,eAAQO,SAAAA;;EAGrByC,gBAAuB1D,gBAAgBc,aAAM;AAC/C,CAAA,EAAGL,KAAYC,cAAO;UAILiD,aAAAA;AACf,QAAMC,uBAA8BC,aAC3BvD,eAAQ,OAAA,EAASwD,YAAY;IAAEC,aAAa;EAAmB,CAAA,GAC/DzD,eAAQ,WAAA,EAAawD,YAAY;IAAEC,aAAa;EAA4B,CAAA,GAC5EzD,eAAQ,MAAA,EAAQwD,YAAY;IAAEC,aAAa;EAAkB,CAAA,GAC7DzD,eAAQ,kBAAA,EAAoBwD,YAAY;IAAEC,aAAa;EAAwB,CAAA,GAC/EzD,eAAQ,iBAAA,EAAmBwD,YAAY;IAAEC,aAAa;EAAgD,CAAA,GACtGzD,eAAQ,eAAA,EAAiBwD,YAAY;IAAEC,aAAa;EAA8C,CAAA,CAAA;cAG9FC,aAAoBtD,eAAeZ,cAAO;IAAEL,IAAWqB;IAAQmD,MAAML;EAAqB,CAAA,CAAA;EAIhG,MAAMM,eAAsBC,mBAAW,EAAW,GAAG3E,KAAKC,EAAE,kBAAkB;IACnF2E,OAAKT,YAAEK;IACPK,QAAeC;EACjB,CAAA,EAAA;EAAI;cAHSJ,SAAAA;EAKN,MAAMK,wBAA+BJ,mBAAW,EAAoB,GAAG3E,KAAKC,EAAE,6BAA6B;IAChH2E,OAActE,cAAO;MACnBL,IAAWqB;MACX0D,MAAaxD;IACf,CAAA;IACAqD,QAAeC;EACjB,CAAA,EAAA;EAAI;cANSC,kBAAAA;EAQN,MAAME,wBAA+BN,mBAAW,EAAoB,GAAG3E,KAAKC,EAAE,4BAA4B;IAC/G2E,OAActE,cAAO;MACnB4E,SAAgB5D;MAChB6D,WAAkBd,aAAa/C,eAAe8D,WAAI;IACpD,CAAA;IACAP,QAAeC;EACjB,CAAA,EAAA;EAAI;cANSG,kBAAAA;AAOf,GAlCiBd,eAAAA,aAAAA,CAAAA,EAAAA;;",
6
- "names": ["Schema", "LayoutAction", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "meta", "id", "DECK_COMPANION_TYPE", "NewPlankPositions", "OverscrollOptions", "DeckSettingsSchema", "Struct", "showHints", "optional", "Boolean", "enableDeck", "enableStatusbar", "enableNativeRedirect", "newPlankPositioning", "Literal", "overscroll", "encapsulatedPlanks", "pipe", "mutable", "PlankSizing", "Record", "key", "String", "value", "Number", "DeckState", "initialized", "active", "Array", "activeCompanions", "inactive", "solo", "fullscreen", "plankSizing", "companionFrameSizing", "defaultDeck", "undefined", "LayoutMode", "isLayoutMode", "is", "getMode", "deck", "DeckPluginState", "sidebarState", "complementarySidebarState", "complementarySidebarPanel", "dialogOpen", "dialogType", "dialogBlockAlign", "dialogOverlayClasses", "dialogOverlayStyle", "Any", "dialogContent", "popoverOpen", "popoverSide", "popoverAnchor", "popoverAnchorId", "popoverContent", "toasts", "LayoutAction", "Toast", "currentUndoId", "activeDeck", "previousDeck", "decks", "previousMode", "scrollIntoView", "DeckAction", "PartAdjustmentSchema", "Union", "annotations", "description", "Adjustment", "type", "Adjust", "TaggedClass", "input", "output", "Void", "UpdatePlankSize", "size", "ChangeCompanion", "primary", "companion", "Null"]
7
- }
@@ -1,128 +0,0 @@
1
- import {
2
- ATTENDABLE_PATH_SEPARATOR,
3
- DECK_COMPANION_TYPE,
4
- PLANK_COMPANION_TYPE
5
- } from "./chunk-F3VCCHVL.mjs";
6
- import {
7
- meta
8
- } from "./chunk-UXLU6CMW.mjs";
9
-
10
- // src/hooks/useCompanions.ts
11
- import { useMemo } from "react";
12
- import { useAppGraph } from "@dxos/app-framework/react";
13
- import { useConnections } from "@dxos/plugin-graph";
14
- import { byPosition } from "@dxos/util";
15
- var useCompanions = (id) => {
16
- const { graph } = useAppGraph();
17
- const nodes = useConnections(graph, id);
18
- const companions = nodes.filter((node) => node.type === PLANK_COMPANION_TYPE);
19
- return useMemo(() => companions.toSorted((a, b) => byPosition(a.properties, b.properties)), [
20
- companions
21
- ]);
22
- };
23
-
24
- // src/hooks/useBreakpoints.ts
25
- import { useMediaQuery } from "@dxos/react-ui";
26
- var useBreakpoints = () => {
27
- const [isNotMobile] = useMediaQuery("md");
28
- const [isDesktop] = useMediaQuery("lg");
29
- return isDesktop ? "desktop" : isNotMobile ? "tablet" : "mobile";
30
- };
31
-
32
- // src/hooks/useDeckCompanions.ts
33
- import { useAppGraph as useAppGraph2 } from "@dxos/app-framework/react";
34
- import { ROOT_ID, useConnections as useConnections2 } from "@dxos/plugin-graph";
35
- import { byPosition as byPosition2 } from "@dxos/util";
36
- var getCompanionId = (id) => {
37
- const [_, companionId] = id.split(ATTENDABLE_PATH_SEPARATOR);
38
- return companionId ?? "never";
39
- };
40
- var useDeckCompanions = () => {
41
- const { graph } = useAppGraph2();
42
- const connections = useConnections2(graph, ROOT_ID);
43
- const companions = connections.filter((node) => node.type === DECK_COMPANION_TYPE);
44
- return companions.toSorted((a, b) => byPosition2(a.properties, b.properties));
45
- };
46
-
47
- // src/hooks/useHoistStatusbar.ts
48
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
49
- import { useMemo as useMemo2 } from "react";
50
- import { Capabilities } from "@dxos/app-framework";
51
- import { useCapability } from "@dxos/app-framework/react";
52
- import { useThemeContext } from "@dxos/react-ui";
53
- var useHoistStatusbar = (breakpoint, layoutMode) => {
54
- var _effect = _useSignals();
55
- try {
56
- const { safeAreaPadding } = useThemeContext();
57
- const enableStatusbar = useCapability(Capabilities.SettingsStore).getStore(meta.id)?.value.enableStatusbar;
58
- return useMemo2(() => {
59
- return breakpoint === "desktop" && layoutMode !== "solo--fullscreen" && !!enableStatusbar && safeAreaPadding?.bottom === 0;
60
- }, [
61
- enableStatusbar,
62
- breakpoint,
63
- safeAreaPadding?.bottom,
64
- layoutMode
65
- ]);
66
- } finally {
67
- _effect.f();
68
- }
69
- };
70
-
71
- // src/hooks/useMainSize.ts
72
- import { useMainContext } from "@dxos/react-ui";
73
- var useMainSize = () => {
74
- const { navigationSidebarState, complementarySidebarState } = useMainContext("DeckPluginPlank");
75
- return {
76
- "data-sidebar-inline-start-state": navigationSidebarState,
77
- "data-sidebar-inline-end-state": complementarySidebarState
78
- };
79
- };
80
-
81
- // src/hooks/useNodeActionExpander.ts
82
- import { useEffect } from "react";
83
- import { getGraph } from "@dxos/plugin-graph";
84
- var useNodeActionExpander = (node) => {
85
- useEffect(() => {
86
- if (node) {
87
- const frame = requestAnimationFrame(() => {
88
- const graph = getGraph(node);
89
- void graph.expand(node.id);
90
- });
91
- return () => cancelAnimationFrame(frame);
92
- }
93
- }, [
94
- node
95
- ]);
96
- };
97
-
98
- // src/capabilities/index.ts
99
- import { lazy } from "@dxos/app-framework";
100
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-D74NTOMK.mjs"));
101
- var CheckAppScheme = lazy(() => import("./check-app-scheme-HIEVFAAX.mjs"));
102
- var DeckSettings = lazy(() => import("./settings-SDPTOCCM.mjs"));
103
- var DeckState = lazy(() => import("./state-7IFAGZQO.mjs"));
104
- var LayoutIntentResolver = lazy(() => import("./intent-resolver-UA4YQGAC.mjs"));
105
- var ReactRoot = lazy(() => import("./react-root-JAMHKYWN.mjs"));
106
- var ReactSurface = lazy(() => import("./react-surface-6LW337ZT.mjs"));
107
- var Toolkit = lazy(() => import("./toolkit-L5CFXJCF.mjs"));
108
- var UrlHandler = lazy(() => import("./url-handler-QEYGYE2H.mjs"));
109
-
110
- export {
111
- useBreakpoints,
112
- useCompanions,
113
- getCompanionId,
114
- useDeckCompanions,
115
- useHoistStatusbar,
116
- useMainSize,
117
- useNodeActionExpander,
118
- AppGraphBuilder,
119
- CheckAppScheme,
120
- DeckSettings,
121
- DeckState,
122
- LayoutIntentResolver,
123
- ReactRoot,
124
- ReactSurface,
125
- Toolkit,
126
- UrlHandler
127
- };
128
- //# sourceMappingURL=chunk-QKCGZ45E.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/useCompanions.ts", "../../../src/hooks/useBreakpoints.ts", "../../../src/hooks/useDeckCompanions.ts", "../../../src/hooks/useHoistStatusbar.ts", "../../../src/hooks/useMainSize.ts", "../../../src/hooks/useNodeActionExpander.ts", "../../../src/capabilities/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { useAppGraph } from '@dxos/app-framework/react';\nimport { useConnections } from '@dxos/plugin-graph';\nimport { byPosition } from '@dxos/util';\n\nimport { PLANK_COMPANION_TYPE } from '../types';\n\nexport const useCompanions = (id?: string) => {\n const { graph } = useAppGraph();\n const nodes = useConnections(graph, id);\n const companions = nodes.filter((node) => node.type === PLANK_COMPANION_TYPE);\n return useMemo(() => companions.toSorted((a, b) => byPosition(a.properties, b.properties)), [companions]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMediaQuery } from '@dxos/react-ui';\n\nexport const useBreakpoints = () => {\n const [isNotMobile] = useMediaQuery('md');\n const [isDesktop] = useMediaQuery('lg');\n return isDesktop ? 'desktop' : isNotMobile ? 'tablet' : 'mobile';\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Label } from '@dxos/app-framework';\nimport { useAppGraph } from '@dxos/app-framework/react';\nimport { type Node, ROOT_ID, useConnections } from '@dxos/plugin-graph';\nimport { type Position, byPosition } from '@dxos/util';\n\nimport { ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE } from '../types';\n\nexport const getCompanionId = (id: string) => {\n const [_, companionId] = id.split(ATTENDABLE_PATH_SEPARATOR);\n return companionId ?? 'never';\n};\n\nexport type DeckCompanion = Node<\n any,\n {\n label: Label;\n icon: string;\n // TODO(burdon): Scroll area should be controlled by surface.\n /** If true, the panel will not be wrapped in a scroll area. */\n fixed?: boolean;\n position?: Position;\n }\n>;\n\nexport const useDeckCompanions = (): DeckCompanion[] => {\n const { graph } = useAppGraph();\n const connections = useConnections(graph, ROOT_ID);\n const companions = connections.filter((node) => node.type === DECK_COMPANION_TYPE) as DeckCompanion[];\n return companions.toSorted((a, b) => byPosition(a.properties, b.properties));\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/react';\nimport { useThemeContext } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\nimport type { DeckSettingsProps, LayoutMode } from '../types';\n\nexport const useHoistStatusbar = (breakpoint: string, layoutMode?: LayoutMode): boolean => {\n const { safeAreaPadding } = useThemeContext();\n const enableStatusbar = useCapability(Capabilities.SettingsStore).getStore<DeckSettingsProps>(meta.id)?.value\n .enableStatusbar;\n\n return useMemo(() => {\n return (\n breakpoint === 'desktop' &&\n layoutMode !== 'solo--fullscreen' &&\n !!enableStatusbar &&\n safeAreaPadding?.bottom === 0\n );\n }, [enableStatusbar, breakpoint, safeAreaPadding?.bottom, layoutMode]);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useMainContext } from '@dxos/react-ui';\n\nexport const useMainSize = () => {\n const { navigationSidebarState, complementarySidebarState } = useMainContext('DeckPluginPlank');\n return {\n 'data-sidebar-inline-start-state': navigationSidebarState,\n 'data-sidebar-inline-end-state': complementarySidebarState,\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect } from 'react';\n\nimport { type Node, getGraph } from '@dxos/plugin-graph';\n\nexport const useNodeActionExpander = (node?: Node) => {\n useEffect(() => {\n if (node) {\n const frame = requestAnimationFrame(() => {\n const graph = getGraph(node);\n void graph.expand(node.id);\n });\n return () => cancelAnimationFrame(frame);\n }\n }, [node]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const CheckAppScheme = lazy(() => import('./check-app-scheme'));\nexport const DeckSettings = lazy(() => import('./settings'));\nexport const DeckState = lazy(() => import('./state'));\nexport const LayoutIntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactRoot = lazy(() => import('./react-root'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n// export const Tools = lazy(() => import('./tools'));\nexport const Toolkit = lazy(() => import('./toolkit'));\nexport const UrlHandler = lazy(() => import('./url-handler'));\n\nexport * from './capabilities';\nexport * from './state';\n"],
5
- "mappings": "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",
6
- "names": ["useMemo", "useAppGraph", "useConnections", "byPosition", "useCompanions", "id", "graph", "useAppGraph", "nodes", "useConnections", "companions", "filter", "node", "type", "PLANK_COMPANION_TYPE", "useMemo", "toSorted", "a", "b", "byPosition", "properties", "useMediaQuery", "useBreakpoints", "isNotMobile", "useMediaQuery", "isDesktop", "useAppGraph", "ROOT_ID", "useConnections", "byPosition", "getCompanionId", "id", "_", "companionId", "split", "ATTENDABLE_PATH_SEPARATOR", "useDeckCompanions", "graph", "useAppGraph", "connections", "useConnections", "ROOT_ID", "companions", "filter", "node", "type", "DECK_COMPANION_TYPE", "toSorted", "a", "b", "byPosition", "properties", "useMemo", "Capabilities", "useCapability", "useThemeContext", "useHoistStatusbar", "breakpoint", "layoutMode", "safeAreaPadding", "useThemeContext", "enableStatusbar", "useCapability", "Capabilities", "SettingsStore", "getStore", "meta", "id", "value", "useMemo", "bottom", "useMainContext", "useMainSize", "navigationSidebarState", "complementarySidebarState", "useMainContext", "useEffect", "getGraph", "useNodeActionExpander", "node", "useEffect", "frame", "requestAnimationFrame", "graph", "getGraph", "expand", "id", "cancelAnimationFrame", "lazy", "AppGraphBuilder", "lazy", "CheckAppScheme", "DeckSettings", "DeckState", "LayoutIntentResolver", "ReactRoot", "ReactSurface", "Toolkit", "UrlHandler"]
7
- }
@@ -1,16 +0,0 @@
1
- // src/meta.ts
2
- import { trim } from "@dxos/util";
3
- var meta = {
4
- id: "dxos.org/plugin/deck",
5
- name: "Layout",
6
- description: trim`
7
- Flexible layout system for arranging workspace views in tabs, splits, and panels.
8
- Customize your workspace organization with drag-and-drop layout management.
9
- `,
10
- icon: "ph--layout--regular"
11
- };
12
-
13
- export {
14
- meta
15
- };
16
- //# sourceMappingURL=chunk-UXLU6CMW.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/deck',\n name: 'Layout',\n description: trim`\n Flexible layout system for arranging workspace views in tabs, splits, and panels.\n Customize your workspace organization with drag-and-drop layout management.\n `,\n icon: 'ph--layout--regular',\n};\n"],
5
- "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;AACR;",
6
- "names": ["trim", "meta", "id", "name", "description", "trim", "icon"]
7
- }
@@ -1,132 +0,0 @@
1
- import {
2
- DeckCapabilities
3
- } from "./chunk-5KMJPIQC.mjs";
4
- import {
5
- defaultDeck,
6
- getMode
7
- } from "./chunk-F3VCCHVL.mjs";
8
- import {
9
- meta
10
- } from "./chunk-UXLU6CMW.mjs";
11
-
12
- // src/capabilities/state.ts
13
- import { Capabilities, contributes } from "@dxos/app-framework";
14
- import { invariant } from "@dxos/invariant";
15
- import { live } from "@dxos/live-object";
16
- import { LocalStorageStore } from "@dxos/local-storage";
17
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-deck/src/capabilities/state.ts";
18
- var boolean = /true|false/;
19
- var migrateSidebarStateDefaults = {
20
- [`${meta.id}/complementary-sidebar-state`]: "expanded",
21
- [`${meta.id}/sidebar-state`]: "collapsed"
22
- };
23
- var migrateSidebarState = () => {
24
- Object.entries(migrateSidebarStateDefaults).forEach(([key, defaultValue]) => {
25
- if (boolean.test(localStorage.getItem(key) ?? "never")) {
26
- localStorage.setItem(key, defaultValue);
27
- }
28
- });
29
- };
30
- var DeckStateFactory = () => {
31
- migrateSidebarState();
32
- const state = new LocalStorageStore(meta.id, {
33
- sidebarState: "expanded",
34
- complementarySidebarState: "collapsed",
35
- complementarySidebarPanel: void 0,
36
- dialogContent: null,
37
- dialogOpen: false,
38
- dialogBlockAlign: void 0,
39
- dialogType: void 0,
40
- popoverContent: null,
41
- popoverAnchor: void 0,
42
- popoverAnchorId: void 0,
43
- popoverOpen: false,
44
- toasts: [],
45
- currentUndoId: void 0,
46
- activeDeck: "default",
47
- previousDeck: "default",
48
- decks: {
49
- default: {
50
- ...defaultDeck
51
- }
52
- },
53
- get deck() {
54
- const deck = this.decks[this.activeDeck];
55
- invariant(deck, `Deck not found: ${this.activeDeck}`, {
56
- F: __dxlog_file,
57
- L: 60,
58
- S: this,
59
- A: [
60
- "deck",
61
- "`Deck not found: ${this.activeDeck}`"
62
- ]
63
- });
64
- return deck;
65
- },
66
- previousMode: {},
67
- scrollIntoView: void 0
68
- });
69
- state.prop({
70
- key: "sidebarState",
71
- type: LocalStorageStore.enum()
72
- }).prop({
73
- key: "complementarySidebarState",
74
- type: LocalStorageStore.enum()
75
- }).prop({
76
- key: "complementarySidebarPanel",
77
- type: LocalStorageStore.string({
78
- allowUndefined: true
79
- })
80
- }).prop({
81
- key: "decks",
82
- type: LocalStorageStore.json()
83
- }).prop({
84
- key: "activeDeck",
85
- type: LocalStorageStore.string()
86
- }).prop({
87
- key: "previousDeck",
88
- type: LocalStorageStore.string()
89
- });
90
- if (state.values.deck.fullscreen) {
91
- state.values.deck.fullscreen = false;
92
- }
93
- const layout = live({
94
- get mode() {
95
- return getMode(state.values.deck);
96
- },
97
- get dialogOpen() {
98
- return state.values.dialogOpen;
99
- },
100
- get sidebarOpen() {
101
- return state.values.sidebarState === "expanded";
102
- },
103
- get complementarySidebarOpen() {
104
- return state.values.complementarySidebarState === "expanded";
105
- },
106
- get workspace() {
107
- return state.values.activeDeck;
108
- },
109
- get active() {
110
- return state.values.deck.solo ? [
111
- state.values.deck.solo
112
- ] : state.values.deck.active;
113
- },
114
- get inactive() {
115
- return state.values.deck.inactive;
116
- },
117
- get scrollIntoView() {
118
- return state.values.scrollIntoView;
119
- }
120
- });
121
- return [
122
- contributes(DeckCapabilities.DeckState, state.values, () => state.close()),
123
- contributes(Capabilities.Layout, layout)
124
- ];
125
- };
126
- var state_default = DeckStateFactory;
127
-
128
- export {
129
- DeckStateFactory,
130
- state_default
131
- };
132
- //# sourceMappingURL=chunk-VBYJ664A.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/state.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { live } from '@dxos/live-object';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { type SidebarState } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\nimport { type DeckPluginState, type DeckState, defaultDeck, getMode } from '../types';\n\nimport { DeckCapabilities } from './capabilities';\n\nconst boolean = /true|false/;\n\n// TODO(thure, 18 Feb 2025): Remove after the next release.\n\nconst migrateSidebarStateDefaults = {\n [`${meta.id}/complementary-sidebar-state`]: 'expanded',\n [`${meta.id}/sidebar-state`]: 'collapsed',\n};\n\nconst migrateSidebarState = () => {\n Object.entries(migrateSidebarStateDefaults).forEach(([key, defaultValue]) => {\n if (boolean.test(localStorage.getItem(key) ?? 'never')) {\n localStorage.setItem(key, defaultValue);\n }\n });\n};\n\n/**\n * @deprecated\n */\nexport const DeckStateFactory = () => {\n migrateSidebarState();\n\n const state = new LocalStorageStore<DeckPluginState>(meta.id, {\n sidebarState: 'expanded',\n complementarySidebarState: 'collapsed',\n complementarySidebarPanel: undefined,\n dialogContent: null,\n dialogOpen: false,\n dialogBlockAlign: undefined,\n dialogType: undefined,\n popoverContent: null,\n popoverAnchor: undefined,\n popoverAnchorId: undefined,\n popoverOpen: false,\n toasts: [],\n currentUndoId: undefined,\n activeDeck: 'default',\n previousDeck: 'default',\n decks: {\n default: { ...defaultDeck },\n },\n get deck() {\n const deck = this.decks[this.activeDeck];\n invariant(deck, `Deck not found: ${this.activeDeck}`);\n return deck;\n },\n previousMode: {},\n scrollIntoView: undefined,\n });\n\n state\n .prop({ key: 'sidebarState', type: LocalStorageStore.enum<SidebarState>() })\n .prop({ key: 'complementarySidebarState', type: LocalStorageStore.enum<SidebarState>() })\n .prop({ key: 'complementarySidebarPanel', type: LocalStorageStore.string({ allowUndefined: true }) })\n .prop({ key: 'decks', type: LocalStorageStore.json<Record<string, DeckState>>() })\n .prop({ key: 'activeDeck', type: LocalStorageStore.string() })\n .prop({ key: 'previousDeck', type: LocalStorageStore.string() });\n\n // Don't allow fullscreen mode to be persisted to prevent getting stuck in it.\n if (state.values.deck.fullscreen) {\n state.values.deck.fullscreen = false;\n }\n\n const layout = live<Capabilities.Layout>({\n get mode() {\n return getMode(state.values.deck);\n },\n get dialogOpen() {\n return state.values.dialogOpen;\n },\n get sidebarOpen() {\n return state.values.sidebarState === 'expanded';\n },\n get complementarySidebarOpen() {\n return state.values.complementarySidebarState === 'expanded';\n },\n get workspace() {\n return state.values.activeDeck;\n },\n get active() {\n return state.values.deck.solo ? [state.values.deck.solo] : state.values.deck.active;\n },\n get inactive() {\n return state.values.deck.inactive;\n },\n get scrollIntoView() {\n return state.values.scrollIntoView;\n },\n });\n\n return [\n contributes(DeckCapabilities.DeckState, state.values, () => state.close()),\n contributes(Capabilities.Layout, layout),\n ];\n};\n\nexport default DeckStateFactory;\n"],
5
- "mappings": "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",
6
- "names": ["Capabilities", "contributes", "invariant", "live", "LocalStorageStore", "boolean", "migrateSidebarStateDefaults", "meta", "id", "migrateSidebarState", "Object", "entries", "forEach", "key", "defaultValue", "test", "localStorage", "getItem", "setItem", "DeckStateFactory", "state", "LocalStorageStore", "sidebarState", "complementarySidebarState", "complementarySidebarPanel", "undefined", "dialogContent", "dialogOpen", "dialogBlockAlign", "dialogType", "popoverContent", "popoverAnchor", "popoverAnchorId", "popoverOpen", "toasts", "currentUndoId", "activeDeck", "previousDeck", "decks", "default", "defaultDeck", "deck", "invariant", "previousMode", "scrollIntoView", "prop", "type", "enum", "string", "allowUndefined", "json", "values", "fullscreen", "layout", "live", "mode", "getMode", "sidebarOpen", "complementarySidebarOpen", "workspace", "active", "solo", "inactive", "contributes", "DeckCapabilities", "DeckState", "close", "Capabilities", "Layout"]
7
- }