@dxos/plugin-explorer 0.8.0 → 0.8.1-main.013e445

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 (110) hide show
  1. package/dist/lib/browser/{ExplorerContainer-GJTCBEM4.mjs → ExplorerContainer-3FC557MG.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-S3QNIEBS.mjs → chunk-4OFGICWF.mjs} +241 -2
  3. package/dist/lib/{node-esm/chunk-BRJI3QC2.mjs.map → browser/chunk-4OFGICWF.mjs.map} +4 -4
  4. package/dist/lib/browser/{chunk-PMHCTMKT.mjs → chunk-B3EX52V3.mjs} +2 -2
  5. package/dist/lib/browser/{chunk-QOKAZK4V.mjs → chunk-KYB47PZA.mjs} +1 -1
  6. package/dist/lib/browser/chunk-KYB47PZA.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-X5CI43J6.mjs +205 -0
  8. package/dist/lib/browser/chunk-X5CI43J6.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +13 -20
  10. package/dist/lib/browser/index.mjs.map +3 -3
  11. package/dist/lib/browser/{intent-resolver-UJNDAIDZ.mjs → intent-resolver-5UXBTZAM.mjs} +3 -3
  12. package/dist/lib/browser/meta.json +1 -1
  13. package/dist/lib/browser/meta.mjs +1 -1
  14. package/dist/lib/browser/{react-surface-3X2V3VPN.mjs → react-surface-7HHUAS3J.mjs} +7 -6
  15. package/dist/lib/browser/react-surface-7HHUAS3J.mjs.map +7 -0
  16. package/dist/lib/browser/types/index.mjs +2 -2
  17. package/dist/lib/node/{ExplorerContainer-RJT54IOS.cjs → ExplorerContainer-2DQFUEG7.cjs} +6 -6
  18. package/dist/lib/node/{chunk-5MTMJYC4.cjs → chunk-6VLMSRD5.cjs} +4 -4
  19. package/dist/lib/node/chunk-6VLMSRD5.cjs.map +7 -0
  20. package/dist/lib/node/chunk-AABHIUUW.cjs +236 -0
  21. package/dist/lib/node/chunk-AABHIUUW.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-YUY7P7R2.cjs → chunk-C4DXEIBU.cjs} +6 -6
  23. package/dist/lib/node/{chunk-VSACDC6F.cjs → chunk-ZJL53DLS.cjs} +234 -8
  24. package/dist/lib/node/chunk-ZJL53DLS.cjs.map +7 -0
  25. package/dist/lib/node/index.cjs +31 -38
  26. package/dist/lib/node/index.cjs.map +3 -3
  27. package/dist/lib/node/{intent-resolver-XQV24IAA.cjs → intent-resolver-WDMZJTJ5.cjs} +8 -8
  28. package/dist/lib/node/meta.cjs +3 -3
  29. package/dist/lib/node/meta.cjs.map +1 -1
  30. package/dist/lib/node/meta.json +1 -1
  31. package/dist/lib/node/{react-surface-36YIY7NA.cjs → react-surface-UKU6NFBS.cjs} +12 -11
  32. package/dist/lib/node/react-surface-UKU6NFBS.cjs.map +7 -0
  33. package/dist/lib/node/types/index.cjs +4 -4
  34. package/dist/lib/node/types/index.cjs.map +1 -1
  35. package/dist/lib/node-esm/{ExplorerContainer-TM3VIXVK.mjs → ExplorerContainer-RBGUFI5X.mjs} +2 -2
  36. package/dist/lib/node-esm/{chunk-BRJI3QC2.mjs → chunk-PIOV7IOO.mjs} +240 -2
  37. package/dist/lib/{browser/chunk-S3QNIEBS.mjs.map → node-esm/chunk-PIOV7IOO.mjs.map} +4 -4
  38. package/dist/lib/node-esm/{chunk-UHJZUVRI.mjs → chunk-RKQR2GVZ.mjs} +1 -1
  39. package/dist/lib/node-esm/chunk-RKQR2GVZ.mjs.map +7 -0
  40. package/dist/lib/node-esm/chunk-TI3P4L2P.mjs +207 -0
  41. package/dist/lib/node-esm/chunk-TI3P4L2P.mjs.map +7 -0
  42. package/dist/lib/node-esm/{chunk-57K7ORAW.mjs → chunk-WJ6AML7W.mjs} +2 -2
  43. package/dist/lib/node-esm/index.mjs +13 -20
  44. package/dist/lib/node-esm/index.mjs.map +3 -3
  45. package/dist/lib/node-esm/{intent-resolver-RZQ3EEOE.mjs → intent-resolver-KBRYGW6I.mjs} +3 -3
  46. package/dist/lib/node-esm/meta.json +1 -1
  47. package/dist/lib/node-esm/meta.mjs +1 -1
  48. package/dist/lib/node-esm/{react-surface-YDY7IBMY.mjs → react-surface-UZYRBRXP.mjs} +7 -6
  49. package/dist/lib/node-esm/react-surface-UZYRBRXP.mjs.map +7 -0
  50. package/dist/lib/node-esm/types/index.mjs +2 -2
  51. package/dist/types/src/ExplorerPlugin.d.ts.map +1 -1
  52. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  53. package/dist/types/src/components/Chart/Chart.d.ts +2 -1
  54. package/dist/types/src/components/Chart/Chart.d.ts.map +1 -1
  55. package/dist/types/src/components/Chart/Chart.stories.d.ts +2 -1
  56. package/dist/types/src/components/Chart/Chart.stories.d.ts.map +1 -1
  57. package/dist/types/src/components/ExplorerContainer.d.ts +2 -1
  58. package/dist/types/src/components/ExplorerContainer.d.ts.map +1 -1
  59. package/dist/types/src/components/Globe/Globe.d.ts +2 -1
  60. package/dist/types/src/components/Globe/Globe.d.ts.map +1 -1
  61. package/dist/types/src/components/Globe/Globe.stories.d.ts +3 -2
  62. package/dist/types/src/components/Globe/Globe.stories.d.ts.map +1 -1
  63. package/dist/types/src/components/Graph/Graph.d.ts +0 -3
  64. package/dist/types/src/components/Graph/Graph.d.ts.map +1 -1
  65. package/dist/types/src/components/Graph/Graph.stories.d.ts +1 -1
  66. package/dist/types/src/components/Graph/Graph.stories.d.ts.map +1 -1
  67. package/dist/types/src/components/Graph/graph-model.d.ts.map +1 -1
  68. package/dist/types/src/components/Tree/Tree.d.ts +2 -1
  69. package/dist/types/src/components/Tree/Tree.d.ts.map +1 -1
  70. package/dist/types/src/components/Tree/Tree.stories.d.ts.map +1 -1
  71. package/dist/types/src/components/Tree/types.d.ts +1 -1
  72. package/dist/types/src/components/Tree/types.d.ts.map +1 -1
  73. package/dist/types/src/components/index.d.ts +1 -1
  74. package/dist/types/src/components/index.d.ts.map +1 -1
  75. package/dist/types/src/meta.d.ts +2 -9
  76. package/dist/types/src/meta.d.ts.map +1 -1
  77. package/dist/types/src/translations.d.ts +2 -6
  78. package/dist/types/src/translations.d.ts.map +1 -1
  79. package/package.json +26 -26
  80. package/src/ExplorerPlugin.tsx +1 -2
  81. package/src/capabilities/react-surface.tsx +2 -1
  82. package/src/components/Graph/Graph.stories.tsx +2 -2
  83. package/src/components/Graph/Graph.tsx +16 -142
  84. package/src/components/Graph/graph-model.ts +2 -0
  85. package/src/components/Tree/Tree.stories.tsx +3 -36
  86. package/src/components/Tree/types.ts +2 -1
  87. package/src/meta.ts +2 -2
  88. package/src/translations.ts +1 -2
  89. package/dist/lib/browser/chunk-QOKAZK4V.mjs.map +0 -7
  90. package/dist/lib/browser/chunk-YQL7YE6N.mjs +0 -546
  91. package/dist/lib/browser/chunk-YQL7YE6N.mjs.map +0 -7
  92. package/dist/lib/browser/react-surface-3X2V3VPN.mjs.map +0 -7
  93. package/dist/lib/node/chunk-5MTMJYC4.cjs.map +0 -7
  94. package/dist/lib/node/chunk-VSACDC6F.cjs.map +0 -7
  95. package/dist/lib/node/chunk-YH4QYCZH.cjs +0 -567
  96. package/dist/lib/node/chunk-YH4QYCZH.cjs.map +0 -7
  97. package/dist/lib/node/react-surface-36YIY7NA.cjs.map +0 -7
  98. package/dist/lib/node-esm/chunk-3KRWHGBM.mjs +0 -548
  99. package/dist/lib/node-esm/chunk-3KRWHGBM.mjs.map +0 -7
  100. package/dist/lib/node-esm/chunk-UHJZUVRI.mjs.map +0 -7
  101. package/dist/lib/node-esm/react-surface-YDY7IBMY.mjs.map +0 -7
  102. /package/dist/lib/browser/{ExplorerContainer-GJTCBEM4.mjs.map → ExplorerContainer-3FC557MG.mjs.map} +0 -0
  103. /package/dist/lib/browser/{chunk-PMHCTMKT.mjs.map → chunk-B3EX52V3.mjs.map} +0 -0
  104. /package/dist/lib/browser/{intent-resolver-UJNDAIDZ.mjs.map → intent-resolver-5UXBTZAM.mjs.map} +0 -0
  105. /package/dist/lib/node/{ExplorerContainer-RJT54IOS.cjs.map → ExplorerContainer-2DQFUEG7.cjs.map} +0 -0
  106. /package/dist/lib/node/{chunk-YUY7P7R2.cjs.map → chunk-C4DXEIBU.cjs.map} +0 -0
  107. /package/dist/lib/node/{intent-resolver-XQV24IAA.cjs.map → intent-resolver-WDMZJTJ5.cjs.map} +0 -0
  108. /package/dist/lib/node-esm/{ExplorerContainer-TM3VIXVK.mjs.map → ExplorerContainer-RBGUFI5X.mjs.map} +0 -0
  109. /package/dist/lib/node-esm/{chunk-57K7ORAW.mjs.map → chunk-WJ6AML7W.mjs.map} +0 -0
  110. /package/dist/lib/node-esm/{intent-resolver-RZQ3EEOE.mjs.map → intent-resolver-KBRYGW6I.mjs.map} +0 -0
