@dxos/plugin-navtree 0.8.4-main.c1de068 → 0.8.4-main.c4373fc

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 (114) hide show
  1. package/dist/lib/browser/{app-graph-builder-5J4LRWDX.mjs → app-graph-builder-YAPMENYT.mjs} +12 -11
  2. package/dist/lib/browser/app-graph-builder-YAPMENYT.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-SICQTLXC.mjs → chunk-IMFXKPSB.mjs} +290 -250
  4. package/dist/lib/browser/chunk-IMFXKPSB.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-WCARAZ7J.mjs → chunk-LPAREX6J.mjs} +4 -4
  6. package/dist/lib/browser/chunk-LPAREX6J.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-ZENLR72O.mjs +14 -0
  8. package/dist/lib/browser/chunk-ZENLR72O.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +8 -11
  10. package/dist/lib/browser/index.mjs.map +3 -3
  11. package/dist/lib/browser/{intent-resolver-3XYN2CBU.mjs → intent-resolver-TCQXGF6U.mjs} +7 -7
  12. package/dist/lib/browser/intent-resolver-TCQXGF6U.mjs.map +7 -0
  13. package/dist/lib/browser/{keyboard-QRS6WOQH.mjs → keyboard-AHSAWKXA.mjs} +4 -4
  14. package/dist/lib/browser/{keyboard-QRS6WOQH.mjs.map → keyboard-AHSAWKXA.mjs.map} +2 -2
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/{react-surface-WURHCBQQ.mjs → react-surface-AH2TP73M.mjs} +10 -10
  17. package/dist/lib/browser/react-surface-AH2TP73M.mjs.map +7 -0
  18. package/dist/lib/browser/{state-54DY3DOY.mjs → state-2Q623V7U.mjs} +7 -7
  19. package/dist/lib/browser/state-2Q623V7U.mjs.map +7 -0
  20. package/dist/types/src/NavTreePlugin.d.ts +1 -1
  21. package/dist/types/src/NavTreePlugin.d.ts.map +1 -1
  22. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  23. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  24. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  25. package/dist/types/src/capabilities/index.d.ts +18 -15
  26. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  27. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  28. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  29. package/dist/types/src/capabilities/keyboard.d.ts +1 -1
  30. package/dist/types/src/capabilities/keyboard.d.ts.map +1 -1
  31. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  32. package/dist/types/src/capabilities/state.d.ts +2 -2
  33. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  34. package/dist/types/src/components/NavTree/NavTree.d.ts +2 -2
  35. package/dist/types/src/components/NavTree/NavTree.d.ts.map +1 -1
  36. package/dist/types/src/components/NavTree/NavTree.stories.d.ts +26 -4
  37. package/dist/types/src/components/NavTree/NavTree.stories.d.ts.map +1 -1
  38. package/dist/types/src/components/NavTreeContainer.d.ts.map +1 -1
  39. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.d.ts.map +1 -1
  40. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.stories.d.ts +32 -4
  41. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.stories.d.ts.map +1 -1
  42. package/dist/types/src/components/NavTreeItem/NavTreeItemColumns.d.ts +2 -2
  43. package/dist/types/src/components/NavTreeItem/NavTreeItemColumns.d.ts.map +1 -1
  44. package/dist/types/src/components/Sidebar/L0Menu.d.ts +2 -0
  45. package/dist/types/src/components/Sidebar/L0Menu.d.ts.map +1 -1
  46. package/dist/types/src/components/Sidebar/L1Panel.d.ts +5 -6
  47. package/dist/types/src/components/Sidebar/L1Panel.d.ts.map +1 -1
  48. package/dist/types/src/components/Sidebar/L1Tabs.d.ts +12 -0
  49. package/dist/types/src/components/Sidebar/L1Tabs.d.ts.map +1 -0
  50. package/dist/types/src/components/Sidebar/index.d.ts +1 -0
  51. package/dist/types/src/components/Sidebar/index.d.ts.map +1 -1
  52. package/dist/types/src/components/UserAccountAvatar/UserAccountAvatar.d.ts.map +1 -1
  53. package/dist/types/src/components/UserAccountAvatar/UserAccountAvatar.stories.d.ts +8 -5
  54. package/dist/types/src/components/UserAccountAvatar/UserAccountAvatar.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/types.d.ts +2 -2
  56. package/dist/types/src/components/types.d.ts.map +1 -1
  57. package/dist/types/src/events.d.ts.map +1 -1
  58. package/dist/types/src/experimental/Tree.d.ts +1 -2
  59. package/dist/types/src/experimental/Tree.d.ts.map +1 -1
  60. package/dist/types/src/experimental/Tree.stories.d.ts +10 -4
  61. package/dist/types/src/experimental/Tree.stories.d.ts.map +1 -1
  62. package/dist/types/src/meta.d.ts +2 -3
  63. package/dist/types/src/meta.d.ts.map +1 -1
  64. package/dist/types/src/testing/app-graph-builder.d.ts.map +1 -1
  65. package/dist/types/src/testing/generator.d.ts +1 -1
  66. package/dist/types/src/testing/generator.d.ts.map +1 -1
  67. package/dist/types/src/translations.d.ts +1 -0
  68. package/dist/types/src/translations.d.ts.map +1 -1
  69. package/dist/types/src/types.d.ts +4 -3
  70. package/dist/types/src/types.d.ts.map +1 -1
  71. package/dist/types/src/util.d.ts +1 -2
  72. package/dist/types/src/util.d.ts.map +1 -1
  73. package/dist/types/tsconfig.tsbuildinfo +1 -1
  74. package/package.json +48 -47
  75. package/src/NavTreePlugin.tsx +75 -76
  76. package/src/capabilities/app-graph-builder.ts +8 -7
  77. package/src/capabilities/capabilities.ts +2 -2
  78. package/src/capabilities/intent-resolver.ts +2 -2
  79. package/src/capabilities/keyboard.ts +2 -2
  80. package/src/capabilities/react-surface.tsx +5 -5
  81. package/src/capabilities/state.ts +4 -3
  82. package/src/components/CommandsDialog/CommandsDialog.tsx +5 -5
  83. package/src/components/CommandsDialog/CommandsTrigger.tsx +3 -3
  84. package/src/components/NavTree/NavTree.stories.tsx +65 -51
  85. package/src/components/NavTree/NavTree.tsx +7 -3
  86. package/src/components/NavTreeContainer.tsx +52 -19
  87. package/src/components/NavTreeDocumentTitle.tsx +2 -2
  88. package/src/components/NavTreeItem/NavTreeItemAction.stories.tsx +4 -6
  89. package/src/components/NavTreeItem/NavTreeItemAction.tsx +7 -6
  90. package/src/components/NavTreeItem/NavTreeItemColumns.tsx +33 -27
  91. package/src/components/Sidebar/L0Menu.tsx +52 -51
  92. package/src/components/Sidebar/L1Panel.tsx +74 -97
  93. package/src/components/Sidebar/L1Tabs.tsx +58 -0
  94. package/src/components/Sidebar/index.ts +1 -0
  95. package/src/components/UserAccountAvatar/UserAccountAvatar.stories.tsx +9 -8
  96. package/src/components/UserAccountAvatar/UserAccountAvatar.tsx +20 -12
  97. package/src/components/types.ts +3 -2
  98. package/src/events.ts +2 -2
  99. package/src/experimental/Tree.stories.tsx +29 -28
  100. package/src/experimental/Tree.tsx +5 -22
  101. package/src/meta.ts +5 -7
  102. package/src/testing/app-graph-builder.ts +10 -9
  103. package/src/testing/generator.ts +2 -2
  104. package/src/translations.ts +1 -0
  105. package/src/types.ts +4 -3
  106. package/src/util.ts +2 -20
  107. package/dist/lib/browser/app-graph-builder-5J4LRWDX.mjs.map +0 -7
  108. package/dist/lib/browser/chunk-ERDGQTH5.mjs +0 -16
  109. package/dist/lib/browser/chunk-ERDGQTH5.mjs.map +0 -7
  110. package/dist/lib/browser/chunk-SICQTLXC.mjs.map +0 -7
  111. package/dist/lib/browser/chunk-WCARAZ7J.mjs.map +0 -7
  112. package/dist/lib/browser/intent-resolver-3XYN2CBU.mjs.map +0 -7
  113. package/dist/lib/browser/react-surface-WURHCBQQ.mjs.map +0 -7
  114. package/dist/lib/browser/state-54DY3DOY.mjs.map +0 -7
