@dxos/plugin-explorer 0.8.4-main.ae835ea → 0.8.4-main.bc674ce

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 (128) hide show
  1. package/dist/lib/browser/ExplorerContainer-BFAWRIAJ.mjs +45 -0
  2. package/dist/lib/browser/ExplorerContainer-BFAWRIAJ.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-CRN65FY3.mjs → chunk-AGZAGILW.mjs} +135 -148
  4. package/dist/lib/{node-esm/chunk-RSZFBKZM.mjs.map → browser/chunk-AGZAGILW.mjs.map} +3 -3
  5. package/dist/lib/browser/{chunk-2MKBRIUT.mjs → chunk-BZMTFAP3.mjs} +8 -5
  6. package/dist/lib/browser/chunk-BZMTFAP3.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-HIFLWHXR.mjs +83 -0
  8. package/dist/lib/browser/chunk-HIFLWHXR.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-MGBT2ZFU.mjs +177 -0
  10. package/dist/lib/browser/chunk-MGBT2ZFU.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-UBHZGWZQ.mjs → chunk-YNQF4CPY.mjs} +1 -1
  12. package/dist/lib/browser/chunk-YNQF4CPY.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +46 -65
  14. package/dist/lib/browser/index.mjs.map +4 -4
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/meta.mjs +1 -1
  17. package/dist/lib/browser/react-surface-RWVHQL3J.mjs +35 -0
  18. package/dist/lib/browser/react-surface-RWVHQL3J.mjs.map +7 -0
  19. package/dist/lib/browser/types/index.mjs +1 -2
  20. package/dist/lib/node-esm/ExplorerContainer-YQ2KKBVS.mjs +46 -0
  21. package/dist/lib/node-esm/ExplorerContainer-YQ2KKBVS.mjs.map +7 -0
  22. package/dist/lib/node-esm/chunk-3OE6TBJI.mjs +84 -0
  23. package/dist/lib/node-esm/chunk-3OE6TBJI.mjs.map +7 -0
  24. package/dist/lib/node-esm/{chunk-UXZM5VJB.mjs → chunk-DK77RB6M.mjs} +1 -1
  25. package/dist/lib/node-esm/chunk-DK77RB6M.mjs.map +7 -0
  26. package/dist/lib/node-esm/{chunk-3ODK27PU.mjs → chunk-IPIGIQHX.mjs} +8 -5
  27. package/dist/lib/node-esm/chunk-IPIGIQHX.mjs.map +7 -0
  28. package/dist/lib/node-esm/{chunk-RSZFBKZM.mjs → chunk-QLMTN2XI.mjs} +135 -148
  29. package/dist/lib/{browser/chunk-CRN65FY3.mjs.map → node-esm/chunk-QLMTN2XI.mjs.map} +3 -3
  30. package/dist/lib/node-esm/chunk-YWJBDETV.mjs +179 -0
  31. package/dist/lib/node-esm/chunk-YWJBDETV.mjs.map +7 -0
  32. package/dist/lib/node-esm/index.mjs +46 -65
  33. package/dist/lib/node-esm/index.mjs.map +4 -4
  34. package/dist/lib/node-esm/meta.json +1 -1
  35. package/dist/lib/node-esm/meta.mjs +1 -1
  36. package/dist/lib/node-esm/react-surface-3REUS7KW.mjs +36 -0
  37. package/dist/lib/node-esm/react-surface-3REUS7KW.mjs.map +7 -0
  38. package/dist/lib/node-esm/types/index.mjs +1 -2
  39. package/dist/types/src/ExplorerPlugin.d.ts +2 -1
  40. package/dist/types/src/ExplorerPlugin.d.ts.map +1 -1
  41. package/dist/types/src/capabilities/index.d.ts +1 -2
  42. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  43. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  44. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  45. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  46. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  47. package/dist/types/src/components/ExplorerContainer.d.ts +4 -6
  48. package/dist/types/src/components/ExplorerContainer.d.ts.map +1 -1
  49. package/dist/types/src/components/Graph/D3ForceGraph.d.ts.map +1 -1
  50. package/dist/types/src/components/Graph/D3ForceGraph.stories.d.ts.map +1 -1
  51. package/dist/types/src/components/Graph/ForceGraph.stories.d.ts.map +1 -1
  52. package/dist/types/src/components/Graph/adapter.d.ts +1 -1
  53. package/dist/types/src/components/Graph/adapter.d.ts.map +1 -1
  54. package/dist/types/src/components/Graph/testing.d.ts.map +1 -1
  55. package/dist/types/src/components/Tree/Tree.d.ts.map +1 -1
  56. package/dist/types/src/components/Tree/Tree.stories.d.ts.map +1 -1
  57. package/dist/types/src/components/Tree/testing/generator.d.ts.map +1 -1
  58. package/dist/types/src/components/Tree/types/tree.d.ts +17 -15
  59. package/dist/types/src/components/Tree/types/tree.d.ts.map +1 -1
  60. package/dist/types/src/components/Tree/types/types.d.ts +1 -1
  61. package/dist/types/src/components/Tree/types/types.d.ts.map +1 -1
  62. package/dist/types/src/components/index.d.ts +2 -4
  63. package/dist/types/src/components/index.d.ts.map +1 -1
  64. package/dist/types/src/hooks/useGraphModel.d.ts.map +1 -1
  65. package/dist/types/src/meta.d.ts +2 -2
  66. package/dist/types/src/meta.d.ts.map +1 -1
  67. package/dist/types/src/translations.d.ts +17 -10
  68. package/dist/types/src/translations.d.ts.map +1 -1
  69. package/dist/types/src/types/ExplorerAction.d.ts +1 -18
  70. package/dist/types/src/types/ExplorerAction.d.ts.map +1 -1
  71. package/dist/types/src/types/Graph.d.ts +21 -24
  72. package/dist/types/src/types/Graph.d.ts.map +1 -1
  73. package/dist/types/tsconfig.tsbuildinfo +1 -1
  74. package/package.json +52 -47
  75. package/src/ExplorerPlugin.tsx +27 -52
  76. package/src/capabilities/index.ts +1 -4
  77. package/src/capabilities/react-surface/index.ts +7 -0
  78. package/src/capabilities/react-surface/react-surface.tsx +30 -0
  79. package/src/components/Chart/Chart.stories.tsx +2 -2
  80. package/src/components/ExplorerContainer.tsx +7 -9
  81. package/src/components/Globe/Globe.stories.tsx +2 -2
  82. package/src/components/Graph/D3ForceGraph.stories.tsx +19 -13
  83. package/src/components/Graph/D3ForceGraph.tsx +2 -2
  84. package/src/components/Graph/ForceGraph.stories.tsx +19 -13
  85. package/src/components/Graph/adapter.ts +14 -8
  86. package/src/components/Graph/testing.ts +11 -8
  87. package/src/components/Tree/Tree.stories.tsx +3 -2
  88. package/src/components/Tree/Tree.tsx +8 -3
  89. package/src/components/Tree/testing/generator.ts +4 -2
  90. package/src/components/Tree/types/tree.test.ts +5 -3
  91. package/src/components/Tree/types/tree.ts +39 -18
  92. package/src/components/Tree/types/types.ts +1 -1
  93. package/src/components/index.ts +3 -3
  94. package/src/hooks/useGraphModel.ts +6 -4
  95. package/src/meta.ts +2 -2
  96. package/src/translations.ts +3 -1
  97. package/src/types/ExplorerAction.ts +11 -19
  98. package/src/types/Graph.ts +38 -21
  99. package/dist/lib/browser/ExplorerContainer-L5RVUJRL.mjs +0 -50
  100. package/dist/lib/browser/ExplorerContainer-L5RVUJRL.mjs.map +0 -7
  101. package/dist/lib/browser/chunk-2MKBRIUT.mjs.map +0 -7
  102. package/dist/lib/browser/chunk-6BVXZQPP.mjs +0 -188
  103. package/dist/lib/browser/chunk-6BVXZQPP.mjs.map +0 -7
  104. package/dist/lib/browser/chunk-BGNRYZUN.mjs +0 -79
  105. package/dist/lib/browser/chunk-BGNRYZUN.mjs.map +0 -7
  106. package/dist/lib/browser/chunk-UBHZGWZQ.mjs.map +0 -7
  107. package/dist/lib/browser/intent-resolver-FX5H52QN.mjs +0 -31
  108. package/dist/lib/browser/intent-resolver-FX5H52QN.mjs.map +0 -7
  109. package/dist/lib/browser/react-surface-VS3ZFL2Y.mjs +0 -35
  110. package/dist/lib/browser/react-surface-VS3ZFL2Y.mjs.map +0 -7
  111. package/dist/lib/node-esm/ExplorerContainer-BBLPHH7K.mjs +0 -51
  112. package/dist/lib/node-esm/ExplorerContainer-BBLPHH7K.mjs.map +0 -7
  113. package/dist/lib/node-esm/chunk-3ODK27PU.mjs.map +0 -7
  114. package/dist/lib/node-esm/chunk-CRSVAZNA.mjs +0 -190
  115. package/dist/lib/node-esm/chunk-CRSVAZNA.mjs.map +0 -7
  116. package/dist/lib/node-esm/chunk-TQESRBUJ.mjs +0 -80
  117. package/dist/lib/node-esm/chunk-TQESRBUJ.mjs.map +0 -7
  118. package/dist/lib/node-esm/chunk-UXZM5VJB.mjs.map +0 -7
  119. package/dist/lib/node-esm/intent-resolver-RGBBXXYM.mjs +0 -32
  120. package/dist/lib/node-esm/intent-resolver-RGBBXXYM.mjs.map +0 -7
  121. package/dist/lib/node-esm/react-surface-SXPT2T37.mjs +0 -36
  122. package/dist/lib/node-esm/react-surface-SXPT2T37.mjs.map +0 -7
  123. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  124. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  125. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  126. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  127. package/src/capabilities/intent-resolver.ts +0 -21
  128. package/src/capabilities/react-surface.tsx +0 -27
