@dxos/plugin-navtree 0.8.4-main.d05673bc65 → 0.8.4-main.d9fc60f731

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 (243) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +376 -0
  3. package/README.md +1 -1
  4. package/dist/lib/{browser/CommandsDialogContent-2DKIOLJL.mjs → neutral/CommandsDialogContent-UBGIQ5FI.mjs} +19 -20
  5. package/dist/lib/neutral/CommandsDialogContent-UBGIQ5FI.mjs.map +7 -0
  6. package/dist/lib/{browser/CommandsTrigger-ABODVVMP.mjs → neutral/CommandsTrigger-BH5WLMHK.mjs} +8 -14
  7. package/dist/lib/neutral/CommandsTrigger-BH5WLMHK.mjs.map +7 -0
  8. package/dist/lib/neutral/NavTreeContainer-6AR4BFDD.mjs +12 -0
  9. package/dist/lib/{browser/NavTreeDocumentTitle-L6NLLWLD.mjs → neutral/NavTreeDocumentTitle-H3E6ZLYE.mjs} +5 -9
  10. package/dist/lib/neutral/NavTreeDocumentTitle-H3E6ZLYE.mjs.map +7 -0
  11. package/dist/lib/neutral/NavTreePlugin.mjs +68 -0
  12. package/dist/lib/neutral/NavTreePlugin.mjs.map +7 -0
  13. package/dist/lib/neutral/NavTreePlugin.node.mjs +18 -0
  14. package/dist/lib/neutral/NavTreePlugin.node.mjs.map +7 -0
  15. package/dist/lib/neutral/NavTreePlugin.workerd.mjs +16 -0
  16. package/dist/lib/neutral/NavTreePlugin.workerd.mjs.map +7 -0
  17. package/dist/lib/{browser/app-graph-builder-Z43OTNI2.mjs → neutral/app-graph-builder-Z347LKSF.mjs} +10 -12
  18. package/dist/lib/neutral/app-graph-builder-Z347LKSF.mjs.map +7 -0
  19. package/dist/lib/neutral/capabilities/index.mjs +17 -0
  20. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  21. package/dist/lib/neutral/chunk-5OPDKH6B.mjs +273 -0
  22. package/dist/lib/neutral/chunk-5OPDKH6B.mjs.map +7 -0
  23. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  24. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-JOSNCOV4.mjs +79 -0
  26. package/dist/lib/neutral/chunk-JOSNCOV4.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-MDGKDQMZ.mjs +37 -0
  28. package/dist/lib/neutral/chunk-MDGKDQMZ.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-T7QS2EFI.mjs +8 -0
  30. package/dist/lib/neutral/chunk-T7QS2EFI.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-ZSWYB7JW.mjs +27 -0
  32. package/dist/lib/neutral/chunk-ZSWYB7JW.mjs.map +7 -0
  33. package/dist/lib/neutral/components/index.mjs +807 -0
  34. package/dist/lib/neutral/components/index.mjs.map +7 -0
  35. package/dist/lib/neutral/containers/index.mjs +20 -0
  36. package/dist/lib/{browser/chunk-AYF2TX65.mjs.map → neutral/containers/index.mjs.map} +3 -3
  37. package/dist/lib/neutral/expose-26FV4W5D.mjs +38 -0
  38. package/dist/lib/neutral/expose-26FV4W5D.mjs.map +7 -0
  39. package/dist/lib/neutral/hooks/index.mjs +178 -0
  40. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  41. package/dist/lib/neutral/index.mjs +34 -0
  42. package/dist/lib/neutral/index.mjs.map +7 -0
  43. package/dist/lib/{browser/keyboard-HYGFQO7T.mjs → neutral/keyboard-EJ65BVTC.mjs} +4 -5
  44. package/dist/lib/neutral/keyboard-EJ65BVTC.mjs.map +7 -0
  45. package/dist/lib/neutral/meta.json +1 -0
  46. package/dist/lib/neutral/meta.mjs +12 -0
  47. package/dist/lib/neutral/meta.mjs.map +7 -0
  48. package/dist/lib/neutral/operation-handler-ORDOJUL2.mjs +13 -0
  49. package/dist/lib/neutral/operation-handler-ORDOJUL2.mjs.map +7 -0
  50. package/dist/lib/neutral/operations/index.mjs +8 -0
  51. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  52. package/dist/lib/neutral/plugin.mjs +16 -0
  53. package/dist/lib/neutral/plugin.mjs.map +7 -0
  54. package/dist/lib/{browser/react-surface-D2RLMV4Z.mjs → neutral/react-surface-Q5XMAG7Z.mjs} +11 -20
  55. package/dist/lib/neutral/react-surface-Q5XMAG7Z.mjs.map +7 -0
  56. package/dist/lib/{browser/state-CWMNNF7K.mjs → neutral/state-VVITVXWM.mjs} +6 -10
  57. package/dist/lib/neutral/state-VVITVXWM.mjs.map +7 -0
  58. package/dist/lib/neutral/testing/index.mjs +439 -0
  59. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  60. package/dist/lib/neutral/translations.mjs +23 -0
  61. package/dist/lib/neutral/translations.mjs.map +7 -0
  62. package/dist/lib/neutral/types/index.mjs +10 -0
  63. package/dist/lib/neutral/types/index.mjs.map +7 -0
  64. package/dist/types/src/NavTreePlugin.d.ts +1 -0
  65. package/dist/types/src/NavTreePlugin.d.ts.map +1 -1
  66. package/dist/types/src/NavTreePlugin.node.d.ts +4 -0
  67. package/dist/types/src/NavTreePlugin.node.d.ts.map +1 -0
  68. package/dist/types/src/NavTreePlugin.test.d.ts +2 -0
  69. package/dist/types/src/NavTreePlugin.test.d.ts.map +1 -0
  70. package/dist/types/src/NavTreePlugin.workerd.d.ts +4 -0
  71. package/dist/types/src/NavTreePlugin.workerd.d.ts.map +1 -0
  72. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  73. package/dist/types/src/capabilities/index.d.ts +7 -5
  74. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/keyboard.d.ts.map +1 -0
  76. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  77. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  78. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  79. package/dist/types/src/capabilities/state.d.ts +6 -0
  80. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  81. package/dist/types/src/components/NavTree/NavTree.d.ts.map +1 -1
  82. package/dist/types/src/components/NavTree/NavTree.stories.d.ts +9 -11
  83. package/dist/types/src/components/NavTree/NavTree.stories.d.ts.map +1 -1
  84. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.d.ts +5 -3
  85. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.d.ts.map +1 -1
  86. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.stories.d.ts +1 -1
  87. package/dist/types/src/components/NavTreeItem/NavTreeItemAction.stories.d.ts.map +1 -1
  88. package/dist/types/src/components/NavTreeItem/NavTreeItemColumns.d.ts.map +1 -1
  89. package/dist/types/src/components/Sidebar/L0Menu.d.ts.map +1 -1
  90. package/dist/types/src/components/Sidebar/L1Panel.d.ts.map +1 -1
  91. package/dist/types/src/components/Sidebar/L1Tabs.d.ts.map +1 -1
  92. package/dist/types/src/components/UserAccountAvatar/UserAccountAvatar.d.ts.map +1 -1
  93. package/dist/types/src/components/UserAccountAvatar/UserAccountAvatar.stories.d.ts.map +1 -1
  94. package/dist/types/src/components/types.d.ts +1 -2
  95. package/dist/types/src/components/types.d.ts.map +1 -1
  96. package/dist/types/src/containers/CommandsDialogContent/CommandsDialogContent.d.ts.map +1 -1
  97. package/dist/types/src/containers/CommandsDialogContent/CommandsDialogContent.stories.d.ts +28 -0
  98. package/dist/types/src/containers/CommandsDialogContent/CommandsDialogContent.stories.d.ts.map +1 -0
  99. package/dist/types/src/containers/CommandsDialogContent/index.d.ts +1 -2
  100. package/dist/types/src/containers/CommandsDialogContent/index.d.ts.map +1 -1
  101. package/dist/types/src/containers/CommandsTrigger/CommandsTrigger.d.ts.map +1 -1
  102. package/dist/types/src/containers/CommandsTrigger/index.d.ts +1 -2
  103. package/dist/types/src/containers/CommandsTrigger/index.d.ts.map +1 -1
  104. package/dist/types/src/containers/NavTreeContainer/NavTreeContainer.d.ts.map +1 -1
  105. package/dist/types/src/containers/NavTreeDocumentTitle/NavTreeDocumentTitle.d.ts.map +1 -1
  106. package/dist/types/src/containers/NavTreeDocumentTitle/index.d.ts +1 -2
  107. package/dist/types/src/containers/NavTreeDocumentTitle/index.d.ts.map +1 -1
  108. package/dist/types/src/experimental/Tree.d.ts +2 -2
  109. package/dist/types/src/experimental/Tree.d.ts.map +1 -1
  110. package/dist/types/src/experimental/Tree.stories.d.ts.map +1 -1
  111. package/dist/types/src/hooks/useActions.d.ts +7 -1
  112. package/dist/types/src/hooks/useActions.d.ts.map +1 -1
  113. package/dist/types/src/hooks/useLoadDescendents.d.ts.map +1 -1
  114. package/dist/types/src/hooks/useNavTreeModel.d.ts +1 -1
  115. package/dist/types/src/hooks/useNavTreeModel.d.ts.map +1 -1
  116. package/dist/types/src/hooks/useNavTreeState.d.ts +2 -6
  117. package/dist/types/src/hooks/useNavTreeState.d.ts.map +1 -1
  118. package/dist/types/src/index.d.ts +1 -2
  119. package/dist/types/src/index.d.ts.map +1 -1
  120. package/dist/types/src/meta.d.ts +3 -2
  121. package/dist/types/src/meta.d.ts.map +1 -1
  122. package/dist/types/src/operations/expose.d.ts +5 -0
  123. package/dist/types/src/operations/expose.d.ts.map +1 -0
  124. package/dist/types/src/operations/index.d.ts +3 -0
  125. package/dist/types/src/operations/index.d.ts.map +1 -0
  126. package/dist/types/src/plugin.d.ts +4 -0
  127. package/dist/types/src/plugin.d.ts.map +1 -0
  128. package/dist/types/src/testing/app-graph-builder.d.ts.map +1 -1
  129. package/dist/types/src/testing/generator.d.ts.map +1 -1
  130. package/dist/types/src/testing/update-state.d.ts.map +1 -1
  131. package/dist/types/src/translations.d.ts +8 -11
  132. package/dist/types/src/translations.d.ts.map +1 -1
  133. package/dist/types/src/types/NavTreeCapabilities.d.ts +13 -0
  134. package/dist/types/src/types/NavTreeCapabilities.d.ts.map +1 -0
  135. package/dist/types/src/types/NavTreeEvents.d.ts +3 -0
  136. package/dist/types/src/types/NavTreeEvents.d.ts.map +1 -0
  137. package/dist/types/src/types/index.d.ts +2 -2
  138. package/dist/types/src/types/index.d.ts.map +1 -1
  139. package/dist/types/src/types/schema.d.ts +4 -0
  140. package/dist/types/src/types/schema.d.ts.map +1 -1
  141. package/dist/types/src/util.d.ts +2 -2
  142. package/dist/types/src/util.d.ts.map +1 -1
  143. package/dist/types/tsconfig.tsbuildinfo +1 -1
  144. package/package.json +110 -50
  145. package/src/NavTreePlugin.node.ts +17 -0
  146. package/src/NavTreePlugin.test.ts +27 -0
  147. package/src/NavTreePlugin.tsx +16 -27
  148. package/src/NavTreePlugin.workerd.ts +16 -0
  149. package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +7 -7
  150. package/src/capabilities/index.ts +11 -5
  151. package/src/capabilities/{keyboard/keyboard.ts → keyboard.ts} +1 -1
  152. package/src/capabilities/operation-handler.ts +16 -0
  153. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +9 -9
  154. package/src/capabilities/{state/state.ts → state.ts} +13 -9
  155. package/src/components/NavTree/NavTree.stories.tsx +22 -23
  156. package/src/components/NavTree/NavTree.tsx +5 -4
  157. package/src/components/NavTreeItem/NavTreeItemAction.stories.tsx +8 -10
  158. package/src/components/NavTreeItem/NavTreeItemAction.tsx +50 -50
  159. package/src/components/NavTreeItem/NavTreeItemColumns.tsx +20 -63
  160. package/src/components/Sidebar/L0Menu.tsx +61 -80
  161. package/src/components/Sidebar/L1Panel.tsx +98 -174
  162. package/src/components/Sidebar/L1Tabs.tsx +0 -1
  163. package/src/components/types.ts +1 -2
  164. package/src/containers/CommandsDialogContent/CommandsDialogContent.stories.tsx +46 -0
  165. package/src/containers/CommandsDialogContent/CommandsDialogContent.tsx +51 -59
  166. package/src/containers/CommandsDialogContent/index.ts +1 -3
  167. package/src/containers/CommandsTrigger/CommandsTrigger.tsx +7 -5
  168. package/src/containers/CommandsTrigger/index.ts +1 -3
  169. package/src/containers/NavTreeContainer/NavTreeContainer.tsx +24 -24
  170. package/src/containers/NavTreeDocumentTitle/NavTreeDocumentTitle.tsx +2 -2
  171. package/src/containers/NavTreeDocumentTitle/index.ts +1 -3
  172. package/src/experimental/Tree.stories.tsx +27 -27
  173. package/src/experimental/Tree.tsx +2 -2
  174. package/src/hooks/useActions.ts +11 -1
  175. package/src/hooks/useNavTreeModel.ts +5 -3
  176. package/src/hooks/useNavTreeState.ts +2 -9
  177. package/src/index.ts +1 -2
  178. package/src/meta.ts +22 -7
  179. package/src/operations/expose.ts +42 -0
  180. package/src/operations/index.ts +7 -0
  181. package/src/plugin.ts +11 -0
  182. package/src/testing/app-graph-builder.ts +42 -36
  183. package/src/testing/generator.ts +23 -28
  184. package/src/translations.ts +8 -10
  185. package/src/types/NavTreeCapabilities.ts +21 -0
  186. package/src/types/NavTreeEvents.ts +12 -0
  187. package/src/types/index.ts +3 -2
  188. package/src/types/schema.ts +4 -0
  189. package/src/util.ts +2 -2
  190. package/src/vite-env.d.ts +10 -0
  191. package/dist/lib/browser/CommandsDialogContent-2DKIOLJL.mjs.map +0 -7
  192. package/dist/lib/browser/CommandsTrigger-ABODVVMP.mjs.map +0 -7
  193. package/dist/lib/browser/NavTreeContainer-TLSYS4KK.mjs +0 -12
  194. package/dist/lib/browser/NavTreeDocumentTitle-L6NLLWLD.mjs.map +0 -7
  195. package/dist/lib/browser/app-graph-builder-Z43OTNI2.mjs.map +0 -7
  196. package/dist/lib/browser/chunk-A4VDCIJC.mjs +0 -19
  197. package/dist/lib/browser/chunk-A4VDCIJC.mjs.map +0 -7
  198. package/dist/lib/browser/chunk-AYF2TX65.mjs +0 -14
  199. package/dist/lib/browser/chunk-JT37R5HS.mjs +0 -1468
  200. package/dist/lib/browser/chunk-JT37R5HS.mjs.map +0 -7
  201. package/dist/lib/browser/chunk-KF26WA4O.mjs +0 -23
  202. package/dist/lib/browser/chunk-KF26WA4O.mjs.map +0 -7
  203. package/dist/lib/browser/index.mjs +0 -141
  204. package/dist/lib/browser/index.mjs.map +0 -7
  205. package/dist/lib/browser/keyboard-HYGFQO7T.mjs.map +0 -7
  206. package/dist/lib/browser/meta.json +0 -1
  207. package/dist/lib/browser/operation-resolver-VDWVUII5.mjs +0 -49
  208. package/dist/lib/browser/operation-resolver-VDWVUII5.mjs.map +0 -7
  209. package/dist/lib/browser/react-surface-D2RLMV4Z.mjs.map +0 -7
  210. package/dist/lib/browser/state-CWMNNF7K.mjs.map +0 -7
  211. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  212. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  213. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  214. package/dist/types/src/capabilities/keyboard/index.d.ts +0 -3
  215. package/dist/types/src/capabilities/keyboard/index.d.ts.map +0 -1
  216. package/dist/types/src/capabilities/keyboard/keyboard.d.ts.map +0 -1
  217. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  218. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  219. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  220. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  221. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  222. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  223. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  224. package/dist/types/src/capabilities/state/index.d.ts +0 -3
  225. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  226. package/dist/types/src/capabilities/state/state.d.ts +0 -6
  227. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  228. package/dist/types/src/types/capabilities.d.ts +0 -16
  229. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  230. package/dist/types/src/types/events.d.ts +0 -5
  231. package/dist/types/src/types/events.d.ts.map +0 -1
  232. package/src/capabilities/app-graph-builder/index.ts +0 -7
  233. package/src/capabilities/keyboard/index.ts +0 -7
  234. package/src/capabilities/operation-resolver/index.ts +0 -7
  235. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -45
  236. package/src/capabilities/react-surface/index.ts +0 -7
  237. package/src/capabilities/state/index.ts +0 -7
  238. package/src/types/capabilities.ts +0 -21
  239. package/src/types/events.ts +0 -12
  240. /package/dist/lib/{browser/NavTreeContainer-TLSYS4KK.mjs.map → neutral/NavTreeContainer-6AR4BFDD.mjs.map} +0 -0
  241. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  242. /package/dist/types/src/capabilities/{keyboard/keyboard.d.ts → keyboard.d.ts} +0 -0
  243. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