@@ -2,15 +2,13 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
5
  import { type Meta } from '@storybook/react-vite';
8
6
  import React, { type JSX, type PropsWithChildren, useEffect, useState } from 'react';
9
7
 
10
8
  import { faker } from '@dxos/random';
11
9
  import { Icon, IconButton } from '@dxos/react-ui';
12
- import { modalSurface, mx } from '@dxos/react-ui-theme';
13
- import { withLayout, withTheme } from '@dxos/storybook-utils';
10
+ import { withTheme } from '@dxos/react-ui/testing';
11
+ import { mx } from '@dxos/react-ui-theme';
14
12
 
15
13
  import { type ItemMap, Tree, type TreeNodeData, type TreeProps, visitNodes, visitor } from './Tree';
16
14
 
@@ -105,27 +103,6 @@ const data: TreeNodeData[] = [
105
103
  },
106
104
  ];
107
105
 
108
- export const Default = () => {
109
- return <Container sidebar={<Sidebar mutate />} />;
110
- };
111
-
112
- export const Visitor = () => {
113
- const [items] = useState(data);
114
- const root = items[0];
115
- const [openItems] = useState<ItemMap>({ [root.children![0].id]: true });
116
- return (
117
- <div className='flex flex-col'>
118
- {Array.from(visitor(root, openItems)).map(({ node: { id, title }, depth }) => (
119
- <div key={id} className='grid grid-cols-[40px_400px_400px] font-mono'>
120
- <div>{depth}</div>
121
- <div>{id}</div>
122
- <div>{title}</div>
123
- </div>
124
- ))}
125
- </div>
126
- );
127
- };
128
-
129
106
  const Sidebar = ({ mutate }: { mutate?: boolean }) => {
130
107
  const [items, setItems] = useState(data);
131
108
  const root = items[0];
@@ -223,10 +200,34 @@ const Sidebar = ({ mutate }: { mutate?: boolean }) => {
223
200
  );
224
201
  };
