@dxos/plugin-navtree 0.9.1-main.c7dcc2e112 → 0.9.1-staging.ee54ba693a

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 (47) hide show
  1. package/dist/lib/neutral/{NavTreeContainer-QIWROTCL.mjs → NavTreeContainer-ICDKC2GI.mjs} +2 -2
  2. package/dist/lib/neutral/capabilities/index.mjs +2 -2
  3. package/dist/lib/neutral/{chunk-UBVNITFG.mjs → chunk-4RN6TH36.mjs} +20 -1
  4. package/dist/lib/neutral/chunk-4RN6TH36.mjs.map +7 -0
  5. package/dist/lib/neutral/components/index.mjs +8 -6
  6. package/dist/lib/neutral/components/index.mjs.map +3 -3
  7. package/dist/lib/neutral/containers/index.mjs +2 -2
  8. package/dist/lib/neutral/hooks/index.mjs +7 -4
  9. package/dist/lib/neutral/hooks/index.mjs.map +3 -3
  10. package/dist/lib/neutral/{keyboard-EJ65BVTC.mjs → keyboard-JM2HCF5N.mjs} +5 -3
  11. package/dist/lib/neutral/{keyboard-EJ65BVTC.mjs.map → keyboard-JM2HCF5N.mjs.map} +3 -3
  12. package/dist/lib/neutral/meta.json +1 -1
  13. package/dist/lib/neutral/{react-surface-N4EESW3L.mjs → react-surface-QPMUEDZX.mjs} +3 -2
  14. package/dist/lib/neutral/react-surface-QPMUEDZX.mjs.map +7 -0
  15. package/dist/lib/neutral/testing/index.mjs +2 -2
  16. package/dist/lib/neutral/testing/index.mjs.map +3 -3
  17. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -2
  18. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  19. package/dist/types/src/capabilities/keyboard.d.ts +1 -1
  20. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  21. package/dist/types/src/capabilities/state.d.ts +1 -2
  22. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  23. package/dist/types/src/components/NavTree/NavTree.stories.d.ts.map +1 -1
  24. package/dist/types/src/components/NavTreeItem/NavTreeItemColumns.d.ts.map +1 -1
  25. package/dist/types/src/components/Sidebar/L0Menu.d.ts.map +1 -1
  26. package/dist/types/src/containers/NavTreeContainer/NavTreeContainer.d.ts.map +1 -1
  27. package/dist/types/src/hooks/useNavTreeModel.d.ts.map +1 -1
  28. package/dist/types/src/meta.d.ts +4 -0
  29. package/dist/types/src/meta.d.ts.map +1 -1
  30. package/dist/types/src/testing/generator.d.ts.map +1 -1
  31. package/dist/types/src/types/schema.d.ts +1 -1
  32. package/dist/types/src/types/schema.d.ts.map +1 -1
  33. package/dist/types/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +40 -41
  35. package/src/capabilities/keyboard.ts +5 -2
  36. package/src/capabilities/react-surface.tsx +2 -1
  37. package/src/components/NavTree/NavTree.stories.tsx +43 -36
  38. package/src/components/NavTree/NavTree.tsx +3 -3
  39. package/src/components/NavTreeItem/NavTreeItemColumns.tsx +2 -1
  40. package/src/components/Sidebar/L0Menu.tsx +10 -3
  41. package/src/containers/NavTreeContainer/NavTreeContainer.tsx +14 -0
  42. package/src/hooks/useNavTreeModel.ts +8 -4
  43. package/src/testing/generator.ts +8 -6
  44. package/src/types/schema.ts +2 -2
  45. package/dist/lib/neutral/chunk-UBVNITFG.mjs.map +0 -7
  46. package/dist/lib/neutral/react-surface-N4EESW3L.mjs.map +0 -7
  47. /package/dist/lib/neutral/{NavTreeContainer-QIWROTCL.mjs.map → NavTreeContainer-ICDKC2GI.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { type ComponentProps } from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { Node } from '@dxos/plugin-graph';\nimport { Position } from '@dxos/util';\n\nimport { CommandsDialogContent, CommandsTrigger, NavTreeContainer, NavTreeDocumentTitle } from '#containers';\nimport { COMMANDS_DIALOG } from '#meta';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: COMMANDS_DIALOG,\n filter: AppSurface.component<ComponentProps<typeof CommandsDialogContent>>(AppSurface.Dialog, COMMANDS_DIALOG),\n component: ({ data, ref }) => <CommandsDialogContent {...data.props} ref={ref} />,\n }),\n Surface.create({\n id: 'navigation',\n filter: Surface.makeFilter(AppSurface.Navigation),\n component: ({ data, ref }) => (\n <NavTreeContainer tab={data.current} popoverAnchorId={data.popoverAnchorId} ref={ref} />\n ),\n }),\n Surface.create({\n id: 'documentTitle',\n filter: Surface.makeFilter(AppSurface.DocumentTitle),\n component: ({ data }) => (\n <NavTreeDocumentTitle node={Node.isGraphNode(data.subject) ? data.subject : undefined} />\n ),\n }),\n Surface.create({\n id: 'searchInput',\n filter: Surface.makeFilter(AppSurface.SearchInput),\n position: Position.last,\n component: () => <CommandsTrigger />,\n }),\n ]),\n ),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAoC;AAE3C,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAC3B,SAASC,YAAY;AACrB,SAASC,gBAAgB;AAEzB,SAASC,uBAAuBC,iBAAiBC,kBAAkBC,4BAA4B;AAC/F,SAASC,uBAAuB;AAEhC,IAAA,wBAAeT,WAAWU,WAAW,MAC5BC,eACLX,WAAWY,YAAYb,aAAac,cAAc;EAChDZ,QAAQa,OAAO;IACbC,IAAIN;IACJO,QAAQd,WAAWe,UAAwDf,WAAWgB,QAAQT,eAAAA;IAC9FQ,WAAW,CAAC,EAAEE,MAAMC,IAAG,MAAO,sBAAA,cAACf,uBAAAA;MAAuB,GAAGc,KAAKE;MAAOD;;EACvE,CAAA;EACAnB,QAAQa,OAAO;IACbC,IAAI;IACJC,QAAQf,QAAQqB,WAAWpB,WAAWqB,UAAU;IAChDN,WAAW,CAAC,EAAEE,MAAMC,IAAG,MACrB,sBAAA,cAACb,kBAAAA;MAAiBiB,KAAKL,KAAKM;MAASC,iBAAiBP,KAAKO;MAAiBN;;EAEhF,CAAA;EACAnB,QAAQa,OAAO;IACbC,IAAI;IACJC,QAAQf,QAAQqB,WAAWpB,WAAWyB,aAAa;IACnDV,WAAW,CAAC,EAAEE,KAAI,MAChB,sBAAA,cAACX,sBAAAA;MAAqBoB,MAAMzB,KAAK0B,YAAYV,KAAKW,OAAO,IAAIX,KAAKW,UAAUC;;EAEhF,CAAA;EACA9B,QAAQa,OAAO;IACbC,IAAI;IACJC,QAAQf,QAAQqB,WAAWpB,WAAW8B,WAAW;IACjDC,UAAU7B,SAAS8B;IACnBjB,WAAW,MAAM,sBAAA,cAACX,iBAAAA,IAAAA;EACpB,CAAA;CACD,CAAA,CAAA;",
