@dxos/plugin-explorer 0.8.4-main.fcfe5033a5 → 0.8.4-staging.60fe92afc8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +340 -0
  3. package/dist/lib/neutral/ExplorerArticle-4I7PNGDC.mjs +459 -0
  4. package/dist/lib/neutral/ExplorerArticle-4I7PNGDC.mjs.map +7 -0
  5. package/dist/lib/neutral/ExplorerPlugin.mjs +10 -0
  6. package/dist/lib/neutral/capabilities/index.mjs +11 -0
  7. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  8. package/dist/lib/neutral/chunk-3D7BYXOR.mjs +37 -0
  9. package/dist/lib/neutral/chunk-3D7BYXOR.mjs.map +7 -0
  10. package/dist/lib/neutral/chunk-42BYLQQA.mjs +42 -0
  11. package/dist/lib/neutral/chunk-42BYLQQA.mjs.map +7 -0
  12. package/dist/lib/neutral/chunk-7XUDLV6E.mjs +287 -0
  13. package/dist/lib/neutral/chunk-7XUDLV6E.mjs.map +7 -0
  14. package/dist/lib/neutral/chunk-IKHJV3Q4.mjs +20 -0
  15. package/dist/lib/neutral/chunk-IKHJV3Q4.mjs.map +7 -0
  16. package/dist/lib/{browser/types/index.mjs → neutral/chunk-YBCHBVCJ.mjs} +13 -14
  17. package/dist/lib/neutral/chunk-YBCHBVCJ.mjs.map +7 -0
  18. package/dist/lib/{browser → neutral/components}/index.mjs +730 -437
  19. package/dist/lib/neutral/components/index.mjs.map +7 -0
  20. package/dist/lib/neutral/containers/index.mjs +9 -0
  21. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  22. package/dist/lib/neutral/create-object-F6TKVAGV.mjs +39 -0
  23. package/dist/lib/neutral/create-object-F6TKVAGV.mjs.map +7 -0
  24. package/dist/lib/neutral/hooks/index.mjs +45 -0
  25. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  26. package/dist/lib/neutral/index.mjs +14 -0
  27. package/dist/lib/neutral/meta.json +1 -0
  28. package/dist/lib/{browser → neutral}/meta.mjs +1 -1
  29. package/dist/lib/neutral/plugin.mjs +12 -0
  30. package/dist/lib/neutral/plugin.mjs.map +7 -0
  31. package/dist/lib/neutral/react-surface-APBW2VQG.mjs +26 -0
  32. package/dist/lib/neutral/react-surface-APBW2VQG.mjs.map +7 -0
  33. package/dist/lib/neutral/testing/index.mjs +139 -0
  34. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  35. package/dist/lib/neutral/translations.mjs +33 -0
  36. package/dist/lib/neutral/translations.mjs.map +7 -0
  37. package/dist/lib/neutral/types/index.mjs +10 -0
  38. package/dist/lib/neutral/types/index.mjs.map +7 -0
  39. package/dist/types/data/cities.d.ts +4 -4
  40. package/dist/types/data/cities.d.ts.map +1 -1
  41. package/dist/types/data/countries-110m.d.ts +19 -22
  42. package/dist/types/data/countries-110m.d.ts.map +1 -1
  43. package/dist/types/src/ExplorerPlugin.d.ts +1 -0
  44. package/dist/types/src/ExplorerPlugin.d.ts.map +1 -1
  45. package/dist/types/src/ExplorerPlugin.test.d.ts +2 -0
  46. package/dist/types/src/ExplorerPlugin.test.d.ts.map +1 -0
  47. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  48. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/index.d.ts +6 -0
  50. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  52. package/dist/types/src/components/Chart/Chart.d.ts +1 -1
  53. package/dist/types/src/components/Chart/Chart.d.ts.map +1 -1
  54. package/dist/types/src/components/Chart/Chart.stories.d.ts +4 -1
  55. package/dist/types/src/components/Chart/Chart.stories.d.ts.map +1 -1
  56. package/dist/types/src/components/Globe/Globe.d.ts +1 -1
  57. package/dist/types/src/components/Globe/Globe.d.ts.map +1 -1
  58. package/dist/types/src/components/Globe/Globe.stories.d.ts +5 -2
  59. package/dist/types/src/components/Globe/Globe.stories.d.ts.map +1 -1
  60. package/dist/types/src/components/Graph/CanvasForceGraph.d.ts +13 -0
  61. package/dist/types/src/components/Graph/CanvasForceGraph.d.ts.map +1 -0
  62. package/dist/types/src/components/Graph/{D3ForceGraph.stories.d.ts → CanvasForceGraph.stories.d.ts} +3 -3
  63. package/dist/types/src/components/Graph/CanvasForceGraph.stories.d.ts.map +1 -0
  64. package/dist/types/src/components/Graph/ForceGraph.d.ts +12 -5
  65. package/dist/types/src/components/Graph/ForceGraph.d.ts.map +1 -1
  66. package/dist/types/src/components/Graph/ForceGraph.stories.d.ts +3 -1
  67. package/dist/types/src/components/Graph/ForceGraph.stories.d.ts.map +1 -1
  68. package/dist/types/src/components/Graph/{adapter.d.ts → graph-adapter.d.ts} +1 -1
  69. package/dist/types/src/components/Graph/graph-adapter.d.ts.map +1 -0
  70. package/dist/types/src/components/Graph/index.d.ts +1 -1
  71. package/dist/types/src/components/Graph/index.d.ts.map +1 -1
  72. package/dist/types/src/components/Lattice/Lattice.d.ts +20 -0
  73. package/dist/types/src/components/Lattice/Lattice.d.ts.map +1 -0
  74. package/dist/types/src/components/Lattice/Lattice.stories.d.ts +8 -0
  75. package/dist/types/src/components/Lattice/Lattice.stories.d.ts.map +1 -0
  76. package/dist/types/src/components/Lattice/index.d.ts +2 -0
  77. package/dist/types/src/components/Lattice/index.d.ts.map +1 -0
  78. package/dist/types/src/components/Tree/EdgeBundling.stories.d.ts +21 -0
  79. package/dist/types/src/components/Tree/EdgeBundling.stories.d.ts.map +1 -0
  80. package/dist/types/src/components/Tree/Tree.d.ts +20 -23
  81. package/dist/types/src/components/Tree/Tree.d.ts.map +1 -1
  82. package/dist/types/src/components/Tree/Tree.stories.d.ts +5 -12
  83. package/dist/types/src/components/Tree/Tree.stories.d.ts.map +1 -1
  84. package/dist/types/src/components/Tree/index.d.ts +2 -0
  85. package/dist/types/src/components/Tree/index.d.ts.map +1 -1
  86. package/dist/types/src/components/Tree/layout/HierarchicalEdgeBundling.d.ts +37 -2
  87. package/dist/types/src/components/Tree/layout/HierarchicalEdgeBundling.d.ts.map +1 -1
  88. package/dist/types/src/components/Tree/layout/RadialTree.d.ts +35 -2
  89. package/dist/types/src/components/Tree/layout/RadialTree.d.ts.map +1 -1
  90. package/dist/types/src/components/Tree/layout/TidyTree.d.ts +24 -2
  91. package/dist/types/src/components/Tree/layout/TidyTree.d.ts.map +1 -1
  92. package/dist/types/src/components/Tree/layout/hierarchy.d.ts +17 -0
  93. package/dist/types/src/components/Tree/layout/hierarchy.d.ts.map +1 -0
  94. package/dist/types/src/components/Tree/layout/index.d.ts +5 -4
  95. package/dist/types/src/components/Tree/layout/index.d.ts.map +1 -1
  96. package/dist/types/src/components/Tree/layout/slots.d.ts +7 -0
  97. package/dist/types/src/components/Tree/layout/slots.d.ts.map +1 -0
  98. package/dist/types/src/components/Tree/layout/useContainerSize.d.ts +15 -0
  99. package/dist/types/src/components/Tree/layout/useContainerSize.d.ts.map +1 -0
  100. package/dist/types/src/components/Tree/types/tree.d.ts +41 -20
  101. package/dist/types/src/components/Tree/types/tree.d.ts.map +1 -1
  102. package/dist/types/src/components/Tree/types/types.d.ts +14 -4
  103. package/dist/types/src/components/Tree/types/types.d.ts.map +1 -1
  104. package/dist/types/src/components/index.d.ts +1 -0
  105. package/dist/types/src/components/index.d.ts.map +1 -1
  106. package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.d.ts +8 -0
  107. package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.d.ts.map +1 -0
  108. package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.stories.d.ts +15 -0
  109. package/dist/types/src/containers/ExplorerArticle/ExplorerArticle.stories.d.ts.map +1 -0
  110. package/dist/types/src/containers/ExplorerArticle/Visualization.d.ts +18 -0
  111. package/dist/types/src/containers/ExplorerArticle/Visualization.d.ts.map +1 -0
  112. package/dist/types/src/containers/ExplorerArticle/index.d.ts +2 -0
  113. package/dist/types/src/containers/ExplorerArticle/index.d.ts.map +1 -0
  114. package/dist/types/src/containers/ExplorerArticle/variants.d.ts +9 -0
  115. package/dist/types/src/containers/ExplorerArticle/variants.d.ts.map +1 -0
  116. package/dist/types/src/containers/index.d.ts +1 -1
  117. package/dist/types/src/containers/index.d.ts.map +1 -1
  118. package/dist/types/src/hooks/useGraphModel.d.ts +2 -2
  119. package/dist/types/src/hooks/useGraphModel.d.ts.map +1 -1
  120. package/dist/types/src/index.d.ts +1 -3
  121. package/dist/types/src/index.d.ts.map +1 -1
  122. package/dist/types/src/meta.d.ts +1 -1
  123. package/dist/types/src/meta.d.ts.map +1 -1
  124. package/dist/types/src/plugin.d.ts +3 -0
  125. package/dist/types/src/plugin.d.ts.map +1 -0
  126. package/dist/types/src/{components/Tree/testing → testing}/generator.d.ts +1 -1
  127. package/dist/types/src/testing/generator.d.ts.map +1 -0
  128. package/dist/types/src/testing/index.d.ts +4 -0
  129. package/dist/types/src/testing/index.d.ts.map +1 -0
  130. package/dist/types/src/testing/relations.d.ts +32 -0
  131. package/dist/types/src/testing/relations.d.ts.map +1 -0
  132. package/dist/types/src/translations.d.ts +17 -17
  133. package/dist/types/src/translations.d.ts.map +1 -1
  134. package/dist/types/src/types/Graph.d.ts +5 -6
  135. package/dist/types/src/types/Graph.d.ts.map +1 -1
  136. package/dist/types/src/util/index.d.ts +3 -0
  137. package/dist/types/src/util/index.d.ts.map +1 -0
  138. package/dist/types/src/util/node-color.d.ts +13 -0
  139. package/dist/types/src/util/node-color.d.ts.map +1 -0
  140. package/dist/types/src/{components → util}/plot.d.ts +1 -1
  141. package/dist/types/src/util/plot.d.ts.map +1 -0
  142. package/dist/types/tsconfig.tsbuildinfo +1 -1
  143. package/package.json +102 -68
  144. package/src/ExplorerPlugin.test.ts +26 -0
  145. package/src/ExplorerPlugin.tsx +11 -34
  146. package/src/capabilities/create-object.ts +36 -0
  147. package/src/capabilities/index.ts +1 -0
  148. package/src/capabilities/react-surface.tsx +2 -2
  149. package/src/components/Chart/Chart.stories.tsx +14 -20
  150. package/src/components/Chart/Chart.tsx +1 -1
  151. package/src/components/Globe/Globe.stories.tsx +17 -19
  152. package/src/components/Globe/Globe.tsx +1 -1
  153. package/src/components/Graph/CanvasForceGraph.stories.tsx +97 -0
  154. package/src/components/Graph/CanvasForceGraph.tsx +124 -0
  155. package/src/components/Graph/ForceGraph.stories.tsx +88 -38
  156. package/src/components/Graph/ForceGraph.tsx +105 -85
  157. package/src/components/Graph/index.ts +1 -1
  158. package/src/components/Lattice/Lattice.stories.tsx +104 -0
  159. package/src/components/Lattice/Lattice.tsx +182 -0
  160. package/src/components/Lattice/index.ts +5 -0
  161. package/src/components/Tree/EdgeBundling.stories.tsx +144 -0
  162. package/src/components/Tree/Tree.stories.tsx +17 -38
  163. package/src/components/Tree/Tree.tsx +69 -100
  164. package/src/components/Tree/index.ts +2 -0
  165. package/src/components/Tree/layout/HierarchicalEdgeBundling.tsx +335 -0
  166. package/src/components/Tree/layout/RadialTree.tsx +242 -0
  167. package/src/components/Tree/layout/TidyTree.tsx +246 -0
  168. package/src/components/Tree/layout/hierarchy.ts +32 -0
  169. package/src/components/Tree/layout/index.ts +5 -5
  170. package/src/components/Tree/layout/slots.ts +19 -0
  171. package/src/components/Tree/layout/useContainerSize.ts +43 -0
  172. package/src/components/Tree/types/tree.test.ts +2 -2
  173. package/src/components/Tree/types/tree.ts +23 -28
  174. package/src/components/Tree/types/types.ts +38 -29
  175. package/src/components/index.ts +1 -0
  176. package/src/containers/ExplorerArticle/ExplorerArticle.stories.tsx +152 -0
  177. package/src/containers/ExplorerArticle/ExplorerArticle.tsx +120 -0
  178. package/src/containers/ExplorerArticle/Visualization.tsx +523 -0
  179. package/src/containers/ExplorerArticle/index.ts +5 -0
  180. package/src/containers/ExplorerArticle/variants.ts +47 -0
  181. package/src/containers/index.ts +1 -1
  182. package/src/hooks/useGraphModel.ts +10 -6
  183. package/src/index.ts +1 -4
  184. package/src/meta.ts +26 -7
  185. package/src/plugin.ts +9 -0
  186. package/src/{components/Tree/testing → testing}/generator.ts +3 -3
  187. package/src/testing/index.ts +9 -0
  188. package/src/testing/relations.ts +117 -0
  189. package/src/translations.ts +1 -1
  190. package/src/types/ExplorerAction.ts +1 -1
  191. package/src/types/Graph.ts +7 -15
  192. package/src/util/index.ts +6 -0
  193. package/src/util/node-color.ts +23 -0
  194. package/src/{components → util}/plot.ts +16 -4
  195. package/src/vite-env.d.ts +10 -0
  196. package/dist/lib/browser/chunk-LSUP47BZ.mjs +0 -24
  197. package/dist/lib/browser/chunk-LSUP47BZ.mjs.map +0 -7
  198. package/dist/lib/browser/index.mjs.map +0 -7
  199. package/dist/lib/browser/meta.json +0 -1
  200. package/dist/lib/browser/types/index.mjs.map +0 -7
  201. package/dist/lib/node-esm/chunk-EN3JZNEY.mjs +0 -26
  202. package/dist/lib/node-esm/chunk-EN3JZNEY.mjs.map +0 -7
  203. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  204. package/dist/lib/node-esm/index.mjs +0 -11375
  205. package/dist/lib/node-esm/index.mjs.map +0 -7
  206. package/dist/lib/node-esm/meta.json +0 -1
  207. package/dist/lib/node-esm/meta.mjs +0 -9
  208. package/dist/lib/node-esm/types/index.mjs +0 -71
  209. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  210. package/dist/types/src/components/Graph/D3ForceGraph.d.ts +0 -15
  211. package/dist/types/src/components/Graph/D3ForceGraph.d.ts.map +0 -1
  212. package/dist/types/src/components/Graph/D3ForceGraph.stories.d.ts.map +0 -1
  213. package/dist/types/src/components/Graph/adapter.d.ts.map +0 -1
  214. package/dist/types/src/components/Graph/testing.d.ts +0 -14
  215. package/dist/types/src/components/Graph/testing.d.ts.map +0 -1
  216. package/dist/types/src/components/Tree/testing/generator.d.ts.map +0 -1
  217. package/dist/types/src/components/Tree/testing/index.d.ts +0 -2
  218. package/dist/types/src/components/Tree/testing/index.d.ts.map +0 -1
  219. package/dist/types/src/components/plot.d.ts.map +0 -1
  220. package/dist/types/src/containers/ExplorerContainer/ExplorerContainer.d.ts +0 -6
  221. package/dist/types/src/containers/ExplorerContainer/ExplorerContainer.d.ts.map +0 -1
  222. package/dist/types/src/containers/ExplorerContainer/index.d.ts +0 -2
  223. package/dist/types/src/containers/ExplorerContainer/index.d.ts.map +0 -1
  224. package/src/components/Graph/D3ForceGraph.stories.tsx +0 -83
  225. package/src/components/Graph/D3ForceGraph.tsx +0 -108
  226. package/src/components/Graph/testing.ts +0 -58
  227. package/src/components/Tree/layout/HierarchicalEdgeBundling.ts +0 -162
  228. package/src/components/Tree/layout/RadialTree.ts +0 -94
  229. package/src/components/Tree/layout/TidyTree.ts +0 -101
  230. package/src/components/Tree/testing/index.ts +0 -5
  231. package/src/containers/ExplorerContainer/ExplorerContainer.tsx +0 -53
  232. package/src/containers/ExplorerContainer/index.ts +0 -5
  233. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/ExplorerPlugin.mjs.map} +0 -0
  234. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  235. /package/dist/lib/{browser/meta.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  236. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/index.mjs.map} +0 -0
  237. /package/dist/lib/{node-esm → neutral}/meta.mjs.map +0 -0
  238. /package/src/components/Graph/{adapter.ts → graph-adapter.ts} +0 -0
