@dxos/plugin-navtree 0.8.1-staging.5be625a → 0.8.1-staging.97aedb1

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.
Files changed (44) hide show
  1. package/dist/lib/browser/{chunk-HOGQWJWM.mjs → chunk-DN43QXSX.mjs} +141 -181
  2. package/dist/lib/browser/chunk-DN43QXSX.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +1 -3
  4. package/dist/lib/browser/index.mjs.map +2 -2
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/{react-surface-JQOY2DYT.mjs → react-surface-3HCM3SHJ.mjs} +3 -9
  7. package/dist/lib/browser/react-surface-3HCM3SHJ.mjs.map +7 -0
  8. package/dist/types/src/NavTreePlugin.d.ts.map +1 -1
  9. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  10. package/dist/types/src/components/L0Menu.d.ts +2 -1
  11. package/dist/types/src/components/L0Menu.d.ts.map +1 -1
  12. package/dist/types/src/components/L1Panels.d.ts.map +1 -1
  13. package/dist/types/src/components/NavTree.d.ts.map +1 -1
  14. package/dist/types/src/components/NavTreeContainer.d.ts.map +1 -1
  15. package/dist/types/src/components/UserAccountAvatar.d.ts +11 -0
  16. package/dist/types/src/components/UserAccountAvatar.d.ts.map +1 -0
  17. package/dist/types/src/components/{HaloButton.stories.d.ts → UserAccountAvatar.stories.d.ts} +3 -3
  18. package/dist/types/src/components/UserAccountAvatar.stories.d.ts.map +1 -0
  19. package/dist/types/src/components/index.d.ts +0 -1
  20. package/dist/types/src/components/index.d.ts.map +1 -1
  21. package/dist/types/src/util.d.ts +0 -8
  22. package/dist/types/src/util.d.ts.map +1 -1
  23. package/package.json +31 -30
  24. package/src/NavTreePlugin.tsx +0 -1
  25. package/src/capabilities/react-surface.tsx +1 -12
  26. package/src/components/L0Menu.tsx +46 -32
  27. package/src/components/L1Panels.tsx +15 -19
  28. package/src/components/NavTree.tsx +12 -2
  29. package/src/components/NavTreeContainer.tsx +11 -5
  30. package/src/components/NavTreeItemColumns.tsx +3 -3
  31. package/src/components/UserAccountAvatar.stories.tsx +21 -0
  32. package/src/components/UserAccountAvatar.tsx +35 -0
  33. package/src/components/index.ts +0 -1
  34. package/src/util.ts +1 -42
  35. package/dist/lib/browser/chunk-HOGQWJWM.mjs.map +0 -7
  36. package/dist/lib/browser/react-surface-JQOY2DYT.mjs.map +0 -7
  37. package/dist/types/src/components/HaloButton.d.ts +0 -12
  38. package/dist/types/src/components/HaloButton.d.ts.map +0 -1
  39. package/dist/types/src/components/HaloButton.stories.d.ts.map +0 -1
  40. package/dist/types/src/components/NotchStart.d.ts +0 -3
  41. package/dist/types/src/components/NotchStart.d.ts.map +0 -1
  42. package/src/components/HaloButton.stories.tsx +0 -21
  43. package/src/components/HaloButton.tsx +0 -41
  44. package/src/components/NotchStart.tsx +0 -30
@@ -134,57 +134,6 @@ var CommandsTrigger = () => {
134
134
  }));
135
135
  };
136
136
 
