@dxos/plugin-deck 0.8.4-main.72ec0f3 → 0.8.4-main.7996785055
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.
- package/dist/lib/browser/Banner-TJ4ZQ7A6.mjs +16 -0
- package/dist/lib/browser/Banner-TJ4ZQ7A6.mjs.map +7 -0
- package/dist/lib/browser/DeckSettings-CZ3KWAXT.mjs +96 -0
- package/dist/lib/browser/DeckSettings-CZ3KWAXT.mjs.map +7 -0
- package/dist/lib/browser/add-toast-XOLZDESF.mjs +24 -0
- package/dist/lib/browser/add-toast-XOLZDESF.mjs.map +7 -0
- package/dist/lib/browser/adjust-N4YCWW3J.mjs +96 -0
- package/dist/lib/browser/adjust-N4YCWW3J.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-34HXGUI2.mjs +123 -0
- package/dist/lib/browser/app-graph-builder-34HXGUI2.mjs.map +7 -0
- package/dist/lib/browser/change-companion-ONLIPI6F.mjs +34 -0
- package/dist/lib/browser/change-companion-ONLIPI6F.mjs.map +7 -0
- package/dist/lib/browser/check-app-scheme-72BBQSF6.mjs +33 -0
- package/dist/lib/browser/check-app-scheme-72BBQSF6.mjs.map +7 -0
- package/dist/lib/browser/chunk-26ZKVZIN.mjs +112 -0
- package/dist/lib/browser/chunk-26ZKVZIN.mjs.map +7 -0
- package/dist/lib/browser/chunk-4RO3FRCR.mjs +187 -0
- package/dist/lib/browser/chunk-4RO3FRCR.mjs.map +7 -0
- package/dist/lib/browser/chunk-4TLX2UGY.mjs +88 -0
- package/dist/lib/browser/chunk-4TLX2UGY.mjs.map +7 -0
- package/dist/lib/browser/chunk-J6OERAED.mjs +69 -0
- package/dist/lib/browser/chunk-J6OERAED.mjs.map +7 -0
- package/dist/lib/browser/chunk-PPM7LZSC.mjs +8 -0
- package/dist/lib/browser/chunk-PPM7LZSC.mjs.map +7 -0
- package/dist/lib/browser/chunk-RCLJGMR7.mjs +1417 -0
- package/dist/lib/browser/chunk-RCLJGMR7.mjs.map +7 -0
- package/dist/lib/browser/{chunk-UXLU6CMW.mjs → chunk-UN7XQWDE.mjs} +9 -2
- package/dist/lib/browser/chunk-UN7XQWDE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-F3VCCHVL.mjs → chunk-WZXKWTDN.mjs} +74 -35
- package/dist/lib/browser/chunk-WZXKWTDN.mjs.map +7 -0
- package/dist/lib/browser/chunk-YAAXLCVX.mjs +30 -0
- package/dist/lib/browser/chunk-YAAXLCVX.mjs.map +7 -0
- package/dist/lib/browser/close-SPUQQH2F.mjs +44 -0
- package/dist/lib/browser/close-SPUQQH2F.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +77 -76
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/open-2DK2GFUW.mjs +95 -0
- package/dist/lib/browser/open-2DK2GFUW.mjs.map +7 -0
- package/dist/lib/browser/operation-handler-ETCDHJUK.mjs +16 -0
- package/dist/lib/browser/operation-handler-ETCDHJUK.mjs.map +7 -0
- package/dist/lib/browser/operations/index.mjs +12 -0
- package/dist/lib/browser/react-root-2IXL32LF.mjs +50 -0
- package/dist/lib/browser/react-root-2IXL32LF.mjs.map +7 -0
- package/dist/lib/browser/react-surface-LMALTBUM.mjs +44 -0
- package/dist/lib/browser/react-surface-LMALTBUM.mjs.map +7 -0
- package/dist/lib/browser/revert-workspace-NIXRKBAQ.mjs +21 -0
- package/dist/lib/browser/revert-workspace-NIXRKBAQ.mjs.map +7 -0
- package/dist/lib/browser/scroll-into-view-QUORIGE3.mjs +21 -0
- package/dist/lib/browser/scroll-into-view-QUORIGE3.mjs.map +7 -0
- package/dist/lib/browser/set-GKTHE4IZ.mjs +37 -0
- package/dist/lib/browser/set-GKTHE4IZ.mjs.map +7 -0
- package/dist/lib/browser/set-layout-mode-TRWCEJAO.mjs +91 -0
- package/dist/lib/browser/set-layout-mode-TRWCEJAO.mjs.map +7 -0
- package/dist/lib/browser/settings-3MYJVL5V.mjs +40 -0
- package/dist/lib/browser/settings-3MYJVL5V.mjs.map +7 -0
- package/dist/lib/browser/show-undo-OSWJQUSO.mjs +60 -0
- package/dist/lib/browser/show-undo-OSWJQUSO.mjs.map +7 -0
- package/dist/lib/browser/state-CFEZH3DH.mjs +100 -0
- package/dist/lib/browser/state-CFEZH3DH.mjs.map +7 -0
- package/dist/lib/browser/switch-workspace-JXIYKYFR.mjs +68 -0
- package/dist/lib/browser/switch-workspace-JXIYKYFR.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +12 -8
- package/dist/lib/browser/update-complementary-IDQANYVM.mjs +28 -0
- package/dist/lib/browser/update-complementary-IDQANYVM.mjs.map +7 -0
- package/dist/lib/browser/update-dialog-LEF6XOAA.mjs +29 -0
- package/dist/lib/browser/update-dialog-LEF6XOAA.mjs.map +7 -0
- package/dist/lib/browser/update-plank-size-VMGJQJKT.mjs +28 -0
- package/dist/lib/browser/update-plank-size-VMGJQJKT.mjs.map +7 -0
- package/dist/lib/browser/update-popover-HLFD3DXD.mjs +33 -0
- package/dist/lib/browser/update-popover-HLFD3DXD.mjs.map +7 -0
- package/dist/lib/browser/update-sidebar-NJ3PB2Z4.mjs +25 -0
- package/dist/lib/browser/update-sidebar-NJ3PB2Z4.mjs.map +7 -0
- package/dist/lib/browser/url-handler-2QE6C6KP.mjs +106 -0
- package/dist/lib/browser/url-handler-2QE6C6KP.mjs.map +7 -0
- package/dist/lib/node-esm/Banner-3Y6W3VK3.mjs +17 -0
- package/dist/lib/node-esm/Banner-3Y6W3VK3.mjs.map +7 -0
- package/dist/lib/node-esm/DeckSettings-ULPBDAT3.mjs +97 -0
- package/dist/lib/node-esm/DeckSettings-ULPBDAT3.mjs.map +7 -0
- package/dist/lib/node-esm/add-toast-HQEPHXHX.mjs +25 -0
- package/dist/lib/node-esm/add-toast-HQEPHXHX.mjs.map +7 -0
- package/dist/lib/node-esm/adjust-MR6Z7HI3.mjs +97 -0
- package/dist/lib/node-esm/adjust-MR6Z7HI3.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-4BD6BABT.mjs +124 -0
- package/dist/lib/node-esm/app-graph-builder-4BD6BABT.mjs.map +7 -0
- package/dist/lib/node-esm/change-companion-JJ6MFJYZ.mjs +35 -0
- package/dist/lib/node-esm/change-companion-JJ6MFJYZ.mjs.map +7 -0
- package/dist/lib/node-esm/check-app-scheme-NNJD4MJ3.mjs +34 -0
- package/dist/lib/node-esm/check-app-scheme-NNJD4MJ3.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-2K2OUSFN.mjs +10 -0
- package/dist/lib/node-esm/chunk-2K2OUSFN.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-3QUPGLN4.mjs +188 -0
- package/dist/lib/node-esm/chunk-3QUPGLN4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-4EIUXR64.mjs +71 -0
- package/dist/lib/node-esm/chunk-4EIUXR64.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-4NLQZESJ.mjs +89 -0
- package/dist/lib/node-esm/chunk-4NLQZESJ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CMISPQAO.mjs +24 -0
- package/dist/lib/node-esm/chunk-CMISPQAO.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HM4KJZ6L.mjs +1418 -0
- package/dist/lib/node-esm/chunk-HM4KJZ6L.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-J2AFCKMH.mjs +202 -0
- package/dist/lib/node-esm/chunk-J2AFCKMH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WD6BJV6B.mjs +32 -0
- package/dist/lib/node-esm/chunk-WD6BJV6B.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-YYXVVZSS.mjs +114 -0
- package/dist/lib/node-esm/chunk-YYXVVZSS.mjs.map +7 -0
- package/dist/lib/node-esm/close-FWQQ3IH2.mjs +45 -0
- package/dist/lib/node-esm/close-FWQQ3IH2.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +176 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/lib/node-esm/open-FCSJ42AD.mjs +96 -0
- package/dist/lib/node-esm/open-FCSJ42AD.mjs.map +7 -0
- package/dist/lib/node-esm/operation-handler-A3FWOT4M.mjs +17 -0
- package/dist/lib/node-esm/operation-handler-A3FWOT4M.mjs.map +7 -0
- package/dist/lib/node-esm/operations/index.mjs +13 -0
- package/dist/lib/node-esm/operations/index.mjs.map +7 -0
- package/dist/lib/node-esm/react-root-44EZV4V7.mjs +51 -0
- package/dist/lib/node-esm/react-root-44EZV4V7.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-KFFPAGAC.mjs +45 -0
- package/dist/lib/node-esm/react-surface-KFFPAGAC.mjs.map +7 -0
- package/dist/lib/node-esm/revert-workspace-APB6WY3W.mjs +22 -0
- package/dist/lib/node-esm/revert-workspace-APB6WY3W.mjs.map +7 -0
- package/dist/lib/node-esm/scroll-into-view-YZVRLJKB.mjs +22 -0
- package/dist/lib/node-esm/scroll-into-view-YZVRLJKB.mjs.map +7 -0
- package/dist/lib/node-esm/set-WSNRQ3DI.mjs +38 -0
- package/dist/lib/node-esm/set-WSNRQ3DI.mjs.map +7 -0
- package/dist/lib/node-esm/set-layout-mode-LGAF5R4U.mjs +92 -0
- package/dist/lib/node-esm/set-layout-mode-LGAF5R4U.mjs.map +7 -0
- package/dist/lib/node-esm/settings-77JXSDLC.mjs +41 -0
- package/dist/lib/node-esm/settings-77JXSDLC.mjs.map +7 -0
- package/dist/lib/node-esm/show-undo-R3LATVTS.mjs +61 -0
- package/dist/lib/node-esm/show-undo-R3LATVTS.mjs.map +7 -0
- package/dist/lib/node-esm/state-I3LRM7SB.mjs +101 -0
- package/dist/lib/node-esm/state-I3LRM7SB.mjs.map +7 -0
- package/dist/lib/node-esm/switch-workspace-FKZT6EL4.mjs +69 -0
- package/dist/lib/node-esm/switch-workspace-FKZT6EL4.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +37 -0
- package/dist/lib/node-esm/types/index.mjs.map +7 -0
- package/dist/lib/node-esm/update-complementary-KVLJTKK3.mjs +29 -0
- package/dist/lib/node-esm/update-complementary-KVLJTKK3.mjs.map +7 -0
- package/dist/lib/node-esm/update-dialog-EXY2PCHT.mjs +30 -0
- package/dist/lib/node-esm/update-dialog-EXY2PCHT.mjs.map +7 -0
- package/dist/lib/node-esm/update-plank-size-67U7Z5VK.mjs +29 -0
- package/dist/lib/node-esm/update-plank-size-67U7Z5VK.mjs.map +7 -0
- package/dist/lib/node-esm/update-popover-MDOZNY2D.mjs +34 -0
- package/dist/lib/node-esm/update-popover-MDOZNY2D.mjs.map +7 -0
- package/dist/lib/node-esm/update-sidebar-5LEWTTGW.mjs +26 -0
- package/dist/lib/node-esm/update-sidebar-5LEWTTGW.mjs.map +7 -0
- package/dist/lib/node-esm/url-handler-WSC5K5ME.mjs +107 -0
- package/dist/lib/node-esm/url-handler-WSC5K5ME.mjs.map +7 -0
- package/dist/types/src/DeckPlugin.d.ts +2 -1
- package/dist/types/src/DeckPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/check-app-scheme/check-app-scheme.d.ts +5 -0
- package/dist/types/src/capabilities/check-app-scheme/check-app-scheme.d.ts.map +1 -0
- package/dist/types/src/capabilities/check-app-scheme/index.d.ts +3 -0
- package/dist/types/src/capabilities/check-app-scheme/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +7 -13
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-handler/index.d.ts +4 -0
- package/dist/types/src/capabilities/operation-handler/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts +6 -0
- package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
- package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +19 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +22 -0
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/index.d.ts +172 -0
- package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/state.d.ts +175 -0
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
- package/dist/types/src/capabilities/tools/index.d.ts +3 -0
- package/dist/types/src/capabilities/tools/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/tools/tools.d.ts +12 -0
- package/dist/types/src/capabilities/tools/tools.d.ts.map +1 -0
- package/dist/types/src/capabilities/url-handler/index.d.ts +3 -0
- package/dist/types/src/capabilities/url-handler/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/url-handler/url-handler.d.ts +5 -0
- package/dist/types/src/capabilities/url-handler/url-handler.d.ts.map +1 -0
- package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/DeckMain.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Dialog.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Popover.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Toast.d.ts +3 -3
- package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
- package/dist/types/src/components/Plank/Plank.d.ts +5 -5
- package/dist/types/src/components/Plank/Plank.d.ts.map +1 -1
- package/dist/types/src/components/Plank/Plank.stories.d.ts +26 -7
- package/dist/types/src/components/Plank/Plank.stories.d.ts.map +1 -1
- package/dist/types/src/components/Plank/PlankControls.d.ts +1 -1
- package/dist/types/src/components/Plank/PlankControls.d.ts.map +1 -1
- package/dist/types/src/components/Plank/PlankError.d.ts +7 -5
- package/dist/types/src/components/Plank/PlankError.d.ts.map +1 -1
- package/dist/types/src/components/Plank/PlankHeading.d.ts +2 -2
- package/dist/types/src/components/Plank/PlankHeading.d.ts.map +1 -1
- package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +1 -1
- package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +1 -1
- package/dist/types/src/components/Sidebar/SidebarButton.d.ts.map +1 -1
- package/dist/types/src/components/fragments.d.ts +4 -1
- package/dist/types/src/components/fragments.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +0 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/Banner/Banner.d.ts +2 -0
- package/dist/types/src/containers/Banner/Banner.d.ts.map +1 -0
- package/dist/types/src/containers/Banner/index.d.ts +3 -0
- package/dist/types/src/containers/Banner/index.d.ts.map +1 -0
- package/dist/types/src/containers/DeckSettings/DeckSettings.d.ts +8 -0
- package/dist/types/src/containers/DeckSettings/DeckSettings.d.ts.map +1 -0
- package/dist/types/src/containers/DeckSettings/index.d.ts +3 -0
- package/dist/types/src/containers/DeckSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +4 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +2 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useDeckCompanions.d.ts +3 -4
- package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -1
- package/dist/types/src/hooks/useDeckState.d.ts +17 -0
- package/dist/types/src/hooks/useDeckState.d.ts.map +1 -0
- package/dist/types/src/hooks/useHoistStatusbar.d.ts +1 -1
- package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +1 -1
- package/dist/types/src/hooks/useMainSize.d.ts +2 -2
- package/dist/types/src/hooks/useNodeActionExpander.d.ts +1 -1
- package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
- package/dist/types/src/hooks/useSelectedCompanion.d.ts +13 -0
- package/dist/types/src/hooks/useSelectedCompanion.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/layout.d.ts +1 -7
- package/dist/types/src/layout.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/add-toast.d.ts +5 -0
- package/dist/types/src/operations/add-toast.d.ts.map +1 -0
- package/dist/types/src/operations/adjust.d.ts +5 -0
- package/dist/types/src/operations/adjust.d.ts.map +1 -0
- package/dist/types/src/operations/change-companion.d.ts +5 -0
- package/dist/types/src/operations/change-companion.d.ts.map +1 -0
- package/dist/types/src/operations/close.d.ts +5 -0
- package/dist/types/src/operations/close.d.ts.map +1 -0
- package/dist/types/src/operations/definitions.d.ts +18 -0
- package/dist/types/src/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/operations/helpers.d.ts +3 -0
- package/dist/types/src/operations/helpers.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +4 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/operations/open.d.ts +5 -0
- package/dist/types/src/operations/open.d.ts.map +1 -0
- package/dist/types/src/operations/revert-workspace.d.ts +5 -0
- package/dist/types/src/operations/revert-workspace.d.ts.map +1 -0
- package/dist/types/src/operations/scroll-into-view.d.ts +5 -0
- package/dist/types/src/operations/scroll-into-view.d.ts.map +1 -0
- package/dist/types/src/operations/set-layout-mode.d.ts +5 -0
- package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
- package/dist/types/src/operations/set.d.ts +5 -0
- package/dist/types/src/operations/set.d.ts.map +1 -0
- package/dist/types/src/operations/show-undo.d.ts +5 -0
- package/dist/types/src/operations/show-undo.d.ts.map +1 -0
- package/dist/types/src/operations/switch-workspace.d.ts +5 -0
- package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
- package/dist/types/src/operations/update-complementary.d.ts +5 -0
- package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
- package/dist/types/src/operations/update-dialog.d.ts +5 -0
- package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
- package/dist/types/src/operations/update-plank-size.d.ts +5 -0
- package/dist/types/src/operations/update-plank-size.d.ts.map +1 -0
- package/dist/types/src/operations/update-popover.d.ts +5 -0
- package/dist/types/src/operations/update-popover.d.ts.map +1 -0
- package/dist/types/src/operations/update-sidebar.d.ts +5 -0
- package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +2 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/{capabilities → types}/capabilities.d.ts +96 -90
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/events.d.ts +7 -0
- package/dist/types/src/types/events.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +40 -38
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +1 -0
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/sanitize-persisted-state.d.ts +19 -0
- package/dist/types/src/util/sanitize-persisted-state.d.ts.map +1 -0
- package/dist/types/src/util/sanitize-persisted-state.test.d.ts +2 -0
- package/dist/types/src/util/sanitize-persisted-state.test.d.ts.map +1 -0
- package/dist/types/src/util/set-active.d.ts +18 -3
- package/dist/types/src/util/set-active.d.ts.map +1 -1
- package/dist/types/src/util/set-active.test.d.ts +2 -0
- package/dist/types/src/util/set-active.test.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +69 -49
- package/src/DeckPlugin.ts +26 -52
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +119 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/check-app-scheme/check-app-scheme.ts +45 -0
- package/src/capabilities/check-app-scheme/index.ts +7 -0
- package/src/capabilities/index.ts +8 -14
- package/src/capabilities/operation-handler/index.ts +11 -0
- package/src/capabilities/operation-handler/operation-handler.ts +16 -0
- package/src/capabilities/react-root/index.ts +7 -0
- package/src/capabilities/react-root/react-root.tsx +47 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +38 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +39 -0
- package/src/capabilities/state/index.ts +7 -0
- package/src/capabilities/state/state.ts +97 -0
- package/src/capabilities/tools/index.ts +7 -0
- package/src/capabilities/tools/tools.ts +91 -0
- package/src/capabilities/url-handler/index.ts +7 -0
- package/src/capabilities/url-handler/url-handler.ts +108 -0
- package/src/components/DeckLayout/ActiveNode.tsx +3 -2
- package/src/components/DeckLayout/Banner.tsx +9 -9
- package/src/components/DeckLayout/ContentEmpty.tsx +5 -6
- package/src/components/DeckLayout/DeckLayout.stories.tsx +20 -31
- package/src/components/DeckLayout/DeckLayout.tsx +13 -11
- package/src/components/DeckLayout/DeckMain.tsx +65 -59
- package/src/components/DeckLayout/Dialog.tsx +22 -13
- package/src/components/DeckLayout/Fallback.tsx +2 -6
- package/src/components/DeckLayout/Popover.tsx +83 -22
- package/src/components/DeckLayout/StatusBar.tsx +4 -4
- package/src/components/DeckLayout/Toast.tsx +4 -4
- package/src/components/Plank/Plank.stories.tsx +18 -9
- package/src/components/Plank/Plank.tsx +41 -38
- package/src/components/Plank/PlankControls.tsx +9 -11
- package/src/components/Plank/PlankError.tsx +49 -19
- package/src/components/Plank/PlankHeading.tsx +41 -46
- package/src/components/Plank/PlankLoading.tsx +1 -1
- package/src/components/Sidebar/ComplementarySidebar.tsx +78 -86
- package/src/components/Sidebar/Sidebar.tsx +7 -7
- package/src/components/Sidebar/SidebarButton.tsx +31 -26
- package/src/components/fragments.ts +10 -5
- package/src/components/index.ts +0 -1
- package/src/containers/Banner/Banner.tsx +5 -0
- package/src/containers/Banner/index.ts +7 -0
- package/src/{components → containers}/DeckSettings/DeckSettings.tsx +41 -31
- package/src/containers/DeckSettings/index.ts +7 -0
- package/src/containers/index.ts +8 -0
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useCompanions.ts +2 -2
- package/src/hooks/useDeckCompanions.ts +7 -11
- package/src/hooks/useDeckState.ts +82 -0
- package/src/hooks/useHoistStatusbar.ts +3 -6
- package/src/hooks/useMainSize.ts +2 -2
- package/src/hooks/useNodeActionExpander.ts +4 -4
- package/src/hooks/useSelectedCompanion.ts +32 -0
- package/src/index.ts +1 -2
- package/src/layout.ts +1 -14
- package/src/meta.ts +3 -3
- package/src/operations/add-toast.ts +24 -0
- package/src/operations/adjust.ts +83 -0
- package/src/operations/change-companion.ts +35 -0
- package/src/operations/close.ts +35 -0
- package/src/operations/definitions.ts +61 -0
- package/src/operations/helpers.ts +22 -0
- package/src/operations/index.ts +26 -0
- package/src/operations/open.ts +89 -0
- package/src/operations/revert-workspace.ts +22 -0
- package/src/operations/scroll-into-view.ts +24 -0
- package/src/operations/set-layout-mode.ts +80 -0
- package/src/operations/set.ts +36 -0
- package/src/operations/show-undo.ts +46 -0
- package/src/operations/switch-workspace.ts +60 -0
- package/src/operations/update-complementary.ts +33 -0
- package/src/operations/update-dialog.ts +34 -0
- package/src/operations/update-plank-size.ts +29 -0
- package/src/operations/update-popover.ts +36 -0
- package/src/operations/update-sidebar.ts +28 -0
- package/src/translations.ts +2 -1
- package/src/types/capabilities.ts +33 -0
- package/src/types/events.ts +21 -0
- package/src/types/index.ts +2 -0
- package/src/types/schema.ts +32 -25
- package/src/util/index.ts +1 -0
- package/src/util/layoutAppliesTopbar.ts +1 -1
- package/src/util/overscroll.ts +3 -3
- package/src/util/sanitize-persisted-state.test.ts +79 -0
- package/src/util/sanitize-persisted-state.ts +52 -0
- package/src/util/set-active.test.ts +106 -0
- package/src/util/set-active.ts +49 -29
- package/dist/lib/browser/app-graph-builder-D74NTOMK.mjs +0 -128
- package/dist/lib/browser/app-graph-builder-D74NTOMK.mjs.map +0 -7
- package/dist/lib/browser/check-app-scheme-HIEVFAAX.mjs +0 -32
- package/dist/lib/browser/check-app-scheme-HIEVFAAX.mjs.map +0 -7
- package/dist/lib/browser/chunk-5KMJPIQC.mjs +0 -16
- package/dist/lib/browser/chunk-5KMJPIQC.mjs.map +0 -7
- package/dist/lib/browser/chunk-CNTGBCMK.mjs +0 -145
- package/dist/lib/browser/chunk-CNTGBCMK.mjs.map +0 -7
- package/dist/lib/browser/chunk-F3VCCHVL.mjs.map +0 -7
- package/dist/lib/browser/chunk-OLDBLCAX.mjs +0 -128
- package/dist/lib/browser/chunk-OLDBLCAX.mjs.map +0 -7
- package/dist/lib/browser/chunk-SDIYDK47.mjs +0 -1553
- package/dist/lib/browser/chunk-SDIYDK47.mjs.map +0 -7
- package/dist/lib/browser/chunk-UXLU6CMW.mjs.map +0 -7
- package/dist/lib/browser/chunk-VBYJ664A.mjs +0 -132
- package/dist/lib/browser/chunk-VBYJ664A.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-UA4YQGAC.mjs +0 -524
- package/dist/lib/browser/intent-resolver-UA4YQGAC.mjs.map +0 -7
- package/dist/lib/browser/react-root-76RSDA6R.mjs +0 -44
- package/dist/lib/browser/react-root-76RSDA6R.mjs.map +0 -7
- package/dist/lib/browser/react-surface-2CSKDN7K.mjs +0 -40
- package/dist/lib/browser/react-surface-2CSKDN7K.mjs.map +0 -7
- package/dist/lib/browser/settings-SDPTOCCM.mjs +0 -30
- package/dist/lib/browser/settings-SDPTOCCM.mjs.map +0 -7
- package/dist/lib/browser/state-7IFAGZQO.mjs +0 -12
- package/dist/lib/browser/toolkit-L5CFXJCF.mjs +0 -52
- package/dist/lib/browser/toolkit-L5CFXJCF.mjs.map +0 -7
- package/dist/lib/browser/url-handler-QEYGYE2H.mjs +0 -70
- package/dist/lib/browser/url-handler-QEYGYE2H.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/check-app-scheme.d.ts +0 -4
- package/dist/types/src/capabilities/check-app-scheme.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-root.d.ts +0 -7
- package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/dist/types/src/capabilities/state.d.ts +0 -104
- package/dist/types/src/capabilities/state.d.ts.map +0 -1
- package/dist/types/src/capabilities/toolkit.d.ts +0 -25
- package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
- package/dist/types/src/capabilities/tools.d.ts +0 -11
- package/dist/types/src/capabilities/tools.d.ts.map +0 -1
- package/dist/types/src/capabilities/url-handler.d.ts +0 -4
- package/dist/types/src/capabilities/url-handler.d.ts.map +0 -1
- package/dist/types/src/components/DeckSettings/DeckSettings.d.ts +0 -6
- package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +0 -1
- package/dist/types/src/components/DeckSettings/index.d.ts +0 -2
- package/dist/types/src/components/DeckSettings/index.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -4
- package/dist/types/src/events.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder.ts +0 -143
- package/src/capabilities/capabilities.ts +0 -14
- package/src/capabilities/check-app-scheme.ts +0 -40
- package/src/capabilities/intent-resolver.ts +0 -471
- package/src/capabilities/react-root.tsx +0 -40
- package/src/capabilities/react-surface.tsx +0 -30
- package/src/capabilities/settings.ts +0 -27
- package/src/capabilities/state.ts +0 -113
- package/src/capabilities/toolkit.ts +0 -66
- package/src/capabilities/tools.ts +0 -84
- package/src/capabilities/url-handler.ts +0 -60
- package/src/components/DeckSettings/index.ts +0 -5
- package/src/events.ts +0 -11
- /package/dist/lib/browser/{state-7IFAGZQO.mjs.map → operations/index.mjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/sanitize-persisted-state.ts", "../../../src/util/set-active.ts", "../../../src/util/layoutAppliesTopbar.ts", "../../../src/util/overscroll.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type DeckStateProps } from '../types';\n\n/**\n * Sanitizes persisted deck state on startup.\n *\n * Persisted state may contain values that are inappropriate to restore across sessions:\n *\n * - **Fullscreen**: Cleared unconditionally to prevent the user from getting stuck in fullscreen\n * mode if the app was closed (or crashed) while fullscreen was active.\n *\n * - **Active planks in solo-mode decks**: When a deck is in solo mode, any items in `active`\n * represent planks that were kept mounted (hidden) during the session for fast deck↔solo\n * switching. After a restart these planks would need to fully remount anyway, so retaining\n * them only adds unnecessary load. Clearing `active` for solo-mode decks avoids rendering\n * stale planks in the background on startup.\n *\n * Returns a new state object if any changes were made, or the original state if clean.\n */\nexport const sanitizePersistedState = (state: DeckStateProps): DeckStateProps => {\n let needsUpdate = false;\n const cleanedDecks = { ...state.decks };\n\n for (const [id, deck] of Object.entries(cleanedDecks)) {\n if (!deck) {\n continue;\n }\n\n let updated = false;\n let cleanedDeck = deck;\n\n if (deck.fullscreen) {\n cleanedDeck = { ...cleanedDeck, fullscreen: false };\n updated = true;\n }\n\n if (deck.solo && deck.active.length > 0) {\n cleanedDeck = { ...cleanedDeck, active: [] };\n updated = true;\n }\n\n if (updated) {\n cleanedDecks[id] = cleanedDeck;\n needsUpdate = true;\n }\n }\n\n return needsUpdate ? { ...state, decks: cleanedDecks } : state;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AttentionManager } from '@dxos/plugin-attention';\n\nimport { type DeckState } from '../types';\n\nexport type SetActiveOptions = {\n next: string[];\n deck: DeckState;\n attention?: AttentionManager;\n};\n\nexport type SetActiveResult = {\n /** Updates to apply to the deck. */\n deckUpdates: {\n inactive: string[];\n solo: string | undefined;\n active: string[];\n fullscreen: boolean;\n };\n /** ID of the item to attend (scroll into view) if attention changed. */\n toAttend?: string;\n};\n\n/**\n * Computes the new active state for the deck without mutating.\n * Returns the updates to apply and optionally an item to attend.\n */\nexport const computeActiveUpdates = ({ next, deck, attention }: SetActiveOptions): SetActiveResult => {\n const active = deck.solo ? [deck.solo] : deck.active;\n const removed = active.filter((id) => !next.includes(id));\n const closed = Array.from(new Set([...deck.inactive.filter((id) => !next.includes(id)), ...removed]));\n\n const updates = {\n inactive: closed,\n solo: deck.solo,\n active: deck.active,\n fullscreen: deck.fullscreen,\n };\n\n if (deck.solo || !deck.initialized) {\n updates.solo = next[0];\n } else {\n updates.active = next;\n }\n\n if (deck.fullscreen && !updates.solo) {\n updates.fullscreen = false;\n }\n\n let toAttend: string | undefined;\n if (attention) {\n const attended = attention.getCurrent();\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 toAttend = next[index];\n }\n }\n\n return { deckUpdates: updates, toAttend };\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') === 'windows' &&\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-sidebar-width) - var(--dx-main-complementary-width) - (var(--dx-main-content-first-width) + 1px)) / 2)))';\n return { paddingInlineStart: overscrollPadding, paddingInlineEnd: overscrollPadding };\n } else {\n return {\n paddingInlineStart:\n 'max(0px, calc(((100dvw - (var(--dx-main-content-first-width) + 1px)) / 2) - var(--dx-main-sidebar-width)))',\n paddingInlineEnd:\n 'max(0px, calc(((100dvw - (var(--dx-main-content-last-width) + 1px)) / 2) - var(--dx-main-complementary-width)))',\n };\n }\n};\n"],
|
|
5
|
+
"mappings": ";AAsBO,IAAMA,yBAAyB,CAACC,UAAAA;AACrC,MAAIC,cAAc;AAClB,QAAMC,eAAe;IAAE,GAAGF,MAAMG;EAAM;AAEtC,aAAW,CAACC,IAAIC,IAAAA,KAASC,OAAOC,QAAQL,YAAAA,GAAe;AACrD,QAAI,CAACG,MAAM;AACT;IACF;AAEA,QAAIG,UAAU;AACd,QAAIC,cAAcJ;AAElB,QAAIA,KAAKK,YAAY;AACnBD,oBAAc;QAAE,GAAGA;QAAaC,YAAY;MAAM;AAClDF,gBAAU;IACZ;AAEA,QAAIH,KAAKM,QAAQN,KAAKO,OAAOC,SAAS,GAAG;AACvCJ,oBAAc;QAAE,GAAGA;QAAaG,QAAQ,CAAA;MAAG;AAC3CJ,gBAAU;IACZ;AAEA,QAAIA,SAAS;AACXN,mBAAaE,EAAAA,IAAMK;AACnBR,oBAAc;IAChB;EACF;AAEA,SAAOA,cAAc;IAAE,GAAGD;IAAOG,OAAOD;EAAa,IAAIF;AAC3D;;;ACrBO,IAAMc,uBAAuB,CAAC,EAAEC,MAAMC,MAAMC,UAAS,MAAoB;AAC9E,QAAMC,SAASF,KAAKG,OAAO;IAACH,KAAKG;MAAQH,KAAKE;AAC9C,QAAME,UAAUF,OAAOG,OAAO,CAACC,OAAO,CAACP,KAAKQ,SAASD,EAAAA,CAAAA;AACrD,QAAME,SAASC,MAAMC,KAAK,oBAAIC,IAAI;OAAIX,KAAKY,SAASP,OAAO,CAACC,OAAO,CAACP,KAAKQ,SAASD,EAAAA,CAAAA;OAASF;GAAQ,CAAA;AAEnG,QAAMS,UAAU;IACdD,UAAUJ;IACVL,MAAMH,KAAKG;IACXD,QAAQF,KAAKE;IACbY,YAAYd,KAAKc;EACnB;AAEA,MAAId,KAAKG,QAAQ,CAACH,KAAKe,aAAa;AAClCF,YAAQV,OAAOJ,KAAK,CAAA;EACtB,OAAO;AACLc,YAAQX,SAASH;EACnB;AAEA,MAAIC,KAAKc,cAAc,CAACD,QAAQV,MAAM;AACpCU,YAAQC,aAAa;EACvB;AAEA,MAAIE;AACJ,MAAIf,WAAW;AACb,UAAMgB,WAAWhB,UAAUiB,WAAU;AACrC,UAAM,CAACC,UAAAA,IAAcV,MAAMC,KAAKO,QAAAA;AAChC,UAAMG,sBAAsB,CAAC,CAACD,cAAcpB,KAAKQ,SAASY,UAAAA;AAC1D,QAAI,CAACC,qBAAqB;AACxB,YAAMC,gBAAgBnB,OAAOoB,QAAQH,UAAAA;AAErC,YAAMI,QAAQF,kBAAkB,KAAK,IAAIA,iBAAiBtB,KAAKyB,SAASzB,KAAKyB,SAAS,IAAIH;AAC1FL,iBAAWjB,KAAKwB,KAAAA;IAClB;EACF;AAEA,SAAO;IAAEE,aAAaZ;IAASG;EAAS;AAC1C;;;AC5DO,IAAMU,sBAAsB,CAACC,YAAoBC,eAAAA;AACtD,SACEC,SAASC,KAAKC,aAAa,eAAA,MAAqB,aAChDJ,eAAe,aACfC,eAAe;AAEnB;;;ACsCO,IAAMI,sBAAsB,CACjCC,gBAAAA;AAEA,MAAI,CAACA,aAAa;AAChB,WAAO;MAAEC,oBAAoB;MAAGC,kBAAkB;IAAE;EACtD;AACA,MAAIF,gBAAgB,GAAG;AACrB,UAAMG,oBACJ;AACF,WAAO;MAAEF,oBAAoBE;MAAmBD,kBAAkBC;IAAkB;EACtF,OAAO;AACL,WAAO;MACLF,oBACE;MACFC,kBACE;IACJ;EACF;AACF;",
|
|
6
|
+
"names": ["sanitizePersistedState", "state", "needsUpdate", "cleanedDecks", "decks", "id", "deck", "Object", "entries", "updated", "cleanedDeck", "fullscreen", "solo", "active", "length", "computeActiveUpdates", "next", "deck", "attention", "active", "solo", "removed", "filter", "id", "includes", "closed", "Array", "from", "Set", "inactive", "updates", "fullscreen", "initialized", "toAttend", "attended", "getCurrent", "attendedId", "isAttendedAvailable", "attendedIndex", "indexOf", "index", "length", "deckUpdates", "layoutAppliesTopbar", "breakpoint", "layoutMode", "document", "body", "getAttribute", "calculateOverscroll", "planksCount", "paddingInlineStart", "paddingInlineEnd", "overscrollPadding"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DECK_COMPANION_TYPE,
|
|
3
|
+
DeckCapabilities,
|
|
4
|
+
PLANK_COMPANION_TYPE
|
|
5
|
+
} from "./chunk-WZXKWTDN.mjs";
|
|
6
|
+
|
|
7
|
+
// src/hooks/useCompanions.ts
|
|
8
|
+
import { useMemo } from "react";
|
|
9
|
+
import { useAppGraph } from "@dxos/app-toolkit/ui";
|
|
10
|
+
import { useConnections } from "@dxos/plugin-graph";
|
|
11
|
+
import { byPosition } from "@dxos/util";
|
|
12
|
+
var useCompanions = (id) => {
|
|
13
|
+
const { graph } = useAppGraph();
|
|
14
|
+
const nodes = useConnections(graph, id, "child");
|
|
15
|
+
const companions = nodes.filter((node) => node.type === PLANK_COMPANION_TYPE);
|
|
16
|
+
return useMemo(() => companions.toSorted((a, b) => byPosition(a.properties, b.properties)), [
|
|
17
|
+
companions
|
|
18
|
+
]);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// src/hooks/useDeckState.ts
|
|
22
|
+
import { useAtomValue } from "@effect-atom/atom-react";
|
|
23
|
+
import { useCallback, useMemo as useMemo2 } from "react";
|
|
24
|
+
import { Capabilities } from "@dxos/app-framework";
|
|
25
|
+
import { useCapability } from "@dxos/app-framework/ui";
|
|
26
|
+
import { invariant } from "@dxos/invariant";
|
|
27
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-deck/src/hooks/useDeckState.ts";
|
|
28
|
+
var useDeckState = () => {
|
|
29
|
+
const registry = useCapability(Capabilities.AtomRegistry);
|
|
30
|
+
const stateAtom = useCapability(DeckCapabilities.State);
|
|
31
|
+
const ephemeralAtom = useCapability(DeckCapabilities.EphemeralState);
|
|
32
|
+
const persistedState = useAtomValue(stateAtom);
|
|
33
|
+
const ephemeralState = useAtomValue(ephemeralAtom);
|
|
34
|
+
const deck = useMemo2(() => {
|
|
35
|
+
const d = persistedState.decks[persistedState.activeDeck];
|
|
36
|
+
invariant(d, `Deck not found: ${persistedState.activeDeck}`, {
|
|
37
|
+
F: __dxlog_file,
|
|
38
|
+
L: 46,
|
|
39
|
+
S: void 0,
|
|
40
|
+
A: [
|
|
41
|
+
"d",
|
|
42
|
+
"`Deck not found: ${persistedState.activeDeck}`"
|
|
43
|
+
]
|
|
44
|
+
});
|
|
45
|
+
return d;
|
|
46
|
+
}, [
|
|
47
|
+
persistedState.decks,
|
|
48
|
+
persistedState.activeDeck
|
|
49
|
+
]);
|
|
50
|
+
const state = useMemo2(() => ({
|
|
51
|
+
...persistedState,
|
|
52
|
+
...ephemeralState
|
|
53
|
+
}), [
|
|
54
|
+
persistedState,
|
|
55
|
+
ephemeralState
|
|
56
|
+
]);
|
|
57
|
+
const updateState = useCallback((fn) => {
|
|
58
|
+
registry.set(stateAtom, fn(registry.get(stateAtom)));
|
|
59
|
+
}, [
|
|
60
|
+
registry,
|
|
61
|
+
stateAtom
|
|
62
|
+
]);
|
|
63
|
+
const updateEphemeral = useCallback((fn) => {
|
|
64
|
+
registry.set(ephemeralAtom, fn(registry.get(ephemeralAtom)));
|
|
65
|
+
}, [
|
|
66
|
+
registry,
|
|
67
|
+
ephemeralAtom
|
|
68
|
+
]);
|
|
69
|
+
return useMemo2(() => ({
|
|
70
|
+
state,
|
|
71
|
+
deck,
|
|
72
|
+
updateState,
|
|
73
|
+
updateEphemeral
|
|
74
|
+
}), [
|
|
75
|
+
state,
|
|
76
|
+
deck,
|
|
77
|
+
updateState,
|
|
78
|
+
updateEphemeral
|
|
79
|
+
]);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
// src/hooks/useBreakpoints.ts
|
|
83
|
+
import { useMediaQuery } from "@dxos/react-ui";
|
|
84
|
+
var useBreakpoints = () => {
|
|
85
|
+
const [isNotMobile] = useMediaQuery("md");
|
|
86
|
+
const [isDesktop] = useMediaQuery("lg");
|
|
87
|
+
return isDesktop ? "desktop" : isNotMobile ? "tablet" : "mobile";
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
// src/hooks/useDeckCompanions.ts
|
|
91
|
+
import { useAppGraph as useAppGraph2 } from "@dxos/app-toolkit/ui";
|
|
92
|
+
import { Node } from "@dxos/plugin-graph";
|
|
93
|
+
import { useConnections as useConnections2 } from "@dxos/plugin-graph";
|
|
94
|
+
import { byPosition as byPosition2 } from "@dxos/util";
|
|
95
|
+
var useDeckCompanions = () => {
|
|
96
|
+
const { graph } = useAppGraph2();
|
|
97
|
+
const connections = useConnections2(graph, Node.RootId, "child");
|
|
98
|
+
const companions = connections.filter((node) => node.type === DECK_COMPANION_TYPE);
|
|
99
|
+
return companions.toSorted((a, b) => byPosition2(a.properties, b.properties));
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// src/hooks/useHoistStatusbar.ts
|
|
103
|
+
import { useMemo as useMemo3 } from "react";
|
|
104
|
+
import { useAtomCapability } from "@dxos/app-framework/ui";
|
|
105
|
+
import { useThemeContext } from "@dxos/react-ui";
|
|
106
|
+
var useHoistStatusbar = (breakpoint, layoutMode) => {
|
|
107
|
+
const { safeAreaPadding } = useThemeContext();
|
|
108
|
+
const enableStatusbar = useAtomCapability(DeckCapabilities.Settings).enableStatusbar;
|
|
109
|
+
return useMemo3(() => {
|
|
110
|
+
return breakpoint === "desktop" && layoutMode !== "solo--fullscreen" && !!enableStatusbar && safeAreaPadding?.bottom === 0;
|
|
111
|
+
}, [
|
|
112
|
+
enableStatusbar,
|
|
113
|
+
breakpoint,
|
|
114
|
+
safeAreaPadding?.bottom,
|
|
115
|
+
layoutMode
|
|
116
|
+
]);
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
// src/hooks/useMainSize.ts
|
|
120
|
+
import { useMainContext } from "@dxos/react-ui";
|
|
121
|
+
var useMainSize = () => {
|
|
122
|
+
const { navigationSidebarState, complementarySidebarState } = useMainContext("DeckPluginPlank");
|
|
123
|
+
return {
|
|
124
|
+
"data-sidebar-left-state": navigationSidebarState,
|
|
125
|
+
"data-sidebar-right-state": complementarySidebarState
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
// src/hooks/useNodeActionExpander.ts
|
|
130
|
+
import { useEffect } from "react";
|
|
131
|
+
import { Graph } from "@dxos/plugin-graph";
|
|
132
|
+
var useNodeActionExpander = (node) => {
|
|
133
|
+
useEffect(() => {
|
|
134
|
+
if (node) {
|
|
135
|
+
const frame = requestAnimationFrame(() => {
|
|
136
|
+
const graph = Graph.getGraph(node);
|
|
137
|
+
void Graph.expand(graph, node.id, "action");
|
|
138
|
+
});
|
|
139
|
+
return () => cancelAnimationFrame(frame);
|
|
140
|
+
}
|
|
141
|
+
}, [
|
|
142
|
+
node
|
|
143
|
+
]);
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
// src/hooks/useSelectedCompanion.ts
|
|
147
|
+
import { useMemo as useMemo4 } from "react";
|
|
148
|
+
import { getCompanionVariant } from "@dxos/app-toolkit";
|
|
149
|
+
var useSelectedCompanion = (companions, preferredVariant) => {
|
|
150
|
+
return useMemo4(() => {
|
|
151
|
+
if (companions.length === 0) {
|
|
152
|
+
return {
|
|
153
|
+
companionId: void 0,
|
|
154
|
+
variant: void 0
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
if (preferredVariant) {
|
|
158
|
+
const preferred = companions.find((companion) => getCompanionVariant(companion.id) === preferredVariant);
|
|
159
|
+
if (preferred) {
|
|
160
|
+
return {
|
|
161
|
+
companionId: preferred.id,
|
|
162
|
+
variant: getCompanionVariant(preferred.id)
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
const first = companions[0];
|
|
167
|
+
return {
|
|
168
|
+
companionId: first.id,
|
|
169
|
+
variant: getCompanionVariant(first.id)
|
|
170
|
+
};
|
|
171
|
+
}, [
|
|
172
|
+
companions,
|
|
173
|
+
preferredVariant
|
|
174
|
+
]);
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
export {
|
|
178
|
+
useBreakpoints,
|
|
179
|
+
useCompanions,
|
|
180
|
+
useDeckCompanions,
|
|
181
|
+
useDeckState,
|
|
182
|
+
useHoistStatusbar,
|
|
183
|
+
useMainSize,
|
|
184
|
+
useNodeActionExpander,
|
|
185
|
+
useSelectedCompanion
|
|
186
|
+
};
|
|
187
|
+
//# sourceMappingURL=chunk-4RO3FRCR.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useCompanions.ts", "../../../src/hooks/useDeckState.ts", "../../../src/hooks/useBreakpoints.ts", "../../../src/hooks/useDeckCompanions.ts", "../../../src/hooks/useHoistStatusbar.ts", "../../../src/hooks/useMainSize.ts", "../../../src/hooks/useNodeActionExpander.ts", "../../../src/hooks/useSelectedCompanion.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { useAppGraph } from '@dxos/app-toolkit/ui';\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, 'child');\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 { useAtomValue } from '@effect-atom/atom-react';\nimport { useCallback, useMemo } from 'react';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { invariant } from '@dxos/invariant';\n\nimport {\n DeckCapabilities,\n type DeckEphemeralStateProps,\n type DeckPluginState,\n type DeckState,\n type DeckStateProps,\n} from '../types';\n\nexport type DeckStateHook = {\n /** Combined state value (reactive). Includes both persisted and ephemeral state. */\n state: DeckPluginState;\n /** The active deck, computed from decks[activeDeck]. */\n deck: DeckState;\n /** Update persisted state. */\n updateState: (fn: (current: DeckStateProps) => DeckStateProps) => void;\n /** Update ephemeral state. */\n updateEphemeral: (fn: (current: DeckEphemeralStateProps) => DeckEphemeralStateProps) => void;\n};\n\n/**\n * Hook to access the deck plugin state reactively.\n * Returns the combined state, the active deck, and update functions for each atom.\n */\nexport const useDeckState = (): DeckStateHook => {\n const registry = useCapability(Capabilities.AtomRegistry);\n const stateAtom = useCapability(DeckCapabilities.State);\n const ephemeralAtom = useCapability(DeckCapabilities.EphemeralState);\n\n const persistedState = useAtomValue(stateAtom);\n const ephemeralState = useAtomValue(ephemeralAtom);\n\n // Compute deck from decks[activeDeck] to ensure it's always current.\n const deck = useMemo(() => {\n const d = persistedState.decks[persistedState.activeDeck];\n invariant(d, `Deck not found: ${persistedState.activeDeck}`);\n return d;\n }, [persistedState.decks, persistedState.activeDeck]);\n\n // Combine persisted and ephemeral state into a unified view.\n const state = useMemo(\n (): DeckPluginState => ({\n ...persistedState,\n ...ephemeralState,\n }),\n [persistedState, ephemeralState],\n );\n\n const updateState = useCallback(\n (fn: (current: DeckStateProps) => DeckStateProps) => {\n registry.set(stateAtom, fn(registry.get(stateAtom)));\n },\n [registry, stateAtom],\n );\n\n const updateEphemeral = useCallback(\n (fn: (current: DeckEphemeralStateProps) => DeckEphemeralStateProps) => {\n registry.set(ephemeralAtom, fn(registry.get(ephemeralAtom)));\n },\n [registry, ephemeralAtom],\n );\n\n return useMemo(\n () => ({\n state,\n deck,\n updateState,\n updateEphemeral,\n }),\n [state, deck, updateState, updateEphemeral],\n );\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 { useAppGraph } from '@dxos/app-toolkit/ui';\nimport { Node, type Node as NodeType } from '@dxos/plugin-graph';\nimport { useConnections } from '@dxos/plugin-graph';\nimport { type Label } from '@dxos/ui-types';\nimport { type Position, byPosition } from '@dxos/util';\n\nimport { DECK_COMPANION_TYPE } from '../types';\n\nexport type DeckCompanion = NodeType.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, Node.RootId, 'child');\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 { useAtomCapability } from '@dxos/app-framework/ui';\nimport { useThemeContext } from '@dxos/react-ui';\n\nimport { DeckCapabilities, type LayoutMode } from '../types';\n\nexport const useHoistStatusbar = (breakpoint: string, layoutMode?: LayoutMode): boolean => {\n const { safeAreaPadding } = useThemeContext();\n const enableStatusbar = useAtomCapability(DeckCapabilities.Settings).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-left-state': navigationSidebarState,\n 'data-sidebar-right-state': complementarySidebarState,\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect } from 'react';\n\nimport { Graph, type Node } from '@dxos/plugin-graph';\n\nexport const useNodeActionExpander = (node?: Node.Node) => {\n useEffect(() => {\n if (node) {\n const frame = requestAnimationFrame(() => {\n const graph = Graph.getGraph(node);\n void Graph.expand(graph, node.id, 'action');\n });\n return () => cancelAnimationFrame(frame);\n }\n }, [node]);\n};\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { getCompanionVariant } from '@dxos/app-toolkit';\nimport { type Node } from '@dxos/plugin-graph';\n\n/**\n * Resolves which companion to show based on variant preference.\n * Falls back to first available if preferred variant not found.\n */\nexport const useSelectedCompanion = (companions: Node.Node[], preferredVariant?: string) => {\n return useMemo(() => {\n if (companions.length === 0) {\n return { companionId: undefined, variant: undefined };\n }\n\n // Try to find companion matching the preferred variant.\n if (preferredVariant) {\n const preferred = companions.find((companion) => getCompanionVariant(companion.id) === preferredVariant);\n if (preferred) {\n return { companionId: preferred.id, variant: getCompanionVariant(preferred.id) };\n }\n }\n\n // Fallback to first companion.\n const first = companions[0];\n return { companionId: first.id, variant: getCompanionVariant(first.id) };\n }, [companions, preferredVariant]);\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,SAASA,eAAe;AAExB,SAASC,mBAAmB;AAC5B,SAASC,sBAAsB;AAC/B,SAASC,kBAAkB;AAIpB,IAAMC,gBAAgB,CAACC,OAAAA;AAC5B,QAAM,EAAEC,MAAK,IAAKC,YAAAA;AAClB,QAAMC,QAAQC,eAAeH,OAAOD,IAAI,OAAA;AACxC,QAAMK,aAAaF,MAAMG,OAAO,CAACC,SAASA,KAAKC,SAASC,oBAAAA;AACxD,SAAOC,QAAQ,MAAML,WAAWM,SAAS,CAACC,GAAGC,MAAMC,WAAWF,EAAEG,YAAYF,EAAEE,UAAU,CAAA,GAAI;IAACV;GAAW;AAC1G;;;ACbA,SAASW,oBAAoB;AAC7B,SAASC,aAAaC,WAAAA,gBAAe;AAErC,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;;AAyBnB,IAAMC,eAAe,MAAA;AAC1B,QAAMC,WAAWC,cAAcC,aAAaC,YAAY;AACxD,QAAMC,YAAYH,cAAcI,iBAAiBC,KAAK;AACtD,QAAMC,gBAAgBN,cAAcI,iBAAiBG,cAAc;AAEnE,QAAMC,iBAAiBC,aAAaN,SAAAA;AACpC,QAAMO,iBAAiBD,aAAaH,aAAAA;AAGpC,QAAMK,OAAOC,SAAQ,MAAA;AACnB,UAAMC,IAAIL,eAAeM,MAAMN,eAAeO,UAAU;AACxDC,cAAUH,GAAG,mBAAmBL,eAAeO,UAAU,IAAE;;;;;;;;;AAC3D,WAAOF;EACT,GAAG;IAACL,eAAeM;IAAON,eAAeO;GAAW;AAGpD,QAAME,QAAQL,SACZ,OAAwB;IACtB,GAAGJ;IACH,GAAGE;EACL,IACA;IAACF;IAAgBE;GAAe;AAGlC,QAAMQ,cAAcC,YAClB,CAACC,OAAAA;AACCrB,aAASsB,IAAIlB,WAAWiB,GAAGrB,SAASuB,IAAInB,SAAAA,CAAAA,CAAAA;EAC1C,GACA;IAACJ;IAAUI;GAAU;AAGvB,QAAMoB,kBAAkBJ,YACtB,CAACC,OAAAA;AACCrB,aAASsB,IAAIf,eAAec,GAAGrB,SAASuB,IAAIhB,aAAAA,CAAAA,CAAAA;EAC9C,GACA;IAACP;IAAUO;GAAc;AAG3B,SAAOM,SACL,OAAO;IACLK;IACAN;IACAO;IACAK;EACF,IACA;IAACN;IAAON;IAAMO;IAAaK;GAAgB;AAE/C;;;AC7EA,SAASC,qBAAqB;AAEvB,IAAMC,iBAAiB,MAAA;AAC5B,QAAM,CAACC,WAAAA,IAAeC,cAAc,IAAA;AACpC,QAAM,CAACC,SAAAA,IAAaD,cAAc,IAAA;AAClC,SAAOC,YAAY,YAAYF,cAAc,WAAW;AAC1D;;;ACNA,SAASG,eAAAA,oBAAmB;AAC5B,SAASC,YAAmC;AAC5C,SAASC,kBAAAA,uBAAsB;AAE/B,SAAwBC,cAAAA,mBAAkB;AAgBnC,IAAMC,oBAAoB,MAAA;AAC/B,QAAM,EAAEC,MAAK,IAAKC,aAAAA;AAClB,QAAMC,cAAcC,gBAAeH,OAAOI,KAAKC,QAAQ,OAAA;AACvD,QAAMC,aAAaJ,YAAYK,OAAO,CAACC,SAASA,KAAKC,SAASC,mBAAAA;AAC9D,SAAOJ,WAAWK,SAAS,CAACC,GAAGC,MAAMC,YAAWF,EAAEG,YAAYF,EAAEE,UAAU,CAAA;AAC5E;;;ACzBA,SAASC,WAAAA,gBAAe;AAExB,SAASC,yBAAyB;AAClC,SAASC,uBAAuB;AAIzB,IAAMC,oBAAoB,CAACC,YAAoBC,eAAAA;AACpD,QAAM,EAAEC,gBAAe,IAAKC,gBAAAA;AAC5B,QAAMC,kBAAkBC,kBAAkBC,iBAAiBC,QAAQ,EAAEH;AAErE,SAAOI,SAAQ,MAAA;AACb,WACER,eAAe,aACfC,eAAe,sBACf,CAAC,CAACG,mBACFF,iBAAiBO,WAAW;EAEhC,GAAG;IAACL;IAAiBJ;IAAYE,iBAAiBO;IAAQR;GAAW;AACvE;;;ACnBA,SAASS,sBAAsB;AAExB,IAAMC,cAAc,MAAA;AACzB,QAAM,EAAEC,wBAAwBC,0BAAyB,IAAKC,eAAe,iBAAA;AAC7E,SAAO;IACL,2BAA2BF;IAC3B,4BAA4BC;EAC9B;AACF;;;ACRA,SAASE,iBAAiB;AAE1B,SAASC,aAAwB;AAE1B,IAAMC,wBAAwB,CAACC,SAAAA;AACpCC,YAAU,MAAA;AACR,QAAID,MAAM;AACR,YAAME,QAAQC,sBAAsB,MAAA;AAClC,cAAMC,QAAQC,MAAMC,SAASN,IAAAA;AAC7B,aAAKK,MAAME,OAAOH,OAAOJ,KAAKQ,IAAI,QAAA;MACpC,CAAA;AACA,aAAO,MAAMC,qBAAqBP,KAAAA;IACpC;EACF,GAAG;IAACF;GAAK;AACX;;;ACdA,SAASU,WAAAA,gBAAe;AAExB,SAASC,2BAA2B;AAO7B,IAAMC,uBAAuB,CAACC,YAAyBC,qBAAAA;AAC5D,SAAOC,SAAQ,MAAA;AACb,QAAIF,WAAWG,WAAW,GAAG;AAC3B,aAAO;QAAEC,aAAaC;QAAWC,SAASD;MAAU;IACtD;AAGA,QAAIJ,kBAAkB;AACpB,YAAMM,YAAYP,WAAWQ,KAAK,CAACC,cAAcC,oBAAoBD,UAAUE,EAAE,MAAMV,gBAAAA;AACvF,UAAIM,WAAW;AACb,eAAO;UAAEH,aAAaG,UAAUI;UAAIL,SAASI,oBAAoBH,UAAUI,EAAE;QAAE;MACjF;IACF;AAGA,UAAMC,QAAQZ,WAAW,CAAA;AACzB,WAAO;MAAEI,aAAaQ,MAAMD;MAAIL,SAASI,oBAAoBE,MAAMD,EAAE;IAAE;EACzE,GAAG;IAACX;IAAYC;GAAiB;AACnC;",
|
|
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", "useAtomValue", "useCallback", "useMemo", "Capabilities", "useCapability", "invariant", "useDeckState", "registry", "useCapability", "Capabilities", "AtomRegistry", "stateAtom", "DeckCapabilities", "State", "ephemeralAtom", "EphemeralState", "persistedState", "useAtomValue", "ephemeralState", "deck", "useMemo", "d", "decks", "activeDeck", "invariant", "state", "updateState", "useCallback", "fn", "set", "get", "updateEphemeral", "useMediaQuery", "useBreakpoints", "isNotMobile", "useMediaQuery", "isDesktop", "useAppGraph", "Node", "useConnections", "byPosition", "useDeckCompanions", "graph", "useAppGraph", "connections", "useConnections", "Node", "RootId", "companions", "filter", "node", "type", "DECK_COMPANION_TYPE", "toSorted", "a", "b", "byPosition", "properties", "useMemo", "useAtomCapability", "useThemeContext", "useHoistStatusbar", "breakpoint", "layoutMode", "safeAreaPadding", "useThemeContext", "enableStatusbar", "useAtomCapability", "DeckCapabilities", "Settings", "useMemo", "bottom", "useMainContext", "useMainSize", "navigationSidebarState", "complementarySidebarState", "useMainContext", "useEffect", "Graph", "useNodeActionExpander", "node", "useEffect", "frame", "requestAnimationFrame", "graph", "Graph", "getGraph", "expand", "id", "cancelAnimationFrame", "useMemo", "getCompanionVariant", "useSelectedCompanion", "companions", "preferredVariant", "useMemo", "length", "companionId", "undefined", "variant", "preferred", "find", "companion", "getCompanionVariant", "id", "first"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export,
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-UN7XQWDE.mjs";
|
|
5
|
+
|
|
6
|
+
// src/operations/definitions.ts
|
|
7
|
+
var definitions_exports = {};
|
|
8
|
+
__export(definitions_exports, {
|
|
9
|
+
Adjust: () => Adjust,
|
|
10
|
+
ChangeCompanion: () => ChangeCompanion,
|
|
11
|
+
UpdatePlankSize: () => UpdatePlankSize
|
|
12
|
+
});
|
|
13
|
+
import * as Schema from "effect/Schema";
|
|
14
|
+
import { Capability } from "@dxos/app-framework";
|
|
15
|
+
import { Operation } from "@dxos/operation";
|
|
16
|
+
var PartAdjustmentSchema = Schema.Union(Schema.Literal("close").annotations({
|
|
17
|
+
description: "Close the plank."
|
|
18
|
+
}), Schema.Literal("companion").annotations({
|
|
19
|
+
description: "Open the companion plank."
|
|
20
|
+
}), Schema.Literal("solo").annotations({
|
|
21
|
+
description: "Solo the plank."
|
|
22
|
+
}), Schema.Literal("solo--fullscreen").annotations({
|
|
23
|
+
description: "Fullscreen the plank."
|
|
24
|
+
}), Schema.Literal("increment-start").annotations({
|
|
25
|
+
description: "Move the plank towards the start of the deck."
|
|
26
|
+
}), Schema.Literal("increment-end").annotations({
|
|
27
|
+
description: "Move the plank towards the end of the deck."
|
|
28
|
+
}));
|
|
29
|
+
var Adjust = Operation.make({
|
|
30
|
+
meta: {
|
|
31
|
+
key: `${meta.id}.operation.adjust`,
|
|
32
|
+
name: "Adjust",
|
|
33
|
+
description: "Adjust the layout of a plank."
|
|
34
|
+
},
|
|
35
|
+
services: [
|
|
36
|
+
Capability.Service
|
|
37
|
+
],
|
|
38
|
+
input: Schema.Struct({
|
|
39
|
+
id: Schema.String.annotations({
|
|
40
|
+
description: "The id of the plank to adjust."
|
|
41
|
+
}),
|
|
42
|
+
type: PartAdjustmentSchema.annotations({
|
|
43
|
+
description: "The type of adjustment to make."
|
|
44
|
+
})
|
|
45
|
+
}),
|
|
46
|
+
output: Schema.Void
|
|
47
|
+
});
|
|
48
|
+
var UpdatePlankSize = Operation.make({
|
|
49
|
+
meta: {
|
|
50
|
+
key: `${meta.id}.operation.update-plank-size`,
|
|
51
|
+
name: "Update Plank Size",
|
|
52
|
+
description: "Update the size of a plank."
|
|
53
|
+
},
|
|
54
|
+
services: [
|
|
55
|
+
Capability.Service
|
|
56
|
+
],
|
|
57
|
+
input: Schema.Struct({
|
|
58
|
+
id: Schema.String.annotations({
|
|
59
|
+
description: "The id of the plank to resize."
|
|
60
|
+
}),
|
|
61
|
+
size: Schema.Number.annotations({
|
|
62
|
+
description: "The new size of the plank."
|
|
63
|
+
})
|
|
64
|
+
}),
|
|
65
|
+
output: Schema.Void
|
|
66
|
+
});
|
|
67
|
+
var ChangeCompanion = Operation.make({
|
|
68
|
+
meta: {
|
|
69
|
+
key: `${meta.id}.operation.change-companion`,
|
|
70
|
+
name: "Change Companion",
|
|
71
|
+
description: "Change the companion plank for a primary plank."
|
|
72
|
+
},
|
|
73
|
+
services: [
|
|
74
|
+
Capability.Service
|
|
75
|
+
],
|
|
76
|
+
input: Schema.Struct({
|
|
77
|
+
companion: Schema.Union(Schema.String, Schema.Null)
|
|
78
|
+
}),
|
|
79
|
+
output: Schema.Void
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
export {
|
|
83
|
+
Adjust,
|
|
84
|
+
UpdatePlankSize,
|
|
85
|
+
ChangeCompanion,
|
|
86
|
+
definitions_exports
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=chunk-4TLX2UGY.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/definitions.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/operation';\n\nimport { meta } from '../meta';\n\nconst 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);\nexport type PartAdjustment = Schema.Schema.Type<typeof PartAdjustmentSchema>;\n\nexport const Adjust = Operation.make({\n meta: {\n key: `${meta.id}.operation.adjust`,\n name: 'Adjust',\n description: 'Adjust the layout of a plank.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n id: Schema.String.annotations({ description: 'The id of the plank to adjust.' }),\n type: PartAdjustmentSchema.annotations({ description: 'The type of adjustment to make.' }),\n }),\n output: Schema.Void,\n});\n\nexport const UpdatePlankSize = Operation.make({\n meta: {\n key: `${meta.id}.operation.update-plank-size`,\n name: 'Update Plank Size',\n description: 'Update the size of a plank.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n id: Schema.String.annotations({ description: 'The id of the plank to resize.' }),\n size: Schema.Number.annotations({ description: 'The new size of the plank.' }),\n }),\n output: Schema.Void,\n});\n\nexport const ChangeCompanion = Operation.make({\n meta: {\n key: `${meta.id}.operation.change-companion`,\n name: 'Change Companion',\n description: 'Change the companion plank for a primary plank.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n companion: Schema.Union(Schema.String, Schema.Null),\n }),\n output: Schema.Void,\n});\n"],
|
|
5
|
+
"mappings": ";;;;;;AAAA;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAI1B,IAAMC,uBAA8BC,aAC3BC,eAAQ,OAAA,EAASC,YAAY;EAAEC,aAAa;AAAmB,CAAA,GAC/DF,eAAQ,WAAA,EAAaC,YAAY;EAAEC,aAAa;AAA4B,CAAA,GAC5EF,eAAQ,MAAA,EAAQC,YAAY;EAAEC,aAAa;AAAkB,CAAA,GAC7DF,eAAQ,kBAAA,EAAoBC,YAAY;EAAEC,aAAa;AAAwB,CAAA,GAC/EF,eAAQ,iBAAA,EAAmBC,YAAY;EAAEC,aAAa;AAAgD,CAAA,GACtGF,eAAQ,eAAA,EAAiBC,YAAY;EAAEC,aAAa;AAA8C,CAAA,CAAA;AAIpG,IAAMC,SAASC,UAAUC,KAAK;EACnCC,MAAM;IACJC,KAAK,GAAGD,KAAKE,EAAE;IACfC,MAAM;IACNP,aAAa;EACf;EACAQ,UAAU;IAACC,WAAWC;;EACtBC,OAAcC,cAAO;IACnBN,IAAWO,cAAOd,YAAY;MAAEC,aAAa;IAAiC,CAAA;IAC9Ec,MAAMlB,qBAAqBG,YAAY;MAAEC,aAAa;IAAkC,CAAA;EAC1F,CAAA;EACAe,QAAeC;AACjB,CAAA;AAEO,IAAMC,kBAAkBf,UAAUC,KAAK;EAC5CC,MAAM;IACJC,KAAK,GAAGD,KAAKE,EAAE;IACfC,MAAM;IACNP,aAAa;EACf;EACAQ,UAAU;IAACC,WAAWC;;EACtBC,OAAcC,cAAO;IACnBN,IAAWO,cAAOd,YAAY;MAAEC,aAAa;IAAiC,CAAA;IAC9EkB,MAAaC,cAAOpB,YAAY;MAAEC,aAAa;IAA6B,CAAA;EAC9E,CAAA;EACAe,QAAeC;AACjB,CAAA;AAEO,IAAMI,kBAAkBlB,UAAUC,KAAK;EAC5CC,MAAM;IACJC,KAAK,GAAGD,KAAKE,EAAE;IACfC,MAAM;IACNP,aAAa;EACf;EACAQ,UAAU;IAACC,WAAWC;;EACtBC,OAAcC,cAAO;IACnBS,WAAkBxB,aAAagB,eAAeS,WAAI;EACpD,CAAA;EACAP,QAAeC;AACjB,CAAA;",
|
|
6
|
+
"names": ["Schema", "Capability", "Operation", "PartAdjustmentSchema", "Union", "Literal", "annotations", "description", "Adjust", "Operation", "make", "meta", "key", "id", "name", "services", "Capability", "Service", "input", "Struct", "String", "type", "output", "Void", "UpdatePlankSize", "size", "Number", "ChangeCompanion", "companion", "Null"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// src/layout.ts
|
|
2
|
+
import { produce } from "immer";
|
|
3
|
+
var openEntry = (deck, entryId, options) => {
|
|
4
|
+
return produce(deck, (draft) => {
|
|
5
|
+
if (draft.find((id) => id === entryId)) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const key = options?.key;
|
|
9
|
+
const plankPositioning = options?.positioning ?? "start";
|
|
10
|
+
const pivotId = options?.pivotId;
|
|
11
|
+
if (key) {
|
|
12
|
+
const index = draft.findIndex((id) => id.split("+")[0] === key);
|
|
13
|
+
if (index !== -1) {
|
|
14
|
+
draft.splice(index, 1, entryId);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
if (pivotId) {
|
|
19
|
+
const pivotIndex = draft.findIndex((id) => id === pivotId);
|
|
20
|
+
if (pivotIndex !== -1) {
|
|
21
|
+
if (plankPositioning === "start") {
|
|
22
|
+
draft.splice(pivotIndex, 0, entryId);
|
|
23
|
+
} else {
|
|
24
|
+
draft.splice(pivotIndex + 1, 0, entryId);
|
|
25
|
+
}
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (plankPositioning === "start") {
|
|
30
|
+
draft.unshift(entryId);
|
|
31
|
+
} else {
|
|
32
|
+
draft.push(entryId);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
var closeEntry = (deck, entryId) => {
|
|
37
|
+
return produce(deck, (draft) => {
|
|
38
|
+
const index = draft.findIndex((id) => id === entryId);
|
|
39
|
+
if (index !== -1) {
|
|
40
|
+
draft.splice(index, 1);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var incrementPlank = (deck, adjustment) => {
|
|
45
|
+
return produce(deck, (draft) => {
|
|
46
|
+
const index = draft.findIndex((id) => id === adjustment.id);
|
|
47
|
+
if (index === -1 || adjustment.type === "increment-start" && index === 0 || adjustment.type === "increment-end" && index === draft.length - 1) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (adjustment.type === "increment-start") {
|
|
51
|
+
[draft[index - 1], draft[index]] = [
|
|
52
|
+
draft[index],
|
|
53
|
+
draft[index - 1]
|
|
54
|
+
];
|
|
55
|
+
} else if (adjustment.type === "increment-end") {
|
|
56
|
+
[draft[index], draft[index + 1]] = [
|
|
57
|
+
draft[index + 1],
|
|
58
|
+
draft[index]
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export {
|
|
65
|
+
openEntry,
|
|
66
|
+
closeEntry,
|
|
67
|
+
incrementPlank
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=chunk-J6OERAED.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/layout.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { produce } from 'immer';\n\nimport { type DeckAction, type NewPlankPositioning } from './types';\n\ntype OpenLayoutEntryOptions = {\n key?: string;\n positioning?: NewPlankPositioning;\n pivotId?: string;\n};\n\nexport const openEntry = (deck: string[], entryId: string, options?: OpenLayoutEntryOptions): string[] => {\n return produce(deck, (draft) => {\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"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,eAAe;AAUjB,IAAMC,YAAY,CAACC,MAAgBC,SAAiBC,YAAAA;AACzD,SAAOC,QAAQH,MAAM,CAACI,UAAAA;AAEpB,QAAIA,MAAMC,KAAK,CAACC,OAAOA,OAAOL,OAAAA,GAAU;AACtC;IACF;AAEA,UAAMM,MAAML,SAASK;AACrB,UAAMC,mBAAmBN,SAASO,eAAe;AACjD,UAAMC,UAAUR,SAASQ;AAEzB,QAAIH,KAAK;AACP,YAAMI,QAAQP,MAAMQ,UAAU,CAACN,OAAOA,GAAGO,MAAM,GAAA,EAAK,CAAA,MAAON,GAAAA;AAC3D,UAAII,UAAU,IAAI;AAChBP,cAAMU,OAAOH,OAAO,GAAGV,OAAAA;AACvB;MACF;IACF;AAEA,QAAIS,SAAS;AACX,YAAMK,aAAaX,MAAMQ,UAAU,CAACN,OAAOA,OAAOI,OAAAA;AAClD,UAAIK,eAAe,IAAI;AACrB,YAAIP,qBAAqB,SAAS;AAChCJ,gBAAMU,OAAOC,YAAY,GAAGd,OAAAA;QAC9B,OAAO;AACLG,gBAAMU,OAAOC,aAAa,GAAG,GAAGd,OAAAA;QAClC;AACA;MACF;IACF;AAGA,QAAIO,qBAAqB,SAAS;AAChCJ,YAAMY,QAAQf,OAAAA;IAChB,OAAO;AACLG,YAAMa,KAAKhB,OAAAA;IACb;EACF,CAAA;AACF;AAEO,IAAMiB,aAAa,CAAClB,MAAgBC,YAAAA;AACzC,SAAOE,QAAQH,MAAM,CAACI,UAAAA;AACpB,UAAMO,QAAQP,MAAMQ,UAAU,CAACN,OAAOA,OAAOL,OAAAA;AAC7C,QAAIU,UAAU,IAAI;AAChBP,YAAMU,OAAOH,OAAO,CAAA;IACtB;EACF,CAAA;AACF;AAEO,IAAMQ,iBAAiB,CAACnB,MAAgBoB,eAAAA;AAC7C,SAAOjB,QAAQH,MAAM,CAACI,UAAAA;AACpB,UAAMO,QAAQP,MAAMQ,UAAU,CAACN,OAAOA,OAAOc,WAAWd,EAAE;AAC1D,QACEK,UAAU,MACTS,WAAWC,SAAS,qBAAqBV,UAAU,KACnDS,WAAWC,SAAS,mBAAmBV,UAAUP,MAAMkB,SAAS,GACjE;AACA;IACF;AAEA,QAAIF,WAAWC,SAAS,mBAAmB;AAEzC,OAACjB,MAAMO,QAAQ,CAAA,GAAIP,MAAMO,KAAAA,CAAM,IAAI;QAACP,MAAMO,KAAAA;QAAQP,MAAMO,QAAQ,CAAA;;IAClE,WAAWS,WAAWC,SAAS,iBAAiB;AAE9C,OAACjB,MAAMO,KAAAA,GAAQP,MAAMO,QAAQ,CAAA,CAAE,IAAI;QAACP,MAAMO,QAAQ,CAAA;QAAIP,MAAMO,KAAAA;;IAC9D;EACF,CAAA;AACF;",
|
|
6
|
+
"names": ["produce", "openEntry", "deck", "entryId", "options", "produce", "draft", "find", "id", "key", "plankPositioning", "positioning", "pivotId", "index", "findIndex", "split", "splice", "pivotIndex", "unshift", "push", "closeEntry", "incrementPlank", "adjustment", "type", "length"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// src/operations/index.ts
|
|
2
|
+
import { OperationHandlerSet } from "@dxos/operation";
|
|
3
|
+
var DeckOperationHandlerSet = OperationHandlerSet.lazy(() => import("./add-toast-XOLZDESF.mjs"), () => import("./adjust-N4YCWW3J.mjs"), () => import("./change-companion-ONLIPI6F.mjs"), () => import("./close-SPUQQH2F.mjs"), () => import("./open-2DK2GFUW.mjs"), () => import("./revert-workspace-NIXRKBAQ.mjs"), () => import("./scroll-into-view-QUORIGE3.mjs"), () => import("./set-GKTHE4IZ.mjs"), () => import("./set-layout-mode-TRWCEJAO.mjs"), () => import("./show-undo-OSWJQUSO.mjs"), () => import("./switch-workspace-JXIYKYFR.mjs"), () => import("./update-complementary-IDQANYVM.mjs"), () => import("./update-dialog-LEF6XOAA.mjs"), () => import("./update-plank-size-VMGJQJKT.mjs"), () => import("./update-popover-HLFD3DXD.mjs"), () => import("./update-sidebar-NJ3PB2Z4.mjs"));
|
|
4
|
+
|
|
5
|
+
export {
|
|
6
|
+
DeckOperationHandlerSet
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=chunk-PPM7LZSC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/operation';\n\nexport * as DeckOperation from './definitions';\n\nexport const DeckOperationHandlerSet = OperationHandlerSet.lazy(\n () => import('./add-toast'),\n () => import('./adjust'),\n () => import('./change-companion'),\n () => import('./close'),\n () => import('./open'),\n () => import('./revert-workspace'),\n () => import('./scroll-into-view'),\n () => import('./set'),\n () => import('./set-layout-mode'),\n () => import('./show-undo'),\n () => import('./switch-workspace'),\n () => import('./update-complementary'),\n () => import('./update-dialog'),\n () => import('./update-plank-size'),\n () => import('./update-popover'),\n () => import('./update-sidebar'),\n);\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,2BAA2B;AAI7B,IAAMC,0BAA0BC,oBAAoBC,KACzD,MAAM,OAAO,0BAAA,GACb,MAAM,OAAO,uBAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,sBAAA,GACb,MAAM,OAAO,qBAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,oBAAA,GACb,MAAM,OAAO,gCAAA,GACb,MAAM,OAAO,0BAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,qCAAA,GACb,MAAM,OAAO,8BAAA,GACb,MAAM,OAAO,kCAAA,GACb,MAAM,OAAO,+BAAA,GACb,MAAM,OAAO,+BAAA,CAAA;",
|
|
6
|
+
"names": ["OperationHandlerSet", "DeckOperationHandlerSet", "OperationHandlerSet", "lazy"]
|
|
7
|
+
}
|