@@ -5,9 +5,9 @@
5
5
  import * as Schema from 'effect/Schema';
6
6
 
7
7
  import { type Node } from '@dxos/app-graph';
8
- import { Obj, Type } from '@dxos/echo';
8
+ import { DXN, Obj, Type } from '@dxos/echo';
9
9
  import { TestSchema } from '@dxos/echo/testing';
10
- import { faker } from '@dxos/random';
10
+ import { random } from '@dxos/random';
11
11
  import { range } from '@dxos/util';
12
12
 
13
13
  // TODO(burdon): Reconcile with @dxos/plugin-debug, @dxos/react-ui/testing.
@@ -43,16 +43,16 @@ export const Priority = [1, 2, 3, 4, 5];
43
43
  export const defaultGenerators: { [type: string]: ObjectDataGenerator } = {
44
44
  document: {
45
45
  createData: () => ({
46
- title: faker.lorem.sentence(3),
47
- body: faker.lorem.sentences({ min: 1, max: faker.number.int({ min: 1, max: 3 }) }),
46
+ title: random.lorem.sentence(3),
47
+ body: random.lorem.sentences({ min: 1, max: random.number.int({ min: 1, max: 3 }) }),
48
48
  }),
49
49
  },
50
50
 
51
51
  image: {
52
52
  createData: () => ({
53
- title: faker.lorem.sentence(3),
54
- image: faker.helpers.arrayElement(data.images),
55
- body: faker.datatype.boolean() ? faker.lorem.sentences() : undefined,
53
+ title: random.lorem.sentence(3),
54
+ image: random.helpers.arrayElement(data.images),
55
+ body: random.datatype.boolean() ? random.lorem.sentences() : undefined,
56
56
  }),
57
57
  },
58
58
 
@@ -63,18 +63,13 @@ export const defaultGenerators: { [type: string]: ObjectDataGenerator } = {
63
63
  repo: Schema.String,
64
64
  status: Schema.String,
65
65
  priority: Schema.Number,
66
- }).pipe(
67
- Type.object({
68
- typename: 'com.example.type.project',
69
- version: '0.1.0',
70
- }),
71
- ),
66
+ }).pipe(Type.makeObject(DXN.make('com.example.type.project', '0.1.0'))),
72
67
 