6
+ "names": ["Effect", "React", "Capabilities", "Capability", "Surface", "AppSurface", "Node", "Position", "CommandsDialogContent", "CommandsTrigger", "NavTreeContainer", "NavTreeDocumentTitle", "COMMANDS_DIALOG", "makeModule", "succeed", "contributes", "ReactSurface", "create", "id", "filter", "component", "Dialog", "data", "ref", "props", "makeFilter", "Navigation", "tab", "current", "popoverAnchorId", "DocumentTitle", "node", "isGraphNode", "subject", "undefined", "SearchInput", "position", "last"]
7
+ }
@@ -242,12 +242,12 @@ var defaultGenerators = {
242
242
  })
243
243
  },
244
244
  project: {
245
- createSchema: () => Schema.Struct({
245
+ createSchema: () => Type.makeObject(DXN.make("com.example.type.project", "0.1.0"))(Schema.Struct({
246
246
  title: Schema.String,
247
247
  repo: Schema.String,
248
248
  status: Schema.String,
249
249
  priority: Schema.Number
250
- }).pipe(Type.makeObject(DXN.make("com.example.type.project", "0.1.0"))),
250
+ })),
251
251
  createData: () => ({
252
252
  title: random2.commerce.productName(),
253
253
  repo: random2.datatype.boolean({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/app-graph-builder.ts", "../../../../src/testing/generator.ts", "../../../../src/testing/update-state.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { type BuilderExtensions } from '@dxos/app-graph';\nimport { log } from '@dxos/log';\nimport { GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { random } from '@dxos/random';\n\nexport const storybookGraphBuilders = (): BuilderExtensions => {\n const propertiesCache = new Map<string, Record<string, unknown>>();\n const getProperties = (id: string, defaults: Record<string, unknown>) => {\n const cached = propertiesCache.get(id);\n if (cached) {\n return cached;\n }\n\n propertiesCache.set(id, defaults);\n return defaults;\n };\n\n return Effect.runSync(\n Effect.all([\n // Create app menu actions.\n GraphBuilder.createExtension({\n id: 'appMenu',\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed(\n Array.from({ length: 5 }, (_, i) => ({\n id: `action-${i}`,\n data: Effect.fnUntraced(function* () {\n log.info('action', { id: 'app-menu', index: i });\n }),\n properties: {\n label: `Action ${i}`,\n icon: random.properties.icon(),\n disposition: 'menu',\n },\n })),\n ),\n }),\n // Create user account node.\n GraphBuilder.createExtension({\n id: 'userAccount',\n match: NodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n Node.make({\n id: 'user-account',\n type: 'user-account',\n properties: {\n label: 'User profile',\n icon: 'ph--user--regular',\n disposition: 'user-account',\n userId: '1234567890ABCDEF',\n hue: random.properties.hue(),\n emoji: random.properties.emoji(),\n status: 'active',\n },\n nodes: [\n Node.make({\n id: 'profile',\n type: 'profile',\n properties: {\n label: 'Profile',\n icon: 'ph--user--regular',\n },\n }),\n Node.make({\n id: 'devices',\n type: 'devices',\n properties: {\n label: 'Devices',\n icon: 'ph--devices--regular',\n },\n }),\n Node.make({\n id: 'security',\n type: 'security',\n properties: {\n label: 'Security',\n icon: 'ph--key--regular',\n },\n }),\n ],\n }),\n ]),\n }),\n // Create space (workspace) nodes directly under root.\n GraphBuilder.createExtension({\n id: 'spaces',\n match: NodeMatcher.whenRoot,\n connector: (_, get) =>\n Effect.sync(() => {\n const count = Atom.make((get) => {\n let value = 3;\n const interval = setInterval(() => {\n if (value >= 10) {\n clearInterval(interval);\n return;\n }\n\n value++;\n get.setSelf(value);\n }, 5000);\n get.addFinalizer(() => clearInterval(interval));\n return value;\n });\n\n return Array.from({ length: get(count) }, (_, i) =>\n Node.make({\n id: `space-${i}`,\n type: 'space',\n properties: getProperties(`space-${i}`, {\n label: `Space ${i}`,\n icon: random.properties.icon(),\n hue: random.properties.hue(),\n disposition: 'workspace',\n }),\n }),\n );\n }),\n }),\n // Create space actions.\n GraphBuilder.createExtension({\n id: 'spaceActions',\n match: NodeMatcher.whenNodeType('space'),\n actions: () =>\n Effect.succeed(\n Array.from({ length: 5 }, (_, i) => ({\n id: `action-${i}`,\n data: Effect.fnUntraced(function* () {\n log.info('action', { id: 'space-actions', index: i });\n }),\n properties: getProperties(`action-${i}`, {\n label: `Action ${i}`,\n icon: random.properties.icon(),\n }),\n })),\n ),\n }),\n // Create object nodes.\n GraphBuilder.createExtension({\n id: 'objects',\n match: NodeMatcher.whenNodeType('space'),\n connector: (_, get) =>\n Effect.sync(() => {\n const count = Atom.make((get) => {\n let value = 3;\n const interval = setInterval(() => {\n if (value >= 20) {\n clearInterval(interval);\n return;\n }\n\n value++;\n get.setSelf(value);\n }, 5000);\n get.addFinalizer(() => clearInterval(interval));\n return value;\n });\n\n return Array.from({ length: get(count) }, (_, i) =>\n Node.make({\n id: `object-${i}`,\n type: 'object',\n properties: getProperties(`object-${i}`, {\n label: `Object ${i}`,\n icon: random.properties.icon(),\n ...(i % 3 === 0 && { count: (i + 1) * 2 }),\n ...(i % 3 === 1 && { modifiedCount: i + 1 }),\n }),\n }),\n );\n }),\n }),\n // Create object actions.\n GraphBuilder.createExtension({\n id: 'objectActions',\n match: NodeMatcher.whenNodeType('object'),\n actions: () =>\n Effect.succeed(\n Array.from({ length: 5 }, (_, i) => ({\n id: `action-${i}`,\n data: Effect.fnUntraced(function* () {\n log.info('action', { id: 'objectActions', index: i });\n }),\n properties: getProperties(`action-${i}`, {\n label: `Action ${i}`,\n icon: random.properties.icon(),\n }),\n })),\n ),\n }),\n ]),\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { type Node } from '@dxos/app-graph';\nimport { DXN, Obj, Type } from '@dxos/echo';\nimport { TestSchema } from '@dxos/echo/testing';\nimport { random } from '@dxos/random';\nimport { range } from '@dxos/util';\n\n// TODO(burdon): Reconcile with @dxos/plugin-debug, @dxos/react-ui/testing.\n// TODO(burdon): Bug when adding stale objects to space (e.g., static objects already added in previous story invocation).\n\n// TODO(burdon): Commit to using ECHO to generate all test data? Or convert from raw data?\nexport type TestItem = { id: string; type: string } & Record<string, any>;\n\ntype ObjectDataGenerator = {\n createSchema?: () => Type.AnyObj;\n createData: () => any;\n};\n\ntype ObjectFactory<T> = {\n schema?: Type.AnyObj; // TODO(burdon): Support both typed and expando schema.\n createObject: () => T;\n};\n\ntype ObjectFactoryMap = { [type: string]: ObjectFactory<any> };\n\nconst createFactory = ({ createSchema, createData }: ObjectDataGenerator) => {\n const schema = createSchema?.();\n return {\n schema,\n createObject: () => (schema ? Obj.make(schema, createData()) : Obj.make(TestSchema.Expando, createData())),\n };\n};\n\n// TODO(burdon): Handle restricted values.\nexport const Status = ['pending', 'active', 'done'];\nexport const Priority = [1, 2, 3, 4, 5];\n\nexport const defaultGenerators: { [type: string]: ObjectDataGenerator } = {\n document: {\n createData: () => ({\n title: random.lorem.sentence(3),\n body: random.lorem.sentences({ min: 1, max: random.number.int({ min: 1, max: 3 }) }),\n }),\n },\n\n image: {\n createData: () => ({\n title: random.lorem.sentence(3),\n image: random.helpers.arrayElement(data.images),\n body: random.datatype.boolean() ? random.lorem.sentences() : undefined,\n }),\n },\n\n project: {\n createSchema: () =>\n Schema.Struct({\n title: Schema.String,\n repo: Schema.String,\n status: Schema.String,\n priority: Schema.Number,\n }).pipe(Type.makeObject(DXN.make('com.example.type.project', '0.1.0'))),\n\n createData: () => ({\n title: random.commerce.productName(),\n repo: random.datatype.boolean({ probability: 0.3 }) ? random.internet.url() : undefined,\n status: random.helpers.arrayElement(Status),\n priority: random.helpers.arrayElement(Priority),\n }),\n },\n};\n\n/**\n * Typed object generator.\n */\nexport class TestObjectGenerator {\n public readonly factories: ObjectFactoryMap;\n\n constructor({ types, factories }: { types?: string[]; factories?: ObjectFactoryMap } = {}) {\n this.factories =\n factories ??\n (types ?? Object.keys(defaultGenerators)).reduce<ObjectFactoryMap>((acc, type) => {\n acc[type] = createFactory(defaultGenerators[type]);\n return acc;\n }, {});\n }\n\n get schema(): Type.AnyObj[] {\n return Object.values(this.factories).map((f) => f.schema!);\n }\n\n createObject({ types }: { types?: string[] } = {}) {\n const type = random.helpers.arrayElement(types ?? Object.keys(this.factories));\n const factory = this.factories[type];\n return factory?.createObject();\n }\n\n createObjects({ types, length }: { types?: string[]; length: number }) {\n return range(length, () => this.createObject({ types }));\n }\n}\n\n// https://unsplash.com\n// TODO(burdon): Use https://picsum.photos?\nconst data = {\n images: [\n '/images/image-1.png',\n '/images/image-2.png',\n '/images/image-3.png',\n '/images/image-4.png',\n '/images/image-5.png',\n '/images/image-6.png',\n ],\n};\n\nexport const createTree = () => {\n const generator = new TestObjectGenerator({ types: ['document'] });\n\n const initialContent = {\n id: 'root',\n data: null,\n type: 'root',\n properties: {\n label: 'Root',\n icon: 'ph--circle--regular',\n },\n nodes: [...Array(4)].map(() => {\n const l0 = generator.createObject();\n return {\n id: random.string.uuid(),\n data: null,\n type: 'category',\n properties: {\n label: l0.title,\n icon: 'ph--horse--regular',\n disposition: 'workspace',\n },\n nodes: [\n ...[...Array(4)].map(() => {\n const l1 = generator.createObject();\n return {\n id: random.string.uuid(),\n data: null,\n type: 'document',\n properties: {\n label: l1.title,\n icon: 'ph--butterfly--regular',\n },\n nodes: [\n {\n id: `${random.string.uuid()}__a1`,\n data: () => {},\n type: 'action',\n properties: {\n label: random.lorem.words(2),\n icon: 'ph--boat--regular',\n },\n },\n {\n id: `${random.string.uuid()}__a2`,\n data: () => {},\n type: 'action',\n properties: {\n label: random.lorem.words(2),\n icon: 'ph--train-simple--regular',\n },\n },\n ],\n } satisfies Node.NodeArg<any>;\n }),\n {\n id: `${random.string.uuid()}__a1`,\n data: () => {},\n type: 'action',\n properties: {\n label: random.lorem.words(2),\n icon: 'ph--boat--regular',\n },\n },\n {\n id: `${random.string.uuid()}__a2`,\n data: () => {},\n type: 'action',\n properties: {\n label: random.lorem.words(2),\n icon: 'ph--train-simple--regular',\n },\n },\n ],\n } satisfies Node.NodeArg<any>;\n }),\n } satisfies Node.NodeArg<any>;\n\n return initialContent;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Instruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item';\n\nimport { type Node } from '@dxos/app-graph';\nimport { log } from '@dxos/log';\nimport { type TreeData } from '@dxos/react-ui-list';\n\nconst removeItem = (tree: Node.NodeArg<any>, source: TreeData) => {\n const parent = getNode(tree, source.path.slice(1, -1));\n const index = parent.nodes!.findIndex((node: Node.NodeArg<any>) => node.id === source.id);\n const item = parent.nodes![index];\n parent.nodes!.splice(index, 1);\n return item;\n};\n\nconst getNode = (tree: Node.NodeArg<any>, path: string[]) => {\n let node = tree;\n for (const part of path) {\n node = node.nodes!.find((n: Node.NodeArg<any>) => n.id === part)!;\n }\n return node;\n};\n\n// TODO(wittjosiah): Reconcile with react-ui-list/Tree/testing.\nexport const updateState = ({\n state,\n instruction,\n source,\n target,\n}: {\n state: Node.NodeArg<any>;\n instruction: Instruction;\n source: TreeData;\n target: TreeData;\n}) => {\n switch (instruction.type) {\n case 'reorder-above': {\n const item = removeItem(state, source);\n const parent = getNode(state, target.path.slice(1, -1));\n const index = parent.nodes!.findIndex(({ id }) => id === target.id);\n parent.nodes!.splice(index, 0, item);\n break;\n }\n\n case 'reorder-below': {\n const item = removeItem(state, source);\n const parent = getNode(state, target.path.slice(1, -1));\n const index = parent.nodes!.findIndex(({ id }) => id === target.id);\n parent.nodes!.splice(index + 1, 0, item);\n break;\n }\n\n case 'make-child': {\n const item = removeItem(state, source);\n const parent = getNode(state, target.path.slice(1));\n parent.nodes!.push(item);\n break;\n }\n\n case 'instruction-blocked':\n break;\n\n default:\n log.warn('Unsupported instruction', instruction);\n break;\n }\n};\n"],
5
- "mappings": "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",
6
- "names": ["Atom", "Effect", "log", "GraphBuilder", "Node", "NodeMatcher", "random", "storybookGraphBuilders", "getProperties", "defaults", "propertiesCache", "cached", "createExtension", "whenRoot", "actions", "_", "data", "index", "i", "properties", "disposition", "connector", "type", "label", "userId", "hue", "emoji", "status", "nodes", "count", "interval", "setInterval", "value", "clearInterval", "get", "addFinalizer", "Array", "make", "whenNodeType", "Schema", "DXN", "Obj", "Type", "TestSchema", "random", "range", "createFactory", "createSchema", "createData", "schema", "createObject", "make", "Expando", "Status", "Priority", "defaultGenerators", "document", "title", "lorem", "sentence", "body", "sentences", "min", "max", "number", "int", "image", "helpers", "arrayElement", "data", "images", "datatype", "boolean", "undefined", "project", "Struct", "String", "repo", "status", "priority", "Number", "pipe", "makeObject", "commerce", "productName", "probability", "internet", "url", "TestObjectGenerator", "factories", "types", "Object", "keys", "reduce", "acc", "type", "values", "map", "f", "factory", "createObjects", "length", "createTree", "generator", "initialContent", "id", "properties", "label", "icon", "nodes", "Array", "l0", "string", "uuid", "disposition", "l1", "words", "log", "__dxlog_file", "removeItem", "parent", "nodes", "findIndex", "item", "index", "splice", "getNode", "part", "path", "node", "push"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { type BuilderExtensions } from '@dxos/app-graph';\nimport { log } from '@dxos/log';\nimport { GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { random } from '@dxos/random';\n\nexport const storybookGraphBuilders = (): BuilderExtensions => {\n const propertiesCache = new Map<string, Record<string, unknown>>();\n const getProperties = (id: string, defaults: Record<string, unknown>) => {\n const cached = propertiesCache.get(id);\n if (cached) {\n return cached;\n }\n\n propertiesCache.set(id, defaults);\n return defaults;\n };\n\n return Effect.runSync(\n Effect.all([\n // Create app menu actions.\n GraphBuilder.createExtension({\n id: 'appMenu',\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed(\n Array.from({ length: 5 }, (_, i) => ({\n id: `action-${i}`,\n data: Effect.fnUntraced(function* () {\n log.info('action', { id: 'app-menu', index: i });\n }),\n properties: {\n label: `Action ${i}`,\n icon: random.properties.icon(),\n disposition: 'menu',\n },\n })),\n ),\n }),\n // Create user account node.\n GraphBuilder.createExtension({\n id: 'userAccount',\n match: NodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n Node.make({\n id: 'user-account',\n type: 'user-account',\n properties: {\n label: 'User profile',\n icon: 'ph--user--regular',\n disposition: 'user-account',\n userId: '1234567890ABCDEF',\n hue: random.properties.hue(),\n emoji: random.properties.emoji(),\n status: 'active',\n },\n nodes: [\n Node.make({\n id: 'profile',\n type: 'profile',\n properties: {\n label: 'Profile',\n icon: 'ph--user--regular',\n },\n }),\n Node.make({\n id: 'devices',\n type: 'devices',\n properties: {\n label: 'Devices',\n icon: 'ph--devices--regular',\n },\n }),\n Node.make({\n id: 'security',\n type: 'security',\n properties: {\n label: 'Security',\n icon: 'ph--key--regular',\n },\n }),\n ],\n }),\n ]),\n }),\n // Create space (workspace) nodes directly under root.\n GraphBuilder.createExtension({\n id: 'spaces',\n match: NodeMatcher.whenRoot,\n connector: (_, get) =>\n Effect.sync(() => {\n const count = Atom.make((get) => {\n let value = 3;\n const interval = setInterval(() => {\n if (value >= 10) {\n clearInterval(interval);\n return;\n }\n\n value++;\n get.setSelf(value);\n }, 5000);\n get.addFinalizer(() => clearInterval(interval));\n return value;\n });\n\n return Array.from({ length: get(count) }, (_, i) =>\n Node.make({\n id: `space-${i}`,\n type: 'space',\n properties: getProperties(`space-${i}`, {\n label: `Space ${i}`,\n icon: random.properties.icon(),\n hue: random.properties.hue(),\n disposition: 'workspace',\n }),\n }),\n );\n }),\n }),\n // Create space actions.\n GraphBuilder.createExtension({\n id: 'spaceActions',\n match: NodeMatcher.whenNodeType('space'),\n actions: () =>\n Effect.succeed(\n Array.from({ length: 5 }, (_, i) => ({\n id: `action-${i}`,\n data: Effect.fnUntraced(function* () {\n log.info('action', { id: 'space-actions', index: i });\n }),\n properties: getProperties(`action-${i}`, {\n label: `Action ${i}`,\n icon: random.properties.icon(),\n }),\n })),\n ),\n }),\n // Create object nodes.\n GraphBuilder.createExtension({\n id: 'objects',\n match: NodeMatcher.whenNodeType('space'),\n connector: (_, get) =>\n Effect.sync(() => {\n const count = Atom.make((get) => {\n let value = 3;\n const interval = setInterval(() => {\n if (value >= 20) {\n clearInterval(interval);\n return;\n }\n\n value++;\n get.setSelf(value);\n }, 5000);\n get.addFinalizer(() => clearInterval(interval));\n return value;\n });\n\n return Array.from({ length: get(count) }, (_, i) =>\n Node.make({\n id: `object-${i}`,\n type: 'object',\n properties: getProperties(`object-${i}`, {\n label: `Object ${i}`,\n icon: random.properties.icon(),\n ...(i % 3 === 0 && { count: (i + 1) * 2 }),\n ...(i % 3 === 1 && { modifiedCount: i + 1 }),\n }),\n }),\n );\n }),\n }),\n // Create object actions.\n GraphBuilder.createExtension({\n id: 'objectActions',\n match: NodeMatcher.whenNodeType('object'),\n actions: () =>\n Effect.succeed(\n Array.from({ length: 5 }, (_, i) => ({\n id: `action-${i}`,\n data: Effect.fnUntraced(function* () {\n log.info('action', { id: 'objectActions', index: i });\n }),\n properties: getProperties(`action-${i}`, {\n label: `Action ${i}`,\n icon: random.properties.icon(),\n }),\n })),\n ),\n }),\n ]),\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { type Node } from '@dxos/app-graph';\nimport { DXN, Obj, Type } from '@dxos/echo';\nimport { TestSchema } from '@dxos/echo/testing';\nimport { random } from '@dxos/random';\nimport { range } from '@dxos/util';\n\n// TODO(burdon): Reconcile with @dxos/plugin-debug, @dxos/react-ui/testing.\n// TODO(burdon): Bug when adding stale objects to space (e.g., static objects already added in previous story invocation).\n\n// TODO(burdon): Commit to using ECHO to generate all test data? Or convert from raw data?\nexport type TestItem = { id: string; type: string } & Record<string, any>;\n\ntype ObjectDataGenerator = {\n createSchema?: () => Type.AnyObj;\n createData: () => any;\n};\n\ntype ObjectFactory<T> = {\n schema?: Type.AnyObj; // TODO(burdon): Support both typed and expando schema.\n createObject: () => T;\n};\n\ntype ObjectFactoryMap = { [type: string]: ObjectFactory<any> };\n\nconst createFactory = ({ createSchema, createData }: ObjectDataGenerator) => {\n const schema = createSchema?.();\n return {\n schema,\n createObject: () => (schema ? Obj.make(schema, createData()) : Obj.make(TestSchema.Expando, createData())),\n };\n};\n\n// TODO(burdon): Handle restricted values.\nexport const Status = ['pending', 'active', 'done'];\nexport const Priority = [1, 2, 3, 4, 5];\n\nexport const defaultGenerators: { [type: string]: ObjectDataGenerator } = {\n document: {\n createData: () => ({\n title: random.lorem.sentence(3),\n body: random.lorem.sentences({ min: 1, max: random.number.int({ min: 1, max: 3 }) }),\n }),\n },\n\n image: {\n createData: () => ({\n title: random.lorem.sentence(3),\n image: random.helpers.arrayElement(data.images),\n body: random.datatype.boolean() ? random.lorem.sentences() : undefined,\n }),\n },\n\n project: {\n createSchema: () =>\n Type.makeObject(DXN.make('com.example.type.project', '0.1.0'))(\n Schema.Struct({\n title: Schema.String,\n repo: Schema.String,\n status: Schema.String,\n priority: Schema.Number,\n }),\n ),\n\n createData: () => ({\n title: random.commerce.productName(),\n repo: random.datatype.boolean({ probability: 0.3 }) ? random.internet.url() : undefined,\n status: random.helpers.arrayElement(Status),\n priority: random.helpers.arrayElement(Priority),\n }),\n },\n};\n\n/**\n * Typed object generator.\n */\nexport class TestObjectGenerator {\n public readonly factories: ObjectFactoryMap;\n\n constructor({ types, factories }: { types?: string[]; factories?: ObjectFactoryMap } = {}) {\n this.factories =\n factories ??\n (types ?? Object.keys(defaultGenerators)).reduce<ObjectFactoryMap>((acc, type) => {\n acc[type] = createFactory(defaultGenerators[type]);\n return acc;\n }, {});\n }\n\n get schema(): Type.AnyObj[] {\n return Object.values(this.factories).map((f) => f.schema!);\n }\n\n createObject({ types }: { types?: string[] } = {}) {\n const type = random.helpers.arrayElement(types ?? Object.keys(this.factories));\n const factory = this.factories[type];\n return factory?.createObject();\n }\n\n createObjects({ types, length }: { types?: string[]; length: number }) {\n return range(length, () => this.createObject({ types }));\n }\n}\n\n// https://unsplash.com\n// TODO(burdon): Use https://picsum.photos?\nconst data = {\n images: [\n '/images/image-1.png',\n '/images/image-2.png',\n '/images/image-3.png',\n '/images/image-4.png',\n '/images/image-5.png',\n '/images/image-6.png',\n ],\n};\n\nexport const createTree = () => {\n const generator = new TestObjectGenerator({ types: ['document'] });\n\n const initialContent = {\n id: 'root',\n data: null,\n type: 'root',\n properties: {\n label: 'Root',\n icon: 'ph--circle--regular',\n },\n nodes: [...Array(4)].map(() => {\n const l0 = generator.createObject();\n return {\n id: random.string.uuid(),\n data: null,\n type: 'category',\n properties: {\n label: l0.title,\n icon: 'ph--horse--regular',\n disposition: 'workspace',\n },\n nodes: [\n ...[...Array(4)].map(() => {\n const l1 = generator.createObject();\n return {\n id: random.string.uuid(),\n data: null,\n type: 'document',\n properties: {\n label: l1.title,\n icon: 'ph--butterfly--regular',\n },\n nodes: [\n {\n id: `${random.string.uuid()}__a1`,\n data: () => {},\n type: 'action',\n properties: {\n label: random.lorem.words(2),\n icon: 'ph--boat--regular',\n },\n },\n {\n id: `${random.string.uuid()}__a2`,\n data: () => {},\n type: 'action',\n properties: {\n label: random.lorem.words(2),\n icon: 'ph--train-simple--regular',\n },\n },\n ],\n } satisfies Node.NodeArg<any>;\n }),\n {\n id: `${random.string.uuid()}__a1`,\n data: () => {},\n type: 'action',\n properties: {\n label: random.lorem.words(2),\n icon: 'ph--boat--regular',\n },\n },\n {\n id: `${random.string.uuid()}__a2`,\n data: () => {},\n type: 'action',\n properties: {\n label: random.lorem.words(2),\n icon: 'ph--train-simple--regular',\n },\n },\n ],\n } satisfies Node.NodeArg<any>;\n }),\n } satisfies Node.NodeArg<any>;\n\n return initialContent;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Instruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item';\n\nimport { type Node } from '@dxos/app-graph';\nimport { log } from '@dxos/log';\nimport { type TreeData } from '@dxos/react-ui-list';\n\nconst removeItem = (tree: Node.NodeArg<any>, source: TreeData) => {\n const parent = getNode(tree, source.path.slice(1, -1));\n const index = parent.nodes!.findIndex((node: Node.NodeArg<any>) => node.id === source.id);\n const item = parent.nodes![index];\n parent.nodes!.splice(index, 1);\n return item;\n};\n\nconst getNode = (tree: Node.NodeArg<any>, path: string[]) => {\n let node = tree;\n for (const part of path) {\n node = node.nodes!.find((n: Node.NodeArg<any>) => n.id === part)!;\n }\n return node;\n};\n\n// TODO(wittjosiah): Reconcile with react-ui-list/Tree/testing.\nexport const updateState = ({\n state,\n instruction,\n source,\n target,\n}: {\n state: Node.NodeArg<any>;\n instruction: Instruction;\n source: TreeData;\n target: TreeData;\n}) => {\n switch (instruction.type) {\n case 'reorder-above': {\n const item = removeItem(state, source);\n const parent = getNode(state, target.path.slice(1, -1));\n const index = parent.nodes!.findIndex(({ id }) => id === target.id);\n parent.nodes!.splice(index, 0, item);\n break;\n }\n\n case 'reorder-below': {\n const item = removeItem(state, source);\n const parent = getNode(state, target.path.slice(1, -1));\n const index = parent.nodes!.findIndex(({ id }) => id === target.id);\n parent.nodes!.splice(index + 1, 0, item);\n break;\n }\n\n case 'make-child': {\n const item = removeItem(state, source);\n const parent = getNode(state, target.path.slice(1));\n parent.nodes!.push(item);\n break;\n }\n\n case 'instruction-blocked':\n break;\n\n default:\n log.warn('Unsupported instruction', instruction);\n break;\n }\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "Effect", "log", "GraphBuilder", "Node", "NodeMatcher", "random", "storybookGraphBuilders", "getProperties", "defaults", "propertiesCache", "cached", "createExtension", "whenRoot", "actions", "_", "data", "index", "i", "properties", "disposition", "connector", "type", "label", "userId", "hue", "emoji", "status", "nodes", "count", "interval", "setInterval", "value", "clearInterval", "get", "addFinalizer", "Array", "make", "whenNodeType", "Schema", "DXN", "Obj", "Type", "TestSchema", "random", "range", "createFactory", "createSchema", "createData", "schema", "createObject", "make", "Expando", "Status", "Priority", "defaultGenerators", "document", "title", "lorem", "sentence", "body", "sentences", "min", "max", "number", "int", "image", "helpers", "arrayElement", "data", "images", "datatype", "boolean", "undefined", "project", "makeObject", "Struct", "String", "repo", "status", "priority", "Number", "commerce", "productName", "probability", "internet", "url", "TestObjectGenerator", "factories", "types", "Object", "keys", "reduce", "acc", "type", "values", "map", "f", "factory", "createObjects", "length", "createTree", "generator", "initialContent", "id", "properties", "label", "icon", "nodes", "Array", "l0", "string", "uuid", "disposition", "l1", "words", "log", "__dxlog_file", "removeItem", "parent", "nodes", "findIndex", "item", "index", "splice", "getNode", "part", "path", "node", "push"]
7
7
  }
@@ -1,6 +1,5 @@
1
1
  import * as Effect from 'effect/Effect';
2
2
  import { Capability } from '@dxos/app-framework';
3
- import { GraphBuilder } from '@dxos/plugin-graph';
4
- declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<GraphBuilder.BuilderExtensions>>, never, never>;
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Any, never, never>;
5
4
  export default _default;
6
5
  //# sourceMappingURL=app-graph-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as Effect from 'effect/Effect';
2
2
  import { Capability } from '@dxos/app-framework';
3
- declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<null>>, Error, Capability.Service>;
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Any, Error, Capability.Service>;
4
4
  export default _default;
5
5
  //# sourceMappingURL=keyboard.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as Effect from 'effect/Effect';
2
2
  import { Capability } from '@dxos/app-framework';
3
- declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<any>>, never, never>;
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Any, never, never>;
4
4
  export default _default;
5
5
  //# sourceMappingURL=react-surface.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import * as Effect from 'effect/Effect';
2
2
  import { Capability } from '@dxos/app-framework';
3
- import { NavTreeCapabilities } from '#types';
4
- declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<NavTreeCapabilities.NavTreeStateStore>>, Error, Capability.Service>;
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Any, Error, Capability.Service>;
5
4
  export default _default;
6
5
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/state.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAM/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/state.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavTree.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/NavTree/NavTree.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAkD,MAAM,OAAO,CAAC;AAgBvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA2F/C,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;CAuC+B,CAAC;eAE3B,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,KA8CrB,CAAC"}
1
+ {"version":3,"file":"NavTree.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/NavTree/NavTree.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAA4B,MAAM,OAAO,CAAC;AAejD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAmG/C,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;CAuC+B,CAAC;eAE3B,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,KA8CrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavTreeItemColumns.d.ts","sourceRoot":"","sources":["../../../../../src/components/NavTreeItem/NavTreeItemColumns.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkC,MAAM,OAAO,CAAC;AASvD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGxD,eAAO,MAAM,kBAAkB,mDAA+B,uBAAuB,uBA+CnF,CAAC"}
1
+ {"version":3,"file":"NavTreeItemColumns.d.ts","sourceRoot":"","sources":["../../../../../src/components/NavTreeItem/NavTreeItemColumns.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAUvD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGxD,eAAO,MAAM,kBAAkB,mDAA+B,uBAAuB,uBA+CnF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"L0Menu.d.ts","sourceRoot":"","sources":["../../../../../src/components/Sidebar/L0Menu.tsx"],"names":[],"mappings":"AAcA,OAAO,KAUN,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAKL,KAAK,eAAe,EAKrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAsG1D,eAAO,MAAM,wBAAwB,mBAAoB,eAAe,CAAC,EAAE,CAAC,sBAO3E,CAAC;AAkHF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF,eAAO,MAAM,MAAM,6FAQhB,WAAW,sBAoGb,CAAC"}
1
+ {"version":3,"file":"L0Menu.d.ts","sourceRoot":"","sources":["../../../../../src/components/Sidebar/L0Menu.tsx"],"names":[],"mappings":"AAcA,OAAO,KAUN,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAIL,KAAK,eAAe,EAKrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AA6G1D,eAAO,MAAM,wBAAwB,mBAAoB,eAAe,CAAC,EAAE,CAAC,sBAO3E,CAAC;AAkHF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF,eAAO,MAAM,MAAM,6FAQhB,WAAW,sBAoGb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavTreeContainer.d.ts","sourceRoot":"","sources":["../../../../../src/containers/NavTreeContainer/NavTreeContainer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAkBzF,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAY/C,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,iBAAiB,8FAmO7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,yFAA0B,CAAC"}
1
+ {"version":3,"file":"NavTreeContainer.d.ts","sourceRoot":"","sources":["../../../../../src/containers/NavTreeContainer/NavTreeContainer.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAkBzF,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAY/C,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,iBAAiB,8FAgP7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,yFAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useNavTreeModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNavTreeModel.ts"],"names":[],"mappings":"AAWA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAkFnD;;GAEG;AACH,eAAO,MAAM,eAAe,WAAY,MAAM,KAAG,SAAS,CAAC,oBAAoB,CAoB9E,CAAC"}
1
+ {"version":3,"file":"useNavTreeModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNavTreeModel.ts"],"names":[],"mappings":"AAWA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAsFnD;;GAEG;AACH,eAAO,MAAM,eAAe,WAAY,MAAM,KAAG,SAAS,CAAC,oBAAoB,CAoB9E,CAAC"}
@@ -17,6 +17,7 @@ export declare const meta: {
17
17
  } | undefined;
18
18
  readonly dependsOn?: readonly string[] | undefined;
19
19
  readonly spec?: string | undefined;
20
+ readonly createdAt?: string | undefined;
20
21
  readonly author?: string | undefined;
21
22
  };
22
23
  readonly release?: {
@@ -25,6 +26,9 @@ export declare const meta: {
25
26
  readonly dependencies?: {
26
27
  readonly [x: string]: string;
27
28
  } | undefined;
29
+ readonly pluginKey?: string | undefined;
30
+ readonly manifestHash?: string | undefined;
31
+ readonly createdAt?: string | undefined;
28
32
  } | undefined;
29
33
  };
30
34
  export declare const KEY_BINDING = "KeyBinding";
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAIjC,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAmC,CAAC;AAGrD,eAAO,MAAM,WAAW,eAAe,CAAC;AAExC,eAAO,MAAM,eAAe,SAAiD,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAIjC,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAmC,CAAC;AAGrD,eAAO,MAAM,WAAW,eAAe,CAAC;AAExC,eAAO,MAAM,eAAe,SAAiD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/testing/generator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,IAAI,EAAE,MAAM,YAAY,CAAC;AAS5C,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE1E,KAAK,mBAAmB,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,GAAG,CAAC;CACvB,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,IAAI;IACtB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;CAAE,CAAC;AAW/D,eAAO,MAAM,MAAM,UAAgC,CAAC;AACpD,eAAO,MAAM,QAAQ,UAAkB,CAAC;AAExC,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAgCpE,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,SAAS,EAAE,gBAAgB,CAAC;IAE5C,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;KAAO,EAOxF;IAED,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAE1B;IAED,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,OAIhD;IAED,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,SAEpE;CACF;AAeD,eAAO,MAAM,UAAU;;;;;QAQjB,KAAK;QACL,IAAI;;;;;;;YASA,KAAK;YACL,IAAI;YACJ,WAAW;;;;;;;gBAUL,KAAK;gBACL,IAAI;;;;;;;oBAQA,KAAK;oBACL,IAAI;;;;;;;;gBAoBV,KAAK;gBACL,IAAI;;;;CAkBjB,CAAC"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/testing/generator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,IAAI,EAAE,MAAM,YAAY,CAAC;AAS5C,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE1E,KAAK,mBAAmB,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,GAAG,CAAC;CACvB,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,IAAI;IACtB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;CAAE,CAAC;AAW/D,eAAO,MAAM,MAAM,UAAgC,CAAC;AACpD,eAAO,MAAM,QAAQ,UAAkB,CAAC;AAExC,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAkCpE,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,SAAS,EAAE,gBAAgB,CAAC;IAE5C,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;KAAO,EAOxF;IAED,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAE1B;IAED,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,OAIhD;IAED,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,SAEpE;CACF;AAeD,eAAO,MAAM,UAAU;;;;;QAQjB,KAAK;QACL,IAAI;;;;;;;YASA,KAAK;YACL,IAAI;YACJ,WAAW;;;;;;;gBAUL,KAAK;gBACL,IAAI;;;;;;;oBAQA,KAAK;oBACL,IAAI;;;;;;;;gBAoBV,KAAK;gBACL,IAAI;;;;CAkBjB,CAAC"}
@@ -18,7 +18,7 @@ export type FlattenedActions = {
18
18
  type SharedProperties = {
19
19
  testId?: string;
20
20
  disabled?: boolean;
21
- position?: Position;
21
+ position?: Position.Position;
22
22
  label: Label;
23
23
  className?: string;
24
24
  headingClassName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAC1C,GAAG,EACH,OAAO,CACL,cAAc,GAAG;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACjF,eAAe,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1F,aAAa,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CAClH,CACF,CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/C,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iHAAiH;IACjH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IAGvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAC1C,GAAG,EACH,OAAO,CACL,cAAc,GAAG;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACjF,eAAe,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1F,aAAa,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CAClH,CACF,CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/C,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iHAAiH;IACjH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IAGvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}