@dxos/plugin-simple-layout 0.8.4-main.2244d791bb → 0.8.4-main.4a85c3132b
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/{chunk-U632CHRU.mjs → chunk-TMZNLVT2.mjs} +130 -127
- package/dist/lib/browser/chunk-TMZNLVT2.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-ZQTWLJYR.mjs → react-root-MMB575WY.mjs} +2 -2
- package/dist/lib/browser/{react-surface-IOYDLMNR.mjs → react-surface-M6CURANW.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-UXFYLQJA.mjs → chunk-FLOYBAHE.mjs} +130 -127
- package/dist/lib/node-esm/chunk-FLOYBAHE.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-FMAUHDJI.mjs → react-root-ENZKVSY4.mjs} +2 -2
- package/dist/lib/node-esm/{react-surface-ZAZRIKZQ.mjs → react-surface-ITVNQYLG.mjs} +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts +1 -1
- package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/spotlight-dismiss/spotlight-dismiss.d.ts +1 -1
- package/dist/types/src/capabilities/state/index.d.ts +1 -1
- package/dist/types/src/capabilities/state/state.d.ts +1 -1
- package/dist/types/src/capabilities/url-handler/url-handler.d.ts +1 -1
- package/dist/types/src/components/ContentError.stories.d.ts +1 -3
- package/dist/types/src/components/ContentError.stories.d.ts.map +1 -1
- package/dist/types/src/components/Home/Home.d.ts.map +1 -1
- package/dist/types/src/components/MobileLayout/MobileLayout.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/AppBar.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/Drawer.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/Main.d.ts.map +1 -1
- package/dist/types/src/components/SimpleLayout/NavBar.d.ts.map +1 -1
- package/dist/types/src/components/Workspace/Workspace.d.ts.map +1 -1
- package/dist/types/src/hooks/useAppBarProps.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +29 -28
- package/src/components/ContentError.stories.tsx +7 -6
- package/src/components/ContentLoading.stories.tsx +1 -1
- package/src/components/ContentLoading.tsx +1 -1
- package/src/components/Dialog/Dialog.tsx +3 -3
- package/src/components/Home/Home.tsx +25 -20
- package/src/components/MobileLayout/MobileLayout.stories.tsx +23 -19
- package/src/components/MobileLayout/MobileLayout.tsx +2 -2
- package/src/components/Popover/Popover.tsx +14 -4
- package/src/components/SimpleLayout/AppBar.stories.tsx +2 -2
- package/src/components/SimpleLayout/AppBar.tsx +17 -20
- package/src/components/SimpleLayout/Drawer.tsx +12 -9
- package/src/components/SimpleLayout/Main.tsx +8 -6
- package/src/components/SimpleLayout/NavBar.stories.tsx +8 -8
- package/src/components/SimpleLayout/NavBar.tsx +4 -10
- package/src/components/SimpleLayout/SimpleLayout.stories.tsx +2 -2
- package/src/components/SimpleLayout/SimpleLayout.tsx +1 -1
- package/src/components/Workspace/Workspace.tsx +25 -20
- package/src/components/hooks.ts +3 -3
- package/src/hooks/actions.ts +2 -2
- package/src/hooks/useAppBarProps.ts +7 -3
- package/src/hooks/useCompanions.ts +1 -1
- package/src/hooks/useDrawerActions.ts +2 -2
- package/src/hooks/useNavbarActions.ts +5 -5
- package/dist/lib/browser/chunk-U632CHRU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UXFYLQJA.mjs.map +0 -7
- package/dist/types/src/components/ContentError.d.ts +0 -5
- package/dist/types/src/components/ContentError.d.ts.map +0 -1
- package/src/components/ContentError.tsx +0 -23
- /package/dist/lib/browser/{react-root-ZQTWLJYR.mjs.map → react-root-MMB575WY.mjs.map} +0 -0
- /package/dist/lib/browser/{react-surface-IOYDLMNR.mjs.map → react-surface-M6CURANW.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-FMAUHDJI.mjs.map → react-root-ENZKVSY4.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-surface-ZAZRIKZQ.mjs.map → react-surface-ITVNQYLG.mjs.map} +0 -0
|
@@ -9,8 +9,9 @@ import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
|
9
9
|
import { LayoutOperation } from "@dxos/app-toolkit";
|
|
10
10
|
import { useAppGraph as useAppGraph2 } from "@dxos/app-toolkit/ui";
|
|
11
11
|
import { Node, useConnections } from "@dxos/plugin-graph";
|
|
12
|
-
import { Avatar, Icon,
|
|
13
|
-
import { Card
|
|
12
|
+
import { Avatar, Icon, Panel, ScrollArea, Toolbar, toLocalizedString, useTranslation } from "@dxos/react-ui";
|
|
13
|
+
import { Card } from "@dxos/react-ui";
|
|
14
|
+
import { Mosaic } from "@dxos/react-ui-mosaic";
|
|
14
15
|
import { SearchList, useSearchListItem, useSearchListResults } from "@dxos/react-ui-searchlist";
|
|
15
16
|
import { mx } from "@dxos/ui-theme";
|
|
16
17
|
import { byPosition } from "@dxos/util";
|
|
@@ -23,9 +24,9 @@ var useLoadDescendents = (nodeId) => {
|
|
|
23
24
|
const { graph } = useAppGraph();
|
|
24
25
|
useEffect(() => {
|
|
25
26
|
if (nodeId) {
|
|
26
|
-
Graph.expand(graph, nodeId, "
|
|
27
|
-
Graph.getConnections(graph, nodeId, "
|
|
28
|
-
Graph.expand(graph, child.id, "
|
|
27
|
+
Graph.expand(graph, nodeId, "child");
|
|
28
|
+
Graph.getConnections(graph, nodeId, "child").forEach((child) => {
|
|
29
|
+
Graph.expand(graph, child.id, "child");
|
|
29
30
|
});
|
|
30
31
|
}
|
|
31
32
|
}, [
|
|
@@ -56,14 +57,16 @@ var Home = (_) => {
|
|
|
56
57
|
items,
|
|
57
58
|
extract: (node) => toLocalizedString(node.properties.label, t)
|
|
58
59
|
});
|
|
59
|
-
return /* @__PURE__ */ React.createElement(
|
|
60
|
-
toolbar: true
|
|
61
|
-
}, /* @__PURE__ */ React.createElement(SearchList.Root, {
|
|
60
|
+
return /* @__PURE__ */ React.createElement(SearchList.Root, {
|
|
62
61
|
onSearch: handleSearch
|
|
62
|
+
}, /* @__PURE__ */ React.createElement(Panel.Root, null, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
|
|
63
|
+
asChild: true
|
|
63
64
|
}, /* @__PURE__ */ React.createElement(Toolbar.Root, null, /* @__PURE__ */ React.createElement(SearchList.Input, {
|
|
64
65
|
placeholder: t("search placeholder"),
|
|
65
66
|
autoFocus: true
|
|
66
|
-
})), /* @__PURE__ */ React.createElement(
|
|
67
|
+
}))), /* @__PURE__ */ React.createElement(Panel.Content, {
|
|
68
|
+
asChild: true
|
|
69
|
+
}, /* @__PURE__ */ React.createElement(SearchList.Content, null, /* @__PURE__ */ React.createElement(Mosaic.Container, {
|
|
67
70
|
asChild: true
|
|
68
71
|
}, /* @__PURE__ */ React.createElement(ScrollArea.Root, {
|
|
69
72
|
orientation: "vertical"
|
|
@@ -73,7 +76,7 @@ var Home = (_) => {
|
|
|
73
76
|
items: results,
|
|
74
77
|
getId: (node) => node.id,
|
|
75
78
|
Tile: WorkspaceTile
|
|
76
|
-
})))))));
|
|
79
|
+
}))))))));
|
|
77
80
|
};
|
|
78
81
|
var WorkspaceTile = (props) => {
|
|
79
82
|
const data = props.data;
|
|
@@ -116,7 +119,7 @@ var WorkspaceTile = (props) => {
|
|
|
116
119
|
fullWidth: true,
|
|
117
120
|
tabIndex: -1,
|
|
118
121
|
"data-selected": isSelected,
|
|
119
|
-
classNames: mx("dx-focus-ring", isSelected && "bg-
|
|
122
|
+
classNames: mx("dx-focus-ring", isSelected && "bg-hover-overlay"),
|
|
120
123
|
onClick: handleSelect,
|
|
121
124
|
ref: cardRef
|
|
122
125
|
}, /* @__PURE__ */ React.createElement(Card.Toolbar, {
|
|
@@ -137,13 +140,13 @@ var filterItems = (node, disposition) => {
|
|
|
137
140
|
};
|
|
138
141
|
var useItemsByDisposition = (disposition, sort = false) => {
|
|
139
142
|
const { graph } = useAppGraph2();
|
|
140
|
-
const connections = useConnections(graph, Node.RootId);
|
|
143
|
+
const connections = useConnections(graph, Node.RootId, "child");
|
|
141
144
|
const filtered = connections.filter((node) => filterItems(node, disposition));
|
|
142
145
|
return sort ? filtered.toSorted((a, b) => byPosition(a.properties, b.properties)) : filtered;
|
|
143
146
|
};
|
|
144
147
|
|
|
145
148
|
// src/components/SimpleLayout/SimpleLayout.tsx
|
|
146
|
-
import
|
|
149
|
+
import React11, { useEffect as useEffect6, useRef as useRef4, useState as useState3 } from "react";
|
|
147
150
|
import { Splitter } from "@dxos/react-ui";
|
|
148
151
|
import { Mosaic as Mosaic3 } from "@dxos/react-ui-mosaic";
|
|
149
152
|
|
|
@@ -179,9 +182,10 @@ var useAppBarProps = () => {
|
|
|
179
182
|
const nodes = filtered;
|
|
180
183
|
const edges = filtered.map((action) => ({
|
|
181
184
|
source: "root",
|
|
182
|
-
target: action.id
|
|
185
|
+
target: action.id,
|
|
186
|
+
relation: "child"
|
|
183
187
|
}));
|
|
184
|
-
const workspaceConnections = state2.workspace ? get(graph.connections(state2.workspace)) : [];
|
|
188
|
+
const workspaceConnections = state2.workspace ? get(graph.connections(state2.workspace, "child")) : [];
|
|
185
189
|
const alternateTreeNode = workspaceConnections.find((node2) => node2.properties.disposition === "alternate-tree");
|
|
186
190
|
if (alternateTreeNode && activeId2 !== alternateTreeNode.id) {
|
|
187
191
|
const settingsAction = {
|
|
@@ -200,7 +204,8 @@ var useAppBarProps = () => {
|
|
|
200
204
|
nodes.push(settingsAction);
|
|
201
205
|
edges.push({
|
|
202
206
|
source: "root",
|
|
203
|
-
target: settingsAction.id
|
|
207
|
+
target: settingsAction.id,
|
|
208
|
+
relation: "child"
|
|
204
209
|
});
|
|
205
210
|
}
|
|
206
211
|
return {
|
|
@@ -265,7 +270,7 @@ var createCompanionActions = (graph, stateAtom, get, config) => {
|
|
|
265
270
|
const { idPrefix, selectedVariant, invokeSync } = config;
|
|
266
271
|
const state = get(stateAtom);
|
|
267
272
|
const activeId = state.active ?? state.workspace;
|
|
268
|
-
const activeConnections = activeId ? get(graph.connections(activeId)) : [];
|
|
273
|
+
const activeConnections = activeId ? get(graph.connections(activeId, "child")) : [];
|
|
269
274
|
const companions = activeConnections.filter((node) => node.type === PLANK_COMPANION_TYPE).toSorted((a, b) => byPosition2(a.properties, b.properties));
|
|
270
275
|
const nodes = [];
|
|
271
276
|
const edges = [];
|
|
@@ -292,7 +297,8 @@ var createCompanionActions = (graph, stateAtom, get, config) => {
|
|
|
292
297
|
nodes.push(companionAction);
|
|
293
298
|
edges.push({
|
|
294
299
|
source: "root",
|
|
295
|
-
target: companionAction.id
|
|
300
|
+
target: companionAction.id,
|
|
301
|
+
relation: "child"
|
|
296
302
|
});
|
|
297
303
|
});
|
|
298
304
|
return {
|
|
@@ -304,7 +310,7 @@ var createCompanionActions = (graph, stateAtom, get, config) => {
|
|
|
304
310
|
// src/hooks/useCompanions.ts
|
|
305
311
|
var useCompanions = (nodeId) => {
|
|
306
312
|
const { graph } = useAppGraph4();
|
|
307
|
-
const nodes = useConnections2(graph, nodeId);
|
|
313
|
+
const nodes = useConnections2(graph, nodeId, "child");
|
|
308
314
|
const companions = nodes.filter((node) => node.type === PLANK_COMPANION_TYPE);
|
|
309
315
|
return useMemo3(() => companions.toSorted((a, b) => byPosition3(a.properties, b.properties)), [
|
|
310
316
|
companions
|
|
@@ -318,7 +324,7 @@ import { useMemo as useMemo6 } from "react";
|
|
|
318
324
|
import { useCapability as useCapability3, useOperationInvoker as useOperationInvoker4 } from "@dxos/app-framework/ui";
|
|
319
325
|
import { useAppGraph as useAppGraph7 } from "@dxos/app-toolkit/ui";
|
|
320
326
|
import { Node as Node4, useActionRunner as useActionRunner2 } from "@dxos/plugin-graph";
|
|
321
|
-
import { useTranslation as
|
|
327
|
+
import { useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
322
328
|
import { createGapSeparator } from "@dxos/react-ui-menu";
|
|
323
329
|
|
|
324
330
|
// src/components/ContentLoading.tsx
|
|
@@ -326,7 +332,7 @@ import React2 from "react";
|
|
|
326
332
|
var ContentLoading = () => {
|
|
327
333
|
return /* @__PURE__ */ React2.createElement("div", {
|
|
328
334
|
role: "none",
|
|
329
|
-
className: "grid place-items-center attention-surface"
|
|
335
|
+
className: "grid place-items-center dx-attention-surface"
|
|
330
336
|
});
|
|
331
337
|
};
|
|
332
338
|
|
|
@@ -355,7 +361,7 @@ var MobileLayoutRoot = /* @__PURE__ */ forwardRef(({ classNames, children, trans
|
|
|
355
361
|
...props,
|
|
356
362
|
role: "none",
|
|
357
363
|
style: {
|
|
358
|
-
transition: `
|
|
364
|
+
transition: `h-size ${transition}ms ease-out`,
|
|
359
365
|
blockSize: "calc(100vh - var(--kb-height, 0px))"
|
|
360
366
|
},
|
|
361
367
|
className: mx2("absolute top-0 left-0 right-0 flex flex-col", classNames),
|
|
@@ -371,7 +377,7 @@ var MobileLayoutPanel = /* @__PURE__ */ forwardRef(({ classNames, children, safe
|
|
|
371
377
|
paddingTop: safe?.top ? "env(safe-area-inset-top)" : void 0,
|
|
372
378
|
paddingBottom: safe?.bottom ? `calc((1 - var(--kb-open, 0)) * env(safe-area-inset-bottom))` : void 0
|
|
373
379
|
},
|
|
374
|
-
className: mx2("relative
|
|
380
|
+
className: mx2("relative h-full flex flex-col overflow-hidden", classNames),
|
|
375
381
|
ref: forwardedRef
|
|
376
382
|
}, children);
|
|
377
383
|
});
|
|
@@ -511,8 +517,9 @@ var useIOSKeyboard = () => {
|
|
|
511
517
|
import { createContext as createContext2 } from "@radix-ui/react-context";
|
|
512
518
|
import React4, { useCallback as useCallback3, useEffect as useEffect4, useMemo as useMemo4, useRef as useRef2, useState as useState2 } from "react";
|
|
513
519
|
import { Surface } from "@dxos/app-framework/ui";
|
|
520
|
+
import { useObjectNavigate } from "@dxos/app-toolkit/ui";
|
|
514
521
|
import { Popover, toLocalizedString as toLocalizedString3, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
515
|
-
import { Card as Card2 } from "@dxos/react-ui
|
|
522
|
+
import { Card as Card2 } from "@dxos/react-ui";
|
|
516
523
|
var DEBOUNCE_DELAY = 40;
|
|
517
524
|
var [LayoutPopoverProvider, useLayoutPopoverContext] = createContext2("LayoutPopover");
|
|
518
525
|
var PopoverRoot = ({ children }) => {
|
|
@@ -549,10 +556,12 @@ var PopoverRoot = ({ children }) => {
|
|
|
549
556
|
virtualRef
|
|
550
557
|
}), children));
|
|
551
558
|
};
|
|
559
|
+
var getPopoverSubject = (content) => content && typeof content === "object" && "subject" in content ? content.subject : content;
|
|
552
560
|
var PopoverContent = () => {
|
|
553
561
|
const { t } = useTranslation3(meta.id);
|
|
554
562
|
const { state, updateState } = useSimpleLayoutState();
|
|
555
563
|
const { setOpen } = useLayoutPopoverContext("PopoverContent");
|
|
564
|
+
const handleNavigate = useObjectNavigate(getPopoverSubject(state.popoverContent));
|
|
556
565
|
const handleClose = useCallback3(() => {
|
|
557
566
|
setOpen(false);
|
|
558
567
|
updateState((s) => ({
|
|
@@ -599,8 +608,10 @@ var PopoverContent = () => {
|
|
|
599
608
|
limit: 1
|
|
600
609
|
}), state.popoverKind === "card" && /* @__PURE__ */ React4.createElement(Card2.Root, {
|
|
601
610
|
border: false,
|
|
602
|
-
classNames: "
|
|
603
|
-
}, /* @__PURE__ */ React4.createElement(Card2.Toolbar, null, /* @__PURE__ */ React4.createElement("span", null), state.popoverTitle ? /* @__PURE__ */ React4.createElement(Card2.Title,
|
|
611
|
+
classNames: "dx-card-popover"
|
|
612
|
+
}, /* @__PURE__ */ React4.createElement(Card2.Toolbar, null, /* @__PURE__ */ React4.createElement("span", null), state.popoverTitle ? /* @__PURE__ */ React4.createElement(Card2.Title, {
|
|
613
|
+
onClick: handleNavigate
|
|
614
|
+
}, toLocalizedString3(state.popoverTitle, t)) : /* @__PURE__ */ React4.createElement("span", null), /* @__PURE__ */ React4.createElement(Card2.CloseIconButton, {
|
|
604
615
|
onClick: handleClose
|
|
605
616
|
})), /* @__PURE__ */ React4.createElement(Surface.Surface, {
|
|
606
617
|
role: "card--content",
|
|
@@ -613,7 +624,7 @@ var PopoverContent = () => {
|
|
|
613
624
|
import { useAtomValue as useAtomValue2 } from "@effect-atom/atom-react";
|
|
614
625
|
import React5, { Fragment } from "react";
|
|
615
626
|
import { IconButton, Popover as Popover2, Toolbar as Toolbar2, useTranslation as useTranslation4 } from "@dxos/react-ui";
|
|
616
|
-
import {
|
|
627
|
+
import { Menu, useMenuActions } from "@dxos/react-ui-menu";
|
|
617
628
|
import { mx as mx3, osTranslations } from "@dxos/ui-theme";
|
|
618
629
|
var APP_BAR_NAME = "SimpleLayout.AppBar";
|
|
619
630
|
var AppBar = ({ classNames, title, actions, showBackButton, popoverAnchorId, onAction, onBack }) => {
|
|
@@ -628,7 +639,7 @@ var AppBar = ({ classNames, title, actions, showBackButton, popoverAnchorId, onA
|
|
|
628
639
|
const AnchorRoot = popoverAnchorId ? Popover2.Anchor : Fragment;
|
|
629
640
|
return /* @__PURE__ */ React5.createElement(Toolbar2.Root, {
|
|
630
641
|
role: "banner",
|
|
631
|
-
classNames: mx3("grid grid-cols-[var(--rail-size)_1fr_var(--rail-size)] items-center", "density-fine", classNames)
|
|
642
|
+
classNames: mx3("grid grid-cols-[var(--dx-rail-size)_1fr_var(--dx-rail-size)] items-center", "dx-density-fine", classNames)
|
|
632
643
|
}, keyboardOpen ? /* @__PURE__ */ React5.createElement(IconButton, {
|
|
633
644
|
variant: "ghost",
|
|
634
645
|
icon: "ph--x--regular",
|
|
@@ -642,60 +653,44 @@ var AppBar = ({ classNames, title, actions, showBackButton, popoverAnchorId, onA
|
|
|
642
653
|
onClick: onBack
|
|
643
654
|
}) : /* @__PURE__ */ React5.createElement("div", null), /* @__PURE__ */ React5.createElement("h1", {
|
|
644
655
|
className: "text-center truncate font-thin uppercase"
|
|
645
|
-
}, displayTitle), hasActions ? /* @__PURE__ */ React5.createElement(AnchorRoot, null, /* @__PURE__ */ React5.createElement(
|
|
656
|
+
}, displayTitle), hasActions ? /* @__PURE__ */ React5.createElement(AnchorRoot, null, /* @__PURE__ */ React5.createElement(Menu.Root, {
|
|
646
657
|
...menu,
|
|
658
|
+
caller: meta.id,
|
|
647
659
|
onAction
|
|
648
|
-
}, /* @__PURE__ */ React5.createElement(
|
|
649
|
-
caller: meta.id
|
|
650
|
-
}, /* @__PURE__ */ React5.createElement(DropdownMenu.Trigger, {
|
|
660
|
+
}, /* @__PURE__ */ React5.createElement(Menu.Trigger, {
|
|
651
661
|
asChild: true
|
|
652
662
|
}, /* @__PURE__ */ React5.createElement(IconButton, {
|
|
653
663
|
variant: "ghost",
|
|
654
664
|
icon: "ph--dots-three-vertical--regular",
|
|
655
665
|
iconOnly: true,
|
|
656
666
|
label: t("actions menu label")
|
|
657
|
-
}))))) : /* @__PURE__ */ React5.createElement("span", null));
|
|
667
|
+
})), /* @__PURE__ */ React5.createElement(Menu.Content, null))) : /* @__PURE__ */ React5.createElement("span", null));
|
|
658
668
|
};
|
|
659
669
|
AppBar.displayName = APP_BAR_NAME;
|
|
660
670
|
|
|
661
671
|
// src/components/SimpleLayout/Main.tsx
|
|
662
|
-
import
|
|
672
|
+
import React7, { useMemo as useMemo5 } from "react";
|
|
663
673
|
import { Surface as Surface2 } from "@dxos/app-framework/ui";
|
|
664
674
|
import { useAppGraph as useAppGraph5 } from "@dxos/app-toolkit/ui";
|
|
665
675
|
import { useNode as useNode2 } from "@dxos/plugin-graph";
|
|
676
|
+
import { ErrorFallback } from "@dxos/react-ui";
|
|
666
677
|
import { useAttentionAttributes } from "@dxos/react-ui-attention";
|
|
667
|
-
import { mx as
|
|
668
|
-
|
|
669
|
-
// src/components/ContentError.tsx
|
|
670
|
-
import React6 from "react";
|
|
671
|
-
import { useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
672
|
-
import { descriptionMessage, mx as mx4 } from "@dxos/ui-theme";
|
|
673
|
-
var ContentError = ({ error }) => {
|
|
674
|
-
const { t } = useTranslation5(meta.id);
|
|
675
|
-
const errorString = error?.toString() ?? "";
|
|
676
|
-
return /* @__PURE__ */ React6.createElement("div", {
|
|
677
|
-
role: "none",
|
|
678
|
-
className: "grid place-items-center overflow-y-auto attention-surface"
|
|
679
|
-
}, /* @__PURE__ */ React6.createElement("p", {
|
|
680
|
-
role: "alert",
|
|
681
|
-
className: mx4(descriptionMessage, "p-2 break-all rounded-sm")
|
|
682
|
-
}, error ? errorString : t("error fallback message")));
|
|
683
|
-
};
|
|
678
|
+
import { mx as mx5 } from "@dxos/ui-theme";
|
|
684
679
|
|
|
685
680
|
// src/components/SimpleLayout/NavBar.tsx
|
|
686
|
-
import
|
|
687
|
-
import {
|
|
688
|
-
import { mx as
|
|
681
|
+
import React6 from "react";
|
|
682
|
+
import { Menu as Menu2, useMenuActions as useMenuActions2 } from "@dxos/react-ui-menu";
|
|
683
|
+
import { mx as mx4 } from "@dxos/ui-theme";
|
|
689
684
|
var NAVBAR_NAME = "SimpleLayout.NavBar";
|
|
690
685
|
var NavBar = ({ classNames, actions, onAction }) => {
|
|
691
686
|
const menu = useMenuActions2(actions);
|
|
692
|
-
return /* @__PURE__ */
|
|
687
|
+
return /* @__PURE__ */ React6.createElement(Menu2.Root, {
|
|
693
688
|
...menu,
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
}, /* @__PURE__ */
|
|
689
|
+
alwaysActive: true,
|
|
690
|
+
onAction
|
|
691
|
+
}, /* @__PURE__ */ React6.createElement(Menu2.Toolbar, {
|
|
697
692
|
density: "coarse",
|
|
698
|
-
classNames:
|
|
693
|
+
classNames: mx4(classNames)
|
|
699
694
|
}));
|
|
700
695
|
};
|
|
701
696
|
NavBar.displayName = NAVBAR_NAME;
|
|
@@ -709,7 +704,7 @@ var Main = () => {
|
|
|
709
704
|
const { keyboardOpen } = useMobileLayout(MAIN_NAME);
|
|
710
705
|
const { actions, onAction } = useNavbarActions();
|
|
711
706
|
const appBarProps = useAppBarProps();
|
|
712
|
-
const placeholder = useMemo5(() => /* @__PURE__ */
|
|
707
|
+
const placeholder = useMemo5(() => /* @__PURE__ */ React7.createElement(ContentLoading, null), []);
|
|
713
708
|
const { graph } = useAppGraph5();
|
|
714
709
|
const node = useNode2(graph, id);
|
|
715
710
|
const data = useMemo5(() => {
|
|
@@ -728,21 +723,21 @@ var Main = () => {
|
|
|
728
723
|
]);
|
|
729
724
|
useLoadDescendents(id);
|
|
730
725
|
const showNavBar = !keyboardOpen && !state.isPopover && state.drawerState === "closed";
|
|
731
|
-
return /* @__PURE__ */
|
|
726
|
+
return /* @__PURE__ */ React7.createElement("div", {
|
|
732
727
|
role: "none",
|
|
733
|
-
className:
|
|
728
|
+
className: mx5("h-full grid overflow-hidden bg-toolbar-surface", showNavBar ? "grid-rows-[var(--dx-rail-action)_1fr_var(--dx-toolbar-size)]" : "grid-rows-[var(--dx-rail-action)_1fr]"),
|
|
734
729
|
...attentionAttrs
|
|
735
|
-
}, /* @__PURE__ */
|
|
736
|
-
className: "
|
|
737
|
-
}, /* @__PURE__ */
|
|
730
|
+
}, /* @__PURE__ */ React7.createElement(AppBar, appBarProps), /* @__PURE__ */ React7.createElement("article", {
|
|
731
|
+
className: "h-full overflow-hidden bg-base-surface"
|
|
732
|
+
}, /* @__PURE__ */ React7.createElement(Surface2.Surface, {
|
|
738
733
|
key: id,
|
|
739
734
|
role: "article",
|
|
740
735
|
data,
|
|
741
736
|
limit: 1,
|
|
742
|
-
fallback:
|
|
737
|
+
fallback: ErrorFallback,
|
|
743
738
|
placeholder
|
|
744
|
-
})), showNavBar && /* @__PURE__ */
|
|
745
|
-
classNames: "border-
|
|
739
|
+
})), showNavBar && /* @__PURE__ */ React7.createElement(NavBar, {
|
|
740
|
+
classNames: "border-y border-subdued-separator",
|
|
746
741
|
actions,
|
|
747
742
|
onAction
|
|
748
743
|
}));
|
|
@@ -750,46 +745,49 @@ var Main = () => {
|
|
|
750
745
|
Main.displayName = MAIN_NAME;
|
|
751
746
|
|
|
752
747
|
// src/components/Workspace/Workspace.tsx
|
|
753
|
-
import
|
|
748
|
+
import React8, { useCallback as useCallback4, useEffect as useEffect5, useRef as useRef3 } from "react";
|
|
754
749
|
import { useOperationInvoker as useOperationInvoker3 } from "@dxos/app-framework/ui";
|
|
755
750
|
import { LayoutOperation as LayoutOperation4 } from "@dxos/app-toolkit";
|
|
756
751
|
import { useAppGraph as useAppGraph6 } from "@dxos/app-toolkit/ui";
|
|
757
752
|
import { useConnections as useConnections3 } from "@dxos/plugin-graph";
|
|
758
|
-
import { Avatar as Avatar2, Icon as Icon2,
|
|
759
|
-
import { Card as Card3
|
|
753
|
+
import { Avatar as Avatar2, Icon as Icon2, Panel as Panel2, ScrollArea as ScrollArea2, Toolbar as Toolbar3, toLocalizedString as toLocalizedString4, useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
754
|
+
import { Card as Card3 } from "@dxos/react-ui";
|
|
755
|
+
import { Mosaic as Mosaic2 } from "@dxos/react-ui-mosaic";
|
|
760
756
|
import { SearchList as SearchList2, useSearchListItem as useSearchListItem2, useSearchListResults as useSearchListResults2 } from "@dxos/react-ui-searchlist";
|
|
761
|
-
import { mx as
|
|
757
|
+
import { mx as mx6 } from "@dxos/ui-theme";
|
|
762
758
|
var Workspace = ({ id }) => {
|
|
763
|
-
const { t } =
|
|
759
|
+
const { t } = useTranslation5(meta.id);
|
|
764
760
|
const { graph } = useAppGraph6();
|
|
765
761
|
useLoadDescendents(id);
|
|
766
|
-
const children = useConnections3(graph, id, "
|
|
762
|
+
const children = useConnections3(graph, id, "child");
|
|
767
763
|
const { results, handleSearch } = useSearchListResults2({
|
|
768
764
|
items: children,
|
|
769
765
|
extract: (child) => toLocalizedString4(child.properties.label, t)
|
|
770
766
|
});
|
|
771
|
-
return /* @__PURE__ */
|
|
772
|
-
toolbar: true
|
|
773
|
-
}, /* @__PURE__ */ React9.createElement(SearchList2.Root, {
|
|
767
|
+
return /* @__PURE__ */ React8.createElement(SearchList2.Root, {
|
|
774
768
|
onSearch: handleSearch
|
|
775
|
-
}, /* @__PURE__ */
|
|
769
|
+
}, /* @__PURE__ */ React8.createElement(Panel2.Root, null, /* @__PURE__ */ React8.createElement(Panel2.Toolbar, {
|
|
770
|
+
asChild: true
|
|
771
|
+
}, /* @__PURE__ */ React8.createElement(Toolbar3.Root, null, /* @__PURE__ */ React8.createElement(SearchList2.Input, {
|
|
776
772
|
placeholder: t("search placeholder"),
|
|
777
773
|
autoFocus: true
|
|
778
|
-
})), /* @__PURE__ */
|
|
774
|
+
}))), /* @__PURE__ */ React8.createElement(Panel2.Content, {
|
|
775
|
+
asChild: true
|
|
776
|
+
}, /* @__PURE__ */ React8.createElement(SearchList2.Content, null, /* @__PURE__ */ React8.createElement(Mosaic2.Container, {
|
|
779
777
|
asChild: true
|
|
780
|
-
}, /* @__PURE__ */
|
|
778
|
+
}, /* @__PURE__ */ React8.createElement(ScrollArea2.Root, {
|
|
781
779
|
orientation: "vertical"
|
|
782
|
-
}, /* @__PURE__ */
|
|
780
|
+
}, /* @__PURE__ */ React8.createElement(ScrollArea2.Viewport, {
|
|
783
781
|
classNames: "p-2"
|
|
784
|
-
}, /* @__PURE__ */
|
|
782
|
+
}, /* @__PURE__ */ React8.createElement(Mosaic2.Stack, {
|
|
785
783
|
items: results,
|
|
786
784
|
getId: (child) => child.id,
|
|
787
785
|
Tile: WorkspaceChildTile
|
|
788
|
-
})))))));
|
|
786
|
+
}))))))));
|
|
789
787
|
};
|
|
790
788
|
var WorkspaceChildTile = (props) => {
|
|
791
789
|
const data = props.data;
|
|
792
|
-
const { t } =
|
|
790
|
+
const { t } = useTranslation5(meta.id);
|
|
793
791
|
const { invokeSync } = useOperationInvoker3();
|
|
794
792
|
const ref = useRef3(null);
|
|
795
793
|
const { selectedValue, registerItem, unregisterItem } = useSearchListItem2();
|
|
@@ -824,24 +822,24 @@ var WorkspaceChildTile = (props) => {
|
|
|
824
822
|
}, [
|
|
825
823
|
isSelected
|
|
826
824
|
]);
|
|
827
|
-
return /* @__PURE__ */
|
|
825
|
+
return /* @__PURE__ */ React8.createElement(Card3.Root, {
|
|
828
826
|
ref,
|
|
829
827
|
role: "button",
|
|
830
828
|
fullWidth: true,
|
|
831
829
|
tabIndex: -1,
|
|
832
830
|
"data-selected": isSelected,
|
|
833
|
-
classNames:
|
|
831
|
+
classNames: mx6("dx-focus-ring", isSelected && "bg-hover-overlay"),
|
|
834
832
|
onClick: handleSelect
|
|
835
|
-
}, /* @__PURE__ */
|
|
833
|
+
}, /* @__PURE__ */ React8.createElement(Card3.Toolbar, {
|
|
836
834
|
density: "coarse"
|
|
837
|
-
}, /* @__PURE__ */
|
|
835
|
+
}, /* @__PURE__ */ React8.createElement(Avatar2.Root, null, /* @__PURE__ */ React8.createElement(Avatar2.Content, {
|
|
838
836
|
hue: data.properties.hue,
|
|
839
837
|
icon: data.properties.icon,
|
|
840
838
|
hueVariant: "transparent",
|
|
841
839
|
variant: "square",
|
|
842
840
|
size: 12,
|
|
843
841
|
fallback: name
|
|
844
|
-
}), /* @__PURE__ */
|
|
842
|
+
}), /* @__PURE__ */ React8.createElement(Avatar2.Label, null, name), /* @__PURE__ */ React8.createElement(Icon2, {
|
|
845
843
|
icon: "ph--caret-right--regular"
|
|
846
844
|
}))));
|
|
847
845
|
};
|
|
@@ -868,7 +866,7 @@ var useSimpleLayoutState = () => {
|
|
|
868
866
|
|
|
869
867
|
// src/hooks/useDrawerActions.ts
|
|
870
868
|
var useDrawerActions = (consumerName) => {
|
|
871
|
-
const { t } =
|
|
869
|
+
const { t } = useTranslation6(meta.id);
|
|
872
870
|
const stateAtom = useCapability3(SimpleLayoutState);
|
|
873
871
|
const { graph } = useAppGraph7();
|
|
874
872
|
const runAction = useActionRunner2();
|
|
@@ -903,7 +901,8 @@ var useDrawerActions = (consumerName) => {
|
|
|
903
901
|
nodes.push(toggleExpandAction);
|
|
904
902
|
edges.push({
|
|
905
903
|
source: "root",
|
|
906
|
-
target: toggleExpandAction.id
|
|
904
|
+
target: toggleExpandAction.id,
|
|
905
|
+
relation: "child"
|
|
907
906
|
});
|
|
908
907
|
}
|
|
909
908
|
const closeAction = {
|
|
@@ -922,7 +921,8 @@ var useDrawerActions = (consumerName) => {
|
|
|
922
921
|
nodes.push(closeAction);
|
|
923
922
|
edges.push({
|
|
924
923
|
source: "root",
|
|
925
|
-
target: closeAction.id
|
|
924
|
+
target: closeAction.id,
|
|
925
|
+
relation: "child"
|
|
926
926
|
});
|
|
927
927
|
return {
|
|
928
928
|
nodes,
|
|
@@ -948,11 +948,11 @@ import { useMemo as useMemo7 } from "react";
|
|
|
948
948
|
import { useCapability as useCapability4, useOperationInvoker as useOperationInvoker5 } from "@dxos/app-framework/ui";
|
|
949
949
|
import { useAppGraph as useAppGraph8 } from "@dxos/app-toolkit/ui";
|
|
950
950
|
import { Node as Node5, useActionRunner as useActionRunner3 } from "@dxos/plugin-graph";
|
|
951
|
-
import { useTranslation as
|
|
951
|
+
import { useTranslation as useTranslation7 } from "@dxos/react-ui";
|
|
952
952
|
import { createGapSeparator as createGapSeparator2, createMenuItemGroup } from "@dxos/react-ui-menu";
|
|
953
953
|
var MAIN_MENU_GROUP_ID = "navbar-main-menu";
|
|
954
954
|
var useNavbarActions = () => {
|
|
955
|
-
const { t } =
|
|
955
|
+
const { t } = useTranslation7(meta.id);
|
|
956
956
|
const { graph } = useAppGraph8();
|
|
957
957
|
const runAction = useActionRunner3();
|
|
958
958
|
const { invokeSync } = useOperationInvoker5();
|
|
@@ -975,15 +975,17 @@ var useNavbarActions = () => {
|
|
|
975
975
|
nodes.push(mainMenuGroup);
|
|
976
976
|
edges.push({
|
|
977
977
|
source: "root",
|
|
978
|
-
target: mainMenuGroup.id
|
|
978
|
+
target: mainMenuGroup.id,
|
|
979
|
+
relation: "child"
|
|
979
980
|
});
|
|
980
|
-
const
|
|
981
|
-
const menuActions =
|
|
981
|
+
const rootActions = get(graph.actions(Node5.RootId));
|
|
982
|
+
const menuActions = rootActions.filter((node) => node.properties.disposition === "menu");
|
|
982
983
|
menuActions.forEach((menuAction) => {
|
|
983
984
|
nodes.push(menuAction);
|
|
984
985
|
edges.push({
|
|
985
986
|
source: MAIN_MENU_GROUP_ID,
|
|
986
|
-
target: menuAction.id
|
|
987
|
+
target: menuAction.id,
|
|
988
|
+
relation: "child"
|
|
987
989
|
});
|
|
988
990
|
});
|
|
989
991
|
return {
|
|
@@ -1003,50 +1005,51 @@ var useNavbarActions = () => {
|
|
|
1003
1005
|
};
|
|
1004
1006
|
|
|
1005
1007
|
// src/components/Dialog/Dialog.tsx
|
|
1006
|
-
import
|
|
1008
|
+
import React9 from "react";
|
|
1007
1009
|
import { Surface as Surface3 } from "@dxos/app-framework/ui";
|
|
1008
1010
|
import { AlertDialog, Dialog as NaturalDialog } from "@dxos/react-ui";
|
|
1011
|
+
import { ErrorFallback as ErrorFallback2 } from "@dxos/react-ui";
|
|
1009
1012
|
var Dialog = () => {
|
|
1010
1013
|
const { state, updateState } = useSimpleLayoutState();
|
|
1011
1014
|
const DialogRoot = state.dialogType === "alert" ? AlertDialog.Root : NaturalDialog.Root;
|
|
1012
1015
|
const DialogOverlay = state.dialogType === "alert" ? AlertDialog.Overlay : NaturalDialog.Overlay;
|
|
1013
|
-
return /* @__PURE__ */
|
|
1016
|
+
return /* @__PURE__ */ React9.createElement(DialogRoot, {
|
|
1014
1017
|
modal: state.dialogBlockAlign !== "end",
|
|
1015
1018
|
open: state.dialogOpen,
|
|
1016
1019
|
onOpenChange: (nextOpen) => updateState((state2) => ({
|
|
1017
1020
|
...state2,
|
|
1018
1021
|
dialogOpen: nextOpen
|
|
1019
1022
|
}))
|
|
1020
|
-
}, state.dialogBlockAlign === "end" ? /* @__PURE__ */
|
|
1023
|
+
}, state.dialogBlockAlign === "end" ? /* @__PURE__ */ React9.createElement(Surface3.Surface, {
|
|
1021
1024
|
role: "dialog",
|
|
1022
1025
|
data: state.dialogContent,
|
|
1023
1026
|
limit: 1,
|
|
1024
|
-
fallback:
|
|
1025
|
-
}) : /* @__PURE__ */
|
|
1027
|
+
fallback: ErrorFallback2
|
|
1028
|
+
}) : /* @__PURE__ */ React9.createElement(DialogOverlay, {
|
|
1026
1029
|
blockAlign: state.dialogBlockAlign,
|
|
1027
1030
|
classNames: state.dialogOverlayClasses,
|
|
1028
1031
|
style: state.dialogOverlayStyle
|
|
1029
|
-
}, /* @__PURE__ */
|
|
1032
|
+
}, /* @__PURE__ */ React9.createElement(Surface3.Surface, {
|
|
1030
1033
|
role: "dialog",
|
|
1031
1034
|
data: state.dialogContent,
|
|
1032
1035
|
limit: 1,
|
|
1033
|
-
fallback:
|
|
1036
|
+
fallback: ErrorFallback2
|
|
1034
1037
|
})));
|
|
1035
1038
|
};
|
|
1036
1039
|
|
|
1037
1040
|
// src/components/SimpleLayout/Drawer.tsx
|
|
1038
|
-
import
|
|
1041
|
+
import React10, { useMemo as useMemo8 } from "react";
|
|
1039
1042
|
import { Surface as Surface4 } from "@dxos/app-framework/ui";
|
|
1040
1043
|
import { useAppGraph as useAppGraph9 } from "@dxos/app-toolkit/ui";
|
|
1041
1044
|
import { useNode as useNode3 } from "@dxos/plugin-graph";
|
|
1042
|
-
import {
|
|
1045
|
+
import { ErrorFallback as ErrorFallback3, Panel as Panel3 } from "@dxos/react-ui";
|
|
1043
1046
|
import { ATTENDABLE_PATH_SEPARATOR as ATTENDABLE_PATH_SEPARATOR2 } from "@dxos/react-ui-attention";
|
|
1044
|
-
import {
|
|
1047
|
+
import { Menu as Menu3, useMenuActions as useMenuActions3 } from "@dxos/react-ui-menu";
|
|
1045
1048
|
var DRAWER_NAME = "SimpleLayout.Drawer";
|
|
1046
1049
|
var Drawer = () => {
|
|
1047
1050
|
const { graph } = useAppGraph9();
|
|
1048
1051
|
const { state: layoutState } = useSimpleLayoutState();
|
|
1049
|
-
const placeholder = useMemo8(() => /* @__PURE__ */
|
|
1052
|
+
const placeholder = useMemo8(() => /* @__PURE__ */ React10.createElement(ContentLoading, null), []);
|
|
1050
1053
|
const activeId = layoutState.active ?? layoutState.workspace;
|
|
1051
1054
|
const companions = useCompanions(activeId);
|
|
1052
1055
|
const { companionId, variant } = useSelectedCompanion(companions, layoutState.companionVariant);
|
|
@@ -1068,21 +1071,21 @@ var Drawer = () => {
|
|
|
1068
1071
|
]);
|
|
1069
1072
|
const { actions, onAction } = useDrawerActions(DRAWER_NAME);
|
|
1070
1073
|
const menu = useMenuActions3(actions);
|
|
1071
|
-
return /* @__PURE__ */
|
|
1072
|
-
toolbar: true
|
|
1073
|
-
}, /* @__PURE__ */ React11.createElement(MenuProvider3, {
|
|
1074
|
+
return /* @__PURE__ */ React10.createElement(Panel3.Root, null, /* @__PURE__ */ React10.createElement(Panel3.Toolbar, null, /* @__PURE__ */ React10.createElement(Menu3.Root, {
|
|
1074
1075
|
...menu,
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
}, /* @__PURE__ */
|
|
1076
|
+
alwaysActive: true,
|
|
1077
|
+
onAction
|
|
1078
|
+
}, /* @__PURE__ */ React10.createElement(Menu3.Toolbar, {
|
|
1078
1079
|
density: "coarse"
|
|
1079
|
-
})), /* @__PURE__ */
|
|
1080
|
+
}))), /* @__PURE__ */ React10.createElement(Panel3.Content, {
|
|
1081
|
+
asChild: true
|
|
1082
|
+
}, /* @__PURE__ */ React10.createElement(Surface4.Surface, {
|
|
1080
1083
|
role: "article",
|
|
1081
1084
|
data,
|
|
1082
1085
|
limit: 1,
|
|
1083
|
-
fallback:
|
|
1086
|
+
fallback: ErrorFallback3,
|
|
1084
1087
|
placeholder
|
|
1085
|
-
}));
|
|
1088
|
+
})));
|
|
1086
1089
|
};
|
|
1087
1090
|
Drawer.displayName = DRAWER_NAME;
|
|
1088
1091
|
var parseEntryId = (entryId) => {
|
|
@@ -1138,25 +1141,25 @@ var SimpleLayout = () => {
|
|
|
1138
1141
|
state.drawerState,
|
|
1139
1142
|
keyboardOpen
|
|
1140
1143
|
]);
|
|
1141
|
-
return /* @__PURE__ */
|
|
1144
|
+
return /* @__PURE__ */ React11.createElement(Mosaic3.Root, {
|
|
1142
1145
|
classNames: "contents"
|
|
1143
|
-
}, /* @__PURE__ */
|
|
1144
|
-
classNames: "bg-
|
|
1146
|
+
}, /* @__PURE__ */ React11.createElement(MobileLayout.Root, {
|
|
1147
|
+
classNames: "bg-toolbar-surface",
|
|
1145
1148
|
onKeyboardOpenChange: (keyboardOpen2) => setKeyboardOpen(keyboardOpen2)
|
|
1146
|
-
}, /* @__PURE__ */
|
|
1149
|
+
}, /* @__PURE__ */ React11.createElement(MobileLayout.Panel, {
|
|
1147
1150
|
safe: {
|
|
1148
1151
|
top: true,
|
|
1149
1152
|
bottom: splitterMode === "upper"
|
|
1150
1153
|
}
|
|
1151
|
-
}, /* @__PURE__ */
|
|
1154
|
+
}, /* @__PURE__ */ React11.createElement(PopoverRoot, null, /* @__PURE__ */ React11.createElement(Splitter.Root, {
|
|
1152
1155
|
mode: splitterMode,
|
|
1153
1156
|
ratio: 0.55
|
|
1154
|
-
}, /* @__PURE__ */
|
|
1157
|
+
}, /* @__PURE__ */ React11.createElement(Splitter.Panel, {
|
|
1155
1158
|
position: "upper"
|
|
1156
|
-
}, /* @__PURE__ */
|
|
1159
|
+
}, /* @__PURE__ */ React11.createElement(Main, null)), /* @__PURE__ */ React11.createElement(Splitter.Panel, {
|
|
1157
1160
|
position: "lower",
|
|
1158
1161
|
ref: drawerRef
|
|
1159
|
-
}, /* @__PURE__ */
|
|
1162
|
+
}, /* @__PURE__ */ React11.createElement(Drawer, null))), /* @__PURE__ */ React11.createElement(Dialog, null), /* @__PURE__ */ React11.createElement(PopoverContent, null)))));
|
|
1160
1163
|
};
|
|
1161
1164
|
|
|
1162
1165
|
export {
|
|
@@ -1164,4 +1167,4 @@ export {
|
|
|
1164
1167
|
SimpleLayout,
|
|
1165
1168
|
Workspace
|
|
1166
1169
|
};
|
|
1167
|
-
//# sourceMappingURL=chunk-
|
|
1170
|
+
//# sourceMappingURL=chunk-TMZNLVT2.mjs.map
|