@dxos/plugin-explorer 0.8.3 → 0.8.4-main.28f8d3d
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/browser/{ExplorerContainer-DXL34I3F.mjs → ExplorerContainer-5QHLD2B2.mjs} +4 -4
- package/dist/lib/browser/{ExplorerContainer-DXL34I3F.mjs.map → ExplorerContainer-5QHLD2B2.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-SLB2F5AO.mjs → chunk-2MKBRIUT.mjs} +7 -6
- package/dist/lib/browser/chunk-2MKBRIUT.mjs.map +7 -0
- package/dist/lib/browser/{chunk-73YTQHOT.mjs → chunk-CZZ3DDR7.mjs} +4 -4
- package/dist/lib/browser/{chunk-73YTQHOT.mjs.map → chunk-CZZ3DDR7.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-Z5BGAHLD.mjs → chunk-L4U4MPSZ.mjs} +8 -5
- package/dist/lib/browser/{chunk-Z5BGAHLD.mjs.map → chunk-L4U4MPSZ.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-JRKQNHS6.mjs → chunk-LGK64HLU.mjs} +18 -258
- package/dist/lib/browser/{chunk-JRKQNHS6.mjs.map → chunk-LGK64HLU.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-OBAFAA5V.mjs → chunk-UL5EDJPE.mjs} +2 -2
- package/dist/lib/browser/index.mjs +19 -18
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-JZKYVFQJ.mjs → intent-resolver-7MVEYNX7.mjs} +5 -5
- package/dist/lib/browser/{intent-resolver-JZKYVFQJ.mjs.map → intent-resolver-7MVEYNX7.mjs.map} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/meta.mjs +1 -1
- package/dist/lib/browser/{react-surface-IAEP2GBT.mjs → react-surface-FABRDFTF.mjs} +6 -6
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{ExplorerContainer-MFE7PXF4.mjs → ExplorerContainer-AMYAVLO4.mjs} +4 -4
- package/dist/lib/node-esm/{ExplorerContainer-MFE7PXF4.mjs.map → ExplorerContainer-AMYAVLO4.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-VSORIAHH.mjs → chunk-3ODK27PU.mjs} +7 -6
- package/dist/lib/node-esm/chunk-3ODK27PU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-N6VEANUZ.mjs → chunk-4GWDNZ4Z.mjs} +4 -4
- package/dist/lib/node-esm/{chunk-N6VEANUZ.mjs.map → chunk-4GWDNZ4Z.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-AE7VHUJM.mjs → chunk-MCOXQ3ML.mjs} +8 -5
- package/dist/lib/node-esm/{chunk-AE7VHUJM.mjs.map → chunk-MCOXQ3ML.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-3CMBLK6W.mjs → chunk-PIAXA43R.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-IUFYOE44.mjs → chunk-W4ZNCGOD.mjs} +18 -258
- package/dist/lib/node-esm/{chunk-IUFYOE44.mjs.map → chunk-W4ZNCGOD.mjs.map} +3 -3
- package/dist/lib/node-esm/index.mjs +19 -18
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-7G6ZKM6E.mjs → intent-resolver-NL3SR2XF.mjs} +5 -5
- package/dist/lib/node-esm/{intent-resolver-7G6ZKM6E.mjs.map → intent-resolver-NL3SR2XF.mjs.map} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/meta.mjs +1 -1
- package/dist/lib/node-esm/{react-surface-XBH3WZDL.mjs → react-surface-EYCZUAAI.mjs} +6 -6
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/components/Chart/Chart.d.ts.map +1 -1
- package/dist/types/src/components/Chart/Chart.stories.d.ts +1 -1
- package/dist/types/src/components/Chart/Chart.stories.d.ts.map +1 -1
- package/dist/types/src/components/ExplorerContainer.d.ts.map +1 -1
- package/dist/types/src/components/Globe/Globe.d.ts.map +1 -1
- package/dist/types/src/components/Globe/Globe.stories.d.ts +1 -1
- package/dist/types/src/components/Globe/Globe.stories.d.ts.map +1 -1
- package/dist/types/src/components/Graph/D3ForceGraph.stories.d.ts +1 -1
- package/dist/types/src/components/Graph/D3ForceGraph.stories.d.ts.map +1 -1
- package/dist/types/src/components/Graph/ForceGraph.stories.d.ts +1 -1
- package/dist/types/src/components/Graph/ForceGraph.stories.d.ts.map +1 -1
- package/dist/types/src/components/Graph/testing.d.ts +1 -1
- package/dist/types/src/components/Graph/testing.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/hooks/useGraphModel.d.ts +2 -2
- package/dist/types/src/hooks/useGraphModel.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +16 -23
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +40 -30
- package/src/ExplorerPlugin.tsx +3 -3
- package/src/capabilities/intent-resolver.ts +1 -1
- package/src/components/Chart/Chart.stories.tsx +3 -2
- package/src/components/Chart/Chart.tsx +1 -1
- package/src/components/ExplorerContainer.tsx +2 -1
- package/src/components/Globe/Globe.stories.tsx +4 -3
- package/src/components/Globe/Globe.tsx +1 -1
- package/src/components/Graph/D3ForceGraph.stories.tsx +5 -4
- package/src/components/Graph/D3ForceGraph.tsx +1 -1
- package/src/components/Graph/ForceGraph.stories.tsx +5 -4
- package/src/components/Graph/ForceGraph.tsx +2 -2
- package/src/components/Graph/testing.ts +2 -2
- package/src/components/Tree/Tree.stories.tsx +2 -2
- package/src/components/Tree/Tree.tsx +1 -1
- package/src/components/Tree/types/tree.test.ts +4 -3
- package/src/hooks/useGraphModel.ts +5 -4
- package/src/translations.ts +8 -6
- package/src/types/types.ts +2 -1
- package/dist/lib/browser/chunk-SLB2F5AO.mjs.map +0 -7
- package/dist/lib/node/ExplorerContainer-VUXH55VV.cjs +0 -61
- package/dist/lib/node/ExplorerContainer-VUXH55VV.cjs.map +0 -7
- package/dist/lib/node/chunk-4T4LCT5R.cjs +0 -52
- package/dist/lib/node/chunk-4T4LCT5R.cjs.map +0 -7
- package/dist/lib/node/chunk-BCDVG2CH.cjs +0 -44
- package/dist/lib/node/chunk-BCDVG2CH.cjs.map +0 -7
- package/dist/lib/node/chunk-MLRYW4WQ.cjs +0 -56
- package/dist/lib/node/chunk-MLRYW4WQ.cjs.map +0 -7
- package/dist/lib/node/chunk-SVU4VMYX.cjs +0 -11339
- package/dist/lib/node/chunk-SVU4VMYX.cjs.map +0 -7
- package/dist/lib/node/chunk-TY543HPV.cjs +0 -214
- package/dist/lib/node/chunk-TY543HPV.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -130
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-G2MFNIXA.cjs +0 -39
- package/dist/lib/node/intent-resolver-G2MFNIXA.cjs.map +0 -7
- package/dist/lib/node/meta.cjs +0 -31
- package/dist/lib/node/meta.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-surface-UJD5RGRZ.cjs +0 -53
- package/dist/lib/node/react-surface-UJD5RGRZ.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -32
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-VSORIAHH.mjs.map +0 -7
- /package/dist/lib/browser/{chunk-OBAFAA5V.mjs.map → chunk-UL5EDJPE.mjs.map} +0 -0
- /package/dist/lib/browser/{react-surface-IAEP2GBT.mjs.map → react-surface-FABRDFTF.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-3CMBLK6W.mjs.map → chunk-PIAXA43R.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-surface-XBH3WZDL.mjs.map → react-surface-EYCZUAAI.mjs.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/Graph/D3ForceGraph.tsx", "../../../src/components/Graph/ForceGraph.tsx", "../../../src/components/Graph/adapter.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC, useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { SelectionModel } from '@dxos/graph';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport {\n type GraphController,\n GraphForceProjector,\n type GraphLayoutNode,\n type GraphProps,\n SVG,\n type SVGContext,\n} from '@dxos/react-ui-graph';\nimport { getHashColor } from '@dxos/react-ui-theme';\nimport { type
|
|
5
|
-
"mappings": ";;;;AAIA,OAAOA,SAAkBC,aAAaC,WAAWC,SAASC,cAAc;AAExE,SAASC,WAAW;AACpB,SAASC,sBAAsB;AAE/B,SAEEC,qBAGAC,WAEK;AACP,SAASC,oBAAoB;AAG7B,OAAO;AAWA,IAAMC,eAAsC,CAAC,EAAEC,YAAYC,OAAOC,WAAWC,YAAYC,MAAM,GAAGC,MAAAA,MAAO;;;AAC9G,UAAMC,UAAUC,OAAmB,IAAA;AACnC,UAAMC,YAAYC,QAAyC,MAAA;AACzD,UAAIH,QAAQI,SAAS;AACnB,eAAO,IAAIC,oBAAoBL,QAAQI,SAAS;UAC9CE,YAAY;YACVC,WAAW,CAACC,SAAAA;AAGV,qBAAOA,KAAKC,MAAMC,QAAQC,WAAW;YACvC;UACF;UACAC,QAAQ;YACNC,OAAO;cACLC,UAAU;YACZ;UACF;QACF,CAAA;MACF;IACF,GAAG;MAACd,QAAQI;KAAQ;AAEpB,UAAMW,QAAQd,OAAwB,IAAA;AACtC,UAAML,YAAYO,QAAQ,MAAMN,cAAc,IAAImB,eAAAA,GAAkB;MAACnB;KAAW;AAChFoB,cAAU,MAAMF,MAAMX,SAASc,QAAAA,GAAW;MAACtB,UAAUuB,SAASC;KAAM;AAEpE,UAAMC,eAAeC,YACnB,CAACC,SAAAA;AACC,UAAI3B,UAAU4B,SAASD,KAAKE,EAAE,GAAG;AAC/B7B,kBAAU8B,OAAOH,KAAKE,EAAE;MAC1B,OAAO;AACL7B,kBAAU+B,IAAIJ,KAAKE,EAAE;MACvB;IACF,GACA;MAAC7B;KAAU;AAGb,WACE,sBAAA,cAACgC,IAAIC,MAAI;MAACC,KAAK9B;MAASN;OACtB,sBAAA,cAACkC,IAAIG,SAAO,IAAA,GACXjC,QAAQ,sBAAA,cAAC8B,IAAII,MAAI;MAACC,MAAAA;QACnB,sBAAA,cAACL,IAAIM,MAAI;MAACC,QAAQ;QAAC,IAAI;QAAG;;OACxB,sBAAA,cAACP,IAAIQ,OAAK;MACP,GAAGrC;MACJ+B,KAAKf;MACLpB;MACAO;MACAmC,QAAQ;QACNC,MAAM,CAACf,SAAAA;AACL,iBAAOA,KAAKd,MAAMA,KAAK8B,SAAShB,KAAKE;QACvC;MACF;MACAnB,YAAY;QACViB,MAAM,CAACA,SAAAA;AACL,gBAAMiB,MAAMjB,KAAKd,MAAMA,KAAKC;AAC5B,iBAAO;YACLD,MAAM;cACJgC,OAAOC,aAAaF,OAAOG,IAAIC,YAAYJ,GAAAA,CAAAA,GAAOC;YACpD;YACAI,SAAS;cACP,eAAejD,UAAU4B,SAASD,KAAKE,EAAE;YAC3C;UACF;QACF;MACF;MACAqB,UAAUzB;;;;;AAKpB;;;;AChGA,SAAS0B,WAAWC,qBAAqB;AACzC,OAAOC,sBAAsB;AAC7B,OAAOC,UAAkBC,aAAAA,YAAWC,UAAAA,SAAQC,gBAAgB;AAC5D,SAASC,yBAAyB;AAElC,
|
|
6
|
-
"names": ["React", "useCallback", "useEffect", "useMemo", "useRef", "Obj", "SelectionModel", "GraphForceProjector", "SVG", "getHashColor", "D3ForceGraph", "classNames", "model", "selection", "_selection", "grid", "props", "context", "useRef", "projector", "useMemo", "current", "GraphForceProjector", "attributes", "linkForce", "edge", "data", "object", "active", "forces", "point", "strength", "graph", "SelectionModel", "useEffect", "repaint", "selected", "value", "handleSelect", "useCallback", "node", "contains", "id", "remove", "add", "SVG", "Root", "ref", "Markers", "Grid", "axis", "Zoom", "extent", "Graph", "labels", "text", "label", "obj", "color", "getHashColor", "Obj", "getTypename", "classes", "onSelect", "forceLink", "forceManyBody", "NativeForceGraph", "React", "useEffect", "useRef", "useState", "useResizeDetector", "filterObjectsSync", "GraphAdapter", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC, useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { SelectionModel } from '@dxos/graph';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport {\n type GraphController,\n GraphForceProjector,\n type GraphLayoutNode,\n type GraphProps,\n SVG,\n type SVGContext,\n} from '@dxos/react-ui-graph';\nimport { getHashColor } from '@dxos/react-ui-theme';\nimport { type SpaceGraphEdge, type SpaceGraphModel, type SpaceGraphNode } from '@dxos/schema';\n\nimport '@dxos/react-ui-graph/styles/graph.css';\n\nexport type D3ForceGraphProps = ThemedClassName<\n {\n model?: SpaceGraphModel;\n match?: RegExp;\n selection?: SelectionModel;\n grid?: boolean;\n } & Pick<GraphProps, 'drag'>\n>;\n\nexport const D3ForceGraph: FC<D3ForceGraphProps> = ({ classNames, model, selection: _selection, grid, ...props }) => {\n const context = useRef<SVGContext>(null);\n const projector = useMemo<GraphForceProjector | undefined>(() => {\n if (context.current) {\n return new GraphForceProjector(context.current, {\n attributes: {\n linkForce: (edge) => {\n // TODO(burdon): Check type (currently assumes Employee property).\n // Edge shouldn't contribute to force if it's not active.\n return edge.data?.object?.active !== false;\n },\n },\n forces: {\n point: {\n strength: 0.01,\n },\n },\n });\n }\n }, [context.current]);\n\n const graph = useRef<GraphController>(null);\n const selection = useMemo(() => _selection ?? new SelectionModel(), [_selection]);\n useEffect(() => graph.current?.repaint(), [selection.selected.value]);\n\n const handleSelect = useCallback<NonNullable<GraphProps['onSelect']>>(\n (node) => {\n if (selection.contains(node.id)) {\n selection.remove(node.id);\n } else {\n selection.add(node.id);\n }\n },\n [selection],\n );\n\n return (\n <SVG.Root ref={context} classNames={classNames}>\n <SVG.Markers />\n {grid && <SVG.Grid axis />}\n <SVG.Zoom extent={[1 / 2, 2]}>\n <SVG.Graph<SpaceGraphNode, SpaceGraphEdge>\n {...props}\n ref={graph}\n model={model}\n projector={projector}\n labels={{\n text: (node) => {\n return node.data?.data.label ?? node.id;\n },\n }}\n attributes={{\n node: (node: GraphLayoutNode<SpaceGraphNode>) => {\n const obj = node.data?.data.object;\n return {\n data: {\n color: getHashColor(obj && Obj.getTypename(obj))?.color,\n },\n classes: {\n 'dx-selected': selection.contains(node.id),\n },\n };\n },\n }}\n onSelect={handleSelect}\n />\n </SVG.Zoom>\n </SVG.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { forceLink, forceManyBody } from 'd3';\nimport NativeForceGraph from 'force-graph';\nimport React, { type FC, useEffect, useRef, useState } from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { type SearchResult, filterObjectsSync } from '@dxos/plugin-search';\nimport { type SpaceGraphModel } from '@dxos/schema';\n\nimport { GraphAdapter } from './adapter';\n\nexport type ForceGraphProps = {\n model?: SpaceGraphModel;\n match?: RegExp;\n};\n\nexport const ForceGraph: FC<ForceGraphProps> = ({ model, match }) => {\n const { ref, width, height } = useResizeDetector({ refreshRate: 200 });\n const rootRef = useRef<HTMLDivElement>(null);\n const forceGraph = useRef<NativeForceGraph>();\n\n const filteredRef = useRef<SearchResult[]>();\n filteredRef.current = filterObjectsSync(model?.objects ?? [], match);\n\n const [data, setData] = useState<GraphAdapter>();\n useEffect(() => {\n return model?.subscribe((model) => {\n setData(new GraphAdapter(model.graph));\n });\n }, [model]);\n\n useEffect(() => {\n if (rootRef.current) {\n // https://github.com/vasturiano/force-graph\n // https://github.com/vasturiano/3d-force-graph\n forceGraph.current = new NativeForceGraph(rootRef.current)\n // https://github.com/vasturiano/force-graph?tab=readme-ov-file#node-styling\n .nodeRelSize(6)\n .nodeLabel((node: any) => (node.type === 'schema' ? node.data.typename : (node.data.label ?? node.id)))\n .nodeAutoColorBy((node: any) => (node.type === 'schema' ? 'schema' : node.data.typename))\n\n // https://github.com/vasturiano/force-graph?tab=readme-ov-file#link-styling\n .linkAutoColorBy((link: any) => link.type);\n }\n\n return () => {\n forceGraph.current?.pauseAnimation().graphData({ nodes: [], links: [] });\n forceGraph.current = undefined;\n };\n }, []);\n\n useEffect(() => {\n if (!data || !width || !height || !forceGraph.current) {\n return;\n }\n\n // https://github.com/vasturiano/force-graph?tab=readme-ov-file#container-layout\n forceGraph.current\n .pauseAnimation()\n .width(width)\n .height(height)\n .onEngineStop(() => {\n handleZoomToFit();\n })\n .onNodeClick((node: any) => {\n forceGraph.current?.emitParticle(node);\n })\n\n // https://github.com/vasturiano/force-graph?tab=readme-ov-file#force-engine-d3-force-configuration\n // .d3Force('center', forceCenter().strength(0.9))\n .d3Force('link', forceLink().distance(160).strength(0.5))\n .d3Force('charge', forceManyBody().strength(-30))\n\n .graphData(data)\n .warmupTicks(100)\n .cooldownTime(1_000)\n .resumeAnimation();\n }, [data, width, height, forceGraph.current]);\n\n const handleZoomToFit = () => {\n forceGraph.current?.zoomToFit(400, 40);\n };\n\n return (\n <div ref={ref} className='relative grow' onClick={handleZoomToFit}>\n <div ref={rootRef} className='absolute inset-0' />\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Graph } from '@dxos/graph';\n\nexport type GraphNode = {\n id?: string;\n};\n\nexport type GraphLink = {\n source?: string;\n target?: string;\n};\n\nexport type GraphData = {\n nodes: GraphNode[];\n links: GraphLink[];\n};\n\n/**\n * Map common graph to force-graph format.\n */\nexport class GraphAdapter implements GraphData {\n private readonly _nodes: GraphNode[] = [];\n private readonly _links: GraphLink[] = [];\n\n constructor(private readonly graph: Graph) {\n this._nodes = graph.nodes.map((node) => ({\n id: node.id,\n type: node.type,\n data: node.data,\n }));\n\n this._links = graph.edges.map((edge) => ({\n type: edge.type,\n source: edge.source,\n target: edge.target,\n data: edge.data,\n }));\n }\n\n get nodes() {\n return this._nodes;\n }\n\n get links() {\n return this._links;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useCallback", "useEffect", "useMemo", "useRef", "Obj", "SelectionModel", "GraphForceProjector", "SVG", "getHashColor", "D3ForceGraph", "classNames", "model", "selection", "_selection", "grid", "props", "context", "useRef", "projector", "useMemo", "current", "GraphForceProjector", "attributes", "linkForce", "edge", "data", "object", "active", "forces", "point", "strength", "graph", "SelectionModel", "useEffect", "repaint", "selected", "value", "handleSelect", "useCallback", "node", "contains", "id", "remove", "add", "SVG", "Root", "ref", "Markers", "Grid", "axis", "Zoom", "extent", "Graph", "labels", "text", "label", "obj", "color", "getHashColor", "Obj", "getTypename", "classes", "onSelect", "forceLink", "forceManyBody", "NativeForceGraph", "React", "useEffect", "useRef", "useState", "useResizeDetector", "filterObjectsSync", "GraphAdapter", "_nodes", "_links", "graph", "nodes", "map", "node", "id", "type", "data", "edges", "edge", "source", "target", "links", "ForceGraph", "model", "match", "ref", "width", "height", "useResizeDetector", "refreshRate", "rootRef", "useRef", "forceGraph", "filteredRef", "current", "filterObjectsSync", "objects", "data", "setData", "useState", "useEffect", "subscribe", "GraphAdapter", "graph", "NativeForceGraph", "nodeRelSize", "nodeLabel", "node", "type", "typename", "label", "id", "nodeAutoColorBy", "linkAutoColorBy", "link", "pauseAnimation", "graphData", "nodes", "links", "undefined", "onEngineStop", "handleZoomToFit", "onNodeClick", "emitParticle", "d3Force", "forceLink", "distance", "strength", "forceManyBody", "warmupTicks", "cooldownTime", "resumeAnimation", "zoomToFit", "React", "div", "className", "onClick"]
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
|
|
3
|
-
//
|
|
3
|
+
// src/meta.ts
|
|
4
4
|
var EXPLORER_PLUGIN = "dxos.org/plugin/explorer";
|
|
5
5
|
var meta = {
|
|
6
6
|
id: EXPLORER_PLUGIN,
|
|
@@ -20,4 +20,4 @@ export {
|
|
|
20
20
|
EXPLORER_PLUGIN,
|
|
21
21
|
meta
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-PIAXA43R.mjs.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
|
|
3
|
-
//
|
|
3
|
+
// src/components/Chart/Chart.tsx
|
|
4
4
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
5
5
|
import * as Plot from "@observablehq/plot";
|
|
6
6
|
import React, { useEffect } from "react";
|
|
7
7
|
import { useResizeDetector } from "react-resize-detector";
|
|
8
8
|
|
|
9
|
-
//
|
|
9
|
+
// src/components/plot.ts
|
|
10
10
|
var createAdapter = (prop, accessor) => accessor ? {
|
|
11
11
|
transform: (values) => values.map((value) => accessor(value)[prop])
|
|
12
12
|
} : prop;
|
|
13
13
|
|
|
14
|
-
//
|
|
14
|
+
// src/components/Chart/Chart.tsx
|
|
15
15
|
var defaultOptions = {
|
|
16
16
|
r: 4,
|
|
17
17
|
stroke: "gray",
|
|
@@ -60,14 +60,14 @@ var Chart = ({ items = [], accessor, options = defaultOptions }) => {
|
|
|
60
60
|
}
|
|
61
61
|
};
|
|
62
62
|
|
|
63
|
-
//
|
|
63
|
+
// src/components/Globe/Globe.tsx
|
|
64
64
|
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
65
65
|
import * as Plot2 from "@observablehq/plot";
|
|
66
66
|
import React2, { useEffect as useEffect2 } from "react";
|
|
67
67
|
import { useResizeDetector as useResizeDetector2 } from "react-resize-detector";
|
|
68
68
|
import * as topojson from "topojson-client";
|
|
69
69
|
|
|
70
|
-
//
|
|
70
|
+
// data/countries-110m.js
|
|
71
71
|
var countries_110m_default = {
|
|
72
72
|
type: "Topology",
|
|
73
73
|
objects: {
|
|
@@ -10769,7 +10769,7 @@ var countries_110m_default = {
|
|
|
10769
10769
|
}
|
|
10770
10770
|
};
|
|
10771
10771
|
|
|
10772
|
-
//
|
|
10772
|
+
// src/components/Globe/Globe.tsx
|
|
10773
10773
|
var defaultOptions2 = {
|
|
10774
10774
|
r: 4,
|
|
10775
10775
|
fill: "#003300"
|
|
@@ -10834,14 +10834,14 @@ var Globe = ({ items = [], accessor, projection = "orthographic", options = defa
|
|
|
10834
10834
|
}
|
|
10835
10835
|
};
|
|
10836
10836
|
|
|
10837
|
-
//
|
|
10837
|
+
// src/components/Tree/Tree.tsx
|
|
10838
10838
|
import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
|
|
10839
10839
|
import React3, { useEffect as useEffect3, useRef, useState } from "react";
|
|
10840
10840
|
import { useAsyncState } from "@dxos/react-ui";
|
|
10841
10841
|
import { SVG } from "@dxos/react-ui-graph";
|
|
10842
10842
|
import { SpaceGraphModel } from "@dxos/schema";
|
|
10843
10843
|
|
|
10844
|
-
//
|
|
10844
|
+
// src/components/Tree/layout/HierarchicalEdgeBundling.ts
|
|
10845
10845
|
import { cluster, curveBundle, hierarchy, lineRadial, select } from "d3";
|
|
10846
10846
|
var HierarchicalEdgeBundling = (s, data, options) => {
|
|
10847
10847
|
const svg = select(s);
|
|
@@ -10904,7 +10904,7 @@ var flatten = (node) => {
|
|
|
10904
10904
|
};
|
|
10905
10905
|
var HierarchicalEdgeBundling_default = HierarchicalEdgeBundling;
|
|
10906
10906
|
|
|
10907
|
-
//
|
|
10907
|
+
// src/components/Tree/layout/RadialTree.ts
|
|
10908
10908
|
import { hierarchy as hierarchy2, linkRadial, select as select2, tree } from "d3";
|
|
10909
10909
|
var RadialTree = (s, data, options) => {
|
|
10910
10910
|
const svg = select2(s);
|
|
@@ -10929,7 +10929,7 @@ var RadialTree = (s, data, options) => {
|
|
|
10929
10929
|
};
|
|
10930
10930
|
var RadialTree_default = RadialTree;
|
|
10931
10931
|
|
|
10932
|
-
//
|
|
10932
|
+
// src/components/Tree/layout/TidyTree.ts
|
|
10933
10933
|
import { curveBumpX, hierarchy as hierarchy3, link, select as select3, tree as tree2 } from "d3";
|
|
10934
10934
|
var TidyTree = (s, data, options) => {
|
|
10935
10935
|
const svg = select3(s);
|
|
@@ -10974,11 +10974,10 @@ var TidyTree = (s, data, options) => {
|
|
|
10974
10974
|
};
|
|
10975
10975
|
var TidyTree_default = TidyTree;
|
|
10976
10976
|
|
|
10977
|
-
//
|
|
10977
|
+
// src/components/Tree/types/tree.ts
|
|
10978
10978
|
import { Schema } from "effect";
|
|
10979
10979
|
import { Key, Obj, Type } from "@dxos/echo";
|
|
10980
10980
|
import { invariant } from "@dxos/invariant";
|
|
10981
|
-
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-explorer/src/components/Tree/types/tree.ts";
|
|
10982
10981
|
var TreeNodeType = Schema.Struct({
|
|
10983
10982
|
id: Key.ObjectId,
|
|
10984
10983
|
children: Schema.mutable(Schema.Array(Key.ObjectId)),
|
|
@@ -10998,253 +10997,14 @@ var TreeType = Schema.Struct({
|
|
|
10998
10997
|
typename: "dxos.org/type/Tree",
|
|
10999
10998
|
version: "0.1.0"
|
|
11000
10999
|
}));
|
|
11001
|
-
var Tree = class _Tree {
|
|
11002
|
-
static {
|
|
11003
|
-
this.create = () => {
|
|
11004
|
-
const id = Key.ObjectId.random();
|
|
11005
|
-
return Obj.make(TreeType, {
|
|
11006
|
-
root: id,
|
|
11007
|
-
nodes: {
|
|
11008
|
-
[id]: {
|
|
11009
|
-
id,
|
|
11010
|
-
children: [],
|
|
11011
|
-
data: {
|
|
11012
|
-
text: ""
|
|
11013
|
-
}
|
|
11014
|
-
}
|
|
11015
|
-
}
|
|
11016
|
-
});
|
|
11017
|
-
};
|
|
11018
|
-
}
|
|
11019
|
-
constructor(tree3) {
|
|
11020
|
-
this._tree = tree3 ?? _Tree.create();
|
|
11021
|
-
}
|
|
11022
|
-
get tree() {
|
|
11023
|
-
return this._tree;
|
|
11024
|
-
}
|
|
11025
|
-
// TODO(burdon): Make reactive.
|
|
11026
|
-
get size() {
|
|
11027
|
-
return Object.keys(this._tree.nodes).length;
|
|
11028
|
-
}
|
|
11029
|
-
get root() {
|
|
11030
|
-
return this.getNode(this._tree.root);
|
|
11031
|
-
}
|
|
11032
|
-
//
|
|
11033
|
-
// Traversal
|
|
11034
|
-
//
|
|
11035
|
-
/**
|
|
11036
|
-
* Recursively traverse the tree until the callback returns a value.
|
|
11037
|
-
*/
|
|
11038
|
-
tranverse(callback, root = this._tree.root, depth = 0) {
|
|
11039
|
-
const node = this._tree.nodes[root];
|
|
11040
|
-
const result = callback(node, depth);
|
|
11041
|
-
if (result !== void 0) {
|
|
11042
|
-
return result;
|
|
11043
|
-
}
|
|
11044
|
-
for (const childId of node.children) {
|
|
11045
|
-
const result2 = this.tranverse(callback, childId, depth + 1);
|
|
11046
|
-
if (result2 !== void 0) {
|
|
11047
|
-
return result2;
|
|
11048
|
-
}
|
|
11049
|
-
}
|
|
11050
|
-
}
|
|
11051
|
-
getNode(id) {
|
|
11052
|
-
const node = this._tree.nodes[id];
|
|
11053
|
-
invariant(node, void 0, {
|
|
11054
|
-
F: __dxlog_file,
|
|
11055
|
-
L: 98,
|
|
11056
|
-
S: this,
|
|
11057
|
-
A: [
|
|
11058
|
-
"node",
|
|
11059
|
-
""
|
|
11060
|
-
]
|
|
11061
|
-
});
|
|
11062
|
-
return node;
|
|
11063
|
-
}
|
|
11064
|
-
/**
|
|
11065
|
-
* Get the children of a node.
|
|
11066
|
-
*/
|
|
11067
|
-
getChildNodes(node) {
|
|
11068
|
-
return node.children.map((id) => this.getNode(id));
|
|
11069
|
-
}
|
|
11070
|
-
/**
|
|
11071
|
-
* Get the parent of a node.
|
|
11072
|
-
*/
|
|
11073
|
-
getParent(node) {
|
|
11074
|
-
const parent = this.tranverse((n) => {
|
|
11075
|
-
if (n.children.includes(node.id)) {
|
|
11076
|
-
return n;
|
|
11077
|
-
}
|
|
11078
|
-
});
|
|
11079
|
-
return parent ?? null;
|
|
11080
|
-
}
|
|
11081
|
-
/**
|
|
11082
|
-
* Get the next node in the tree.
|
|
11083
|
-
*/
|
|
11084
|
-
getNext(node, hierarchical = true) {
|
|
11085
|
-
if (hierarchical && node.children.length) {
|
|
11086
|
-
return this.getChildNodes(node)[0];
|
|
11087
|
-
} else {
|
|
11088
|
-
const parent = this.getParent(node);
|
|
11089
|
-
if (parent) {
|
|
11090
|
-
const idx = this.getChildNodes(parent).findIndex(({ id }) => id === node.id);
|
|
11091
|
-
if (idx < parent.children.length - 1) {
|
|
11092
|
-
return this.getNode(parent.children[idx + 1]);
|
|
11093
|
-
} else {
|
|
11094
|
-
return this.getNext(parent, false);
|
|
11095
|
-
}
|
|
11096
|
-
}
|
|
11097
|
-
}
|
|
11098
|
-
}
|
|
11099
|
-
/**
|
|
11100
|
-
* Get the previous node in the tree.
|
|
11101
|
-
*/
|
|
11102
|
-
getPrevious(node, hierarchical = true) {
|
|
11103
|
-
const parent = this.getParent(node);
|
|
11104
|
-
const idx = this.getChildNodes(parent).findIndex(({ id }) => id === node.id);
|
|
11105
|
-
if (idx === 0) {
|
|
11106
|
-
if (hierarchical) {
|
|
11107
|
-
return parent;
|
|
11108
|
-
}
|
|
11109
|
-
} else {
|
|
11110
|
-
const previous = this.getNode(parent.children[idx - 1]);
|
|
11111
|
-
if (hierarchical && previous.children.length) {
|
|
11112
|
-
return this.getLastDescendent(previous);
|
|
11113
|
-
}
|
|
11114
|
-
return previous;
|
|
11115
|
-
}
|
|
11116
|
-
}
|
|
11117
|
-
/**
|
|
11118
|
-
* Get the last descendent of a node.
|
|
11119
|
-
*/
|
|
11120
|
-
getLastDescendent(node) {
|
|
11121
|
-
const children = this.getChildNodes(node);
|
|
11122
|
-
const last = children.length ? children[children.length - 1] : void 0;
|
|
11123
|
-
if (last) {
|
|
11124
|
-
return this.getLastDescendent(last);
|
|
11125
|
-
}
|
|
11126
|
-
return node;
|
|
11127
|
-
}
|
|
11128
|
-
//
|
|
11129
|
-
// Mutations
|
|
11130
|
-
//
|
|
11131
|
-
/**
|
|
11132
|
-
* Clear tree.
|
|
11133
|
-
*/
|
|
11134
|
-
clear() {
|
|
11135
|
-
const root = this._tree.nodes[this._tree.root];
|
|
11136
|
-
root.children.length = 0;
|
|
11137
|
-
this._tree.nodes = {
|
|
11138
|
-
[root.id]: root
|
|
11139
|
-
};
|
|
11140
|
-
}
|
|
11141
|
-
/**
|
|
11142
|
-
* Add node.
|
|
11143
|
-
*/
|
|
11144
|
-
addNode(parent, node, index) {
|
|
11145
|
-
if (!node) {
|
|
11146
|
-
const id = Key.ObjectId.random();
|
|
11147
|
-
node = {
|
|
11148
|
-
id,
|
|
11149
|
-
children: [],
|
|
11150
|
-
data: {
|
|
11151
|
-
text: ""
|
|
11152
|
-
}
|
|
11153
|
-
};
|
|
11154
|
-
}
|
|
11155
|
-
this._tree.nodes[node.id] = node;
|
|
11156
|
-
parent.children.splice(index ?? parent.children.length, 0, node.id);
|
|
11157
|
-
return node;
|
|
11158
|
-
}
|
|
11159
|
-
/**
|
|
11160
|
-
* Delete node.
|
|
11161
|
-
*/
|
|
11162
|
-
deleteNode(parent, id) {
|
|
11163
|
-
const node = this._tree.nodes[id];
|
|
11164
|
-
if (!node) {
|
|
11165
|
-
return void 0;
|
|
11166
|
-
}
|
|
11167
|
-
delete this._tree.nodes[node.id];
|
|
11168
|
-
const idx = parent.children.findIndex((child) => child === id);
|
|
11169
|
-
if (idx !== -1) {
|
|
11170
|
-
parent.children.splice(idx, 1);
|
|
11171
|
-
}
|
|
11172
|
-
return node;
|
|
11173
|
-
}
|
|
11174
|
-
/**
|
|
11175
|
-
* Move child node.
|
|
11176
|
-
*/
|
|
11177
|
-
moveNode(node, from, to) {
|
|
11178
|
-
invariant(from >= 0 && from < node.children.length, void 0, {
|
|
11179
|
-
F: __dxlog_file,
|
|
11180
|
-
L: 228,
|
|
11181
|
-
S: this,
|
|
11182
|
-
A: [
|
|
11183
|
-
"from >= 0 && from < node.children.length",
|
|
11184
|
-
""
|
|
11185
|
-
]
|
|
11186
|
-
});
|
|
11187
|
-
invariant(to >= 0 && to < node.children.length, void 0, {
|
|
11188
|
-
F: __dxlog_file,
|
|
11189
|
-
L: 229,
|
|
11190
|
-
S: this,
|
|
11191
|
-
A: [
|
|
11192
|
-
"to >= 0 && to < node.children.length",
|
|
11193
|
-
""
|
|
11194
|
-
]
|
|
11195
|
-
});
|
|
11196
|
-
if (from === to) {
|
|
11197
|
-
return null;
|
|
11198
|
-
}
|
|
11199
|
-
const child = node.children[from];
|
|
11200
|
-
node.children.splice(from, 1);
|
|
11201
|
-
node.children.splice(to, 0, child);
|
|
11202
|
-
return this.getNode(child);
|
|
11203
|
-
}
|
|
11204
|
-
/**
|
|
11205
|
-
* Indent node.
|
|
11206
|
-
*/
|
|
11207
|
-
indentNode(node) {
|
|
11208
|
-
const parent = this.getParent(node);
|
|
11209
|
-
if (!parent) {
|
|
11210
|
-
return;
|
|
11211
|
-
}
|
|
11212
|
-
const idx = parent.children.findIndex((child) => child === node.id);
|
|
11213
|
-
if (idx < 1 || idx >= parent.children.length) {
|
|
11214
|
-
return;
|
|
11215
|
-
}
|
|
11216
|
-
const previous = this.getNode(parent.children[idx - 1]);
|
|
11217
|
-
parent.children.splice(idx, 1);
|
|
11218
|
-
previous.children.push(node.id);
|
|
11219
|
-
}
|
|
11220
|
-
/**
|
|
11221
|
-
* Unindent node.
|
|
11222
|
-
*/
|
|
11223
|
-
unindentNode(node) {
|
|
11224
|
-
const parent = this.getParent(node);
|
|
11225
|
-
if (!parent) {
|
|
11226
|
-
return;
|
|
11227
|
-
}
|
|
11228
|
-
const ancestor = this.getParent(parent);
|
|
11229
|
-
if (!ancestor) {
|
|
11230
|
-
return;
|
|
11231
|
-
}
|
|
11232
|
-
const nodeIdx = parent.children.findIndex((id) => id === node.id);
|
|
11233
|
-
const [_, ...rest] = parent.children.splice(nodeIdx, parent.children.length - nodeIdx);
|
|
11234
|
-
parent.children.splice(nodeIdx, parent.children.length - nodeIdx);
|
|
11235
|
-
const parentIdx = this.getChildNodes(ancestor).findIndex((n) => n.id === parent.id);
|
|
11236
|
-
ancestor.children.splice(parentIdx + 1, 0, node.id);
|
|
11237
|
-
node.children.push(...rest);
|
|
11238
|
-
}
|
|
11239
|
-
};
|
|
11240
11000
|
|
|
11241
|
-
//
|
|
11001
|
+
// src/components/Tree/types/types.ts
|
|
11242
11002
|
var mapGraphToTreeData = (model, maxDepth = 8) => {
|
|
11243
11003
|
let data;
|
|
11244
11004
|
return data;
|
|
11245
11005
|
};
|
|
11246
11006
|
|
|
11247
|
-
//
|
|
11007
|
+
// src/components/Tree/Tree.tsx
|
|
11248
11008
|
var defaultTreeLayoutSlots = {
|
|
11249
11009
|
node: "fill-blue-600",
|
|
11250
11010
|
path: "fill-none stroke-blue-400 stroke-[0.5px]",
|
|
@@ -11264,7 +11024,7 @@ var renderers = /* @__PURE__ */ new Map([
|
|
|
11264
11024
|
HierarchicalEdgeBundling_default
|
|
11265
11025
|
]
|
|
11266
11026
|
]);
|
|
11267
|
-
var
|
|
11027
|
+
var Tree = ({ space, selected, variant = "tidy", onNodeClick }) => {
|
|
11268
11028
|
var _effect = _useSignals3();
|
|
11269
11029
|
try {
|
|
11270
11030
|
const [model] = useAsyncState(async () => space ? new SpaceGraphModel().open(space) : void 0, [
|
|
@@ -11317,15 +11077,15 @@ var Tree2 = ({ space, selected, variant = "tidy", onNodeClick }) => {
|
|
|
11317
11077
|
}
|
|
11318
11078
|
};
|
|
11319
11079
|
|
|
11320
|
-
//
|
|
11080
|
+
// src/components/index.ts
|
|
11321
11081
|
import { lazy } from "react";
|
|
11322
|
-
var ExplorerContainer = lazy(() => import("./ExplorerContainer-
|
|
11082
|
+
var ExplorerContainer = lazy(() => import("./ExplorerContainer-AMYAVLO4.mjs"));
|
|
11323
11083
|
|
|
11324
11084
|
export {
|
|
11325
11085
|
Chart,
|
|
11326
11086
|
Globe,
|
|
11327
11087
|
defaultTreeLayoutSlots,
|
|
11328
|
-
|
|
11088
|
+
Tree,
|
|
11329
11089
|
ExplorerContainer
|
|
11330
11090
|
};
|
|
11331
|
-
//# sourceMappingURL=chunk-
|
|
11091
|
+
//# sourceMappingURL=chunk-W4ZNCGOD.mjs.map
|