@dxos/plugin-deck 0.8.4-main.69d29f4 → 0.8.4-main.6fa680abb7
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-HXRXEUOZ.mjs +14 -0
- package/dist/lib/browser/Banner-HXRXEUOZ.mjs.map +7 -0
- package/dist/lib/browser/DeckSettings-HSSQKFNE.mjs +96 -0
- package/dist/lib/browser/DeckSettings-HSSQKFNE.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-DTVCULQ4.mjs → app-graph-builder-MP6INIM2.mjs} +16 -13
- package/dist/lib/browser/app-graph-builder-MP6INIM2.mjs.map +7 -0
- package/dist/lib/browser/{check-app-scheme-JSRXXIYF.mjs → check-app-scheme-AUNCD2Y6.mjs} +9 -8
- package/dist/lib/browser/check-app-scheme-AUNCD2Y6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ATFPDN6J.mjs → chunk-3P2FJVXC.mjs} +35 -49
- package/dist/lib/browser/chunk-3P2FJVXC.mjs.map +7 -0
- package/dist/lib/browser/chunk-BJDEG7YZ.mjs +74 -0
- package/dist/lib/browser/chunk-BJDEG7YZ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-EREEXCHO.mjs → chunk-ITNJS5QX.mjs} +214 -276
- package/dist/lib/browser/chunk-ITNJS5QX.mjs.map +7 -0
- package/dist/lib/browser/chunk-L3RYMAV7.mjs +16 -0
- package/dist/lib/browser/chunk-L3RYMAV7.mjs.map +7 -0
- package/dist/lib/browser/{chunk-UNG4CLLP.mjs → chunk-TAHLKBDO.mjs} +46 -20
- package/dist/lib/browser/chunk-TAHLKBDO.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +39 -35
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-CDYBLZJ4.mjs → operation-resolver-2TEGT4PG.mjs} +166 -122
- package/dist/lib/browser/operation-resolver-2TEGT4PG.mjs.map +7 -0
- package/dist/lib/browser/{react-root-LYNEKGHM.mjs → react-root-AS4IOYDG.mjs} +8 -7
- package/dist/lib/browser/react-root-AS4IOYDG.mjs.map +7 -0
- package/dist/lib/browser/react-surface-FH7TC6WW.mjs +44 -0
- package/dist/lib/browser/react-surface-FH7TC6WW.mjs.map +7 -0
- package/dist/lib/browser/{settings-OMHVGZ6V.mjs → settings-PTMGCSJH.mjs} +8 -5
- package/dist/lib/browser/settings-PTMGCSJH.mjs.map +7 -0
- package/dist/lib/browser/{state-OC3BSB6E.mjs → state-MA4SQ7BE.mjs} +11 -8
- package/dist/lib/browser/state-MA4SQ7BE.mjs.map +7 -0
- package/dist/lib/browser/{toolkit-R53LD3EA.mjs → toolkit-6B34QFU3.mjs} +10 -8
- package/dist/lib/browser/toolkit-6B34QFU3.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +4 -5
- package/dist/lib/browser/{url-handler-53TE6JZO.mjs → url-handler-FEUFPQIP.mjs} +22 -17
- package/dist/lib/browser/url-handler-FEUFPQIP.mjs.map +7 -0
- package/dist/lib/node-esm/Banner-RN7XXOXY.mjs +15 -0
- package/dist/lib/node-esm/Banner-RN7XXOXY.mjs.map +7 -0
- package/dist/lib/node-esm/DeckSettings-DJRFLKQS.mjs +97 -0
- package/dist/lib/node-esm/DeckSettings-DJRFLKQS.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-473BNZDJ.mjs → app-graph-builder-ACHG5HY7.mjs} +16 -13
- package/dist/lib/node-esm/app-graph-builder-ACHG5HY7.mjs.map +7 -0
- package/dist/lib/node-esm/{check-app-scheme-IVYRHKRH.mjs → check-app-scheme-WN76GWVC.mjs} +9 -8
- package/dist/lib/node-esm/check-app-scheme-WN76GWVC.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-DGTRKKWZ.mjs +76 -0
- package/dist/lib/node-esm/chunk-DGTRKKWZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-SKEVPQ7E.mjs → chunk-EMU4VIPH.mjs} +46 -20
- package/dist/lib/node-esm/chunk-EMU4VIPH.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XAKTY3EB.mjs → chunk-GZJAQ5IP.mjs} +34 -49
- package/dist/lib/node-esm/chunk-GZJAQ5IP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-V6VEXRD4.mjs → chunk-MBCCNIWY.mjs} +213 -275
- package/dist/lib/node-esm/chunk-MBCCNIWY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-XCNF4COU.mjs +18 -0
- package/dist/lib/node-esm/chunk-XCNF4COU.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +39 -35
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{operation-resolver-WUOE33ID.mjs → operation-resolver-GCMCCI7A.mjs} +166 -122
- package/dist/lib/node-esm/operation-resolver-GCMCCI7A.mjs.map +7 -0
- package/dist/lib/node-esm/{react-root-L7H43AS3.mjs → react-root-7DTDLAF4.mjs} +8 -7
- package/dist/lib/node-esm/react-root-7DTDLAF4.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-77DKVMDV.mjs → react-surface-U6Z2K324.mjs} +18 -16
- package/dist/lib/node-esm/react-surface-U6Z2K324.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-2HB6FKIK.mjs → settings-LPPFLXNJ.mjs} +8 -5
- package/dist/lib/node-esm/settings-LPPFLXNJ.mjs.map +7 -0
- package/dist/lib/node-esm/{state-JRQ45ACJ.mjs → state-KNRU3GDC.mjs} +11 -8
- package/dist/lib/node-esm/state-KNRU3GDC.mjs.map +7 -0
- package/dist/lib/node-esm/{toolkit-JLPZNNKB.mjs → toolkit-SOWYKJY3.mjs} +10 -8
- package/dist/lib/node-esm/toolkit-SOWYKJY3.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +4 -5
- package/dist/lib/node-esm/{url-handler-QGF2R24T.mjs → url-handler-4LEB7UWF.mjs} +22 -17
- package/dist/lib/node-esm/url-handler-4LEB7UWF.mjs.map +7 -0
- package/dist/types/src/DeckPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/check-app-scheme/check-app-scheme.d.ts +1 -1
- package/dist/types/src/capabilities/check-app-scheme/check-app-scheme.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/settings.d.ts +4 -3
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state/index.d.ts +6 -6
- package/dist/types/src/capabilities/state/state.d.ts +7 -7
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
- package/dist/types/src/capabilities/toolkit/index.d.ts +1 -1
- package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/toolkit/toolkit.d.ts +4 -3
- package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -1
- package/dist/types/src/capabilities/tools/tools.d.ts +1 -1
- package/dist/types/src/capabilities/tools/tools.d.ts.map +1 -1
- package/dist/types/src/capabilities/url-handler/url-handler.d.ts +1 -1
- package/dist/types/src/capabilities/url-handler/url-handler.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts +1 -0
- 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 +2 -2
- package/dist/types/src/components/Plank/Plank.d.ts.map +1 -1
- package/dist/types/src/components/Plank/Plank.stories.d.ts +3 -2
- package/dist/types/src/components/Plank/Plank.stories.d.ts.map +1 -1
- package/dist/types/src/components/Plank/PlankControls.d.ts.map +1 -1
- package/dist/types/src/components/Plank/PlankError.d.ts +5 -3
- package/dist/types/src/components/Plank/PlankError.d.ts.map +1 -1
- 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/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/{components → containers}/DeckSettings/DeckSettings.d.ts.map +1 -1
- 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 +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useDeckCompanions.d.ts +0 -1
- package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -1
- package/dist/types/src/hooks/useMainSize.d.ts +2 -2
- 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/layout.d.ts +1 -7
- package/dist/types/src/layout.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +6 -6
- package/dist/types/src/types/capabilities.d.ts.map +1 -1
- package/dist/types/src/types/events.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +18 -16
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +45 -43
- package/src/DeckPlugin.ts +12 -11
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +11 -10
- package/src/capabilities/check-app-scheme/check-app-scheme.ts +12 -8
- package/src/capabilities/operation-resolver/operation-resolver.ts +110 -107
- package/src/capabilities/react-root/react-root.tsx +2 -2
- package/src/capabilities/react-surface/react-surface.tsx +11 -10
- package/src/capabilities/settings/settings.ts +3 -2
- package/src/capabilities/state/state.ts +6 -5
- package/src/capabilities/toolkit/toolkit.ts +7 -6
- package/src/capabilities/tools/tools.ts +0 -1
- package/src/capabilities/url-handler/url-handler.ts +16 -13
- package/src/components/DeckLayout/ActiveNode.tsx +3 -2
- package/src/components/DeckLayout/Banner.tsx +8 -8
- package/src/components/DeckLayout/ContentEmpty.tsx +3 -3
- package/src/components/DeckLayout/DeckLayout.stories.tsx +8 -6
- package/src/components/DeckLayout/DeckMain.tsx +28 -27
- package/src/components/DeckLayout/Dialog.tsx +10 -4
- package/src/components/DeckLayout/Fallback.tsx +2 -6
- package/src/components/DeckLayout/Popover.tsx +34 -8
- package/src/components/DeckLayout/StatusBar.tsx +4 -4
- package/src/components/DeckLayout/Toast.tsx +3 -3
- package/src/components/Plank/Plank.stories.tsx +7 -5
- package/src/components/Plank/Plank.tsx +32 -24
- package/src/components/Plank/PlankControls.tsx +6 -8
- package/src/components/Plank/PlankError.tsx +29 -15
- package/src/components/Plank/PlankHeading.tsx +20 -23
- package/src/components/Plank/PlankLoading.tsx +1 -1
- package/src/components/Sidebar/ComplementarySidebar.tsx +46 -49
- package/src/components/Sidebar/Sidebar.tsx +4 -4
- package/src/components/Sidebar/SidebarButton.tsx +12 -12
- package/src/components/fragments.ts +9 -4
- 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 +23 -23
- package/src/containers/DeckSettings/index.ts +7 -0
- package/src/containers/index.ts +8 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useCompanions.ts +2 -2
- package/src/hooks/useDeckCompanions.ts +3 -8
- package/src/hooks/useDeckState.ts +3 -3
- package/src/hooks/useHoistStatusbar.ts +1 -1
- package/src/hooks/useMainSize.ts +2 -2
- package/src/hooks/useNodeActionExpander.ts +1 -1
- package/src/hooks/useSelectedCompanion.ts +32 -0
- package/src/layout.ts +1 -14
- package/src/meta.ts +1 -1
- package/src/translations.ts +1 -0
- package/src/types/capabilities.ts +5 -5
- package/src/types/events.ts +5 -4
- package/src/types/schema.ts +22 -21
- package/src/util/overscroll.ts +3 -3
- package/dist/lib/browser/app-graph-builder-DTVCULQ4.mjs.map +0 -7
- package/dist/lib/browser/check-app-scheme-JSRXXIYF.mjs.map +0 -7
- package/dist/lib/browser/chunk-ATFPDN6J.mjs.map +0 -7
- package/dist/lib/browser/chunk-EREEXCHO.mjs.map +0 -7
- package/dist/lib/browser/chunk-NHABISX2.mjs +0 -152
- package/dist/lib/browser/chunk-NHABISX2.mjs.map +0 -7
- package/dist/lib/browser/chunk-UNG4CLLP.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-CDYBLZJ4.mjs.map +0 -7
- package/dist/lib/browser/react-root-LYNEKGHM.mjs.map +0 -7
- package/dist/lib/browser/react-surface-RPKD7XUR.mjs +0 -42
- package/dist/lib/browser/react-surface-RPKD7XUR.mjs.map +0 -7
- package/dist/lib/browser/settings-OMHVGZ6V.mjs.map +0 -7
- package/dist/lib/browser/state-OC3BSB6E.mjs.map +0 -7
- package/dist/lib/browser/toolkit-R53LD3EA.mjs.map +0 -7
- package/dist/lib/browser/url-handler-53TE6JZO.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-473BNZDJ.mjs.map +0 -7
- package/dist/lib/node-esm/check-app-scheme-IVYRHKRH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ADPMWKLL.mjs +0 -154
- package/dist/lib/node-esm/chunk-ADPMWKLL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SKEVPQ7E.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-V6VEXRD4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XAKTY3EB.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-WUOE33ID.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-L7H43AS3.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-77DKVMDV.mjs.map +0 -7
- package/dist/lib/node-esm/settings-2HB6FKIK.mjs.map +0 -7
- package/dist/lib/node-esm/state-JRQ45ACJ.mjs.map +0 -7
- package/dist/lib/node-esm/toolkit-JLPZNNKB.mjs.map +0 -7
- package/dist/lib/node-esm/url-handler-QGF2R24T.mjs.map +0 -7
- package/dist/types/src/components/DeckSettings/index.d.ts +0 -2
- package/dist/types/src/components/DeckSettings/index.d.ts.map +0 -1
- package/src/components/DeckSettings/index.ts +0 -5
- /package/dist/types/src/{components → containers}/DeckSettings/DeckSettings.d.ts +0 -0
|
@@ -1,62 +1,63 @@
|
|
|
1
1
|
import {
|
|
2
|
-
getCompanionId,
|
|
3
2
|
useBreakpoints,
|
|
4
3
|
useCompanions,
|
|
5
4
|
useDeckCompanions,
|
|
6
5
|
useDeckState,
|
|
7
6
|
useHoistStatusbar,
|
|
8
7
|
useMainSize,
|
|
9
|
-
useNodeActionExpander
|
|
10
|
-
|
|
8
|
+
useNodeActionExpander,
|
|
9
|
+
useSelectedCompanion
|
|
10
|
+
} from "./chunk-TAHLKBDO.mjs";
|
|
11
11
|
import {
|
|
12
12
|
calculateOverscroll,
|
|
13
|
-
layoutAppliesTopbar
|
|
14
|
-
|
|
15
|
-
} from "./chunk-NHABISX2.mjs";
|
|
13
|
+
layoutAppliesTopbar
|
|
14
|
+
} from "./chunk-BJDEG7YZ.mjs";
|
|
16
15
|
import {
|
|
17
16
|
DeckCapabilities,
|
|
18
17
|
DeckOperation,
|
|
19
|
-
NewPlankPositions,
|
|
20
|
-
OverscrollOptions,
|
|
21
18
|
PLANK_COMPANION_TYPE,
|
|
22
|
-
getMode
|
|
19
|
+
getMode
|
|
20
|
+
} from "./chunk-3P2FJVXC.mjs";
|
|
21
|
+
import {
|
|
23
22
|
meta
|
|
24
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-L3RYMAV7.mjs";
|
|
25
24
|
|
|
26
25
|
// src/components/DeckLayout/Banner.tsx
|
|
27
26
|
import React9 from "react";
|
|
28
|
-
import { Surface as Surface5 } from "@dxos/app-framework/
|
|
27
|
+
import { Surface as Surface5 } from "@dxos/app-framework/ui";
|
|
29
28
|
import { useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
30
29
|
import { mx as mx5, osTranslations } from "@dxos/ui-theme";
|
|
31
30
|
|
|
32
31
|
// src/components/Sidebar/ComplementarySidebar.tsx
|
|
33
32
|
import React7, { Fragment as Fragment2, useCallback as useCallback5, useEffect as useEffect3, useMemo as useMemo3, useState as useState2 } from "react";
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import { IconButton as IconButton4, Main, toLocalizedString as toLocalizedString2, useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
33
|
+
import { Surface as Surface3, useOperationInvoker as useOperationInvoker5 } from "@dxos/app-framework/ui";
|
|
34
|
+
import { LayoutOperation as LayoutOperation4, getCompanionVariant as getCompanionVariant4 } from "@dxos/app-toolkit";
|
|
35
|
+
import { IconButton as IconButton4, Main, ScrollArea, toLocalizedString as toLocalizedString2, useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
37
36
|
import { Tabs } from "@dxos/react-ui-tabs";
|
|
38
37
|
import { mx as mx4 } from "@dxos/ui-theme";
|
|
39
38
|
|
|
40
39
|
// src/components/Plank/Plank.tsx
|
|
41
40
|
import { useFocusFinders } from "@fluentui/react-tabster";
|
|
42
41
|
import React5, { memo as memo2, useCallback as useCallback3, useLayoutEffect, useMemo as useMemo2, useRef } from "react";
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
42
|
+
import { Surface as Surface2, useOperationInvoker as useOperationInvoker3 } from "@dxos/app-framework/ui";
|
|
43
|
+
import { LayoutOperation as LayoutOperation2, getCompanionVariant as getCompanionVariant2 } from "@dxos/app-toolkit";
|
|
44
|
+
import { useAppGraph as useAppGraph2 } from "@dxos/app-toolkit/ui";
|
|
45
45
|
import { debounce } from "@dxos/async";
|
|
46
46
|
import { useNode } from "@dxos/plugin-graph";
|
|
47
|
-
import {
|
|
47
|
+
import { useAttentionAttributes } from "@dxos/react-ui-attention";
|
|
48
48
|
import { StackItem as StackItem2, railGridHorizontal } from "@dxos/react-ui-stack";
|
|
49
49
|
import { mainIntrinsicSize, mx as mx3 } from "@dxos/ui-theme";
|
|
50
50
|
|
|
51
51
|
// src/components/Plank/PlankError.tsx
|
|
52
52
|
import React4, { useEffect as useEffect2, useState } from "react";
|
|
53
|
-
import { useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
54
|
-
import
|
|
53
|
+
import { ErrorFallback, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
54
|
+
import "@dxos/ui-theme";
|
|
55
55
|
|
|
56
56
|
// src/components/Plank/PlankHeading.tsx
|
|
57
57
|
import React2, { Fragment, memo, useCallback as useCallback2, useEffect, useMemo } from "react";
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
58
|
+
import { Surface, useOperationInvoker as useOperationInvoker2 } from "@dxos/app-framework/ui";
|
|
59
|
+
import { LayoutOperation, getCompanionVariant } from "@dxos/app-toolkit";
|
|
60
|
+
import { useAppGraph } from "@dxos/app-toolkit/ui";
|
|
60
61
|
import { Graph, useActionRunner } from "@dxos/plugin-graph";
|
|
61
62
|
import { Icon, IconButton as IconButton2, Popover, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
62
63
|
import { StackItem } from "@dxos/react-ui-stack";
|
|
@@ -65,17 +66,15 @@ import { hoverableControls, hoverableFocusedWithinControls } from "@dxos/ui-them
|
|
|
65
66
|
|
|
66
67
|
// src/components/fragments.ts
|
|
67
68
|
import { mx } from "@dxos/ui-theme";
|
|
68
|
-
var soloInlinePadding = "
|
|
69
|
-
var sidebarToggleStyles = "
|
|
70
|
-
var fixedSidebarToggleStyles = mx(sidebarToggleStyles, "
|
|
71
|
-
var fixedComplementarySidebarToggleStyles = mx(sidebarToggleStyles, "
|
|
69
|
+
var soloInlinePadding = "ps-[calc(env(safe-area-inset-left)+.25rem)] pe-[calc(env(safe-area-inset-right)+.25rem)]";
|
|
70
|
+
var sidebarToggleStyles = "h-(--dx-rail-item) w-(--dx-rail-item) absolute bottom-2 z-[1] !bg-deck-surface lg:hidden";
|
|
71
|
+
var fixedSidebarToggleStyles = mx(sidebarToggleStyles, "left-2");
|
|
72
|
+
var fixedComplementarySidebarToggleStyles = mx(sidebarToggleStyles, "right-2");
|
|
72
73
|
|
|
73
74
|
// src/components/Plank/PlankControls.tsx
|
|
74
75
|
import React, { forwardRef, useCallback } from "react";
|
|
75
|
-
import { useOperationInvoker } from "@dxos/app-framework/
|
|
76
|
-
import { invariant } from "@dxos/invariant";
|
|
76
|
+
import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
77
77
|
import { ButtonGroup, IconButton, useTranslation } from "@dxos/react-ui";
|
|
78
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-deck/src/components/Plank/PlankControls.tsx";
|
|
79
78
|
var PlankControl = ({ icon, label: label3, ...props }) => {
|
|
80
79
|
return /* @__PURE__ */ React.createElement(IconButton, {
|
|
81
80
|
label: label3,
|
|
@@ -86,31 +85,20 @@ var PlankControl = ({ icon, label: label3, ...props }) => {
|
|
|
86
85
|
...props
|
|
87
86
|
});
|
|
88
87
|
};
|
|
89
|
-
var plankControlSpacing = "
|
|
88
|
+
var plankControlSpacing = "px-2";
|
|
90
89
|
var PlankCompanionControls = /* @__PURE__ */ forwardRef(({ primary }, forwardedRef) => {
|
|
91
90
|
const { t } = useTranslation(meta.id);
|
|
92
91
|
const { invokePromise } = useOperationInvoker();
|
|
93
92
|
const handleCloseCompanion = useCallback(() => {
|
|
94
|
-
invariant(primary, void 0, {
|
|
95
|
-
F: __dxlog_file,
|
|
96
|
-
L: 49,
|
|
97
|
-
S: void 0,
|
|
98
|
-
A: [
|
|
99
|
-
"primary",
|
|
100
|
-
""
|
|
101
|
-
]
|
|
102
|
-
});
|
|
103
93
|
return invokePromise(DeckOperation.ChangeCompanion, {
|
|
104
|
-
primary,
|
|
105
94
|
companion: null
|
|
106
95
|
});
|
|
107
96
|
}, [
|
|
108
|
-
invokePromise
|
|
109
|
-
primary
|
|
97
|
+
invokePromise
|
|
110
98
|
]);
|
|
111
99
|
return /* @__PURE__ */ React.createElement("div", {
|
|
112
100
|
ref: forwardedRef,
|
|
113
|
-
className: "contents app-no-drag"
|
|
101
|
+
className: "contents dx-app-no-drag"
|
|
114
102
|
}, /* @__PURE__ */ React.createElement(PlankControl, {
|
|
115
103
|
label: t("close companion label"),
|
|
116
104
|
variant: "ghost",
|
|
@@ -126,7 +114,7 @@ var PlankControls = /* @__PURE__ */ forwardRef(({ children, classNames, variant
|
|
|
126
114
|
return /* @__PURE__ */ React.createElement(ButtonGroup, {
|
|
127
115
|
...props,
|
|
128
116
|
classNames: [
|
|
129
|
-
"app-no-drag
|
|
117
|
+
"dx-app-no-drag opacity-100!",
|
|
130
118
|
classNames
|
|
131
119
|
],
|
|
132
120
|
ref: forwardedRef
|
|
@@ -191,7 +179,7 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
191
179
|
useEffect(() => {
|
|
192
180
|
const frame = requestAnimationFrame(() => {
|
|
193
181
|
if (node) {
|
|
194
|
-
void Graph.expand(graph, node.id);
|
|
182
|
+
void Graph.expand(graph, node.id, "child");
|
|
195
183
|
}
|
|
196
184
|
});
|
|
197
185
|
return () => cancelAnimationFrame(frame);
|
|
@@ -215,7 +203,7 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
215
203
|
isCompanionNode,
|
|
216
204
|
deckEnabled
|
|
217
205
|
]);
|
|
218
|
-
const
|
|
206
|
+
const variant = isCompanionNode ? getCompanionVariant(id) : void 0;
|
|
219
207
|
const sigilActions = useMemo(() => {
|
|
220
208
|
if (!node) {
|
|
221
209
|
return void 0;
|
|
@@ -224,11 +212,11 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
224
212
|
} else {
|
|
225
213
|
return [
|
|
226
214
|
actions,
|
|
227
|
-
Graph.getActions(graph, node.id).filter((
|
|
215
|
+
Graph.getActions(graph, node.id).filter((action) => [
|
|
228
216
|
"list-item",
|
|
229
217
|
"list-item-primary",
|
|
230
218
|
"heading-list-item"
|
|
231
|
-
].includes(
|
|
219
|
+
].includes(action.properties.disposition))
|
|
232
220
|
].filter((a) => a.length > 0);
|
|
233
221
|
}
|
|
234
222
|
}, [
|
|
@@ -256,11 +244,11 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
256
244
|
});
|
|
257
245
|
} else if (eventType === "close") {
|
|
258
246
|
if (part === "complementary") {
|
|
259
|
-
return invokeSync(
|
|
247
|
+
return invokeSync(LayoutOperation.UpdateComplementary, {
|
|
260
248
|
state: "collapsed"
|
|
261
249
|
});
|
|
262
250
|
} else {
|
|
263
|
-
return invokeSync(
|
|
251
|
+
return invokeSync(LayoutOperation.Close, {
|
|
264
252
|
subject: [
|
|
265
253
|
id
|
|
266
254
|
]
|
|
@@ -278,29 +266,27 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
278
266
|
id,
|
|
279
267
|
part
|
|
280
268
|
]);
|
|
281
|
-
const ActionRoot = node && popoverAnchorId ===
|
|
269
|
+
const ActionRoot = node && popoverAnchorId === `${meta.id}:${node.id}` ? Popover.Anchor : Fragment;
|
|
282
270
|
const handleTabClick = useCallback2((event) => {
|
|
283
271
|
const target = event.target.closest("[data-id]");
|
|
284
272
|
const tabId = target?.dataset?.id;
|
|
285
|
-
if (
|
|
273
|
+
if (tabId) {
|
|
286
274
|
void invokePromise(DeckOperation.ChangeCompanion, {
|
|
287
|
-
primary: primaryId,
|
|
288
275
|
companion: tabId
|
|
289
276
|
});
|
|
290
277
|
}
|
|
291
278
|
}, [
|
|
292
|
-
primaryId,
|
|
293
279
|
invokePromise
|
|
294
280
|
]);
|
|
295
281
|
return /* @__PURE__ */ React2.createElement(StackItem.Heading, {
|
|
296
282
|
classNames: [
|
|
297
|
-
"
|
|
298
|
-
part === "solo" ? soloInlinePadding : "
|
|
283
|
+
"py-1 items-stretch gap-1 sticky left-12 dx-app-drag min-w-0 dx-contain-layout dx-density-coarse",
|
|
284
|
+
part === "solo" ? soloInlinePadding : "px-1",
|
|
299
285
|
...layoutMode === "solo--fullscreen" ? [
|
|
300
286
|
hoverableControls,
|
|
301
287
|
hoverableFocusedWithinControls,
|
|
302
|
-
"*:transition-opacity *:opacity-
|
|
303
|
-
"hover-hover:hover:bg-
|
|
288
|
+
"*:transition-opacity *:opacity-(--controls-opacity) bg-transparent border-transparent transition-[background-color,border-color]",
|
|
289
|
+
"hover-hover:hover:bg-header-surface focus-within:bg-header-surface hover-hover:hover:border-subdued-separator focus-within:border-subdued-separator"
|
|
304
290
|
] : []
|
|
305
291
|
],
|
|
306
292
|
"data-plank-heading": true
|
|
@@ -308,7 +294,7 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
308
294
|
/* TODO(thure): IMPORTANT: This is a tablist; it should be implemented as such. */
|
|
309
295
|
/* @__PURE__ */ React2.createElement("div", {
|
|
310
296
|
role: "none",
|
|
311
|
-
className: "flex-1 min-
|
|
297
|
+
className: "flex-1 min-w-0 overflow-x-auto scrollbar-none flex gap-1"
|
|
312
298
|
}, companions.map(({ id: id2, properties: { icon: icon2, label: label4 } }) => /* @__PURE__ */ React2.createElement(IconButton2, {
|
|
313
299
|
key: id2,
|
|
314
300
|
"data-id": id2,
|
|
@@ -325,7 +311,7 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
325
311
|
triggerLabel: t("actions menu label"),
|
|
326
312
|
actions: sigilActions,
|
|
327
313
|
onAction: handleAction
|
|
328
|
-
}, /* @__PURE__ */ React2.createElement(Surface, {
|
|
314
|
+
}, /* @__PURE__ */ React2.createElement(Surface.Surface, {
|
|
329
315
|
role: "menu-footer",
|
|
330
316
|
data: {
|
|
331
317
|
subject: node.data
|
|
@@ -343,7 +329,7 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
343
329
|
...pending && {
|
|
344
330
|
classNames: "text-description"
|
|
345
331
|
}
|
|
346
|
-
}, label3))), node && part !== "complementary" && /* @__PURE__ */ React2.createElement(Surface, {
|
|
332
|
+
}, label3))), node && part !== "complementary" && /* @__PURE__ */ React2.createElement(Surface.Surface, {
|
|
347
333
|
role: "navbar-end",
|
|
348
334
|
data: {
|
|
349
335
|
subject: node.data
|
|
@@ -363,45 +349,55 @@ import React3 from "react";
|
|
|
363
349
|
var PlankLoading = () => {
|
|
364
350
|
return /* @__PURE__ */ React3.createElement("div", {
|
|
365
351
|
role: "none",
|
|
366
|
-
className: "grid place-items-center attention-surface"
|
|
352
|
+
className: "grid place-items-center dx-attention-surface"
|
|
367
353
|
});
|
|
368
354
|
};
|
|
369
355
|
|
|
370
356
|
// src/components/Plank/PlankError.tsx
|
|
371
|
-
var PlankContentError = ({ error }) => {
|
|
372
|
-
const { t } = useTranslation3(meta.id);
|
|
373
|
-
const errorString = error?.toString() ?? "";
|
|
374
|
-
return /* @__PURE__ */ React4.createElement("div", {
|
|
375
|
-
role: "none",
|
|
376
|
-
className: "overflow-y-auto p-8 attention-surface grid place-items-center"
|
|
377
|
-
}, /* @__PURE__ */ React4.createElement("p", {
|
|
378
|
-
role: "alert",
|
|
379
|
-
className: mx2(descriptionMessage, "break-all rounded-md p-4")
|
|
380
|
-
}, error ? errorString : t("error fallback message")));
|
|
381
|
-
};
|
|
382
357
|
var PlankError = ({ id, part, node, error }) => {
|
|
383
358
|
const [timedOut, setTimedOut] = useState(false);
|
|
384
359
|
useEffect2(() => {
|
|
385
|
-
setTimeout(() => setTimedOut(true), 5e3);
|
|
360
|
+
const timer = setTimeout(() => setTimedOut(true), 5e3);
|
|
361
|
+
return () => clearTimeout(timer);
|
|
386
362
|
}, []);
|
|
387
363
|
return /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement(PlankHeading, {
|
|
388
364
|
id,
|
|
389
365
|
part,
|
|
390
366
|
node,
|
|
391
367
|
pending: !timedOut
|
|
392
|
-
}), timedOut ? /* @__PURE__ */ React4.createElement(
|
|
368
|
+
}), timedOut ? /* @__PURE__ */ React4.createElement(PlankErrorFallback, {
|
|
393
369
|
error
|
|
394
370
|
}) : /* @__PURE__ */ React4.createElement(PlankLoading, null));
|
|
395
371
|
};
|
|
372
|
+
var PlankErrorFallback = ({ error }) => {
|
|
373
|
+
const { t } = useTranslation3(meta.id);
|
|
374
|
+
if (true) {
|
|
375
|
+
return /* @__PURE__ */ React4.createElement(ErrorFallback, {
|
|
376
|
+
title: "Plank Error",
|
|
377
|
+
error
|
|
378
|
+
});
|
|
379
|
+
} else {
|
|
380
|
+
const errorString = error?.toString() ?? "";
|
|
381
|
+
return /* @__PURE__ */ React4.createElement("div", {
|
|
382
|
+
role: "alert",
|
|
383
|
+
"data-testid": "plank-content-error",
|
|
384
|
+
className: "dx-attention-surface overflow-y-auto p-8 grid place-items-center"
|
|
385
|
+
}, /* @__PURE__ */ React4.createElement("p", {
|
|
386
|
+
className: mx2(descriptionMessage, "break-all rounded-md p-4")
|
|
387
|
+
}, error ? errorString : t("error fallback message")));
|
|
388
|
+
}
|
|
389
|
+
};
|
|
396
390
|
|
|
397
391
|
// src/components/Plank/Plank.tsx
|
|
398
392
|
var UNKNOWN_ID = "unknown_id";
|
|
399
|
-
var Plank = /* @__PURE__ */ memo2(({ id = UNKNOWN_ID,
|
|
393
|
+
var Plank = /* @__PURE__ */ memo2(({ id = UNKNOWN_ID, companionVariant, ...props }) => {
|
|
400
394
|
const { graph } = useAppGraph2();
|
|
401
395
|
const node = useNode(graph, id);
|
|
402
396
|
const companions = useCompanions(id);
|
|
403
|
-
const
|
|
404
|
-
const
|
|
397
|
+
const { companionId } = useSelectedCompanion(companions, companionVariant);
|
|
398
|
+
const resolvedCompanionId = companionVariant ? companionId : void 0;
|
|
399
|
+
const currentCompanion = companions.find(({ id: id2 }) => id2 === resolvedCompanionId);
|
|
400
|
+
const hasCompanion = !!(resolvedCompanionId && currentCompanion);
|
|
405
401
|
return /* @__PURE__ */ React5.createElement(PlankContainer, {
|
|
406
402
|
solo: props.part === "solo",
|
|
407
403
|
companion: hasCompanion,
|
|
@@ -416,7 +412,7 @@ var Plank = /* @__PURE__ */ memo2(({ id = UNKNOWN_ID, companionId, ...props }) =
|
|
|
416
412
|
part: "solo-primary"
|
|
417
413
|
} : {}
|
|
418
414
|
}), hasCompanion && /* @__PURE__ */ React5.createElement(PlankComponent, {
|
|
419
|
-
id:
|
|
415
|
+
id: resolvedCompanionId,
|
|
420
416
|
node: currentCompanion,
|
|
421
417
|
primary: node,
|
|
422
418
|
companions,
|
|
@@ -437,7 +433,7 @@ var PlankContainer = ({ children, solo, companion, encapsulate }) => {
|
|
|
437
433
|
return /* @__PURE__ */ React5.createElement("div", {
|
|
438
434
|
role: "none",
|
|
439
435
|
"data-popover-collision-boundary": true,
|
|
440
|
-
className: mx3("absolute inset-
|
|
436
|
+
className: mx3("absolute inset-(--main-spacing) grid", encapsulate && "border border-separator rounded-sm overflow-hidden", companion && "grid-cols-[6fr_4fr]", railGridHorizontal, mainIntrinsicSize),
|
|
441
437
|
...sizeAttrs
|
|
442
438
|
}, children);
|
|
443
439
|
};
|
|
@@ -453,8 +449,8 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
453
449
|
const canIncrementStart = active && index !== void 0 && index > 0 && length !== void 0 && length > 1;
|
|
454
450
|
const canIncrementEnd = active && index !== void 0 && index < length - 1 && length !== void 0;
|
|
455
451
|
const rootElement = useRef(null);
|
|
456
|
-
const
|
|
457
|
-
const sizeKey =
|
|
452
|
+
const variant = node?.type === PLANK_COMPANION_TYPE ? getCompanionVariant2(id) : void 0;
|
|
453
|
+
const sizeKey = id.split("+")[0];
|
|
458
454
|
const size = deck.plankSizing[sizeKey];
|
|
459
455
|
const handleSizeChange = useCallback3(debounce((nextSize) => {
|
|
460
456
|
return invokePromise(DeckOperation.UpdatePlankSize, {
|
|
@@ -483,7 +479,7 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
483
479
|
behavior: "smooth",
|
|
484
480
|
inline: "center"
|
|
485
481
|
});
|
|
486
|
-
void invokePromise(
|
|
482
|
+
void invokePromise(LayoutOperation2.ScrollIntoView, {
|
|
487
483
|
subject: void 0
|
|
488
484
|
});
|
|
489
485
|
}
|
|
@@ -516,7 +512,7 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
516
512
|
const placeholder = useMemo2(() => /* @__PURE__ */ React5.createElement(PlankLoading, null), []);
|
|
517
513
|
const Root = part.startsWith("solo") ? "article" : StackItem2.Root;
|
|
518
514
|
const fullscreen = layoutMode === "solo--fullscreen";
|
|
519
|
-
const className = mx3("attention-surface relative dx-focus-ring-inset-over-all density-coarse", isSolo && "absolute inset-0", isSolo && mainIntrinsicSize, railGridHorizontal, part.startsWith("solo") && "grid", part.startsWith("solo-") && "grid-rows-subgrid row-span-2 min-
|
|
515
|
+
const className = mx3("dx-attention-surface relative dx-focus-ring-inset-over-all dx-density-coarse", isSolo && "absolute inset-0", isSolo && mainIntrinsicSize, railGridHorizontal, part.startsWith("solo") && "grid", part.startsWith("solo-") && "grid-rows-subgrid row-span-2 min-w-0", fullscreen && "grid-rows-1", part === "deck" && (companioned === "companion" ? "border-separator! border-e" : "border-separator! border-x"), part === "solo-companion" && "border-separator! border-s", settings?.encapsulatedPlanks && !part.startsWith("solo") && "mx-(--main-spacing) border-separator! border rounded-sm overflow-hidden");
|
|
520
516
|
return /* @__PURE__ */ React5.createElement(Root, {
|
|
521
517
|
ref: rootElement,
|
|
522
518
|
"data-testid": "deck.plank",
|
|
@@ -549,12 +545,12 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
549
545
|
primaryId: primary?.id,
|
|
550
546
|
companioned,
|
|
551
547
|
companions
|
|
552
|
-
}), /* @__PURE__ */ React5.createElement(Surface2, {
|
|
548
|
+
}), /* @__PURE__ */ React5.createElement(Surface2.Surface, {
|
|
553
549
|
key: node.id,
|
|
554
550
|
role: "article",
|
|
555
551
|
data,
|
|
556
552
|
limit: 1,
|
|
557
|
-
fallback:
|
|
553
|
+
fallback: PlankErrorFallback,
|
|
558
554
|
placeholder
|
|
559
555
|
})) : /* @__PURE__ */ React5.createElement(PlankError, {
|
|
560
556
|
id,
|
|
@@ -564,16 +560,16 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
564
560
|
|
|
565
561
|
// src/components/Sidebar/SidebarButton.tsx
|
|
566
562
|
import React6, { useCallback as useCallback4 } from "react";
|
|
567
|
-
import {
|
|
568
|
-
import {
|
|
563
|
+
import { useOperationInvoker as useOperationInvoker4 } from "@dxos/app-framework/ui";
|
|
564
|
+
import { LayoutOperation as LayoutOperation3, getCompanionVariant as getCompanionVariant3 } from "@dxos/app-toolkit";
|
|
569
565
|
import { IconButton as IconButton3, useTranslation as useTranslation4 } from "@dxos/react-ui";
|
|
570
566
|
var ToggleSidebarButton = ({ classNames, variant = "ghost" }) => {
|
|
571
|
-
const {
|
|
567
|
+
const { updateState } = useDeckState();
|
|
572
568
|
const { t } = useTranslation4(meta.id);
|
|
573
569
|
const handleClick = useCallback4(() => {
|
|
574
|
-
updateState((
|
|
575
|
-
...
|
|
576
|
-
sidebarState:
|
|
570
|
+
updateState((state) => ({
|
|
571
|
+
...state,
|
|
572
|
+
sidebarState: state.sidebarState === "expanded" ? "collapsed" : "expanded"
|
|
577
573
|
}));
|
|
578
574
|
}, [
|
|
579
575
|
updateState
|
|
@@ -592,8 +588,8 @@ var CloseSidebarButton = () => {
|
|
|
592
588
|
const { updateState } = useDeckState();
|
|
593
589
|
const { t } = useTranslation4(meta.id);
|
|
594
590
|
const handleClick = useCallback4(() => {
|
|
595
|
-
updateState((
|
|
596
|
-
...
|
|
591
|
+
updateState((state) => ({
|
|
592
|
+
...state,
|
|
597
593
|
sidebarState: "collapsed"
|
|
598
594
|
}));
|
|
599
595
|
}, [
|
|
@@ -606,7 +602,7 @@ var CloseSidebarButton = () => {
|
|
|
606
602
|
size: 4,
|
|
607
603
|
label: t("close navigation sidebar label"),
|
|
608
604
|
onClick: handleClick,
|
|
609
|
-
classNames: "rounded-none
|
|
605
|
+
classNames: "rounded-none px-1 dx-focus-ring-inset pe-[max(.5rem,env(safe-area-inset-left))]"
|
|
610
606
|
});
|
|
611
607
|
};
|
|
612
608
|
var ToggleComplementarySidebarButton = ({ inR0, classNames, current }) => {
|
|
@@ -616,13 +612,13 @@ var ToggleComplementarySidebarButton = ({ inR0, classNames, current }) => {
|
|
|
616
612
|
const companions = useDeckCompanions();
|
|
617
613
|
const handleClick = useCallback4(() => {
|
|
618
614
|
const nextState = state.complementarySidebarState === "expanded" ? "collapsed" : "expanded";
|
|
619
|
-
updateState((
|
|
620
|
-
...
|
|
615
|
+
updateState((state2) => ({
|
|
616
|
+
...state2,
|
|
621
617
|
complementarySidebarState: nextState
|
|
622
618
|
}));
|
|
623
|
-
const subject = state.complementarySidebarPanel ?? (companions[0] &&
|
|
619
|
+
const subject = state.complementarySidebarPanel ?? (companions[0] && getCompanionVariant3(companions[0].id));
|
|
624
620
|
if (nextState === "expanded" && !current && subject) {
|
|
625
|
-
invokeSync(
|
|
621
|
+
invokeSync(LayoutOperation3.UpdateComplementary, {
|
|
626
622
|
subject
|
|
627
623
|
});
|
|
628
624
|
}
|
|
@@ -664,8 +660,8 @@ var ComplementarySidebar = ({ current }) => {
|
|
|
664
660
|
const topbar = layoutAppliesTopbar(breakpoint, layoutMode);
|
|
665
661
|
const hoistStatusbar = useHoistStatusbar(breakpoint, layoutMode);
|
|
666
662
|
const companions = useDeckCompanions();
|
|
667
|
-
const activeCompanion = companions.find((companion) =>
|
|
668
|
-
const activeId = activeCompanion &&
|
|
663
|
+
const activeCompanion = companions.find((companion) => getCompanionVariant4(companion.id) === current);
|
|
664
|
+
const activeId = activeCompanion && getCompanionVariant4(activeCompanion.id);
|
|
669
665
|
const [internalValue, setInternalValue] = useState2(activeId);
|
|
670
666
|
useEffect3(() => {
|
|
671
667
|
setInternalValue(activeId);
|
|
@@ -675,17 +671,17 @@ var ComplementarySidebar = ({ current }) => {
|
|
|
675
671
|
const handleTabClick = useCallback5((event) => {
|
|
676
672
|
const nextValue = event.currentTarget.getAttribute("data-value");
|
|
677
673
|
if (nextValue === activeId) {
|
|
678
|
-
updateState((
|
|
679
|
-
...
|
|
680
|
-
complementarySidebarState:
|
|
674
|
+
updateState((state2) => ({
|
|
675
|
+
...state2,
|
|
676
|
+
complementarySidebarState: state2.complementarySidebarState === "expanded" ? "collapsed" : "expanded"
|
|
681
677
|
}));
|
|
682
678
|
} else {
|
|
683
679
|
setInternalValue(nextValue);
|
|
684
|
-
updateState((
|
|
685
|
-
...
|
|
680
|
+
updateState((state2) => ({
|
|
681
|
+
...state2,
|
|
686
682
|
complementarySidebarState: "expanded"
|
|
687
683
|
}));
|
|
688
|
-
invokeSync(
|
|
684
|
+
invokeSync(LayoutOperation4.UpdateComplementary, {
|
|
689
685
|
subject: nextValue
|
|
690
686
|
});
|
|
691
687
|
}
|
|
@@ -704,7 +700,7 @@ var ComplementarySidebar = ({ current }) => {
|
|
|
704
700
|
]);
|
|
705
701
|
useEffect3(() => {
|
|
706
702
|
if (!activeId) {
|
|
707
|
-
invokeSync(
|
|
703
|
+
invokeSync(LayoutOperation4.UpdateComplementary, {
|
|
708
704
|
state: "collapsed"
|
|
709
705
|
});
|
|
710
706
|
}
|
|
@@ -715,8 +711,8 @@ var ComplementarySidebar = ({ current }) => {
|
|
|
715
711
|
return /* @__PURE__ */ React7.createElement(Main.ComplementarySidebar, {
|
|
716
712
|
label,
|
|
717
713
|
classNames: [
|
|
718
|
-
topbar && "
|
|
719
|
-
hoistStatusbar && "
|
|
714
|
+
topbar && "top-[calc(env(safe-area-inset-top)+var(--dx-rail-size))]",
|
|
715
|
+
hoistStatusbar && "bottom-(--dx-statusbar-size)"
|
|
720
716
|
]
|
|
721
717
|
}, /* @__PURE__ */ React7.createElement(Tabs.Root, {
|
|
722
718
|
orientation: "vertical",
|
|
@@ -725,37 +721,37 @@ var ComplementarySidebar = ({ current }) => {
|
|
|
725
721
|
classNames: "contents"
|
|
726
722
|
}, /* @__PURE__ */ React7.createElement("div", {
|
|
727
723
|
role: "none",
|
|
728
|
-
className: mx4("absolute z-[1] inset-
|
|
724
|
+
className: mx4("absolute z-[1] inset-y-0 end-0 !w-(--dx-r0-size)", "py-[env(safe-area-inset-top)] pb-[env(safe-area-inset-bottom)] border-s border-subdued-separator", "grid grid-cols-1 grid-rows-[1fr_min-content] bg-toolbar-surface dx-contain-layout dx-app-drag")
|
|
729
725
|
}, /* @__PURE__ */ React7.createElement(Tabs.Tablist, {
|
|
730
|
-
classNames: "grid grid-cols-1 auto-rows-
|
|
726
|
+
classNames: "grid grid-cols-1 auto-rows-(--dx-rail-action) p-1 gap-1 overflow-y-auto!"
|
|
731
727
|
}, companions.map((companion) => /* @__PURE__ */ React7.createElement(Tabs.Tab, {
|
|
732
|
-
key:
|
|
733
|
-
value:
|
|
728
|
+
key: getCompanionVariant4(companion.id),
|
|
729
|
+
value: getCompanionVariant4(companion.id),
|
|
734
730
|
asChild: true
|
|
735
731
|
}, /* @__PURE__ */ React7.createElement(IconButton4, {
|
|
736
732
|
label: toLocalizedString2(companion.properties.label, t),
|
|
737
733
|
icon: companion.properties.icon,
|
|
738
734
|
iconOnly: true,
|
|
739
735
|
tooltipSide: "left",
|
|
740
|
-
"data-value":
|
|
741
|
-
variant: activeId ===
|
|
736
|
+
"data-value": getCompanionVariant4(companion.id),
|
|
737
|
+
variant: activeId === getCompanionVariant4(companion.id) ? state.complementarySidebarState === "expanded" ? "primary" : "default" : "ghost",
|
|
742
738
|
onClick: handleTabClick
|
|
743
739
|
})))), !hoistStatusbar && /* @__PURE__ */ React7.createElement("div", {
|
|
744
740
|
role: "none",
|
|
745
|
-
className: "grid grid-cols-1 auto-rows-
|
|
746
|
-
}, /* @__PURE__ */ React7.createElement(Surface3, {
|
|
741
|
+
className: "grid grid-cols-1 auto-rows-(--dx-rail-item) p-1 overflow-y-auto"
|
|
742
|
+
}, /* @__PURE__ */ React7.createElement(Surface3.Surface, {
|
|
747
743
|
role: "status-bar--r0-footer",
|
|
748
744
|
limit: 1
|
|
749
745
|
})), /* @__PURE__ */ React7.createElement("div", {
|
|
750
746
|
role: "none",
|
|
751
|
-
className: "hidden lg:grid grid-cols-1 auto-rows-
|
|
747
|
+
className: "hidden lg:grid grid-cols-1 auto-rows-(--dx-rail-action) p-1"
|
|
752
748
|
}, /* @__PURE__ */ React7.createElement(ToggleComplementarySidebarButton, null))), activeId && companions.map((companion) => /* @__PURE__ */ React7.createElement(Tabs.Tabpanel, {
|
|
753
|
-
key:
|
|
754
|
-
value:
|
|
749
|
+
key: getCompanionVariant4(companion.id),
|
|
750
|
+
value: getCompanionVariant4(companion.id),
|
|
755
751
|
classNames: [
|
|
756
752
|
'absolute data-[state="inactive"]:-z-[1] overflow-hidden',
|
|
757
|
-
"inset-
|
|
758
|
-
"grid grid-cols-1 grid-rows-[var(--rail-size)_1fr_min-content]
|
|
753
|
+
"inset-y-0 start-0 w-[calc(100%-var(--dx-r0-size))] lg:w-(--dx-r1-size)",
|
|
754
|
+
"grid grid-cols-1 grid-rows-[var(--dx-rail-size)_1fr_min-content] py-[env(safe-area-inset-top)]"
|
|
759
755
|
],
|
|
760
756
|
...state.complementarySidebarState !== "expanded" && {
|
|
761
757
|
inert: true
|
|
@@ -769,46 +765,48 @@ var ComplementarySidebar = ({ current }) => {
|
|
|
769
765
|
};
|
|
770
766
|
var ComplementarySidebarPanel = ({ companion, activeId, data, hoistStatusbar }) => {
|
|
771
767
|
const { t } = useTranslation5(meta.id);
|
|
772
|
-
if (
|
|
768
|
+
if (getCompanionVariant4(companion.id) !== activeId && !data) {
|
|
773
769
|
return null;
|
|
774
770
|
}
|
|
775
|
-
const Wrapper = companion.properties.fixed ? Fragment2 :
|
|
771
|
+
const Wrapper = companion.properties.fixed ? Fragment2 : ScrollAreaWrapper;
|
|
776
772
|
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("div", {
|
|
777
773
|
role: "none",
|
|
778
|
-
className: "flex items-center p-1 gap-1 border-
|
|
774
|
+
className: "flex items-center p-1 gap-1 border-b border-subdued-separator"
|
|
779
775
|
}, /* @__PURE__ */ React7.createElement(IconButton4, {
|
|
780
776
|
label: toLocalizedString2(companion.properties.label, t),
|
|
781
777
|
icon: companion.properties.icon,
|
|
782
778
|
iconOnly: true,
|
|
783
779
|
tooltipSide: "left",
|
|
784
|
-
"data-value":
|
|
785
|
-
classNames: "
|
|
780
|
+
"data-value": getCompanionVariant4(companion.id),
|
|
781
|
+
classNames: "h-10 w-10",
|
|
786
782
|
variant: "default"
|
|
787
783
|
}), /* @__PURE__ */ React7.createElement("div", {
|
|
788
784
|
role: "none",
|
|
789
|
-
className: "
|
|
790
|
-
}, toLocalizedString2(companion.properties.label, t))), /* @__PURE__ */ React7.createElement(Wrapper, null, /* @__PURE__ */ React7.createElement(Surface3, {
|
|
791
|
-
role: `deck-companion--${
|
|
785
|
+
className: "px-1"
|
|
786
|
+
}, toLocalizedString2(companion.properties.label, t))), /* @__PURE__ */ React7.createElement(Wrapper, null, /* @__PURE__ */ React7.createElement(Surface3.Surface, {
|
|
787
|
+
role: `deck-companion--${getCompanionVariant4(companion.id)}`,
|
|
792
788
|
data,
|
|
793
|
-
fallback:
|
|
789
|
+
fallback: PlankErrorFallback,
|
|
794
790
|
placeholder: /* @__PURE__ */ React7.createElement(PlankLoading, null)
|
|
795
791
|
})), !hoistStatusbar && /* @__PURE__ */ React7.createElement("div", {
|
|
796
792
|
role: "contentinfo",
|
|
797
|
-
className: "flex flex-wrap justify-center items-center border-
|
|
798
|
-
}, /* @__PURE__ */ React7.createElement(Surface3, {
|
|
793
|
+
className: "flex flex-wrap justify-center items-center border-y border-subdued-separator pt-1 pb-[max(env(safe-area-inset-bottom),0.25rem)]"
|
|
794
|
+
}, /* @__PURE__ */ React7.createElement(Surface3.Surface, {
|
|
799
795
|
role: "status-bar--r1-footer",
|
|
800
796
|
limit: 1
|
|
801
797
|
})));
|
|
802
798
|
};
|
|
803
|
-
var
|
|
804
|
-
return /* @__PURE__ */ React7.createElement(
|
|
805
|
-
|
|
806
|
-
|
|
799
|
+
var ScrollAreaWrapper = ({ children }) => {
|
|
800
|
+
return /* @__PURE__ */ React7.createElement(ScrollArea.Root, {
|
|
801
|
+
thin: true,
|
|
802
|
+
orientation: "vertical",
|
|
803
|
+
classNames: "grow"
|
|
804
|
+
}, /* @__PURE__ */ React7.createElement(ScrollArea.Viewport, null, children));
|
|
807
805
|
};
|
|
808
806
|
|
|
809
807
|
// src/components/Sidebar/Sidebar.tsx
|
|
810
808
|
import React8, { useMemo as useMemo4 } from "react";
|
|
811
|
-
import { Surface as Surface4 } from "@dxos/app-framework/
|
|
809
|
+
import { Surface as Surface4 } from "@dxos/app-framework/ui";
|
|
812
810
|
import { Main as Main2 } from "@dxos/react-ui";
|
|
813
811
|
var label2 = [
|
|
814
812
|
"sidebar title",
|
|
@@ -838,10 +836,10 @@ var Sidebar = () => {
|
|
|
838
836
|
label: label2,
|
|
839
837
|
classNames: [
|
|
840
838
|
"grid",
|
|
841
|
-
topbar && "
|
|
842
|
-
hoistStatusbar && "
|
|
839
|
+
topbar && "top-[calc(env(safe-area-inset-top)+var(--dx-rail-size))]",
|
|
840
|
+
hoistStatusbar && "bottom-(--dx-statusbar-size)"
|
|
843
841
|
]
|
|
844
|
-
}, /* @__PURE__ */ React8.createElement(Surface4, {
|
|
842
|
+
}, /* @__PURE__ */ React8.createElement(Surface4.Surface, {
|
|
845
843
|
role: "navigation",
|
|
846
844
|
data: navigationData,
|
|
847
845
|
limit: 1
|
|
@@ -852,9 +850,9 @@ var Sidebar = () => {
|
|
|
852
850
|
var Banner = ({ variant, classNames }) => {
|
|
853
851
|
const { t } = useTranslation6(meta.id);
|
|
854
852
|
return /* @__PURE__ */ React9.createElement("header", {
|
|
855
|
-
className: mx5("flex items-stretch relative
|
|
853
|
+
className: mx5("flex items-stretch relative py-1 ps-1 pe-2", variant === "topbar" && "fixed inset-x-0 top-[env(safe-area-inset-top)] h-(--dx-rail-size) border-b border-separator", classNames)
|
|
856
854
|
}, variant === "sidebar" ? /* @__PURE__ */ React9.createElement(CloseSidebarButton, null) : /* @__PURE__ */ React9.createElement(ToggleSidebarButton, null), /* @__PURE__ */ React9.createElement("span", {
|
|
857
|
-
className: "self-center grow
|
|
855
|
+
className: "self-center grow ms-1"
|
|
858
856
|
}, t("current app name", {
|
|
859
857
|
ns: osTranslations
|
|
860
858
|
})), variant === "topbar" && /* @__PURE__ */ React9.createElement("div", {
|
|
@@ -862,17 +860,17 @@ var Banner = ({ variant, classNames }) => {
|
|
|
862
860
|
className: "absolute inset-0 pointer-events-none"
|
|
863
861
|
}, /* @__PURE__ */ React9.createElement("div", {
|
|
864
862
|
role: "none",
|
|
865
|
-
className: "grid
|
|
866
|
-
}, /* @__PURE__ */ React9.createElement(Surface5, {
|
|
863
|
+
className: "grid h-full pointer-fine:p-1 max-w-md mx-auto pointer-events-auto"
|
|
864
|
+
}, /* @__PURE__ */ React9.createElement(Surface5.Surface, {
|
|
867
865
|
role: "search-input",
|
|
868
866
|
limit: 1
|
|
869
867
|
}))), /* @__PURE__ */ React9.createElement("span", {
|
|
870
868
|
role: "none",
|
|
871
869
|
className: "grow"
|
|
872
|
-
}), /* @__PURE__ */ React9.createElement(Surface5, {
|
|
870
|
+
}), /* @__PURE__ */ React9.createElement(Surface5.Surface, {
|
|
873
871
|
role: "header-end",
|
|
874
872
|
limit: 1
|
|
875
|
-
}), /* @__PURE__ */ React9.createElement(Surface5, {
|
|
873
|
+
}), /* @__PURE__ */ React9.createElement(Surface5.Surface, {
|
|
876
874
|
role: "notch-start",
|
|
877
875
|
limit: 1
|
|
878
876
|
}));
|
|
@@ -884,7 +882,8 @@ import { Mosaic } from "@dxos/react-ui-mosaic";
|
|
|
884
882
|
|
|
885
883
|
// src/components/DeckLayout/ActiveNode.tsx
|
|
886
884
|
import React10 from "react";
|
|
887
|
-
import { Surface as Surface6
|
|
885
|
+
import { Surface as Surface6 } from "@dxos/app-framework/ui";
|
|
886
|
+
import { useAppGraph as useAppGraph3 } from "@dxos/app-toolkit/ui";
|
|
888
887
|
import { useNode as useNode2 } from "@dxos/plugin-graph";
|
|
889
888
|
import { useAttended } from "@dxos/react-ui-attention";
|
|
890
889
|
var ActiveNode = () => {
|
|
@@ -895,7 +894,7 @@ var ActiveNode = () => {
|
|
|
895
894
|
return /* @__PURE__ */ React10.createElement("div", {
|
|
896
895
|
role: "none",
|
|
897
896
|
className: "sr-only"
|
|
898
|
-
}, /* @__PURE__ */ React10.createElement(Surface6, {
|
|
897
|
+
}, /* @__PURE__ */ React10.createElement(Surface6.Surface, {
|
|
899
898
|
role: "document-title",
|
|
900
899
|
data: {
|
|
901
900
|
subject: activeNode
|
|
@@ -906,8 +905,8 @@ var ActiveNode = () => {
|
|
|
906
905
|
|
|
907
906
|
// src/components/DeckLayout/DeckMain.tsx
|
|
908
907
|
import React14, { Fragment as Fragment3, useCallback as useCallback6, useEffect as useEffect4, useMemo as useMemo5, useRef as useRef2 } from "react";
|
|
909
|
-
import {
|
|
910
|
-
import {
|
|
908
|
+
import { useAtomCapability, useOperationInvoker as useOperationInvoker6, usePluginManager } from "@dxos/app-framework/ui";
|
|
909
|
+
import { LayoutOperation as LayoutOperation5 } from "@dxos/app-toolkit";
|
|
911
910
|
import { AttentionCapabilities } from "@dxos/plugin-attention";
|
|
912
911
|
import { Main as Main3, useMediaQuery, useOnTransition } from "@dxos/react-ui";
|
|
913
912
|
import { DEFAULT_HORIZONTAL_SIZE, Stack, StackContext } from "@dxos/react-ui-stack";
|
|
@@ -915,7 +914,7 @@ import { mainPaddingTransitions, mx as mx6 } from "@dxos/ui-theme";
|
|
|
915
914
|
|
|
916
915
|
// src/components/DeckLayout/ContentEmpty.tsx
|
|
917
916
|
import React11 from "react";
|
|
918
|
-
import { Surface as Surface7 } from "@dxos/app-framework/
|
|
917
|
+
import { Surface as Surface7 } from "@dxos/app-framework/ui";
|
|
919
918
|
var ContentEmpty = () => {
|
|
920
919
|
const breakpoint = useBreakpoints();
|
|
921
920
|
const { deck } = useDeckState();
|
|
@@ -923,9 +922,9 @@ var ContentEmpty = () => {
|
|
|
923
922
|
const topbar = layoutAppliesTopbar(breakpoint, layoutMode);
|
|
924
923
|
return /* @__PURE__ */ React11.createElement("div", {
|
|
925
924
|
role: "none",
|
|
926
|
-
className: "grid place-items-center p-8 relative bg-
|
|
925
|
+
className: "grid place-items-center p-8 relative bg-deck-surface",
|
|
927
926
|
"data-testid": "layoutPlugin.firstRunMessage"
|
|
928
|
-
}, /* @__PURE__ */ React11.createElement(Surface7, {
|
|
927
|
+
}, /* @__PURE__ */ React11.createElement(Surface7.Surface, {
|
|
929
928
|
role: "keyshortcuts"
|
|
930
929
|
}), !topbar && /* @__PURE__ */ React11.createElement(ToggleSidebarButton, {
|
|
931
930
|
variant: "default",
|
|
@@ -935,18 +934,18 @@ var ContentEmpty = () => {
|
|
|
935
934
|
|
|
936
935
|
// src/components/DeckLayout/StatusBar.tsx
|
|
937
936
|
import React12 from "react";
|
|
938
|
-
import { Surface as Surface8 } from "@dxos/app-framework/
|
|
937
|
+
import { Surface as Surface8 } from "@dxos/app-framework/ui";
|
|
939
938
|
import { useLandmarkMover } from "@dxos/react-ui";
|
|
940
939
|
var StatusBar = ({ showHints }) => {
|
|
941
940
|
const mover = useLandmarkMover(void 0, "3");
|
|
942
941
|
return /* @__PURE__ */ React12.createElement("div", {
|
|
943
942
|
role: "contentinfo",
|
|
944
|
-
className: "fixed
|
|
943
|
+
className: "fixed bottom-0 inset-x-0 h-(--dx-statusbar-size) border-y border-separator z-[2] flex text-description",
|
|
945
944
|
...mover
|
|
946
|
-
}, showHints && /* @__PURE__ */ React12.createElement(Surface8, {
|
|
945
|
+
}, showHints && /* @__PURE__ */ React12.createElement(Surface8.Surface, {
|
|
947
946
|
role: "hints",
|
|
948
947
|
limit: 1
|
|
949
|
-
}), /* @__PURE__ */ React12.createElement(Surface8, {
|
|
948
|
+
}), /* @__PURE__ */ React12.createElement(Surface8.Surface, {
|
|
950
949
|
role: "status-bar",
|
|
951
950
|
limit: 1
|
|
952
951
|
}));
|
|
@@ -966,7 +965,8 @@ var DeckMain = () => {
|
|
|
966
965
|
const settings = useAtomCapability(DeckCapabilities.Settings);
|
|
967
966
|
const { state, deck, updateState } = useDeckState();
|
|
968
967
|
const { sidebarState, complementarySidebarState, complementarySidebarPanel } = state;
|
|
969
|
-
const { active,
|
|
968
|
+
const { active, companionOpen, companionVariant, fullscreen, solo, plankSizing } = deck;
|
|
969
|
+
const effectiveCompanionVariant = companionOpen ? companionVariant : void 0;
|
|
970
970
|
const layoutMode = getMode(deck);
|
|
971
971
|
const breakpoint = useBreakpoints();
|
|
972
972
|
const topbar = layoutAppliesTopbar(breakpoint, layoutMode);
|
|
@@ -989,12 +989,12 @@ var DeckMain = () => {
|
|
|
989
989
|
const attention = pluginManager.capabilities.get(AttentionCapabilities.Attention);
|
|
990
990
|
const attended = attention.getCurrent();
|
|
991
991
|
shouldRevert.current = true;
|
|
992
|
-
invokeSync(
|
|
992
|
+
invokeSync(LayoutOperation5.SetLayoutMode, {
|
|
993
993
|
subject: attended[0],
|
|
994
994
|
mode: "solo"
|
|
995
995
|
});
|
|
996
996
|
} else if (isNotMobile && layoutMode === "solo" && shouldRevert.current) {
|
|
997
|
-
invokeSync(
|
|
997
|
+
invokeSync(LayoutOperation5.SetLayoutMode, {
|
|
998
998
|
revert: true
|
|
999
999
|
});
|
|
1000
1000
|
}
|
|
@@ -1005,7 +1005,7 @@ var DeckMain = () => {
|
|
|
1005
1005
|
]);
|
|
1006
1006
|
useEffect4(() => {
|
|
1007
1007
|
if (!settings?.enableDeck && layoutMode === "deck") {
|
|
1008
|
-
invokeSync(
|
|
1008
|
+
invokeSync(LayoutOperation5.SetLayoutMode, {
|
|
1009
1009
|
subject: active[0],
|
|
1010
1010
|
mode: "solo"
|
|
1011
1011
|
});
|
|
@@ -1050,9 +1050,9 @@ var DeckMain = () => {
|
|
|
1050
1050
|
deck
|
|
1051
1051
|
]);
|
|
1052
1052
|
const mainPosition = useMemo5(() => [
|
|
1053
|
-
"grid !
|
|
1054
|
-
topbar && "!
|
|
1055
|
-
hoistStatusbar && "lg:
|
|
1053
|
+
"grid !top-[env(safe-area-inset-top)]",
|
|
1054
|
+
topbar && "!top-[calc(env(safe-area-inset-top)+var(--dx-rail-size))]",
|
|
1055
|
+
hoistStatusbar && "lg:bottom-(--dx-statusbar-size)"
|
|
1056
1056
|
], [
|
|
1057
1057
|
topbar,
|
|
1058
1058
|
hoistStatusbar
|
|
@@ -1060,7 +1060,7 @@ var DeckMain = () => {
|
|
|
1060
1060
|
const { order, itemsCount } = useMemo5(() => {
|
|
1061
1061
|
return active.reduce((acc, entryId) => {
|
|
1062
1062
|
acc.order[entryId] = acc.itemsCount + 1;
|
|
1063
|
-
acc.itemsCount +=
|
|
1063
|
+
acc.itemsCount += companionOpen ? 3 : 2;
|
|
1064
1064
|
return acc;
|
|
1065
1065
|
}, {
|
|
1066
1066
|
order: {},
|
|
@@ -1068,7 +1068,7 @@ var DeckMain = () => {
|
|
|
1068
1068
|
});
|
|
1069
1069
|
}, [
|
|
1070
1070
|
active,
|
|
1071
|
-
|
|
1071
|
+
companionOpen
|
|
1072
1072
|
]);
|
|
1073
1073
|
const handleNavigationSidebarStateChange = useCallback6((next) => {
|
|
1074
1074
|
updateState((s) => ({
|
|
@@ -1103,14 +1103,14 @@ var DeckMain = () => {
|
|
|
1103
1103
|
classNames: mainPosition,
|
|
1104
1104
|
style: {
|
|
1105
1105
|
"--main-spacing": settings?.encapsulatedPlanks ? "0.75rem" : "0",
|
|
1106
|
-
"--dx-main-
|
|
1107
|
-
"--dx-main-
|
|
1108
|
-
"--dx-main-
|
|
1109
|
-
"--dx-main-
|
|
1106
|
+
"--dx-main-sidebar-width": sidebarState === "expanded" ? "var(--dx-nav-sidebar-size)" : sidebarState === "collapsed" ? "var(--dx-l0-size)" : "0",
|
|
1107
|
+
"--dx-main-complementary-width": complementarySidebarState === "expanded" ? "var(--dx-complementary-sidebar-size)" : complementarySidebarState === "collapsed" ? "var(--dx-rail-size)" : "0",
|
|
1108
|
+
"--dx-main-content-first-width": `${plankSizing[active[0] ?? "never"] ?? DEFAULT_HORIZONTAL_SIZE}rem`,
|
|
1109
|
+
"--dx-main-content-last-width": `${plankSizing[active[(active.length ?? 1) - 1] ?? "never"] ?? DEFAULT_HORIZONTAL_SIZE}rem`
|
|
1110
1110
|
}
|
|
1111
1111
|
}, /* @__PURE__ */ React14.createElement("div", {
|
|
1112
1112
|
role: "none",
|
|
1113
|
-
className: !solo ? "relative bg-
|
|
1113
|
+
className: !solo ? "relative bg-deck-surface overflow-hidden" : "sr-only",
|
|
1114
1114
|
...solo && {
|
|
1115
1115
|
inert: true
|
|
1116
1116
|
}
|
|
@@ -1124,7 +1124,7 @@ var DeckMain = () => {
|
|
|
1124
1124
|
size: "contain",
|
|
1125
1125
|
itemsCount: itemsCount - 1,
|
|
1126
1126
|
classNames: [
|
|
1127
|
-
"absolute inset-
|
|
1127
|
+
"absolute inset-y-(--main-spacing) -inset-w-px h-[calc(100%-2*var(--main-spacing))]",
|
|
1128
1128
|
mainPaddingTransitions
|
|
1129
1129
|
],
|
|
1130
1130
|
style: padding,
|
|
@@ -1136,7 +1136,7 @@ var DeckMain = () => {
|
|
|
1136
1136
|
encapsulate: !!settings?.enableDeck
|
|
1137
1137
|
}), /* @__PURE__ */ React14.createElement(Plank, {
|
|
1138
1138
|
id: entryId,
|
|
1139
|
-
|
|
1139
|
+
companionVariant: effectiveCompanionVariant,
|
|
1140
1140
|
part: "deck",
|
|
1141
1141
|
order: order[entryId],
|
|
1142
1142
|
active,
|
|
@@ -1144,7 +1144,7 @@ var DeckMain = () => {
|
|
|
1144
1144
|
settings
|
|
1145
1145
|
}))))), /* @__PURE__ */ React14.createElement("div", {
|
|
1146
1146
|
role: "none",
|
|
1147
|
-
className: solo ? "relative overflow-hidden bg-
|
|
1147
|
+
className: solo ? "relative overflow-hidden bg-deck-surface" : "sr-only",
|
|
1148
1148
|
...!solo && {
|
|
1149
1149
|
inert: true
|
|
1150
1150
|
}
|
|
@@ -1160,7 +1160,7 @@ var DeckMain = () => {
|
|
|
1160
1160
|
}
|
|
1161
1161
|
}, /* @__PURE__ */ React14.createElement(Plank, {
|
|
1162
1162
|
id: solo,
|
|
1163
|
-
|
|
1163
|
+
companionVariant: effectiveCompanionVariant,
|
|
1164
1164
|
part: "solo",
|
|
1165
1165
|
layoutMode,
|
|
1166
1166
|
settings
|
|
@@ -1170,7 +1170,7 @@ var DeckMain = () => {
|
|
|
1170
1170
|
};
|
|
1171
1171
|
var PlankSeparator = ({ order, encapsulate }) => order > 0 ? /* @__PURE__ */ React14.createElement("span", {
|
|
1172
1172
|
role: "separator",
|
|
1173
|
-
className: mx6("row-span-2 bg-
|
|
1173
|
+
className: mx6("row-span-2 bg-deck-surface", encapsulate ? "w-0" : "w-4"),
|
|
1174
1174
|
style: {
|
|
1175
1175
|
gridColumn: order
|
|
1176
1176
|
}
|
|
@@ -1178,7 +1178,7 @@ var PlankSeparator = ({ order, encapsulate }) => order > 0 ? /* @__PURE__ */ Rea
|
|
|
1178
1178
|
|
|
1179
1179
|
// src/components/DeckLayout/Dialog.tsx
|
|
1180
1180
|
import React15, { useCallback as useCallback7 } from "react";
|
|
1181
|
-
import { Surface as Surface9 } from "@dxos/app-framework/
|
|
1181
|
+
import { Surface as Surface9 } from "@dxos/app-framework/ui";
|
|
1182
1182
|
import { AlertDialog, Dialog as NaturalDialog } from "@dxos/react-ui";
|
|
1183
1183
|
var Dialog = () => {
|
|
1184
1184
|
const { state, updateEphemeral } = useDeckState();
|
|
@@ -1199,31 +1199,33 @@ var Dialog = () => {
|
|
|
1199
1199
|
onOpenChange: handleOpenChange
|
|
1200
1200
|
}, dialogBlockAlign === "end" ? (
|
|
1201
1201
|
// TODO(burdon): Placeholder creates a suspense boundary; replace with defaults.
|
|
1202
|
-
/* @__PURE__ */ React15.createElement(Surface9, {
|
|
1202
|
+
/* @__PURE__ */ React15.createElement(Surface9.Surface, {
|
|
1203
1203
|
role: "dialog",
|
|
1204
1204
|
data: dialogContent,
|
|
1205
1205
|
limit: 1,
|
|
1206
|
-
fallback:
|
|
1206
|
+
fallback: PlankErrorFallback,
|
|
1207
1207
|
placeholder: /* @__PURE__ */ React15.createElement("div", null)
|
|
1208
1208
|
})
|
|
1209
1209
|
) : /* @__PURE__ */ React15.createElement(Overlay, {
|
|
1210
1210
|
blockAlign: dialogBlockAlign,
|
|
1211
1211
|
classNames: dialogOverlayClasses,
|
|
1212
1212
|
style: dialogOverlayStyle
|
|
1213
|
-
}, /* @__PURE__ */ React15.createElement(Surface9, {
|
|
1213
|
+
}, /* @__PURE__ */ React15.createElement(Surface9.Surface, {
|
|
1214
1214
|
role: "dialog",
|
|
1215
1215
|
data: dialogContent,
|
|
1216
1216
|
limit: 1,
|
|
1217
|
-
fallback:
|
|
1217
|
+
fallback: PlankErrorFallback
|
|
1218
1218
|
})));
|
|
1219
1219
|
};
|
|
1220
1220
|
|
|
1221
1221
|
// src/components/DeckLayout/Popover.tsx
|
|
1222
1222
|
import { createContext } from "@radix-ui/react-context";
|
|
1223
1223
|
import React16, { useCallback as useCallback8, useEffect as useEffect5, useRef as useRef3, useState as useState3 } from "react";
|
|
1224
|
-
import { Surface as Surface10 } from "@dxos/app-framework/
|
|
1224
|
+
import { Surface as Surface10, useOperationInvoker as useOperationInvoker7 } from "@dxos/app-framework/ui";
|
|
1225
|
+
import { LayoutOperation as LayoutOperation6 } from "@dxos/app-toolkit";
|
|
1226
|
+
import { useObjectNavigate } from "@dxos/app-toolkit/ui";
|
|
1225
1227
|
import { Popover as Popover2, toLocalizedString as toLocalizedString3, useTranslation as useTranslation7 } from "@dxos/react-ui";
|
|
1226
|
-
import { Card } from "@dxos/react-ui
|
|
1228
|
+
import { Card } from "@dxos/react-ui";
|
|
1227
1229
|
var DEBOUNCE_DELAY = 40;
|
|
1228
1230
|
var [DeckPopoverProvider, useDeckPopoverContext] = createContext("DeckPopover");
|
|
1229
1231
|
var PopoverRoot = ({ children }) => {
|
|
@@ -1260,10 +1262,13 @@ var PopoverRoot = ({ children }) => {
|
|
|
1260
1262
|
virtualRef
|
|
1261
1263
|
}), children));
|
|
1262
1264
|
};
|
|
1265
|
+
var getPopoverSubject = (content) => content && typeof content === "object" && "subject" in content ? content.subject : content;
|
|
1263
1266
|
var PopoverContent = () => {
|
|
1264
1267
|
const { t } = useTranslation7(meta.id);
|
|
1265
1268
|
const { state, updateEphemeral } = useDeckState();
|
|
1266
1269
|
const { setOpen } = useDeckPopoverContext("PopoverContent");
|
|
1270
|
+
const { invokeSync } = useOperationInvoker7();
|
|
1271
|
+
const handleNavigate = useObjectNavigate(getPopoverSubject(state.popoverContent));
|
|
1267
1272
|
const handleClose = useCallback8(() => {
|
|
1268
1273
|
setOpen(false);
|
|
1269
1274
|
updateEphemeral((state2) => ({
|
|
@@ -1294,17 +1299,33 @@ var PopoverContent = () => {
|
|
|
1294
1299
|
hideWhenDetached: true,
|
|
1295
1300
|
onInteractOutside: handleInteractOutside,
|
|
1296
1301
|
onEscapeKeyDown: handleInteractOutside
|
|
1297
|
-
}, /* @__PURE__ */ React16.createElement(Popover2.Viewport, null, state.popoverKind === "
|
|
1298
|
-
|
|
1299
|
-
})), /* @__PURE__ */ React16.createElement(Surface10, {
|
|
1300
|
-
role: "card--content",
|
|
1302
|
+
}, /* @__PURE__ */ React16.createElement(Popover2.Viewport, null, state.popoverKind === "base" && /* @__PURE__ */ React16.createElement(Surface10.Surface, {
|
|
1303
|
+
role: "popover",
|
|
1301
1304
|
data: state.popoverContent,
|
|
1302
1305
|
limit: 1
|
|
1303
|
-
})
|
|
1304
|
-
|
|
1306
|
+
}), state.popoverKind === "card" && /* @__PURE__ */ React16.createElement(Card.Root, {
|
|
1307
|
+
border: false,
|
|
1308
|
+
classNames: "dx-card-popover"
|
|
1309
|
+
}, /* @__PURE__ */ React16.createElement(Card.Toolbar, null, state.popoverContentRef ? /* @__PURE__ */ React16.createElement(Card.ToolbarIconButton, {
|
|
1310
|
+
icon: "ph--arrow-square-out--regular",
|
|
1311
|
+
iconOnly: true,
|
|
1312
|
+
label: t("open item label"),
|
|
1313
|
+
onClick: () => {
|
|
1314
|
+
invokeSync(LayoutOperation6.Open, {
|
|
1315
|
+
subject: [
|
|
1316
|
+
state.popoverContentRef
|
|
1317
|
+
]
|
|
1318
|
+
});
|
|
1319
|
+
}
|
|
1320
|
+
}) : /* @__PURE__ */ React16.createElement("div", null), state.popoverTitle ? /* @__PURE__ */ React16.createElement(Card.Title, {
|
|
1321
|
+
onClick: handleNavigate
|
|
1322
|
+
}, toLocalizedString3(state.popoverTitle, t)) : /* @__PURE__ */ React16.createElement("span", null), /* @__PURE__ */ React16.createElement(Card.CloseIconButton, {
|
|
1323
|
+
onClick: handleClose
|
|
1324
|
+
})), /* @__PURE__ */ React16.createElement(Surface10.Surface, {
|
|
1325
|
+
role: "card--content",
|
|
1305
1326
|
data: state.popoverContent,
|
|
1306
1327
|
limit: 1
|
|
1307
|
-
})), /* @__PURE__ */ React16.createElement(Popover2.Arrow, null)));
|
|
1328
|
+
}))), /* @__PURE__ */ React16.createElement(Popover2.Arrow, null)));
|
|
1308
1329
|
};
|
|
1309
1330
|
|
|
1310
1331
|
// src/components/DeckLayout/Toast.tsx
|
|
@@ -1358,91 +1379,8 @@ var DeckLayout = ({ onDismissToast }) => {
|
|
|
1358
1379
|
})));
|
|
1359
1380
|
};
|
|
1360
1381
|
|
|
1361
|
-
// src/components/DeckSettings/DeckSettings.tsx
|
|
1362
|
-
import React19 from "react";
|
|
1363
|
-
import { Input, Select, useTranslation as useTranslation9 } from "@dxos/react-ui";
|
|
1364
|
-
import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from "@dxos/react-ui-form";
|
|
1365
|
-
var isSocket = !!globalThis.__args;
|
|
1366
|
-
var DeckSettings = ({ settings, onSettingsChange }) => {
|
|
1367
|
-
const { t } = useTranslation9(meta.id);
|
|
1368
|
-
return /* @__PURE__ */ React19.createElement(ControlPage, null, /* @__PURE__ */ React19.createElement(ControlSection, {
|
|
1369
|
-
title: t("settings title", {
|
|
1370
|
-
ns: meta.id
|
|
1371
|
-
})
|
|
1372
|
-
}, /* @__PURE__ */ React19.createElement(ControlGroup, null, /* @__PURE__ */ React19.createElement(ControlItemInput, {
|
|
1373
|
-
title: t("settings enable deck label")
|
|
1374
|
-
}, /* @__PURE__ */ React19.createElement(Input.Switch, {
|
|
1375
|
-
checked: settings.enableDeck,
|
|
1376
|
-
onCheckedChange: (checked) => onSettingsChange((s) => ({
|
|
1377
|
-
...s,
|
|
1378
|
-
enableDeck: checked
|
|
1379
|
-
}))
|
|
1380
|
-
})), /* @__PURE__ */ React19.createElement(ControlItemInput, {
|
|
1381
|
-
title: t("settings encapsulated planks label")
|
|
1382
|
-
}, /* @__PURE__ */ React19.createElement(Input.Switch, {
|
|
1383
|
-
checked: settings.encapsulatedPlanks ?? false,
|
|
1384
|
-
onCheckedChange: (checked) => onSettingsChange((s) => ({
|
|
1385
|
-
...s,
|
|
1386
|
-
encapsulatedPlanks: checked
|
|
1387
|
-
}))
|
|
1388
|
-
})), /* @__PURE__ */ React19.createElement(ControlItemInput, {
|
|
1389
|
-
title: t("select new plank positioning label")
|
|
1390
|
-
}, /* @__PURE__ */ React19.createElement(Select.Root, {
|
|
1391
|
-
disabled: !settings.enableDeck,
|
|
1392
|
-
value: settings.newPlankPositioning ?? "start",
|
|
1393
|
-
onValueChange: (value) => onSettingsChange((s) => ({
|
|
1394
|
-
...s,
|
|
1395
|
-
newPlankPositioning: value
|
|
1396
|
-
}))
|
|
1397
|
-
}, /* @__PURE__ */ React19.createElement(Select.TriggerButton, {
|
|
1398
|
-
placeholder: t("select new plank positioning placeholder")
|
|
1399
|
-
}), /* @__PURE__ */ React19.createElement(Select.Portal, null, /* @__PURE__ */ React19.createElement(Select.Content, null, /* @__PURE__ */ React19.createElement(Select.Viewport, null, NewPlankPositions.map((position) => /* @__PURE__ */ React19.createElement(Select.Option, {
|
|
1400
|
-
key: position,
|
|
1401
|
-
value: position
|
|
1402
|
-
}, t(`settings new plank position ${position} label`)))), /* @__PURE__ */ React19.createElement(Select.Arrow, null))))), /* @__PURE__ */ React19.createElement(ControlItemInput, {
|
|
1403
|
-
title: t("settings overscroll label")
|
|
1404
|
-
}, /* @__PURE__ */ React19.createElement(Select.Root, {
|
|
1405
|
-
disabled: !settings.enableDeck,
|
|
1406
|
-
value: settings.overscroll ?? "none",
|
|
1407
|
-
onValueChange: (value) => onSettingsChange((s) => ({
|
|
1408
|
-
...s,
|
|
1409
|
-
overscroll: value
|
|
1410
|
-
}))
|
|
1411
|
-
}, /* @__PURE__ */ React19.createElement(Select.TriggerButton, {
|
|
1412
|
-
placeholder: t("select overscroll placeholder")
|
|
1413
|
-
}), /* @__PURE__ */ React19.createElement(Select.Portal, null, /* @__PURE__ */ React19.createElement(Select.Content, null, /* @__PURE__ */ React19.createElement(Select.Viewport, null, OverscrollOptions.map((option) => /* @__PURE__ */ React19.createElement(Select.Option, {
|
|
1414
|
-
key: option,
|
|
1415
|
-
value: option
|
|
1416
|
-
}, t(`settings overscroll ${option} label`)))), /* @__PURE__ */ React19.createElement(Select.Arrow, null))))), /* @__PURE__ */ React19.createElement(ControlItemInput, {
|
|
1417
|
-
title: t("settings enable statusbar label")
|
|
1418
|
-
}, /* @__PURE__ */ React19.createElement(Input.Switch, {
|
|
1419
|
-
checked: settings.enableStatusbar,
|
|
1420
|
-
onCheckedChange: (checked) => onSettingsChange((s) => ({
|
|
1421
|
-
...s,
|
|
1422
|
-
enableStatusbar: checked
|
|
1423
|
-
}))
|
|
1424
|
-
})), /* @__PURE__ */ React19.createElement(ControlItemInput, {
|
|
1425
|
-
title: t("settings show hints label")
|
|
1426
|
-
}, /* @__PURE__ */ React19.createElement(Input.Switch, {
|
|
1427
|
-
checked: settings.showHints,
|
|
1428
|
-
onCheckedChange: (checked) => onSettingsChange((s) => ({
|
|
1429
|
-
...s,
|
|
1430
|
-
showHints: checked
|
|
1431
|
-
}))
|
|
1432
|
-
})), !isSocket && /* @__PURE__ */ React19.createElement(ControlItemInput, {
|
|
1433
|
-
title: t("settings native redirect label")
|
|
1434
|
-
}, /* @__PURE__ */ React19.createElement(Input.Switch, {
|
|
1435
|
-
checked: settings.enableNativeRedirect,
|
|
1436
|
-
onCheckedChange: (checked) => onSettingsChange((s) => ({
|
|
1437
|
-
...s,
|
|
1438
|
-
enableNativeRedirect: checked
|
|
1439
|
-
}))
|
|
1440
|
-
})))));
|
|
1441
|
-
};
|
|
1442
|
-
|
|
1443
1382
|
export {
|
|
1444
1383
|
Banner,
|
|
1445
|
-
DeckLayout
|
|
1446
|
-
DeckSettings
|
|
1384
|
+
DeckLayout
|
|
1447
1385
|
};
|
|
1448
|
-
//# sourceMappingURL=chunk-
|
|
1386
|
+
//# sourceMappingURL=chunk-ITNJS5QX.mjs.map
|