@@ -1,4 +1,26 @@
1
- import { type TreeOptions } from '../Tree';
2
- declare const TidyTree: (s: SVGSVGElement, data: any, options: TreeOptions) => void;
1
+ import React from 'react';
2
+ import { type ThemedClassName } from '@dxos/react-ui';
3
+ import { type TreeNode } from '../types';
4
+ import { type TreeLayoutSlots } from './slots';
5
+ export type TidyTreeProps = ThemedClassName<{
6
+ data: TreeNode;
7
+ label?: (d: TreeNode) => string;
8
+ slots?: TreeLayoutSlots;
9
+ /** Node radius. */
10
+ r?: number;
11
+ /** Margin in screen pixels reserved around the layout. */
12
+ margin?: number;
13
+ /** Initial set of collapsed node ids. */
14
+ initialCollapsed?: Iterable<string>;
15
+ /** Notified when the user clicks a node. */
16
+ onNodeClick?: (node: TreeNode) => void;
17
+ }>;
18
+ /**
19
+ * Tidy (horizontal) tree layout based on the D3 reference component.
20
+ * https://observablehq.com/@d3/tree-component
21
+ *
22
+ * Click a node with children to toggle collapse / expand.
23
+ */
24
+ export declare const TidyTree: ({ classNames, data, label, slots, r, margin, initialCollapsed, onNodeClick, }: TidyTreeProps) => React.JSX.Element;
3
25
  export default TidyTree;
