@dxos/plugin-explorer 0.8.4-main.406dc2a → 0.8.4-main.43cb759274

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 (270) 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-HI324IB4.mjs +69 -0
  15. package/dist/lib/neutral/chunk-HI324IB4.mjs.map +7 -0
  16. package/dist/lib/neutral/chunk-IKHJV3Q4.mjs +20 -0
  17. package/dist/lib/neutral/chunk-IKHJV3Q4.mjs.map +7 -0
  18. package/dist/lib/{browser/chunk-MOM5KCKC.mjs → neutral/components/index.mjs} +882 -556
  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/{browser → neutral}/types/index.mjs +1 -2
  38. package/dist/types/data/cities.d.ts +4 -4
  39. package/dist/types/data/cities.d.ts.map +1 -1
  40. package/dist/types/data/countries-110m.d.ts +19 -22
  41. package/dist/types/data/countries-110m.d.ts.map +1 -1
  42. package/dist/types/src/ExplorerPlugin.d.ts +3 -1
  43. package/dist/types/src/ExplorerPlugin.d.ts.map +1 -1
  44. package/dist/types/src/ExplorerPlugin.test.d.ts +2 -0
  45. package/dist/types/src/ExplorerPlugin.test.d.ts.map +1 -0
  46. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  47. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  48. package/dist/types/src/capabilities/index.d.ts +8 -2
  49. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  50. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  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/CanvasForceGraph.stories.d.ts +17 -0
  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 +4 -2
  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} +2 -2
  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 +50 -27
  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 -4
  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 +3 -0
  117. package/dist/types/src/containers/index.d.ts.map +1 -0
  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 +2 -2
  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 +31 -22
  133. package/dist/types/src/translations.d.ts.map +1 -1
  134. package/dist/types/src/types/ExplorerAction.d.ts +1 -18
  135. package/dist/types/src/types/ExplorerAction.d.ts.map +1 -1
  136. package/dist/types/src/types/Graph.d.ts +14 -25
  137. package/dist/types/src/types/Graph.d.ts.map +1 -1
  138. package/dist/types/src/util/index.d.ts +3 -0
  139. package/dist/types/src/util/index.d.ts.map +1 -0
  140. package/dist/types/src/util/node-color.d.ts +13 -0
  141. package/dist/types/src/util/node-color.d.ts.map +1 -0
  142. package/dist/types/src/{components → util}/plot.d.ts +1 -1
  143. package/dist/types/src/util/plot.d.ts.map +1 -0
  144. package/dist/types/tsconfig.tsbuildinfo +1 -1
  145. package/package.json +113 -65
  146. package/src/ExplorerPlugin.test.ts +26 -0
  147. package/src/ExplorerPlugin.tsx +20 -54
  148. package/src/capabilities/create-object.ts +36 -0
  149. package/src/capabilities/index.ts +3 -3
  150. package/src/capabilities/react-surface.tsx +24 -19
  151. package/src/components/Chart/Chart.stories.tsx +16 -23
  152. package/src/components/Chart/Chart.tsx +1 -1
  153. package/src/components/Globe/Globe.stories.tsx +19 -22
  154. package/src/components/Globe/Globe.tsx +1 -1
  155. package/src/components/Graph/CanvasForceGraph.stories.tsx +97 -0
  156. package/src/components/Graph/CanvasForceGraph.tsx +124 -0
  157. package/src/components/Graph/ForceGraph.stories.tsx +98 -42
  158. package/src/components/Graph/ForceGraph.tsx +105 -85
  159. package/src/components/Graph/{adapter.ts → graph-adapter.ts} +14 -8
  160. package/src/components/Graph/index.ts +1 -1
  161. package/src/components/Lattice/Lattice.stories.tsx +104 -0
  162. package/src/components/Lattice/Lattice.tsx +182 -0
  163. package/src/components/Lattice/index.ts +5 -0
  164. package/src/components/Tree/EdgeBundling.stories.tsx +144 -0
  165. package/src/components/Tree/Tree.stories.tsx +20 -38
  166. package/src/components/Tree/Tree.tsx +69 -95
  167. package/src/components/Tree/index.ts +2 -0
  168. package/src/components/Tree/layout/HierarchicalEdgeBundling.tsx +335 -0
  169. package/src/components/Tree/layout/RadialTree.tsx +242 -0
  170. package/src/components/Tree/layout/TidyTree.tsx +246 -0
  171. package/src/components/Tree/layout/hierarchy.ts +32 -0
  172. package/src/components/Tree/layout/index.ts +5 -5
  173. package/src/components/Tree/layout/slots.ts +19 -0
  174. package/src/components/Tree/layout/useContainerSize.ts +43 -0
  175. package/src/components/Tree/types/tree.test.ts +8 -7
  176. package/src/components/Tree/types/tree.ts +51 -35
  177. package/src/components/Tree/types/types.ts +38 -29
  178. package/src/components/index.ts +1 -4
  179. package/src/containers/ExplorerArticle/ExplorerArticle.stories.tsx +152 -0
  180. package/src/containers/ExplorerArticle/ExplorerArticle.tsx +120 -0
  181. package/src/containers/ExplorerArticle/Visualization.tsx +523 -0
  182. package/src/containers/ExplorerArticle/index.ts +5 -0
  183. package/src/containers/ExplorerArticle/variants.ts +47 -0
  184. package/src/containers/index.ts +7 -0
  185. package/src/hooks/useGraphModel.ts +25 -14
  186. package/src/index.ts +1 -4
  187. package/src/meta.ts +30 -6
  188. package/src/plugin.ts +9 -0
  189. package/src/{components/Tree/testing → testing}/generator.ts +6 -4
  190. package/src/testing/index.ts +9 -0
  191. package/src/testing/relations.ts +117 -0
  192. package/src/translations.ts +16 -13
  193. package/src/types/ExplorerAction.ts +10 -19
  194. package/src/types/Graph.ts +20 -24
  195. package/src/typings.d.ts +8 -0
  196. package/src/util/index.ts +6 -0
  197. package/src/util/node-color.ts +23 -0
  198. package/src/{components → util}/plot.ts +16 -4
  199. package/src/vite-env.d.ts +10 -0
  200. package/dist/lib/browser/ExplorerContainer-6SHZJ6AK.mjs +0 -50
  201. package/dist/lib/browser/ExplorerContainer-6SHZJ6AK.mjs.map +0 -7
  202. package/dist/lib/browser/chunk-2DGFNLRO.mjs +0 -19
  203. package/dist/lib/browser/chunk-2DGFNLRO.mjs.map +0 -7
  204. package/dist/lib/browser/chunk-2MKBRIUT.mjs +0 -31
  205. package/dist/lib/browser/chunk-2MKBRIUT.mjs.map +0 -7
  206. package/dist/lib/browser/chunk-BZ65T5M3.mjs +0 -79
  207. package/dist/lib/browser/chunk-BZ65T5M3.mjs.map +0 -7
  208. package/dist/lib/browser/chunk-MOM5KCKC.mjs.map +0 -7
  209. package/dist/lib/browser/chunk-NXGP6NTP.mjs +0 -203
  210. package/dist/lib/browser/chunk-NXGP6NTP.mjs.map +0 -7
  211. package/dist/lib/browser/index.mjs +0 -118
  212. package/dist/lib/browser/index.mjs.map +0 -7
  213. package/dist/lib/browser/intent-resolver-K57C3LIX.mjs +0 -31
  214. package/dist/lib/browser/intent-resolver-K57C3LIX.mjs.map +0 -7
  215. package/dist/lib/browser/meta.json +0 -1
  216. package/dist/lib/browser/react-surface-OPBND5W3.mjs +0 -35
  217. package/dist/lib/browser/react-surface-OPBND5W3.mjs.map +0 -7
  218. package/dist/lib/node-esm/ExplorerContainer-FRTDXZI5.mjs +0 -51
  219. package/dist/lib/node-esm/ExplorerContainer-FRTDXZI5.mjs.map +0 -7
  220. package/dist/lib/node-esm/chunk-3ODK27PU.mjs +0 -33
  221. package/dist/lib/node-esm/chunk-3ODK27PU.mjs.map +0 -7
  222. package/dist/lib/node-esm/chunk-6JACZE7E.mjs +0 -205
  223. package/dist/lib/node-esm/chunk-6JACZE7E.mjs.map +0 -7
  224. package/dist/lib/node-esm/chunk-ES6AOMCY.mjs +0 -80
  225. package/dist/lib/node-esm/chunk-ES6AOMCY.mjs.map +0 -7
  226. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  227. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  228. package/dist/lib/node-esm/chunk-PX6LHR2N.mjs +0 -21
  229. package/dist/lib/node-esm/chunk-PX6LHR2N.mjs.map +0 -7
  230. package/dist/lib/node-esm/chunk-ZCV4U7LT.mjs +0 -11343
  231. package/dist/lib/node-esm/chunk-ZCV4U7LT.mjs.map +0 -7
  232. package/dist/lib/node-esm/index.mjs +0 -119
  233. package/dist/lib/node-esm/index.mjs.map +0 -7
  234. package/dist/lib/node-esm/intent-resolver-BLPPTTEY.mjs +0 -32
  235. package/dist/lib/node-esm/intent-resolver-BLPPTTEY.mjs.map +0 -7
  236. package/dist/lib/node-esm/meta.json +0 -1
  237. package/dist/lib/node-esm/meta.mjs +0 -9
  238. package/dist/lib/node-esm/react-surface-HCKQSHKJ.mjs +0 -36
  239. package/dist/lib/node-esm/react-surface-HCKQSHKJ.mjs.map +0 -7
  240. package/dist/lib/node-esm/types/index.mjs +0 -12
  241. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  242. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  243. package/dist/types/src/components/ExplorerContainer.d.ts +0 -9
  244. package/dist/types/src/components/ExplorerContainer.d.ts.map +0 -1
  245. package/dist/types/src/components/Graph/D3ForceGraph.d.ts +0 -14
  246. package/dist/types/src/components/Graph/D3ForceGraph.d.ts.map +0 -1
  247. package/dist/types/src/components/Graph/D3ForceGraph.stories.d.ts +0 -15
  248. package/dist/types/src/components/Graph/D3ForceGraph.stories.d.ts.map +0 -1
  249. package/dist/types/src/components/Graph/adapter.d.ts.map +0 -1
  250. package/dist/types/src/components/Graph/testing.d.ts +0 -14
  251. package/dist/types/src/components/Graph/testing.d.ts.map +0 -1
  252. package/dist/types/src/components/Tree/testing/generator.d.ts.map +0 -1
  253. package/dist/types/src/components/Tree/testing/index.d.ts +0 -2
  254. package/dist/types/src/components/Tree/testing/index.d.ts.map +0 -1
  255. package/dist/types/src/components/plot.d.ts.map +0 -1
  256. package/src/capabilities/intent-resolver.ts +0 -21
  257. package/src/components/ExplorerContainer.tsx +0 -54
  258. package/src/components/Graph/D3ForceGraph.stories.tsx +0 -77
  259. package/src/components/Graph/D3ForceGraph.tsx +0 -101
  260. package/src/components/Graph/testing.ts +0 -55
  261. package/src/components/Tree/layout/HierarchicalEdgeBundling.ts +0 -162
  262. package/src/components/Tree/layout/RadialTree.ts +0 -94
  263. package/src/components/Tree/layout/TidyTree.ts +0 -101
  264. package/src/components/Tree/testing/index.ts +0 -5
  265. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/ExplorerPlugin.mjs.map} +0 -0
  266. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  267. /package/dist/lib/{browser/meta.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  268. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  269. /package/dist/lib/{node-esm → neutral}/meta.mjs.map +0 -0
  270. /package/dist/lib/{node-esm → neutral}/types/index.mjs.map +0 -0
@@ -0,0 +1,9 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/index.ts
4
+ import { lazy } from "react";
5
+ var ExplorerArticle = lazy(() => import("../ExplorerArticle-4I7PNGDC.mjs"));
6
+ export {
7
+ ExplorerArticle
8
+ };
9
+ //# sourceMappingURL=index.mjs.map
@@ -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}}}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  meta
3
- } from "./chunk-2DGFNLRO.mjs";
3
+ } from "./chunk-42BYLQQA.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
  export {
6
6
  meta
@@ -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,8 +1,7 @@
1
1
  import {
2
2
  ExplorerAction_exports,
3
3
  Graph_exports
4
- } from "../chunk-BZ65T5M3.mjs";
5
- import "../chunk-2DGFNLRO.mjs";
4
+ } from "../chunk-HI324IB4.mjs";
6
5
  import "../chunk-J5LGTIGS.mjs";
7
6
  export {
8
7
  ExplorerAction_exports as ExplorerAction,
@@ -1,6 +1,6 @@
1
- declare namespace _default {
2
- let type: string;
3
- let features: {
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"}