225
202
 
226
- const meta: Meta = {
203
+ const meta = {
227
204
  title: 'plugins/plugin-navtree/experimental/Tree',
228
205
  component: Tree,
229
- decorators: [withTheme, withLayout({ fullscreen: true, classNames: modalSurface })],
230
- };
206
+ decorators: [withTheme],
207
+ parameters: {
208
+ layout: 'column',
209
+ },
210
+ } satisfies Meta<typeof Tree>;
231
211
 
232
212
  export default meta;
213
+
214
+ export const Default = () => {
215
+ return <Container sidebar={<Sidebar mutate />} />;
216
+ };
217
+
218
+ export const Visitor = () => {
219
+ const [items] = useState(data);
220
+ const root = items[0];
221
+ const [openItems] = useState<ItemMap>({ [root.children![0].id]: true });
222
+ return (
223
+ <div className='flex flex-col'>
224
+ {Array.from(visitor(root, openItems)).map(({ node: { id, title }, depth }) => (
225
+ <div key={id} className='grid grid-cols-[40px_400px_400px] font-mono'>
226
+ <div>{depth}</div>
227
+ <div>{id}</div>
228
+ <div>{title}</div>
229
+ </div>
230
+ ))}
231
+ </div>
232
+ );
233
+ };
@@ -7,23 +7,15 @@ import React, { type HTMLAttributes, type PropsWithChildren } from 'react';
7
7
  import { type ClassNameValue, Icon, type Size } from '@dxos/react-ui';
8
8
  import { mx } from '@dxos/react-ui-theme';
9
9
 