@@ -4,100 +4,37 @@
4
4
 
5
5
  import { forceLink, forceManyBody } from 'd3';
6
6
  import ForceGraph from 'force-graph';
7
- import React, { type FC, useEffect, useMemo, useRef, useState } from 'react';
7
+ import React, { type FC, useEffect, useRef } from 'react';
8
8
  import { useResizeDetector } from 'react-resize-detector';
9
9
 
10
- import { getTypename, type ReactiveEchoObject, type Space } from '@dxos/client/echo';
11
- import { createSvgContext, defaultGridStyles, Grid, SVG, SVGRoot, Zoom } from '@dxos/gem-core';
12
- import {
13
- defaultStyles,
14
- Graph as GraphComponent,
15
- GraphForceProjector,
16
- type GraphLayoutNode,
17
- Markers,
18
- } from '@dxos/gem-spore';
10
+ import { type Space } from '@dxos/client/echo';
19
11
  import { filterObjectsSync, type SearchResult } from '@dxos/plugin-search';
20
- import { useAsyncState, useThemeContext } from '@dxos/react-ui';
21
- import { mx } from '@dxos/react-ui-theme';
22
- import '@dxos/gem-spore/styles';
12
+ import { useAsyncState } from '@dxos/react-ui';
23
13
 
24
- import { type EchoGraphNode, SpaceGraphModel } from './graph-model';
25
- import { Tree } from '../Tree';
26
-
27
- type Slots = {
28
- root?: { className?: string };
29
- grid?: { className?: string };
30
- };
31
-
32
- const slots: Slots = {};
33
-
34
- const colors = [
35
- '[&>circle]:!fill-black-300 [&>circle]:!stroke-black-600',
36
- '[&>circle]:!fill-slate-300 [&>circle]:!stroke-slate-600',
37
- '[&>circle]:!fill-green-300 [&>circle]:!stroke-green-600',
38
- '[&>circle]:!fill-sky-300 [&>circle]:!stroke-sky-600',
39
- '[&>circle]:!fill-cyan-300 [&>circle]:!stroke-cyan-600',
40
- '[&>circle]:!fill-rose-300 [&>circle]:!stroke-rose-600',
41
- '[&>circle]:!fill-purple-300 [&>circle]:!stroke-purple-600',
42
- '[&>circle]:!fill-orange-300 [&>circle]:!stroke-orange-600',
43
- '[&>circle]:!fill-teal-300 [&>circle]:!stroke-teal-600',
44
- '[&>circle]:!fill-indigo-300 [&>circle]:!stroke-indigo-600',
45
- ];
14
+ import { SpaceGraphModel } from './graph-model';
46
15
 
