@dxos/plugin-explorer 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.
- package/dist/lib/neutral/ExplorerArticle-2WPXYTXV.mjs +101 -0
- package/dist/lib/neutral/ExplorerArticle-2WPXYTXV.mjs.map +7 -0
- package/dist/lib/neutral/ExplorerPlugin.mjs +1 -1
- package/dist/lib/neutral/NeighborhoodCompanion-WC6E3YE6.mjs +90 -0
- package/dist/lib/neutral/NeighborhoodCompanion-WC6E3YE6.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-builder-L2TJ6GNR.mjs +37 -0
- package/dist/lib/neutral/app-graph-builder-L2TJ6GNR.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +4 -2
- package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
- package/dist/lib/neutral/{chunk-JXYIG54N.mjs → chunk-4F6AT7RA.mjs} +4 -2
- package/dist/lib/neutral/chunk-4F6AT7RA.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-7XUDLV6E.mjs → chunk-EZ52JY7X.mjs} +34 -31
- package/dist/lib/neutral/chunk-EZ52JY7X.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-YBCHBVCJ.mjs → chunk-TTFPTHAQ.mjs} +8 -8
- package/dist/lib/neutral/chunk-TTFPTHAQ.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +430 -506
- package/dist/lib/neutral/components/index.mjs.map +4 -4
- package/dist/lib/neutral/containers/index.mjs +4 -2
- package/dist/lib/neutral/containers/index.mjs.map +3 -3
- package/dist/lib/neutral/{create-object-F6TKVAGV.mjs → create-object-WKIN3OB6.mjs} +3 -4
- package/dist/lib/neutral/{create-object-F6TKVAGV.mjs.map → create-object-WKIN3OB6.mjs.map} +3 -3
- package/dist/lib/neutral/hooks/index.mjs +64 -1
- package/dist/lib/neutral/hooks/index.mjs.map +4 -4
- package/dist/lib/neutral/index.mjs +1 -1
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/react-surface-EWPG5PUQ.mjs +39 -0
- package/dist/lib/neutral/react-surface-EWPG5PUQ.mjs.map +7 -0
- package/dist/lib/neutral/testing/index.mjs +2 -2
- package/dist/lib/neutral/testing/index.mjs.map +2 -2
- package/dist/lib/neutral/translations.mjs +4 -1
- package/dist/lib/neutral/translations.mjs.map +2 -2
- package/dist/lib/neutral/types/index.mjs +1 -1
- package/dist/types/src/ExplorerPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +9 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/create-object.d.ts +1 -7
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/components/Lattice/Lattice.d.ts +1 -1
- package/dist/types/src/components/Lattice/Lattice.d.ts.map +1 -1
- package/dist/types/src/components/Tree/EdgeBundling.stories.d.ts +1 -1
- package/dist/types/src/components/Tree/EdgeBundling.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tree/Tree.stories.d.ts +1 -1
- package/dist/types/src/components/Tree/Tree.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tree/index.d.ts +1 -3
- package/dist/types/src/components/Tree/index.d.ts.map +1 -1
- package/dist/types/src/components/Tree/types/tree.d.ts +10 -27
- package/dist/types/src/components/Tree/types/tree.d.ts.map +1 -1
- package/dist/types/src/components/Tree/types/types.d.ts +1 -10
- package/dist/types/src/components/Tree/types/types.d.ts.map +1 -1
- package/dist/types/src/components/Visualization/Visualization.d.ts +39 -0
- package/dist/types/src/components/Visualization/Visualization.d.ts.map +1 -0
- package/dist/types/src/components/Visualization/Visualization.stories.d.ts +13 -0
- package/dist/types/src/components/Visualization/Visualization.stories.d.ts.map +1 -0
- package/dist/types/src/components/Visualization/index.d.ts +3 -0
- package/dist/types/src/components/Visualization/index.d.ts.map +1 -0
- package/dist/types/src/components/Visualization/variants.d.ts +53 -0
- package/dist/types/src/components/Visualization/variants.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +1 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.d.ts +1 -1
- package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.d.ts.map +1 -1
- package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.stories.d.ts +2 -2
- package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.stories.d.ts.map +1 -1
- package/dist/types/src/containers/NeighborhoodCompanion/NeighborhoodCompanion.d.ts +14 -0
- package/dist/types/src/containers/NeighborhoodCompanion/NeighborhoodCompanion.d.ts.map +1 -0
- package/dist/types/src/containers/NeighborhoodCompanion/index.d.ts +2 -0
- package/dist/types/src/containers/NeighborhoodCompanion/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +1 -0
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useNeighborhoodModel.d.ts +14 -0
- package/dist/types/src/hooks/useNeighborhoodModel.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts +4 -0
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/relations.d.ts +1 -2
- package/dist/types/src/testing/relations.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +6 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Graph.d.ts +6 -8
- package/dist/types/src/types/Graph.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +41 -37
- package/src/ExplorerPlugin.tsx +2 -1
- package/src/capabilities/app-graph-builder.ts +40 -0
- package/src/capabilities/create-object.ts +3 -2
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/react-surface.tsx +14 -4
- package/src/components/Lattice/Lattice.tsx +1 -2
- package/src/components/Tree/EdgeBundling.stories.tsx +5 -3
- package/src/components/Tree/Tree.stories.tsx +7 -2
- package/src/components/Tree/index.ts +3 -3
- package/src/components/Tree/types/tree.ts +6 -6
- package/src/components/Tree/types/types.ts +1 -11
- package/src/components/Visualization/Visualization.stories.tsx +104 -0
- package/src/components/Visualization/Visualization.tsx +209 -0
- package/src/components/Visualization/index.ts +6 -0
- package/src/components/Visualization/variants.ts +508 -0
- package/src/components/index.ts +1 -0
- package/src/containers/ExplorerArticle/ExplorerArticle.stories.tsx +3 -3
- package/src/containers/ExplorerArticle/ExplorerArticle.tsx +7 -8
- package/src/containers/NeighborhoodCompanion/NeighborhoodCompanion.tsx +102 -0
- package/src/containers/NeighborhoodCompanion/index.ts +5 -0
- package/src/containers/index.ts +1 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useNeighborhoodModel.ts +81 -0
- package/src/testing/relations.ts +1 -3
- package/src/translations.ts +3 -0
- package/src/types/Graph.ts +18 -20
- package/dist/lib/neutral/ExplorerArticle-MHEINWUL.mjs +0 -460
- package/dist/lib/neutral/ExplorerArticle-MHEINWUL.mjs.map +0 -7
- package/dist/lib/neutral/chunk-7XUDLV6E.mjs.map +0 -7
- package/dist/lib/neutral/chunk-IKHJV3Q4.mjs +0 -20
- package/dist/lib/neutral/chunk-IKHJV3Q4.mjs.map +0 -7
- package/dist/lib/neutral/chunk-JXYIG54N.mjs.map +0 -7
- package/dist/lib/neutral/chunk-YBCHBVCJ.mjs.map +0 -7
- package/dist/lib/neutral/react-surface-APBW2VQG.mjs +0 -26
- package/dist/lib/neutral/react-surface-APBW2VQG.mjs.map +0 -7
- package/dist/types/src/components/Tree/Tree.d.ts +0 -24
- package/dist/types/src/components/Tree/Tree.d.ts.map +0 -1
- package/dist/types/src/components/Tree/layout/HierarchicalEdgeBundling.d.ts +0 -40
- package/dist/types/src/components/Tree/layout/HierarchicalEdgeBundling.d.ts.map +0 -1
- package/dist/types/src/components/Tree/layout/RadialTree.d.ts +0 -37
- package/dist/types/src/components/Tree/layout/RadialTree.d.ts.map +0 -1
- package/dist/types/src/components/Tree/layout/TidyTree.d.ts +0 -26
- package/dist/types/src/components/Tree/layout/TidyTree.d.ts.map +0 -1
- package/dist/types/src/components/Tree/layout/hierarchy.d.ts +0 -17
- package/dist/types/src/components/Tree/layout/hierarchy.d.ts.map +0 -1
- package/dist/types/src/components/Tree/layout/index.d.ts +0 -6
- package/dist/types/src/components/Tree/layout/index.d.ts.map +0 -1
- package/dist/types/src/components/Tree/layout/slots.d.ts +0 -7
- package/dist/types/src/components/Tree/layout/slots.d.ts.map +0 -1
- package/dist/types/src/components/Tree/layout/useContainerSize.d.ts +0 -15
- package/dist/types/src/components/Tree/layout/useContainerSize.d.ts.map +0 -1
- package/dist/types/src/containers/ExplorerArticle/Visualization.d.ts +0 -18
- package/dist/types/src/containers/ExplorerArticle/Visualization.d.ts.map +0 -1
- package/dist/types/src/containers/ExplorerArticle/variants.d.ts +0 -9
- package/dist/types/src/containers/ExplorerArticle/variants.d.ts.map +0 -1
- package/src/components/Tree/Tree.tsx +0 -81
- package/src/components/Tree/layout/HierarchicalEdgeBundling.tsx +0 -335
- package/src/components/Tree/layout/RadialTree.tsx +0 -242
- package/src/components/Tree/layout/TidyTree.tsx +0 -246
- package/src/components/Tree/layout/hierarchy.ts +0 -32
- package/src/components/Tree/layout/index.ts +0 -9
- package/src/components/Tree/layout/slots.ts +0 -19
- package/src/components/Tree/layout/useContainerSize.ts +0 -43
- package/src/containers/ExplorerArticle/Visualization.tsx +0 -523
- package/src/containers/ExplorerArticle/variants.ts +0 -47
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\nimport { translations as componentsTranslations } from '@dxos/react-ui-components/translations';\n\nimport { meta } from '#meta';\nimport { Graph } from '#types';\n\nexport const translations = [\n {\n 'en-US': {\n [Type.getTypename(Graph.Graph)]: {\n 'typename.label': 'Explorer',\n 'typename.label_zero': 'Explorers',\n 'typename.label_one': 'Explorer',\n 'typename.label_other': 'Explorers',\n 'object-name.placeholder': 'New explorer',\n 'add-object.label': 'Add explorer',\n 'rename-object.label': 'Rename explorer',\n 'delete-object.label': 'Delete explorer',\n 'object-deleted.label': 'Explorer deleted',\n },\n [meta.profile.key]: {\n 'plugin.name': 'Explorer',\n 'object-title.label': 'Title',\n },\n },\n },\n ...componentsTranslations,\n] as const satisfies Resource[];\n"],
|
|
5
|
-
"mappings": ";;;AAIA,SAASA,YAAY;AAErB,SAASC,gBAAgBC,8BAA8B;AAEvD,SAASC,YAAY;AACrB,SAASC,aAAa;AAEf,IAAMH,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,KAAKK,YAAYD,MAAMA,KAAK,CAAA,GAAI;QAC/B,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,oBAAoB;QACpB,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACD,KAAKG,QAAQC,GAAG,GAAG;QAClB,eAAe;QACf,sBAAsB;
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\nimport { translations as componentsTranslations } from '@dxos/react-ui-components/translations';\n\nimport { meta } from '#meta';\nimport { Graph } from '#types';\n\nexport const translations = [\n {\n 'en-US': {\n [Type.getTypename(Graph.Graph)]: {\n 'typename.label': 'Explorer',\n 'typename.label_zero': 'Explorers',\n 'typename.label_one': 'Explorer',\n 'typename.label_other': 'Explorers',\n 'object-name.placeholder': 'New explorer',\n 'add-object.label': 'Add explorer',\n 'rename-object.label': 'Rename explorer',\n 'delete-object.label': 'Delete explorer',\n 'object-deleted.label': 'Explorer deleted',\n },\n [meta.profile.key]: {\n 'plugin.name': 'Explorer',\n 'object-title.label': 'Title',\n 'neighborhood-companion.label': 'Graph',\n 'depth.label_one': '{{count}} hop',\n 'depth.label_other': '{{count}} hops',\n },\n },\n },\n ...componentsTranslations,\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,YAAY;AAErB,SAASC,gBAAgBC,8BAA8B;AAEvD,SAASC,YAAY;AACrB,SAASC,aAAa;AAEf,IAAMH,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,KAAKK,YAAYD,MAAMA,KAAK,CAAA,GAAI;QAC/B,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,oBAAoB;QACpB,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACD,KAAKG,QAAQC,GAAG,GAAG;QAClB,eAAe;QACf,sBAAsB;QACtB,gCAAgC;QAChC,mBAAmB;QACnB,qBAAqB;MACvB;IACF;EACF;KACGL;;",
|
|
6
6
|
"names": ["Type", "translations", "componentsTranslations", "meta", "Graph", "getTypename", "profile", "key"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExplorerPlugin.d.ts","sourceRoot":"","sources":["../../../src/ExplorerPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAW7C,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"ExplorerPlugin.d.ts","sourceRoot":"","sources":["../../../src/ExplorerPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAW7C,eAAO,MAAM,cAAc,4BAU1B,CAAC;eAEa,cAAc"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as Effect from 'effect/Effect';
|
|
2
|
+
import { Capability } from '@dxos/app-framework';
|
|
3
|
+
/**
|
|
4
|
+
* Offers a "Neighborhood" companion on any ECHO object. The matched node is passed through as the
|
|
5
|
+
* companion's `companionTo` (the active node), which the surface renders as an ego-centric graph.
|
|
6
|
+
*/
|
|
7
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Any, never, never>;
|
|
8
|
+
export default _default;
|
|
9
|
+
//# sourceMappingURL=app-graph-builder.d.ts.map
|
|
@@ -0,0 +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;AAQjD;;;GAGG"}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import * as Effect from 'effect/Effect';
|
|
2
2
|
import { Capability } from '@dxos/app-framework';
|
|
3
|
-
|
|
4
|
-
declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Readonly<{
|
|
5
|
-
id: string;
|
|
6
|
-
createObject: import("@dxos/plugin-space").CreateObject;
|
|
7
|
-
inputSchema?: import("effect/Schema").Schema.AnyNoContext;
|
|
8
|
-
customPanel?: import("react").ComponentType<SpaceCapabilities.CreateObjectCustomPanelProps>;
|
|
9
|
-
}>>>, never, never>;
|
|
3
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Any, never, never>;
|
|
10
4
|
export default _default;
|
|
11
5
|
//# sourceMappingURL=create-object.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-object.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/create-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC
|
|
1
|
+
{"version":3,"file":"create-object.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/create-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Capability } from '@dxos/app-framework';
|
|
2
|
+
export declare const AppGraphBuilder: Capability.LazyCapability<void, Capability.ModuleReturn, Error>;
|
|
2
3
|
export declare const CreateObject: Capability.LazyCapability<void, Capability.ModuleReturn, Error>;
|
|
3
4
|
export declare const ReactSurface: Capability.LazyCapability<void, Capability.ModuleReturn, Error>;
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,YAAY,iEAAmE,CAAC;AAC7F,eAAO,MAAM,YAAY,iEAAmE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,eAAe,iEAA0E,CAAC;AACvG,eAAO,MAAM,YAAY,iEAAmE,CAAC;AAC7F,eAAO,MAAM,YAAY,iEAAmE,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.
|
|
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,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Obj } from '@dxos/echo';
|
|
3
|
+
import { type TreeNode } from '@dxos/react-ui-graph';
|
|
3
4
|
import { type SpaceGraphNode } from '@dxos/schema';
|
|
4
|
-
import { type TreeNode } from '../Tree/types';
|
|
5
5
|
export type LatticeProps = {
|
|
6
6
|
/** Object nodes from the space graph (typically `model.graph.nodes` filtered to `type === 'object'`). */
|
|
7
7
|
nodes: SpaceGraphNode[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lattice.d.ts","sourceRoot":"","sources":["../../../../../src/components/Lattice/Lattice.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"Lattice.d.ts","sourceRoot":"","sources":["../../../../../src/components/Lattice/Lattice.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,MAAM,MAAM,YAAY,GAAG;IACzB,yGAAyG;IACzG,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CAChF,CAAC;AASF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,oCAA0C,YAAY,sBAqDzE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdgeBundling.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/EdgeBundling.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAuC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"EdgeBundling.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/EdgeBundling.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAuC,MAAM,OAAO,CAAC;AAQ5D,OAAO,EAAQ,KAAK,kBAAkB,EAAiB,MAAM,sBAAsB,CAAC;AA8EpF,QAAA,MAAM,IAAI;;eAEW,GAAG;mCApE6B;QAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;;;QA+F9G,MAAM;;CAE2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
2
|
-
import { type TreeComponentProps } from '
|
|
2
|
+
import { type TreeComponentProps } from '@dxos/react-ui-graph';
|
|
3
3
|
type StoryArgs = Pick<TreeComponentProps, 'variant'>;
|
|
4
4
|
declare const meta: Meta<StoryArgs>;
|
|
5
5
|
export default meta;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tree.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/Tree.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Tree.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/Tree.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKjE,OAAO,EAAQ,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AASrE,KAAK,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;AAcrD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,SAAS,CAOzB,CAAC;eAEa,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AAEjC,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tree/index.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import * as Schema from 'effect/Schema';
|
|
2
2
|
import { Key, Obj, Ref, Type } from '@dxos/echo';
|
|
3
|
+
import { TestSchema } from '@dxos/echo/testing';
|
|
3
4
|
export declare const TreeNodeType: Schema.mutable<Schema.Struct<{
|
|
4
5
|
id: import("@dxos/keys").EntityIdClass;
|
|
5
6
|
children: Schema.mutable<Schema.Array$<import("@dxos/keys").EntityIdClass>>;
|
|
6
7
|
data: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
7
|
-
ref: Schema.optional<Ref.RefSchema<
|
|
8
|
-
readonly [x: string]: any;
|
|
9
|
-
} & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown>>;
|
|
8
|
+
ref: Schema.optional<Ref.RefSchema<TestSchema.Expando & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown>>;
|
|
10
9
|
}>>;
|
|
11
10
|
export type TreeNodeType = Schema.Schema.Type<typeof TreeNodeType>;
|
|
12
|
-
|
|
11
|
+
declare const TreeType_base: Type.ObjClass<TreeType, {
|
|
13
12
|
readonly root: string;
|
|
14
13
|
readonly nodes: {
|
|
15
14
|
[x: string]: {
|
|
@@ -18,13 +17,12 @@ export declare const TreeType: Type.Obj<{
|
|
|
18
17
|
data: {
|
|
19
18
|
[x: string]: any;
|
|
20
19
|
};
|
|
21
|
-
ref?: import("@dxos/echo/internal").Ref<
|
|
22
|
-
readonly [x: string]: any;
|
|
23
|
-
} & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown> | undefined;
|
|
20
|
+
ref?: import("@dxos/echo/internal").Ref<TestSchema.Expando & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown> | undefined;
|
|
24
21
|
};
|
|
25
22
|
};
|
|
26
|
-
},
|
|
27
|
-
export
|
|
23
|
+
}, {}>;
|
|
24
|
+
export declare class TreeType extends TreeType_base {
|
|
25
|
+
}
|
|
28
26
|
/**
|
|
29
27
|
* Wrapper object for tree.
|
|
30
28
|
*/
|
|
@@ -32,21 +30,7 @@ export declare class Tree {
|
|
|
32
30
|
static create: () => TreeType;
|
|
33
31
|
private _tree;
|
|
34
32
|
constructor(tree?: TreeType);
|
|
35
|
-
get tree():
|
|
36
|
-
readonly root: string;
|
|
37
|
-
readonly nodes: {
|
|
38
|
-
[x: string]: {
|
|
39
|
-
id: string;
|
|
40
|
-
children: string[];
|
|
41
|
-
data: {
|
|
42
|
-
[x: string]: any;
|
|
43
|
-
};
|
|
44
|
-
ref?: import("@dxos/echo/internal").Ref<{
|
|
45
|
-
readonly [x: string]: any;
|
|
46
|
-
} & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown> | undefined;
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
} & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object>;
|
|
33
|
+
get tree(): TreeType;
|
|
50
34
|
get size(): number;
|
|
51
35
|
get root(): {
|
|
52
36
|
id: string;
|
|
@@ -54,9 +38,7 @@ export declare class Tree {
|
|
|
54
38
|
data: {
|
|
55
39
|
[x: string]: any;
|
|
56
40
|
};
|
|
57
|
-
ref?: import("@dxos/echo/internal").Ref<
|
|
58
|
-
readonly [x: string]: any;
|
|
59
|
-
} & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown> | undefined;
|
|
41
|
+
ref?: import("@dxos/echo/internal").Ref<TestSchema.Expando & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown> | undefined;
|
|
60
42
|
};
|
|
61
43
|
/**
|
|
62
44
|
* Recursively traverse the tree until the callback returns a value.
|
|
@@ -108,4 +90,5 @@ export declare class Tree {
|
|
|
108
90
|
*/
|
|
109
91
|
unindentNode(node: TreeNodeType): void;
|
|
110
92
|
}
|
|
93
|
+
export {};
|
|
111
94
|
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/types/tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/types/tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKhD,eAAO,MAAM,YAAY;;;;;GAKF,CAAC;AAExB,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;;;;;;;;;;;;;;AAEnE,qBAAa,QAAS,SAAQ,aAK7B;CAAG;AAEJ;;GAEG;AACH,qBAAa,IAAI;IACf,MAAM,CAAC,MAAM,QAAO,QAAQ,CAY1B;IAEF,OAAO,CAAC,KAAK,CAAW;IAExB,YAAY,IAAI,CAAC,EAAE,QAAQ,EAE1B;IAED,IAAI,IAAI,aAEP;IAGD,IAAI,IAAI,WAEP;IAED,IAAI,IAAI;;;;;;;MAEP;IAMD;;OAEG;IACH,SAAS,CAAC,CAAC,EACT,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,IAAI,EACzD,IAAI,GAAE,GAAG,CAAC,QAA0B,EACpC,KAAK,SAAI,GACR,CAAC,GAAG,IAAI,CAaV;IAED,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,GAAG,YAAY,CAItC;IAED;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAErD;IAED;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAQjD;IAED;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,UAAO,GAAG,YAAY,GAAG,SAAS,CAiBzE;IAED;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,UAAO,GAAG,YAAY,GAAG,SAAS,CAe7E;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,CAQ9D;IAMD;;OAEG;IACH,KAAK,IAAI,IAAI,CAQZ;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAY/E;IAED;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,GAAG,YAAY,GAAG,SAAS,CAiB3E;IAED;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAa1E;IAED;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAgBnC;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CA6BrC;CACF"}
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import { type Key } from '@dxos/echo';
|
|
2
|
+
import { type TreeNode } from '@dxos/react-ui-graph';
|
|
2
3
|
import { type TreeType } from './tree';
|
|
3
|
-
/**
|
|
4
|
-
* In-memory tree shape used by the d3 layouts.
|
|
5
|
-
* `data` carries through to layout callbacks (e.g. hover/inspect) — typically an ECHO object on leaves.
|
|
6
|
-
*/
|
|
7
|
-
export type TreeNode<TData = unknown> = {
|
|
8
|
-
id: string;
|
|
9
|
-
label?: string;
|
|
10
|
-
data?: TData;
|
|
11
|
-
children?: TreeNode<TData>[];
|
|
12
|
-
};
|
|
13
4
|
/**
|
|
14
5
|
* Convert an ECHO `TreeType` (id-keyed node map) into a nested `TreeNode` hierarchy.
|
|
15
6
|
* Returns `undefined` if the root id is missing — the tree is then incomplete and shouldn't render.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,SACvB,QAAQ,WACN,GAAG,CAAC,QAAQ,YACX,GAAG,CAAC,MAAM,CAAC,KACnB,QAAQ,GAAG,SAkBb,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type TreeNode } from '@dxos/react-ui-graph';
|
|
3
|
+
import { type SpaceGraphModel } from '@dxos/schema';
|
|
4
|
+
import { type SlottableProps } from '@dxos/ui-types';
|
|
5
|
+
import { type VisualizationVariantId } from './variants';
|
|
6
|
+
export type VisualizationRootProps = SlottableProps<{
|
|
7
|
+
model: SpaceGraphModel;
|
|
8
|
+
variant: VisualizationVariantId;
|
|
9
|
+
/** Focus node id placed at the centre of ego/plexus layouts (e.g. the active node for the companion). */
|
|
10
|
+
focus?: string;
|
|
11
|
+
/** Called when the user clicks the visualization surface (e.g. to dismiss a node preview). */
|
|
12
|
+
onSurfaceClick?: () => void;
|
|
13
|
+
}>;
|
|
14
|
+
export type VisualizationGraphProps = {
|
|
15
|
+
debug?: boolean;
|
|
16
|
+
onNodeHover?: (node: TreeNode | null, event?: MouseEvent) => void;
|
|
17
|
+
};
|
|
18
|
+
declare function VisualizationGraph({ debug, onNodeHover }: VisualizationGraphProps): React.JSX.Element;
|
|
19
|
+
declare namespace VisualizationGraph {
|
|
20
|
+
var displayName: string;
|
|
21
|
+
}
|
|
22
|
+
export declare const Visualization: {
|
|
23
|
+
Root: React.ForwardRefExoticComponent<Omit<{
|
|
24
|
+
model: SpaceGraphModel;
|
|
25
|
+
variant: VisualizationVariantId;
|
|
26
|
+
focus?: string;
|
|
27
|
+
onSurfaceClick?: () => void;
|
|
28
|
+
} & {
|
|
29
|
+
asChild?: boolean;
|
|
30
|
+
}, "className"> & {
|
|
31
|
+
classNames?: import("@dxos/ui-types").ClassNameValue;
|
|
32
|
+
} & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
|
|
33
|
+
Graph: {
|
|
34
|
+
({ debug, onNodeHover }: VisualizationGraphProps): React.JSX.Element;
|
|
35
|
+
displayName: string;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=Visualization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Visualization.d.ts","sourceRoot":"","sources":["../../../../../src/components/Visualization/Visualization.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,EAQL,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAuB,KAAK,eAAe,EAAuB,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAA6B,KAAK,sBAAsB,EAAc,MAAM,YAAY,CAAC;AAmBhG,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC;IAClD,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,sBAAsB,CAAC;IAChC,yGAAyG;IACzG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC,CAAC;AA4BH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACnE,CAAC;oCAO0B,EAAE,KAAa,EAAE,WAAW,EAAE,EAAE,uBAAuB;;;;AAuHnF,eAAO,MAAM,aAAa;IACxB,IAAI;eArJK,eAAe;iBAAW,sBAAsB;gBAAU,MAAM;yBAAmB,MAAM,IAAI;;;;;;IAsJtG,KAAK;iCAzHqD,uBAAuB;;;CA0HlF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import '@dxos/react-ui-graph/styles/graph.css';
|
|
3
|
+
import { type VisualizationVariantId } from './variants';
|
|
4
|
+
type StoryArgs = {
|
|
5
|
+
variant: VisualizationVariantId;
|
|
6
|
+
focus?: string;
|
|
7
|
+
};
|
|
8
|
+
declare const meta: Meta<StoryArgs>;
|
|
9
|
+
export default meta;
|
|
10
|
+
type Story = StoryObj<typeof meta>;
|
|
11
|
+
export declare const Force: Story;
|
|
12
|
+
export declare const Neighborhood: Story;
|
|
13
|
+
//# sourceMappingURL=Visualization.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Visualization.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Visualization/Visualization.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKjE,OAAO,uCAAuC,CAAC;AAE/C,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAmEzD,KAAK,SAAS,GAAG;IAAE,OAAO,EAAE,sBAAsB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAWrE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,SAAS,CAKzB,CAAC;eAEa,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,KAAK,EAAE,KAAsC,CAAC;AAE3D,eAAO,MAAM,YAAY,EAAE,KAA6D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Visualization/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type GraphLayout, type GraphLayoutNode, type GraphProjector, type RenderNode, type SVGContext } from '@dxos/react-ui-graph';
|
|
2
|
+
import { type SpaceGraphNode } from '@dxos/schema';
|
|
3
|
+
/** Variants offered in the main `ExplorerArticle` toolbar. */
|
|
4
|
+
export type ExplorerArticleVariant = 'force' | 'cluster' | 'bundle' | 'lattice' | 'swarm' | 'plexus';
|
|
5
|
+
/** All variant ids, including companion-only variants not shown in the toolbar (e.g. `neighborhood`). */
|
|
6
|
+
export type VisualizationVariantId = ExplorerArticleVariant | 'neighborhood';
|
|
7
|
+
/** Options threaded to a variant's projector factory when (re)creating the live projector. */
|
|
8
|
+
export type CreateProjectorOptions = {
|
|
9
|
+
/** Focus node id; centres ego/plexus layouts and (for plexus) dispatches to its focused layout. */
|
|
10
|
+
focusId?: string;
|
|
11
|
+
/** Layout snapshot from the outgoing projector so the new one animates from the prior positions. */
|
|
12
|
+
prev?: GraphLayout<SpaceGraphNode>;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Self-contained definition of a single visualization variant. Collecting the projector factory,
|
|
16
|
+
* node renderer, per-tick hook, and interaction flags in one record keeps each variant composable:
|
|
17
|
+
* adding or changing a variant touches exactly one entry rather than several parallel switches.
|
|
18
|
+
*/
|
|
19
|
+
export type VisualizationVariant = {
|
|
20
|
+
value: VisualizationVariantId;
|
|
21
|
+
/** Toolbar icon. */
|
|
22
|
+
icon: string;
|
|
23
|
+
/** Toolbar label / aria-label. */
|
|
24
|
+
label: string;
|
|
25
|
+
/** Build the projector that drives this variant's layout. */
|
|
26
|
+
createProjector: (ctx: SVGContext, options: CreateProjectorOptions) => GraphProjector<SpaceGraphNode>;
|
|
27
|
+
/** Append the SVG for a single node; omitted variants fall back to the renderer default. */
|
|
28
|
+
renderNode?: RenderNode<SpaceGraphNode>;
|
|
29
|
+
/** Per-tick post-transform hook (swarm tail trails). */
|
|
30
|
+
applyNode?: (group: SVGGElement, node: GraphLayoutNode<SpaceGraphNode>) => void;
|
|
31
|
+
/** Enable node dragging (force only). */
|
|
32
|
+
drag?: boolean;
|
|
33
|
+
/** Highlight connected nodes on hover (bundle only). */
|
|
34
|
+
highlightOnHover?: boolean;
|
|
35
|
+
/** Edge opacity override; omitted uses the renderer default. */
|
|
36
|
+
edgeOpacity?: number;
|
|
37
|
+
/** Clicking an object node focuses on it (plexus only). */
|
|
38
|
+
focusable?: boolean;
|
|
39
|
+
/** Track the cursor in model coordinates for boid avoidance (swarm only). */
|
|
40
|
+
trackPointer?: boolean;
|
|
41
|
+
/** Emit `onNodeHover` for preview popovers (every variant except plexus). */
|
|
42
|
+
emitsHover?: boolean;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Variants offered in the main `ExplorerArticle` toolbar, in display order. Excludes companion-only
|
|
46
|
+
* variants (e.g. `neighborhood`), which are addressed directly by their container via `getVariant`.
|
|
47
|
+
*/
|
|
48
|
+
export declare const VARIANTS: VisualizationVariant[];
|
|
49
|
+
/** Look up a variant definition by id. */
|
|
50
|
+
export declare const getVariant: (value: VisualizationVariantId) => VisualizationVariant;
|
|
51
|
+
/** Type guard for the toolbar-selectable variants (excludes companion-only variants). */
|
|
52
|
+
export declare const isVariant: (value: unknown) => value is ExplorerArticleVariant;
|
|
53
|
+
//# sourceMappingURL=variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../../src/components/Visualization/variants.ts"],"names":[],"mappings":"AAOA,OAAO,EAOL,KAAK,WAAW,EAEhB,KAAK,eAAe,EAEpB,KAAK,cAAc,EAMnB,KAAK,UAAU,EACf,KAAK,UAAU,EAOhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,8DAA8D;AAC9D,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErG,yGAAyG;AACzG,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,GAAG,cAAc,CAAC;AAE7E,8FAA8F;AAC9F,MAAM,MAAM,sBAAsB,GAAG;IACnC,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,IAAI,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;CACpC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,eAAe,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,KAAK,cAAc,CAAC,cAAc,CAAC,CAAC;IACtG,4FAA4F;IAC5F,UAAU,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACxC,wDAAwD;IACxD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAChF,yCAAyC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AA8ZF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,oBAAoB,EAEb,CAAC;AAE/B,0CAA0C;AAC1C,eAAO,MAAM,UAAU,UAAW,sBAAsB,KAAG,oBAA0C,CAAC;AAEtG,yFAAyF;AACzF,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,KAAK,IAAI,sBACC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { AppSurface } from '@dxos/app-toolkit/ui';
|
|
3
3
|
import { type View } from '@dxos/echo';
|
|
4
4
|
import '@dxos/react-ui-graph/styles/graph.css';
|
|
5
|
-
export type { ExplorerArticleVariant } from '
|
|
5
|
+
export type { ExplorerArticleVariant } from '#components';
|
|
6
6
|
export type ExplorerArticleProps = AppSurface.ObjectArticleProps<View.View>;
|
|
7
7
|
export declare const ExplorerArticle: ({ role, subject, variant }: ExplorerArticleProps) => React.JSX.Element | null;
|
|
8
8
|
//# sourceMappingURL=ExplorerArticle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExplorerArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/ExplorerArticle/ExplorerArticle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAoB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ExplorerArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/ExplorerArticle/ExplorerArticle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAoB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAMzD,OAAO,uCAAuC,CAAC;AAK/C,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE5E,eAAO,MAAM,eAAe,+BAAgC,oBAAoB,6BAgG/E,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
2
2
|
import { type ExplorerArticleVariant } from './ExplorerArticle';
|
|
3
|
-
type
|
|
3
|
+
type StoryArgs = {
|
|
4
4
|
variant: ExplorerArticleVariant;
|
|
5
5
|
};
|
|
6
|
-
declare const meta: Meta<
|
|
6
|
+
declare const meta: Meta<StoryArgs>;
|
|
7
7
|
export default meta;
|
|
8
8
|
type Story = StoryObj<typeof meta>;
|
|
9
9
|
export declare const Force: Story;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExplorerArticle.stories.d.ts","sourceRoot":"","sources":["../../../../../src/containers/ExplorerArticle/ExplorerArticle.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAiBjE,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAMjF,KAAK,
|
|
1
|
+
{"version":3,"file":"ExplorerArticle.stories.d.ts","sourceRoot":"","sources":["../../../../../src/containers/ExplorerArticle/ExplorerArticle.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAiBjE,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAMjF,KAAK,SAAS,GAAG;IAAE,OAAO,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAYrD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,SAAS,CAwEzB,CAAC;eAEa,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Obj } from '@dxos/echo';
|
|
3
|
+
import '@dxos/react-ui-graph/styles/graph.css';
|
|
4
|
+
export type NeighborhoodCompanionProps = {
|
|
5
|
+
role?: string;
|
|
6
|
+
/** The active node whose neighbourhood is rendered (passed as the companion subject). */
|
|
7
|
+
subject: Obj.Any;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Companion that renders the n-hop neighbourhood of the active node as an ego-centric radial graph,
|
|
11
|
+
* with the active node at the centre. Depth (number of hops traversed) is adjustable in the toolbar.
|
|
12
|
+
*/
|
|
13
|
+
export declare const NeighborhoodCompanion: ({ role, subject }: NeighborhoodCompanionProps) => React.JSX.Element | null;
|
|
14
|
+
//# sourceMappingURL=NeighborhoodCompanion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NeighborhoodCompanion.d.ts","sourceRoot":"","sources":["../../../../../src/containers/NeighborhoodCompanion/NeighborhoodCompanion.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,uCAAuC,CAAC;AAS/C,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,sBAAmC,0BAA0B,6BAyE9F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/containers/NeighborhoodCompanion/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/containers/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,OAAO,CAAC;AAEjD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,GAAG,CAA2C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/containers/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,OAAO,CAAC;AAEjD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,GAAG,CAA2C,CAAC;AAC3F,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,GAAG,CAAiD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Obj } from '@dxos/echo';
|
|
2
|
+
import { type SpaceGraphModel } from '@dxos/schema';
|
|
3
|
+
/** Default traversal depth (hops) for the neighborhood graph. */
|
|
4
|
+
export declare const DEFAULT_NEIGHBORHOOD_DEPTH = 2;
|
|
5
|
+
/**
|
|
6
|
+
* Builds an ego graph around `object`: the n-hop neighbourhood reached by following refs and
|
|
7
|
+
* relations from the active node. The full space graph is materialised (reactively) and then
|
|
8
|
+
* narrowed to the nodes within `depth` hops, keeping only edges whose endpoints both survive.
|
|
9
|
+
*
|
|
10
|
+
* NOTE: Derives the subgraph from the whole-space model — the same cost the main explorer pays.
|
|
11
|
+
* A direct ECHO traversal that loads only the reachable objects is a future optimisation.
|
|
12
|
+
*/
|
|
13
|
+
export declare const useNeighborhoodModel: (object: Obj.Unknown | undefined, depth?: number) => SpaceGraphModel | undefined;
|
|
14
|
+
//# sourceMappingURL=useNeighborhoodModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNeighborhoodModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNeighborhoodModel.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAuB,KAAK,eAAe,EAAuB,MAAM,cAAc,CAAC;AAI9F,iEAAiE;AACjE,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,WACvB,GAAG,CAAC,OAAO,GAAG,SAAS,qBAE9B,eAAe,GAAG,SAiBpB,CAAC"}
|
package/dist/types/src/meta.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare const meta: {
|
|
|
16
16
|
} | undefined;
|
|
17
17
|
readonly dependsOn?: readonly string[] | undefined;
|
|
18
18
|
readonly spec?: string | undefined;
|
|
19
|
+
readonly createdAt?: string | undefined;
|
|
19
20
|
readonly author?: string | undefined;
|
|
20
21
|
};
|
|
21
22
|
readonly release?: {
|
|
@@ -24,6 +25,9 @@ export declare const meta: {
|
|
|
24
25
|
readonly dependencies?: {
|
|
25
26
|
readonly [x: string]: string;
|
|
26
27
|
} | undefined;
|
|
28
|
+
readonly pluginKey?: string | undefined;
|
|
29
|
+
readonly manifestHash?: string | undefined;
|
|
30
|
+
readonly createdAt?: string | undefined;
|
|
27
31
|
} | undefined;
|
|
28
32
|
};
|
|
29
33
|
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAmC,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type Space } from '@dxos/client/echo';
|
|
2
2
|
import { Obj } from '@dxos/echo';
|
|
3
|
+
import { type BundleEdge, type TreeNode } from '@dxos/react-ui-graph';
|
|
3
4
|
import { type ValueGenerator } from '@dxos/schema/testing';
|
|
4
|
-
import { type BundleEdge } from '../components/Tree/layout';
|
|
5
|
-
import { type TreeNode } from '../components/Tree/types';
|
|
6
5
|
export type ConnectedOrgsResult = {
|
|
7
6
|
organizations: Obj.Any[];
|
|
8
7
|
people: Obj.Any[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../src/testing/relations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAmB,MAAM,YAAY,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../src/testing/relations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAmB,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,UACzB,KAAK,aACD,cAAc,wDAC2C,oBAAoB,KACvF,OAAO,CAAC,mBAAmB,CAsB7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,kBAAmB,GAAG,CAAC,GAAG,EAAE,YAAW,SAAS,MAAM,EAAE,KAAa,QAyBlG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,gBAAiB,GAAG,CAAC,GAAG,EAAE,KAAG,UAAU,EAerE,CAAC"}
|
|
@@ -12,6 +12,9 @@ export declare const translations: [{
|
|
|
12
12
|
readonly 'object-deleted.label': 'Explorer deleted';
|
|
13
13
|
readonly 'plugin.name'?: undefined;
|
|
14
14
|
readonly 'object-title.label'?: undefined;
|
|
15
|
+
readonly 'neighborhood-companion.label'?: undefined;
|
|
16
|
+
readonly 'depth.label_one'?: undefined;
|
|
17
|
+
readonly 'depth.label_other'?: undefined;
|
|
15
18
|
} | {
|
|
16
19
|
readonly 'typename.label'?: undefined;
|
|
17
20
|
readonly 'typename.label_zero'?: undefined;
|
|
@@ -24,6 +27,9 @@ export declare const translations: [{
|
|
|
24
27
|
readonly 'object-deleted.label'?: undefined;
|
|
25
28
|
readonly 'plugin.name': 'Explorer';
|
|
26
29
|
readonly 'object-title.label': 'Title';
|
|
30
|
+
readonly 'neighborhood-companion.label': 'Graph';
|
|
31
|
+
readonly 'depth.label_one': '{{count}} hop';
|
|
32
|
+
readonly 'depth.label_other': '{{count}} hops';
|
|
27
33
|
};
|
|
28
34
|
};
|
|
29
35
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;;uCAIC,UAAU;4CACL,WAAW;2CACZ,UAAU;6CACR,WAAW;gDACR,cAAc;yCACrB,cAAc;4CACX,iBAAiB;4CACjB,iBAAiB;6CAChB,kBAAkB
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;;uCAIC,UAAU;4CACL,WAAW;2CACZ,UAAU;6CACR,WAAW;gDACR,cAAc;yCACrB,cAAc;4CACX,iBAAiB;4CACjB,iBAAiB;6CAChB,kBAAkB;;;;;;;;;;;;;;;;oCAG3B,UAAU;2CACH,OAAO;qDACG,OAAO;wCACpB,eAAe;0CACb,gBAAgB;;;;;;;;;;;;;;EAKd,CAAC"}
|