4
26
  //# sourceMappingURL=TidyTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TidyTree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/layout/TidyTree.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,QAAA,MAAM,QAAQ,GAAI,GAAG,aAAa,EAAE,MAAM,GAAG,EAAE,SAAS,WAAW,SAuFlE,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"TidyTree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/layout/TidyTree.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,KAAK,eAAe,EAA0B,MAAM,SAAS,CAAC;AAKvE,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC;IAC1C,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,mBAAmB;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,4CAA4C;IAC5C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACxC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,kFASlB,aAAa,sBA0Df,CAAC;eA4Ia,QAAQ"}
@@ -0,0 +1,17 @@
1
+ import { type HierarchyNode } from 'd3';
2
+ import { type TreeNode } from '../types';
3
+ /**
4
+ * Build a d3 hierarchy from a TreeNode, pruning children of nodes whose ids are in `collapsed`.
5
+ * Nodes that have children but are collapsed retain their identity in the hierarchy and can be
6
+ * distinguished by `node._children` (the original list).
7
+ */
8
+ export declare const buildHierarchy: (data: TreeNode, collapsed?: Set<string>) => HierarchyNode<TreeNode>;
9
+ /**
10
+ * True when the node has children that have been hidden via collapse.
11
+ */
12
+ export declare const isCollapsed: (data: TreeNode, collapsed: Set<string>) => boolean;
13
+ /**
14
+ * True when the node has no children at all (a real leaf, not a collapsed branch).
15
+ */
16
+ export declare const isLeaf: (data: TreeNode) => boolean;
17
+ //# sourceMappingURL=hierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/layout/hierarchy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAA4B,MAAM,IAAI,CAAC;AAElE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,cAAc,SAAU,QAAQ,cAAa,GAAG,CAAC,MAAM,CAAC,KAAe,aAAa,CAAC,QAAQ,CAOzG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,SAAU,QAAQ,aAAa,GAAG,CAAC,MAAM,CAAC,KAAG,OACX,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,MAAM,SAAU,QAAQ,KAAG,OAAiC,CAAC"}
@@ -1,5 +1,6 @@
1
- import HierarchicalEdgeBundling from './HierarchicalEdgeBundling';
2
- import RadialTree from './RadialTree';
3
- import TidyTree from './TidyTree';
4
- export { HierarchicalEdgeBundling, RadialTree, TidyTree };
1
+ export * from './HierarchicalEdgeBundling';
2
+ export * from './RadialTree';
3
+ export * from './TidyTree';
4
+ export * from './hierarchy';
5
+ export * from './slots';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/layout/index.ts"],"names":[],"mappings":"AAIA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/layout/index.ts"],"names":[],"mappings":"AAIA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type TreeLayoutSlots = {
2
+ node?: string;
3
+ path?: string;
4
+ text?: string;
5
+ };
6
+ export declare const defaultTreeLayoutSlots: TreeLayoutSlots;
7
+ //# sourceMappingURL=slots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slots.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/layout/slots.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,eAQpC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Track an element's content-box size via ResizeObserver.
3
+ * Returns the most recently observed `{ width, height }` plus a callback ref to attach to the element.
4
+ *
5
+ * Why not `react-resize-detector` directly: its `targetRef` API doesn't pick up a ref whose
6
+ * `.current` is set later than the hook runs, and the returned-`ref` API forces the consumer to
7
+ * forward a callback ref through their own component — which is awkward for class refs.
8
+ * This hook returns a setter so the consumer assigns it directly to `<div ref={setRef}>`.
9
+ */
10
+ export declare const useContainerSize: () => {
11
+ setRef: (el: HTMLDivElement | null) => void;
12
+ width: number;
13
+ height: number;
14
+ };
15
+ //# sourceMappingURL=useContainerSize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContainerSize.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/layout/useContainerSize.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,QAAO;IAClC,MAAM,EAAE,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAwBhB,CAAC"}
@@ -1,32 +1,30 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import { Key, Ref, Type } from '@dxos/echo';
2
+ import { Key, Obj, Ref, Type } from '@dxos/echo';
3
3
  export declare const TreeNodeType: Schema.mutable<Schema.Struct<{
4
- id: import("@dxos/keys").ObjectIdClass;
5
- children: Schema.mutable<Schema.Array$<import("@dxos/keys").ObjectIdClass>>;
4
+ id: import("@dxos/keys").EntityIdClass;
5
+ children: Schema.mutable<Schema.Array$<import("@dxos/keys").EntityIdClass>>;
6
6
  data: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
7
- ref: Schema.optional<Ref.RefSchema<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & {
7
+ ref: Schema.optional<Ref.RefSchema<{
8
8
  readonly [x: string]: any;
9
- }>>;
9
+ } & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown>>;
10
10
  }>>;