47
16
  export type GraphProps = {
48
17
  space: Space;
49
18
  match?: RegExp;
50
- grid?: boolean;
51
- svg?: boolean;
52
19
  };
53
20
 
54
- export const Graph: FC<GraphProps> = ({ space, match, grid, svg }) => {
55
- const { themeMode } = useThemeContext();
56
- const [selected, setSelected] = useState<string>();
21
+ export const Graph: FC<GraphProps> = ({ space, match }) => {
22
+ const { ref, width, height } = useResizeDetector({ refreshRate: 200 });
23
+ const rootRef = useRef<HTMLDivElement>(null);
24
+ const forceGraph = useRef<ForceGraph>();
57
25
 
58
26
  const [model] = useAsyncState(
59
27
  async () => (space ? new SpaceGraphModel({ schema: true }).open(space) : undefined),
60
28
  [space],
61
29
  );
62
30
 
63
- const context = createSvgContext();
64
- const projector = useMemo(
65
- () =>
66
- new GraphForceProjector<EchoGraphNode>(context, {
67
- forces: {
68
- manyBody: {
69
- strength: -100,
70
- },
71
- link: {
72
- distance: 100,
73
- },
74
- radial: {
75
- radius: 150,
76
- strength: 0.05,
77
- },
78
- },
79
- attributes: {
80
- radius: (node: GraphLayoutNode<EchoGraphNode>) => (node.data?.type === 'schema' ? 12 : 8),
81
- },
82
- }),
83
- [],
84
- );
85
-
86
31
  const filteredRef = useRef<SearchResult[]>();
87
32
  filteredRef.current = filterObjectsSync(model?.objects ?? [], match);
88
- useEffect(() => {
89
- void projector.start();
90
- }, [match]);
91
-
92
- const [colorMap] = useState(new Map<string, string>());
93
-
94
- // https://github.com/vasturiano/force-graph
95
- const { ref, width, height } = useResizeDetector();
96
- const rootRef = useRef<HTMLDivElement>(null);
97
- const forceGraph = useRef<ForceGraph>();
98
33
 
99
34
  useEffect(() => {
100
35
  if (rootRef.current) {
36
+ // https://github.com/vasturiano/force-graph
37
+ // https://github.com/vasturiano/3d-force-graph
101
38
  forceGraph.current = new ForceGraph(rootRef.current)
102
39
  .nodeRelSize(6)
103
40
  .nodeLabel((node: any) => {
@@ -117,7 +54,6 @@ export const Graph: FC<GraphProps> = ({ space, match, grid, svg }) => {
117
54
  };
118
55
  }, []);
119
56
 
120
- // Update.
121
57
  useEffect(() => {
122
58
  if (forceGraph.current && width && height && model) {
123
59
  forceGraph.current
@@ -125,7 +61,7 @@ export const Graph: FC<GraphProps> = ({ space, match, grid, svg }) => {
125
61
  .width(width)
126
62
  .height(height)
127
63
  .onEngineStop(() => {
128
- forceGraph.current?.zoomToFit(400, 40);
64
+ handleZoomToFit();
129
65
  })
130
66
 
131
67
  // https://github.com/vasturiano/force-graph?tab=readme-ov-file#force-engine-d3-force-configuration
@@ -134,11 +70,10 @@ export const Graph: FC<GraphProps> = ({ space, match, grid, svg }) => {
134
70
  .d3Force('charge', forceManyBody().strength(-30))
135
71
  // .d3AlphaDecay(0.0228)
136
72
  // .d3VelocityDecay(0.4)
137
- .warmupTicks(100)
138
- // .cooldownTime(1000)
139
73
 
140
- //
141
74
  .graphData(model.graph)
75
+ .warmupTicks(100)
76
+ .cooldownTime(1000)
142
77
  .resumeAnimation();
143
78
  }
144
79
  }, [model, width, height]);
@@ -147,70 +82,9 @@ export const Graph: FC<GraphProps> = ({ space, match, grid, svg }) => {
147
82
  forceGraph.current?.zoomToFit(400, 40);
148
83
  };
149
84
 
150
- if (!svg) {
151
- return (
152
- <div ref={ref} className='relative grow' onClick={handleZoomToFit}>
153
- <div ref={rootRef} className='absolute inset-0' />
154
- </div>
155
- );
156
- }
157
-
158
- if (selected) {
159
- return <Tree space={space} selected={selected} variant='tidy' onNodeClick={() => setSelected(undefined)} />;
160
- }
161
-
162
85
  return (
163
- <SVGRoot context={context}>
164
- <SVG className={mx(defaultStyles, slots?.root?.className)}>
165
- <Markers arrowSize={6} />
166
- {grid && <Grid className={slots?.grid?.className ?? defaultGridStyles(themeMode)} />}
167
- <Zoom extent={[1 / 2, 4]}>
168
- <GraphComponent
169
- model={model}
170
- projector={projector}
171
- drag
172
- arrows
173
- onSelect={(node) => setSelected(node?.data?.id)}
174
- labels={{
175
- text: (node: GraphLayoutNode<ReactiveEchoObject<any>>) => {
176
- if (filteredRef.current?.length && !filteredRef.current.some((object) => object.id === node.data?.id)) {
177
- return undefined;
178
- }
179
-
180
- // TODO(burdon): Use schema.
181
- return node.data?.label ?? node.data?.title ?? node.data?.name ?? node.data?.id.slice(0, 8);
182
- },
183
- }}
184
- attributes={{
185
- node: (node: GraphLayoutNode<ReactiveEchoObject<any>>) => {
186
- let className: string | undefined;
187
- if (node.data) {
188
- const { object } = node.data;
189
- if (object) {
190
- const typename = getTypename(object);
191
- if (typename) {
192
- className = colorMap.get(typename);
193
- if (!className) {
194
- className = colors[colorMap.size % colors.length];
195
- colorMap.set(typename, className);
196
- }
197
- }
198
- }
199
- }
200
-
201
- const selected = filteredRef.current?.some((object) => object.id === node.data?.id);
202
- const blur = !selected && !!filteredRef.current?.length;
203
- return {
204
- class: mx(className, blur && 'opacity-70'),
205
- };
206
- },
207
- link: () => ({
208
- class: '[&>path]:!stroke-neutral-300 dark:[&>path]:!stroke-neutral-700',
209
- }),
210
- }}
211
- />
212
- </Zoom>
213
- </SVG>
214
- </SVGRoot>
86
+ <div ref={ref} className='relative grow' onClick={handleZoomToFit}>
87
+ <div ref={rootRef} className='absolute inset-0' />
88
+ </div>
215
89
  );
216
90
  };
@@ -21,6 +21,8 @@ export type SpaceGraphModelOptions = {
21
21
  schema?: boolean;
22
22
  };
23
23
 
24
+ // TODO(burdon): Convert to common/graph.
25
+
24
26
  type SchemaGraphNode = {
25
27
  id: string;
26
28
  type: 'schema';
@@ -7,59 +7,26 @@ import '@dxos-theme';
7
7
  import { type Meta } from '@storybook/react';
8
8
  import React, { type FC, useEffect, useState } from 'react';
9
9
 
10
- import { create, makeRef } from '@dxos/live-object';
11
- import { TreeItemType, TreeType } from '@dxos/plugin-outliner/types';
10
+ import { TreeType, Tree as TreeModel } from '@dxos/plugin-outliner/types';
12
11
  import { faker } from '@dxos/random';
13
12
  import { useClient } from '@dxos/react-client';
14
13
  import { type ClientRepeatedComponentProps, ClientRepeater } from '@dxos/react-client/testing';
15
14
  import { withLayout, withTheme } from '@dxos/storybook-utils';
16
- import { range } from '@dxos/util';
17
15
 
18
16
  import { Tree, type TreeComponentProps } from './Tree';
19
17
 
20
18
  // TODO(burdon): Storybook for Graph/Tree/Plot (generics); incl. GraphModel.
21
19
  // TODO(burdon): Type for all Explorer components (Space, Object, Query, etc.) incl.
22
- // TODO(burdon): Factor out to gem?
23
20
 
24
21
  faker.seed(1);
25
22
 
26
- const makeTreeItems = <T extends number>(count: T, items: TreeItemType[] = []) => {
27
- return range(count, () => create(TreeItemType, { content: '', items: items.map((item) => makeRef(item)) }));
28
- };
29
-
30
23
  const Story: FC<ClientRepeatedComponentProps & { type?: TreeComponentProps<any>['variant'] }> = ({ type }) => {
31
24
  const client = useClient();
32
25
  const space = client.spaces.default;
33
26
  const [object, setObject] = useState<TreeType>();
34
27
  useEffect(() => {
35
28
  setTimeout(() => {
36
- const tree = create(TreeType, {
37
- root: makeRef(
38
- makeTreeItems(1, [
39
- ...makeTreeItems(7),
40
- ...makeTreeItems(1, [
41
- ...makeTreeItems(1),
42
- ...makeTreeItems(1, [
43
- ...makeTreeItems(3),
44
- ...makeTreeItems(1, makeTreeItems(2)),
45
- ...makeTreeItems(2),
46
- ...makeTreeItems(1, makeTreeItems(2)),
47
- ...makeTreeItems(2),
48
- ]),
49
- ...makeTreeItems(1),
50
- ]),
51
- ...makeTreeItems(2),
52
- ...makeTreeItems(1, [
53
- ...makeTreeItems(1),
54
- ...makeTreeItems(1, [...makeTreeItems(2), ...makeTreeItems(1, makeTreeItems(2))]),
55
- ...makeTreeItems(1),
56
- ]),
57
- ...makeTreeItems(2),
58
- ])[0],
59
- ),
60
- });
61
-
62
- space.db.add(tree);
29
+ const tree = space.db.add(TreeModel.create());
63
30
  setObject(tree);
64
31
  });
65
32
  }, []);
@@ -92,7 +59,7 @@ export const Edge = {
92
59
  const meta: Meta = {
93
60
  title: 'plugins/plugin-explorer/Tree',
94
61
  component: Tree,
95
- render: () => <ClientRepeater component={Story} types={[TreeType, TreeItemType]} createSpace />,
62
+ render: () => <ClientRepeater component={Story} types={[TreeType]} createSpace />,
96
63
  decorators: [withTheme, withLayout({ fullscreen: true })],
97
64
  parameters: {
98
65
  layout: 'fullscreen',
@@ -2,7 +2,8 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import type { GraphModel } from '@dxos/gem-spore';
5
+ // TODO(burdon): Convert to common/graph.
6
+ import { type GraphModel } from '@dxos/gem-spore';
6
7
 
7
8
  export type TreeNode = {
8
9
  id: string;
package/src/meta.ts CHANGED
@@ -6,7 +6,7 @@ import { type PluginMeta } from '@dxos/app-framework';
6
6
 
7
7
  export const EXPLORER_PLUGIN = 'dxos.org/plugin/explorer';
8
8
 
9
- export const meta = {
9
+ export const meta: PluginMeta = {
10
10
  id: EXPLORER_PLUGIN,
11
11
  name: 'Explorer',
12
12
  description: 'Install this plugin to view a hypergraph of all objects inside of your Space.',
@@ -14,4 +14,4 @@ export const meta = {
14
14
  source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/experimental/plugin-explorer',
15
15
  tags: ['experimental'],
16
16
  screenshots: ['https://dxos.network/plugin-details-explorer-dark.png'],
17
- } satisfies PluginMeta;
17
+ };
@@ -10,12 +10,11 @@ export default [
10
10
  'en-US': {
11
11
  [ViewType.typename]: {
12
12
  'typename label': 'Explorer',
13
+ 'object name placeholder': 'New explorer',
13
14
  },
14
15
  [EXPLORER_PLUGIN]: {
15
16
  'plugin name': 'Explorer',
16
17
  'object title label': 'Title',
17
- 'object title placeholder': 'New explorer',
18
- 'create object label': 'Create explorer',
19
18
  },
20
19
  },
21
20
  },
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const EXPLORER_PLUGIN = 'dxos.org/plugin/explorer';\n\nexport const meta = {\n id: EXPLORER_PLUGIN,\n name: 'Explorer',\n description: 'Install this plugin to view a hypergraph of all objects inside of your Space.',\n icon: 'ph--graph--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/experimental/plugin-explorer',\n tags: ['experimental'],\n screenshots: ['https://dxos.network/plugin-details-explorer-dark.png'],\n} satisfies PluginMeta;\n"],
5
- "mappings": ";AAMO,IAAMA,kBAAkB;AAExB,IAAMC,OAAO;EAClBC,IAAIF;EACJG,MAAM;EACNC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,MAAM;IAAC;;EACPC,aAAa;IAAC;;AAChB;",
6
- "names": ["EXPLORER_PLUGIN", "meta", "id", "name", "description", "icon", "source", "tags", "screenshots"]
7
- }