73
68
  createData: () => ({
74
- title: faker.commerce.productName(),
75
- repo: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,
76
- status: faker.helpers.arrayElement(Status),
77
- priority: faker.helpers.arrayElement(Priority),
69
+ title: random.commerce.productName(),
70
+ repo: random.datatype.boolean({ probability: 0.3 }) ? random.internet.url() : undefined,
71
+ status: random.helpers.arrayElement(Status),
72
+ priority: random.helpers.arrayElement(Priority),
78
73
  }),
79
74
  },
80
75
  };
@@ -99,7 +94,7 @@ export class TestObjectGenerator {
99
94
  }
100
95
 
101
96
  createObject({ types }: { types?: string[] } = {}) {
102
- const type = faker.helpers.arrayElement(types ?? Object.keys(this.factories));
97
+ const type = random.helpers.arrayElement(types ?? Object.keys(this.factories));
103
98
  const factory = this.factories[type];
104
99
  return factory?.createObject();
105
100
  }
@@ -136,7 +131,7 @@ export const createTree = () => {
136
131
  nodes: [...Array(4)].map(() => {
137
132
  const l0 = generator.createObject();
138
133
  return {
139
- id: faker.string.uuid(),
134
+ id: random.string.uuid(),
140
135
  data: null,
141
136
  type: 'category',
142
137
  properties: {
@@ -148,7 +143,7 @@ export const createTree = () => {
148
143
  ...[...Array(4)].map(() => {
149
144
  const l1 = generator.createObject();
150
145
  return {
151
- id: faker.string.uuid(),
146
+ id: random.string.uuid(),
152
147
  data: null,
153
148
  type: 'document',
154
149
  properties: {
@@ -157,20 +152,20 @@ export const createTree = () => {
157
152
  },
158
153
  nodes: [
159
154
  {
160
- id: `${faker.string.uuid()}__a1`,
155
+ id: `${random.string.uuid()}__a1`,
161
156
  data: () => {},
162
157
  type: 'action',
163
158
  properties: {
164
- label: faker.lorem.words(2),
159
+ label: random.lorem.words(2),
165
160
  icon: 'ph--boat--regular',
166
161
  },
167
162
  },
168
163
  {
169
- id: `${faker.string.uuid()}__a2`,
164
+ id: `${random.string.uuid()}__a2`,
170
165
  data: () => {},
171
166
  type: 'action',
172
167
  properties: {
173
- label: faker.lorem.words(2),
168
+ label: random.lorem.words(2),
174
169
  icon: 'ph--train-simple--regular',
175
170
  },
176
171
  },
@@ -178,20 +173,20 @@ export const createTree = () => {
178
173
  } satisfies Node.NodeArg<any>;
179
174
  }),
180
175
  {
181
- id: `${faker.string.uuid()}__a1`,
176
+ id: `${random.string.uuid()}__a1`,
182
177
  data: () => {},
183
178
  type: 'action',
184
179
  properties: {
185
- label: faker.lorem.words(2),
180
+ label: random.lorem.words(2),
186
181
  icon: 'ph--boat--regular',
187
182
  },
188
183
  },
189
184
  {
190
- id: `${faker.string.uuid()}__a2`,
185
+ id: `${random.string.uuid()}__a2`,
191
186
  data: () => {},
192
187
  type: 'action',
193
188
  properties: {
194
- label: faker.lorem.words(2),
189
+ label: random.lorem.words(2),
195
190
  icon: 'ph--train-simple--regular',
196
191
  },
197
192
  },
@@ -4,21 +4,19 @@
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-commands.label': 'Search commands',
15
+ 'commands-dialog.title': 'Commands',
16
+ 'command-list-input.placeholder': 'Search for commands…',
17
+ 'node-actions-menu-invoker.label': 'More options',
18
+ 'tree-item-actions.label': 'More actions',
19
+ 'button-back.button': 'Back to Space',
22
20
  },
23
21
  },
24
22
  },
@@ -0,0 +1,21 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import { type Atom } from '@effect-atom/atom-react';
8
+
9
+ import { Capability } from '@dxos/app-framework';
10
+
11
+ import { meta } from '#meta';
12
+
13
+ export type NavTreeItemState = { open: boolean; current: boolean };
14
+
15
+ export type NavTreeStateStore = {
16
+ getItem: (path: string[]) => NavTreeItemState;
17
+ getItemAtom: (path: string[]) => Atom.Atom<NavTreeItemState>;
18
+ setItem: (path: string[], key: 'open' | 'current', next: boolean) => void;
19
+ };
20
+
21
+ export const State = Capability.make<NavTreeStateStore>(`${meta.id}.capability.state`);
@@ -0,0 +1,12 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import { type ActivationEvent } from '@dxos/app-framework';
8
+ import { AppActivationEvents } from '@dxos/app-toolkit';
9
+
10
+ import { meta } from '#meta';
11
+
12
+ export const StateReady: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(meta.id);
@@ -2,6 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from './capabilities';
6
- export * from './events';
7
5
  export * from './schema';
6
+
7
+ export * as NavTreeCapabilities from './NavTreeCapabilities';
8
+ export * as NavTreeEvents from './NavTreeEvents';
@@ -43,6 +43,10 @@ export type NodeProperties = SharedProperties & {
43
43
  error?: string;
44
44
  modified?: boolean;
45
45
  palette?: string;
46
+ /** Optional item count rendered as a neutral badge after the label. */
47
+ count?: number;
48
+ /** Optional count of new/modified items; when greater than zero it shows as a rose badge in place of `count`. */
49
+ modifiedCount?: number;
46
50
  };
47
51
 
48
52
  export type ActionProperties = SharedProperties & {
package/src/util.ts CHANGED
@@ -5,7 +5,7 @@
5
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
11
  graph: Graph.ReadableGraph,
@@ -93,7 +93,7 @@ export const getChildren = (
93
93
  * Determines whether a node should be visible based on its disposition.
94
94
  */
95
95
  export const filterItems = (node: Node.Node, disposition?: string) => {
96
- if (!disposition && (node.properties.disposition === 'hidden' || node.properties.disposition === 'alternate-tree')) {
96
+ if (!disposition && node.properties.disposition === 'hidden') {
97
97
  return false;
98
98
  } else if (!disposition) {
99
99
  const action = Node.isAction(node);
@@ -0,0 +1,10 @@
1
+ /// <reference types="vite/client" />
2
+
3
+ //
4
+ // Copyright 2026 DXOS.org
5
+ //
6
+
7
+ declare module '*.mdl?raw' {
8
+ const content: string;
9
+ export default content;
10
+ }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/CommandsDialogContent/CommandsDialogContent.tsx", "../../../src/containers/CommandsDialogContent/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { forwardRef, useMemo, useState } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { useAppGraph } from '@dxos/app-toolkit/ui';\nimport { Keyboard, keySymbols } from '@dxos/keyboard';\nimport { Graph, Node, useActionRunner } from '@dxos/plugin-graph';\nimport { useActions } from '@dxos/plugin-graph';\nimport { Button, Dialog, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { SearchList, useSearchListResults } from '@dxos/react-ui-searchlist';\nimport { osTranslations } from '@dxos/ui-theme';\nimport { getHostPlatform } from '@dxos/util';\n\nimport { KEY_BINDING, meta } from '../../meta';\n\nexport type CommandsDialogContentProps = {\n selected?: string;\n};\n\n// TODO(wittjosiah): This probably deserves its own plugin but for now it lives here w/ other navigation UI.\nexport const CommandsDialogContent = forwardRef<HTMLDivElement, CommandsDialogContentProps>(\n ({ selected: initial }, forwardedRef) => {\n const { t } = useTranslation(meta.id);\n const { invokeSync } = useOperationInvoker();\n const runAction = useActionRunner();\n const { graph } = useAppGraph();\n const [selected, setSelected] = useState<string | undefined>(initial);\n\n // Traverse graph.\n // TODO(burdon): Factor out commonality with shortcut dialog.\n const allActions = useMemo(() => {\n // TODO(burdon): Get from navtree (not keyboard).\n const current = Keyboard.singleton.getCurrentContext();\n const actionMap = new Set<string>();\n const actions: Node.ActionLike[] = [];\n Graph.traverse(graph, {\n relation: ['child', 'action'],\n visitor: (node, path) => {\n if (\n (Node.isAction(node) || Node.isActionGroup(node)) &&\n !actionMap.has(node.id) &&\n current.startsWith(path.slice(0, -1).join('/'))\n ) {\n actionMap.add(node.id);\n actions.push(node);\n }\n },\n });\n\n actions.sort((a, b) => {\n return toLocalizedString(a.properties.label, t)\n ?.toLowerCase()\n .localeCompare(toLocalizedString(b.properties.label, t)?.toLowerCase());\n });\n\n return actions;\n }, [graph]);\n\n const group = allActions.find(({ id }) => id === selected);\n const groupActions = useActions(graph, group?.id);\n const actions = Node.isActionGroup(group) ? groupActions : allActions;\n\n const { results, handleSearch } = useSearchListResults({\n items: actions,\n extract: (action) => toLocalizedString(action.properties.label, t),\n });\n\n return (\n <Dialog.Content ref={forwardedRef}>\n <Dialog.Title srOnly>{t('commands dialog title', { ns: meta.id })}</Dialog.Title>\n <Dialog.Body>\n <SearchList.Root onSearch={handleSearch}>\n <SearchList.Content>\n <SearchList.Input placeholder={t('command list input placeholder')} />\n <SearchList.Viewport>\n {results.map((action) => {\n const shortcut =\n typeof action.properties.keyBinding === 'string'\n ? action.properties.keyBinding\n : action.properties.keyBinding?.[getHostPlatform()];\n\n return (\n <SearchList.Item\n value={action.id}\n key={action.id}\n label={toLocalizedString(action.properties.label, t)}\n icon={action.properties.icon}\n suffix={shortcut ? keySymbols(shortcut).join('') : undefined}\n onSelect={() => {\n if (action.properties.disabled) {\n return;\n }\n\n if (Node.isActionGroup(action)) {\n setSelected(action.id);\n return;\n }\n\n invokeSync(LayoutOperation.UpdateDialog, { state: false });\n setTimeout(() => {\n const node = Graph.getConnections(\n graph,\n group?.id ?? action.id,\n Node.childRelation('inbound'),\n )[0];\n if (node && Node.isAction(action)) {\n void runAction(action, { parent: node, caller: KEY_BINDING });\n }\n });\n }}\n classNames='flex items-center gap-2'\n disabled={action.properties.disabled}\n {...(action.properties?.testId && {\n 'data-testid': action.properties.testId,\n })}\n />\n );\n })}\n </SearchList.Viewport>\n </SearchList.Content>\n </SearchList.Root>\n </Dialog.Body>\n <Dialog.ActionBar>\n <Dialog.Close asChild>\n <Button classNames='w-full'>{t('close label', { ns: osTranslations })}</Button>\n </Dialog.Close>\n </Dialog.ActionBar>\n </Dialog.Content>\n );\n },\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CommandsDialogContent } from './CommandsDialogContent';\n\nexport default CommandsDialogContent;\n"],
5
- "mappings": ";;;;;;AAIA,OAAOA,SAASC,YAAYC,SAASC,gBAAgB;AAErD,SAASC,2BAA2B;AACpC,SAASC,uBAAuB;AAChC,SAASC,mBAAmB;AAC5B,SAASC,UAAUC,kBAAkB;AACrC,SAASC,OAAOC,MAAMC,uBAAuB;AAC7C,SAASC,kBAAkB;AAC3B,SAASC,QAAQC,QAAQC,mBAAmBC,sBAAsB;AAClE,SAASC,YAAYC,4BAA4B;AACjD,SAASC,sBAAsB;AAC/B,SAASC,uBAAuB;AASzB,IAAMC,wBAAwBC,2BACnC,CAAC,EAAEC,UAAUC,QAAO,GAAIC,iBAAAA;AACtB,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAM,EAAEC,WAAU,IAAKC,oBAAAA;AACvB,QAAMC,YAAYC,gBAAAA;AAClB,QAAM,EAAEC,MAAK,IAAKC,YAAAA;AAClB,QAAM,CAACZ,UAAUa,WAAAA,IAAeC,SAA6Bb,OAAAA;AAI7D,QAAMc,aAAaC,QAAQ,MAAA;AAEzB,UAAMC,UAAUC,SAASC,UAAUC,kBAAiB;AACpD,UAAMC,YAAY,oBAAIC,IAAAA;AACtB,UAAMC,WAA6B,CAAA;AACnCC,UAAMC,SAASd,OAAO;MACpBe,UAAU;QAAC;QAAS;;MACpBC,SAAS,CAACC,MAAMC,SAAAA;AACd,aACGC,KAAKC,SAASH,IAAAA,KAASE,KAAKE,cAAcJ,IAAAA,MAC3C,CAACP,UAAUY,IAAIL,KAAKtB,EAAE,KACtBW,QAAQiB,WAAWL,KAAKM,MAAM,GAAG,EAAC,EAAGC,KAAK,GAAA,CAAA,GAC1C;AACAf,oBAAUgB,IAAIT,KAAKtB,EAAE;AACrBiB,UAAAA,SAAQe,KAAKV,IAAAA;QACf;MACF;IACF,CAAA;AAEAL,IAAAA,SAAQgB,KAAK,CAACC,GAAGC,MAAAA;AACf,aAAOC,kBAAkBF,EAAEG,WAAWC,OAAOzC,CAAAA,GACzC0C,YAAAA,EACDC,cAAcJ,kBAAkBD,EAAEE,WAAWC,OAAOzC,CAAAA,GAAI0C,YAAAA,CAAAA;IAC7D,CAAA;AAEA,WAAOtB;EACT,GAAG;IAACZ;GAAM;AAEV,QAAMoC,QAAQhC,WAAWiC,KAAK,CAAC,EAAE1C,GAAE,MAAOA,OAAON,QAAAA;AACjD,QAAMiD,eAAeC,WAAWvC,OAAOoC,OAAOzC,EAAAA;AAC9C,QAAMiB,UAAUO,KAAKE,cAAce,KAAAA,IAASE,eAAelC;AAE3D,QAAM,EAAEoC,SAASC,aAAY,IAAKC,qBAAqB;IACrDC,OAAO/B;IACPgC,SAAS,CAACC,WAAWd,kBAAkBc,OAAOb,WAAWC,OAAOzC,CAAAA;EAClE,CAAA;AAEA,SACE,sBAAA,cAACsD,OAAOC,SAAO;IAACC,KAAKzD;KACnB,sBAAA,cAACuD,OAAOG,OAAK;IAACC,QAAAA;KAAQ1D,EAAE,yBAAyB;IAAE2D,IAAIzD,KAAKC;EAAG,CAAA,CAAA,GAC/D,sBAAA,cAACmD,OAAOM,MAAI,MACV,sBAAA,cAACC,WAAWC,MAAI;IAACC,UAAUd;KACzB,sBAAA,cAACY,WAAWN,SAAO,MACjB,sBAAA,cAACM,WAAWG,OAAK;IAACC,aAAajE,EAAE,gCAAA;MACjC,sBAAA,cAAC6D,WAAWK,UAAQ,MACjBlB,QAAQmB,IAAI,CAACd,WAAAA;AACZ,UAAMe,WACJ,OAAOf,OAAOb,WAAW6B,eAAe,WACpChB,OAAOb,WAAW6B,aAClBhB,OAAOb,WAAW6B,aAAaC,gBAAAA,CAAAA;AAErC,WACE,sBAAA,cAACT,WAAWU,MAAI;MACdC,OAAOnB,OAAOlD;MACdsE,KAAKpB,OAAOlD;MACZsC,OAAOF,kBAAkBc,OAAOb,WAAWC,OAAOzC,CAAAA;MAClD0E,MAAMrB,OAAOb,WAAWkC;MACxBC,QAAQP,WAAWQ,WAAWR,QAAAA,EAAUnC,KAAK,EAAA,IAAM4C;MACnDC,UAAU,MAAA;AACR,YAAIzB,OAAOb,WAAWuC,UAAU;AAC9B;QACF;AAEA,YAAIpD,KAAKE,cAAcwB,MAAAA,GAAS;AAC9B3C,sBAAY2C,OAAOlD,EAAE;AACrB;QACF;AAEAC,mBAAW4E,gBAAgBC,cAAc;UAAEC,OAAO;QAAM,CAAA;AACxDC,mBAAW,MAAA;AACT,gBAAM1D,OAAOJ,MAAM+D,eACjB5E,OACAoC,OAAOzC,MAAMkD,OAAOlD,IACpBwB,KAAK0D,cAAc,SAAA,CAAA,EACnB,CAAA;AACF,cAAI5D,QAAQE,KAAKC,SAASyB,MAAAA,GAAS;AACjC,iBAAK/C,UAAU+C,QAAQ;cAAEiC,QAAQ7D;cAAM8D,QAAQC;YAAY,CAAA;UAC7D;QACF,CAAA;MACF;MACAC,YAAW;MACXV,UAAU1B,OAAOb,WAAWuC;MAC3B,GAAI1B,OAAOb,YAAYkD,UAAU;QAChC,eAAerC,OAAOb,WAAWkD;MACnC;;EAGN,CAAA,CAAA,CAAA,CAAA,CAAA,GAKR,sBAAA,cAACpC,OAAOqC,WAAS,MACf,sBAAA,cAACrC,OAAOsC,OAAK;IAACC,SAAAA;KACZ,sBAAA,cAACC,QAAAA;IAAOL,YAAW;KAAUzF,EAAE,eAAe;IAAE2D,IAAIoC;EAAe,CAAA,CAAA,CAAA,CAAA,CAAA;AAK7E,CAAA;;;AC/HF,IAAA,gCAAeC;",
6
- "names": ["React", "forwardRef", "useMemo", "useState", "useOperationInvoker", "LayoutOperation", "useAppGraph", "Keyboard", "keySymbols", "Graph", "Node", "useActionRunner", "useActions", "Button", "Dialog", "toLocalizedString", "useTranslation", "SearchList", "useSearchListResults", "osTranslations", "getHostPlatform", "CommandsDialogContent", "forwardRef", "selected", "initial", "forwardedRef", "t", "useTranslation", "meta", "id", "invokeSync", "useOperationInvoker", "runAction", "useActionRunner", "graph", "useAppGraph", "setSelected", "useState", "allActions", "useMemo", "current", "Keyboard", "singleton", "getCurrentContext", "actionMap", "Set", "actions", "Graph", "traverse", "relation", "visitor", "node", "path", "Node", "isAction", "isActionGroup", "has", "startsWith", "slice", "join", "add", "push", "sort", "a", "b", "toLocalizedString", "properties", "label", "toLowerCase", "localeCompare", "group", "find", "groupActions", "useActions", "results", "handleSearch", "useSearchListResults", "items", "extract", "action", "Dialog", "Content", "ref", "Title", "srOnly", "ns", "Body", "SearchList", "Root", "onSearch", "Input", "placeholder", "Viewport", "map", "shortcut", "keyBinding", "getHostPlatform", "Item", "value", "key", "icon", "suffix", "keySymbols", "undefined", "onSelect", "disabled", "LayoutOperation", "UpdateDialog", "state", "setTimeout", "getConnections", "childRelation", "parent", "caller", "KEY_BINDING", "classNames", "testId", "ActionBar", "Close", "asChild", "Button", "osTranslations", "CommandsDialogContent"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/CommandsTrigger/CommandsTrigger.tsx", "../../../src/containers/CommandsTrigger/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { Button, Icon, useTranslation } from '@dxos/react-ui';\n\nimport { COMMANDS_DIALOG, meta } from '../../meta';\n\n// TODO(thure): Refactor to be handled by a more appropriate plugin.\nexport const CommandsTrigger = () => {\n const { invokeSync } = useOperationInvoker();\n const { t } = useTranslation(meta.id);\n return (\n <Button\n classNames='m-1 px-1 lg:px-2'\n onClick={() => invokeSync(LayoutOperation.UpdateDialog, { subject: COMMANDS_DIALOG, blockAlign: 'start' })}\n >\n <span className='text-description font-normal grow text-start'>{t('command list input placeholder')}</span>\n <Icon icon='ph--magnifying-glass--regular' size={5} />\n </Button>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { CommandsTrigger } from './CommandsTrigger';\n\nexport default CommandsTrigger;\n"],
5
- "mappings": ";;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,2BAA2B;AACpC,SAASC,uBAAuB;AAChC,SAASC,QAAQC,MAAMC,sBAAsB;AAKtC,IAAMC,kBAAkB,MAAA;AAC7B,QAAM,EAAEC,WAAU,IAAKC,oBAAAA;AACvB,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,SACE,sBAAA,cAACC,QAAAA;IACCC,YAAW;IACXC,SAAS,MAAMR,WAAWS,gBAAgBC,cAAc;MAAEC,SAASC;MAAiBC,YAAY;IAAQ,CAAA;KAExG,sBAAA,cAACC,QAAAA;IAAKC,WAAU;KAAgDb,EAAE,gCAAA,CAAA,GAClE,sBAAA,cAACc,MAAAA;IAAKC,MAAK;IAAgCC,MAAM;;AAGvD;;;ACnBA,IAAA,0BAAeC;",
6
- "names": ["React", "useOperationInvoker", "LayoutOperation", "Button", "Icon", "useTranslation", "CommandsTrigger", "invokeSync", "useOperationInvoker", "t", "useTranslation", "meta", "id", "Button", "classNames", "onClick", "LayoutOperation", "UpdateDialog", "subject", "COMMANDS_DIALOG", "blockAlign", "span", "className", "Icon", "icon", "size", "CommandsTrigger"]
7
- }
@@ -1,12 +0,0 @@
1
- import {
2
- NODE_TYPE,
3
- NavTreeContainer
4
- } from "./chunk-JT37R5HS.mjs";
5
- import "./chunk-KF26WA4O.mjs";
6
- import "./chunk-A4VDCIJC.mjs";
7
- export {
8
- NODE_TYPE,
9
- NavTreeContainer,
10
- NavTreeContainer as default
11
- };
12
- //# sourceMappingURL=NavTreeContainer-TLSYS4KK.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/NavTreeDocumentTitle/NavTreeDocumentTitle.tsx", "../../../src/containers/NavTreeDocumentTitle/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\nimport { useEffect } from 'react';\n\nimport { type Node } from '@dxos/app-graph';\nimport { toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\nexport const NavTreeDocumentTitle = ({ node }: { node?: Node.Node }) => {\n const { t } = useTranslation(meta.id);\n useEffect(() => {\n document.title = node ? toLocalizedString(node.properties.label, t) : t('current app name', { ns: osTranslations });\n }, [node?.properties?.label]);\n return null;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { NavTreeDocumentTitle } from './NavTreeDocumentTitle';\n\nexport default NavTreeDocumentTitle;\n"],
5
- "mappings": ";;;;;AAGA,SAASA,iBAAiB;AAG1B,SAASC,mBAAmBC,sBAAsB;AAClD,SAASC,sBAAsB;AAIxB,IAAMC,uBAAuB,CAAC,EAAEC,KAAI,MAAwB;AACjE,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpCC,YAAU,MAAA;AACRC,aAASC,QAAQP,OAAOQ,kBAAkBR,KAAKS,WAAWC,OAAOT,CAAAA,IAAKA,EAAE,oBAAoB;MAAEU,IAAIC;IAAe,CAAA;EACnH,GAAG;IAACZ,MAAMS,YAAYC;GAAM;AAC5B,SAAO;AACT;;;ACXA,IAAA,+BAAeG;",
6
- "names": ["useEffect", "toLocalizedString", "useTranslation", "osTranslations", "NavTreeDocumentTitle", "node", "t", "useTranslation", "meta", "id", "useEffect", "document", "title", "toLocalizedString", "properties", "label", "ns", "osTranslations", "NavTreeDocumentTitle"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, LayoutOperation } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/operation';\nimport { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\n\nimport { COMMANDS_DIALOG, meta } from '../../meta';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* GraphBuilder.createExtension({\n id: meta.id,\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n {\n id: COMMANDS_DIALOG,\n data: () =>\n Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: COMMANDS_DIALOG,\n blockAlign: 'start',\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 });\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
5
- "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiBC,uBAAuB;AACjD,SAASC,iBAAiB;AAC1B,SAASC,cAAcC,mBAAmB;AAI1C,IAAA,4BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAOC,aAAaC,gBAAgB;IACrDC,IAAIC,KAAKD;IACTE,OAAOC,YAAYC;IACnBC,SAAS,MACAC,eAAQ;MACb;QACEN,IAAIO;QACJC,MAAM,MACJC,UAAUC,OAAOC,gBAAgBC,cAAc;UAC7CC,SAASN;UACTO,YAAY;QACd,CAAA;QACFC,YAAY;UACVC,OAAO;YAAC;YAAuB;cAAEC,IAAIhB,KAAKD;YAAG;;UAC7CkB,MAAM;UACNC,YAAY;YACVC,OAAO;YACPC,SAAS;UACX;QACF;MACF;KACD;EACL,CAAA;AAEA,SAAO3B,WAAW4B,YAAYC,gBAAgBC,iBAAiB3B,UAAAA;AACjE,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "AppCapabilities", "LayoutOperation", "Operation", "GraphBuilder", "NodeMatcher", "Capability", "makeModule", "fnUntraced", "extensions", "GraphBuilder", "createExtension", "id", "meta", "match", "NodeMatcher", "whenRoot", "actions", "succeed", "COMMANDS_DIALOG", "data", "Operation", "invoke", "LayoutOperation", "UpdateDialog", "subject", "blockAlign", "properties", "label", "ns", "icon", "keyBinding", "macos", "windows", "contributes", "AppCapabilities", "AppGraphBuilder"]
7
- }
@@ -1,19 +0,0 @@
1
- // src/meta.ts
2
- import { trim } from "@dxos/util";
3
- var meta = {
4
- id: "org.dxos.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}.commands-dialog`;
13
-
14
- export {
15
- meta,
16
- KEY_BINDING,
17
- COMMANDS_DIALOG
18
- };
19
- //# sourceMappingURL=chunk-A4VDCIJC.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 Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.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}.commands-dialog`;\n"],
5
- "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,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
- }
@@ -1,14 +0,0 @@
1
- // src/containers/index.ts
2
- import { lazy } from "react";
3
- var CommandsDialogContent = lazy(() => import("./CommandsDialogContent-2DKIOLJL.mjs"));
4
- var CommandsTrigger = lazy(() => import("./CommandsTrigger-ABODVVMP.mjs"));
5
- var NavTreeContainer = lazy(() => import("./NavTreeContainer-TLSYS4KK.mjs"));
6
- var NavTreeDocumentTitle = lazy(() => import("./NavTreeDocumentTitle-L6NLLWLD.mjs"));
7
-
8
- export {
9
- CommandsDialogContent,
10
- CommandsTrigger,
11
- NavTreeContainer,
12
- NavTreeDocumentTitle
13
- };
14
- //# sourceMappingURL=chunk-AYF2TX65.mjs.map