@dxos/plugin-navtree 0.8.4-main.70d3990 → 0.8.4-main.74a063c4e0

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 (194) hide show
  1. package/dist/lib/browser/index.mjs +168 -112
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/types/src/NavTreePlugin.d.ts +2 -1
  5. package/dist/types/src/NavTreePlugin.d.ts.map +1 -1
  6. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  7. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  8. package/dist/types/src/capabilities/index.d.ts +7 -108
  9. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  10. package/dist/types/src/capabilities/keyboard.d.ts +3 -2
  11. package/dist/types/src/capabilities/keyboard.d.ts.map +1 -1
  12. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  13. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  14. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  15. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  16. package/dist/types/src/capabilities/state.d.ts +4 -18
  17. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  18. package/dist/types/src/components/NavTree/NavTree.d.ts +11 -4
  19. package/dist/types/src/components/NavTree/NavTree.d.ts.map +1 -1
  20. package/dist/types/src/components/NavTree/NavTree.stories.d.ts +10 -11
  21. package/dist/types/src/components/NavTree/NavTree.stories.d.ts.map +1 -1
  22. package/dist/types/src/components/{NavTreeContext.d.ts → NavTreeContext/NavTreeContext.d.ts} +1 -1
  23. package/dist/types/src/components/NavTreeContext/NavTreeContext.d.ts.map +1 -0
  24. package/dist/types/src/components/NavTreeContext/index.d.ts +2 -0
  25. package/dist/types/src/components/NavTreeContext/index.d.ts.map +1 -0
  26. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.d.ts +17 -9
  27. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.d.ts.map +1 -1
  28. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.stories.d.ts +3 -2
  29. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.stories.d.ts.map +1 -1
  30. package/dist/types/src/components/NavTreeItem/NavTreeItemColumns.d.ts.map +1 -1
  31. package/dist/types/src/components/Sidebar/L0Menu.d.ts +8 -5
  32. package/dist/types/src/components/Sidebar/L0Menu.d.ts.map +1 -1
  33. package/dist/types/src/components/Sidebar/L1Panel.d.ts +4 -7
  34. package/dist/types/src/components/Sidebar/L1Panel.d.ts.map +1 -1
  35. package/dist/types/src/components/Sidebar/L1Tabs.d.ts +5 -4
  36. package/dist/types/src/components/Sidebar/L1Tabs.d.ts.map +1 -1
  37. package/dist/types/src/components/UserAccountAvatar/UserAccountAvatar.stories.d.ts.map +1 -1
  38. package/dist/types/src/components/index.d.ts +0 -3
  39. package/dist/types/src/components/index.d.ts.map +1 -1
  40. package/dist/types/src/components/types.d.ts +8 -16
  41. package/dist/types/src/components/types.d.ts.map +1 -1
  42. package/dist/types/src/containers/CommandsDialogContent/CommandsDialogContent.d.ts +6 -0
  43. package/dist/types/src/containers/CommandsDialogContent/CommandsDialogContent.d.ts.map +1 -0
  44. package/dist/types/src/containers/CommandsDialogContent/CommandsDialogContent.stories.d.ts +29 -0
  45. package/dist/types/src/containers/CommandsDialogContent/CommandsDialogContent.stories.d.ts.map +1 -0
  46. package/dist/types/src/containers/CommandsDialogContent/index.d.ts +2 -0
  47. package/dist/types/src/containers/CommandsDialogContent/index.d.ts.map +1 -0
  48. package/dist/types/src/containers/CommandsTrigger/CommandsTrigger.d.ts.map +1 -0
  49. package/dist/types/src/containers/CommandsTrigger/index.d.ts +2 -0
  50. package/dist/types/src/containers/CommandsTrigger/index.d.ts.map +1 -0
  51. package/dist/types/src/containers/NavTreeContainer/NavTreeContainer.d.ts +9 -0
  52. package/dist/types/src/containers/NavTreeContainer/NavTreeContainer.d.ts.map +1 -0
  53. package/dist/types/src/containers/NavTreeContainer/index.d.ts +3 -0
  54. package/dist/types/src/containers/NavTreeContainer/index.d.ts.map +1 -0
  55. package/dist/types/src/{components → containers/NavTreeDocumentTitle}/NavTreeDocumentTitle.d.ts +1 -1
  56. package/dist/types/src/containers/NavTreeDocumentTitle/NavTreeDocumentTitle.d.ts.map +1 -0
  57. package/dist/types/src/containers/NavTreeDocumentTitle/index.d.ts +2 -0
  58. package/dist/types/src/containers/NavTreeDocumentTitle/index.d.ts.map +1 -0
  59. package/dist/types/src/containers/index.d.ts +7 -0
  60. package/dist/types/src/containers/index.d.ts.map +1 -0
  61. package/dist/types/src/experimental/Tree.stories.d.ts +18 -4
  62. package/dist/types/src/experimental/Tree.stories.d.ts.map +1 -1
  63. package/dist/types/src/hooks/index.d.ts +5 -0
  64. package/dist/types/src/hooks/index.d.ts.map +1 -0
  65. package/dist/types/src/hooks/useActions.d.ts +5 -0
  66. package/dist/types/src/hooks/useActions.d.ts.map +1 -0
  67. package/dist/types/src/hooks/useLoadDescendents.d.ts +6 -0
  68. package/dist/types/src/hooks/useLoadDescendents.d.ts.map +1 -0
  69. package/dist/types/src/hooks/useNavTreeModel.d.ts +7 -0
  70. package/dist/types/src/hooks/useNavTreeModel.d.ts.map +1 -0
  71. package/dist/types/src/hooks/useNavTreeState.d.ts +22 -0
  72. package/dist/types/src/hooks/useNavTreeState.d.ts.map +1 -0
  73. package/dist/types/src/index.d.ts +1 -2
  74. package/dist/types/src/index.d.ts.map +1 -1
  75. package/dist/types/src/meta.d.ts +2 -2
  76. package/dist/types/src/meta.d.ts.map +1 -1
  77. package/dist/types/src/operations/expose.d.ts +5 -0
  78. package/dist/types/src/operations/expose.d.ts.map +1 -0
  79. package/dist/types/src/operations/index.d.ts +3 -0
  80. package/dist/types/src/operations/index.d.ts.map +1 -0
  81. package/dist/types/src/testing/app-graph-builder.d.ts +2 -3
  82. package/dist/types/src/testing/app-graph-builder.d.ts.map +1 -1
  83. package/dist/types/src/testing/generator.d.ts +5 -6
  84. package/dist/types/src/testing/generator.d.ts.map +1 -1
  85. package/dist/types/src/testing/update-state.d.ts +2 -2
  86. package/dist/types/src/testing/update-state.d.ts.map +1 -1
  87. package/dist/types/src/translations.d.ts +9 -10
  88. package/dist/types/src/translations.d.ts.map +1 -1
  89. package/dist/types/src/types/capabilities.d.ts +16 -0
  90. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  91. package/dist/types/src/types/events.d.ts +5 -0
  92. package/dist/types/src/types/events.d.ts.map +1 -0
  93. package/dist/types/src/types/index.d.ts +4 -0
  94. package/dist/types/src/types/index.d.ts.map +1 -0
  95. package/dist/types/src/{types.d.ts → types/schema.d.ts} +6 -6
  96. package/dist/types/src/types/schema.d.ts.map +1 -0
  97. package/dist/types/src/util.d.ts +12 -8
  98. package/dist/types/src/util.d.ts.map +1 -1
  99. package/dist/types/tsconfig.tsbuildinfo +1 -1
  100. package/package.json +66 -54
  101. package/src/NavTreePlugin.tsx +56 -74
  102. package/src/capabilities/app-graph-builder.ts +34 -45
  103. package/src/capabilities/index.ts +10 -8
  104. package/src/capabilities/keyboard.ts +58 -49
  105. package/src/capabilities/operation-handler.ts +16 -0
  106. package/src/capabilities/react-surface.tsx +46 -37
  107. package/src/capabilities/state.ts +128 -83
  108. package/src/components/NavTree/NavTree.stories.tsx +48 -54
  109. package/src/components/NavTree/NavTree.tsx +65 -33
  110. package/src/components/{NavTreeContext.tsx → NavTreeContext/NavTreeContext.tsx} +1 -1
  111. package/src/components/NavTreeContext/index.ts +5 -0
  112. package/src/components/NavTreeItem/NavTreeItemAction.stories.tsx +23 -15
  113. package/src/components/NavTreeItem/NavTreeItemAction.tsx +67 -44
  114. package/src/components/NavTreeItem/NavTreeItemColumns.tsx +45 -19
  115. package/src/components/Sidebar/L0Menu.tsx +147 -182
  116. package/src/components/Sidebar/L1Panel.tsx +256 -95
  117. package/src/components/Sidebar/L1Tabs.tsx +18 -34
  118. package/src/components/UserAccountAvatar/UserAccountAvatar.stories.tsx +2 -3
  119. package/src/components/UserAccountAvatar/UserAccountAvatar.tsx +1 -1
  120. package/src/components/index.ts +1 -3
  121. package/src/components/types.ts +14 -19
  122. package/src/containers/CommandsDialogContent/CommandsDialogContent.stories.tsx +45 -0
  123. package/src/containers/CommandsDialogContent/CommandsDialogContent.tsx +131 -0
  124. package/src/containers/CommandsDialogContent/index.ts +5 -0
  125. package/src/containers/CommandsTrigger/CommandsTrigger.tsx +28 -0
  126. package/src/containers/CommandsTrigger/index.ts +5 -0
  127. package/src/containers/NavTreeContainer/NavTreeContainer.tsx +280 -0
  128. package/src/containers/NavTreeContainer/index.ts +6 -0
  129. package/src/{components → containers/NavTreeDocumentTitle}/NavTreeDocumentTitle.tsx +4 -3
  130. package/src/containers/NavTreeDocumentTitle/index.ts +5 -0
  131. package/src/containers/index.ts +12 -0
  132. package/src/experimental/Tree.stories.tsx +82 -85
  133. package/src/experimental/Tree.tsx +4 -4
  134. package/src/hooks/index.ts +8 -0
  135. package/src/hooks/useActions.ts +34 -0
  136. package/src/hooks/useLoadDescendents.ts +23 -0
  137. package/src/hooks/useNavTreeModel.ts +118 -0
  138. package/src/hooks/useNavTreeState.ts +42 -0
  139. package/src/index.ts +1 -2
  140. package/src/meta.ts +4 -4
  141. package/src/operations/expose.ts +42 -0
  142. package/src/operations/index.ts +7 -0
  143. package/src/testing/app-graph-builder.ts +166 -238
  144. package/src/testing/generator.ts +34 -34
  145. package/src/testing/update-state.ts +6 -6
  146. package/src/translations.ts +9 -10
  147. package/src/types/capabilities.ts +21 -0
  148. package/src/types/events.ts +12 -0
  149. package/src/types/index.ts +7 -0
  150. package/src/{types.ts → types/schema.ts} +5 -5
  151. package/src/util.ts +28 -17
  152. package/dist/lib/browser/app-graph-builder-OHSCN3GX.mjs +0 -46
  153. package/dist/lib/browser/app-graph-builder-OHSCN3GX.mjs.map +0 -7
  154. package/dist/lib/browser/chunk-5VLWX4PK.mjs +0 -15
  155. package/dist/lib/browser/chunk-5VLWX4PK.mjs.map +0 -7
  156. package/dist/lib/browser/chunk-E6MZBCU5.mjs +0 -19
  157. package/dist/lib/browser/chunk-E6MZBCU5.mjs.map +0 -7
  158. package/dist/lib/browser/chunk-UDAINHB6.mjs +0 -1488
  159. package/dist/lib/browser/chunk-UDAINHB6.mjs.map +0 -7
  160. package/dist/lib/browser/intent-resolver-YUVXVPHG.mjs +0 -47
  161. package/dist/lib/browser/intent-resolver-YUVXVPHG.mjs.map +0 -7
  162. package/dist/lib/browser/keyboard-YJEK2HTH.mjs +0 -49
  163. package/dist/lib/browser/keyboard-YJEK2HTH.mjs.map +0 -7
  164. package/dist/lib/browser/react-surface-V6LS3R4L.mjs +0 -51
  165. package/dist/lib/browser/react-surface-V6LS3R4L.mjs.map +0 -7
  166. package/dist/lib/browser/state-BFD5KJCV.mjs +0 -117
  167. package/dist/lib/browser/state-BFD5KJCV.mjs.map +0 -7
  168. package/dist/types/src/capabilities/capabilities.d.ts +0 -21
  169. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  170. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  171. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  172. package/dist/types/src/components/CommandsDialog/CommandsDialog.d.ts +0 -5
  173. package/dist/types/src/components/CommandsDialog/CommandsDialog.d.ts.map +0 -1
  174. package/dist/types/src/components/CommandsDialog/CommandsTrigger.d.ts.map +0 -1
  175. package/dist/types/src/components/CommandsDialog/index.d.ts +0 -3
  176. package/dist/types/src/components/CommandsDialog/index.d.ts.map +0 -1
  177. package/dist/types/src/components/NavTreeContainer.d.ts +0 -9
  178. package/dist/types/src/components/NavTreeContainer.d.ts.map +0 -1
  179. package/dist/types/src/components/NavTreeContext.d.ts.map +0 -1
  180. package/dist/types/src/components/NavTreeDocumentTitle.d.ts.map +0 -1
  181. package/dist/types/src/events.d.ts +0 -4
  182. package/dist/types/src/events.d.ts.map +0 -1
  183. package/dist/types/src/hooks.d.ts +0 -3
  184. package/dist/types/src/hooks.d.ts.map +0 -1
  185. package/dist/types/src/types.d.ts.map +0 -1
  186. package/src/capabilities/capabilities.ts +0 -20
  187. package/src/capabilities/intent-resolver.ts +0 -37
  188. package/src/components/CommandsDialog/CommandsDialog.tsx +0 -126
  189. package/src/components/CommandsDialog/CommandsTrigger.tsx +0 -36
  190. package/src/components/CommandsDialog/index.ts +0 -6
  191. package/src/components/NavTreeContainer.tsx +0 -378
  192. package/src/events.ts +0 -11
  193. package/src/hooks.ts +0 -21
  194. /package/dist/types/src/{components/CommandsDialog → containers/CommandsTrigger}/CommandsTrigger.d.ts +0 -0
