@dxos/plugin-explorer 0.8.4-main.422d1c7879 → 0.8.4-main.4668b7de9b
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/LICENSE +102 -5
- package/PLUGIN.mdl +340 -0
- package/dist/lib/neutral/ExplorerArticle-4I7PNGDC.mjs +459 -0
- package/dist/lib/neutral/ExplorerArticle-4I7PNGDC.mjs.map +7 -0
- package/dist/lib/neutral/ExplorerPlugin.mjs +10 -0
- package/dist/lib/neutral/capabilities/index.mjs +11 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/chunk-3D7BYXOR.mjs +37 -0
- package/dist/lib/neutral/chunk-3D7BYXOR.mjs.map +7 -0
- package/dist/lib/neutral/chunk-42BYLQQA.mjs +42 -0
- package/dist/lib/neutral/chunk-42BYLQQA.mjs.map +7 -0
- package/dist/lib/neutral/chunk-7XUDLV6E.mjs +287 -0
- package/dist/lib/neutral/chunk-7XUDLV6E.mjs.map +7 -0
- package/dist/lib/{browser/types/index.mjs → neutral/chunk-HI324IB4.mjs} +12 -13
- package/dist/lib/neutral/chunk-HI324IB4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-IKHJV3Q4.mjs +20 -0
- package/dist/lib/neutral/chunk-IKHJV3Q4.mjs.map +7 -0
- package/dist/lib/{browser → neutral/components}/index.mjs +730 -437
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +9 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/create-object-F6TKVAGV.mjs +39 -0
- package/dist/lib/neutral/create-object-F6TKVAGV.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +45 -0
- package/dist/lib/neutral/hooks/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +14 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/{browser → neutral}/meta.mjs +1 -1
- package/dist/lib/neutral/plugin.mjs +12 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-APBW2VQG.mjs +26 -0
- package/dist/lib/neutral/react-surface-APBW2VQG.mjs.map +7 -0
- package/dist/lib/neutral/testing/index.mjs +139 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +33 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +10 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/types/data/cities.d.ts +4 -4
- package/dist/types/data/cities.d.ts.map +1 -1
- package/dist/types/data/countries-110m.d.ts +19 -22
- package/dist/types/data/countries-110m.d.ts.map +1 -1
- package/dist/types/src/ExplorerPlugin.d.ts +1 -0
- package/dist/types/src/ExplorerPlugin.d.ts.map +1 -1
- package/dist/types/src/ExplorerPlugin.test.d.ts +2 -0
- package/dist/types/src/ExplorerPlugin.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/create-object.d.ts +11 -0
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +6 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/Chart/Chart.d.ts +1 -1
- package/dist/types/src/components/Chart/Chart.d.ts.map +1 -1
- package/dist/types/src/components/Chart/Chart.stories.d.ts +4 -1
- package/dist/types/src/components/Chart/Chart.stories.d.ts.map +1 -1
- package/dist/types/src/components/Globe/Globe.d.ts +1 -1
- package/dist/types/src/components/Globe/Globe.d.ts.map +1 -1
- package/dist/types/src/components/Globe/Globe.stories.d.ts +5 -2
- package/dist/types/src/components/Globe/Globe.stories.d.ts.map +1 -1
- package/dist/types/src/components/Graph/CanvasForceGraph.d.ts +13 -0
- package/dist/types/src/components/Graph/CanvasForceGraph.d.ts.map +1 -0
- package/dist/types/src/components/Graph/{D3ForceGraph.stories.d.ts → CanvasForceGraph.stories.d.ts} +3 -3
- package/dist/types/src/components/Graph/CanvasForceGraph.stories.d.ts.map +1 -0
- package/dist/types/src/components/Graph/ForceGraph.d.ts +12 -5
- package/dist/types/src/components/Graph/ForceGraph.d.ts.map +1 -1
- package/dist/types/src/components/Graph/ForceGraph.stories.d.ts +3 -1
- package/dist/types/src/components/Graph/ForceGraph.stories.d.ts.map +1 -1
- package/dist/types/src/components/Graph/{adapter.d.ts → graph-adapter.d.ts} +1 -1
- package/dist/types/src/components/Graph/graph-adapter.d.ts.map +1 -0
- package/dist/types/src/components/Graph/index.d.ts +1 -1
- package/dist/types/src/components/Graph/index.d.ts.map +1 -1
- package/dist/types/src/components/Lattice/Lattice.d.ts +20 -0
- package/dist/types/src/components/Lattice/Lattice.d.ts.map +1 -0
- package/dist/types/src/components/Lattice/Lattice.stories.d.ts +8 -0
- package/dist/types/src/components/Lattice/Lattice.stories.d.ts.map +1 -0
- package/dist/types/src/components/Lattice/index.d.ts +2 -0
- package/dist/types/src/components/Lattice/index.d.ts.map +1 -0
- package/dist/types/src/components/Tree/EdgeBundling.stories.d.ts +21 -0
- package/dist/types/src/components/Tree/EdgeBundling.stories.d.ts.map +1 -0
- package/dist/types/src/components/Tree/Tree.d.ts +20 -23
- package/dist/types/src/components/Tree/Tree.d.ts.map +1 -1
- package/dist/types/src/components/Tree/Tree.stories.d.ts +5 -12
- package/dist/types/src/components/Tree/Tree.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tree/index.d.ts +2 -0
- package/dist/types/src/components/Tree/index.d.ts.map +1 -1
- package/dist/types/src/components/Tree/layout/HierarchicalEdgeBundling.d.ts +37 -2
- package/dist/types/src/components/Tree/layout/HierarchicalEdgeBundling.d.ts.map +1 -1
- package/dist/types/src/components/Tree/layout/RadialTree.d.ts +35 -2
- package/dist/types/src/components/Tree/layout/RadialTree.d.ts.map +1 -1
- package/dist/types/src/components/Tree/layout/TidyTree.d.ts +24 -2
- package/dist/types/src/components/Tree/layout/TidyTree.d.ts.map +1 -1
- package/dist/types/src/components/Tree/layout/hierarchy.d.ts +17 -0
- package/dist/types/src/components/Tree/layout/hierarchy.d.ts.map +1 -0
- package/dist/types/src/components/Tree/layout/index.d.ts +5 -4
- package/dist/types/src/components/Tree/layout/index.d.ts.map +1 -1
- package/dist/types/src/components/Tree/layout/slots.d.ts +7 -0
- package/dist/types/src/components/Tree/layout/slots.d.ts.map +1 -0
- package/dist/types/src/components/Tree/layout/useContainerSize.d.ts +15 -0
- package/dist/types/src/components/Tree/layout/useContainerSize.d.ts.map +1 -0
- package/dist/types/src/components/Tree/types/tree.d.ts +41 -20
- package/dist/types/src/components/Tree/types/tree.d.ts.map +1 -1
- package/dist/types/src/components/Tree/types/types.d.ts +14 -4
- package/dist/types/src/components/Tree/types/types.d.ts.map +1 -1
- 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 +8 -0
- package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.d.ts.map +1 -0
- package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.stories.d.ts +15 -0
- package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ExplorerArticle/Visualization.d.ts +18 -0
- package/dist/types/src/containers/ExplorerArticle/Visualization.d.ts.map +1 -0
- package/dist/types/src/containers/ExplorerArticle/index.d.ts +2 -0
- package/dist/types/src/containers/ExplorerArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/ExplorerArticle/variants.d.ts +9 -0
- package/dist/types/src/containers/ExplorerArticle/variants.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +1 -1
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useGraphModel.d.ts +2 -2
- package/dist/types/src/hooks/useGraphModel.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +3 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/{components/Tree/testing → testing}/generator.d.ts +1 -1
- package/dist/types/src/testing/generator.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +4 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/relations.d.ts +32 -0
- package/dist/types/src/testing/relations.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +17 -17
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Graph.d.ts +5 -6
- package/dist/types/src/types/Graph.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +3 -0
- package/dist/types/src/util/index.d.ts.map +1 -0
- package/dist/types/src/util/node-color.d.ts +13 -0
- package/dist/types/src/util/node-color.d.ts.map +1 -0
- package/dist/types/src/{components → util}/plot.d.ts +1 -1
- package/dist/types/src/util/plot.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +100 -56
- package/src/ExplorerPlugin.test.ts +26 -0
- package/src/ExplorerPlugin.tsx +11 -34
- package/src/capabilities/create-object.ts +36 -0
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/react-surface.tsx +2 -2
- package/src/components/Chart/Chart.stories.tsx +14 -20
- package/src/components/Chart/Chart.tsx +1 -1
- package/src/components/Globe/Globe.stories.tsx +17 -19
- package/src/components/Globe/Globe.tsx +1 -1
- package/src/components/Graph/CanvasForceGraph.stories.tsx +97 -0
- package/src/components/Graph/CanvasForceGraph.tsx +124 -0
- package/src/components/Graph/ForceGraph.stories.tsx +88 -38
- package/src/components/Graph/ForceGraph.tsx +105 -85
- package/src/components/Graph/index.ts +1 -1
- package/src/components/Lattice/Lattice.stories.tsx +104 -0
- package/src/components/Lattice/Lattice.tsx +182 -0
- package/src/components/Lattice/index.ts +5 -0
- package/src/components/Tree/EdgeBundling.stories.tsx +144 -0
- package/src/components/Tree/Tree.stories.tsx +17 -38
- package/src/components/Tree/Tree.tsx +69 -100
- package/src/components/Tree/index.ts +2 -0
- package/src/components/Tree/layout/HierarchicalEdgeBundling.tsx +335 -0
- package/src/components/Tree/layout/RadialTree.tsx +242 -0
- package/src/components/Tree/layout/TidyTree.tsx +246 -0
- package/src/components/Tree/layout/hierarchy.ts +32 -0
- package/src/components/Tree/layout/index.ts +5 -5
- package/src/components/Tree/layout/slots.ts +19 -0
- package/src/components/Tree/layout/useContainerSize.ts +43 -0
- package/src/components/Tree/types/tree.test.ts +2 -2
- package/src/components/Tree/types/tree.ts +23 -28
- package/src/components/Tree/types/types.ts +38 -29
- package/src/components/index.ts +1 -0
- package/src/containers/ExplorerArticle/ExplorerArticle.stories.tsx +152 -0
- package/src/containers/ExplorerArticle/ExplorerArticle.tsx +120 -0
- package/src/containers/ExplorerArticle/Visualization.tsx +523 -0
- package/src/containers/ExplorerArticle/index.ts +5 -0
- package/src/containers/ExplorerArticle/variants.ts +47 -0
- package/src/containers/index.ts +1 -1
- package/src/hooks/useGraphModel.ts +10 -6
- package/src/index.ts +1 -4
- package/src/meta.ts +26 -7
- package/src/plugin.ts +9 -0
- package/src/{components/Tree/testing → testing}/generator.ts +3 -3
- package/src/testing/index.ts +9 -0
- package/src/testing/relations.ts +117 -0
- package/src/translations.ts +1 -1
- package/src/types/ExplorerAction.ts +1 -1
- package/src/types/Graph.ts +6 -14
- package/src/util/index.ts +6 -0
- package/src/util/node-color.ts +23 -0
- package/src/{components → util}/plot.ts +16 -4
- package/src/vite-env.d.ts +10 -0
- package/dist/lib/browser/chunk-LSUP47BZ.mjs +0 -24
- package/dist/lib/browser/chunk-LSUP47BZ.mjs.map +0 -7
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/types/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-EN3JZNEY.mjs +0 -26
- package/dist/lib/node-esm/chunk-EN3JZNEY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/index.mjs +0 -11375
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/meta.mjs +0 -9
- package/dist/lib/node-esm/types/index.mjs +0 -71
- package/dist/lib/node-esm/types/index.mjs.map +0 -7
- package/dist/types/src/components/Graph/D3ForceGraph.d.ts +0 -15
- package/dist/types/src/components/Graph/D3ForceGraph.d.ts.map +0 -1
- package/dist/types/src/components/Graph/D3ForceGraph.stories.d.ts.map +0 -1
- package/dist/types/src/components/Graph/adapter.d.ts.map +0 -1
- package/dist/types/src/components/Graph/testing.d.ts +0 -14
- package/dist/types/src/components/Graph/testing.d.ts.map +0 -1
- package/dist/types/src/components/Tree/testing/generator.d.ts.map +0 -1
- package/dist/types/src/components/Tree/testing/index.d.ts +0 -2
- package/dist/types/src/components/Tree/testing/index.d.ts.map +0 -1
- package/dist/types/src/components/plot.d.ts.map +0 -1
- package/dist/types/src/containers/ExplorerContainer/ExplorerContainer.d.ts +0 -6
- package/dist/types/src/containers/ExplorerContainer/ExplorerContainer.d.ts.map +0 -1
- package/dist/types/src/containers/ExplorerContainer/index.d.ts +0 -2
- package/dist/types/src/containers/ExplorerContainer/index.d.ts.map +0 -1
- package/src/components/Graph/D3ForceGraph.stories.tsx +0 -83
- package/src/components/Graph/D3ForceGraph.tsx +0 -108
- package/src/components/Graph/testing.ts +0 -58
- package/src/components/Tree/layout/HierarchicalEdgeBundling.ts +0 -162
- package/src/components/Tree/layout/RadialTree.ts +0 -94
- package/src/components/Tree/layout/TidyTree.ts +0 -101
- package/src/components/Tree/testing/index.ts +0 -5
- package/src/containers/ExplorerContainer/ExplorerContainer.tsx +0 -53
- package/src/containers/ExplorerContainer/index.ts +0 -5
- /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/ExplorerPlugin.mjs.map} +0 -0
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
- /package/dist/lib/{browser/meta.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/index.mjs.map} +0 -0
- /package/dist/lib/{node-esm → neutral}/meta.mjs.map +0 -0
- /package/src/components/Graph/{adapter.ts → graph-adapter.ts} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/containers/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport const ExplorerArticle: ComponentType<any> = lazy(() => import('./ExplorerArticle'));\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAA6BA,YAAY;AAElC,IAAMC,kBAAsCD,KAAK,MAAM,OAAO,iCAAA,CAAA;",
|
|
6
|
+
"names": ["lazy", "ExplorerArticle"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/create-object.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capability } from "@dxos/app-framework";
|
|
6
|
+
import { Operation } from "@dxos/compute";
|
|
7
|
+
import { Type } from "@dxos/echo";
|
|
8
|
+
import { SpaceOperation } from "@dxos/plugin-space";
|
|
9
|
+
import { SpaceCapabilities } from "@dxos/plugin-space";
|
|
10
|
+
import { ViewModel } from "@dxos/schema";
|
|
11
|
+
import { ExplorerAction, Graph } from "#types";
|
|
12
|
+
var create_object_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
13
|
+
return Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
|
|
14
|
+
id: Type.getTypename(Graph.Graph),
|
|
15
|
+
inputSchema: ExplorerAction.GraphProps,
|
|
16
|
+
createObject: (props, options) => Effect.gen(function* () {
|
|
17
|
+
const object = yield* Effect.promise(async () => {
|
|
18
|
+
const { view } = await ViewModel.makeFromDatabase({
|
|
19
|
+
db: options.db,
|
|
20
|
+
typename: props.typename
|
|
21
|
+
});
|
|
22
|
+
return Graph.make({
|
|
23
|
+
name: props.name,
|
|
24
|
+
view
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
return yield* Operation.invoke(SpaceOperation.AddObject, {
|
|
28
|
+
object,
|
|
29
|
+
target: options.target,
|
|
30
|
+
hidden: true,
|
|
31
|
+
targetNodeId: options.targetNodeId
|
|
32
|
+
});
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
}));
|
|
36
|
+
export {
|
|
37
|
+
create_object_default as default
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=create-object-F6TKVAGV.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/create-object.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Type } from '@dxos/echo';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { ViewModel } from '@dxos/schema';\n\nimport { ExplorerAction, Graph } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(SpaceCapabilities.CreateObjectEntry, {\n id: Type.getTypename(Graph.Graph),\n inputSchema: ExplorerAction.GraphProps,\n createObject: (props, options) =>\n Effect.gen(function* () {\n const object = yield* Effect.promise(async () => {\n const { view } = await ViewModel.makeFromDatabase({ db: options.db, typename: props.typename });\n return Graph.make({ name: props.name, view });\n });\n return yield* Operation.invoke(SpaceOperation.AddObject, {\n object,\n target: options.target,\n hidden: true,\n targetNodeId: options.targetNodeId,\n });\n }),\n });\n }),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,sBAAsB;AAC/B,SAASC,yBAAyB;AAClC,SAASC,iBAAiB;AAE1B,SAASC,gBAAgBC,aAAa;AAEtC,IAAA,wBAAeP,WAAWQ,WACjBC,kBAAW,aAAA;AAChB,SAAOT,WAAWU,YAAYN,kBAAkBO,mBAAmB;IACjEC,IAAIV,KAAKW,YAAYN,MAAMA,KAAK;IAChCO,aAAaR,eAAeS;IAC5BC,cAAc,CAACC,OAAOC,YACbC,WAAI,aAAA;AACT,YAAMC,SAAS,OAAcC,eAAQ,YAAA;AACnC,cAAM,EAAEC,KAAI,IAAK,MAAMjB,UAAUkB,iBAAiB;UAAEC,IAAIN,QAAQM;UAAIC,UAAUR,MAAMQ;QAAS,CAAA;AAC7F,eAAOlB,MAAMmB,KAAK;UAAEC,MAAMV,MAAMU;UAAML;QAAK,CAAA;MAC7C,CAAA;AACA,aAAO,OAAOrB,UAAU2B,OAAOzB,eAAe0B,WAAW;QACvDT;QACAU,QAAQZ,QAAQY;QAChBC,QAAQ;QACRC,cAAcd,QAAQc;MACxB,CAAA;IACF,CAAA;EACJ,CAAA;AACF,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capability", "Operation", "Type", "SpaceOperation", "SpaceCapabilities", "ViewModel", "ExplorerAction", "Graph", "makeModule", "fnUntraced", "contributes", "CreateObjectEntry", "id", "getTypename", "inputSchema", "GraphProps", "createObject", "props", "options", "gen", "object", "promise", "view", "makeFromDatabase", "db", "typename", "make", "name", "invoke", "AddObject", "target", "hidden", "targetNodeId"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/hooks/useGraphModel.ts
|
|
4
|
+
import { useEffect, useState } from "react";
|
|
5
|
+
import { Capabilities } from "@dxos/app-framework";
|
|
6
|
+
import { useCapability } from "@dxos/app-framework/ui";
|
|
7
|
+
import { SpaceGraphModel } from "@dxos/schema";
|
|
8
|
+
var useGraphModel = (db, filter, options, items) => {
|
|
9
|
+
const registry = useCapability(Capabilities.AtomRegistry);
|
|
10
|
+
const [model, setModel] = useState(void 0);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!db) {
|
|
13
|
+
setModel(void 0);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const newModel = new SpaceGraphModel(registry);
|
|
17
|
+
void newModel.open(db);
|
|
18
|
+
setModel(newModel);
|
|
19
|
+
return () => {
|
|
20
|
+
setModel(void 0);
|
|
21
|
+
void newModel.close();
|
|
22
|
+
};
|
|
23
|
+
}, [
|
|
24
|
+
db,
|
|
25
|
+
registry
|
|
26
|
+
]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
model?.setFilter(filter).setOptions(options);
|
|
29
|
+
}, [
|
|
30
|
+
model,
|
|
31
|
+
filter,
|
|
32
|
+
options
|
|
33
|
+
]);
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
model?.setItems(items);
|
|
36
|
+
}, [
|
|
37
|
+
model,
|
|
38
|
+
items
|
|
39
|
+
]);
|
|
40
|
+
return model;
|
|
41
|
+
};
|
|
42
|
+
export {
|
|
43
|
+
useGraphModel
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/useGraphModel.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { type Database, type Entity, type Filter } from '@dxos/echo';\nimport { SpaceGraphModel, type SpaceGraphModelOptions } from '@dxos/schema';\n\n// TODO(burdon): Factor out.\nexport const useGraphModel = (\n db: Database.Database | undefined,\n filter?: Filter.Any | undefined,\n options?: SpaceGraphModelOptions,\n items?: readonly Entity.Unknown[],\n): SpaceGraphModel | undefined => {\n const registry = useCapability(Capabilities.AtomRegistry);\n const [model, setModel] = useState<SpaceGraphModel | undefined>(undefined);\n\n useEffect(() => {\n if (!db) {\n setModel(undefined);\n return;\n }\n\n const newModel = new SpaceGraphModel(registry);\n void newModel.open(db);\n setModel(newModel);\n\n return () => {\n setModel(undefined);\n void newModel.close();\n };\n }, [db, registry]);\n\n useEffect(() => {\n model?.setFilter(filter).setOptions(options);\n }, [model, filter, options]);\n\n useEffect(() => {\n model?.setItems(items);\n }, [model, items]);\n\n return model;\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,WAAWC,gBAAgB;AAEpC,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAE9B,SAASC,uBAAoD;AAGtD,IAAMC,gBAAgB,CAC3BC,IACAC,QACAC,SACAC,UAAAA;AAEA,QAAMC,WAAWP,cAAcD,aAAaS,YAAY;AACxD,QAAM,CAACC,OAAOC,QAAAA,IAAYZ,SAAsCa,MAAAA;AAEhEd,YAAU,MAAA;AACR,QAAI,CAACM,IAAI;AACPO,eAASC,MAAAA;AACT;IACF;AAEA,UAAMC,WAAW,IAAIX,gBAAgBM,QAAAA;AACrC,SAAKK,SAASC,KAAKV,EAAAA;AACnBO,aAASE,QAAAA;AAET,WAAO,MAAA;AACLF,eAASC,MAAAA;AACT,WAAKC,SAASE,MAAK;IACrB;EACF,GAAG;IAACX;IAAII;GAAS;AAEjBV,YAAU,MAAA;AACRY,WAAOM,UAAUX,MAAAA,EAAQY,WAAWX,OAAAA;EACtC,GAAG;IAACI;IAAOL;IAAQC;GAAQ;AAE3BR,YAAU,MAAA;AACRY,WAAOQ,SAASX,KAAAA;EAClB,GAAG;IAACG;IAAOH;GAAM;AAEjB,SAAOG;AACT;",
|
|
6
|
+
"names": ["useEffect", "useState", "Capabilities", "useCapability", "SpaceGraphModel", "useGraphModel", "db", "filter", "options", "items", "registry", "AtomRegistry", "model", "setModel", "undefined", "newModel", "open", "close", "setFilter", "setOptions", "setItems"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ExplorerAction_exports,
|
|
3
|
+
Graph_exports
|
|
4
|
+
} from "./chunk-HI324IB4.mjs";
|
|
5
|
+
import {
|
|
6
|
+
meta
|
|
7
|
+
} from "./chunk-42BYLQQA.mjs";
|
|
8
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
9
|
+
export {
|
|
10
|
+
ExplorerAction_exports as ExplorerAction,
|
|
11
|
+
Graph_exports as Graph,
|
|
12
|
+
meta
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"src/meta.ts":{"bytes":5389,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/ExplorerAction.ts":{"bytes":2116,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true}],"format":"esm"},"src/types/Graph.ts":{"bytes":4819,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":610,"imports":[{"path":"src/types/ExplorerAction.ts","kind":"import-statement","original":"./ExplorerAction"},{"path":"src/types/Graph.ts","kind":"import-statement","original":"./Graph"}],"format":"esm"},"src/index.ts":{"bytes":449,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-explorer/PLUGIN.mdl?raw":{"bytes":10512,"imports":[]},"src/ExplorerPlugin.tsx":{"bytes":3575,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-explorer/PLUGIN.mdl?raw","kind":"import-statement","original":"../PLUGIN.mdl?raw"}],"format":"esm"},"src/capabilities/create-object.ts":{"bytes":4859,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":3709,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1130,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/create-object.ts","kind":"dynamic-import","original":"./create-object"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/util/node-color.ts":{"bytes":2624,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/util/plot.ts":{"bytes":1374,"imports":[],"format":"esm"},"src/util/index.ts":{"bytes":458,"imports":[{"path":"src/util/node-color.ts","kind":"import-statement","original":"./node-color"},{"path":"src/util/plot.ts","kind":"import-statement","original":"./plot"}],"format":"esm"},"src/components/Chart/Chart.tsx":{"bytes":4719,"imports":[{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/Chart/index.ts":{"bytes":369,"imports":[{"path":"src/components/Chart/Chart.tsx","kind":"import-statement","original":"./Chart"}],"format":"esm"},"data/countries-110m.js":{"bytes":187226,"imports":[],"format":"esm"},"src/components/Globe/Globe.tsx":{"bytes":7283,"imports":[{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"topojson-client","kind":"import-statement","external":true},{"path":"data/countries-110m.js","kind":"import-statement","original":"../../../data/countries-110m.js"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/Globe/index.ts":{"bytes":369,"imports":[{"path":"src/components/Globe/Globe.tsx","kind":"import-statement","original":"./Globe"}],"format":"esm"},"src/components/Graph/graph-adapter.ts":{"bytes":4073,"imports":[],"format":"esm"},"src/components/Graph/CanvasForceGraph.tsx":{"bytes":12816,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"force-graph","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/components/Graph/graph-adapter.ts","kind":"import-statement","original":"./graph-adapter"}],"format":"esm"},"src/components/Graph/ForceGraph.tsx":{"bytes":12153,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph/styles/graph.css","kind":"import-statement","external":true}],"format":"esm"},"src/components/Graph/index.ts":{"bytes":490,"imports":[{"path":"src/components/Graph/CanvasForceGraph.tsx","kind":"import-statement","original":"./CanvasForceGraph"},{"path":"src/components/Graph/ForceGraph.tsx","kind":"import-statement","original":"./ForceGraph"}],"format":"esm"},"src/components/Tree/layout/useContainerSize.ts":{"bytes":5144,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/components/Lattice/Lattice.tsx":{"bytes":19160,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"src/util/node-color.ts","kind":"import-statement","original":"../../util/node-color"},{"path":"src/components/Tree/layout/useContainerSize.ts","kind":"import-statement","original":"../Tree/layout/useContainerSize"}],"format":"esm"},"src/components/Lattice/index.ts":{"bytes":375,"imports":[{"path":"src/components/Lattice/Lattice.tsx","kind":"import-statement","original":"./Lattice"}],"format":"esm"},"src/components/Tree/layout/slots.ts":{"bytes":2263,"imports":[],"format":"esm"},"src/components/Tree/layout/HierarchicalEdgeBundling.tsx":{"bytes":33701,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/util/node-color.ts","kind":"import-statement","original":"../../../util/node-color"},{"path":"src/components/Tree/layout/slots.ts","kind":"import-statement","original":"./slots"},{"path":"src/components/Tree/layout/useContainerSize.ts","kind":"import-statement","original":"./useContainerSize"}],"format":"esm"},"src/components/Tree/layout/hierarchy.ts":{"bytes":3401,"imports":[{"path":"d3","kind":"import-statement","external":true}],"format":"esm"},"src/components/Tree/layout/RadialTree.tsx":{"bytes":25201,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/util/node-color.ts","kind":"import-statement","original":"../../../util/node-color"},{"path":"src/components/Tree/layout/hierarchy.ts","kind":"import-statement","original":"./hierarchy"},{"path":"src/components/Tree/layout/slots.ts","kind":"import-statement","original":"./slots"},{"path":"src/components/Tree/layout/useContainerSize.ts","kind":"import-statement","original":"./useContainerSize"}],"format":"esm"},"src/components/Tree/layout/TidyTree.tsx":{"bytes":24597,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/components/Tree/layout/hierarchy.ts","kind":"import-statement","original":"./hierarchy"},{"path":"src/components/Tree/layout/slots.ts","kind":"import-statement","original":"./slots"},{"path":"src/components/Tree/layout/useContainerSize.ts","kind":"import-statement","original":"./useContainerSize"}],"format":"esm"},"src/components/Tree/layout/index.ts":{"bytes":768,"imports":[{"path":"src/components/Tree/layout/HierarchicalEdgeBundling.tsx","kind":"import-statement","original":"./HierarchicalEdgeBundling"},{"path":"src/components/Tree/layout/RadialTree.tsx","kind":"import-statement","original":"./RadialTree"},{"path":"src/components/Tree/layout/TidyTree.tsx","kind":"import-statement","original":"./TidyTree"},{"path":"src/components/Tree/layout/hierarchy.ts","kind":"import-statement","original":"./hierarchy"},{"path":"src/components/Tree/layout/slots.ts","kind":"import-statement","original":"./slots"}],"format":"esm"},"src/components/Tree/Tree.tsx":{"bytes":6327,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/components/Tree/layout/index.ts","kind":"import-statement","original":"./layout"}],"format":"esm"},"src/components/Tree/types/tree.ts":{"bytes":27806,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/testing","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"src/components/Tree/types/types.ts":{"bytes":3987,"imports":[],"format":"esm"},"src/components/Tree/types/index.ts":{"bytes":449,"imports":[{"path":"src/components/Tree/types/tree.ts","kind":"import-statement","original":"./tree"},{"path":"src/components/Tree/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/components/Tree/index.ts":{"bytes":644,"imports":[{"path":"src/components/Tree/Tree.tsx","kind":"import-statement","original":"./Tree"},{"path":"src/components/Tree/layout/index.ts","kind":"import-statement","original":"./layout"},{"path":"src/components/Tree/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/components/index.ts":{"bytes":694,"imports":[{"path":"src/components/Chart/index.ts","kind":"import-statement","original":"./Chart"},{"path":"src/components/Globe/index.ts","kind":"import-statement","original":"./Globe"},{"path":"src/components/Graph/index.ts","kind":"import-statement","original":"./Graph"},{"path":"src/components/Lattice/index.ts","kind":"import-statement","original":"./Lattice"},{"path":"src/components/Tree/index.ts","kind":"import-statement","original":"./Tree"}],"format":"esm"},"src/containers/ExplorerArticle/variants.ts":{"bytes":3213,"imports":[],"format":"esm"},"src/containers/ExplorerArticle/Visualization.tsx":{"bytes":62075,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/containers/ExplorerArticle/ExplorerArticle.tsx":{"bytes":12862,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-query","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-components","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph/styles/graph.css","kind":"import-statement","external":true},{"path":"#hooks","kind":"import-statement","external":true},{"path":"src/containers/ExplorerArticle/variants.ts","kind":"import-statement","original":"./variants"},{"path":"src/containers/ExplorerArticle/Visualization.tsx","kind":"import-statement","original":"./Visualization"}],"format":"esm"},"src/containers/ExplorerArticle/index.ts":{"bytes":524,"imports":[{"path":"src/containers/ExplorerArticle/ExplorerArticle.tsx","kind":"import-statement","original":"./ExplorerArticle"}],"format":"esm"},"src/containers/index.ts":{"bytes":720,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/containers/ExplorerArticle/index.ts","kind":"dynamic-import","original":"./ExplorerArticle"}],"format":"esm"},"src/hooks/useGraphModel.ts":{"bytes":4086,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/index.ts":{"bytes":389,"imports":[{"path":"src/hooks/useGraphModel.ts","kind":"import-statement","original":"./useGraphModel"}],"format":"esm"},"src/plugin.ts":{"bytes":865,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/testing/generator.ts":{"bytes":5095,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/components/Tree/types/index.ts","kind":"import-statement","original":"../components/Tree/types"}],"format":"esm"},"src/testing/relations.ts":{"bytes":13018,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"format":"esm"},"src/testing/index.ts":{"bytes":827,"imports":[{"path":"src/ExplorerPlugin.tsx","kind":"import-statement","original":"../ExplorerPlugin"},{"path":"src/testing/generator.ts","kind":"import-statement","original":"./generator"},{"path":"src/testing/relations.ts","kind":"import-statement","original":"./relations"}],"format":"esm"},"src/translations.ts":{"bytes":3236,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-components/translations","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/lib/neutral/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9474},"dist/lib/neutral/testing/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-3D7BYXOR.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-7XUDLV6E.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"exports":["ExplorerPlugin","buildOrgHierarchy","connectionsToEdges","createTree","generateConnectedOrgs"],"entryPoint":"src/testing/index.ts","inputs":{"src/testing/index.ts":{"bytesInOutput":0},"src/testing/generator.ts":{"bytesInOutput":1006},"src/testing/relations.ts":{"bytesInOutput":2485}},"bytes":3833},"dist/lib/neutral/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1564},"dist/lib/neutral/translations.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-components/translations","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":841}},"bytes":965},"dist/lib/neutral/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/types/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-HI324IB4.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["ExplorerAction","Graph"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":231},"dist/lib/neutral/create-object-F6TKVAGV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2465},"dist/lib/neutral/create-object-F6TKVAGV.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/create-object.ts","inputs":{"src/capabilities/create-object.ts":{"bytesInOutput":1158}},"bytes":1326},"dist/lib/neutral/react-surface-APBW2VQG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1907},"dist/lib/neutral/react-surface-APBW2VQG.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":906}},"bytes":1075},"dist/lib/neutral/ExplorerArticle-4I7PNGDC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":40187},"dist/lib/neutral/ExplorerArticle-4I7PNGDC.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-IKHJV3Q4.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-query","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-components","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph/styles/graph.css","kind":"import-statement","external":true},{"path":"#hooks","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/containers/ExplorerArticle/index.ts","inputs":{"src/containers/ExplorerArticle/ExplorerArticle.tsx":{"bytesInOutput":2931},"src/containers/ExplorerArticle/variants.ts":{"bytesInOutput":721},"src/containers/ExplorerArticle/Visualization.tsx":{"bytesInOutput":11546},"src/containers/ExplorerArticle/index.ts":{"bytesInOutput":0}},"bytes":15597},"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-HI324IB4.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-42BYLQQA.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["ExplorerAction","Graph","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":284},"dist/lib/neutral/chunk-HI324IB4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3585},"dist/lib/neutral/chunk-HI324IB4.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["ExplorerAction_exports","Graph_exports"],"inputs":{"src/types/ExplorerAction.ts":{"bytesInOutput":574},"src/types/index.ts":{"bytesInOutput":0},"src/types/Graph.ts":{"bytesInOutput":1054}},"bytes":1833},"dist/lib/neutral/ExplorerPlugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/ExplorerPlugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-3D7BYXOR.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["ExplorerPlugin","default"],"entryPoint":"src/ExplorerPlugin.tsx","inputs":{},"bytes":224},"dist/lib/neutral/chunk-3D7BYXOR.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13237},"dist/lib/neutral/chunk-3D7BYXOR.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["ExplorerPlugin","ExplorerPlugin_default"],"inputs":{"src/ExplorerPlugin.tsx":{"bytesInOutput":766},"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-explorer/PLUGIN.mdl?raw":{"bytesInOutput":11240}},"bytes":12237},"dist/lib/neutral/capabilities/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":602},"dist/lib/neutral/capabilities/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/neutral/create-object-F6TKVAGV.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/react-surface-APBW2VQG.mjs","kind":"dynamic-import"}],"exports":["CreateObject","ReactSurface"],"entryPoint":"src/capabilities/index.ts","inputs":{"src/capabilities/index.ts":{"bytesInOutput":248}},"bytes":388},"dist/lib/neutral/components/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":530145},"dist/lib/neutral/components/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-7XUDLV6E.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-IKHJV3Q4.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@observablehq/plot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"topojson-client","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"force-graph","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph/styles/graph.css","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"exports":["CanvasForceGraph","Chart","ForceGraph","Globe","HierarchicalEdgeBundling","Lattice","RadialTree","TidyTree","Tree","buildHierarchy","defaultTreeLayoutSlots","isCollapsed","isLeaf","treeTypeToTreeNode"],"entryPoint":"src/components/index.ts","inputs":{"src/components/Chart/Chart.tsx":{"bytesInOutput":1031},"src/components/Chart/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/components/Globe/Globe.tsx":{"bytesInOutput":1707},"data/countries-110m.js":{"bytesInOutput":188376},"src/components/Globe/index.ts":{"bytesInOutput":0},"src/components/Graph/CanvasForceGraph.tsx":{"bytesInOutput":2568},"src/components/Graph/graph-adapter.ts":{"bytesInOutput":619},"src/components/Graph/index.ts":{"bytesInOutput":0},"src/components/Graph/ForceGraph.tsx":{"bytesInOutput":2788},"src/components/Lattice/Lattice.tsx":{"bytesInOutput":3651},"src/components/Tree/layout/useContainerSize.ts":{"bytesInOutput":871},"src/components/Lattice/index.ts":{"bytesInOutput":0},"src/components/Tree/Tree.tsx":{"bytesInOutput":1069},"src/components/Tree/layout/HierarchicalEdgeBundling.tsx":{"bytesInOutput":6566},"src/components/Tree/layout/slots.ts":{"bytesInOutput":668},"src/components/Tree/layout/index.ts":{"bytesInOutput":0},"src/components/Tree/layout/RadialTree.tsx":{"bytesInOutput":5009},"src/components/Tree/layout/hierarchy.ts":{"bytesInOutput":420},"src/components/Tree/layout/TidyTree.tsx":{"bytesInOutput":4855},"src/components/Tree/index.ts":{"bytesInOutput":0}},"bytes":221476},"dist/lib/neutral/chunk-7XUDLV6E.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15055},"dist/lib/neutral/chunk-7XUDLV6E.mjs":{"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/testing","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"exports":["Tree","treeTypeToTreeNode"],"inputs":{"src/components/Tree/types/types.ts":{"bytesInOutput":609},"src/components/Tree/types/tree.ts":{"bytesInOutput":6676},"src/components/Tree/types/index.ts":{"bytesInOutput":0}},"bytes":7447},"dist/lib/neutral/chunk-IKHJV3Q4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2073},"dist/lib/neutral/chunk-IKHJV3Q4.mjs":{"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"exports":["createAdapter","getNodeFillForObject"],"inputs":{"src/util/node-color.ts":{"bytesInOutput":292},"src/util/plot.ts":{"bytesInOutput":133},"src/util/index.ts":{"bytesInOutput":0}},"bytes":569},"dist/lib/neutral/containers/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":407},"dist/lib/neutral/containers/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/neutral/ExplorerArticle-4I7PNGDC.mjs","kind":"dynamic-import"}],"exports":["ExplorerArticle"],"entryPoint":"src/containers/index.ts","inputs":{"src/containers/index.ts":{"bytesInOutput":107}},"bytes":232},"dist/lib/neutral/hooks/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2277},"dist/lib/neutral/hooks/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["useGraphModel"],"entryPoint":"src/hooks/index.ts","inputs":{"src/hooks/useGraphModel.ts":{"bytesInOutput":877},"src/hooks/index.ts":{"bytesInOutput":0}},"bytes":1003},"dist/lib/neutral/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/meta.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-42BYLQQA.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/meta.ts","inputs":{},"bytes":131},"dist/lib/neutral/plugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":446},"dist/lib/neutral/plugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-42BYLQQA.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["ExplorerPlugin"],"entryPoint":"src/plugin.ts","inputs":{"src/plugin.ts":{"bytesInOutput":111}},"bytes":272},"dist/lib/neutral/chunk-42BYLQQA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2476},"dist/lib/neutral/chunk-42BYLQQA.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":1904}},"bytes":1983},"dist/lib/neutral/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
meta
|
|
3
|
+
} from "./chunk-42BYLQQA.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
+
|
|
6
|
+
// src/plugin.ts
|
|
7
|
+
import { Plugin } from "@dxos/app-framework";
|
|
8
|
+
var ExplorerPlugin = Plugin.lazy(meta, () => import("#plugin"));
|
|
9
|
+
export {
|
|
10
|
+
ExplorerPlugin
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=plugin.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugin.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport const ExplorerPlugin = Plugin.lazy(meta, () => import('#plugin'));\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,cAAc;AAIhB,IAAMC,iBAAiBC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
|
|
6
|
+
"names": ["Plugin", "ExplorerPlugin", "Plugin", "lazy", "meta"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/react-surface.tsx
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
7
|
+
import { Surface } from "@dxos/app-framework/ui";
|
|
8
|
+
import { AppSurface } from "@dxos/app-toolkit/ui";
|
|
9
|
+
import { ExplorerArticle } from "#containers";
|
|
10
|
+
import { Graph } from "#types";
|
|
11
|
+
var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, Surface.create({
|
|
12
|
+
id: "article",
|
|
13
|
+
// TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.
|
|
14
|
+
filter: AppSurface.oneOf(AppSurface.object(AppSurface.Article, Graph.Graph), AppSurface.object(AppSurface.Section, Graph.Graph)),
|
|
15
|
+
component: ({ data, role }) => {
|
|
16
|
+
return /* @__PURE__ */ React.createElement(ExplorerArticle, {
|
|
17
|
+
role,
|
|
18
|
+
subject: data.subject,
|
|
19
|
+
attendableId: data.attendableId
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}))));
|
|
23
|
+
export {
|
|
24
|
+
react_surface_default as default
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=react-surface-APBW2VQG.mjs.map
|
|
@@ -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 from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\n\nimport { ExplorerArticle } from '#containers';\nimport { Graph } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(\n Capabilities.ReactSurface,\n Surface.create({\n id: 'article',\n // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.\n filter: AppSurface.oneOf(\n AppSurface.object(AppSurface.Article, Graph.Graph),\n AppSurface.object(AppSurface.Section, Graph.Graph),\n ),\n component: ({ data, role }) => {\n return <ExplorerArticle role={role} subject={data.subject} attendableId={data.attendableId} />;\n },\n }),\n ),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAE3B,SAASC,uBAAuB;AAChC,SAASC,aAAa;AAEtB,IAAA,wBAAeJ,WAAWK,WAAW,MAC5BC,eACLN,WAAWO,YACTR,aAAaS,cACbP,QAAQQ,OAAO;EACbC,IAAI;;EAEJC,QAAQT,WAAWU,MACjBV,WAAWW,OAAOX,WAAWY,SAASV,MAAMA,KAAK,GACjDF,WAAWW,OAAOX,WAAWa,SAASX,MAAMA,KAAK,CAAA;EAEnDY,WAAW,CAAC,EAAEC,MAAMC,KAAI,MAAE;AACxB,WAAO,sBAAA,cAACf,iBAAAA;MAAgBe;MAAYC,SAASF,KAAKE;MAASC,cAAcH,KAAKG;;EAChF;AACF,CAAA,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "React", "Capabilities", "Capability", "Surface", "AppSurface", "ExplorerArticle", "Graph", "makeModule", "succeed", "contributes", "ReactSurface", "create", "id", "filter", "oneOf", "object", "Article", "Section", "component", "data", "role", "subject", "attendableId"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ExplorerPlugin
|
|
3
|
+
} from "../chunk-3D7BYXOR.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Tree
|
|
6
|
+
} from "../chunk-7XUDLV6E.mjs";
|
|
7
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
8
|
+
|
|
9
|
+
// src/testing/generator.ts
|
|
10
|
+
import { Key, Obj } from "@dxos/echo";
|
|
11
|
+
import { range } from "@dxos/util";
|
|
12
|
+
var random = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;
|
|
13
|
+
var createTree = (spec = [], createText) => {
|
|
14
|
+
const tree = new Tree();
|
|
15
|
+
Obj.update(tree.tree, () => {
|
|
16
|
+
tree.root.data = {
|
|
17
|
+
text: "root"
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
const createNodes = (parent, spec2 = 0) => {
|
|
21
|
+
const count = Array.isArray(spec2) ? random(spec2[0], spec2[1]) : spec2;
|
|
22
|
+
return range(count, (i) => ({
|
|
23
|
+
id: Key.EntityId.random(),
|
|
24
|
+
children: [],
|
|
25
|
+
data: {
|
|
26
|
+
text: createText?.() ?? [
|
|
27
|
+
parent.data.text,
|
|
28
|
+
i + 1
|
|
29
|
+
].join(".")
|
|
30
|
+
}
|
|
31
|
+
}));
|
|
32
|
+
};
|
|
33
|
+
const createChildNodes = (parent, [count = 0, ...rest]) => {
|
|
34
|
+
const nodes = createNodes(parent, count);
|
|
35
|
+
nodes.forEach((n) => tree.addNode(parent, n));
|
|
36
|
+
if (rest.length) {
|
|
37
|
+
for (const node of nodes) {
|
|
38
|
+
createChildNodes(node, rest);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return parent;
|
|
42
|
+
};
|
|
43
|
+
createChildNodes(tree.root, spec);
|
|
44
|
+
return tree;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// src/testing/relations.ts
|
|
48
|
+
import { Query, Relation } from "@dxos/echo";
|
|
49
|
+
import { createObjectFactory, createRelationFactory } from "@dxos/schema/testing";
|
|
50
|
+
import { HasConnection, Organization, Person } from "@dxos/types";
|
|
51
|
+
var SECTORS = [
|
|
52
|
+
"Technology",
|
|
53
|
+
"Finance",
|
|
54
|
+
"Research",
|
|
55
|
+
"Media"
|
|
56
|
+
];
|
|
57
|
+
var CONNECTION_KINDS = [
|
|
58
|
+
"partner",
|
|
59
|
+
"investor",
|
|
60
|
+
"vendor",
|
|
61
|
+
"customer"
|
|
62
|
+
];
|
|
63
|
+
var generateConnectedOrgs = async (space, generator, { organizationCount = 12, personCount = 24, connectionCount = 18 } = {}) => {
|
|
64
|
+
const specs = [
|
|
65
|
+
{
|
|
66
|
+
type: Organization.Organization,
|
|
67
|
+
count: organizationCount
|
|
68
|
+
},
|
|
69
|
+
// Person has a Ref to Organization — generator fills it from objects already in db.
|
|
70
|
+
{
|
|
71
|
+
type: Person.Person,
|
|
72
|
+
count: personCount
|
|
73
|
+
}
|
|
74
|
+
];
|
|
75
|
+
await createObjectFactory(space.db, generator)(specs);
|
|
76
|
+
const relationSpecs = CONNECTION_KINDS.map((kind, index) => ({
|
|
77
|
+
type: HasConnection.HasConnection,
|
|
78
|
+
count: Math.floor(connectionCount / CONNECTION_KINDS.length) + (index < connectionCount % CONNECTION_KINDS.length ? 1 : 0),
|
|
79
|
+
data: {
|
|
80
|
+
kind
|
|
81
|
+
}
|
|
82
|
+
}));
|
|
83
|
+
const connections = await createRelationFactory(space.db, generator)(relationSpecs);
|
|
84
|
+
const organizations = await space.db.query(Query.type(Organization.Organization)).run();
|
|
85
|
+
const people = await space.db.query(Query.type(Person.Person)).run();
|
|
86
|
+
return {
|
|
87
|
+
organizations,
|
|
88
|
+
people,
|
|
89
|
+
connections
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
var buildOrgHierarchy = (organizations, sectors = SECTORS) => {
|
|
93
|
+
const activeSectors = sectors.length > 0 ? sectors : [
|
|
94
|
+
"Uncategorized"
|
|
95
|
+
];
|
|
96
|
+
const buckets = /* @__PURE__ */ new Map();
|
|
97
|
+
for (const sector of activeSectors) {
|
|
98
|
+
buckets.set(sector, []);
|
|
99
|
+
}
|
|
100
|
+
for (let i = 0; i < organizations.length; i++) {
|
|
101
|
+
const org = organizations[i];
|
|
102
|
+
const sector = activeSectors[i % activeSectors.length];
|
|
103
|
+
buckets.get(sector).push({
|
|
104
|
+
id: org.id,
|
|
105
|
+
label: org.name ?? org.id.slice(0, 6)
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
id: "root",
|
|
110
|
+
label: "Organizations",
|
|
111
|
+
children: activeSectors.map((sector) => ({
|
|
112
|
+
id: `sector:${sector}`,
|
|
113
|
+
label: sector,
|
|
114
|
+
children: buckets.get(sector) ?? []
|
|
115
|
+
}))
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
var connectionsToEdges = (connections) => {
|
|
119
|
+
return connections.map((relation) => {
|
|
120
|
+
const source = Relation.getSource(relation);
|
|
121
|
+
const target = Relation.getTarget(relation);
|
|
122
|
+
if (!source?.id || !target?.id) {
|
|
123
|
+
return void 0;
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
source: source.id,
|
|
127
|
+
target: target.id,
|
|
128
|
+
kind: relation.kind
|
|
129
|
+
};
|
|
130
|
+
}).filter((e) => Boolean(e));
|
|
131
|
+
};
|
|
132
|
+
export {
|
|
133
|
+
ExplorerPlugin,
|
|
134
|
+
buildOrgHierarchy,
|
|
135
|
+
connectionsToEdges,
|
|
136
|
+
createTree,
|
|
137
|
+
generateConnectedOrgs
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/testing/generator.ts", "../../../../src/testing/relations.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Key, Obj } from '@dxos/echo';\nimport { range } from '@dxos/util';\n\nimport { Tree, type TreeNodeType } from '../components/Tree/types';\n\ntype NumberOrNumberArray = number | number[];\n\nconst random = (min: number, max: number) => Math.floor(Math.random() * (max - min + 1)) + min;\n\n/**\n * Create hierarchical tree.\n */\nexport const createTree = (spec: NumberOrNumberArray[] = [], createText?: () => string): Tree => {\n const tree = new Tree();\n Obj.update(tree.tree, () => {\n tree.root.data = { text: 'root' };\n });\n\n const createNodes = (parent: TreeNodeType, spec: NumberOrNumberArray = 0): TreeNodeType[] => {\n const count = Array.isArray(spec) ? random(spec[0], spec[1]) : spec;\n return range(count, (i) => ({\n id: Key.EntityId.random(),\n children: [],\n data: {\n text: createText?.() ?? [parent.data.text, i + 1].join('.'),\n },\n }));\n };\n\n const createChildNodes = (parent: TreeNodeType, [count = 0, ...rest]: NumberOrNumberArray[]): TreeNodeType => {\n const nodes = createNodes(parent, count);\n nodes.forEach((n) => tree.addNode(parent, n));\n if (rest.length) {\n for (const node of nodes) {\n createChildNodes(node, rest);\n }\n }\n\n return parent;\n };\n\n createChildNodes(tree.root, spec);\n return tree;\n};\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { type Space } from '@dxos/client/echo';\nimport { Obj, Query, Relation } from '@dxos/echo';\nimport {\n type RelationSpec,\n type TypeSpec,\n type ValueGenerator,\n createObjectFactory,\n createRelationFactory,\n} from '@dxos/schema/testing';\nimport { HasConnection, Organization, Person } from '@dxos/types';\n\nimport { type BundleEdge } from '../components/Tree/layout';\nimport { type TreeNode } from '../components/Tree/types';\n\nconst SECTORS = ['Technology', 'Finance', 'Research', 'Media'];\nconst CONNECTION_KINDS = ['partner', 'investor', 'vendor', 'customer'];\n\nexport type ConnectedOrgsResult = {\n organizations: Obj.Any[];\n people: Obj.Any[];\n connections: Obj.Any[];\n};\n\nexport type ConnectedOrgsOptions = {\n organizationCount?: number;\n personCount?: number;\n connectionCount?: number;\n};\n\n/**\n * Populate a space with Organizations, People, and HasConnection relations between organizations.\n * Uses `createObjectFactory` to generate Org/Person properties from their `GeneratorAnnotation`s,\n * then `createRelationFactory` to wire HasConnection relations (Org→Org) between them, spreading\n * the connections across the available kinds.\n */\nexport const generateConnectedOrgs = async (\n space: Space,\n generator: ValueGenerator,\n { organizationCount = 12, personCount = 24, connectionCount = 18 }: ConnectedOrgsOptions = {},\n): Promise<ConnectedOrgsResult> => {\n const specs: TypeSpec[] = [\n { type: Organization.Organization, count: organizationCount },\n // Person has a Ref to Organization — generator fills it from objects already in db.\n { type: Person.Person, count: personCount },\n ];\n\n await createObjectFactory(space.db, generator)(specs);\n\n // Distribute the requested connections evenly across the connection kinds.\n const relationSpecs: RelationSpec[] = CONNECTION_KINDS.map((kind, index) => ({\n type: HasConnection.HasConnection,\n count:\n Math.floor(connectionCount / CONNECTION_KINDS.length) +\n (index < connectionCount % CONNECTION_KINDS.length ? 1 : 0),\n data: { kind },\n }));\n const connections = await createRelationFactory(space.db, generator)(relationSpecs);\n\n const organizations = await space.db.query(Query.type(Organization.Organization)).run();\n const people = await space.db.query(Query.type(Person.Person)).run();\n return { organizations, people, connections };\n};\n\n/**\n * Build a TreeNode hierarchy: Root → Sector → Organization (leaf).\n * Organizations are deterministically bucketed into `SECTORS` so the demo has visible groups.\n */\nexport const buildOrgHierarchy = (organizations: Obj.Any[], sectors: readonly string[] = SECTORS): TreeNode => {\n // Avoid modulo-by-zero / missing-bucket crashes when the caller passes an empty sectors list.\n const activeSectors = sectors.length > 0 ? sectors : ['Uncategorized'];\n const buckets = new Map<string, TreeNode[]>();\n for (const sector of activeSectors) {\n buckets.set(sector, []);\n }\n for (let i = 0; i < organizations.length; i++) {\n const org = organizations[i] as any;\n const sector = activeSectors[i % activeSectors.length];\n buckets.get(sector)!.push({\n id: org.id,\n label: org.name ?? org.id.slice(0, 6),\n });\n }\n\n return {\n id: 'root',\n label: 'Organizations',\n children: activeSectors.map((sector) => ({\n id: `sector:${sector}`,\n label: sector,\n children: buckets.get(sector) ?? [],\n })),\n };\n};\n\n/**\n * Convert HasConnection relations into bundle edges between organization ids.\n */\nexport const connectionsToEdges = (connections: Obj.Any[]): BundleEdge[] => {\n return connections\n .map((relation): BundleEdge | undefined => {\n const source = Relation.getSource(relation as any) as any;\n const target = Relation.getTarget(relation as any) as any;\n if (!source?.id || !target?.id) {\n return undefined;\n }\n return {\n source: source.id,\n target: target.id,\n kind: (relation as any).kind,\n };\n })\n .filter((e): e is BundleEdge => Boolean(e));\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;AAIA,SAASA,KAAKC,WAAW;AACzB,SAASC,aAAa;AAMtB,IAAMC,SAAS,CAACC,KAAaC,QAAgBC,KAAKC,MAAMD,KAAKH,OAAM,KAAME,MAAMD,MAAM,EAAA,IAAMA;AAKpF,IAAMI,aAAa,CAACC,OAA8B,CAAA,GAAIC,eAAAA;AAC3D,QAAMC,OAAO,IAAIC,KAAAA;AACjBC,MAAIC,OAAOH,KAAKA,MAAM,MAAA;AACpBA,SAAKI,KAAKC,OAAO;MAAEC,MAAM;IAAO;EAClC,CAAA;AAEA,QAAMC,cAAc,CAACC,QAAsBV,QAA4B,MAAC;AACtE,UAAMW,QAAQC,MAAMC,QAAQb,KAAAA,IAAQN,OAAOM,MAAK,CAAA,GAAIA,MAAK,CAAA,CAAE,IAAIA;AAC/D,WAAOc,MAAMH,OAAO,CAACI,OAAO;MAC1BC,IAAIC,IAAIC,SAASxB,OAAM;MACvByB,UAAU,CAAA;MACVZ,MAAM;QACJC,MAAMP,aAAAA,KAAkB;UAACS,OAAOH,KAAKC;UAAMO,IAAI;UAAGK,KAAK,GAAA;MACzD;IACF,EAAA;EACF;AAEA,QAAMC,mBAAmB,CAACX,QAAsB,CAACC,QAAQ,GAAMW,OAAAA,MAA4B;AACzF,UAAMC,QAAQd,YAAYC,QAAQC,KAAAA;AAClCY,UAAMC,QAAQ,CAACC,MAAMvB,KAAKwB,QAAQhB,QAAQe,CAAAA,CAAAA;AAC1C,QAAIH,KAAKK,QAAQ;AACf,iBAAWC,QAAQL,OAAO;AACxBF,yBAAiBO,MAAMN,IAAAA;MACzB;IACF;AAEA,WAAOZ;EACT;AAEAW,mBAAiBnB,KAAKI,MAAMN,IAAAA;AAC5B,SAAOE;AACT;;;AC1CA,SAAc2B,OAAOC,gBAAgB;AACrC,SAIEC,qBACAC,6BACK;AACP,SAASC,eAAeC,cAAcC,cAAc;AAKpD,IAAMC,UAAU;EAAC;EAAc;EAAW;EAAY;;AACtD,IAAMC,mBAAmB;EAAC;EAAW;EAAY;EAAU;;AAoBpD,IAAMC,wBAAwB,OACnCC,OACAC,WACA,EAAEC,oBAAoB,IAAIC,cAAc,IAAIC,kBAAkB,GAAE,IAA2B,CAAC,MAAC;AAE7F,QAAMC,QAAoB;IACxB;MAAEC,MAAMX,aAAaA;MAAcY,OAAOL;IAAkB;;IAE5D;MAAEI,MAAMV,OAAOA;MAAQW,OAAOJ;IAAY;;AAG5C,QAAMX,oBAAoBQ,MAAMQ,IAAIP,SAAAA,EAAWI,KAAAA;AAG/C,QAAMI,gBAAgCX,iBAAiBY,IAAI,CAACC,MAAMC,WAAW;IAC3EN,MAAMZ,cAAcA;IACpBa,OACEM,KAAKC,MAAMV,kBAAkBN,iBAAiBiB,MAAM,KACnDH,QAAQR,kBAAkBN,iBAAiBiB,SAAS,IAAI;IAC3DC,MAAM;MAAEL;IAAK;EACf,EAAA;AACA,QAAMM,cAAc,MAAMxB,sBAAsBO,MAAMQ,IAAIP,SAAAA,EAAWQ,aAAAA;AAErE,QAAMS,gBAAgB,MAAMlB,MAAMQ,GAAGW,MAAM7B,MAAMgB,KAAKX,aAAaA,YAAY,CAAA,EAAGyB,IAAG;AACrF,QAAMC,SAAS,MAAMrB,MAAMQ,GAAGW,MAAM7B,MAAMgB,KAAKV,OAAOA,MAAM,CAAA,EAAGwB,IAAG;AAClE,SAAO;IAAEF;IAAeG;IAAQJ;EAAY;AAC9C;AAMO,IAAMK,oBAAoB,CAACJ,eAA0BK,UAA6B1B,YAAO;AAE9F,QAAM2B,gBAAgBD,QAAQR,SAAS,IAAIQ,UAAU;IAAC;;AACtD,QAAME,UAAU,oBAAIC,IAAAA;AACpB,aAAWC,UAAUH,eAAe;AAClCC,YAAQG,IAAID,QAAQ,CAAA,CAAE;EACxB;AACA,WAASE,IAAI,GAAGA,IAAIX,cAAcH,QAAQc,KAAK;AAC7C,UAAMC,MAAMZ,cAAcW,CAAAA;AAC1B,UAAMF,SAASH,cAAcK,IAAIL,cAAcT,MAAM;AACrDU,YAAQM,IAAIJ,MAAAA,EAASK,KAAK;MACxBC,IAAIH,IAAIG;MACRC,OAAOJ,IAAIK,QAAQL,IAAIG,GAAGG,MAAM,GAAG,CAAA;IACrC,CAAA;EACF;AAEA,SAAO;IACLH,IAAI;IACJC,OAAO;IACPG,UAAUb,cAAcd,IAAI,CAACiB,YAAY;MACvCM,IAAI,UAAUN,MAAAA;MACdO,OAAOP;MACPU,UAAUZ,QAAQM,IAAIJ,MAAAA,KAAW,CAAA;IACnC,EAAA;EACF;AACF;AAKO,IAAMW,qBAAqB,CAACrB,gBAAAA;AACjC,SAAOA,YACJP,IAAI,CAAC6B,aAAAA;AACJ,UAAMC,SAASjD,SAASkD,UAAUF,QAAAA;AAClC,UAAMG,SAASnD,SAASoD,UAAUJ,QAAAA;AAClC,QAAI,CAACC,QAAQP,MAAM,CAACS,QAAQT,IAAI;AAC9B,aAAOW;IACT;AACA,WAAO;MACLJ,QAAQA,OAAOP;MACfS,QAAQA,OAAOT;MACftB,MAAO4B,SAAiB5B;IAC1B;EACF,CAAA,EACCkC,OAAO,CAACC,MAAuBC,QAAQD,CAAAA,CAAAA;AAC5C;",
|
|
6
|
+
"names": ["Key", "Obj", "range", "random", "min", "max", "Math", "floor", "createTree", "spec", "createText", "tree", "Tree", "Obj", "update", "root", "data", "text", "createNodes", "parent", "count", "Array", "isArray", "range", "i", "id", "Key", "EntityId", "children", "join", "createChildNodes", "rest", "nodes", "forEach", "n", "addNode", "length", "node", "Query", "Relation", "createObjectFactory", "createRelationFactory", "HasConnection", "Organization", "Person", "SECTORS", "CONNECTION_KINDS", "generateConnectedOrgs", "space", "generator", "organizationCount", "personCount", "connectionCount", "specs", "type", "count", "db", "relationSpecs", "map", "kind", "index", "Math", "floor", "length", "data", "connections", "organizations", "query", "run", "people", "buildOrgHierarchy", "sectors", "activeSectors", "buckets", "Map", "sector", "set", "i", "org", "get", "push", "id", "label", "name", "slice", "children", "connectionsToEdges", "relation", "source", "getSource", "target", "getTarget", "undefined", "filter", "e", "Boolean"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/translations.ts
|
|
4
|
+
import { Type } from "@dxos/echo";
|
|
5
|
+
import { translations as componentsTranslations } from "@dxos/react-ui-components/translations";
|
|
6
|
+
import { meta } from "#meta";
|
|
7
|
+
import { Graph } from "#types";
|
|
8
|
+
var translations = [
|
|
9
|
+
{
|
|
10
|
+
"en-US": {
|
|
11
|
+
[Type.getTypename(Graph.Graph)]: {
|
|
12
|
+
"typename.label": "Explorer",
|
|
13
|
+
"typename.label_zero": "Explorers",
|
|
14
|
+
"typename.label_one": "Explorer",
|
|
15
|
+
"typename.label_other": "Explorers",
|
|
16
|
+
"object-name.placeholder": "New explorer",
|
|
17
|
+
"add-object.label": "Add explorer",
|
|
18
|
+
"rename-object.label": "Rename explorer",
|
|
19
|
+
"delete-object.label": "Delete explorer",
|
|
20
|
+
"object-deleted.label": "Explorer deleted"
|
|
21
|
+
},
|
|
22
|
+
[meta.id]: {
|
|
23
|
+
"plugin.name": "Explorer",
|
|
24
|
+
"object-title.label": "Title"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
...componentsTranslations
|
|
29
|
+
];
|
|
30
|
+
export {
|
|
31
|
+
translations
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=translations.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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.id]: {\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,EAAE,GAAG;QACT,eAAe;QACf,sBAAsB;MACxB;IACF;EACF;KACGJ;;",
|
|
6
|
+
"names": ["Type", "translations", "componentsTranslations", "meta", "Graph", "getTypename", "id"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
declare
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
declare const _default: {
|
|
2
|
+
type: string;
|
|
3
|
+
features: {
|
|
4
4
|
type: string;
|
|
5
5
|
properties: {
|
|
6
6
|
pop_max: number;
|
|
@@ -12,6 +12,6 @@ declare namespace _default {
|
|
|
12
12
|
coordinates: number[];
|
|
13
13
|
};
|
|
14
14
|
}[];
|
|
15
|
-
}
|
|
15
|
+
};
|
|
16
16
|
export default _default;
|
|
17
17
|
//# sourceMappingURL=cities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cities.d.ts","sourceRoot":"","sources":["../../../data/cities.js"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"cities.d.ts","sourceRoot":"","sources":["../../../data/cities.js"],"names":[],"mappings":";;;;;YAUQ,OAAO;YACP,IAAI;YACJ,QAAQ;;;YAGR,IAAI;YACJ,WAAW"}
|