137
- // packages/plugins/plugin-navtree/src/components/NotchStart.tsx
138
- import React4 from "react";
139
- import { createIntent as createIntent3, useCapabilities, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
140
- import { ClientAction } from "@dxos/plugin-client/types";
141
- import { ObservabilityCapabilities } from "@dxos/plugin-observability";
142
- import { useIdentity } from "@dxos/react-client/halo";
143
-
144
- // packages/plugins/plugin-navtree/src/components/HaloButton.tsx
145
- import React3 from "react";
146
- import { ConnectionState, useNetworkStatus } from "@dxos/react-client/mesh";
147
- import { Avatar } from "@dxos/react-ui";
148
- import { focusRing, mx as mx2 } from "@dxos/react-ui-theme";
149
- import { hexToFallback } from "@dxos/util";
150
- var INTERNAL = "https://avatars.githubusercontent.com/u/57182821";
151
- var HaloButton = (props) => {
152
- const { onClick, identityKey, internal, size = 8 } = props;
153
- const fallbackValue = hexToFallback(identityKey ?? "0");
154
- const { swarm: connectionState } = useNetworkStatus();
155
- return /* @__PURE__ */ React3.createElement("button", {
156
- className: mx2(focusRing, "rounded grid place-items-center"),
157
- onClick
158
- }, /* @__PURE__ */ React3.createElement(Avatar.Root, {
159
- size,
160
- variant: "circle",
161
- status: connectionState === ConnectionState.OFFLINE ? "error" : internal ? "internal" : "active",
162
- hue: props.hue || fallbackValue.hue
163
- }, /* @__PURE__ */ React3.createElement(Avatar.Frame, {
164
- "data-testid": "treeView.haloButton",
165
- "data-joyride": "welcome/halo"
166
- }, internal ? /* @__PURE__ */ React3.createElement(Avatar.Image, {
167
- href: INTERNAL
168
- }) : /* @__PURE__ */ React3.createElement(Avatar.Fallback, {
169
- text: props.emoji || fallbackValue.emoji
170
- }))));
171
- };
172
-
173
- // packages/plugins/plugin-navtree/src/components/NotchStart.tsx
174
- var NotchStart = () => {
175
- const identity = useIdentity();
176
- const [observability] = useCapabilities(ObservabilityCapabilities.Observability);
177
- const { dispatchPromise: dispatch } = useIntentDispatcher3();
178
- return /* @__PURE__ */ React4.createElement(HaloButton, {
179
- size: 12,
180
- identityKey: identity?.identityKey.toHex(),
181
- hue: identity?.profile?.data?.hue,
182
- emoji: identity?.profile?.data?.emoji,
183
- internal: observability?.group === "dxos",
184
- onClick: () => dispatch(createIntent3(ClientAction.ShareIdentity))
185
- });
186
- };
187
-
188
137
  // packages/plugins/plugin-navtree/src/util.ts
189
138
  import { ACTION_TYPE, ACTION_GROUP_TYPE, isAction as isAction2, isActionLike } from "@dxos/app-graph";
190
139
  import { isNonNullable } from "@dxos/util";
@@ -224,7 +173,7 @@ var sortActions = (actions) => actions.sort((a, b) => {
224
173
  if (a.properties.disposition === b.properties.disposition) {
225
174
  return 0;
226
175
  }
227
- if (a.properties.disposition === "toolbar") {
176
+ if (a.properties.disposition === "list-item-primary") {
228
177
  return -1;
229
178
  }
230
179
  return 1;
@@ -283,47 +232,23 @@ var l0ItemType = (item) => {
283
232
  return "tab";
284
233
  }
285
234
  };
286
- var renderableCharRegex = /^(?![\p{Control}\p{Mark}\p{Separator}\p{Surrogate}\p{Unassigned}])[\p{L}\p{N}\p{P}\p{S}\p{Emoji}]$/u;
287
- var getFirstTwoRenderableChars = (label) => {
288
- const characters = Array.from(label);
289
- const result = [
290
- "",
291
- ""
292
- ];
293
- let foundFirst = false;
294
- for (let i = 0; i < characters.length; i++) {
295
- const char = characters[i];
296
- if (renderableCharRegex.test(char)) {
297
- if (!foundFirst) {
298
- result[0] = char;
299
- foundFirst = true;
300
- } else {
301
- const textBetween = characters.slice(result[0].length, i).join("");
302
- if (/[^\p{L}\p{N}_]/u.test(textBetween)) {
303
- result[1] = char;
304
- break;
305
- }
306
- }
307
- }
308
- }
309
- return result;
310
- };
311
235
 
312
236
  // packages/plugins/plugin-navtree/src/components/NavTreeContainer.tsx
313
237
  import { monitorForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";
314
238
  import { extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item";
315
239
  import { untracked } from "@preact/signals-core";
316
- import React10, { memo as memo2, useCallback as useCallback2, useEffect as useEffect3, useMemo as useMemo5 } from "react";
317
- import { createIntent as createIntent5, LayoutAction as LayoutAction4, Surface, useAppGraph as useAppGraph2, useCapability, useIntentDispatcher as useIntentDispatcher5, useLayout as useLayout2 } from "@dxos/app-framework";
240
+ import React9, { memo as memo2, useCallback as useCallback2, useEffect as useEffect3, useMemo as useMemo5 } from "react";
241
+ import { createIntent as createIntent4, LayoutAction as LayoutAction4, Surface, useAppGraph as useAppGraph2, useCapability, useIntentDispatcher as useIntentDispatcher4, useLayout as useLayout2 } from "@dxos/app-framework";
318
242
  import { isAction as isAction4, isActionLike as isActionLike2 } from "@dxos/app-graph";
243
+ import { PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
319
244
  import { isEchoObject, isSpace } from "@dxos/react-client/echo";
320
245
  import { useMediaQuery as useMediaQuery2 } from "@dxos/react-ui";
321
246
  import { isTreeData } from "@dxos/react-ui-list";
322
- import { mx as mx6 } from "@dxos/react-ui-theme";
247
+ import { mx as mx5 } from "@dxos/react-ui-theme";
323
248
  import { arrayMove as arrayMove2 } from "@dxos/util";
324
249
 
325
250
  // packages/plugins/plugin-navtree/src/components/NavTree.tsx
326
- import React9, { useMemo as useMemo4 } from "react";
251
+ import React8, { useMemo as useMemo4 } from "react";
327
252
  import { Tabs as Tabs3 } from "@dxos/react-ui-tabs";
328
253
  import { byPosition } from "@dxos/util";
329
254
 
@@ -333,13 +258,13 @@ import { draggable, dropTargetForElements } from "@atlaskit/pragmatic-drag-and-d
333
258
  import { preserveOffsetOnSource } from "@atlaskit/pragmatic-drag-and-drop/element/preserve-offset-on-source";
334
259
  import { scrollJustEnoughIntoView } from "@atlaskit/pragmatic-drag-and-drop/element/scroll-just-enough-into-view";
335
260
  import { attachClosestEdge, extractClosestEdge } from "@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge";
336
- import React5, { useCallback, useLayoutEffect, useMemo as useMemo2, useRef, useState as useState2 } from "react";
337
- import { createIntent as createIntent4, LayoutAction as LayoutAction3, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
261
+ import React4, { useCallback, useLayoutEffect, useMemo as useMemo2, useRef, useState as useState2 } from "react";
262
+ import { createIntent as createIntent3, LayoutAction as LayoutAction3, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
338
263
  import { invariant } from "@dxos/invariant";
339
264
  import { Popover, ScrollArea, toLocalizedString as toLocalizedString3, Tooltip, useMediaQuery, useSidebars, useTranslation as useTranslation4, ListItem, Icon as Icon2 } from "@dxos/react-ui";
340
265
  import { Tabs } from "@dxos/react-ui-tabs";
341
- import { mx as mx3 } from "@dxos/react-ui-theme";
342
- import { arrayMove } from "@dxos/util";
266
+ import { mx as mx2 } from "@dxos/react-ui-theme";
267
+ import { arrayMove, getFirstTwoRenderableChars } from "@dxos/util";
343
268
 
344
269
  // packages/plugins/plugin-navtree/src/components/NavTreeContext.tsx
345
270
  import { createContext, useContext } from "react";
@@ -347,6 +272,25 @@ import { raise } from "@dxos/debug";
347
272
  var NavTreeContext = /* @__PURE__ */ createContext(null);
348
273
  var useNavTreeContext = () => useContext(NavTreeContext) ?? raise(new Error("NavTreeContext not found"));
349
274
 
275
+ // packages/plugins/plugin-navtree/src/components/UserAccountAvatar.tsx
276
+ import React3 from "react";
277
+ import { Avatar } from "@dxos/react-ui";
278
+ import { hexToFallback } from "@dxos/util";
279
+ var UserAccountAvatar = (props) => {
280
+ const fallbackValue = hexToFallback(props.userId ?? "0");
281
+ return /* @__PURE__ */ React3.createElement("div", {
282
+ className: "grid place-items-center",
283
+ "data-joyride": "welcome/account"
284
+ }, /* @__PURE__ */ React3.createElement(Avatar.Root, null, /* @__PURE__ */ React3.createElement(Avatar.Content, {
285
+ variant: "circle",
286
+ size: props.size ?? 12,
287
+ status: props.status ?? "active",
288
+ hue: props.hue || fallbackValue.hue,
289
+ fallback: props.emoji || fallbackValue.emoji,
290
+ "data-testid": "treeview.userAccount"
291
+ })));
292
+ };
293
+
350
294
  // packages/plugins/plugin-navtree/src/hooks.ts
351
295
  import { useEffect as useEffect2 } from "react";
352
296
 
@@ -384,7 +328,7 @@ var useLoadDescendents = (root) => {
384
328
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-navtree/src/components/L0Menu.tsx";
385
329
  var useL0ItemClick = ({ item, parent, path }, type) => {
386
330
  const { tab, onTabChange, onSelect, isCurrent } = useNavTreeContext();
387
- const { dispatchPromise: dispatch } = useIntentDispatcher4();
331
+ const { dispatchPromise: dispatch } = useIntentDispatcher3();
388
332
  const { navigationSidebarState } = useSidebars(NAVTREE_PLUGIN);
389
333
  const [isLg] = useMediaQuery("lg", {
390
334
  ssr: false
@@ -392,7 +336,7 @@ var useL0ItemClick = ({ item, parent, path }, type) => {
392
336
  return useCallback((event) => {
393
337
  switch (type) {
394
338
  case "tab":
395
- void dispatch(createIntent4(LayoutAction3.UpdateSidebar, {
339
+ void dispatch(createIntent3(LayoutAction3.UpdateSidebar, {
396
340
  part: "sidebar",
397
341
  options: {
398
342
  state: item.id === tab ? navigationSidebarState === "expanded" ? isLg ? "collapsed" : "closed" : "expanded" : "expanded"
@@ -431,7 +375,7 @@ var useL0ItemClick = ({ item, parent, path }, type) => {
431
375
  var l0Breakpoints = {
432
376
  lg: "hidden lg:grid"
433
377
  };
434
- var L0Item = ({ item, parent, path, pinned, onRearrange }) => {
378
+ var L0Item = ({ item, parent, path, pinned, userAccount, onRearrange }) => {
435
379
  const { t } = useTranslation4(NAVTREE_PLUGIN);
436
380
  const itemElement = useRef(null);
437
381
  const [closestEdge, setEdge] = useState2(null);
@@ -544,52 +488,57 @@ var L0Item = ({ item, parent, path, pinned, onRearrange }) => {
544
488
  item,
545
489
  onRearrange
546
490
  ]);
547
- const l0ItemTrigger = /* @__PURE__ */ React5.createElement(Root, {
491
+ const l0ItemTrigger = /* @__PURE__ */ React4.createElement(Root, {
548
492
  ...rootProps,
549
493
  "data-type": type,
550
- className: mx3('group/l0i dx-focus-ring-group grid relative data[type!="collection"]:cursor-pointer app-no-drag', l0Breakpoints[item.properties.l0Breakpoint]),
494
+ className: mx2('group/l0i dx-focus-ring-group grid relative data[type!="collection"]:cursor-pointer app-no-drag', l0Breakpoints[item.properties.l0Breakpoint]),
551
495
  ref: itemElement
552
- }, /* @__PURE__ */ React5.createElement("div", {
496
+ }, userAccount ? /* @__PURE__ */ React4.createElement(UserAccountAvatar, {
497
+ userId: item.properties.userId,
498
+ hue: item.properties.hue,
499
+ emoji: item.properties.emoji,
500
+ status: item.properties.status
501
+ }) : /* @__PURE__ */ React4.createElement("div", {
553
502
  role: "none",
554
503
  "data-frame": true,
555
- className: mx3("absolute grid dx-focus-ring-group-indicator transition-colors", type === "tab" || pinned ? "rounded" : "rounded-full", pinned ? "bg-transparent group-hover/l0i:bg-groupSurface inset-inline-3 inset-block-0.5" : "bg-groupSurface inset-inline-3 inset-block-2"),
504
+ className: mx2("absolute grid dx-focus-ring-group-indicator transition-colors", type === "tab" || pinned ? "rounded" : "rounded-full", pinned ? "bg-transparent group-hover/l0i:bg-groupSurface inset-inline-3 inset-block-0.5" : "bg-groupSurface inset-inline-3 inset-block-2"),
556
505
  ...hue && {
557
506
  style: {
558
507
  background: `var(--dx-${hue}Surface)`
559
508
  }
560
509
  }
561
- }, item.properties.icon && /* @__PURE__ */ React5.createElement(Icon2, {
510
+ }, item.properties.icon && /* @__PURE__ */ React4.createElement(Icon2, {
562
511
  icon: item.properties.icon,
563
512
  size: pinned ? 5 : 7,
564
513
  classNames: "place-self-center",
565
514
  ...hueFgStyle
566
- }) || (type === "tab" && item.properties.disposition !== "pin-end" ? /* @__PURE__ */ React5.createElement("span", {
515
+ }) || (type === "tab" && item.properties.disposition !== "pin-end" ? /* @__PURE__ */ React4.createElement("span", {
567
516
  role: "img",
568
517
  className: "place-self-center text-3xl font-light",
569
518
  ...hueFgStyle
570
- }, avatarValue) : item.properties.icon && /* @__PURE__ */ React5.createElement(Icon2, {
519
+ }, avatarValue) : item.properties.icon && /* @__PURE__ */ React4.createElement(Icon2, {
571
520
  icon: "ph--planet--regular",
572
521
  size: pinned ? 5 : 7,
573
522
  classNames: "place-self-center",
574
523
  ...hueFgStyle
575
- }))), /* @__PURE__ */ React5.createElement("div", {
524
+ }))), /* @__PURE__ */ React4.createElement("div", {
576
525
  role: "none",
577
526
  className: "hidden group-aria-selected/l0i:block absolute inline-start-0 inset-block-4 is-1 bg-accentSurface rounded-ie"
578
- }), /* @__PURE__ */ React5.createElement("span", {
527
+ }), /* @__PURE__ */ React4.createElement("span", {
579
528
  id: `${item.id}__label`,
580
529
  className: "sr-only"
581
- }, localizedString), onRearrange && closestEdge && /* @__PURE__ */ React5.createElement(ListItem.DropIndicator, {
530
+ }, localizedString), onRearrange && closestEdge && /* @__PURE__ */ React4.createElement(ListItem.DropIndicator, {
582
531
  edge: closestEdge
583
532
  }));
584
- return popoverAnchorId === id ? /* @__PURE__ */ React5.createElement(Popover.Anchor, {
533
+ return popoverAnchorId === id ? /* @__PURE__ */ React4.createElement(Popover.Anchor, {
585
534
  asChild: true
586
- }, l0ItemTrigger) : /* @__PURE__ */ React5.createElement(Tooltip.Root, {
535
+ }, l0ItemTrigger) : /* @__PURE__ */ React4.createElement(Tooltip.Root, {
587
536
  delayDuration: 0
588
- }, /* @__PURE__ */ React5.createElement(Tooltip.Trigger, {
537
+ }, /* @__PURE__ */ React4.createElement(Tooltip.Trigger, {
589
538
  asChild: true
590
- }, l0ItemTrigger), /* @__PURE__ */ React5.createElement(Tooltip.Portal, null, /* @__PURE__ */ React5.createElement(Tooltip.Content, {
539
+ }, l0ItemTrigger), /* @__PURE__ */ React4.createElement(Tooltip.Portal, null, /* @__PURE__ */ React4.createElement(Tooltip.Content, {
591
540
  side: "right"
592
- }, localizedString, /* @__PURE__ */ React5.createElement(Tooltip.Arrow, null))));
541
+ }, localizedString, /* @__PURE__ */ React4.createElement(Tooltip.Arrow, null))));
593
542
  };
594
543
  var L0Collection = ({ item, path, parent }) => {
595
544
  const navTreeContext = useNavTreeContext();
@@ -606,7 +555,7 @@ var L0Collection = ({ item, path, parent }) => {
606
555
  const handleRearrange = useCallback((source, target, closestEdge) => {
607
556
  invariant(item.properties.onRearrangeChildren, void 0, {
608
557
  F: __dxlog_file,
609
- L: 246,
558
+ L: 256,
610
559
  S: void 0,
611
560
  A: [
612
561
  "item.properties.onRearrangeChildren",
@@ -624,13 +573,13 @@ var L0Collection = ({ item, path, parent }) => {
624
573
  collectionItems,
625
574
  item.properties.onRearrangeChildren
626
575
  ]);
627
- return /* @__PURE__ */ React5.createElement("div", {
576
+ return /* @__PURE__ */ React4.createElement("div", {
628
577
  role: "group",
629
578
  className: "contents group/l0c",
630
579
  "aria-labelledby": `${item.id}__label`,
631
580
  "data-itemid": id,
632
581
  "data-testid": testId
633
- }, collectionItems.map((collectionItem) => /* @__PURE__ */ React5.createElement(L0Item, {
582
+ }, collectionItems.map((collectionItem) => /* @__PURE__ */ React4.createElement(L0Item, {
634
583
  key: collectionItem.id,
635
584
  item: collectionItem,
636
585
  parent: item,
@@ -640,43 +589,49 @@ var L0Collection = ({ item, path, parent }) => {
640
589
  }
641
590
  })));
642
591
  };
643
- var L0Menu = ({ topLevelItems, pinnedItems, parent, path }) => {
644
- return /* @__PURE__ */ React5.createElement(Tabs.Tablist, {
592
+ var L0Menu = ({ topLevelItems, pinnedItems, userAccountItem, parent, path }) => {
593
+ return /* @__PURE__ */ React4.createElement(Tabs.Tablist, {
645
594
  classNames: "group/l0 absolute z-[1] inset-block-0 inline-start-0 rounded-is-lg grid grid-cols-[var(--l0-size)] grid-rows-[1fr_min-content_var(--l0-size)] contain-layout !is-[--l0-size] bg-baseSurface border-ie border-separator app-drag pbe-[env(safe-area-inset-bottom)]"
646
- }, /* @__PURE__ */ React5.createElement(ScrollArea.Root, null, /* @__PURE__ */ React5.createElement(ScrollArea.Viewport, null, /* @__PURE__ */ React5.createElement("div", {
595
+ }, /* @__PURE__ */ React4.createElement(ScrollArea.Root, null, /* @__PURE__ */ React4.createElement(ScrollArea.Viewport, null, /* @__PURE__ */ React4.createElement("div", {
647
596
  role: "none",
648
597
  className: 'grid auto-rows-[calc(var(--l0-size)-.5rem)] plb-1 [body[data-platform="darwin"]_&]:pbs-[calc(30px+0.25rem)] [body[data-platform="ios"]_&]:pbs-[max(env(safe-area-inset-top),0.25rem)]'
649
598
  }, topLevelItems.map((item) => {
650
599
  if (l0ItemType(item) === "collection") {
651
- return /* @__PURE__ */ React5.createElement(L0Collection, {
600
+ return /* @__PURE__ */ React4.createElement(L0Collection, {
652
601
  key: item.id,
653
602
  item,
654
603
  parent,
655
604
  path
656
605
  });
657
606
  } else {
658
- return /* @__PURE__ */ React5.createElement(L0Item, {
607
+ return /* @__PURE__ */ React4.createElement(L0Item, {
659
608
  key: item.id,
660
609
  item,
661
610
  parent,
662
611
  path
663
612
  });
664
613
  }
665
- })), /* @__PURE__ */ React5.createElement(ScrollArea.Scrollbar, {
614
+ })), /* @__PURE__ */ React4.createElement(ScrollArea.Scrollbar, {
666
615
  orientation: "vertical"
667
- }, /* @__PURE__ */ React5.createElement(ScrollArea.Thumb, null)))), /* @__PURE__ */ React5.createElement("div", {
616
+ }, /* @__PURE__ */ React4.createElement(ScrollArea.Thumb, null)))), /* @__PURE__ */ React4.createElement("div", {
668
617
  role: "none",
669
618
  className: "grid grid-cols-1 auto-rows-[--rail-action] pbs-2"
670
- }, pinnedItems.filter((item) => l0ItemType(item) !== "collection").map((item) => /* @__PURE__ */ React5.createElement(L0Item, {
619
+ }, pinnedItems.filter((item) => l0ItemType(item) !== "collection").map((item) => /* @__PURE__ */ React4.createElement(L0Item, {
671
620
  key: item.id,
672
621
  item,
673
622
  parent,
674
623
  path,
675
624
  pinned: true
676
- }))), /* @__PURE__ */ React5.createElement("div", {
625
+ }))), userAccountItem && /* @__PURE__ */ React4.createElement("div", {
677
626
  role: "none",
678
- className: "grid p-2 app-no-drag"
679
- }, /* @__PURE__ */ React5.createElement(NotchStart, null)), /* @__PURE__ */ React5.createElement("div", {
627
+ className: "grid py-2 app-no-drag"
628
+ }, /* @__PURE__ */ React4.createElement(L0Item, {
629
+ key: userAccountItem.id,
630
+ item: userAccountItem,
631
+ parent,
632
+ path,
633
+ userAccount: true
634
+ })), /* @__PURE__ */ React4.createElement("div", {
680
635
  role: "none",
681
636
  className: 'hidden [body[data-platform="darwin"]_&]:block absolute block-start-0 is-[calc(var(--l0-size)-1px)] bs-[calc(40px+0.25rem)]',
682
637
  style: {
@@ -686,23 +641,23 @@ var L0Menu = ({ topLevelItems, pinnedItems, parent, path }) => {
686
641
  };
687
642
 
688
643
  // packages/plugins/plugin-navtree/src/components/L1Panels.tsx
689
- import React8, { useMemo as useMemo3 } from "react";
644
+ import React7, { useMemo as useMemo3 } from "react";
690
645
  import { useLayout } from "@dxos/app-framework";
691
- import { IconButton as IconButton2, toLocalizedString as toLocalizedString6, useTranslation as useTranslation7 } from "@dxos/react-ui";
646
+ import { Button as Button3, Icon as Icon3, toLocalizedString as toLocalizedString6, useTranslation as useTranslation7 } from "@dxos/react-ui";
692
647
  import { Tree } from "@dxos/react-ui-list";
693
648
  import { Tabs as Tabs2 } from "@dxos/react-ui-tabs";
694
- import { hoverableControlItem as hoverableControlItem2, hoverableOpenControlItem as hoverableOpenControlItem2, mx as mx5 } from "@dxos/react-ui-theme";
649
+ import { hoverableControlItem as hoverableControlItem2, hoverableOpenControlItem as hoverableOpenControlItem2, mx as mx4 } from "@dxos/react-ui-theme";
695
650
 
696
651
  // packages/plugins/plugin-navtree/src/components/NavTreeItemColumns.tsx
697
- import React7, { Fragment, memo } from "react";
652
+ import React6, { Fragment, memo } from "react";
698
653
  import { isAction as isAction3 } from "@dxos/app-graph";
699
654
  import { Popover as Popover2, toLocalizedString as toLocalizedString5, Treegrid, useTranslation as useTranslation6 } from "@dxos/react-ui";
700
655
 
701
656
  // packages/plugins/plugin-navtree/src/components/NavTreeItemAction.tsx
702
- import React6, { useRef as useRef2 } from "react";
657
+ import React5, { useRef as useRef2 } from "react";
703
658
  import { useTranslation as useTranslation5, toLocalizedString as toLocalizedString4, IconButton } from "@dxos/react-ui";
704
659
  import { DropdownMenu, MenuProvider } from "@dxos/react-ui-menu";
705
- import { hoverableControlItem, hoverableOpenControlItem, mx as mx4 } from "@dxos/react-ui-theme";
660
+ import { hoverableControlItem, hoverableOpenControlItem, mx as mx3 } from "@dxos/react-ui-theme";
706
661
  var fallbackIcon = "ph--placeholder--regular";
707
662
  var actionButtonProps = {
708
663
  size: 4,
@@ -711,16 +666,16 @@ var actionButtonProps = {
711
666
  var NavTreeItemActionDropdownMenu = ({ label, icon, testId, menuActions, onAction }) => {
712
667
  const { t } = useTranslation5(NAVTREE_PLUGIN);
713
668
  const suppressNextTooltip = useRef2(false);
714
- return /* @__PURE__ */ React6.createElement(MenuProvider, {
669
+ return /* @__PURE__ */ React5.createElement(MenuProvider, {
715
670
  onAction
716
- }, /* @__PURE__ */ React6.createElement(DropdownMenu.Root, {
671
+ }, /* @__PURE__ */ React5.createElement(DropdownMenu.Root, {
717
672
  items: menuActions,
718
673
  suppressNextTooltip
719
- }, /* @__PURE__ */ React6.createElement(DropdownMenu.Trigger, {
674
+ }, /* @__PURE__ */ React5.createElement(DropdownMenu.Trigger, {
720
675
  asChild: true
721
- }, /* @__PURE__ */ React6.createElement(IconButton, {
676
+ }, /* @__PURE__ */ React5.createElement(IconButton, {
722
677
  ...actionButtonProps,
723
- classNames: mx4("shrink-0 pli-2 pointer-fine:pli-1", hoverableControlItem, hoverableOpenControlItem),
678
+ classNames: mx3("shrink-0 pli-2 pointer-fine:pli-1", hoverableControlItem, hoverableOpenControlItem),
724
679
  variant: "ghost",
725
680
  icon: icon ?? fallbackIcon,
726
681
  iconOnly: true,
@@ -732,10 +687,10 @@ var NavTreeItemActionDropdownMenu = ({ label, icon, testId, menuActions, onActio
732
687
  var NavTreeItemMonolithicAction = ({ parent, properties: { disabled, caller, testId, icon, variant = "ghost", iconOnly = true } = {
733
688
  label: "never"
734
689
  }, data: invoke, baseLabel }) => {
735
- return /* @__PURE__ */ React6.createElement(IconButton, {
690
+ return /* @__PURE__ */ React5.createElement(IconButton, {
736
691
  ...actionButtonProps,
737
692
  variant,
738
- classNames: mx4("shrink-0", hoverableControlItem, hoverableOpenControlItem, iconOnly ? "pli-2 pointer-fine:pli-1" : "p-2 pointer-fine:p-2 mie-1"),
693
+ classNames: mx3("shrink-0", hoverableControlItem, hoverableOpenControlItem, iconOnly ? "pli-2 pointer-fine:pli-1" : "p-2 pointer-fine:p-2 mie-1"),
739
694
  icon: icon ?? fallbackIcon,
740
695
  iconOnly,
741
696
  label: baseLabel,
@@ -759,11 +714,11 @@ var NavTreeItemAction = ({ monolithic, menuActions, parent: node, ...props }) =>
759
714
  const { t } = useTranslation5(NAVTREE_PLUGIN);
760
715
  const monolithicAction = menuActions?.length === 1 && menuActions[0];
761
716
  const baseLabel = toLocalizedString4(monolithicAction ? monolithicAction.properties.label : props.label, t);
762
- return monolithic && menuActions?.length === 1 ? /* @__PURE__ */ React6.createElement(NavTreeItemMonolithicAction, {
717
+ return monolithic && menuActions?.length === 1 ? /* @__PURE__ */ React5.createElement(NavTreeItemMonolithicAction, {
763
718
  baseLabel,
764
719
  parent: node,
765
720
  ...menuActions[0]
766
- }) : /* @__PURE__ */ React6.createElement(NavTreeItemActionDropdownMenu, {
721
+ }) : /* @__PURE__ */ React5.createElement(NavTreeItemActionDropdownMenu, {
767
722
  ...props,
768
723
  label: baseLabel,
769
724
  parent: node,
@@ -783,17 +738,17 @@ var NavTreeItemColumns = /* @__PURE__ */ memo(({ path, item, open }) => {
783
738
  const { getActions: getActions2, renderItemEnd: ItemEnd, popoverAnchorId } = useNavTreeContext();
784
739
  const level = path.length - 2;
785
740
  const { actions: _actions, groupedActions } = getActions2(item);
786
- const [primaryAction, ...secondaryActions] = _actions.toSorted((a, b) => a.properties?.disposition === "toolbar" ? -1 : 1);
787
- const actions = (primaryAction?.properties?.disposition === "toolbar" ? secondaryActions : _actions).flatMap((action) => isAction3(action) ? [
741
+ const [primaryAction, ...secondaryActions] = _actions.toSorted((a, b) => a.properties?.disposition === "list-item-primary" ? -1 : 1);
742
+ const actions = (primaryAction?.properties?.disposition === "list-item-primary" ? secondaryActions : _actions).flatMap((action) => isAction3(action) ? [
788
743
  action
789
744
  ] : []).filter((action) => !action.properties?.hidden);
790
745
  const ActionRoot = popoverAnchorId === `dxos.org/ui/${NAV_TREE_ITEM}/${item.id}` ? Popover2.Anchor : Fragment;
791
746
  useLoadDescendents(item);
792
747
  useLoadDescendents(primaryAction && !isAction3(primaryAction) ? primaryAction : void 0);
793
- return /* @__PURE__ */ React7.createElement("div", {
748
+ return /* @__PURE__ */ React6.createElement("div", {
794
749
  role: "none",
795
750
  className: "contents app-no-drag"
796
- }, primaryAction?.properties?.disposition === "toolbar" && !primaryAction?.properties?.disabled ? /* @__PURE__ */ React7.createElement(NavTreeItemAction, {
751
+ }, primaryAction?.properties?.disposition === "list-item-primary" && !primaryAction?.properties?.disabled ? /* @__PURE__ */ React6.createElement(NavTreeItemAction, {
797
752
  testId: primaryAction.properties?.testId,
798
753
  label: toLocalizedString5(primaryAction.properties?.label, t),
799
754
  icon: primaryAction.properties?.icon ?? "ph--placeholder--regular",
@@ -804,7 +759,7 @@ var NavTreeItemColumns = /* @__PURE__ */ memo(({ path, item, open }) => {
804
759
  ] : groupedActions[primaryAction.id],
805
760
  menuType: primaryAction.properties?.menuType,
806
761
  caller: NAV_TREE_ITEM
807
- }) : /* @__PURE__ */ React7.createElement(Treegrid.Cell, null), /* @__PURE__ */ React7.createElement(ActionRoot, null, actions.length > 0 ? /* @__PURE__ */ React7.createElement(NavTreeItemAction, {
762
+ }) : /* @__PURE__ */ React6.createElement(Treegrid.Cell, null), /* @__PURE__ */ React6.createElement(ActionRoot, null, actions.length > 0 ? /* @__PURE__ */ React6.createElement(NavTreeItemAction, {
808
763
  testId: `navtree.treeItem.actionsLevel${level}`,
809
764
  label: t("tree item actions label"),
810
765
  icon: "ph--dots-three-vertical--regular",
@@ -812,7 +767,7 @@ var NavTreeItemColumns = /* @__PURE__ */ memo(({ path, item, open }) => {
812
767
  menuActions: actions,
813
768
  menuType: "dropdown",
814
769
  caller: NAV_TREE_ITEM
815
- }) : /* @__PURE__ */ React7.createElement(Treegrid.Cell, null)), ItemEnd && /* @__PURE__ */ React7.createElement(ItemEnd, {
770
+ }) : /* @__PURE__ */ React6.createElement(Treegrid.Cell, null)), ItemEnd && /* @__PURE__ */ React6.createElement(ItemEnd, {
816
771
  node: item,
817
772
  open
818
773
  }));
@@ -823,7 +778,7 @@ var L1Panel = ({ item, path, currentItemId, onBack }) => {
823
778
  const layout = useLayout();
824
779
  const navTreeContext = useNavTreeContext();
825
780
  const { t } = useTranslation7(NAVTREE_PLUGIN);
826
- return /* @__PURE__ */ React8.createElement(Tabs2.Tabpanel, {
781
+ return /* @__PURE__ */ React7.createElement(Tabs2.Tabpanel, {
827
782
  key: item.id,
828
783
  value: item.id,
829
784
  classNames: [
@@ -834,27 +789,26 @@ var L1Panel = ({ item, path, currentItemId, onBack }) => {
834
789
  ...!layout.sidebarOpen && {
835
790
  inert: "true"
836
791
  }
837
- }, item.id === currentItemId && /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("h2", {
838
- className: "flex items-center border-be border-separator pis-4 app-drag"
839
- }, item.properties.disposition === "pin-end" && /* @__PURE__ */ React8.createElement(IconButton2, {
840
- label: t("back label"),
841
- iconOnly: true,
842
- icon: "ph--caret-left--regular",
843
- size: 5,
844
- density: "fine",
792
+ }, item.id === currentItemId && /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("h2", {
793
+ className: "flex items-center border-be border-separator app-drag"
794
+ }, /* @__PURE__ */ React7.createElement(Button3, {
845
795
  variant: "ghost",
846
- classNames: mx5("shrink-0 mie-2 !p-0", "pointer-fine:pli-1", hoverableControlItem2, hoverableOpenControlItem2),
796
+ density: "fine",
797
+ classNames: mx4("is-6 pli-0 dx-focus-ring-inset", !item.id.startsWith("!") && "invisible", hoverableControlItem2, hoverableOpenControlItem2),
847
798
  onClick: onBack
848
- }), /* @__PURE__ */ React8.createElement("span", {
799
+ }, /* @__PURE__ */ React7.createElement(Icon3, {
800
+ icon: "ph--caret-left--regular",
801
+ size: 3
802
+ })), /* @__PURE__ */ React7.createElement("span", {
849
803
  className: "flex-1 truncate cursor-default"
850
- }, toLocalizedString6(item.properties.label, t)), /* @__PURE__ */ React8.createElement(NavTreeItemColumns, {
804
+ }, toLocalizedString6(item.properties.label, t)), /* @__PURE__ */ React7.createElement(NavTreeItemColumns, {
851
805
  path,
852
806
  item,
853
807
  open: true
854
- })), /* @__PURE__ */ React8.createElement("div", {
808
+ })), /* @__PURE__ */ React7.createElement("div", {
855
809
  role: "none",
856
810
  className: "overflow-y-auto"
857
- }, /* @__PURE__ */ React8.createElement(Tree, {
811
+ }, /* @__PURE__ */ React7.createElement(Tree, {
858
812
  ...navTreeContext,
859
813
  id: item.id,
860
814
  root: item,
@@ -876,7 +830,7 @@ var L1PanelCollection = ({ item, path, currentItemId }) => {
876
830
  item.id,
877
831
  path
878
832
  ]);
879
- return /* @__PURE__ */ React8.createElement(React8.Fragment, null, collectionItems.filter((item2) => l0ItemType(item2) === "tab").map((item2) => /* @__PURE__ */ React8.createElement(L1Panel, {
833
+ return /* @__PURE__ */ React7.createElement(React7.Fragment, null, collectionItems.filter((item2) => l0ItemType(item2) === "tab").map((item2) => /* @__PURE__ */ React7.createElement(L1Panel, {
880
834
  key: item2.id,
881
835
  item: item2,
882
836
  path: groupPath,
@@ -884,18 +838,18 @@ var L1PanelCollection = ({ item, path, currentItemId }) => {
884
838
  })));
885
839
  };
886
840
  var L1Panels = ({ topLevelItems, path, currentItemId, onBack }) => {
887
- return /* @__PURE__ */ React8.createElement(React8.Fragment, null, topLevelItems.map((item) => {
841
+ return /* @__PURE__ */ React7.createElement(React7.Fragment, null, topLevelItems.map((item) => {
888
842
  const type = l0ItemType(item);
889
843
  switch (type) {
890
844
  case "collection":
891
- return /* @__PURE__ */ React8.createElement(L1PanelCollection, {
845
+ return /* @__PURE__ */ React7.createElement(L1PanelCollection, {
892
846
  key: item.id,
893
847
  item,
894
848
  path,
895
849
  currentItemId
896
850
  });
897
851
  case "tab":
898
- return /* @__PURE__ */ React8.createElement(L1Panel, {
852
+ return /* @__PURE__ */ React7.createElement(L1Panel, {
899
853
  key: item.id,
900
854
  item,
901
855
  path,
@@ -928,12 +882,15 @@ var NavTree = ({ id, root }) => {
928
882
  topLevelNavigation
929
883
  ]);
930
884
  const pinnedItems = getItems(root, "pin-end").toSorted((a, b) => byPosition(a.properties, b.properties));
885
+ const userAccountItem = getItems(root, "user-account")[0];
931
886
  const topLevelItems = useMemo4(() => [
932
887
  ...l0Items,
933
- ...pinnedItems
888
+ ...pinnedItems,
889
+ userAccountItem
934
890
  ], [
935
891
  l0Items,
936
- pinnedItems
892
+ pinnedItems,
893
+ userAccountItem
937
894
  ]);
938
895
  useLoadDescendents(root);
939
896
  const path = useMemo4(() => [
@@ -943,17 +900,18 @@ var NavTree = ({ id, root }) => {
943
900
  ]);
944
901
  return (
945
902
  // NOTE(thure): 74px (rather than rem) is intentional in order to match the size of macOS windowing controls
946
- /* @__PURE__ */ React9.createElement(Tabs3.Root, {
903
+ /* @__PURE__ */ React8.createElement(Tabs3.Root, {
947
904
  value: tab,
948
905
  orientation: "vertical",
949
906
  verticalVariant: "stateless",
950
907
  classNames: "relative"
951
- }, /* @__PURE__ */ React9.createElement(L0Menu, {
908
+ }, /* @__PURE__ */ React8.createElement(L0Menu, {
952
909
  topLevelItems: l0Items,
953
910
  pinnedItems,
911
+ userAccountItem,
954
912
  path,
955
913
  parent: root
956
- }), /* @__PURE__ */ React9.createElement(L1Panels, {
914
+ }), /* @__PURE__ */ React8.createElement(L1Panels, {
957
915
  topLevelItems,
958
916
  path,
959
917
  currentItemId: tab,
@@ -967,12 +925,12 @@ import { lazy } from "@dxos/app-framework";
967
925
  var AppGraphBuilder = lazy(() => import("./app-graph-builder-26D3MUCA.mjs"));
968
926
  var IntentResolver = lazy(() => import("./intent-resolver-BZMUS24C.mjs"));
969
927
  var Keyboard2 = lazy(() => import("./keyboard-IQXHKUWM.mjs"));
970
- var ReactSurface = lazy(() => import("./react-surface-JQOY2DYT.mjs"));
928
+ var ReactSurface = lazy(() => import("./react-surface-3HCM3SHJ.mjs"));
971
929
  var State = lazy(() => import("./state-M5UJ3MHL.mjs"));
972
930
 
973
931
  // packages/plugins/plugin-navtree/src/components/NavTreeContainer.tsx
974
932
  var NODE_TYPE = "dxos/app-graph/node";
975
- var renderItemEnd = ({ node, open }) => /* @__PURE__ */ React10.createElement(Surface, {
933
+ var renderItemEnd = ({ node, open }) => /* @__PURE__ */ React9.createElement(Surface, {
976
934
  role: "navtree-item-end",
977
935
  data: {
978
936
  id: node.id,
@@ -981,11 +939,12 @@ var renderItemEnd = ({ node, open }) => /* @__PURE__ */ React10.createElement(Su
981
939
  },
982
940
  limit: 1
983
941
  });
942
+ var getChildrenFilter = (node) => untracked(() => !isActionLike2(node) && node.type !== PLANK_COMPANION_TYPE);
984
943
  var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar }) => {
985
944
  const [isLg] = useMediaQuery2("lg", {
986
945
  ssr: false
987
946
  });
988
- const { dispatchPromise: dispatch } = useIntentDispatcher5();
947
+ const { dispatchPromise: dispatch } = useIntentDispatcher4();
989
948
  const { graph } = useAppGraph2();
990
949
  const layout = useLayout2();
991
950
  const { isOpen, isCurrent, setItem } = useCapability(NavTreeCapabilities.State);
@@ -996,11 +955,14 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
996
955
  return graph.nodes(node ?? graph.root, {
997
956
  filter: (node2) => {
998
957
  return untracked(() => {
999
- const action = isAction4(node2);
1000
- if (!disposition) {
958
+ if (node2.properties.disposition === "hidden") {
959
+ return false;
960
+ } else if (!disposition) {
961
+ const action = isAction4(node2);
1001
962
  return !action || node2.properties.disposition === "item";
963
+ } else {
964
+ return node2.properties.disposition === disposition;
1002
965
  }
1003
- return node2.properties.disposition === disposition;
1004
966
  });
1005
967
  }
1006
968
  });
@@ -1008,7 +970,7 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
1008
970
  graph
1009
971
  ]);
1010
972
  const getProps = useCallback2((node, path) => {
1011
- const children = getChildren(graph, node, void 0, path);
973
+ const children = getChildren(graph, node, getChildrenFilter, path);
1012
974
  const parentOf = children.length > 0 ? children.map(({ id }) => id) : node.properties.role === "branch" ? [] : void 0;
1013
975
  return {
1014
976
  id: node.id,
@@ -1016,7 +978,7 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
1016
978
  parentOf,
1017
979
  icon: node.properties.icon,
1018
980
  disabled: node.properties.disabled,
1019
- className: mx6(node.properties.modified && "italic", node.properties.className),
981
+ className: mx5(node.properties.modified && "italic", node.properties.className),
1020
982
  headingClassName: node.properties.headingClassName,
1021
983
  testId: node.properties.testId
1022
984
  };
@@ -1047,14 +1009,14 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
1047
1009
  graph
1048
1010
  ]);
1049
1011
  const onTabChange = useCallback2(async (node) => {
1050
- await dispatch(createIntent5(LayoutAction4.SwitchWorkspace, {
1012
+ await dispatch(createIntent4(LayoutAction4.SwitchWorkspace, {
1051
1013
  part: "workspace",
1052
1014
  subject: node.id
1053
1015
  }));
1054
1016
  if (layout.active.length === 0) {
1055
1017
  const [item] = getItems(node).filter((node2) => !isActionLike2(node2));
1056
1018
  if (item && item.data) {
1057
- await dispatch(createIntent5(LayoutAction4.Open, {
1019
+ await dispatch(createIntent4(LayoutAction4.Open, {
1058
1020
  part: "main",
1059
1021
  subject: [
1060
1022
  item.id
@@ -1093,7 +1055,7 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
1093
1055
  }
1094
1056
  const current = isCurrent(path, node);
1095
1057
  if (!current) {
1096
- void dispatch(createIntent5(LayoutAction4.Open, {
1058
+ void dispatch(createIntent4(LayoutAction4.Open, {
1097
1059
  part: "main",
1098
1060
  subject: [
1099
1061
  node.id
@@ -1103,7 +1065,7 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
1103
1065
  }
1104
1066
  }));
1105
1067
  } else if (option) {
1106
- void dispatch(createIntent5(LayoutAction4.Close, {
1068
+ void dispatch(createIntent4(LayoutAction4.Close, {
1107
1069
  part: "main",
1108
1070
  subject: [
1109
1071
  node.id
@@ -1113,7 +1075,7 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
1113
1075
  }
1114
1076
  }));
1115
1077
  } else {
1116
- void dispatch(createIntent5(LayoutAction4.ScrollIntoView, {
1078
+ void dispatch(createIntent4(LayoutAction4.ScrollIntoView, {
1117
1079
  part: "current",
1118
1080
  subject: node.id
1119
1081
  }));
@@ -1123,7 +1085,7 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
1123
1085
  void defaultAction.data();
1124
1086
  }
1125
1087
  if (!isLg) {
1126
- void dispatch(createIntent5(LayoutAction4.UpdateSidebar, {
1088
+ void dispatch(createIntent4(LayoutAction4.UpdateSidebar, {
1127
1089
  part: "sidebar",
1128
1090
  options: {
1129
1091
  state: "closed"
@@ -1136,7 +1098,7 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
1136
1098
  isCurrent,
1137
1099
  isLg
1138
1100
  ]);
1139
- const onBack = useCallback2(() => dispatch(createIntent5(LayoutAction4.RevertWorkspace, {
1101
+ const onBack = useCallback2(() => dispatch(createIntent4(LayoutAction4.RevertWorkspace, {
1140
1102
  part: "workspace",
1141
1103
  options: {
1142
1104
  revert: true
@@ -1227,9 +1189,9 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
1227
1189
  canDrop,
1228
1190
  handleSelect
1229
1191
  ]);
1230
- return /* @__PURE__ */ React10.createElement(NavTreeContext.Provider, {
1192
+ return /* @__PURE__ */ React9.createElement(NavTreeContext.Provider, {
1231
1193
  value: navTreeContextValue
1232
- }, /* @__PURE__ */ React10.createElement(NavTree, {
1194
+ }, /* @__PURE__ */ React9.createElement(NavTree, {
1233
1195
  root: graph.root,
1234
1196
  id: graph.root.id
1235
1197
  }));
@@ -1238,7 +1200,6 @@ var NavTreeContainer = /* @__PURE__ */ memo2(({ tab, popoverAnchorId, topbar })
1238
1200
  export {
1239
1201
  CommandsDialogContent,
1240
1202
  CommandsTrigger,
1241
- NotchStart,
1242
1203
  getParent,
1243
1204
  getPersistenceParent,
1244
1205
  resolveMigrationOperation,
@@ -1249,7 +1210,6 @@ export {
1249
1210
  expandChildren,
1250
1211
  expandActions,
1251
1212
  l0ItemType,
1252
- getFirstTwoRenderableChars,
1253
1213
  NODE_TYPE,
1254
1214
  NavTreeContainer,
1255
1215
  NavTreeDocumentTitle,
@@ -1259,4 +1219,4 @@ export {
1259
1219
  ReactSurface,
1260
1220
  State
1261
1221
  };
1262
- //# sourceMappingURL=chunk-HOGQWJWM.mjs.map
1222
+ //# sourceMappingURL=chunk-DN43QXSX.mjs.map