@@ -4,21 +4,20 @@
4
4
 
5
5
  import { type Resource } from '@dxos/react-ui';
6
6
 
7
- import { meta } from './meta';
7
+ import { meta } from '#meta';
8
8
 
9
9
  export const translations = [
10
10
  {
11
11
  'en-US': {
12
12
  [meta.id]: {
13
- 'app menu label': 'App menu',
14
- 'open settings label': 'Settings',
15
- 'open commands label': 'Search commands',
16
- 'commands dialog title': 'Commands',
17
- 'command list input placeholder': 'Search for commands…',
18
- 'node actions menu invoker label': 'More options',
19
- 'tree item actions label': 'More actions',
20
- 'empty branch message': ' ',
21
- 'button back': 'Back to Space',
13
+ 'app-menu.label': 'App menu',
14
+ 'open-settings.label': 'Settings',
15
+ 'open-commands.label': 'Search commands',
16
+ 'commands-dialog.title': 'Commands',
17
+ 'command-list-input.placeholder': 'Search for commands…',
18
+ 'node-actions-menu-invoker.label': 'More options',
19
+ 'tree-item-actions.label': 'More actions',
20
+ 'button-back.button': 'Back to Space',
22
21
  },
23
22
  },
24
23
  },
@@ -0,0 +1,21 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type Atom } from '@effect-atom/atom-react';
6
+
7
+ import { Capability } from '@dxos/app-framework';
8
+
9
+ import { meta } from '#meta';
10
+
11
+ export namespace NavTreeCapabilities {
12
+ export type NavTreeItemState = { open: boolean; current: boolean; alternateTree?: boolean };
13
+
14
+ export type NavTreeStateStore = {
15
+ getItem: (path: string[]) => NavTreeItemState;
16
+ getItemAtom: (path: string[]) => Atom.Atom<NavTreeItemState>;
17
+ setItem: (path: string[], key: 'open' | 'current' | 'alternateTree', next: boolean) => void;
18
+ };
19
+
20
+ export const State = Capability.make<NavTreeStateStore>(`${meta.id}.capability.state`);
21
+ }
@@ -0,0 +1,12 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type ActivationEvent } from '@dxos/app-framework';
6
+ import { AppActivationEvents } from '@dxos/app-toolkit';
7
+
8
+ import { meta } from '#meta';
9
+
10
+ export namespace NavTreeEvents {
11
+ export const StateReady: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(meta.id);
12
+ }
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './capabilities';
6
+ export * from './events';
7
+ export * from './schema';
@@ -2,11 +2,11 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type Action, type ActionLike, type Node } from '@dxos/app-graph';
5
+ import { type Node } from '@dxos/app-graph';
6
6
  import { type Label } from '@dxos/react-ui';