11
- export interface TreeNodeType extends Schema.Schema.Type<typeof TreeNodeType> {
12
- }
11
+ export type TreeNodeType = Schema.Schema.Type<typeof TreeNodeType>;
13
12
  export declare const TreeType: Type.Obj<{
13
+ readonly root: string;
14
14
  readonly nodes: {
15
15
  [x: string]: {
16
- ref?: import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & {
17
- readonly [x: string]: any;
18
- }> | undefined;
16
+ id: string;
17
+ children: string[];
19
18
  data: {
20
19
  [x: string]: any;
21
20
  };
22
- id: string;
23
- children: string[];
21
+ ref?: import("@dxos/echo/internal").Ref<{
22
+ readonly [x: string]: any;
23
+ } & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown> | undefined;
24
24
  };
25
25
  };
26
- readonly root: string;
27
26
  }, Schema.Struct.Fields>;
28
- export interface TreeType extends Schema.Schema.Type<typeof TreeType> {
29
- }
27
+ export type TreeType = Type.InstanceType<typeof TreeType>;
30
28
  /**
31
29
  * Wrapper object for tree.
32
30
  */
@@ -34,14 +32,37 @@ export declare class Tree {
34
32
  static create: () => TreeType;
35
33
  private _tree;
36
34
  constructor(tree?: TreeType);
37
- get tree(): TreeType;
35
+ get tree(): {
36
+ readonly root: string;
37
+ readonly nodes: {
38
+ [x: string]: {
39
+ id: string;
40
+ children: string[];
41
+ data: {
42
+ [x: string]: any;
43
+ };
44
+ ref?: import("@dxos/echo/internal").Ref<{
45
+ readonly [x: string]: any;
46
+ } & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown> | undefined;
47
+ };
48
+ };
49
+ } & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object>;
38
50
  get size(): number;
39
- get root(): TreeNodeType;
51
+ get root(): {
52
+ id: string;
53
+ children: string[];
54
+ data: {
55
+ [x: string]: any;
56
+ };
57
+ ref?: import("@dxos/echo/internal").Ref<{
58
+ readonly [x: string]: any;
59
+ } & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown> | undefined;
60
+ };
40
61
  /**
41
62
  * Recursively traverse the tree until the callback returns a value.
42
63
  */
43
- tranverse<T>(callback: (node: TreeNodeType, depth: number) => T | void, root?: Key.ObjectId, depth?: number): T | void;
44
- getNode(id: Key.ObjectId): TreeNodeType;
64
+ tranverse<T>(callback: (node: TreeNodeType, depth: number) => T | void, root?: Key.EntityId, depth?: number): T | void;
65
+ getNode(id: Key.EntityId): TreeNodeType;
45
66
  /**
46
67
  * Get the children of a node.
47
68
  */
@@ -73,7 +94,7 @@ export declare class Tree {
73
94
  /**
74
95
  * Delete node.
75
96
  */
76
- deleteNode(parent: TreeNodeType, id: Key.ObjectId): TreeNodeType | undefined;
97
+ deleteNode(parent: TreeNodeType, id: Key.EntityId): TreeNodeType | undefined;
77
98
  /**
78
99
  * Move child node.
79
100
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/types/tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,GAAG,EAAO,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMjD,eAAO,MAAM,YAAY;;;;;;;GAKF,CAAC;AAExB,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;CAAG;AAEhF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;wBAQpB,CAAC;AAEF,MAAM,WAAW,QAAS,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC;CAAG;AAExE;;GAEG;AACH,qBAAa,IAAI;IACf,MAAM,CAAC,MAAM,QAAO,QAAQ,CAY1B;IAEF,OAAO,CAAC,KAAK,CAAW;gBAEZ,IAAI,CAAC,EAAE,QAAQ;IAI3B,IAAI,IAAI,aAEP;IAGD,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,iBAEP;IAMD;;OAEG;IACH,SAAS,CAAC,CAAC,EACT,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,IAAI,EACzD,IAAI,GAAE,GAAG,CAAC,QAA0B,EACpC,KAAK,SAAI,GACR,CAAC,GAAG,IAAI;IAeX,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,GAAG,YAAY;IAMvC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAItD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI;IAUlD;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,UAAO,GAAG,YAAY,GAAG,SAAS;IAmB1E;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,UAAO,GAAG,YAAY,GAAG,SAAS;IAiB9E;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS;IAc/D;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY;IAchF;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,GAAG,YAAY,GAAG,SAAS;IAmB5E;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAe3E;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAkBpC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;CA8BvC"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/types/tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMtD,eAAO,MAAM,YAAY;;;;;;;GAKF,CAAC;AAExB,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;AAEnE,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;wBAG4C,CAAC;AAElE,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1D;;GAEG;AACH,qBAAa,IAAI;IACf,MAAM,CAAC,MAAM,QAAO,QAAQ,CAY1B;IAEF,OAAO,CAAC,KAAK,CAAW;IAExB,YAAY,IAAI,CAAC,EAAE,QAAQ,EAE1B;IAED,IAAI,IAAI;;;;;;;;;;;;;;4FAEP;IAGD,IAAI,IAAI,WAEP;IAED,IAAI,IAAI;;;;;;;;;MAEP;IAMD;;OAEG;IACH,SAAS,CAAC,CAAC,EACT,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,IAAI,EACzD,IAAI,GAAE,GAAG,CAAC,QAA0B,EACpC,KAAK,SAAI,GACR,CAAC,GAAG,IAAI,CAaV;IAED,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,GAAG,YAAY,CAItC;IAED;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAErD;IAED;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAQjD;IAED;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,UAAO,GAAG,YAAY,GAAG,SAAS,CAiBzE;IAED;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,UAAO,GAAG,YAAY,GAAG,SAAS,CAe7E;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,CAQ9D;IAMD;;OAEG;IACH,KAAK,IAAI,IAAI,CAQZ;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAY/E;IAED;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,GAAG,YAAY,GAAG,SAAS,CAiB3E;IAED;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAa1E;IAED;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAgBnC;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CA6BrC;CACF"}
@@ -1,8 +1,18 @@
1
- import { type GraphModel } from '@dxos/graph';
2
- export type TreeNode = {
1
+ import { type Key } from '@dxos/echo';
2
+ import { type TreeType } from './tree';
3
+ /**
4
+ * In-memory tree shape used by the d3 layouts.
5
+ * `data` carries through to layout callbacks (e.g. hover/inspect) — typically an ECHO object on leaves.
6
+ */
7
+ export type TreeNode<TData = unknown> = {
3
8
  id: string;
4
9
  label?: string;
5
- children?: TreeNode[];
10
+ data?: TData;
11
+ children?: TreeNode<TData>[];
6
12
  };
7
- export declare const mapGraphToTreeData: (model: GraphModel.GraphModel, maxDepth?: number) => TreeNode | undefined;
13
+ /**
14
+ * Convert an ECHO `TreeType` (id-keyed node map) into a nested `TreeNode` hierarchy.
15
+ * Returns `undefined` if the root id is missing — the tree is then incomplete and shouldn't render.
16
+ */
17
+ export declare const treeTypeToTreeNode: (tree: TreeType, rootId?: Key.EntityId, visited?: Set<string>) => TreeNode | undefined;
8
18
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,UAAU,CAAC,UAAU,EAAE,iBAAY,KAAG,QAAQ,GAAG,SA4B1F,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,KAAK,GAAG,OAAO,IAAI;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,SACvB,QAAQ,WACN,GAAG,CAAC,QAAQ,YACX,GAAG,CAAC,MAAM,CAAC,KACnB,QAAQ,GAAG,SAkBb,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './Chart';
2
2
  export * from './Globe';
3
3
  export * from './Graph';
4
+ export * from './Lattice';
4
5
  export * from './Tree';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
+ import { type View } from '@dxos/echo';
4
+ import '@dxos/react-ui-graph/styles/graph.css';
5
+ export type { ExplorerArticleVariant } from './variants';
6
+ export type ExplorerArticleProps = AppSurface.ObjectArticleProps<View.View>;
7
+ export declare const ExplorerArticle: ({ role, subject, variant }: ExplorerArticleProps) => React.JSX.Element | null;
8
+ //# sourceMappingURL=ExplorerArticle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExplorerArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/ExplorerArticle/ExplorerArticle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAoB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAKzD,OAAO,uCAAuC,CAAC;AAQ/C,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE5E,eAAO,MAAM,eAAe,+BAAgC,oBAAoB,6BA+F/E,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
2
+ import { type ExplorerArticleVariant } from './ExplorerArticle';
3
+ type DefaultStoryProps = {
4
+ variant: ExplorerArticleVariant;
5
+ };
6
+ declare const meta: Meta<DefaultStoryProps>;
7
+ export default meta;
8
+ type Story = StoryObj<typeof meta>;
9
+ export declare const Force: Story;
10
+ export declare const Cluster: Story;
11
+ export declare const Bundle: Story;
12
+ export declare const Plexus: Story;
13
+ export declare const Lattice: Story;
14
+ export declare const Swarm: Story;
15
+ //# sourceMappingURL=ExplorerArticle.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExplorerArticle.stories.d.ts","sourceRoot":"","sources":["../../../../../src/containers/ExplorerArticle/ExplorerArticle.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAiBjE,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAMjF,KAAK,iBAAiB,GAAG;IAAE,OAAO,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAY7D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAwEjC,CAAC;eAEa,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { type ThemedClassName } from '@dxos/react-ui';
3
+ import { type SpaceGraphModel } from '@dxos/schema';
4
+ import { type TreeNode } from '#components';
5
+ import { type ExplorerArticleVariant } from './variants';
6
+ export type VisualizationProps = ThemedClassName<{
7
+ debug?: boolean;
8
+ variant: ExplorerArticleVariant;
9
+ model: SpaceGraphModel;
10
+ onNodeHover?: (node: TreeNode | null, event?: MouseEvent) => void;
11
+ /** Called when the user clicks the visualization surface (e.g. to dismiss a node preview). */
12
+ onSurfaceClick?: () => void;
13
+ }>;
14
+ /**
15
+ * Renders the active visualization variant.
16
+ */
17
+ export declare const Visualization: ({ classNames, debug, variant, model, onNodeHover, onSurfaceClick, }: VisualizationProps) => React.JSX.Element;
18
+ //# sourceMappingURL=Visualization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Visualization.d.ts","sourceRoot":"","sources":["../../../../../src/containers/ExplorerArticle/Visualization.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAGjF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA0BtD,OAAO,EAAuB,KAAK,eAAe,EAAuB,MAAM,cAAc,CAAC;AAG9F,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,sBAAsB,CAAC;IAChC,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAClE,8FAA8F;IAC9F,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,wEAOvB,kBAAkB,sBAiHpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ExplorerArticle as default } from './ExplorerArticle';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/containers/ExplorerArticle/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /** Visualization variants exposed by `ExplorerArticle`. */
2
+ export type ExplorerArticleVariant = 'force' | 'cluster' | 'bundle' | 'lattice' | 'swarm' | 'plexus';
3
+ export declare const VARIANTS: {
4
+ value: ExplorerArticleVariant;
5
+ icon: string;
6
+ label: string;
7
+ }[];
8
+ export declare const isVariant: (value: unknown) => value is ExplorerArticleVariant;
9
+ //# sourceMappingURL=variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../../src/containers/ExplorerArticle/variants.ts"],"names":[],"mappings":"AAIA,2DAA2D;AAC3D,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErG,eAAO,MAAM,QAAQ,EAAE;IAAE,KAAK,EAAE,sBAAsB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EA+BpF,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,KAAK,IAAI,sBAMhC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { type ComponentType } from 'react';
2
- export declare const ExplorerContainer: ComponentType<any>;
2
+ export declare const ExplorerArticle: ComponentType<any>;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/containers/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,OAAO,CAAC;AAEjD,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAA6C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/containers/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,OAAO,CAAC;AAEjD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,GAAG,CAA2C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type Filter, type Queue, type Space } from '@dxos/client/echo';
1
+ import { type Database, type Entity, type Filter } from '@dxos/echo';
2
2
  import { SpaceGraphModel, type SpaceGraphModelOptions } from '@dxos/schema';
3
- export declare const useGraphModel: (space: Space | undefined, filter?: Filter.Any | undefined, options?: SpaceGraphModelOptions, queue?: Queue) => SpaceGraphModel | undefined;
3
+ export declare const useGraphModel: (db: Database.Database | undefined, filter?: Filter.Any | undefined, options?: SpaceGraphModelOptions, items?: readonly Entity.Unknown[]) => SpaceGraphModel | undefined;
4
4
  //# sourceMappingURL=useGraphModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGraphModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGraphModel.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG5E,eAAO,MAAM,aAAa,GACxB,OAAO,KAAK,GAAG,SAAS,EACxB,SAAS,MAAM,CAAC,GAAG,GAAG,SAAS,EAC/B,UAAU,sBAAsB,EAChC,QAAQ,KAAK,KACZ,eAAe,GAAG,SAyBpB,CAAC"}
1
+ {"version":3,"file":"useGraphModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGraphModel.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG5E,eAAO,MAAM,aAAa,OACpB,QAAQ,CAAC,QAAQ,GAAG,SAAS,WACxB,MAAM,CAAC,GAAG,GAAG,SAAS,YACrB,sBAAsB,UACxB,SAAS,MAAM,CAAC,OAAO,EAAE,KAChC,eAAe,GAAG,SA6BpB,CAAC"}
@@ -1,5 +1,3 @@
1
- export * from './components';
2
- export * from './hooks';
3
1
  export * from './meta';
4
- export * from './ExplorerPlugin';
2
+ export * from './types';
5
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AAEvB,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
@@ -1,3 +1,3 @@
1
- import { type Plugin } from '@dxos/app-framework';
1
+ import { Plugin } from '@dxos/app-framework';
2
2
  export declare const meta: Plugin.Meta;
3
3
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,IAYzB,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,eAAO,MAAM,IAAI,aA8Bf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const ExplorerPlugin: Plugin.PluginFactory<void>;
3
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,eAAO,MAAM,cAAc,4BAA6C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Tree } from '../types';
1
+ import { Tree } from '../components/Tree/types';
2
2
  type NumberOrNumberArray = number | number[];