@@ -1,7 +1,6 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
 
3
3
  // src/components/Chart/Chart.tsx
4
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
5
4
  import * as Plot from "@observablehq/plot";
6
5
  import React, { useEffect } from "react";
7
6
  import { useResizeDetector } from "react-resize-detector";
@@ -19,49 +18,43 @@ var defaultOptions = {
19
18
  fillOpacity: 0.2
20
19
  };
21
20
  var Chart = ({ items = [], accessor, options = defaultOptions }) => {
22
- var _effect = _useSignals();
23
- try {
24
- const { ref: containerRef, width = 0, height = 0 } = useResizeDetector({
25
- refreshRate: 200
26
- });
27
- useEffect(() => {
28
- if (!width || !height) {
29
- return;
30
- }
31
- const plot3 = Plot.plot({
32
- grid: true,
33
- width,
34
- height,
35
- style: {
36
- background: "transparent"
37
- },
38
- marks: [
39
- Plot.frame(),
40
- Plot.dot(items, {
41
- x: createAdapter("x", accessor),
42
- y: createAdapter("y", accessor),
43
- ...options
44
- })
45
- ]
46
- });
47
- containerRef.current.append(plot3);
48
- return () => plot3?.remove();
49
- }, [
50
- items,
21
+ const { ref: containerRef, width = 0, height = 0 } = useResizeDetector({
22
+ refreshRate: 200
23
+ });
24
+ useEffect(() => {
25
+ if (!width || !height) {
26
+ return;
27
+ }
28
+ const plot3 = Plot.plot({
29
+ grid: true,
51
30
  width,
52
- height
53
- ]);
54
- return /* @__PURE__ */ React.createElement("div", {
55
- ref: containerRef,
56
- className: "grow"
31
+ height,
32
+ style: {
33
+ background: "transparent"
34
+ },
35
+ marks: [
36
+ Plot.frame(),
37
+ Plot.dot(items, {
38
+ x: createAdapter("x", accessor),
39
+ y: createAdapter("y", accessor),
40
+ ...options
41
+ })
42
+ ]
57
43
  });
58
- } finally {
59
- _effect.f();
60
- }
44
+ containerRef.current.append(plot3);
45
+ return () => plot3?.remove();
46
+ }, [
47
+ items,
48
+ width,
49
+ height
50
+ ]);
51
+ return /* @__PURE__ */ React.createElement("div", {
52
+ ref: containerRef,
53
+ className: "grow"
54
+ });
61
55
  };
62
56
 
63
57
  // src/components/Globe/Globe.tsx
64
- import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
65
58
  import * as Plot2 from "@observablehq/plot";
66
59
  import React2, { useEffect as useEffect2 } from "react";
67
60
  import { useResizeDetector as useResizeDetector2 } from "react-resize-detector";
@@ -10775,68 +10768,63 @@ var defaultOptions2 = {
10775
10768
  fill: "#003300"
10776
10769
  };
10777
10770
  var Globe = ({ items = [], accessor, projection = "orthographic", options = defaultOptions2 }) => {
10778
- var _effect = _useSignals2();
10779
- try {
10780
- const { ref: containerRef, width = 0, height = 0 } = useResizeDetector2({
10781
- refreshRate: 200
10782
- });
10783
- const land = topojson.feature(countries_110m_default, countries_110m_default.objects.land);
10784
- useEffect2(() => {
10785
- if (!width || !height) {
10786
- return;
10787
- }
10788
- const plot3 = Plot2.plot({
10789
- // https://observablehq.com/plot/features/projections
10790
- projection: {
10791
- type: projection,
10792
- rotate: [
10793
- -100,
10794
- -20
10795
- ]
10796
- },
10797
- // projection: { type: 'equirectangular', rotate: [-140, -30] },
10798
- width,
10799
- height,
10800
- style: {
10801
- background: "transparent"
10802
- },
10803
- // TODO(burdon): Create simple wrapper for Plot with good defaults.
10804
- marks: [
10805
- Plot2.sphere({
10806
- fill: "lightblue",
10807
- fillOpacity: 0.5
10808
- }),
10809
- Plot2.geo(land, {
10810
- fill: "darkgreen",
10811
- fillOpacity: 0.5
10812
- }),
10813
- Plot2.graticule(),
10814
- Plot2.dot(items, {
10815
- x: createAdapter("lat", accessor),
10816
- y: createAdapter("lng", accessor),
10817
- ...options
10818
- })
10771
+ const { ref: containerRef, width = 0, height = 0 } = useResizeDetector2({
10772
+ refreshRate: 200
10773
+ });
10774
+ const land = topojson.feature(countries_110m_default, countries_110m_default.objects.land);
10775
+ useEffect2(() => {
10776
+ if (!width || !height) {
10777
+ return;
10778
+ }
10779
+ const plot3 = Plot2.plot({
10780
+ // https://observablehq.com/plot/features/projections
10781
+ projection: {
10782
+ type: projection,
10783
+ rotate: [
10784
+ -100,
10785
+ -20
10819
10786
  ]
10820
- });
10821
- containerRef.current.append(plot3);
10822
- return () => plot3?.remove();
10823
- }, [
10824
- items,
10787
+ },
10788
+ // projection: { type: 'equirectangular', rotate: [-140, -30] },
10825
10789
  width,
10826
- height
10827
- ]);
10828
- return /* @__PURE__ */ React2.createElement("div", {
10829
- ref: containerRef,
10830
- className: "grow p-4"
10790
+ height,
10791
+ style: {
10792
+ background: "transparent"
10793
+ },
10794
+ // TODO(burdon): Create simple wrapper for Plot with good defaults.
10795
+ marks: [
10796
+ Plot2.sphere({
10797
+ fill: "lightblue",
10798
+ fillOpacity: 0.5
10799
+ }),
10800
+ Plot2.geo(land, {
10801
+ fill: "darkgreen",
10802
+ fillOpacity: 0.5
10803
+ }),
10804
+ Plot2.graticule(),
10805
+ Plot2.dot(items, {
10806
+ x: createAdapter("lat", accessor),
10807
+ y: createAdapter("lng", accessor),
10808
+ ...options
10809
+ })
10810
+ ]
10831
10811
  });
10832
- } finally {
10833
- _effect.f();
10834
- }
10812
+ containerRef.current.append(plot3);
10813
+ return () => plot3?.remove();
10814
+ }, [
10815
+ items,
10816
+ width,
10817
+ height
10818
+ ]);
10819
+ return /* @__PURE__ */ React2.createElement("div", {
10820
+ ref: containerRef,
10821
+ className: "grow p-4"
10822
+ });
10835
10823
  };
10836
10824
 
10837
10825
  // src/components/Tree/Tree.tsx
10838
- import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
10839
- import React3, { useEffect as useEffect3, useRef, useState } from "react";
10826
+ import { RegistryContext } from "@effect-atom/atom-react";
10827
+ import React3, { useContext, useEffect as useEffect3, useRef, useState } from "react";
10840
10828
  import { useAsyncState } from "@dxos/react-ui";
10841
10829
  import { SVG } from "@dxos/react-ui-graph";
10842
10830
  import { SpaceGraphModel } from "@dxos/schema";
@@ -10977,6 +10965,7 @@ var TidyTree_default = TidyTree;
10977
10965
  // src/components/Tree/types/tree.ts
10978
10966
  import * as Schema from "effect/Schema";
10979
10967
  import { Key, Obj, Type } from "@dxos/echo";
10968
+ import { TestSchema } from "@dxos/echo/testing";
10980
10969
  import { invariant } from "@dxos/invariant";
10981
10970
  var TreeNodeType = Schema.Struct({
10982
10971
  id: Key.ObjectId,
@@ -10985,7 +10974,7 @@ var TreeNodeType = Schema.Struct({
10985
10974
  key: Schema.String,
10986
10975
  value: Schema.Any
10987
10976
  })),
10988
- ref: Schema.optional(Type.Ref(Type.Expando))
10977
+ ref: Schema.optional(Type.Ref(TestSchema.Expando))
10989
10978
  }).pipe(Schema.mutable);
10990
10979
  var TreeType = Schema.Struct({
10991
10980
  root: Key.ObjectId,
@@ -10993,7 +10982,7 @@ var TreeType = Schema.Struct({
10993
10982
  key: Key.ObjectId,
10994
10983
  value: TreeNodeType
10995
10984
  }))
10996
- }).pipe(Type.Obj({
10985
+ }).pipe(Type.object({
10997
10986
  typename: "dxos.org/type/Tree",
10998
10987
  version: "0.1.0"
10999
10988
  }));
@@ -11025,61 +11014,59 @@ var renderers = /* @__PURE__ */ new Map([
11025
11014
  ]
11026
11015
  ]);
11027
11016
  var Tree = ({ space, selected, variant = "tidy", onNodeClick }) => {
11028
- var _effect = _useSignals3();
11029
- try {
11030
- const [model] = useAsyncState(async () => space ? new SpaceGraphModel().open(space) : void 0, [
11031
- space,
11032
- selected
11033
- ]);
11034
- const [tree3, setTree] = useState();
11035
- useEffect3(() => {
11036
- return model?.subscribe(() => {
11037
- const tree4 = mapGraphToTreeData(model);
11038
- setTree(tree4);
11039
- }, true);
11040
- }, [
11041
- model
11042
- ]);
11043
- const context = useRef(null);
11044
- useEffect3(() => {
11045
- if (context.current?.size) {
11046
- const { width, height } = context.current.size;
11047
- const size = Math.min(width, height);
11048
- const radius = size * 0.4;
11049
- const options = {
11050
- // TODO(burdon): Type.
11051
- label: (d) => d.label ?? d.id,
11052
- width,
11053
- height,
11054
- radius,
11055
- marginLeft: (width - radius * 2) / 2,
11056
- marginRight: (width - radius * 2) / 2,
11057
- marginTop: (height - radius * 2) / 2,
11058
- marginBottom: (height - radius * 2) / 2,
11059
- slots: defaultTreeLayoutSlots
11060
- };
11061
- if (tree3) {
11062
- const renderer = renderers.get(variant);
11063
- renderer?.(context.current.svg, tree3, options);
11064
- }
11017
+ const registry = useContext(RegistryContext);
11018
+ const [model] = useAsyncState(async () => space ? new SpaceGraphModel(registry).open(space.db) : void 0, [
11019
+ space,
11020
+ selected,
11021
+ registry
11022
+ ]);
11023
+ const [tree3, setTree] = useState();
11024
+ useEffect3(() => {
11025
+ return model?.subscribe(() => {
11026
+ const tree4 = mapGraphToTreeData(model);
11027
+ setTree(tree4);
11028
+ }, true);
11029
+ }, [
11030
+ model
11031
+ ]);
11032
+ const context = useRef(null);
11033
+ useEffect3(() => {
11034
+ if (context.current?.size) {
11035
+ const { width, height } = context.current.size;
11036
+ const size = Math.min(width, height);
11037
+ const radius = size * 0.4;
11038
+ const options = {
11039
+ // TODO(burdon): Type.
11040
+ label: (d) => d.label ?? d.id,
11041
+ width,
11042
+ height,
11043
+ radius,
11044
+ marginLeft: (width - radius * 2) / 2,
11045
+ marginRight: (width - radius * 2) / 2,
11046
+ marginTop: (height - radius * 2) / 2,
11047
+ marginBottom: (height - radius * 2) / 2,
11048
+ slots: defaultTreeLayoutSlots
11049
+ };
11050
+ if (tree3) {
11051
+ const renderer = renderers.get(variant);
11052
+ renderer?.(context.current.svg, tree3, options);
11065
11053
  }
11066
- }, [
11067
- context.current,
11068
- tree3
11069
- ]);
11070
- return /* @__PURE__ */ React3.createElement("div", {
11071
- onClick: () => onNodeClick?.()
11072
- }, /* @__PURE__ */ React3.createElement(SVG.Root, {
11073
- ref: context
11074
- }));
11075
- } finally {
11076
- _effect.f();
11077
- }
11054
+ }
11055
+ }, [
11056
+ context.current,
11057
+ tree3
11058
+ ]);
11059
+ return /* @__PURE__ */ React3.createElement("div", {
11060
+ className: "grow",
11061
+ onClick: () => onNodeClick?.()
11062
+ }, /* @__PURE__ */ React3.createElement(SVG.Root, {
11063
+ ref: context
11064
+ }));
11078
11065
  };
11079
11066
 
11080
11067
  // src/components/index.ts
11081
11068
  import { lazy } from "react";
11082
- var ExplorerContainer = lazy(() => import("./ExplorerContainer-BBLPHH7K.mjs"));
11069
+ var ExplorerContainer = lazy(() => import("./ExplorerContainer-YQ2KKBVS.mjs"));
11083
11070
 
11084
11071
  export {
11085
11072
  Chart,
@@ -11088,4 +11075,4 @@ export {
11088
11075
  Tree,
11089
11076
  ExplorerContainer
11090
11077
  };
11091
- //# sourceMappingURL=chunk-RSZFBKZM.mjs.map
11078
+ //# sourceMappingURL=chunk-QLMTN2XI.mjs.map