7
7
  import { type MaybePromise, type Position } from '@dxos/util';
8
8
 
9
- export type NavTreeItemGraphNode = Node<
9
+ export type NavTreeItemGraphNode = Node.Node<
10
10
  any,
11
11
  Partial<
12
12
  NodeProperties & {
@@ -14,7 +14,7 @@ export type NavTreeItemGraphNode = Node<
14
14
  persistenceKey: string;
15
15
  acceptPersistenceClass: Set<string>;
16
16
  acceptPersistenceKey: Set<string>;
17
- onRearrangeChildren: (nextOrder: NavTreeItemGraphNode[]) => MaybePromise<void>;
17
+ onRearrange: (nextOrder: unknown[]) => MaybePromise<void>;
18
18
  onCopy: (activeNode: NavTreeItemGraphNode, index?: number) => MaybePromise<void>;
19
19
  onTransferStart: (activeNode: NavTreeItemGraphNode, index?: number) => MaybePromise<void>;
20
20
  onTransferEnd: (activeNode: NavTreeItemGraphNode, destinationParent: NavTreeItemGraphNode) => MaybePromise<void>;
@@ -23,8 +23,8 @@ export type NavTreeItemGraphNode = Node<
23
23
  >;
24
24
 
25
25
  export type FlattenedActions = {
26
- actions: ActionLike[];
27
- groupedActions: Record<string, Action[]>;
26
+ actions: Node.ActionLike[];
27
+ groupedActions: Record<string, Node.Action[]>;
28
28
  };
29
29
 
30
30
  type SharedProperties = {
package/src/util.ts CHANGED
@@ -2,22 +2,24 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type Action, type Node, type ReadableGraph, isActionLike } from '@dxos/app-graph';
5
+ import { Graph, Node } from '@dxos/plugin-graph';
6
6
  import { isNonNullable } from '@dxos/util';
7
7
 
8
- import { type NavTreeItemGraphNode } from './types';
8
+ import { type NavTreeItemGraphNode } from '#types';
9
9
 
10
10
  export const getParent = (
11
- graph: ReadableGraph,
11
+ graph: Graph.ReadableGraph,
12
12
  node: NavTreeItemGraphNode,
13
13
  path: string[],
14
14
  ): NavTreeItemGraphNode | undefined => {
15
15
  const parentId = path[path.length - 2];
16
- return graph.getConnections(node.id, 'inbound').find((n) => n.id === parentId) as NavTreeItemGraphNode | undefined;
16
+ return Graph.getConnections(graph, node.id, Node.childRelation('inbound')).find(
17
+ (n: Node.Node) => n.id === parentId,
18
+ ) as NavTreeItemGraphNode | undefined;
17
19
  };
18
20
 
19
21
  export const getPersistenceParent = (
20
- graph: ReadableGraph,
22
+ graph: Graph.ReadableGraph,
21
23
  node: NavTreeItemGraphNode,
22
24
  path: string[],
23
25
  persistenceClass: string,
@@ -31,7 +33,7 @@ export const getPersistenceParent = (
31
33
  };
32
34
 
33
35
  export const resolveMigrationOperation = (
34
- graph: ReadableGraph,
36
+ graph: Graph.ReadableGraph,
35
37
  activeNode: NavTreeItemGraphNode,
36
38
  destinationPath: string[],
37
39
  destinationRelatedNode?: NavTreeItemGraphNode,
@@ -60,7 +62,7 @@ export const resolveMigrationOperation = (
60
62
  };
61
63
 
62
64
  // TODO(wittjosiah): Move into node implementation?
63
- export const sortActions = (actions: Action[]): Action[] =>
65
+ export const sortActions = (actions: Node.Action[]): Node.Action[] =>
64
66
  actions.sort((a, b) => {
65
67
  if (a.properties.disposition === b.properties.disposition) {
66
68
  return 0;
@@ -74,13 +76,12 @@ export const sortActions = (actions: Action[]): Action[] =>
74
76
  });
75
77
 
76
78
  export const getChildren = (
77
- graph: ReadableGraph,
79
+ graph: Graph.ReadableGraph,
78
80
  node: NavTreeItemGraphNode,
79
81
  path: readonly string[] = [],
80
82
  ): NavTreeItemGraphNode[] => {
81
- return graph
82
- .getConnections(node.id, 'outbound')
83
- .map((n) => {
83
+ return Graph.getConnections(graph, node.id, 'child')
84
+ .map((n: Node.Node) => {
84
85
  // Break cycles.
85
86
  const nextPath = [...path, node.id];
86
87
  return nextPath.includes(n.id) ? undefined : (n as NavTreeItemGraphNode);
@@ -88,13 +89,23 @@ export const getChildren = (
88
89
  .filter(isNonNullable) as NavTreeItemGraphNode[];
89
90
  };
90
91
 
91
- export const l0ItemType = (item: Node<any>) => {
92
- if (item.properties.disposition === 'collection') {
93
- return 'collection';
94
- } else if (isActionLike(item)) {
92
+ /**
93
+ * Determines whether a node should be visible based on its disposition.
94
+ */
95
+ export const filterItems = (node: Node.Node, disposition?: string) => {
96
+ if (!disposition && (node.properties.disposition === 'hidden' || node.properties.disposition === 'alternate-tree')) {
97
+ return false;
98
+ } else if (!disposition) {
99
+ const action = Node.isAction(node);
100
+ return !action || node.properties.disposition === 'item';
101
+ } else {
102
+ return node.properties.disposition === disposition;
103
+ }
104
+ };
105
+
106
+ export const l0ItemType = (item: Node.Node) => {
107
+ if (Node.isActionLike(item)) {
95
108
  return 'action';
96
- } else if (item.properties.disposition === 'navigation') {
97
- return 'link';
98
109
  } else {
99
110
  return 'tab';
100
111
  }
@@ -1,46 +0,0 @@
1
- import {
2
- COMMANDS_DIALOG,
3
- meta
4
- } from "./chunk-E6MZBCU5.mjs";
5
-
6
- // src/capabilities/app-graph-builder.ts
7
- import { Atom } from "@effect-atom/atom-react";
8
- import * as Function from "effect/Function";
9
- import * as Option from "effect/Option";
10
- import { Capabilities, LayoutAction, contributes, createIntent } from "@dxos/app-framework";
11
- import { ROOT_ID, createExtension } from "@dxos/plugin-graph";
12
- var app_graph_builder_default = ((context) => contributes(Capabilities.AppGraphBuilder, createExtension({
13
- id: meta.id,
14
- actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
15
- {
16
- id: COMMANDS_DIALOG,
17
- data: async () => {
18
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
19
- await dispatch(createIntent(LayoutAction.UpdateDialog, {
20
- part: "dialog",
21
- subject: COMMANDS_DIALOG,
22
- options: {
23
- blockAlign: "start"
24
- }
25
- }));
26
- },
27
- properties: {
28
- label: [
29
- "open commands label",
30
- {
31
- ns: meta.id
32
- }
33
- ],
34
- icon: "ph--magnifying-glass--regular",
35
- keyBinding: {
36
- macos: "meta+k",
37
- windows: "ctrl+k"
38
- }
39
- }
40
- }
41
- ]), Option.getOrElse(() => [])))
42
- })));
43
- export {
44
- app_graph_builder_default as default
45
- };
46
- //# sourceMappingURL=app-graph-builder-OHSCN3GX.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, LayoutAction, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { ROOT_ID, createExtension } from '@dxos/plugin-graph';\n\nimport { COMMANDS_DIALOG, meta } from '../meta';\n\nexport default (context: PluginContext) =>\n contributes(\n Capabilities.AppGraphBuilder,\n createExtension({\n id: meta.id,\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: COMMANDS_DIALOG,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: COMMANDS_DIALOG,\n options: {\n blockAlign: 'start',\n },\n }),\n );\n },\n properties: {\n label: ['open commands label', { ns: meta.id }],\n icon: 'ph--magnifying-glass--regular',\n keyBinding: {\n macos: 'meta+k',\n windows: 'ctrl+k',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n );\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,YAAY;AACrB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,SAASC,cAAcC,cAAkCC,aAAaC,oBAAoB;AAC1F,SAASC,SAASC,uBAAuB;AAIzC,IAAA,6BAAe,CAACC,YACdC,YACEC,aAAaC,iBACbC,gBAAgB;EACdC,IAAIC,KAAKD;EACTE,SAAS,CAACC,SACRC,KAAKC,KAAK,CAACC,QACAC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUA,MAAKH,OAAOS,UAAiBC,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GACxEC,WAAI,MAAM;IACf;MACEZ,IAAIa;MACJC,MAAM,YAAA;AACJ,cAAM,EAAEC,iBAAiBC,SAAQ,IAAKrB,QAAQsB,cAAcpB,aAAaqB,gBAAgB;AACzF,cAAMF,SACJG,aAAaC,aAAaC,cAAc;UACtCC,MAAM;UACNC,SAASV;UACTW,SAAS;YACPC,YAAY;UACd;QACF,CAAA,CAAA;MAEJ;MACAC,YAAY;QACVC,OAAO;UAAC;UAAuB;YAAEC,IAAI3B,KAAKD;UAAG;;QAC7C6B,MAAM;QACNC,YAAY;UACVC,OAAO;UACPC,SAAS;QACX;MACF;IACF;GACD,GACMC,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;AAGjC,CAAA,CAAA;",
6
- "names": ["Atom", "Function", "Option", "Capabilities", "LayoutAction", "contributes", "createIntent", "ROOT_ID", "createExtension", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "meta", "actions", "node", "Atom", "make", "get", "pipe", "flatMap", "ROOT_ID", "some", "none", "map", "COMMANDS_DIALOG", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "createIntent", "LayoutAction", "UpdateDialog", "part", "subject", "options", "blockAlign", "properties", "label", "ns", "icon", "keyBinding", "macos", "windows", "getOrElse"]
7
- }
@@ -1,15 +0,0 @@
1
- import {
2
- meta
3
- } from "./chunk-E6MZBCU5.mjs";
4
-
5
- // src/capabilities/capabilities.ts
6
- import { defineCapability } from "@dxos/app-framework";
7
- (function(NavTreeCapabilities2) {
8
- NavTreeCapabilities2.State = defineCapability(`${meta.id}/capability/state`);
9
- })(NavTreeCapabilities || (NavTreeCapabilities = {}));
10
- var NavTreeCapabilities;
11
-
12
- export {
13
- NavTreeCapabilities
14
- };
15
- //# sourceMappingURL=chunk-5VLWX4PK.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/capabilities.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type Live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { type NavTreeItemGraphNode } from '../types';\n\nexport namespace NavTreeCapabilities {\n export const State = defineCapability<{\n state: Map<string, Live<{ open: boolean; current: boolean; alternateTree?: boolean }>>;\n getItem: (path: string[]) => Live<{ open: boolean; current: boolean; alternateTree?: boolean }>;\n setItem: (path: string[], key: 'open' | 'current' | 'alternateTree', next: boolean) => void;\n isOpen: (path: string[], item: NavTreeItemGraphNode) => boolean;\n isCurrent: (path: string[], item: NavTreeItemGraphNode) => boolean;\n isAlternateTree: (path: string[], item: NavTreeItemGraphNode) => boolean;\n }>(`${meta.id}/capability/state`);\n}\n"],
5
- "mappings": ";;;;;AAIA,SAASA,wBAAwB;UAMhBC,sBAAAA;uBACFC,QAAQC,iBAOlB,GAAGC,KAAKC,EAAE,mBAAmB;AAClC,GATiBJ,wBAAAA,sBAAAA,CAAAA,EAAAA;;",
6
- "names": ["defineCapability", "NavTreeCapabilities", "State", "defineCapability", "meta", "id"]
7
- }
@@ -1,19 +0,0 @@
1
- // src/meta.ts
2
- import { trim } from "@dxos/util";
3
- var meta = {
4
- id: "dxos.org/plugin/navtree",
5
- name: "Navtree",
6
- description: trim`
7
- Hierarchical navigation tree for browsing spaces, folders, and objects.
8
- Provides sidebar navigation with collapsible sections and quick access to workspace content.
9
- `
10
- };
11
- var KEY_BINDING = "KeyBinding";
12
- var COMMANDS_DIALOG = `${meta.id}/CommandsDialog`;
13
-
14
- export {
15
- meta,
16
- KEY_BINDING,
17
- COMMANDS_DIALOG
18
- };
19
- //# sourceMappingURL=chunk-E6MZBCU5.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/navtree',\n name: 'Navtree',\n description: trim`\n Hierarchical navigation tree for browsing spaces, folders, and objects.\n Provides sidebar navigation with collapsible sections and quick access to workspace content.\n `,\n};\n\n// TODO(wittjosiah): Factor out.\nexport const KEY_BINDING = 'KeyBinding';\n// TODO(wittjosiah): Factor out.\nexport const COMMANDS_DIALOG = `${meta.id}/CommandsDialog`;\n"],
5
- "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;AAIf;AAGO,IAAMC,cAAc;AAEpB,IAAMC,kBAAkB,GAAGN,KAAKC,EAAE;",
6
- "names": ["trim", "meta", "id", "name", "description", "trim", "KEY_BINDING", "COMMANDS_DIALOG"]
7
- }