3
3
  /**
4
4
  * Create hierarchical tree.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/testing/generator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAqB,MAAM,0BAA0B,CAAC;AAEnE,KAAK,mBAAmB,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAI7C;;GAEG;AACH,eAAO,MAAM,UAAU,UAAU,mBAAmB,EAAE,eAAoB,MAAM,MAAM,KAAG,IA+BxF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from '../ExplorerPlugin';
2
+ export * from './generator';
3
+ export * from './relations';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAKA,cAAc,mBAAmB,CAAC;AAElC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { type Space } from '@dxos/client/echo';
2
+ import { Obj } from '@dxos/echo';
3
+ import { type ValueGenerator } from '@dxos/schema/testing';
4
+ import { type BundleEdge } from '../components/Tree/layout';
5
+ import { type TreeNode } from '../components/Tree/types';
6
+ export type ConnectedOrgsResult = {
7
+ organizations: Obj.Any[];
8
+ people: Obj.Any[];
9
+ connections: Obj.Any[];
10
+ };
11
+ export type ConnectedOrgsOptions = {
12
+ organizationCount?: number;
13
+ personCount?: number;
14
+ connectionCount?: number;
15
+ };
16
+ /**
17
+ * Populate a space with Organizations, People, and HasConnection relations between organizations.
18
+ * Uses `createObjectFactory` to generate Org/Person properties from their `GeneratorAnnotation`s,
19
+ * then `createRelationFactory` to wire HasConnection relations (Org→Org) between them, spreading
20
+ * the connections across the available kinds.
21
+ */
22
+ export declare const generateConnectedOrgs: (space: Space, generator: ValueGenerator, { organizationCount, personCount, connectionCount }?: ConnectedOrgsOptions) => Promise<ConnectedOrgsResult>;
23
+ /**
24
+ * Build a TreeNode hierarchy: Root → Sector → Organization (leaf).
25
+ * Organizations are deterministically bucketed into `SECTORS` so the demo has visible groups.
26
+ */
27
+ export declare const buildOrgHierarchy: (organizations: Obj.Any[], sectors?: readonly string[]) => TreeNode;
28
+ /**
29
+ * Convert HasConnection relations into bundle edges between organization ids.
30
+ */
31
+ export declare const connectionsToEdges: (connections: Obj.Any[]) => BundleEdge[];
32
+ //# sourceMappingURL=relations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../src/testing/relations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAmB,MAAM,YAAY,CAAC;AAClD,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,UACzB,KAAK,aACD,cAAc,wDAC2C,oBAAoB,KACvF,OAAO,CAAC,mBAAmB,CAsB7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,kBAAmB,GAAG,CAAC,GAAG,EAAE,YAAW,SAAS,MAAM,EAAE,KAAa,QAyBlG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,gBAAiB,GAAG,CAAC,GAAG,EAAE,KAAG,UAAU,EAerE,CAAC"}
@@ -1,20 +1,18 @@
1
1
  export declare const translations: [{
2
2
  readonly 'en-US': {
3
3
  readonly [x: string]: {
4
- readonly 'typename.label': "Explorer";
5
- readonly 'typename.label_zero': "Explorers";
6
- readonly 'typename.label_one': "Explorer";
7
- readonly 'typename.label_other': "Explorers";
8
- readonly 'object-name.placeholder': "New explorer";
9
- readonly 'add-object.label': "Add explorer";
10
- readonly 'rename-object.label': "Rename explorer";
11
- readonly 'delete-object.label': "Delete explorer";
12
- readonly 'object-deleted.label': "Explorer deleted";
4
+ readonly 'typename.label': 'Explorer';
5
+ readonly 'typename.label_zero': 'Explorers';
6
+ readonly 'typename.label_one': 'Explorer';
7
+ readonly 'typename.label_other': 'Explorers';
8
+ readonly 'object-name.placeholder': 'New explorer';
9
+ readonly 'add-object.label': 'Add explorer';
10
+ readonly 'rename-object.label': 'Rename explorer';
11
+ readonly 'delete-object.label': 'Delete explorer';
12
+ readonly 'object-deleted.label': 'Explorer deleted';
13
13
  readonly 'plugin.name'?: undefined;
14
14
  readonly 'object-title.label'?: undefined;
15
15
  } | {
16
- readonly 'plugin.name': "Explorer";
17
- readonly 'object-title.label': "Title";
18
16
  readonly 'typename.label'?: undefined;
19
17
  readonly 'typename.label_zero'?: undefined;
20
18
  readonly 'typename.label_one'?: undefined;
@@ -24,17 +22,19 @@ export declare const translations: [{
24
22
  readonly 'rename-object.label'?: undefined;
25
23
  readonly 'delete-object.label'?: undefined;
26
24
  readonly 'object-deleted.label'?: undefined;
25
+ readonly 'plugin.name': 'Explorer';
26
+ readonly 'object-title.label': 'Title';
27
27
  };
28
28
  };
29
29
  }, {
30
30
  readonly 'en-US': {
31
31
  readonly "@dxos/react-ui-components": {
32
- readonly "no-commits.message": "No events yet";
33
- readonly "query-editor.placeholder": "Enter query (e.g., \"#tag\", \"type\")";
34
- readonly "picker-select.label": "Select";
35
- readonly "picker-none.label": "None";
36
- readonly "picker-type.placeholder": "Type";
37
- readonly "picker-tag.placeholder": "Tag";
32
+ readonly 'no-commits.message': 'No events yet';
33
+ readonly 'query-editor.placeholder': 'Enter query (e.g., "#tag", "type")';
34
+ readonly 'picker-select.label': 'Select';
35
+ readonly 'picker-none.label': 'None';
36
+ readonly 'picker-type.placeholder': 'Type';
37
+ readonly 'picker-tag.placeholder': 'Tag';
38
38
  };
39
39
  };
40
40
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBM,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;;uCAIC,UAAU;4CACL,WAAW;2CACZ,UAAU;6CACR,WAAW;gDACR,cAAc;yCACrB,cAAc;4CACX,iBAAiB;4CACjB,iBAAiB;6CAChB,kBAAkB;;;;;;;;;;;;;oCAG3B,UAAU;2CACH,OAAO;;;;;;;;;;;;;;EAKN,CAAC"}
@@ -1,15 +1,14 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import { Obj, QueryAST, Type } from '@dxos/echo';
3
- import { View } from '@dxos/echo';
2
+ import { Obj, QueryAST, Type, View } from '@dxos/echo';
4
3
  declare const GraphSchema: Type.Obj<{
5
- readonly view: import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & View.View>;
4
+ readonly name?: string | undefined;
5
+ readonly view: import("@dxos/echo/internal").Ref<View.View & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown>;
6
6
  readonly query: {
7
- readonly ast: QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryHierarchyTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause | QueryAST.QueryLimitClause | QueryAST.QueryFromClause;
8
7
  readonly raw?: string | undefined;
8
+ readonly ast: QueryAST.QueryFilterClause | QueryAST.QueryFromClause | QueryAST.QueryHierarchyTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryLimitClause | QueryAST.QueryOptionsClause | QueryAST.QueryOrderClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QuerySelectClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryUnionClause;
9
9
  };
10
- readonly name?: string | undefined;
11
10
  }, Schema.Struct.Fields>;
12
- export interface Graph extends Schema.Schema.Type<typeof GraphSchema> {
11
+ export interface Graph extends Type.InstanceType<typeof GraphSchema> {
13
12
  }
14
13
  export declare const Graph: Type.Obj<Graph>;
15
14
  type MakeProps = Omit<Partial<Obj.MakeProps<typeof Graph>>, 'view'> & {
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../../src/types/Graph.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAsB,GAAG,EAAS,QAAQ,EAAO,IAAI,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIlC,QAAA,MAAM,WAAW;;;;;;;wBAoBhB,CAAC;AACF,MAAM,WAAW,KAAM,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC;CAAG;AACxE,eAAO,MAAM,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAsB,CAAC;AAEzD,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IACpE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,wBAIlB,SAAS,KAAG,KAEd,CAAC"}
1
+ {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../../src/types/Graph.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAA2B,GAAG,EAAS,QAAQ,EAAO,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAI5F,QAAA,MAAM,WAAW;;;;;;;wBAYhB,CAAC;AAEF,MAAM,WAAW,KAAM,SAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,WAAW,CAAC;CAAG;AACvE,eAAO,MAAM,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAsB,CAAC;AAEzD,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IACpE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,2BAId,SAAS,KAAG,KAEd,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './node-color';
2
+ export * from './plot';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Obj } from '@dxos/echo';
2
+ /**
3
+ * Returns the SVG `fill` value for a node, derived from its typename via the
4
+ * same hue-hash used by the force-directed renderer. Resolves to a Tailwind
5
+ * color token CSS variable so the value reads consistently across themes.
6
+ *
7
+ * Used by every variant of `ExplorerArticle` so nodes are colored consistently
8
+ * regardless of which layout is rendering them.
9
+ */
10
+ export declare const getNodeFillForTypename: (typename: string | undefined) => string;
11
+ /** Convenience: derive the fill from an ECHO object's typename. */
12
+ export declare const getNodeFillForObject: (object: Obj.Unknown | undefined) => string;
13
+ //# sourceMappingURL=node-color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-color.d.ts","sourceRoot":"","sources":["../../../../src/util/node-color.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,aAAc,MAAM,GAAG,SAAS,KAAG,MAErE,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,WAAY,GAAG,CAAC,OAAO,GAAG,SAAS,KAAG,MAEtE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { ChannelValueSpec } from '@observablehq/plot';
2
+ export type Accessor<T> = (object: any) => T;
2
3
  export type Point = {
3
4
  x: number;
4
5
  y: number;
@@ -7,6 +8,5 @@ export type GeoLocation = {
7
8
  lat: number;
8
9
  lng: number;
9
10
  };
10
- export type Accessor<T> = (object: any) => T;
11
11
  export declare const createAdapter: <T extends Record<string, any>>(prop: string, accessor: Accessor<T> | undefined) => ChannelValueSpec;
12
12
  //# sourceMappingURL=plot.d.ts.map