@dxos/plugin-deck 0.8.4-main.1f223c7 → 0.8.4-main.21d9917
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/app-graph-builder-DTVCULQ4.mjs +120 -0
- package/dist/lib/browser/app-graph-builder-DTVCULQ4.mjs.map +7 -0
- package/dist/lib/browser/{check-app-scheme-3BQJXWEY.mjs → check-app-scheme-JSRXXIYF.mjs} +9 -9
- package/dist/lib/browser/check-app-scheme-JSRXXIYF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-F5BQOOEG.mjs → chunk-ATFPDN6J.mjs} +155 -23
- package/dist/lib/browser/chunk-ATFPDN6J.mjs.map +7 -0
- package/dist/lib/browser/chunk-EREEXCHO.mjs +1448 -0
- package/dist/lib/browser/chunk-EREEXCHO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CNTGBCMK.mjs → chunk-NHABISX2.mjs} +40 -33
- package/dist/lib/browser/chunk-NHABISX2.mjs.map +7 -0
- package/dist/lib/browser/chunk-UNG4CLLP.mjs +161 -0
- package/dist/lib/browser/chunk-UNG4CLLP.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +73 -68
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operation-resolver-CDYBLZJ4.mjs +595 -0
- package/dist/lib/browser/operation-resolver-CDYBLZJ4.mjs.map +7 -0
- package/dist/lib/browser/react-root-LYNEKGHM.mjs +47 -0
- package/dist/lib/browser/react-root-LYNEKGHM.mjs.map +7 -0
- package/dist/lib/browser/react-surface-RPKD7XUR.mjs +42 -0
- package/dist/lib/browser/react-surface-RPKD7XUR.mjs.map +7 -0
- package/dist/lib/browser/settings-OMHVGZ6V.mjs +37 -0
- package/dist/lib/browser/settings-OMHVGZ6V.mjs.map +7 -0
- package/dist/lib/browser/state-OC3BSB6E.mjs +103 -0
- package/dist/lib/browser/state-OC3BSB6E.mjs.map +7 -0
- package/dist/lib/browser/toolkit-R53LD3EA.mjs +53 -0
- package/dist/lib/browser/toolkit-R53LD3EA.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +11 -4
- package/dist/lib/browser/url-handler-53TE6JZO.mjs +93 -0
- package/dist/lib/browser/url-handler-53TE6JZO.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-473BNZDJ.mjs +121 -0
- package/dist/lib/node-esm/app-graph-builder-473BNZDJ.mjs.map +7 -0
- package/dist/lib/node-esm/check-app-scheme-IVYRHKRH.mjs +33 -0
- package/dist/lib/node-esm/check-app-scheme-IVYRHKRH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-ADPMWKLL.mjs +154 -0
- package/dist/lib/node-esm/chunk-ADPMWKLL.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-SKEVPQ7E.mjs +162 -0
- package/dist/lib/node-esm/chunk-SKEVPQ7E.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-V6VEXRD4.mjs +1449 -0
- package/dist/lib/node-esm/chunk-V6VEXRD4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-XAKTY3EB.mjs +294 -0
- package/dist/lib/node-esm/chunk-XAKTY3EB.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +181 -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/operation-resolver-WUOE33ID.mjs +596 -0
- package/dist/lib/node-esm/operation-resolver-WUOE33ID.mjs.map +7 -0
- package/dist/lib/node-esm/react-root-L7H43AS3.mjs +48 -0
- package/dist/lib/node-esm/react-root-L7H43AS3.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-77DKVMDV.mjs +43 -0
- package/dist/lib/node-esm/react-surface-77DKVMDV.mjs.map +7 -0
- package/dist/lib/node-esm/settings-2HB6FKIK.mjs +38 -0
- package/dist/lib/node-esm/settings-2HB6FKIK.mjs.map +7 -0
- package/dist/lib/node-esm/state-JRQ45ACJ.mjs +104 -0
- package/dist/lib/node-esm/state-JRQ45ACJ.mjs.map +7 -0
- package/dist/lib/node-esm/toolkit-JLPZNNKB.mjs +54 -0
- package/dist/lib/node-esm/toolkit-JLPZNNKB.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +40 -0
- package/dist/lib/node-esm/url-handler-QGF2R24T.mjs +94 -0
- package/dist/lib/node-esm/url-handler-QGF2R24T.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 +8 -13
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.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 +21 -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/toolkit/index.d.ts +3 -0
- package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/toolkit/toolkit.d.ts +26 -0
- package/dist/types/src/capabilities/toolkit/toolkit.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/ContentEmpty.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +2 -3
- package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts +74 -0
- package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts.map +1 -0
- package/dist/types/src/components/DeckLayout/DeckMain.d.ts +3 -0
- package/dist/types/src/components/DeckLayout/DeckMain.d.ts.map +1 -0
- package/dist/types/src/components/DeckLayout/Dialog.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 +7 -2
- package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
- package/dist/types/src/components/DeckSettings/DeckSettings.d.ts +4 -2
- package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -1
- package/dist/types/src/components/Plank/Plank.d.ts +3 -3
- package/dist/types/src/components/Plank/Plank.d.ts.map +1 -1
- package/dist/types/src/components/Plank/Plank.stories.d.ts +25 -6
- 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 +1 -1
- 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/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useDeckCompanions.d.ts +3 -3
- 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/useNodeActionExpander.d.ts +1 -1
- package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -3
- package/dist/types/src/meta.d.ts.map +1 -1
- 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 +90 -30
- package/dist/types/src/types/schema.d.ts.map +1 -1
- 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/tsconfig.tsbuildinfo +1 -1
- package/package.json +54 -48
- package/src/DeckPlugin.ts +44 -66
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +118 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/{check-app-scheme.ts → check-app-scheme/check-app-scheme.ts} +12 -11
- package/src/capabilities/check-app-scheme/index.ts +7 -0
- package/src/capabilities/index.ts +9 -14
- package/src/capabilities/operation-resolver/index.ts +10 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +555 -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 +37 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +38 -0
- package/src/capabilities/state/index.ts +7 -0
- package/src/capabilities/state/state.ts +104 -0
- package/src/capabilities/toolkit/index.ts +7 -0
- package/src/capabilities/toolkit/toolkit.ts +63 -0
- package/src/capabilities/tools/index.ts +7 -0
- package/src/capabilities/tools/tools.ts +92 -0
- package/src/capabilities/url-handler/index.ts +7 -0
- package/src/capabilities/url-handler/url-handler.ts +95 -0
- package/src/components/DeckLayout/ActiveNode.tsx +1 -1
- package/src/components/DeckLayout/Banner.tsx +5 -5
- package/src/components/DeckLayout/ContentEmpty.tsx +3 -4
- package/src/components/DeckLayout/DeckLayout.stories.tsx +51 -0
- package/src/components/DeckLayout/DeckLayout.tsx +17 -285
- package/src/components/DeckLayout/DeckMain.tsx +286 -0
- package/src/components/DeckLayout/Dialog.tsx +13 -10
- package/src/components/DeckLayout/Fallback.tsx +4 -4
- package/src/components/DeckLayout/Popover.tsx +44 -32
- package/src/components/DeckLayout/StatusBar.tsx +1 -1
- package/src/components/DeckLayout/Toast.tsx +30 -5
- package/src/components/DeckSettings/DeckSettings.tsx +26 -10
- package/src/components/Plank/Plank.stories.tsx +17 -11
- package/src/components/Plank/Plank.tsx +86 -54
- package/src/components/Plank/PlankControls.tsx +9 -9
- package/src/components/Plank/PlankError.tsx +4 -4
- package/src/components/Plank/PlankHeading.tsx +35 -40
- package/src/components/Sidebar/ComplementarySidebar.tsx +58 -31
- package/src/components/Sidebar/Sidebar.tsx +6 -6
- package/src/components/Sidebar/SidebarButton.tsx +39 -32
- package/src/components/fragments.ts +1 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useCompanions.ts +1 -1
- package/src/hooks/useDeckCompanions.ts +6 -4
- package/src/hooks/useDeckState.ts +82 -0
- package/src/hooks/useHoistStatusbar.ts +4 -5
- package/src/hooks/useNodeActionExpander.ts +4 -4
- package/src/index.ts +1 -2
- package/src/meta.ts +8 -5
- package/src/translations.ts +2 -1
- package/src/types/capabilities.ts +33 -0
- package/src/types/events.ts +20 -0
- package/src/types/index.ts +2 -0
- package/src/types/schema.ts +86 -14
- package/src/util/layoutAppliesTopbar.ts +1 -1
- package/src/util/set-active.ts +49 -29
- package/dist/lib/browser/app-graph-builder-DVEKLXB4.mjs +0 -152
- package/dist/lib/browser/app-graph-builder-DVEKLXB4.mjs.map +0 -7
- package/dist/lib/browser/check-app-scheme-3BQJXWEY.mjs.map +0 -7
- package/dist/lib/browser/chunk-CNTGBCMK.mjs.map +0 -7
- package/dist/lib/browser/chunk-F5BQOOEG.mjs.map +0 -7
- package/dist/lib/browser/chunk-M57WD3V6.mjs +0 -16
- package/dist/lib/browser/chunk-M57WD3V6.mjs.map +0 -7
- package/dist/lib/browser/chunk-NRCPV6AV.mjs +0 -129
- package/dist/lib/browser/chunk-NRCPV6AV.mjs.map +0 -7
- package/dist/lib/browser/chunk-NU7H23SK.mjs +0 -1498
- package/dist/lib/browser/chunk-NU7H23SK.mjs.map +0 -7
- package/dist/lib/browser/chunk-WILMPGDV.mjs +0 -127
- package/dist/lib/browser/chunk-WILMPGDV.mjs.map +0 -7
- package/dist/lib/browser/chunk-Z5KITAZW.mjs +0 -13
- package/dist/lib/browser/chunk-Z5KITAZW.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-2SUIIV6N.mjs +0 -521
- package/dist/lib/browser/intent-resolver-2SUIIV6N.mjs.map +0 -7
- package/dist/lib/browser/react-root-7PRVDLF7.mjs +0 -43
- package/dist/lib/browser/react-root-7PRVDLF7.mjs.map +0 -7
- package/dist/lib/browser/react-surface-FNY2YC2F.mjs +0 -40
- package/dist/lib/browser/react-surface-FNY2YC2F.mjs.map +0 -7
- package/dist/lib/browser/settings-LUPQPZ27.mjs +0 -29
- package/dist/lib/browser/settings-LUPQPZ27.mjs.map +0 -7
- package/dist/lib/browser/state-CRXR7X63.mjs +0 -12
- package/dist/lib/browser/toolkit-XGJSBY67.mjs +0 -61
- package/dist/lib/browser/toolkit-XGJSBY67.mjs.map +0 -7
- package/dist/lib/browser/url-handler-LROZYQ26.mjs +0 -70
- package/dist/lib/browser/url-handler-LROZYQ26.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 -101
- package/dist/types/src/capabilities/state.d.ts.map +0 -1
- package/dist/types/src/capabilities/toolkit.d.ts +0 -5
- 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/events.d.ts +0 -4
- package/dist/types/src/events.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder.ts +0 -142
- package/src/capabilities/capabilities.ts +0 -14
- package/src/capabilities/intent-resolver.ts +0 -469
- package/src/capabilities/react-root.tsx +0 -39
- package/src/capabilities/react-surface.tsx +0 -30
- package/src/capabilities/settings.ts +0 -26
- package/src/capabilities/state.ts +0 -105
- package/src/capabilities/toolkit.ts +0 -55
- package/src/capabilities/tools.ts +0 -84
- package/src/capabilities/url-handler.ts +0 -60
- package/src/events.ts +0 -11
- /package/dist/lib/{browser/state-CRXR7X63.mjs.map → node-esm/types/index.mjs.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport { Capabilities, LayoutAction, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { ROOT_ID, createExtension, rxFromSignal } from '@dxos/plugin-graph';\n\nimport { DECK_PLUGIN } from '../meta';\n\nimport { DeckCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(\n Capabilities.AppGraphBuilder,\n createExtension({\n id: DECK_PLUGIN,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => {\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n\n // NOTE(Zan): This is currently disabled.\n // TODO(Zan): Fullscreen needs to know the active node and provide that to the layout part.\n const _fullscreen = {\n id: `${LayoutAction.UpdateLayout._tag}/fullscreen`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(\n createIntent(LayoutAction.SetLayoutMode, { part: 'mode', options: { mode: 'fullscreen' } }),\n );\n },\n properties: {\n label: ['toggle fullscreen label', { ns: DECK_PLUGIN }],\n icon: 'ph--arrows-out--regular',\n keyBinding: {\n macos: 'ctrl+meta+f',\n windows: 'shift+ctrl+f',\n },\n },\n };\n\n const closeCurrent = {\n id: `${LayoutAction.Close._tag}/current`,\n data: async () => {\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const attended = attention.current.at(-1);\n if (attended) {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(\n createIntent(LayoutAction.Close, {\n part: 'main',\n subject: [attended],\n options: { state: false },\n }),\n );\n }\n },\n properties: {\n label: ['close current label', { ns: DECK_PLUGIN }],\n icon: 'ph--x--regular',\n },\n };\n\n const closeOthers = {\n id: `${LayoutAction.Close._tag}/others`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const attended = attention.current.at(-1);\n const ids = state.deck.active.filter((id) => id !== attended) ?? [];\n await dispatch(\n createIntent(LayoutAction.Close, { part: 'main', subject: ids, options: { state: false } }),\n );\n },\n properties: {\n label: ['close others label', { ns: DECK_PLUGIN }],\n icon: 'ph--x-square--regular',\n },\n };\n\n const closeAll = {\n id: `${LayoutAction.Close._tag}/all`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(\n createIntent(LayoutAction.Close, {\n part: 'main',\n subject: state.deck.active,\n options: { state: false },\n }),\n );\n },\n properties: {\n label: ['close all label', { ns: DECK_PLUGIN }],\n icon: 'ph--x-circle--regular',\n },\n };\n\n const toggleSidebar = {\n id: `${LayoutAction.UpdateSidebar._tag}/nav`,\n data: async () => {\n state.sidebarState = state.sidebarState === 'expanded' ? 'collapsed' : 'expanded';\n },\n properties: {\n label: [\n get(\n rxFromSignal(() =>\n state.sidebarState === 'expanded'\n ? 'collapse navigation sidebar label'\n : 'open navigation sidebar label',\n ),\n ),\n { ns: DECK_PLUGIN },\n ],\n icon: 'ph--sidebar--regular',\n keyBinding: {\n macos: \"meta+'\",\n },\n disposition: 'pin-end',\n position: 'hoist',\n l0Breakpoint: 'lg',\n },\n };\n\n return get(\n rxFromSignal(() =>\n !state.deck.solo ? [closeCurrent, closeOthers, closeAll, toggleSidebar] : [toggleSidebar],\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n );\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Rx", "Option", "pipe", "Capabilities", "LayoutAction", "contributes", "createIntent", "AttentionCapabilities", "ROOT_ID", "createExtension", "rxFromSignal", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "DECK_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "state", "getCapability", "DeckCapabilities", "MutableDeckState", "_fullscreen", "LayoutAction", "UpdateLayout", "_tag", "data", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "SetLayoutMode", "part", "options", "mode", "properties", "label", "ns", "icon", "keyBinding", "macos", "windows", "closeCurrent", "Close", "attention", "AttentionCapabilities", "Attention", "attended", "current", "at", "subject", "closeOthers", "ids", "deck", "active", "filter", "closeAll", "toggleSidebar", "UpdateSidebar", "sidebarState", "rxFromSignal", "disposition", "position", "l0Breakpoint", "solo", "getOrElse"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/check-app-scheme.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\n\nimport { DECK_PLUGIN } from '../meta';\nimport { type DeckSettingsProps } from '../types';\n\nconst isSocket = !!(globalThis as any).__args;\n\n// TODO(mjamesderocher): Can we get this directly from Socket?\nconst appScheme = 'composer://';\n\n// TODO(mjamesderocher): Factor out as part of NavigationPlugin.\nconst checkAppScheme = (url: string) => {\n const iframe = document.createElement('iframe');\n iframe.style.display = 'none';\n document.body.appendChild(iframe);\n\n iframe.src = url + window.location.pathname.replace(/^\\/+/, '') + window.location.search;\n\n const timer = setTimeout(() => {\n document.body.removeChild(iframe);\n }, 3000);\n\n window.addEventListener('pagehide', (event) => {\n clearTimeout(timer);\n document.body.removeChild(iframe);\n });\n};\n\nexport default async (context: PluginContext) => {\n const settings = context.getCapability(Capabilities.SettingsStore).getStore<DeckSettingsProps>(DECK_PLUGIN)?.value;\n if (!isSocket && settings?.enableNativeRedirect) {\n checkAppScheme(appScheme);\n }\n\n return contributes(Capabilities.Null, null);\n};\n"],
|
|
5
|
-
"mappings": ";;;;;AAIA,SAASA,cAAkCC,mBAAmB;AAK9D,IAAMC,WAAW,CAAC,CAAEC,WAAmBC;AAGvC,IAAMC,YAAY;AAGlB,IAAMC,iBAAiB,CAACC,QAAAA;AACtB,QAAMC,SAASC,SAASC,cAAc,QAAA;AACtCF,SAAOG,MAAMC,UAAU;AACvBH,WAASI,KAAKC,YAAYN,MAAAA;AAE1BA,SAAOO,MAAMR,MAAMS,OAAOC,SAASC,SAASC,QAAQ,QAAQ,EAAA,IAAMH,OAAOC,SAASG;AAElF,QAAMC,QAAQC,WAAW,MAAA;AACvBb,aAASI,KAAKU,YAAYf,MAAAA;EAC5B,GAAG,GAAA;AAEHQ,SAAOQ,iBAAiB,YAAY,CAACC,UAAAA;AACnCC,iBAAaL,KAAAA;AACbZ,aAASI,KAAKU,YAAYf,MAAAA;EAC5B,CAAA;AACF;AAEA,IAAA,2BAAe,OAAOmB,YAAAA;AACpB,QAAMC,WAAWD,QAAQE,cAAcC,aAAaC,aAAa,EAAEC,SAA4BC,WAAAA,GAAcC;AAC7G,MAAI,CAAChC,YAAY0B,UAAUO,sBAAsB;AAC/C7B,mBAAeD,SAAAA;EACjB;AAEA,SAAO+B,YAAYN,aAAaO,MAAM,IAAA;AACxC;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "isSocket", "globalThis", "__args", "appScheme", "checkAppScheme", "url", "iframe", "document", "createElement", "style", "display", "body", "appendChild", "src", "window", "location", "pathname", "replace", "search", "timer", "setTimeout", "removeChild", "addEventListener", "event", "clearTimeout", "context", "settings", "getCapability", "Capabilities", "SettingsStore", "getStore", "DECK_PLUGIN", "value", "enableNativeRedirect", "contributes", "Null"]
|
|
7
|
-
}
|
|
@@ -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,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types/schema.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\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 = 'dxos.org/plugin/deck/plank-companion';\nexport const DECK_COMPANION_TYPE = 'dxos.org/plugin/deck/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}).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": "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",
|
|
6
|
-
"names": ["Schema", "LayoutAction", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "DECK_COMPANION_TYPE", "NewPlankPositions", "OverscrollOptions", "DeckSettingsSchema", "Schema", "Struct", "showHints", "optional", "Boolean", "enableDeck", "enableStatusbar", "enableNativeRedirect", "newPlankPositioning", "Literal", "overscroll", "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", "id", "type", "Adjust", "TaggedClass", "meta", "input", "output", "Void", "UpdatePlankSize", "size", "ChangeCompanion", "primary", "companion", "Null"]
|
|
7
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DECK_PLUGIN
|
|
3
|
-
} from "./chunk-Z5KITAZW.mjs";
|
|
4
|
-
|
|
5
|
-
// src/capabilities/capabilities.ts
|
|
6
|
-
import { defineCapability } from "@dxos/app-framework";
|
|
7
|
-
(function(DeckCapabilities2) {
|
|
8
|
-
DeckCapabilities2.DeckState = defineCapability(`${DECK_PLUGIN}/capability/state`);
|
|
9
|
-
DeckCapabilities2.MutableDeckState = defineCapability(`${DECK_PLUGIN}/capability/state`);
|
|
10
|
-
})(DeckCapabilities || (DeckCapabilities = {}));
|
|
11
|
-
var DeckCapabilities;
|
|
12
|
-
|
|
13
|
-
export {
|
|
14
|
-
DeckCapabilities
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=chunk-M57WD3V6.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type DeepReadonly } from '@dxos/util';\n\nimport { DECK_PLUGIN } from '../meta';\nimport { type DeckPluginState } from '../types';\n\nexport namespace DeckCapabilities {\n export const DeckState = defineCapability<DeepReadonly<DeckPluginState>>(`${DECK_PLUGIN}/capability/state`);\n export const MutableDeckState = defineCapability<DeckPluginState>(`${DECK_PLUGIN}/capability/state`);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;AAIA,SAASA,wBAAwB;UAMhBC,mBAAAA;oBACFC,YAAYC,iBAAgD,GAAGC,WAAAA,mBAA8B;oBAC7FC,mBAAmBF,iBAAkC,GAAGC,WAAAA,mBAA8B;AACrG,GAHiBH,qBAAAA,mBAAAA,CAAAA,EAAAA;;",
|
|
6
|
-
"names": ["defineCapability", "DeckCapabilities", "DeckState", "defineCapability", "DECK_PLUGIN", "MutableDeckState"]
|
|
7
|
-
}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DeckCapabilities
|
|
3
|
-
} from "./chunk-M57WD3V6.mjs";
|
|
4
|
-
import {
|
|
5
|
-
defaultDeck,
|
|
6
|
-
getMode
|
|
7
|
-
} from "./chunk-F5BQOOEG.mjs";
|
|
8
|
-
import {
|
|
9
|
-
DECK_PLUGIN
|
|
10
|
-
} from "./chunk-Z5KITAZW.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
|
-
[`${DECK_PLUGIN}/complementary-sidebar-state`]: "expanded",
|
|
21
|
-
[`${DECK_PLUGIN}/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(DECK_PLUGIN, {
|
|
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: 57,
|
|
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
|
-
const layout = live({
|
|
91
|
-
get mode() {
|
|
92
|
-
return getMode(state.values.deck);
|
|
93
|
-
},
|
|
94
|
-
get dialogOpen() {
|
|
95
|
-
return state.values.dialogOpen;
|
|
96
|
-
},
|
|
97
|
-
get sidebarOpen() {
|
|
98
|
-
return state.values.sidebarState === "expanded";
|
|
99
|
-
},
|
|
100
|
-
get complementarySidebarOpen() {
|
|
101
|
-
return state.values.complementarySidebarState === "expanded";
|
|
102
|
-
},
|
|
103
|
-
get workspace() {
|
|
104
|
-
return state.values.activeDeck;
|
|
105
|
-
},
|
|
106
|
-
get active() {
|
|
107
|
-
return state.values.deck.solo ? [
|
|
108
|
-
state.values.deck.solo
|
|
109
|
-
] : state.values.deck.active;
|
|
110
|
-
},
|
|
111
|
-
get inactive() {
|
|
112
|
-
return state.values.deck.inactive;
|
|
113
|
-
},
|
|
114
|
-
get scrollIntoView() {
|
|
115
|
-
return state.values.scrollIntoView;
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
return [
|
|
119
|
-
contributes(DeckCapabilities.DeckState, state.values, () => state.close()),
|
|
120
|
-
contributes(Capabilities.Layout, layout)
|
|
121
|
-
];
|
|
122
|
-
};
|
|
123
|
-
var state_default = DeckStateFactory;
|
|
124
|
-
|
|
125
|
-
export {
|
|
126
|
-
DeckStateFactory,
|
|
127
|
-
state_default
|
|
128
|
-
};
|
|
129
|
-
//# sourceMappingURL=chunk-NRCPV6AV.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 { DECK_PLUGIN } 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 [`${DECK_PLUGIN}/complementary-sidebar-state`]: 'expanded',\n [`${DECK_PLUGIN}/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\nexport const DeckStateFactory = () => {\n migrateSidebarState();\n\n const state = new LocalStorageStore<DeckPluginState>(DECK_PLUGIN, {\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 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": ";;;;;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,yBAAyB;;AAQlC,IAAMC,UAAU;AAIhB,IAAMC,8BAA8B;EAClC,CAAC,GAAGC,WAAAA,8BAAyC,GAAG;EAChD,CAAC,GAAGA,WAAAA,gBAA2B,GAAG;AACpC;AAEA,IAAMC,sBAAsB,MAAA;AAC1BC,SAAOC,QAAQJ,2BAAAA,EAA6BK,QAAQ,CAAC,CAACC,KAAKC,YAAAA,MAAa;AACtE,QAAIR,QAAQS,KAAKC,aAAaC,QAAQJ,GAAAA,KAAQ,OAAA,GAAU;AACtDG,mBAAaE,QAAQL,KAAKC,YAAAA;IAC5B;EACF,CAAA;AACF;AAEO,IAAMK,mBAAmB,MAAA;AAC9BV,sBAAAA;AAEA,QAAMW,QAAQ,IAAIC,kBAAmCb,aAAa;IAChEc,cAAc;IACdC,2BAA2B;IAC3BC,2BAA2BC;IAC3BC,eAAe;IACfC,YAAY;IACZC,kBAAkBH;IAClBI,YAAYJ;IACZK,gBAAgB;IAChBC,eAAeN;IACfO,iBAAiBP;IACjBQ,aAAa;IACbC,QAAQ,CAAA;IACRC,eAAeV;IACfW,YAAY;IACZC,cAAc;IACdC,OAAO;MACLC,SAAS;QAAE,GAAGC;MAAY;IAC5B;IACA,IAAIC,OAAO;AACT,YAAMA,OAAO,KAAKH,MAAM,KAAKF,UAAU;AACvCM,gBAAUD,MAAM,mBAAmB,KAAKL,UAAU,IAAE;;;;;;;;;AACpD,aAAOK;IACT;IACAE,cAAc,CAAC;IACfC,gBAAgBnB;EAClB,CAAA;AAEAL,QACGyB,KAAK;IAAEhC,KAAK;IAAgBiC,MAAMzB,kBAAkB0B,KAAI;EAAiB,CAAA,EACzEF,KAAK;IAAEhC,KAAK;IAA6BiC,MAAMzB,kBAAkB0B,KAAI;EAAiB,CAAA,EACtFF,KAAK;IAAEhC,KAAK;IAA6BiC,MAAMzB,kBAAkB2B,OAAO;MAAEC,gBAAgB;IAAK,CAAA;EAAG,CAAA,EAClGJ,KAAK;IAAEhC,KAAK;IAASiC,MAAMzB,kBAAkB6B,KAAI;EAA8B,CAAA,EAC/EL,KAAK;IAAEhC,KAAK;IAAciC,MAAMzB,kBAAkB2B,OAAM;EAAG,CAAA,EAC3DH,KAAK;IAAEhC,KAAK;IAAgBiC,MAAMzB,kBAAkB2B,OAAM;EAAG,CAAA;AAEhE,QAAMG,SAASC,KAA0B;IACvC,IAAIC,OAAO;AACT,aAAOC,QAAQlC,MAAMmC,OAAOd,IAAI;IAClC;IACA,IAAId,aAAa;AACf,aAAOP,MAAMmC,OAAO5B;IACtB;IACA,IAAI6B,cAAc;AAChB,aAAOpC,MAAMmC,OAAOjC,iBAAiB;IACvC;IACA,IAAImC,2BAA2B;AAC7B,aAAOrC,MAAMmC,OAAOhC,8BAA8B;IACpD;IACA,IAAImC,YAAY;AACd,aAAOtC,MAAMmC,OAAOnB;IACtB;IACA,IAAIuB,SAAS;AACX,aAAOvC,MAAMmC,OAAOd,KAAKmB,OAAO;QAACxC,MAAMmC,OAAOd,KAAKmB;UAAQxC,MAAMmC,OAAOd,KAAKkB;IAC/E;IACA,IAAIE,WAAW;AACb,aAAOzC,MAAMmC,OAAOd,KAAKoB;IAC3B;IACA,IAAIjB,iBAAiB;AACnB,aAAOxB,MAAMmC,OAAOX;IACtB;EACF,CAAA;AAEA,SAAO;IACLkB,YAAYC,iBAAiBC,WAAW5C,MAAMmC,QAAQ,MAAMnC,MAAM6C,MAAK,CAAA;IACvEH,YAAYI,aAAaC,QAAQhB,MAAAA;;AAErC;AAEA,IAAA,gBAAehC;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "invariant", "live", "LocalStorageStore", "boolean", "migrateSidebarStateDefaults", "DECK_PLUGIN", "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", "layout", "live", "mode", "getMode", "values", "sidebarOpen", "complementarySidebarOpen", "workspace", "active", "solo", "inactive", "contributes", "DeckCapabilities", "DeckState", "close", "Capabilities", "Layout"]
|
|
7
|
-
}
|