10
- // TODO(burdon): Rounded border if first/last.
11
- const styles = {
12
- hover: 'hover:bg-slate-400 dark:hover:bg-slate-800',
13
- selected: '!bg-slate-300 dark:!bg-slate-700',
14
- };
15
-
16
10
  export const IconButton = ({
17
11
  iconName,
18
12
  classNames,
19
13
  size = 4,
20
14
  onClick,
21
- weight = 'regular',
22
15
  }: {
23
16
  iconName: string;
24
17
  classNames?: ClassNameValue;
25
18
  size?: Size;
26
- weight?: 'regular' | 'duotone' | 'fill';
27
19
  } & Pick<HTMLAttributes<HTMLDivElement>, 'onClick'>) => {
28
20
  // TODO(burdon): Density aware.
29
21
  return (
@@ -124,7 +116,6 @@ const StateIcon = ({ node, open, selected, active }: TreeNodeProps) => {
124
116
  <IconButton
125
117
  iconName={isActive ? 'ph--user-circle--regular' : 'ph--circle--regular'}
126
118
  size={4}
127
- weight={selected?.[id] ? 'fill' : 'duotone'}
128
119
  classNames={mx(
129
120
  'text-slate-500',
130
121
  !isChildActive && 'opacity-0 transition duration-500',
@@ -158,15 +149,7 @@ const OpenIcon = ({
158
149
  const ItemIcon = ({
159
150
  node: { children, iconName = children?.length ? 'ph--folder--regular' : 'ph--file--regular', color },
160
151
  }: Pick<TreeNodeProps, 'node'>) => {
161
- return (
162
- (iconName && (
163
- <IconButton
164
- iconName={iconName}
165
- classNames={color ?? 'text-neutral-700 dark:text-neutral-300'}
166
- weight={color ? 'duotone' : 'regular'}
167
- />
168
- )) || <div />
169
- );
152
+ return (iconName && <IconButton iconName={iconName} classNames={color ?? 'text-subdued'} />) || <div />;
170
153
  };
171
154
 
172
155
  const MenuItem = ({ node: { id }, onMenuAction }: Pick<TreeNodeProps, 'node' | 'onMenuAction'>) => {
@@ -210,9 +193,9 @@ export const TreeNodeRow = (props: TreeNodeProps & { className?: string }) => {
210
193
  <Grid
211
194
  style={{ paddingLeft: `${(depth - 1) * 24}px` }}
212
195
  className={mx(
213
- 'group w-full items-center cursor-pointer',
214
- styles.hover,
215
- selected?.[id] && styles.selected,
196
+ 'group w-full items-center cursor-pointer bg-hoverSurface',
197
+ // TODO(burdon): Use data-active.
198
+ selected?.[id] && 'bg-activeSurface',
216
199
  className,
217
200
  )}
218
201
  onClick={() => selected && onChangeSelected?.(id, !selected[id])}
@@ -255,7 +238,7 @@ export const TreeChildNodes = ({
255
238
  } = props;
256
239
  return (
257
240
  <div className={mx('flex flex-col mt-0.5 gap-0.5', className)}>
258
- {children?.map((child, i) => (
241
+ {children?.map((child) => (
259
242
  <TreeNode key={child.id} {...props} depth={depth + 1} node={child} ancestors={[...ancestors, props.node]} />
260
243
  ))}
261
244
  </div>
package/src/meta.ts CHANGED
@@ -4,14 +4,12 @@
4
4
 
5
5
  import { type PluginMeta } from '@dxos/app-framework';
6
6
 
7
- export const NAVTREE_PLUGIN = 'dxos.org/plugin/navtree';
7
+ export const meta: PluginMeta = {
8
+ id: 'dxos.org/plugin/navtree',
9
+ name: 'Navtree',
10
+ };
8
11
 
9
12
  // TODO(wittjosiah): Factor out.
10
13
  export const KEY_BINDING = 'KeyBinding';
11
14
  // TODO(wittjosiah): Factor out.
12
- export const COMMANDS_DIALOG = `${NAVTREE_PLUGIN}/CommandsDialog`;
13
-
14
- export const meta: PluginMeta = {
15
- id: NAVTREE_PLUGIN,
16
- name: 'Navtree',
17
- };
15
+ export const COMMANDS_DIALOG = `${meta.id}/CommandsDialog`;
@@ -3,11 +3,12 @@
3
3
  //
4
4
 
5
5
  import { Rx } from '@effect-rx/rx-react';
6
- import { Option, pipe } from 'effect';
6
+ import * as Function from 'effect/Function';
7
+ import * as Option from 'effect/Option';
7
8
 
8
9
  import { type PluginContext } from '@dxos/app-framework';
9
10
  import { log } from '@dxos/log';
10
- import { createExtension, ROOT_ID, type BuilderExtensions } from '@dxos/plugin-graph';
11
+ import { type BuilderExtensions, ROOT_ID, createExtension } from '@dxos/plugin-graph';
11
12
  import { faker } from '@dxos/random';
12
13
 
13
14
  export const storybookGraphBuilders = (context: PluginContext): BuilderExtensions => {
@@ -28,7 +29,7 @@ export const storybookGraphBuilders = (context: PluginContext): BuilderExtension
28
29
  id: 'app-menu',
29
30
  actions: (node) =>
30
31
  Rx.make((get) =>
31
- pipe(
32
+ Function.pipe(
32
33
  get(node),
33
34
  Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
34
35
  Option.map((node) => {
@@ -55,7 +56,7 @@ export const storybookGraphBuilders = (context: PluginContext): BuilderExtension
55
56
  id: 'user-account',
56
57
  connector: (node) =>
57
58
  Rx.make((get) =>
58
- pipe(
59
+ Function.pipe(
59
60
  get(node),
60
61
  Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
61
62
  Option.map(() => {
@@ -112,7 +113,7 @@ export const storybookGraphBuilders = (context: PluginContext): BuilderExtension
112
113
  position: 'hoist',
113
114
  connector: (node) =>
114
115
  Rx.make((get) =>
115
- pipe(
116
+ Function.pipe(
116
117
  get(node),
117
118
  Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
118
119
  Option.map(() => {
@@ -153,7 +154,7 @@ export const storybookGraphBuilders = (context: PluginContext): BuilderExtension
153
154
  });
154
155
 
155
156
  return Rx.make((get) =>
156
- pipe(
157
+ Function.pipe(
157
158
  get(node),
158
159
  Option.flatMap((node) => (node.id === 'spaces-root' ? Option.some(node) : Option.none())),
159
160
  Option.map(() => {
@@ -179,7 +180,7 @@ export const storybookGraphBuilders = (context: PluginContext): BuilderExtension
179
180
  id: 'space-actions',
180
181
  actions: (node) =>
181
182
  Rx.make((get) =>
182
- pipe(
183
+ Function.pipe(
183
184
  get(node),
184
185
  Option.flatMap((node) => (node.type === 'space' ? Option.some(node) : Option.none())),
185
186
  Option.map((node) => {
@@ -220,7 +221,7 @@ export const storybookGraphBuilders = (context: PluginContext): BuilderExtension
220
221
  });
221
222
 
222
223
  return Rx.make((get) =>
223
- pipe(
224
+ Function.pipe(
224
225
  get(node),
225
226
  Option.flatMap((node) => (node.type === 'space' ? Option.some(node) : Option.none())),
226
227
  Option.map((node) => {
@@ -245,7 +246,7 @@ export const storybookGraphBuilders = (context: PluginContext): BuilderExtension
245
246
  id: 'object-actions',
246
247
  actions: (node) =>
247
248
  Rx.make((get) =>
248
- pipe(
249
+ Function.pipe(
249
250
  get(node),
250
251
  Option.flatMap((node) => (node.type === 'object' ? Option.some(node) : Option.none())),
251
252
  Option.map((node) => {
@@ -2,11 +2,11 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
 
7
7
  import { type NodeArg } from '@dxos/app-graph';
8
8
  import { type Live, Obj, Type } from '@dxos/echo';
9
- import { TypedObject } from '@dxos/echo-schema';
9
+ import { TypedObject } from '@dxos/echo/internal';
10
10
  import { faker } from '@dxos/random';
11
11
  import { range } from '@dxos/util';
12
12
 
@@ -18,6 +18,7 @@ export const translations = [
18
18
  'node actions menu invoker label': 'More options',
19
19
  'tree item actions label': 'More actions',
20
20
  'empty branch message': ' ',
21
+ 'button back': 'Back to Space',
21
22
  },
22
23
  },
23
24
  },
package/src/types.ts CHANGED
@@ -28,13 +28,14 @@ export type FlattenedActions = {
28
28
  };
29
29
 
30
30
  type SharedProperties = {
31
- label: Label;
32
- icon?: string;
31
+ testId?: string;
33
32
  disabled?: boolean;
34
33
  position?: Position;
35
- testId?: string;
34
+ label: Label;
36
35
  className?: string;
37
36
  headingClassName?: string;
37
+ icon?: string;
38
+ iconClassName?: string;
38
39
  };
39
40
 
40
41
  export type NodeProperties = SharedProperties & {
package/src/util.ts CHANGED
@@ -2,10 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type Action, type Node, type ReadableGraph, isAction, isActionLike } from '@dxos/app-graph';
5
+ import { type Action, type Node, type ReadableGraph, isActionLike } from '@dxos/app-graph';
6
6
  import { isNonNullable } from '@dxos/util';
7
7
 
8
- import { type FlattenedActions, type NavTreeItemGraphNode } from './types';
8
+ import { type NavTreeItemGraphNode } from './types';
9
9
 
10
10
  export const getParent = (
11
11
  graph: ReadableGraph,
@@ -88,24 +88,6 @@ export const getChildren = (
88
88
  .filter(isNonNullable) as NavTreeItemGraphNode[];
89
89
  };
90
90
 
91
- export const getActions = (graph: ReadableGraph, node: Node): FlattenedActions => {
92
- return graph.getActions(node.id).reduce(
93
- (acc: FlattenedActions, arg) => {
94
- if (arg.properties.disposition === 'item') {
95
- return acc;
96
- }
97
-
98
- acc.actions.push(arg);
99
- if (!isAction(arg)) {
100
- const actionGroup = graph.getActions(arg.id);
101
- acc.groupedActions[arg.id] = actionGroup;
102
- }
103
- return acc;
104
- },
105
- { actions: [], groupedActions: {} },
106
- );
107
- };
108
-
109
91
  export const l0ItemType = (item: Node<any>) => {
110
92
  if (item.properties.disposition === 'collection') {
111
93
  return 'collection';
@@ -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 { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport { Capabilities, contributes, type PluginContext, createIntent, LayoutAction } from '@dxos/app-framework';\nimport { createExtension, ROOT_ID } from '@dxos/plugin-graph';\n\nimport { COMMANDS_DIALOG, NAVTREE_PLUGIN } from '../meta';\n\nexport default (context: PluginContext) =>\n contributes(\n Capabilities.AppGraphBuilder,\n createExtension({\n id: NAVTREE_PLUGIN,\n actions: (node) =>\n Rx.make((get) =>\n 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: NAVTREE_PLUGIN }],\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,UAAU;AACnB,SAASC,QAAQC,YAAY;AAE7B,SAASC,cAAcC,aAAiCC,cAAcC,oBAAoB;AAC1F,SAASC,iBAAiBC,eAAe;AAIzC,IAAA,4BAAe,CAACC,YACdC,YACEC,aAAaC,iBACbC,gBAAgB;EACdC,IAAIC;EACJC,SAAS,CAACC,SACRC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAUA,MAAKH,OAAOU,UAAUF,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GAC/EJ,OAAOK,IAAI,MAAM;IACf;MACEb,IAAIc;MACJC,MAAM,YAAA;AACJ,cAAM,EAAEC,iBAAiBC,SAAQ,IAAKtB,QAAQuB,cAAcrB,aAAasB,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,IAAI5B;UAAe;;QACpD6B,MAAM;QACNC,YAAY;UACVC,OAAO;UACPC,SAAS;QACX;MACF;IACF;GACD,GACDzB,OAAO0B,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;AAGjC,CAAA,CAAA;",
6
- "names": ["Rx", "Option", "pipe", "Capabilities", "contributes", "createIntent", "LayoutAction", "createExtension", "ROOT_ID", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "NAVTREE_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "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,16 +0,0 @@
1
- // src/meta.ts
2
- var NAVTREE_PLUGIN = "dxos.org/plugin/navtree";
3
- var KEY_BINDING = "KeyBinding";
4
- var COMMANDS_DIALOG = `${NAVTREE_PLUGIN}/CommandsDialog`;
5
- var meta = {
6
- id: NAVTREE_PLUGIN,
7
- name: "Navtree"
8
- };
9
-
10
- export {
11
- NAVTREE_PLUGIN,
12
- KEY_BINDING,
13
- COMMANDS_DIALOG,
14
- meta
15
- };
16
- //# sourceMappingURL=chunk-ERDGQTH5.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';\n\nexport const NAVTREE_PLUGIN = 'dxos.org/plugin/navtree';\n\n// TODO(wittjosiah): Factor out.\nexport const KEY_BINDING = 'KeyBinding';\n// TODO(wittjosiah): Factor out.\nexport const COMMANDS_DIALOG = `${NAVTREE_PLUGIN}/CommandsDialog`;\n\nexport const meta: PluginMeta = {\n id: NAVTREE_PLUGIN,\n name: 'Navtree',\n};\n"],
5
- "mappings": ";AAMO,IAAMA,iBAAiB;AAGvB,IAAMC,cAAc;AAEpB,IAAMC,kBAAkB,GAAGF,cAAAA;AAE3B,IAAMG,OAAmB;EAC9BC,IAAIJ;EACJK,MAAM;AACR;",
6
- "names": ["NAVTREE_PLUGIN", "KEY_BINDING", "COMMANDS_DIALOG", "meta", "id", "name"]
7
- }