@dxos/plugin-deck 0.8.3-staging.0fa589b → 0.8.4-main.28f8d3d
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-YCO7Y54J.mjs → app-graph-builder-DVEKLXB4.mjs} +6 -6
- package/dist/lib/browser/app-graph-builder-DVEKLXB4.mjs.map +7 -0
- package/dist/lib/browser/{check-app-scheme-7AXGR6UT.mjs → check-app-scheme-3BQJXWEY.mjs} +3 -3
- package/dist/lib/browser/{check-app-scheme-7AXGR6UT.mjs.map → check-app-scheme-3BQJXWEY.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-RMCRP7HV.mjs → chunk-6MQIYIPY.mjs} +213 -213
- package/dist/lib/browser/chunk-6MQIYIPY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TRFYUEBA.mjs → chunk-CNTGBCMK.mjs} +5 -5
- package/dist/lib/browser/{chunk-YN5OZEGS.mjs → chunk-F5BQOOEG.mjs} +7 -9
- package/dist/lib/browser/chunk-F5BQOOEG.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KLN73CM3.mjs → chunk-M57WD3V6.mjs} +3 -3
- package/dist/lib/browser/{chunk-RAZK4XT5.mjs → chunk-MX7WRVX3.mjs} +20 -20
- package/dist/lib/browser/{chunk-RAZK4XT5.mjs.map → chunk-MX7WRVX3.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-FX44YX3G.mjs → chunk-NRCPV6AV.mjs} +8 -7
- package/dist/lib/browser/{chunk-FX44YX3G.mjs.map → chunk-NRCPV6AV.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-NSATFAEE.mjs → chunk-Z5KITAZW.mjs} +2 -2
- package/dist/lib/browser/index.mjs +23 -17
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-EGLWTKJG.mjs → intent-resolver-2SUIIV6N.mjs} +11 -11
- package/dist/lib/browser/intent-resolver-2SUIIV6N.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-C4HIM5CI.mjs → react-root-GVZANZX7.mjs} +9 -9
- package/dist/lib/browser/{react-root-C4HIM5CI.mjs.map → react-root-GVZANZX7.mjs.map} +2 -2
- package/dist/lib/browser/{react-surface-RV2AZ6WZ.mjs → react-surface-NXSSD2GW.mjs} +9 -9
- package/dist/lib/browser/{react-surface-RV2AZ6WZ.mjs.map → react-surface-NXSSD2GW.mjs.map} +1 -1
- package/dist/lib/browser/{settings-7VUU3ZJ4.mjs → settings-LUPQPZ27.mjs} +4 -4
- package/dist/lib/browser/{settings-7VUU3ZJ4.mjs.map → settings-LUPQPZ27.mjs.map} +1 -1
- package/dist/lib/browser/state-CRXR7X63.mjs +12 -0
- package/dist/lib/browser/toolkit-OBKFXX23.mjs +47 -0
- package/dist/lib/browser/toolkit-OBKFXX23.mjs.map +7 -0
- package/dist/lib/browser/{types.mjs → types/index.mjs} +3 -5
- package/dist/lib/browser/{url-handler-BUGI6XRE.mjs → url-handler-LROZYQ26.mjs} +6 -6
- package/dist/lib/browser/url-handler-LROZYQ26.mjs.map +7 -0
- package/dist/types/src/DeckPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +1 -1
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/capabilities/toolkit.d.ts +5 -0
- package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
- package/dist/types/src/capabilities/tools.d.ts +1 -1
- package/dist/types/src/capabilities/tools.d.ts.map +1 -1
- package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Banner.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
- package/dist/types/src/components/Plank/Plank.d.ts +1 -1
- package/dist/types/src/components/Plank/Plank.d.ts.map +1 -1
- package/dist/types/src/components/Plank/Plank.stories.d.ts +1 -1
- package/dist/types/src/components/Plank/Plank.stories.d.ts.map +1 -1
- package/dist/types/src/components/Plank/PlankError.d.ts.map +1 -1
- package/dist/types/src/components/Plank/PlankHeading.d.ts +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/hooks/useDeckCompanions.d.ts.map +1 -1
- package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +56 -56
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/{types.d.ts → types/schema.d.ts} +7 -8
- package/dist/types/src/types/schema.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +41 -39
- package/src/DeckPlugin.ts +12 -6
- package/src/capabilities/app-graph-builder.ts +4 -3
- package/src/capabilities/check-app-scheme.ts +1 -1
- package/src/capabilities/index.ts +2 -1
- package/src/capabilities/intent-resolver.ts +11 -10
- package/src/capabilities/react-root.tsx +2 -1
- package/src/capabilities/react-surface.tsx +1 -1
- package/src/capabilities/settings.ts +1 -1
- package/src/capabilities/state.ts +4 -3
- package/src/capabilities/toolkit.ts +55 -0
- package/src/capabilities/tools.ts +9 -6
- package/src/capabilities/url-handler.ts +3 -2
- package/src/components/DeckLayout/Banner.tsx +1 -1
- package/src/components/DeckLayout/ContentEmpty.tsx +1 -1
- package/src/components/DeckLayout/DeckLayout.tsx +11 -10
- package/src/components/DeckLayout/Popover.tsx +1 -1
- package/src/components/Plank/Plank.stories.tsx +5 -4
- package/src/components/Plank/Plank.tsx +7 -6
- package/src/components/Plank/PlankError.tsx +4 -6
- package/src/components/Plank/PlankHeading.tsx +7 -6
- package/src/components/Sidebar/ComplementarySidebar.tsx +4 -3
- package/src/components/Sidebar/SidebarButton.tsx +2 -2
- package/src/hooks/useDeckCompanions.ts +2 -2
- package/src/hooks/useNodeActionExpander.ts +1 -1
- package/src/translations.ts +6 -4
- package/src/types/index.ts +5 -0
- package/src/{types.ts → types/schema.ts} +4 -6
- package/dist/lib/browser/app-graph-builder-YCO7Y54J.mjs.map +0 -7
- package/dist/lib/browser/chunk-RMCRP7HV.mjs.map +0 -7
- package/dist/lib/browser/chunk-YN5OZEGS.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-EGLWTKJG.mjs.map +0 -7
- package/dist/lib/browser/state-VJ6E3ADY.mjs +0 -10
- package/dist/lib/browser/tools-N57NQ2LH.mjs +0 -88
- package/dist/lib/browser/tools-N57NQ2LH.mjs.map +0 -7
- package/dist/lib/browser/url-handler-BUGI6XRE.mjs.map +0 -7
- package/dist/types/src/types.d.ts.map +0 -1
- /package/dist/lib/browser/{chunk-TRFYUEBA.mjs.map → chunk-CNTGBCMK.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-KLN73CM3.mjs.map → chunk-M57WD3V6.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-NSATFAEE.mjs.map → chunk-Z5KITAZW.mjs.map} +0 -0
- /package/dist/lib/browser/{state-VJ6E3ADY.mjs.map → state-CRXR7X63.mjs.map} +0 -0
- /package/dist/lib/browser/{types.mjs.map → types/index.mjs.map} +0 -0
|
@@ -6,157 +6,83 @@ import {
|
|
|
6
6
|
useHoistStatusbar,
|
|
7
7
|
useMainSize,
|
|
8
8
|
useNodeActionExpander
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MX7WRVX3.mjs";
|
|
10
10
|
import {
|
|
11
11
|
calculateOverscroll,
|
|
12
12
|
layoutAppliesTopbar,
|
|
13
13
|
parseEntryId
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-CNTGBCMK.mjs";
|
|
15
15
|
import {
|
|
16
16
|
DeckCapabilities
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-M57WD3V6.mjs";
|
|
18
18
|
import {
|
|
19
19
|
DeckAction,
|
|
20
20
|
NewPlankPositions,
|
|
21
21
|
OverscrollOptions,
|
|
22
22
|
PLANK_COMPANION_TYPE,
|
|
23
23
|
getMode
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-F5BQOOEG.mjs";
|
|
25
25
|
import {
|
|
26
26
|
DECK_PLUGIN
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-Z5KITAZW.mjs";
|
|
28
28
|
|
|
29
|
-
//
|
|
29
|
+
// src/components/DeckLayout/Banner.tsx
|
|
30
30
|
import { useSignals as _useSignals9 } from "@preact-signals/safe-react/tracking";
|
|
31
31
|
import React9 from "react";
|
|
32
32
|
import { Surface as Surface5 } from "@dxos/app-framework";
|
|
33
33
|
import { useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
34
34
|
import { mx as mx4 } from "@dxos/react-ui-theme";
|
|
35
35
|
|
|
36
|
-
//
|
|
36
|
+
// src/components/Sidebar/ComplementarySidebar.tsx
|
|
37
37
|
import { useSignals as _useSignals7 } from "@preact-signals/safe-react/tracking";
|
|
38
38
|
import React7, { Fragment as Fragment2, useCallback as useCallback5, useEffect as useEffect3, useMemo as useMemo3, useState as useState2 } from "react";
|
|
39
39
|
import { LayoutAction as LayoutAction4, Surface as Surface3, createIntent as createIntent5, useCapability as useCapability3, useIntentDispatcher as useIntentDispatcher5 } from "@dxos/app-framework";
|
|
40
|
-
import {
|
|
40
|
+
import { IconButton as IconButton4, Main, toLocalizedString as toLocalizedString2, useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
41
41
|
import { Tabs } from "@dxos/react-ui-tabs";
|
|
42
42
|
|
|
43
|
-
//
|
|
44
|
-
import { useSignals as
|
|
45
|
-
import
|
|
46
|
-
import { createIntent,
|
|
47
|
-
import { IconButton, useTranslation } from "@dxos/react-ui";
|
|
48
|
-
var ToggleSidebarButton = ({ classNames, variant = "ghost" }) => {
|
|
49
|
-
var _effect = _useSignals();
|
|
50
|
-
try {
|
|
51
|
-
const layoutContext = useCapability(DeckCapabilities.MutableDeckState);
|
|
52
|
-
const { t } = useTranslation(DECK_PLUGIN);
|
|
53
|
-
return /* @__PURE__ */ React.createElement(IconButton, {
|
|
54
|
-
variant,
|
|
55
|
-
iconOnly: true,
|
|
56
|
-
icon: "ph--sidebar--regular",
|
|
57
|
-
size: 4,
|
|
58
|
-
label: t("open navigation sidebar label"),
|
|
59
|
-
onClick: () => layoutContext.sidebarState = layoutContext.sidebarState === "expanded" ? "collapsed" : "expanded",
|
|
60
|
-
classNames
|
|
61
|
-
});
|
|
62
|
-
} finally {
|
|
63
|
-
_effect.f();
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
var CloseSidebarButton = () => {
|
|
67
|
-
var _effect = _useSignals();
|
|
68
|
-
try {
|
|
69
|
-
const layoutContext = useCapability(DeckCapabilities.MutableDeckState);
|
|
70
|
-
const { t } = useTranslation(DECK_PLUGIN);
|
|
71
|
-
return /* @__PURE__ */ React.createElement(IconButton, {
|
|
72
|
-
variant: "ghost",
|
|
73
|
-
iconOnly: true,
|
|
74
|
-
icon: "ph--caret-line-left--regular",
|
|
75
|
-
size: 4,
|
|
76
|
-
label: t("close navigation sidebar label"),
|
|
77
|
-
onClick: () => layoutContext.sidebarState = "collapsed",
|
|
78
|
-
classNames: "rounded-none pli-1 dx-focus-ring-inset pie-[max(.5rem,env(safe-area-inset-left))]"
|
|
79
|
-
});
|
|
80
|
-
} finally {
|
|
81
|
-
_effect.f();
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
var ToggleComplementarySidebarButton = ({ inR0, classNames, current }) => {
|
|
85
|
-
var _effect = _useSignals();
|
|
86
|
-
try {
|
|
87
|
-
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
88
|
-
const layoutContext = useCapability(DeckCapabilities.MutableDeckState);
|
|
89
|
-
const { t } = useTranslation(DECK_PLUGIN);
|
|
90
|
-
const companions = useDeckCompanions();
|
|
91
|
-
const handleClick = useCallback(async () => {
|
|
92
|
-
layoutContext.complementarySidebarState = layoutContext.complementarySidebarState === "expanded" ? "collapsed" : "expanded";
|
|
93
|
-
const firstCompanion = companions[0];
|
|
94
|
-
if (layoutContext.complementarySidebarState === "expanded" && !current && firstCompanion) {
|
|
95
|
-
await dispatch(createIntent(LayoutAction.UpdateComplementary, {
|
|
96
|
-
part: "complementary",
|
|
97
|
-
subject: getCompanionId(firstCompanion.id)
|
|
98
|
-
}));
|
|
99
|
-
}
|
|
100
|
-
}, [
|
|
101
|
-
layoutContext,
|
|
102
|
-
current,
|
|
103
|
-
companions,
|
|
104
|
-
dispatch
|
|
105
|
-
]);
|
|
106
|
-
return /* @__PURE__ */ React.createElement(IconButton, {
|
|
107
|
-
iconOnly: true,
|
|
108
|
-
onClick: handleClick,
|
|
109
|
-
variant: "ghost",
|
|
110
|
-
label: t("open complementary sidebar label"),
|
|
111
|
-
classNames: [
|
|
112
|
-
"[&>svg]:-scale-x-100",
|
|
113
|
-
classNames
|
|
114
|
-
],
|
|
115
|
-
icon: "ph--sidebar-simple--regular",
|
|
116
|
-
size: inR0 ? 5 : 4,
|
|
117
|
-
tooltipSide: inR0 ? "left" : void 0
|
|
118
|
-
});
|
|
119
|
-
} finally {
|
|
120
|
-
_effect.f();
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
// packages/plugins/plugin-deck/src/components/Plank/Plank.tsx
|
|
125
|
-
import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
|
|
126
|
-
import React6, { memo as memo2, useCallback as useCallback4, useLayoutEffect, useMemo as useMemo2, useRef } from "react";
|
|
127
|
-
import { LayoutAction as LayoutAction3, Surface as Surface2, createIntent as createIntent4, useCapability as useCapability2, useAppGraph as useAppGraph2, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
|
|
43
|
+
// src/components/Plank/Plank.tsx
|
|
44
|
+
import { useSignals as _useSignals5 } from "@preact-signals/safe-react/tracking";
|
|
45
|
+
import React5, { memo as memo2, useCallback as useCallback3, useLayoutEffect, useMemo as useMemo2, useRef } from "react";
|
|
46
|
+
import { LayoutAction as LayoutAction2, Surface as Surface2, createIntent as createIntent3, useAppGraph as useAppGraph2, useCapability, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
|
|
128
47
|
import { debounce } from "@dxos/async";
|
|
129
48
|
import { useNode } from "@dxos/plugin-graph";
|
|
130
49
|
import { ATTENDABLE_PATH_SEPARATOR, useAttentionAttributes } from "@dxos/react-ui-attention";
|
|
131
50
|
import { StackItem as StackItem2, railGridHorizontal } from "@dxos/react-ui-stack";
|
|
132
51
|
import { mainIntrinsicSize, mx as mx3 } from "@dxos/react-ui-theme";
|
|
133
52
|
|
|
134
|
-
//
|
|
135
|
-
import { useSignals as
|
|
136
|
-
import
|
|
137
|
-
import { useTranslation as
|
|
53
|
+
// src/components/Plank/PlankError.tsx
|
|
54
|
+
import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
|
|
55
|
+
import React4, { useEffect as useEffect2, useState } from "react";
|
|
56
|
+
import { useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
138
57
|
import { descriptionMessage, mx as mx2 } from "@dxos/react-ui-theme";
|
|
139
58
|
|
|
140
|
-
//
|
|
141
|
-
import { useSignals as
|
|
142
|
-
import
|
|
143
|
-
import {
|
|
144
|
-
import { Icon, IconButton as
|
|
59
|
+
// src/components/Plank/PlankHeading.tsx
|
|
60
|
+
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
61
|
+
import React2, { Fragment, memo, useCallback as useCallback2, useEffect, useMemo } from "react";
|
|
62
|
+
import { LayoutAction, Surface, createIntent as createIntent2, useAppGraph, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
|
|
63
|
+
import { Icon, IconButton as IconButton2, Popover, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
145
64
|
import { StackItem } from "@dxos/react-ui-stack";
|
|
146
65
|
import { TextTooltip } from "@dxos/react-ui-text-tooltip";
|
|
147
66
|
import { hoverableControls, hoverableFocusedWithinControls } from "@dxos/react-ui-theme";
|
|
148
67
|
|
|
149
|
-
//
|
|
150
|
-
import {
|
|
151
|
-
|
|
152
|
-
|
|
68
|
+
// src/components/fragments.ts
|
|
69
|
+
import { mx } from "@dxos/react-ui-theme";
|
|
70
|
+
var soloInlinePadding = "pis-[calc(env(safe-area-inset-left)+.25rem)] pie-[calc(env(safe-area-inset-left)+.25rem)]";
|
|
71
|
+
var sidebarToggleStyles = "bs-[--rail-item] is-[--rail-item] absolute block-end-2 z-[1] !bg-deckSurface lg:hidden";
|
|
72
|
+
var fixedSidebarToggleStyles = mx(sidebarToggleStyles, "inline-start-2");
|
|
73
|
+
var fixedComplementarySidebarToggleStyles = mx(sidebarToggleStyles, "inline-end-2");
|
|
74
|
+
|
|
75
|
+
// src/components/Plank/PlankControls.tsx
|
|
76
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
77
|
+
import React, { forwardRef, useCallback } from "react";
|
|
78
|
+
import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
|
|
153
79
|
import { invariant } from "@dxos/invariant";
|
|
154
|
-
import { ButtonGroup, IconButton
|
|
155
|
-
var __dxlog_file = "/
|
|
80
|
+
import { ButtonGroup, IconButton, useTranslation } from "@dxos/react-ui";
|
|
81
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-deck/src/components/Plank/PlankControls.tsx";
|
|
156
82
|
var PlankControl = ({ icon, label: label3, ...props }) => {
|
|
157
|
-
var _effect =
|
|
83
|
+
var _effect = _useSignals();
|
|
158
84
|
try {
|
|
159
|
-
return /* @__PURE__ */
|
|
85
|
+
return /* @__PURE__ */ React.createElement(IconButton, {
|
|
160
86
|
iconOnly: true,
|
|
161
87
|
label: label3,
|
|
162
88
|
icon,
|
|
@@ -171,11 +97,11 @@ var PlankControl = ({ icon, label: label3, ...props }) => {
|
|
|
171
97
|
};
|
|
172
98
|
var plankControlSpacing = "pli-2";
|
|
173
99
|
var PlankCompanionControls = /* @__PURE__ */ forwardRef(({ primary }, forwardedRef) => {
|
|
174
|
-
var _effect =
|
|
100
|
+
var _effect = _useSignals();
|
|
175
101
|
try {
|
|
176
|
-
const { t } =
|
|
177
|
-
const { dispatchPromise: dispatch } =
|
|
178
|
-
const handleCloseCompanion =
|
|
102
|
+
const { t } = useTranslation(DECK_PLUGIN);
|
|
103
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
104
|
+
const handleCloseCompanion = useCallback(() => {
|
|
179
105
|
invariant(primary, void 0, {
|
|
180
106
|
F: __dxlog_file,
|
|
181
107
|
L: 49,
|
|
@@ -185,15 +111,15 @@ var PlankCompanionControls = /* @__PURE__ */ forwardRef(({ primary }, forwardedR
|
|
|
185
111
|
""
|
|
186
112
|
]
|
|
187
113
|
});
|
|
188
|
-
return dispatch(
|
|
114
|
+
return dispatch(createIntent(DeckAction.ChangeCompanion, {
|
|
189
115
|
primary,
|
|
190
116
|
companion: null
|
|
191
117
|
}));
|
|
192
118
|
}, []);
|
|
193
|
-
return /* @__PURE__ */
|
|
119
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
194
120
|
ref: forwardedRef,
|
|
195
121
|
className: "contents app-no-drag"
|
|
196
|
-
}, /* @__PURE__ */
|
|
122
|
+
}, /* @__PURE__ */ React.createElement(PlankControl, {
|
|
197
123
|
label: t("close companion label"),
|
|
198
124
|
variant: "ghost",
|
|
199
125
|
icon: "ph--x--regular",
|
|
@@ -205,52 +131,52 @@ var PlankCompanionControls = /* @__PURE__ */ forwardRef(({ primary }, forwardedR
|
|
|
205
131
|
}
|
|
206
132
|
});
|
|
207
133
|
var PlankControls = /* @__PURE__ */ forwardRef(({ children, classNames, variant = "default", capabilities, layoutMode, pin, close = false, onClick, ...props }, forwardedRef) => {
|
|
208
|
-
var _effect =
|
|
134
|
+
var _effect = _useSignals();
|
|
209
135
|
try {
|
|
210
|
-
const { t } =
|
|
136
|
+
const { t } = useTranslation(DECK_PLUGIN);
|
|
211
137
|
const buttonClassNames = variant === "hide-disabled" ? `disabled:hidden ${plankControlSpacing}` : plankControlSpacing;
|
|
212
138
|
const layoutIsAnySolo = !!layoutMode?.startsWith("solo");
|
|
213
|
-
return /* @__PURE__ */
|
|
139
|
+
return /* @__PURE__ */ React.createElement(ButtonGroup, {
|
|
214
140
|
...props,
|
|
215
141
|
classNames: [
|
|
216
142
|
"app-no-drag !opacity-100",
|
|
217
143
|
classNames
|
|
218
144
|
],
|
|
219
145
|
ref: forwardedRef
|
|
220
|
-
}, capabilities.deck ? /* @__PURE__ */
|
|
146
|
+
}, capabilities.deck ? /* @__PURE__ */ React.createElement(React.Fragment, null, capabilities.solo && /* @__PURE__ */ React.createElement(React.Fragment, null, layoutMode === "solo" && /* @__PURE__ */ React.createElement(PlankControl, {
|
|
221
147
|
label: t("show fullscreen plank label"),
|
|
222
148
|
classNames: buttonClassNames,
|
|
223
149
|
icon: "ph--corners-out--regular",
|
|
224
150
|
onClick: () => onClick?.("solo--fullscreen")
|
|
225
|
-
}), /* @__PURE__ */
|
|
151
|
+
}), /* @__PURE__ */ React.createElement(PlankControl, {
|
|
226
152
|
label: t(layoutMode === "solo--fullscreen" ? "exit fullscreen label" : layoutIsAnySolo ? "show deck plank label" : "show solo plank label"),
|
|
227
153
|
classNames: buttonClassNames,
|
|
228
154
|
icon: layoutMode === "solo--fullscreen" ? "ph--corners-in--regular" : layoutIsAnySolo ? "ph--arrows-in-line-horizontal--regular" : "ph--arrows-out-line-horizontal--regular",
|
|
229
155
|
onClick: () => onClick?.(layoutMode === "solo--fullscreen" ? "solo--fullscreen" : "solo")
|
|
230
|
-
})), !layoutIsAnySolo && /* @__PURE__ */
|
|
156
|
+
})), !layoutIsAnySolo && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(PlankControl, {
|
|
231
157
|
label: t("increment start label"),
|
|
232
158
|
disabled: !capabilities.incrementStart,
|
|
233
159
|
classNames: buttonClassNames,
|
|
234
160
|
icon: "ph--caret-left--regular",
|
|
235
161
|
onClick: () => onClick?.("increment-start")
|
|
236
|
-
}), /* @__PURE__ */
|
|
162
|
+
}), /* @__PURE__ */ React.createElement(PlankControl, {
|
|
237
163
|
label: t("increment end label"),
|
|
238
164
|
disabled: !capabilities.incrementEnd,
|
|
239
165
|
classNames: buttonClassNames,
|
|
240
166
|
icon: "ph--caret-right--regular",
|
|
241
167
|
onClick: () => onClick?.("increment-end")
|
|
242
|
-
}))) : capabilities.fullscreen && /* @__PURE__ */
|
|
168
|
+
}))) : capabilities.fullscreen && /* @__PURE__ */ React.createElement(PlankControl, {
|
|
243
169
|
label: t(layoutMode === "solo--fullscreen" ? "exit fullscreen label" : "show fullscreen plank label"),
|
|
244
170
|
classNames: buttonClassNames,
|
|
245
171
|
icon: layoutMode === "solo--fullscreen" ? "ph--corners-in--regular" : "ph--corners-out--regular",
|
|
246
172
|
onClick: () => onClick?.("solo--fullscreen")
|
|
247
|
-
}), close && !layoutIsAnySolo && /* @__PURE__ */
|
|
173
|
+
}), close && !layoutIsAnySolo && /* @__PURE__ */ React.createElement(PlankControl, {
|
|
248
174
|
label: t(`${typeof close === "string" ? "minify" : "close"} label`),
|
|
249
175
|
classNames: buttonClassNames,
|
|
250
176
|
"data-testid": "plankHeading.close",
|
|
251
177
|
icon: close === "minify-start" ? "ph--caret-line-left--regular" : close === "minify-end" ? "ph--caret-line-right--regular" : "ph--x--regular",
|
|
252
178
|
onClick: () => onClick?.("close")
|
|
253
|
-
}), capabilities.companion && /* @__PURE__ */
|
|
179
|
+
}), capabilities.companion && /* @__PURE__ */ React.createElement(PlankControl, {
|
|
254
180
|
label: t("open companion label"),
|
|
255
181
|
classNames: buttonClassNames,
|
|
256
182
|
"data-testid": "plankHeading.companion",
|
|
@@ -262,20 +188,13 @@ var PlankControls = /* @__PURE__ */ forwardRef(({ children, classNames, variant
|
|
|
262
188
|
}
|
|
263
189
|
});
|
|
264
190
|
|
|
265
|
-
//
|
|
266
|
-
import { mx } from "@dxos/react-ui-theme";
|
|
267
|
-
var soloInlinePadding = "pis-[calc(env(safe-area-inset-left)+.25rem)] pie-[calc(env(safe-area-inset-left)+.25rem)]";
|
|
268
|
-
var sidebarToggleStyles = "bs-[--rail-item] is-[--rail-item] absolute block-end-2 z-[1] !bg-deckSurface lg:hidden";
|
|
269
|
-
var fixedSidebarToggleStyles = mx(sidebarToggleStyles, "inline-start-2");
|
|
270
|
-
var fixedComplementarySidebarToggleStyles = mx(sidebarToggleStyles, "inline-end-2");
|
|
271
|
-
|
|
272
|
-
// packages/plugins/plugin-deck/src/components/Plank/PlankHeading.tsx
|
|
191
|
+
// src/components/Plank/PlankHeading.tsx
|
|
273
192
|
var MAX_COMPANIONS = 5;
|
|
274
193
|
var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncrementStart, canIncrementEnd, popoverAnchorId, primaryId, pending, companioned, companions, layoutMode, actions = [] }) => {
|
|
275
|
-
var _effect =
|
|
194
|
+
var _effect = _useSignals2();
|
|
276
195
|
try {
|
|
277
|
-
const { t } =
|
|
278
|
-
const { dispatchPromise: dispatch } =
|
|
196
|
+
const { t } = useTranslation2(DECK_PLUGIN);
|
|
197
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher2();
|
|
279
198
|
const { graph } = useAppGraph();
|
|
280
199
|
const breakpoint = useBreakpoints();
|
|
281
200
|
const icon = node?.properties?.icon ?? "ph--placeholder--regular";
|
|
@@ -335,30 +254,30 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
335
254
|
variant,
|
|
336
255
|
graph
|
|
337
256
|
]);
|
|
338
|
-
const handleAction =
|
|
339
|
-
typeof action.data === "function" && action.data?.({
|
|
257
|
+
const handleAction = useCallback2((action) => {
|
|
258
|
+
typeof action.data === "function" && void action.data?.({
|
|
340
259
|
parent: node,
|
|
341
260
|
caller: DECK_PLUGIN
|
|
342
261
|
});
|
|
343
262
|
}, [
|
|
344
263
|
node
|
|
345
264
|
]);
|
|
346
|
-
const handlePlankAction =
|
|
265
|
+
const handlePlankAction = useCallback2((eventType) => {
|
|
347
266
|
if (eventType.startsWith("solo")) {
|
|
348
|
-
return dispatch(
|
|
267
|
+
return dispatch(createIntent2(DeckAction.Adjust, {
|
|
349
268
|
type: eventType,
|
|
350
269
|
id
|
|
351
270
|
}));
|
|
352
271
|
} else if (eventType === "close") {
|
|
353
272
|
if (part === "complementary") {
|
|
354
|
-
return dispatch(
|
|
273
|
+
return dispatch(createIntent2(LayoutAction.UpdateComplementary, {
|
|
355
274
|
part: "complementary",
|
|
356
275
|
options: {
|
|
357
276
|
state: "collapsed"
|
|
358
277
|
}
|
|
359
278
|
}));
|
|
360
279
|
} else {
|
|
361
|
-
return dispatch(
|
|
280
|
+
return dispatch(createIntent2(LayoutAction.Close, {
|
|
362
281
|
part: "main",
|
|
363
282
|
subject: [
|
|
364
283
|
id
|
|
@@ -369,7 +288,7 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
369
288
|
}));
|
|
370
289
|
}
|
|
371
290
|
} else {
|
|
372
|
-
return dispatch(
|
|
291
|
+
return dispatch(createIntent2(DeckAction.Adjust, {
|
|
373
292
|
type: eventType,
|
|
374
293
|
id
|
|
375
294
|
}));
|
|
@@ -380,11 +299,11 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
380
299
|
part
|
|
381
300
|
]);
|
|
382
301
|
const ActionRoot = node && popoverAnchorId === `dxos.org/ui/${DECK_PLUGIN}/${node.id}` ? Popover.Anchor : Fragment;
|
|
383
|
-
const handleTabClick =
|
|
302
|
+
const handleTabClick = useCallback2((event) => {
|
|
384
303
|
const target = event.target.closest("[data-id]");
|
|
385
304
|
const tabId = target?.dataset?.id;
|
|
386
305
|
if (primaryId && tabId) {
|
|
387
|
-
void dispatch(
|
|
306
|
+
void dispatch(createIntent2(DeckAction.ChangeCompanion, {
|
|
388
307
|
primary: primaryId,
|
|
389
308
|
companion: tabId
|
|
390
309
|
}));
|
|
@@ -392,9 +311,9 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
392
311
|
}, [
|
|
393
312
|
primaryId
|
|
394
313
|
]);
|
|
395
|
-
return /* @__PURE__ */
|
|
314
|
+
return /* @__PURE__ */ React2.createElement(StackItem.Heading, {
|
|
396
315
|
classNames: [
|
|
397
|
-
"plb-1 items-stretch gap-1 sticky inline-start-12 app-drag min-is-0 contain-layout",
|
|
316
|
+
"plb-1 items-stretch gap-1 sticky inline-start-12 app-drag min-is-0 contain-layout density-coarse",
|
|
398
317
|
part === "solo" ? soloInlinePadding : "pli-1",
|
|
399
318
|
...layoutMode === "solo--fullscreen" ? [
|
|
400
319
|
hoverableControls,
|
|
@@ -405,10 +324,10 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
405
324
|
"data-plank-heading": true
|
|
406
325
|
}, companions && isCompanionNode ? (
|
|
407
326
|
/* TODO(thure): IMPORTANT: This is a tablist; it should be implemented as such. */
|
|
408
|
-
/* @__PURE__ */
|
|
327
|
+
/* @__PURE__ */ React2.createElement("div", {
|
|
409
328
|
role: "none",
|
|
410
329
|
className: "flex-1 min-is-0 overflow-x-auto scrollbar-none flex gap-1"
|
|
411
|
-
}, companions.map(({ id: id2, properties: { icon: icon2, label: label4 } }) => /* @__PURE__ */
|
|
330
|
+
}, companions.map(({ id: id2, properties: { icon: icon2, label: label4 } }) => /* @__PURE__ */ React2.createElement(IconButton2, {
|
|
412
331
|
key: id2,
|
|
413
332
|
"data-id": id2,
|
|
414
333
|
icon: icon2,
|
|
@@ -418,40 +337,40 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
418
337
|
variant: node?.id === id2 ? "primary" : "ghost",
|
|
419
338
|
onClick: handleTabClick
|
|
420
339
|
})))
|
|
421
|
-
) : /* @__PURE__ */
|
|
340
|
+
) : /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(ActionRoot, null, node && sigilActions ? /* @__PURE__ */ React2.createElement(StackItem.Sigil, {
|
|
422
341
|
icon,
|
|
423
342
|
related: part === "complementary",
|
|
424
343
|
attendableId,
|
|
425
344
|
triggerLabel: t("actions menu label"),
|
|
426
345
|
actions: sigilActions,
|
|
427
346
|
onAction: handleAction
|
|
428
|
-
}, /* @__PURE__ */
|
|
347
|
+
}, /* @__PURE__ */ React2.createElement(Surface, {
|
|
429
348
|
role: "menu-footer",
|
|
430
349
|
data: {
|
|
431
350
|
subject: node.data
|
|
432
351
|
}
|
|
433
|
-
})) : /* @__PURE__ */
|
|
352
|
+
})) : /* @__PURE__ */ React2.createElement(StackItem.SigilButton, null, /* @__PURE__ */ React2.createElement("span", {
|
|
434
353
|
className: "sr-only"
|
|
435
|
-
}, label3), /* @__PURE__ */
|
|
354
|
+
}, label3), /* @__PURE__ */ React2.createElement(Icon, {
|
|
436
355
|
icon,
|
|
437
356
|
size: 5
|
|
438
|
-
}))), /* @__PURE__ */
|
|
357
|
+
}))), /* @__PURE__ */ React2.createElement(TextTooltip, {
|
|
439
358
|
text: label3,
|
|
440
359
|
onlyWhenTruncating: true
|
|
441
|
-
}, /* @__PURE__ */
|
|
360
|
+
}, /* @__PURE__ */ React2.createElement(StackItem.HeadingLabel, {
|
|
442
361
|
attendableId,
|
|
443
362
|
related: part === "complementary",
|
|
444
363
|
...pending && {
|
|
445
364
|
classNames: "text-description"
|
|
446
365
|
}
|
|
447
|
-
}, label3))), node && part !== "complementary" && /* @__PURE__ */
|
|
366
|
+
}, label3))), node && part !== "complementary" && /* @__PURE__ */ React2.createElement(Surface, {
|
|
448
367
|
role: "navbar-end",
|
|
449
368
|
data: {
|
|
450
369
|
subject: node.data
|
|
451
370
|
}
|
|
452
|
-
}), companioned === "companion" ? /* @__PURE__ */
|
|
371
|
+
}), companioned === "companion" ? /* @__PURE__ */ React2.createElement(PlankCompanionControls, {
|
|
453
372
|
primary: primaryId
|
|
454
|
-
}) : /* @__PURE__ */
|
|
373
|
+
}) : /* @__PURE__ */ React2.createElement(PlankControls, {
|
|
455
374
|
capabilities,
|
|
456
375
|
layoutMode,
|
|
457
376
|
close: part === "complementary" ? "minify-end" : true,
|
|
@@ -462,13 +381,13 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
|
|
|
462
381
|
}
|
|
463
382
|
});
|
|
464
383
|
|
|
465
|
-
//
|
|
466
|
-
import { useSignals as
|
|
467
|
-
import
|
|
384
|
+
// src/components/Plank/PlankLoading.tsx
|
|
385
|
+
import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
|
|
386
|
+
import React3 from "react";
|
|
468
387
|
var PlankLoading = () => {
|
|
469
|
-
var _effect =
|
|
388
|
+
var _effect = _useSignals3();
|
|
470
389
|
try {
|
|
471
|
-
return /* @__PURE__ */
|
|
390
|
+
return /* @__PURE__ */ React3.createElement("div", {
|
|
472
391
|
role: "none",
|
|
473
392
|
className: "grid place-items-center attention-surface"
|
|
474
393
|
});
|
|
@@ -477,57 +396,57 @@ var PlankLoading = () => {
|
|
|
477
396
|
}
|
|
478
397
|
};
|
|
479
398
|
|
|
480
|
-
//
|
|
399
|
+
// src/components/Plank/PlankError.tsx
|
|
481
400
|
var PlankContentError = ({ error }) => {
|
|
482
|
-
var _effect =
|
|
401
|
+
var _effect = _useSignals4();
|
|
483
402
|
try {
|
|
484
|
-
const { t } =
|
|
403
|
+
const { t } = useTranslation3(DECK_PLUGIN);
|
|
485
404
|
const errorString = error?.toString() ?? "";
|
|
486
|
-
return /* @__PURE__ */
|
|
405
|
+
return /* @__PURE__ */ React4.createElement("div", {
|
|
487
406
|
role: "none",
|
|
488
|
-
className: "overflow-auto p-8 attention-surface grid place-items-center"
|
|
489
|
-
}, /* @__PURE__ */
|
|
407
|
+
className: "overflow-y-auto p-8 attention-surface grid place-items-center"
|
|
408
|
+
}, /* @__PURE__ */ React4.createElement("p", {
|
|
490
409
|
role: "alert",
|
|
491
|
-
className: mx2(descriptionMessage, "break-
|
|
410
|
+
className: mx2(descriptionMessage, "break-all rounded-md p-4")
|
|
492
411
|
}, error ? errorString : t("error fallback message")));
|
|
493
412
|
} finally {
|
|
494
413
|
_effect.f();
|
|
495
414
|
}
|
|
496
415
|
};
|
|
497
416
|
var PlankError = ({ id, part, node, error }) => {
|
|
498
|
-
var _effect =
|
|
417
|
+
var _effect = _useSignals4();
|
|
499
418
|
try {
|
|
500
419
|
const [timedOut, setTimedOut] = useState(false);
|
|
501
420
|
useEffect2(() => {
|
|
502
421
|
setTimeout(() => setTimedOut(true), 5e3);
|
|
503
422
|
}, []);
|
|
504
|
-
return /* @__PURE__ */
|
|
423
|
+
return /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement(PlankHeading, {
|
|
505
424
|
id,
|
|
506
425
|
part,
|
|
507
426
|
node,
|
|
508
427
|
pending: !timedOut
|
|
509
|
-
}), timedOut ? /* @__PURE__ */
|
|
428
|
+
}), timedOut ? /* @__PURE__ */ React4.createElement(PlankContentError, {
|
|
510
429
|
error
|
|
511
|
-
}) : /* @__PURE__ */
|
|
430
|
+
}) : /* @__PURE__ */ React4.createElement(PlankLoading, null));
|
|
512
431
|
} finally {
|
|
513
432
|
_effect.f();
|
|
514
433
|
}
|
|
515
434
|
};
|
|
516
435
|
|
|
517
|
-
//
|
|
436
|
+
// src/components/Plank/Plank.tsx
|
|
518
437
|
var UNKNOWN_ID = "unknown_id";
|
|
519
438
|
var Plank = /* @__PURE__ */ memo2(({ id = UNKNOWN_ID, companionId, ...props }) => {
|
|
520
|
-
var _effect =
|
|
439
|
+
var _effect = _useSignals5();
|
|
521
440
|
try {
|
|
522
441
|
const { graph } = useAppGraph2();
|
|
523
442
|
const node = useNode(graph, id);
|
|
524
443
|
const companions = useCompanions(id);
|
|
525
444
|
const currentCompanion = companions.find(({ id: id2 }) => id2 === companionId);
|
|
526
445
|
const hasCompanion = !!(companionId && currentCompanion);
|
|
527
|
-
return /* @__PURE__ */
|
|
446
|
+
return /* @__PURE__ */ React5.createElement(PlankContainer, {
|
|
528
447
|
solo: props.part === "solo",
|
|
529
448
|
companion: hasCompanion
|
|
530
|
-
}, /* @__PURE__ */
|
|
449
|
+
}, /* @__PURE__ */ React5.createElement(PlankComponent, {
|
|
531
450
|
id,
|
|
532
451
|
node,
|
|
533
452
|
companioned: hasCompanion ? "primary" : void 0,
|
|
@@ -536,7 +455,7 @@ var Plank = /* @__PURE__ */ memo2(({ id = UNKNOWN_ID, companionId, ...props }) =
|
|
|
536
455
|
...props.part === "solo" ? {
|
|
537
456
|
part: "solo-primary"
|
|
538
457
|
} : {}
|
|
539
|
-
}), hasCompanion && /* @__PURE__ */
|
|
458
|
+
}), hasCompanion && /* @__PURE__ */ React5.createElement(PlankComponent, {
|
|
540
459
|
id: companionId,
|
|
541
460
|
node: currentCompanion,
|
|
542
461
|
primary: node,
|
|
@@ -554,13 +473,13 @@ var Plank = /* @__PURE__ */ memo2(({ id = UNKNOWN_ID, companionId, ...props }) =
|
|
|
554
473
|
}
|
|
555
474
|
});
|
|
556
475
|
var PlankContainer = ({ children, solo, companion }) => {
|
|
557
|
-
var _effect =
|
|
476
|
+
var _effect = _useSignals5();
|
|
558
477
|
try {
|
|
559
478
|
const sizeAttrs = useMainSize();
|
|
560
479
|
if (!solo) {
|
|
561
480
|
return children;
|
|
562
481
|
}
|
|
563
|
-
return /* @__PURE__ */
|
|
482
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
564
483
|
role: "none",
|
|
565
484
|
className: mx3("absolute inset-0 grid", companion && "grid-cols-[1fr_1fr]", railGridHorizontal, mainIntrinsicSize),
|
|
566
485
|
...sizeAttrs
|
|
@@ -570,10 +489,10 @@ var PlankContainer = ({ children, solo, companion }) => {
|
|
|
570
489
|
}
|
|
571
490
|
};
|
|
572
491
|
var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order, active, companioned, node, primary, companions, settings }) => {
|
|
573
|
-
var _effect =
|
|
492
|
+
var _effect = _useSignals5();
|
|
574
493
|
try {
|
|
575
|
-
const { dispatchPromise: dispatch } =
|
|
576
|
-
const { deck, popoverAnchorId, scrollIntoView } =
|
|
494
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher3();
|
|
495
|
+
const { deck, popoverAnchorId, scrollIntoView } = useCapability(DeckCapabilities.DeckState);
|
|
577
496
|
const canResize = layoutMode === "deck";
|
|
578
497
|
const attentionAttrs = useAttentionAttributes(primary?.id ?? id);
|
|
579
498
|
const index = active ? active.findIndex((entryId) => entryId === id) : 0;
|
|
@@ -584,8 +503,8 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
584
503
|
const { variant } = parseEntryId(id);
|
|
585
504
|
const sizeKey = `${id.split("+")[0]}${variant ? `${ATTENDABLE_PATH_SEPARATOR}${variant}` : ""}`;
|
|
586
505
|
const size = deck.plankSizing[sizeKey];
|
|
587
|
-
const handleSizeChange =
|
|
588
|
-
return dispatch(
|
|
506
|
+
const handleSizeChange = useCallback3(debounce((nextSize) => {
|
|
507
|
+
return dispatch(createIntent3(DeckAction.UpdatePlankSize, {
|
|
589
508
|
id: sizeKey,
|
|
590
509
|
size: nextSize
|
|
591
510
|
}));
|
|
@@ -593,7 +512,7 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
593
512
|
dispatch,
|
|
594
513
|
sizeKey
|
|
595
514
|
]);
|
|
596
|
-
const handleKeyDown =
|
|
515
|
+
const handleKeyDown = useCallback3((event) => {
|
|
597
516
|
if (event.target === event.currentTarget && event.key === "Escape") {
|
|
598
517
|
rootElement.current?.closest("main")?.focus();
|
|
599
518
|
}
|
|
@@ -608,7 +527,7 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
608
527
|
behavior: "smooth",
|
|
609
528
|
inline: "center"
|
|
610
529
|
});
|
|
611
|
-
void dispatch(
|
|
530
|
+
void dispatch(createIntent3(LayoutAction2.ScrollIntoView, {
|
|
612
531
|
part: "current",
|
|
613
532
|
subject: void 0
|
|
614
533
|
}));
|
|
@@ -635,10 +554,10 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
635
554
|
primary?.data,
|
|
636
555
|
variant
|
|
637
556
|
]);
|
|
638
|
-
const placeholder = useMemo2(() => /* @__PURE__ */
|
|
557
|
+
const placeholder = useMemo2(() => /* @__PURE__ */ React5.createElement(PlankLoading, null), []);
|
|
639
558
|
const Root = part.startsWith("solo") ? "article" : StackItem2.Root;
|
|
640
559
|
const className = mx3("attention-surface relative dx-focus-ring-inset-over-all density-coarse", isSolo && mainIntrinsicSize, isSolo && railGridHorizontal, isSolo && "absolute inset-0", part.startsWith("solo") && "grid", part === "deck" && (companioned === "companion" ? "!border-separator border-ie" : "!border-separator border-li"), part.startsWith("solo-") && "row-span-2 grid-rows-subgrid min-is-0", part === "solo-companion" && "!border-separator border-is");
|
|
641
|
-
return /* @__PURE__ */
|
|
560
|
+
return /* @__PURE__ */ React5.createElement(Root, {
|
|
642
561
|
ref: rootElement,
|
|
643
562
|
"data-testid": "deck.plank",
|
|
644
563
|
tabIndex: 0,
|
|
@@ -657,7 +576,7 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
657
576
|
},
|
|
658
577
|
...isAttendable ? attentionAttrs : {},
|
|
659
578
|
onKeyDown: handleKeyDown
|
|
660
|
-
}, node ? /* @__PURE__ */
|
|
579
|
+
}, node ? /* @__PURE__ */ React5.createElement(React5.Fragment, null, /* @__PURE__ */ React5.createElement(PlankHeading, {
|
|
661
580
|
id,
|
|
662
581
|
part: part.startsWith("solo-") ? "solo" : part,
|
|
663
582
|
node,
|
|
@@ -669,23 +588,104 @@ var PlankComponent = /* @__PURE__ */ memo2(({ layoutMode, id, part, path, order,
|
|
|
669
588
|
primaryId: primary?.id,
|
|
670
589
|
companioned,
|
|
671
590
|
companions
|
|
672
|
-
}), /* @__PURE__ */
|
|
591
|
+
}), /* @__PURE__ */ React5.createElement(Surface2, {
|
|
673
592
|
key: node.id,
|
|
674
593
|
role: "article",
|
|
675
594
|
data,
|
|
676
595
|
limit: 1,
|
|
677
596
|
fallback: PlankContentError,
|
|
678
597
|
placeholder
|
|
679
|
-
})) : /* @__PURE__ */
|
|
598
|
+
})) : /* @__PURE__ */ React5.createElement(PlankError, {
|
|
680
599
|
id,
|
|
681
600
|
part
|
|
682
|
-
}), canResize && /* @__PURE__ */
|
|
601
|
+
}), canResize && /* @__PURE__ */ React5.createElement(StackItem2.ResizeHandle, null));
|
|
683
602
|
} finally {
|
|
684
603
|
_effect.f();
|
|
685
604
|
}
|
|
686
605
|
});
|
|
687
606
|
|
|
688
|
-
//
|
|
607
|
+
// src/components/Sidebar/SidebarButton.tsx
|
|
608
|
+
import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
|
|
609
|
+
import React6, { useCallback as useCallback4 } from "react";
|
|
610
|
+
import { LayoutAction as LayoutAction3, createIntent as createIntent4, useCapability as useCapability2, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
|
|
611
|
+
import { IconButton as IconButton3, useTranslation as useTranslation4 } from "@dxos/react-ui";
|
|
612
|
+
var ToggleSidebarButton = ({ classNames, variant = "ghost" }) => {
|
|
613
|
+
var _effect = _useSignals6();
|
|
614
|
+
try {
|
|
615
|
+
const layoutContext = useCapability2(DeckCapabilities.MutableDeckState);
|
|
616
|
+
const { t } = useTranslation4(DECK_PLUGIN);
|
|
617
|
+
return /* @__PURE__ */ React6.createElement(IconButton3, {
|
|
618
|
+
variant,
|
|
619
|
+
iconOnly: true,
|
|
620
|
+
icon: "ph--sidebar--regular",
|
|
621
|
+
size: 4,
|
|
622
|
+
label: t("open navigation sidebar label"),
|
|
623
|
+
onClick: () => layoutContext.sidebarState = layoutContext.sidebarState === "expanded" ? "collapsed" : "expanded",
|
|
624
|
+
classNames
|
|
625
|
+
});
|
|
626
|
+
} finally {
|
|
627
|
+
_effect.f();
|
|
628
|
+
}
|
|
629
|
+
};
|
|
630
|
+
var CloseSidebarButton = () => {
|
|
631
|
+
var _effect = _useSignals6();
|
|
632
|
+
try {
|
|
633
|
+
const layoutContext = useCapability2(DeckCapabilities.MutableDeckState);
|
|
634
|
+
const { t } = useTranslation4(DECK_PLUGIN);
|
|
635
|
+
return /* @__PURE__ */ React6.createElement(IconButton3, {
|
|
636
|
+
variant: "ghost",
|
|
637
|
+
iconOnly: true,
|
|
638
|
+
icon: "ph--caret-line-left--regular",
|
|
639
|
+
size: 4,
|
|
640
|
+
label: t("close navigation sidebar label"),
|
|
641
|
+
onClick: () => layoutContext.sidebarState = "collapsed",
|
|
642
|
+
classNames: "rounded-none pli-1 dx-focus-ring-inset pie-[max(.5rem,env(safe-area-inset-left))]"
|
|
643
|
+
});
|
|
644
|
+
} finally {
|
|
645
|
+
_effect.f();
|
|
646
|
+
}
|
|
647
|
+
};
|
|
648
|
+
var ToggleComplementarySidebarButton = ({ inR0, classNames, current }) => {
|
|
649
|
+
var _effect = _useSignals6();
|
|
650
|
+
try {
|
|
651
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher4();
|
|
652
|
+
const layoutContext = useCapability2(DeckCapabilities.MutableDeckState);
|
|
653
|
+
const { t } = useTranslation4(DECK_PLUGIN);
|
|
654
|
+
const companions = useDeckCompanions();
|
|
655
|
+
const handleClick = useCallback4(async () => {
|
|
656
|
+
layoutContext.complementarySidebarState = layoutContext.complementarySidebarState === "expanded" ? "collapsed" : "expanded";
|
|
657
|
+
const firstCompanion = companions[0];
|
|
658
|
+
if (layoutContext.complementarySidebarState === "expanded" && !current && firstCompanion) {
|
|
659
|
+
await dispatch(createIntent4(LayoutAction3.UpdateComplementary, {
|
|
660
|
+
part: "complementary",
|
|
661
|
+
subject: getCompanionId(firstCompanion.id)
|
|
662
|
+
}));
|
|
663
|
+
}
|
|
664
|
+
}, [
|
|
665
|
+
layoutContext,
|
|
666
|
+
current,
|
|
667
|
+
companions,
|
|
668
|
+
dispatch
|
|
669
|
+
]);
|
|
670
|
+
return /* @__PURE__ */ React6.createElement(IconButton3, {
|
|
671
|
+
iconOnly: true,
|
|
672
|
+
onClick: handleClick,
|
|
673
|
+
variant: "ghost",
|
|
674
|
+
label: t("open complementary sidebar label"),
|
|
675
|
+
classNames: [
|
|
676
|
+
"[&>svg]:-scale-x-100",
|
|
677
|
+
classNames
|
|
678
|
+
],
|
|
679
|
+
icon: "ph--sidebar-simple--regular",
|
|
680
|
+
size: inR0 ? 5 : 4,
|
|
681
|
+
tooltipSide: inR0 ? "left" : void 0
|
|
682
|
+
});
|
|
683
|
+
} finally {
|
|
684
|
+
_effect.f();
|
|
685
|
+
}
|
|
686
|
+
};
|
|
687
|
+
|
|
688
|
+
// src/components/Sidebar/ComplementarySidebar.tsx
|
|
689
689
|
var label = [
|
|
690
690
|
"complementary sidebar title",
|
|
691
691
|
{
|
|
@@ -840,7 +840,7 @@ var ComplementarySidebarPanel = ({ companion, activeId, data, hoistStatusbar })
|
|
|
840
840
|
}
|
|
841
841
|
};
|
|
842
842
|
|
|
843
|
-
//
|
|
843
|
+
// src/components/Sidebar/Sidebar.tsx
|
|
844
844
|
import { useSignals as _useSignals8 } from "@preact-signals/safe-react/tracking";
|
|
845
845
|
import React8, { useMemo as useMemo4 } from "react";
|
|
846
846
|
import { Surface as Surface4, useCapability as useCapability4 } from "@dxos/app-framework";
|
|
@@ -887,7 +887,7 @@ var Sidebar = () => {
|
|
|
887
887
|
}
|
|
888
888
|
};
|
|
889
889
|
|
|
890
|
-
//
|
|
890
|
+
// src/components/DeckLayout/Banner.tsx
|
|
891
891
|
var Banner = ({ variant, classNames }) => {
|
|
892
892
|
var _effect = _useSignals9();
|
|
893
893
|
try {
|
|
@@ -922,17 +922,17 @@ var Banner = ({ variant, classNames }) => {
|
|
|
922
922
|
}
|
|
923
923
|
};
|
|
924
924
|
|
|
925
|
-
//
|
|
925
|
+
// src/components/DeckLayout/DeckLayout.tsx
|
|
926
926
|
import { useSignals as _useSignals17 } from "@preact-signals/safe-react/tracking";
|
|
927
927
|
import { untracked } from "@preact/signals-core";
|
|
928
|
-
import React17, { useCallback as useCallback7, useEffect as useEffect5, useMemo as useMemo6, useRef as useRef3
|
|
928
|
+
import React17, { Fragment as Fragment3, useCallback as useCallback7, useEffect as useEffect5, useMemo as useMemo6, useRef as useRef3 } from "react";
|
|
929
929
|
import { Capabilities, LayoutAction as LayoutAction5, createIntent as createIntent6, useCapability as useCapability8, useIntentDispatcher as useIntentDispatcher6, usePluginManager } from "@dxos/app-framework";
|
|
930
930
|
import { AttentionCapabilities } from "@dxos/plugin-attention";
|
|
931
931
|
import { Main as Main3, useMediaQuery, useOnTransition } from "@dxos/react-ui";
|
|
932
|
-
import { Stack, StackContext
|
|
932
|
+
import { DEFAULT_HORIZONTAL_SIZE, Stack, StackContext } from "@dxos/react-ui-stack";
|
|
933
933
|
import { mainPaddingTransitions } from "@dxos/react-ui-theme";
|
|
934
934
|
|
|
935
|
-
//
|
|
935
|
+
// src/components/DeckLayout/ActiveNode.tsx
|
|
936
936
|
import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
|
|
937
937
|
import React10 from "react";
|
|
938
938
|
import { Surface as Surface6, useAppGraph as useAppGraph3 } from "@dxos/app-framework";
|
|
@@ -960,7 +960,7 @@ var ActiveNode = () => {
|
|
|
960
960
|
}
|
|
961
961
|
};
|
|
962
962
|
|
|
963
|
-
//
|
|
963
|
+
// src/components/DeckLayout/ContentEmpty.tsx
|
|
964
964
|
import { useSignals as _useSignals11 } from "@preact-signals/safe-react/tracking";
|
|
965
965
|
import React11 from "react";
|
|
966
966
|
import { Surface as Surface7, useCapability as useCapability5 } from "@dxos/app-framework";
|
|
@@ -986,7 +986,7 @@ var ContentEmpty = () => {
|
|
|
986
986
|
}
|
|
987
987
|
};
|
|
988
988
|
|
|
989
|
-
//
|
|
989
|
+
// src/components/DeckLayout/Dialog.tsx
|
|
990
990
|
import { useSignals as _useSignals12 } from "@preact-signals/safe-react/tracking";
|
|
991
991
|
import React12 from "react";
|
|
992
992
|
import { Surface as Surface8, useCapability as useCapability6 } from "@dxos/app-framework";
|
|
@@ -1026,7 +1026,7 @@ var Dialog = () => {
|
|
|
1026
1026
|
}
|
|
1027
1027
|
};
|
|
1028
1028
|
|
|
1029
|
-
//
|
|
1029
|
+
// src/components/DeckLayout/Popover.tsx
|
|
1030
1030
|
import { useSignals as _useSignals13 } from "@preact-signals/safe-react/tracking";
|
|
1031
1031
|
import { createContext } from "@radix-ui/react-context";
|
|
1032
1032
|
import React13, { useCallback as useCallback6, useEffect as useEffect4, useMemo as useMemo5, useRef as useRef2, useState as useState3 } from "react";
|
|
@@ -1110,7 +1110,7 @@ var PopoverContent = () => {
|
|
|
1110
1110
|
sticky: "always",
|
|
1111
1111
|
hideWhenDetached: true
|
|
1112
1112
|
}, /* @__PURE__ */ React13.createElement(Popover2.Viewport, null, /* @__PURE__ */ React13.createElement(Surface9, {
|
|
1113
|
-
role: "popover",
|
|
1113
|
+
role: "card--popover",
|
|
1114
1114
|
data: layout.popoverContent,
|
|
1115
1115
|
limit: 1
|
|
1116
1116
|
})), /* @__PURE__ */ React13.createElement(Popover2.Arrow, null)));
|
|
@@ -1119,7 +1119,7 @@ var PopoverContent = () => {
|
|
|
1119
1119
|
}
|
|
1120
1120
|
};
|
|
1121
1121
|
|
|
1122
|
-
//
|
|
1122
|
+
// src/components/DeckLayout/StatusBar.tsx
|
|
1123
1123
|
import { useSignals as _useSignals14 } from "@preact-signals/safe-react/tracking";
|
|
1124
1124
|
import React14 from "react";
|
|
1125
1125
|
import { Surface as Surface10 } from "@dxos/app-framework";
|
|
@@ -1144,7 +1144,7 @@ var StatusBar = ({ showHints }) => {
|
|
|
1144
1144
|
}
|
|
1145
1145
|
};
|
|
1146
1146
|
|
|
1147
|
-
//
|
|
1147
|
+
// src/components/DeckLayout/Toast.tsx
|
|
1148
1148
|
import { useSignals as _useSignals15 } from "@preact-signals/safe-react/tracking";
|
|
1149
1149
|
import React15 from "react";
|
|
1150
1150
|
import { Button, Icon as Icon2, Toast as NaturalToast, toLocalizedString as toLocalizedString3, useTranslation as useTranslation7 } from "@dxos/react-ui";
|
|
@@ -1180,7 +1180,7 @@ var Toast = ({ id, title, description, icon, duration, actionLabel, actionAlt, c
|
|
|
1180
1180
|
}
|
|
1181
1181
|
};
|
|
1182
1182
|
|
|
1183
|
-
//
|
|
1183
|
+
// src/components/DeckLayout/Topbar.tsx
|
|
1184
1184
|
import { useSignals as _useSignals16 } from "@preact-signals/safe-react/tracking";
|
|
1185
1185
|
import React16 from "react";
|
|
1186
1186
|
var Topbar = () => {
|
|
@@ -1194,7 +1194,7 @@ var Topbar = () => {
|
|
|
1194
1194
|
}
|
|
1195
1195
|
};
|
|
1196
1196
|
|
|
1197
|
-
//
|
|
1197
|
+
// src/components/DeckLayout/DeckLayout.tsx
|
|
1198
1198
|
var PlankSeparator = ({ order }) => {
|
|
1199
1199
|
var _effect = _useSignals17();
|
|
1200
1200
|
try {
|
|
@@ -1428,7 +1428,7 @@ var DeckLayout = ({ onDismissToast }) => {
|
|
|
1428
1428
|
}
|
|
1429
1429
|
};
|
|
1430
1430
|
|
|
1431
|
-
//
|
|
1431
|
+
// src/components/DeckSettings/DeckSettings.tsx
|
|
1432
1432
|
import { useSignals as _useSignals18 } from "@preact-signals/safe-react/tracking";
|
|
1433
1433
|
import React18 from "react";
|
|
1434
1434
|
import { Input, Select, useTranslation as useTranslation8 } from "@dxos/react-ui";
|
|
@@ -1491,4 +1491,4 @@ export {
|
|
|
1491
1491
|
DeckLayout,
|
|
1492
1492
|
DeckSettings
|
|
1493
1493
|
};
|
|
1494
|
-
//# sourceMappingURL=chunk-
|
|
1494
|
+
//# sourceMappingURL=chunk-6MQIYIPY.mjs.map
|