@dxos/plugin-debug 0.7.3-main.2dd075e → 0.7.3-staging.cc8dd3e

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.
@@ -26,12 +26,10 @@ import { range as range2 } from "@dxos/util";
26
26
 
27
27
  // packages/plugins/plugin-debug/src/components/SpaceGenerator/draw-util.ts
28
28
  import { Graph } from "@antv/graphlib";
29
- import { D3ForceLayout } from "@antv/layout";
29
+ import { D3ForceLayout, GridLayout, RadialLayout } from "@antv/layout";
30
30
  import { createBindingId, createShapeId } from "@tldraw/tldraw";
31
- import { invariant } from "@dxos/invariant";
32
31
  import { faker } from "@dxos/random";
33
- import { range } from "@dxos/util";
34
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-debug/src/components/SpaceGenerator/draw-util.ts";
32
+ import { isNotFalsy, range } from "@dxos/util";
35
33
  var generateGraph = () => {
36
34
  const nodes = range(faker.number.int({
37
35
  min: 8,
@@ -42,32 +40,43 @@ var generateGraph = () => {
42
40
  label: faker.lorem.words(2).split(" ").map((word) => word.charAt(0).toUpperCase()).join("-")
43
41
  }
44
42
  }));
45
- const edges = range(faker.number.int({
46
- min: nodes.length,
47
- max: nodes.length * 2
48
- })).map(() => {
49
- invariant(nodes.length >= 2, void 0, {
50
- F: __dxlog_file,
51
- L: 40,
52
- S: void 0,
53
- A: [
54
- "nodes.length >= 2",
55
- ""
56
- ]
57
- });
58
- let source;
59
- let target;
60
- do {
61
- source = faker.helpers.arrayElement(nodes);
62
- target = faker.helpers.arrayElement(nodes);
63
- } while (source.id === target.id);
64
- return {
43
+ const unlinked = new Set(nodes.map((node) => node.id));
44
+ const pop = () => {
45
+ if (unlinked.size) {
46
+ const id = faker.helpers.arrayElement(Array.from(unlinked));
47
+ unlinked.delete(id);
48
+ return id;
49
+ }
50
+ };
51
+ const edges = [];
52
+ const link = (source2, target) => {
53
+ edges.push({
65
54
  id: faker.string.uuid(),
66
- source: source.id,
67
- target: target.id,
55
+ source: source2,
56
+ target,
68
57
  data: {}
69
- };
70
- });
58
+ });
59
+ };
60
+ const branching = 3;
61
+ const traverse = (source2) => {
62
+ const targets = range(faker.number.int({
63
+ min: 1,
64
+ max: branching
65
+ })).map(() => {
66
+ const target = pop();
67
+ if (target) {
68
+ link(source2, target);
69
+ }
70
+ return target;
71
+ }).filter(isNotFalsy);
72
+ for (const target of targets) {
73
+ traverse(target);
74
+ }
75
+ };
76
+ const source = pop();
77
+ if (source) {
78
+ traverse(source);
79
+ }
71
80
  return new Graph({
72
81
  nodes,
73
82
  edges
@@ -77,17 +86,48 @@ var drawGraph = async (editor, graph) => {
77
86
  const grid = 40;
78
87
  const nodeSize = 80;
79
88
  const snap = (n) => Math.round(n / grid) * grid;
80
- const layout = new D3ForceLayout({
89
+ const defaultOptions = {
81
90
  center: [
82
91
  0,
83
92
  0
84
93
  ],
85
- preventOverlap: true,
86
- collideStrength: 0.5,
94
+ width: grid * 20,
95
+ height: grid * 20,
87
96
  linkDistance: grid * 2,
88
97
  nodeSize,
89
- nodeSpacing: nodeSize
90
- });
98
+ nodeSpacing: nodeSize,
99
+ preventOverlap: true
100
+ };
101
+ const layoutType = faker.helpers.arrayElement([
102
+ "d3force",
103
+ "grid",
104
+ "radial"
105
+ ]);
106
+ let layout;
107
+ switch (layoutType) {
108
+ case "d3force": {
109
+ layout = new D3ForceLayout({
110
+ ...defaultOptions,
111
+ nodeStrength: 0.3,
112
+ collideStrength: 0.8
113
+ });
114
+ break;
115
+ }
116
+ case "grid": {
117
+ layout = new GridLayout({
118
+ ...defaultOptions
119
+ });
120
+ break;
121
+ }
122
+ case "radial":
123
+ default: {
124
+ layout = new RadialLayout({
125
+ ...defaultOptions,
126
+ focusNode: graph.getAllNodes()[0],
127
+ unitRadius: grid * 2
128
+ });
129
+ }
130
+ }
91
131
  const { nodes, edges } = await layout.execute(graph);
92
132
  for (const node of nodes) {
93
133
  const id = createShapeId(node.id);
@@ -426,4 +466,4 @@ var SpaceGenerator_default = SpaceGenerator;
426
466
  export {
427
467
  SpaceGenerator_default as default
428
468
  };
429
- //# sourceMappingURL=SpaceGenerator-P7ZPQ4N7.mjs.map
469
+ //# sourceMappingURL=SpaceGenerator-2Z5WFX4T.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/SpaceGenerator/SpaceGenerator.tsx", "../../../src/components/SpaceGenerator/ObjectGenerator.tsx", "../../../src/components/SpaceGenerator/draw-util.ts", "../../../src/components/SpaceGenerator/SchemaTable.tsx", "../../../src/components/SpaceGenerator/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { DiagramType } from '@dxos/plugin-sketch/types';\nimport { useClient } from '@dxos/react-client';\nimport { getTypename, type Space } from '@dxos/react-client/echo';\nimport { IconButton, Input, Toolbar, useAsyncEffect } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { Testing } from '@dxos/schema/testing';\nimport { jsonKeyReplacer, sortKeys } from '@dxos/util';\n\nimport { type ObjectGenerator, createGenerator, staticGenerators } from './ObjectGenerator';\nimport { SchemaTable } from './SchemaTable';\n\nexport type SpaceGeneratorProps = {\n space: Space;\n onCreateObjects?: (objects: ReactiveObject<any>[]) => void;\n};\n\nexport const SpaceGenerator = ({ space, onCreateObjects }: SpaceGeneratorProps) => {\n const client = useClient();\n const staticTypes = [DocumentType, DiagramType, SheetType]; // TODO(burdon): Make extensible.\n const mutableTypes = [Testing.OrgType, Testing.ProjectType, Testing.ContactType];\n const [count, setCount] = useState(1);\n const [info, setInfo] = useState<any>({});\n\n // Create type generators.\n const typeMap = useMemo(() => {\n client.addTypes(staticTypes);\n const mutableGenerators = new Map<string, ObjectGenerator<any>>(\n mutableTypes.map((type) => [type.typename, createGenerator(type)]),\n );\n\n return new Map([...staticGenerators, ...mutableGenerators]);\n }, [client, mutableTypes]);\n\n // Query space to get info.\n const updateInfo = async () => {\n // Create schema map.\n const mutableSchema = await space.db.schemaRegistry.query();\n const staticSchema = space.db.graph.schemaRegistry.schemas;\n\n // Create object map.\n const { objects } = await space.db.query().run();\n const objectMap = sortKeys(\n objects.reduce<Record<string, number>>((map, obj) => {\n const type = getTypename(obj);\n if (type) {\n const count = map[type] ?? 0;\n map[type] = count + 1;\n }\n return map;\n }, {}),\n );\n\n setInfo({\n schema: {\n static: staticSchema.length,\n mutable: mutableSchema.length,\n },\n objects: objectMap,\n });\n };\n\n useAsyncEffect(updateInfo, [space]);\n\n const handleCreateData = useCallback(\n async (typename: string) => {\n const constructor = typeMap.get(typename);\n if (constructor) {\n // TODO(burdon): Input to specify number of objects.\n await constructor(space, count, onCreateObjects);\n await updateInfo();\n }\n },\n [typeMap, count],\n );\n\n return (\n <div role='none' className='flex flex-col divide-y divide-separator'>\n <Toolbar.Root classNames='p-1'>\n <IconButton icon='ph--arrow-clockwise--regular' iconOnly label='Refresh' onClick={updateInfo} />\n <Toolbar.Expander />\n <div className='flex'>\n <Input.Root>\n <Input.TextInput\n type='number'\n min={1}\n max={100}\n placeholder={'Count'}\n classNames='w-[80px]'\n value={count}\n onChange={(ev) => setCount(parseInt(ev.target.value))}\n />\n </Input.Root>\n </div>\n </Toolbar.Root>\n\n <SchemaTable types={staticTypes} objects={info.objects} label='Static Types' onClick={handleCreateData} />\n <SchemaTable types={mutableTypes} objects={info.objects} label='Mutable Types' onClick={handleCreateData} />\n\n <SyntaxHighlighter classNames='flex text-xs' language='json'>\n {JSON.stringify({ space, ...info }, jsonKeyReplacer({ truncate: true }), 2)}\n </SyntaxHighlighter>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n createTLStore,\n defaultBindingUtils,\n defaultShapeUtils,\n defaultShapeTools,\n defaultTools,\n Editor,\n type TLEditorOptions,\n} from '@tldraw/tldraw';\n\nimport { type AbstractSchema, type BaseObject } from '@dxos/echo-schema';\nimport { create, type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType, TextType } from '@dxos/plugin-markdown/types';\nimport { addressToA1Notation, createSheet } from '@dxos/plugin-sheet';\nimport { type CellValue } from '@dxos/plugin-sheet/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { TLDRAW_SCHEMA, CanvasType, DiagramType } from '@dxos/plugin-sketch/types';\nimport { faker } from '@dxos/random';\nimport { Filter, type Space } from '@dxos/react-client/echo';\nimport { TableType } from '@dxos/react-ui-table';\nimport { createView } from '@dxos/schema';\nimport { createAsyncGenerator, type ValueGenerator } from '@dxos/schema/testing';\nimport { range } from '@dxos/util';\n\nimport { drawGraph, generateGraph } from './draw-util';\n\nconst generator: ValueGenerator = faker as any;\n\n// TODO(burdon): Add objects to collections.\n// TODO(burdon): Create comments.\n// TODO(burdon): Reuse in testbench-app.\n// TODO(burdon): Mutator running in background (factor out): from echo-generator.\n\nexport type ObjectGenerator<T extends BaseObject> = (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n) => Promise<ReactiveObject<T>[]>;\n\n// TODO(burdon): Factor out and create unit tests. See \"fuzz\" patterns.\nexport const staticGenerators = new Map<string, ObjectGenerator<any>>([\n //\n // DocumentType\n //\n [\n DocumentType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n const content = range(faker.number.int({ min: 3, max: 8 }))\n .map(() => faker.lorem.sentences(faker.number.int({ min: 3, max: 16 })))\n .join('\\n\\n');\n\n const obj = space.db.add(\n create(DocumentType, {\n name: faker.commerce.productName(),\n content: create(TextType, { content }),\n threads: [],\n }),\n );\n\n return obj;\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n //\n // DiagramType\n //\n [\n DiagramType.typename,\n async (space, n, cb) => {\n const options: Pick<TLEditorOptions, 'bindingUtils' | 'shapeUtils' | 'tools' | 'getContainer'> = {\n bindingUtils: defaultBindingUtils,\n shapeUtils: defaultShapeUtils,\n tools: [...defaultTools, ...defaultShapeTools],\n getContainer: () => document.body, // TODO(burdon): Fake via JSDOM?\n };\n\n const objects = await Promise.all(\n range(n).map(async () => {\n const store = createTLStore();\n const editor = new Editor({ ...options, store });\n const graph = generateGraph();\n const content = await drawGraph(editor, graph);\n editor.dispose();\n store.dispose();\n\n const obj = space.db.add(\n create(DiagramType, {\n name: faker.commerce.productName(),\n canvas: create(CanvasType, { schema: TLDRAW_SCHEMA, content }),\n }),\n );\n\n return obj;\n }),\n );\n\n cb?.(objects);\n return objects;\n },\n ],\n //\n // SheetType\n //\n [\n SheetType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n // TODO(burdon): Reconcile with plugin-sheet/testing\n const year = new Date().getFullYear();\n const cols = 4;\n const rows = 20;\n const cells: Record<string, CellValue> = {};\n for (let col = 1; col <= cols; col++) {\n for (let row = 1; row <= 10; row++) {\n const cell = addressToA1Notation({ col, row });\n if (row === 1) {\n cells[cell] = { value: `${year} Q${col}` };\n } else if (row === rows) {\n const from = addressToA1Notation({ col, row: 2 });\n const to = addressToA1Notation({ col, row: rows - 1 });\n cells[cell] = { value: `=SUM(${from}:${to})` };\n } else if (row > 2 && row < rows - 1) {\n cells[cell] = { value: Math.floor(Math.random() * 10_000) };\n }\n }\n }\n\n // TODO(burdon): Set width.\n return space.db.add(\n createSheet({\n name: faker.commerce.productName(),\n cells,\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n]);\n\nexport const createGenerator = <T extends BaseObject>(type: AbstractSchema<T>): ObjectGenerator<T> => {\n return async (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n ): Promise<ReactiveObject<T>[]> => {\n // Find or create mutable schema.\n const mutableSchema = await space.db.schemaRegistry.query();\n const schema =\n mutableSchema.find((schema) => schema.typename === type.typename) ?? space.db.schemaRegistry.addSchema(type);\n\n // Create objects.\n const generate = createAsyncGenerator(generator, schema.schema, space.db);\n const objects = await generate.createObjects(n);\n\n // Find or create table and view.\n const { objects: tables } = await space.db.query(Filter.schema(TableType)).run();\n const table = tables.find((table) => table.view?.query?.typename === type.typename);\n if (!table) {\n const name = type.typename.split('/').pop() ?? type.typename;\n const view = createView({ name, typename: type.typename, jsonSchema: schema.jsonSchema });\n const table = space.db.add(create(TableType, { name, view }));\n cb?.([table]);\n }\n\n return objects;\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// TODO(burdon): workerize-loader dep.\nimport { Graph, type Edge, type PlainObject } from '@antv/graphlib';\nimport {\n D3ForceLayout,\n type D3ForceLayoutOptions,\n GridLayout,\n type GridLayoutOptions,\n RadialLayout,\n type RadialLayoutOptions,\n} from '@antv/layout';\nimport { type Layout } from '@antv/layout/lib/types';\nimport { createBindingId, createShapeId, type Editor, type SerializedStore, type TLRecord } from '@tldraw/tldraw';\n\nimport { faker } from '@dxos/random';\nimport { isNotFalsy, range } from '@dxos/util';\n\n// TODO(burdon): Graph layout:\n// - https://www.npmjs.com/package/@antv/layout (uses d3)\n// - https://observablehq.com/d/2db6b0cc5e97d8d6\n// - https://github.com/antvis/graphlib\n// - https://www.npmjs.com/package/@dagrejs/dagre\n// - https://github.com/dagrejs/dagre/wiki\n// - https://www.npmjs.com/package/elkjs\n\n// TLDraw structure:\n// svg tl-svg-context\n// div tl-html-layer tl-shapes\n// div tl-shape\n// svg tl-svg-container\n// div class tl-html-container\n// div tl-overlays\n// svg\n\n/**\n * https://github.com/antvis/graphlib/blob/master/docs/classes/Graph.md\n */\n// TODO(burdon): Factor out.\n// TODO(burdon): Map ECHO to Graph.\nexport const generateGraph = (): Graph<PlainObject, PlainObject> => {\n const nodes = range(faker.number.int({ min: 8, max: 32 })).map(() => ({\n id: faker.string.uuid(),\n data: {\n label: faker.lorem\n .words(2)\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase())\n .join('-'),\n },\n }));\n\n const unlinked = new Set(nodes.map((node) => node.id));\n const pop = () => {\n if (unlinked.size) {\n const id = faker.helpers.arrayElement(Array.from(unlinked));\n unlinked.delete(id);\n return id;\n }\n };\n\n const edges: Edge<PlainObject>[] = [];\n const link = (source: string, target: string) => {\n edges.push({ id: faker.string.uuid(), source, target, data: {} });\n };\n\n const branching = 3;\n const traverse = (source: string) => {\n const targets = range(faker.number.int({ min: 1, max: branching }))\n .map(() => {\n const target = pop();\n if (target) {\n link(source, target);\n }\n return target;\n })\n .filter(isNotFalsy);\n\n for (const target of targets) {\n traverse(target);\n }\n };\n\n const source = pop();\n if (source) {\n traverse(source);\n }\n\n return new Graph<PlainObject, PlainObject>({ nodes, edges });\n};\n\nexport const drawGraph = async (\n editor: Editor,\n graph: Graph<PlainObject, PlainObject>,\n): Promise<SerializedStore<TLRecord>> => {\n const grid = 40;\n const nodeSize = 80;\n\n const snap = (n: number) => Math.round(n / grid) * grid;\n\n type Intersection<Types extends readonly unknown[]> = Types extends [infer First, ...infer Rest]\n ? First & Intersection<Rest>\n : unknown;\n\n const defaultOptions: Intersection<[D3ForceLayoutOptions, GridLayoutOptions, RadialLayoutOptions]> = {\n center: [0, 0],\n width: grid * 20,\n height: grid * 20,\n linkDistance: grid * 2,\n nodeSize,\n nodeSpacing: nodeSize,\n preventOverlap: true,\n };\n\n const layoutType = faker.helpers.arrayElement(['d3force', 'grid', 'radial']);\n let layout: Layout<any>;\n switch (layoutType) {\n case 'd3force': {\n layout = new D3ForceLayout({\n ...defaultOptions,\n nodeStrength: 0.3,\n collideStrength: 0.8,\n });\n break;\n }\n\n case 'grid': {\n layout = new GridLayout({\n ...defaultOptions,\n });\n break;\n }\n\n case 'radial':\n default: {\n layout = new RadialLayout({\n ...defaultOptions,\n focusNode: graph.getAllNodes()[0],\n unitRadius: grid * 2,\n });\n }\n }\n\n const { nodes, edges } = await layout.execute(graph);\n\n for (const node of nodes) {\n const id = createShapeId(node.id as string);\n editor.createShape({\n id,\n type: 'geo',\n x: snap(node.data.x),\n y: snap(node.data.y),\n props: {\n w: nodeSize,\n h: nodeSize,\n text: node.data.label,\n },\n });\n }\n\n for (const edge of edges) {\n const arrowId = createShapeId(edge.id as string);\n editor.createShape({ id: arrowId, type: 'arrow' });\n\n editor.createBinding({\n id: createBindingId(),\n type: 'arrow',\n fromId: arrowId,\n toId: createShapeId(edge.source as string),\n props: {\n terminal: 'start',\n isExact: false,\n isPrecise: false,\n normalizedAnchor: { x: 0.5, y: 0.5 },\n },\n });\n\n editor.createBinding({\n id: createBindingId(),\n type: 'arrow',\n fromId: arrowId,\n toId: createShapeId(edge.target as string),\n props: {\n terminal: 'end',\n isExact: false,\n isPrecise: false,\n normalizedAnchor: { x: 0.5, y: 0.5 },\n },\n });\n }\n\n const data = editor.store.getStoreSnapshot();\n // TODO(burdon): Strip readonly properties (e.g., `meta`). Factor out.\n const content: SerializedStore<TLRecord> = JSON.parse(JSON.stringify(data.store));\n\n return content;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { IconButton } from '@dxos/react-ui';\n\nexport type SchemaTableProps = {\n types: any[];\n objects?: Record<string, number | undefined>;\n label: string;\n onClick: (typename: string) => void;\n};\n\nexport const SchemaTable = ({ types, objects = {}, label, onClick }: SchemaTableProps) => {\n return (\n <div className='grid grid-cols-[1fr_80px_40px] gap-1 overflow-hidden'>\n <div className='grid grid-cols-subgrid col-span-3'>\n <div className='px-2 text-sm text-primary-500'>{label}</div>\n <div className='px-2 text-xs text-subdued text-right'>count</div>\n </div>\n {types.map((type) => (\n <div key={type.typename} className='grid grid-cols-subgrid col-span-3 items-center'>\n <div className='px-2 text-sm font-mono text-green-500'>{type.typename}</div>\n <div className='px-2 text-right font-mono'>{objects[type.typename] ?? 0}</div>\n <IconButton\n variant='ghost'\n icon='ph--plus--regular'\n iconOnly\n label='Create data'\n onClick={() => onClick(type.typename)}\n />\n </div>\n ))}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SpaceGenerator } from './SpaceGenerator';\n\nexport default SpaceGenerator;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "useMemo", "useState", "DocumentType", "SheetType", "DiagramType", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "SyntaxHighlighter", "Testing", "jsonKeyReplacer", "sortKeys", "createTLStore", "defaultBindingUtils", "defaultShapeUtils", "defaultShapeTools", "defaultTools", "Editor", "create", "DocumentType", "TextType", "addressToA1Notation", "createSheet", "SheetType", "TLDRAW_SCHEMA", "CanvasType", "DiagramType", "faker", "Filter", "TableType", "createView", "createAsyncGenerator", "range", "Graph", "D3ForceLayout", "GridLayout", "RadialLayout", "createBindingId", "createShapeId", "faker", "isNotFalsy", "range", "generateGraph", "nodes", "range", "faker", "number", "int", "min", "max", "map", "id", "string", "uuid", "data", "label", "lorem", "words", "split", "word", "charAt", "toUpperCase", "join", "unlinked", "Set", "node", "pop", "size", "helpers", "arrayElement", "Array", "from", "delete", "edges", "link", "source", "target", "push", "branching", "traverse", "targets", "filter", "isNotFalsy", "Graph", "drawGraph", "editor", "graph", "grid", "nodeSize", "snap", "n", "Math", "round", "defaultOptions", "center", "width", "height", "linkDistance", "nodeSpacing", "preventOverlap", "layoutType", "layout", "D3ForceLayout", "nodeStrength", "collideStrength", "GridLayout", "RadialLayout", "focusNode", "getAllNodes", "unitRadius", "execute", "createShapeId", "createShape", "type", "x", "y", "props", "w", "h", "text", "edge", "arrowId", "createBinding", "createBindingId", "fromId", "toId", "terminal", "isExact", "isPrecise", "normalizedAnchor", "store", "getStoreSnapshot", "content", "JSON", "parse", "stringify", "generator", "faker", "staticGenerators", "Map", "DocumentType", "typename", "space", "n", "cb", "objects", "range", "map", "content", "number", "int", "min", "max", "lorem", "sentences", "join", "obj", "db", "add", "create", "name", "commerce", "productName", "TextType", "threads", "DiagramType", "options", "bindingUtils", "defaultBindingUtils", "shapeUtils", "defaultShapeUtils", "tools", "defaultTools", "defaultShapeTools", "getContainer", "document", "body", "Promise", "all", "store", "createTLStore", "editor", "Editor", "graph", "generateGraph", "drawGraph", "dispose", "canvas", "CanvasType", "schema", "TLDRAW_SCHEMA", "SheetType", "year", "Date", "getFullYear", "cols", "rows", "cells", "col", "row", "cell", "addressToA1Notation", "value", "from", "to", "Math", "floor", "random", "createSheet", "createGenerator", "type", "mutableSchema", "schemaRegistry", "query", "find", "addSchema", "generate", "createAsyncGenerator", "createObjects", "tables", "Filter", "TableType", "run", "table", "view", "split", "pop", "createView", "jsonSchema", "React", "IconButton", "SchemaTable", "types", "objects", "label", "onClick", "div", "className", "map", "type", "key", "typename", "IconButton", "variant", "icon", "iconOnly", "SpaceGenerator", "space", "onCreateObjects", "client", "useClient", "staticTypes", "DocumentType", "DiagramType", "SheetType", "mutableTypes", "Testing", "OrgType", "ProjectType", "ContactType", "count", "setCount", "useState", "info", "setInfo", "typeMap", "useMemo", "addTypes", "mutableGenerators", "Map", "map", "type", "typename", "createGenerator", "staticGenerators", "updateInfo", "mutableSchema", "db", "schemaRegistry", "query", "staticSchema", "graph", "schemas", "objects", "run", "objectMap", "sortKeys", "reduce", "obj", "getTypename", "schema", "static", "length", "mutable", "useAsyncEffect", "handleCreateData", "useCallback", "constructor", "get", "React", "div", "role", "className", "Toolbar", "Root", "classNames", "IconButton", "icon", "iconOnly", "label", "onClick", "Expander", "Input", "TextInput", "min", "max", "placeholder", "value", "onChange", "ev", "parseInt", "target", "SchemaTable", "types", "SyntaxHighlighter", "language", "JSON", "stringify", "jsonKeyReplacer", "truncate", "SpaceGenerator"]
7
+ }
@@ -388,7 +388,7 @@ var Wireframe = ({ classNames, label, object }) => {
388
388
  // packages/plugins/plugin-debug/src/components/index.ts
389
389
  var DebugApp = lazy(() => import("./DebugApp-HCHR6GKO.mjs"));
390
390
  var DebugSpace = lazy(() => import("./DebugSpace-DHKEAMIC.mjs"));
391
- var SpaceGenerator = lazy(() => import("./SpaceGenerator-P7ZPQ4N7.mjs"));
391
+ var SpaceGenerator = lazy(() => import("./SpaceGenerator-2Z5WFX4T.mjs"));
392
392
 
393
393
  // packages/plugins/plugin-debug/src/translations.ts
394
394
  var translations_default = [
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx":{"bytes":2156,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/meta.ts":{"bytes":1491,"imports":[],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSettings.tsx":{"bytes":22584,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugStatus.tsx":{"bytes":23325,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-status-bar","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/Wireframe.tsx":{"bytes":6379,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx":{"bytes":10017,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/Container.tsx":{"bytes":1751,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx":{"bytes":10681,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx","kind":"import-statement","original":"./Tree"},{"path":"packages/plugins/plugin-debug/src/components/Container.tsx","kind":"import-statement","original":"../Container"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/index.ts":{"bytes":661,"imports":[{"path":"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx","kind":"import-statement","original":"./DebugApp"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx":{"bytes":11994,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table/deprecated","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/types.ts":{"bytes":3705,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx":{"bytes":22698,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx","kind":"import-statement","original":"./ObjectCreator"},{"path":"packages/plugins/plugin-debug/src/types.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-debug/src/components/Container.tsx","kind":"import-statement","original":"../Container"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts":{"bytes":681,"imports":[{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx","kind":"import-statement","original":"./DebugSpace"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/draw-util.ts":{"bytes":13451,"imports":[{"path":"@antv/graphlib","kind":"import-statement","external":true},{"path":"@antv/layout","kind":"import-statement","external":true},{"path":"@tldraw/tldraw","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx":{"bytes":20732,"imports":[{"path":"@tldraw/tldraw","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/draw-util.ts","kind":"import-statement","original":"./draw-util"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx":{"bytes":4311,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx":{"bytes":14524,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","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-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx","kind":"import-statement","original":"./ObjectGenerator"},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx","kind":"import-statement","original":"./SchemaTable"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts":{"bytes":721,"imports":[{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx","kind":"import-statement","original":"./SpaceGenerator"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/index.ts":{"bytes":1651,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx","kind":"import-statement","original":"./DebugObjectPanel"},{"path":"packages/plugins/plugin-debug/src/components/DebugSettings.tsx","kind":"import-statement","original":"./DebugSettings"},{"path":"packages/plugins/plugin-debug/src/components/DebugStatus.tsx","kind":"import-statement","original":"./DebugStatus"},{"path":"packages/plugins/plugin-debug/src/components/Wireframe.tsx","kind":"import-statement","original":"./Wireframe"},{"path":"packages/plugins/plugin-debug/src/components/DebugApp/index.ts","kind":"dynamic-import","original":"./DebugApp"},{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts","kind":"dynamic-import","original":"./DebugSpace"},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts","kind":"dynamic-import","original":"./SpaceGenerator"}],"format":"esm"},"packages/plugins/plugin-debug/src/translations.ts":{"bytes":4484,"imports":[{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/DebugPlugin.tsx":{"bytes":50372,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","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-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-debug/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-debug/src/types.ts","kind":"import-statement","original":"./types"},{"path":"@dxos/echo-pipeline/testing","kind":"dynamic-import","external":true},{"path":"@dxos/client-services","kind":"dynamic-import","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/index.ts":{"bytes":769,"imports":[{"path":"packages/plugins/plugin-debug/src/DebugPlugin.tsx","kind":"import-statement","original":"./DebugPlugin"},{"path":"packages/plugins/plugin-debug/src/DebugPlugin.tsx","kind":"import-statement","original":"./DebugPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-debug/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":52648},"packages/plugins/plugin-debug/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","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-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-status-bar","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-P7ZPQ4N7.mjs","kind":"dynamic-import"},{"path":"@dxos/echo-pipeline/testing","kind":"dynamic-import","external":true},{"path":"@dxos/client-services","kind":"dynamic-import","external":true}],"exports":["DebugPlugin","default"],"entryPoint":"packages/plugins/plugin-debug/src/index.ts","inputs":{"packages/plugins/plugin-debug/src/DebugPlugin.tsx":{"bytesInOutput":13418},"packages/plugins/plugin-debug/src/components/index.ts":{"bytesInOutput":232},"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx":{"bytesInOutput":382},"packages/plugins/plugin-debug/src/components/DebugSettings.tsx":{"bytesInOutput":6289},"packages/plugins/plugin-debug/src/components/DebugStatus.tsx":{"bytesInOutput":5386},"packages/plugins/plugin-debug/src/components/Wireframe.tsx":{"bytesInOutput":1750},"packages/plugins/plugin-debug/src/translations.ts":{"bytesInOutput":1345},"packages/plugins/plugin-debug/src/index.ts":{"bytesInOutput":31}},"bytes":29674},"packages/plugins/plugin-debug/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-debug/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"}],"exports":["DEBUG_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-debug/src/meta.ts","inputs":{},"bytes":159},"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10972},"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/DebugApp/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx":{"bytesInOutput":2971},"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx":{"bytesInOutput":2647},"packages/plugins/plugin-debug/src/components/DebugApp/index.ts":{"bytesInOutput":33}},"bytes":6068},"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18458},"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table/deprecated","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx":{"bytesInOutput":5986},"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx":{"bytesInOutput":2896},"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts":{"bytesInOutput":37}},"bytes":9447},"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2123},"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["DebugAction","DebugContext","DebugSettingsSchema"],"inputs":{"packages/plugins/plugin-debug/src/types.ts":{"bytesInOutput":557}},"bytes":769},"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":711},"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs":{"imports":[],"exports":["DEBUG_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-debug/src/meta.ts":{"bytesInOutput":288}},"bytes":421},"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":851},"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true}],"exports":["Container"],"inputs":{"packages/plugins/plugin-debug/src/components/Container.tsx":{"bytesInOutput":351}},"bytes":482},"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-P7ZPQ4N7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":26911},"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-P7ZPQ4N7.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","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-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@tldraw/tldraw","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@antv/graphlib","kind":"import-statement","external":true},{"path":"@antv/layout","kind":"import-statement","external":true},{"path":"@tldraw/tldraw","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx":{"bytesInOutput":3575},"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx":{"bytesInOutput":4704},"packages/plugins/plugin-debug/src/components/SpaceGenerator/draw-util.ts":{"bytesInOutput":2878},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx":{"bytesInOutput":1192},"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts":{"bytesInOutput":45}},"bytes":13058}}}
1
+ {"inputs":{"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx":{"bytes":2156,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/meta.ts":{"bytes":1491,"imports":[],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSettings.tsx":{"bytes":22584,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugStatus.tsx":{"bytes":23325,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-status-bar","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/Wireframe.tsx":{"bytes":6379,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx":{"bytes":10017,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/Container.tsx":{"bytes":1751,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx":{"bytes":10681,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx","kind":"import-statement","original":"./Tree"},{"path":"packages/plugins/plugin-debug/src/components/Container.tsx","kind":"import-statement","original":"../Container"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugApp/index.ts":{"bytes":661,"imports":[{"path":"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx","kind":"import-statement","original":"./DebugApp"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx":{"bytes":11994,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table/deprecated","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/types.ts":{"bytes":3705,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx":{"bytes":22698,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx","kind":"import-statement","original":"./ObjectCreator"},{"path":"packages/plugins/plugin-debug/src/types.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-debug/src/components/Container.tsx","kind":"import-statement","original":"../Container"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts":{"bytes":681,"imports":[{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx","kind":"import-statement","original":"./DebugSpace"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/draw-util.ts":{"bytes":18413,"imports":[{"path":"@antv/graphlib","kind":"import-statement","external":true},{"path":"@antv/layout","kind":"import-statement","external":true},{"path":"@tldraw/tldraw","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx":{"bytes":20732,"imports":[{"path":"@tldraw/tldraw","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/draw-util.ts","kind":"import-statement","original":"./draw-util"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx":{"bytes":4311,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx":{"bytes":14524,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","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-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx","kind":"import-statement","original":"./ObjectGenerator"},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx","kind":"import-statement","original":"./SchemaTable"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts":{"bytes":721,"imports":[{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx","kind":"import-statement","original":"./SpaceGenerator"}],"format":"esm"},"packages/plugins/plugin-debug/src/components/index.ts":{"bytes":1651,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx","kind":"import-statement","original":"./DebugObjectPanel"},{"path":"packages/plugins/plugin-debug/src/components/DebugSettings.tsx","kind":"import-statement","original":"./DebugSettings"},{"path":"packages/plugins/plugin-debug/src/components/DebugStatus.tsx","kind":"import-statement","original":"./DebugStatus"},{"path":"packages/plugins/plugin-debug/src/components/Wireframe.tsx","kind":"import-statement","original":"./Wireframe"},{"path":"packages/plugins/plugin-debug/src/components/DebugApp/index.ts","kind":"dynamic-import","original":"./DebugApp"},{"path":"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts","kind":"dynamic-import","original":"./DebugSpace"},{"path":"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts","kind":"dynamic-import","original":"./SpaceGenerator"}],"format":"esm"},"packages/plugins/plugin-debug/src/translations.ts":{"bytes":4484,"imports":[{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-debug/src/DebugPlugin.tsx":{"bytes":50372,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","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-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-debug/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-debug/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-debug/src/types.ts","kind":"import-statement","original":"./types"},{"path":"@dxos/echo-pipeline/testing","kind":"dynamic-import","external":true},{"path":"@dxos/client-services","kind":"dynamic-import","external":true}],"format":"esm"},"packages/plugins/plugin-debug/src/index.ts":{"bytes":769,"imports":[{"path":"packages/plugins/plugin-debug/src/DebugPlugin.tsx","kind":"import-statement","original":"./DebugPlugin"},{"path":"packages/plugins/plugin-debug/src/DebugPlugin.tsx","kind":"import-statement","original":"./DebugPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-debug/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":52648},"packages/plugins/plugin-debug/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","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-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-status-bar","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-2Z5WFX4T.mjs","kind":"dynamic-import"},{"path":"@dxos/echo-pipeline/testing","kind":"dynamic-import","external":true},{"path":"@dxos/client-services","kind":"dynamic-import","external":true}],"exports":["DebugPlugin","default"],"entryPoint":"packages/plugins/plugin-debug/src/index.ts","inputs":{"packages/plugins/plugin-debug/src/DebugPlugin.tsx":{"bytesInOutput":13418},"packages/plugins/plugin-debug/src/components/index.ts":{"bytesInOutput":232},"packages/plugins/plugin-debug/src/components/DebugObjectPanel.tsx":{"bytesInOutput":382},"packages/plugins/plugin-debug/src/components/DebugSettings.tsx":{"bytesInOutput":6289},"packages/plugins/plugin-debug/src/components/DebugStatus.tsx":{"bytesInOutput":5386},"packages/plugins/plugin-debug/src/components/Wireframe.tsx":{"bytesInOutput":1750},"packages/plugins/plugin-debug/src/translations.ts":{"bytesInOutput":1345},"packages/plugins/plugin-debug/src/index.ts":{"bytesInOutput":31}},"bytes":29674},"packages/plugins/plugin-debug/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-debug/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"}],"exports":["DEBUG_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-debug/src/meta.ts","inputs":{},"bytes":159},"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10972},"packages/plugins/plugin-debug/dist/lib/browser/DebugApp-HCHR6GKO.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/DebugApp/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/DebugApp/DebugApp.tsx":{"bytesInOutput":2971},"packages/plugins/plugin-debug/src/components/DebugApp/Tree.tsx":{"bytesInOutput":2647},"packages/plugins/plugin-debug/src/components/DebugApp/index.ts":{"bytesInOutput":33}},"bytes":6068},"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18458},"packages/plugins/plugin-debug/dist/lib/browser/DebugSpace-DHKEAMIC.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/invitations","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-generator","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table/deprecated","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/DebugSpace/DebugSpace.tsx":{"bytesInOutput":5986},"packages/plugins/plugin-debug/src/components/DebugSpace/ObjectCreator.tsx":{"bytesInOutput":2896},"packages/plugins/plugin-debug/src/components/DebugSpace/index.ts":{"bytesInOutput":37}},"bytes":9447},"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2123},"packages/plugins/plugin-debug/dist/lib/browser/chunk-LZEK532R.mjs":{"imports":[{"path":"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["DebugAction","DebugContext","DebugSettingsSchema"],"inputs":{"packages/plugins/plugin-debug/src/types.ts":{"bytesInOutput":557}},"bytes":769},"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":711},"packages/plugins/plugin-debug/dist/lib/browser/chunk-CAENAAHY.mjs":{"imports":[],"exports":["DEBUG_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-debug/src/meta.ts":{"bytesInOutput":288}},"bytes":421},"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":851},"packages/plugins/plugin-debug/dist/lib/browser/chunk-GSJS3HEM.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true}],"exports":["Container"],"inputs":{"packages/plugins/plugin-debug/src/components/Container.tsx":{"bytesInOutput":351}},"bytes":482},"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-2Z5WFX4T.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":29656},"packages/plugins/plugin-debug/dist/lib/browser/SpaceGenerator-2Z5WFX4T.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","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-syntax-highlighter","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@tldraw/tldraw","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet","kind":"import-statement","external":true},{"path":"@dxos/plugin-sheet/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-sketch/types","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-table","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@antv/graphlib","kind":"import-statement","external":true},{"path":"@antv/layout","kind":"import-statement","external":true},{"path":"@tldraw/tldraw","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts","inputs":{"packages/plugins/plugin-debug/src/components/SpaceGenerator/SpaceGenerator.tsx":{"bytesInOutput":3575},"packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx":{"bytesInOutput":4704},"packages/plugins/plugin-debug/src/components/SpaceGenerator/draw-util.ts":{"bytesInOutput":3606},"packages/plugins/plugin-debug/src/components/SpaceGenerator/SchemaTable.tsx":{"bytesInOutput":1192},"packages/plugins/plugin-debug/src/components/SpaceGenerator/index.ts":{"bytesInOutput":45}},"bytes":13786}}}
@@ -1 +1 @@
1
- {"version":3,"file":"draw-util.d.ts","sourceRoot":"","sources":["../../../../../src/components/SpaceGenerator/draw-util.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAa,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAkC,KAAK,MAAM,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAclH;;GAEG;AAGH,eAAO,MAAM,aAAa,QAAO,KAAK,CAAC,WAAW,EAAE,WAAW,CAyB9D,CAAC;AAEF,eAAO,MAAM,SAAS,WACZ,MAAM,SACP,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,KACrC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAmEnC,CAAC"}
1
+ {"version":3,"file":"draw-util.d.ts","sourceRoot":"","sources":["../../../../../src/components/SpaceGenerator/draw-util.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAa,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAUpE,OAAO,EAAkC,KAAK,MAAM,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsBlH;;GAEG;AAGH,eAAO,MAAM,aAAa,QAAO,KAAK,CAAC,WAAW,EAAE,WAAW,CAiD9D,CAAC;AAEF,eAAO,MAAM,SAAS,WACZ,MAAM,SACP,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,KACrC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAsGnC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-debug",
3
- "version": "0.7.3-main.2dd075e",
3
+ "version": "0.7.3-staging.cc8dd3e",
4
4
  "description": "DXOS Surface plugin for testing.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -40,40 +40,40 @@
40
40
  "react-json-tree": "^0.18.0",
41
41
  "react-resize-detector": "^11.0.1",
42
42
  "workerize-loader": "^2.0.2",
43
- "@dxos/async": "0.7.3-main.2dd075e",
44
- "@dxos/app-framework": "0.7.3-main.2dd075e",
45
- "@dxos/automerge": "0.7.3-main.2dd075e",
46
- "@dxos/config": "0.7.3-main.2dd075e",
47
- "@dxos/client-services": "0.7.3-main.2dd075e",
48
- "@dxos/devtools": "0.7.3-main.2dd075e",
49
- "@dxos/echo-generator": "0.7.3-main.2dd075e",
50
- "@dxos/echo-pipeline": "0.7.3-main.2dd075e",
51
- "@dxos/echo-schema": "0.7.3-main.2dd075e",
52
- "@dxos/keys": "0.7.3-main.2dd075e",
53
- "@dxos/invariant": "0.7.3-main.2dd075e",
54
- "@dxos/live-object": "0.7.3-main.2dd075e",
55
- "@dxos/local-storage": "0.7.3-main.2dd075e",
56
- "@dxos/plugin-client": "0.7.3-main.2dd075e",
57
- "@dxos/log": "0.7.3-main.2dd075e",
58
- "@dxos/plugin-graph": "0.7.3-main.2dd075e",
59
- "@dxos/plugin-deck": "0.7.3-main.2dd075e",
60
- "@dxos/plugin-markdown": "0.7.3-main.2dd075e",
61
- "@dxos/plugin-sheet": "0.7.3-main.2dd075e",
62
- "@dxos/plugin-space": "0.7.3-main.2dd075e",
63
- "@dxos/plugin-sketch": "0.7.3-main.2dd075e",
64
- "@dxos/plugin-status-bar": "0.7.3-main.2dd075e",
65
- "@dxos/plugin-table": "0.7.3-main.2dd075e",
66
- "@dxos/plugin-theme": "0.7.3-main.2dd075e",
67
- "@dxos/protocols": "0.7.3-main.2dd075e",
68
- "@dxos/random": "0.7.3-main.2dd075e",
69
- "@dxos/react-client": "0.7.3-main.2dd075e",
70
- "@dxos/react-hooks": "0.7.3-main.2dd075e",
71
- "@dxos/react-ui-form": "0.7.3-main.2dd075e",
72
- "@dxos/react-ui-syntax-highlighter": "0.7.3-main.2dd075e",
73
- "@dxos/react-ui-attention": "0.7.3-main.2dd075e",
74
- "@dxos/react-ui-table": "0.7.3-main.2dd075e",
75
- "@dxos/util": "0.7.3-main.2dd075e",
76
- "@dxos/schema": "0.7.3-main.2dd075e"
43
+ "@dxos/app-framework": "0.7.3-staging.cc8dd3e",
44
+ "@dxos/async": "0.7.3-staging.cc8dd3e",
45
+ "@dxos/automerge": "0.7.3-staging.cc8dd3e",
46
+ "@dxos/client-services": "0.7.3-staging.cc8dd3e",
47
+ "@dxos/config": "0.7.3-staging.cc8dd3e",
48
+ "@dxos/devtools": "0.7.3-staging.cc8dd3e",
49
+ "@dxos/echo-pipeline": "0.7.3-staging.cc8dd3e",
50
+ "@dxos/echo-generator": "0.7.3-staging.cc8dd3e",
51
+ "@dxos/invariant": "0.7.3-staging.cc8dd3e",
52
+ "@dxos/echo-schema": "0.7.3-staging.cc8dd3e",
53
+ "@dxos/keys": "0.7.3-staging.cc8dd3e",
54
+ "@dxos/live-object": "0.7.3-staging.cc8dd3e",
55
+ "@dxos/local-storage": "0.7.3-staging.cc8dd3e",
56
+ "@dxos/log": "0.7.3-staging.cc8dd3e",
57
+ "@dxos/plugin-deck": "0.7.3-staging.cc8dd3e",
58
+ "@dxos/plugin-client": "0.7.3-staging.cc8dd3e",
59
+ "@dxos/plugin-graph": "0.7.3-staging.cc8dd3e",
60
+ "@dxos/plugin-markdown": "0.7.3-staging.cc8dd3e",
61
+ "@dxos/plugin-sheet": "0.7.3-staging.cc8dd3e",
62
+ "@dxos/plugin-sketch": "0.7.3-staging.cc8dd3e",
63
+ "@dxos/plugin-space": "0.7.3-staging.cc8dd3e",
64
+ "@dxos/plugin-status-bar": "0.7.3-staging.cc8dd3e",
65
+ "@dxos/plugin-theme": "0.7.3-staging.cc8dd3e",
66
+ "@dxos/plugin-table": "0.7.3-staging.cc8dd3e",
67
+ "@dxos/protocols": "0.7.3-staging.cc8dd3e",
68
+ "@dxos/random": "0.7.3-staging.cc8dd3e",
69
+ "@dxos/react-client": "0.7.3-staging.cc8dd3e",
70
+ "@dxos/react-hooks": "0.7.3-staging.cc8dd3e",
71
+ "@dxos/react-ui-attention": "0.7.3-staging.cc8dd3e",
72
+ "@dxos/react-ui-form": "0.7.3-staging.cc8dd3e",
73
+ "@dxos/react-ui-syntax-highlighter": "0.7.3-staging.cc8dd3e",
74
+ "@dxos/react-ui-table": "0.7.3-staging.cc8dd3e",
75
+ "@dxos/util": "0.7.3-staging.cc8dd3e",
76
+ "@dxos/schema": "0.7.3-staging.cc8dd3e"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@phosphor-icons/react": "^2.1.5",
@@ -83,17 +83,17 @@
83
83
  "react": "~18.2.0",
84
84
  "react-dom": "~18.2.0",
85
85
  "vite": "5.4.7",
86
- "@dxos/react-ui": "0.7.3-main.2dd075e",
87
- "@dxos/storybook-utils": "0.7.3-main.2dd075e",
88
- "@dxos/react-ui-theme": "0.7.3-main.2dd075e"
86
+ "@dxos/react-ui": "0.7.3-staging.cc8dd3e",
87
+ "@dxos/storybook-utils": "0.7.3-staging.cc8dd3e",
88
+ "@dxos/react-ui-theme": "0.7.3-staging.cc8dd3e"
89
89
  },
90
90
  "peerDependencies": {
91
91
  "@phosphor-icons/react": "^2.1.5",
92
92
  "react": "~18.2.0",
93
93
  "react-dom": "~18.2.0",
94
- "@dxos/random": "0.7.3-main.2dd075e",
95
- "@dxos/react-ui": "0.7.3-main.2dd075e",
96
- "@dxos/react-ui-theme": "0.7.3-main.2dd075e"
94
+ "@dxos/react-ui": "0.7.3-staging.cc8dd3e",
95
+ "@dxos/random": "0.7.3-staging.cc8dd3e",
96
+ "@dxos/react-ui-theme": "0.7.3-staging.cc8dd3e"
97
97
  },
98
98
  "publishConfig": {
99
99
  "access": "public"
@@ -3,13 +3,20 @@
3
3
  //
4
4
 
5
5
  // TODO(burdon): workerize-loader dep.
6
- import { Graph, type Node, type PlainObject } from '@antv/graphlib';
7
- import { D3ForceLayout } from '@antv/layout';
6
+ import { Graph, type Edge, type PlainObject } from '@antv/graphlib';
7
+ import {
8
+ D3ForceLayout,
9
+ type D3ForceLayoutOptions,
10
+ GridLayout,
11
+ type GridLayoutOptions,
12
+ RadialLayout,
13
+ type RadialLayoutOptions,
14
+ } from '@antv/layout';
15
+ import { type Layout } from '@antv/layout/lib/types';
8
16
  import { createBindingId, createShapeId, type Editor, type SerializedStore, type TLRecord } from '@tldraw/tldraw';
9
17
 
10
- import { invariant } from '@dxos/invariant';
11
18
  import { faker } from '@dxos/random';
12
- import { range } from '@dxos/util';
19
+ import { isNotFalsy, range } from '@dxos/util';
13
20
 
14
21
  // TODO(burdon): Graph layout:
15
22
  // - https://www.npmjs.com/package/@antv/layout (uses d3)
@@ -19,6 +26,15 @@ import { range } from '@dxos/util';
19
26
  // - https://github.com/dagrejs/dagre/wiki
20
27
  // - https://www.npmjs.com/package/elkjs
21
28
 
29
+ // TLDraw structure:
30
+ // svg tl-svg-context
31
+ // div tl-html-layer tl-shapes
32
+ // div tl-shape
33
+ // svg tl-svg-container
34
+ // div class tl-html-container
35
+ // div tl-overlays
36
+ // svg
37
+
22
38
  /**
23
39
  * https://github.com/antvis/graphlib/blob/master/docs/classes/Graph.md
24
40
  */
@@ -36,17 +52,41 @@ export const generateGraph = (): Graph<PlainObject, PlainObject> => {
36
52
  },
37
53
  }));
38
54
 
39
- const edges = range(faker.number.int({ min: nodes.length, max: nodes.length * 2 })).map(() => {
40
- invariant(nodes.length >= 2);
41
- let source: Node<PlainObject>;
42
- let target: Node<PlainObject>;
43
- do {
44
- source = faker.helpers.arrayElement(nodes);
45
- target = faker.helpers.arrayElement(nodes);
46
- } while (source.id === target.id);
47
-
48
- return { id: faker.string.uuid(), source: source.id, target: target.id, data: {} };
49
- });
55
+ const unlinked = new Set(nodes.map((node) => node.id));
56
+ const pop = () => {
57
+ if (unlinked.size) {
58
+ const id = faker.helpers.arrayElement(Array.from(unlinked));
59
+ unlinked.delete(id);
60
+ return id;
61
+ }
62
+ };
63
+
64
+ const edges: Edge<PlainObject>[] = [];
65
+ const link = (source: string, target: string) => {
66
+ edges.push({ id: faker.string.uuid(), source, target, data: {} });
67
+ };
68
+
69
+ const branching = 3;
70
+ const traverse = (source: string) => {
71
+ const targets = range(faker.number.int({ min: 1, max: branching }))
72
+ .map(() => {
73
+ const target = pop();
74
+ if (target) {
75
+ link(source, target);
76
+ }
77
+ return target;
78
+ })
79
+ .filter(isNotFalsy);
80
+
81
+ for (const target of targets) {
82
+ traverse(target);
83
+ }
84
+ };
85
+
86
+ const source = pop();
87
+ if (source) {
88
+ traverse(source);
89
+ }
50
90
 
51
91
  return new Graph<PlainObject, PlainObject>({ nodes, edges });
52
92
  };
@@ -60,14 +100,49 @@ export const drawGraph = async (
60
100
 
61
101
  const snap = (n: number) => Math.round(n / grid) * grid;
62
102
 
63
- const layout = new D3ForceLayout({
103
+ type Intersection<Types extends readonly unknown[]> = Types extends [infer First, ...infer Rest]
104
+ ? First & Intersection<Rest>
105
+ : unknown;
106
+
107
+ const defaultOptions: Intersection<[D3ForceLayoutOptions, GridLayoutOptions, RadialLayoutOptions]> = {
64
108
  center: [0, 0],
65
- preventOverlap: true,
66
- collideStrength: 0.5,
109
+ width: grid * 20,
110
+ height: grid * 20,
67
111
  linkDistance: grid * 2,
68
112
  nodeSize,
69
113
  nodeSpacing: nodeSize,
70
- });
114
+ preventOverlap: true,
115
+ };
116
+
117
+ const layoutType = faker.helpers.arrayElement(['d3force', 'grid', 'radial']);
118
+ let layout: Layout<any>;
119
+ switch (layoutType) {
120
+ case 'd3force': {
121
+ layout = new D3ForceLayout({
122
+ ...defaultOptions,
123
+ nodeStrength: 0.3,
124
+ collideStrength: 0.8,
125
+ });
126
+ break;
127
+ }
128
+
129
+ case 'grid': {
130
+ layout = new GridLayout({
131
+ ...defaultOptions,
132
+ });
133
+ break;
134
+ }
135
+
136
+ case 'radial':
137
+ default: {
138
+ layout = new RadialLayout({
139
+ ...defaultOptions,
140
+ focusNode: graph.getAllNodes()[0],
141
+ unitRadius: grid * 2,
142
+ });
143
+ }
144
+ }
145
+
71
146
  const { nodes, edges } = await layout.execute(graph);
72
147
 
73
148
  for (const node of nodes) {
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/SpaceGenerator/SpaceGenerator.tsx", "../../../src/components/SpaceGenerator/ObjectGenerator.tsx", "../../../src/components/SpaceGenerator/draw-util.ts", "../../../src/components/SpaceGenerator/SchemaTable.tsx", "../../../src/components/SpaceGenerator/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { DiagramType } from '@dxos/plugin-sketch/types';\nimport { useClient } from '@dxos/react-client';\nimport { getTypename, type Space } from '@dxos/react-client/echo';\nimport { IconButton, Input, Toolbar, useAsyncEffect } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { Testing } from '@dxos/schema/testing';\nimport { jsonKeyReplacer, sortKeys } from '@dxos/util';\n\nimport { type ObjectGenerator, createGenerator, staticGenerators } from './ObjectGenerator';\nimport { SchemaTable } from './SchemaTable';\n\nexport type SpaceGeneratorProps = {\n space: Space;\n onCreateObjects?: (objects: ReactiveObject<any>[]) => void;\n};\n\nexport const SpaceGenerator = ({ space, onCreateObjects }: SpaceGeneratorProps) => {\n const client = useClient();\n const staticTypes = [DocumentType, DiagramType, SheetType]; // TODO(burdon): Make extensible.\n const mutableTypes = [Testing.OrgType, Testing.ProjectType, Testing.ContactType];\n const [count, setCount] = useState(1);\n const [info, setInfo] = useState<any>({});\n\n // Create type generators.\n const typeMap = useMemo(() => {\n client.addTypes(staticTypes);\n const mutableGenerators = new Map<string, ObjectGenerator<any>>(\n mutableTypes.map((type) => [type.typename, createGenerator(type)]),\n );\n\n return new Map([...staticGenerators, ...mutableGenerators]);\n }, [client, mutableTypes]);\n\n // Query space to get info.\n const updateInfo = async () => {\n // Create schema map.\n const mutableSchema = await space.db.schemaRegistry.query();\n const staticSchema = space.db.graph.schemaRegistry.schemas;\n\n // Create object map.\n const { objects } = await space.db.query().run();\n const objectMap = sortKeys(\n objects.reduce<Record<string, number>>((map, obj) => {\n const type = getTypename(obj);\n if (type) {\n const count = map[type] ?? 0;\n map[type] = count + 1;\n }\n return map;\n }, {}),\n );\n\n setInfo({\n schema: {\n static: staticSchema.length,\n mutable: mutableSchema.length,\n },\n objects: objectMap,\n });\n };\n\n useAsyncEffect(updateInfo, [space]);\n\n const handleCreateData = useCallback(\n async (typename: string) => {\n const constructor = typeMap.get(typename);\n if (constructor) {\n // TODO(burdon): Input to specify number of objects.\n await constructor(space, count, onCreateObjects);\n await updateInfo();\n }\n },\n [typeMap, count],\n );\n\n return (\n <div role='none' className='flex flex-col divide-y divide-separator'>\n <Toolbar.Root classNames='p-1'>\n <IconButton icon='ph--arrow-clockwise--regular' iconOnly label='Refresh' onClick={updateInfo} />\n <Toolbar.Expander />\n <div className='flex'>\n <Input.Root>\n <Input.TextInput\n type='number'\n min={1}\n max={100}\n placeholder={'Count'}\n classNames='w-[80px]'\n value={count}\n onChange={(ev) => setCount(parseInt(ev.target.value))}\n />\n </Input.Root>\n </div>\n </Toolbar.Root>\n\n <SchemaTable types={staticTypes} objects={info.objects} label='Static Types' onClick={handleCreateData} />\n <SchemaTable types={mutableTypes} objects={info.objects} label='Mutable Types' onClick={handleCreateData} />\n\n <SyntaxHighlighter classNames='flex text-xs' language='json'>\n {JSON.stringify({ space, ...info }, jsonKeyReplacer({ truncate: true }), 2)}\n </SyntaxHighlighter>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n createTLStore,\n defaultBindingUtils,\n defaultShapeUtils,\n defaultShapeTools,\n defaultTools,\n Editor,\n type TLEditorOptions,\n} from '@tldraw/tldraw';\n\nimport { type AbstractSchema, type BaseObject } from '@dxos/echo-schema';\nimport { create, type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType, TextType } from '@dxos/plugin-markdown/types';\nimport { addressToA1Notation, createSheet } from '@dxos/plugin-sheet';\nimport { type CellValue } from '@dxos/plugin-sheet/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { TLDRAW_SCHEMA, CanvasType, DiagramType } from '@dxos/plugin-sketch/types';\nimport { faker } from '@dxos/random';\nimport { Filter, type Space } from '@dxos/react-client/echo';\nimport { TableType } from '@dxos/react-ui-table';\nimport { createView } from '@dxos/schema';\nimport { createAsyncGenerator, type ValueGenerator } from '@dxos/schema/testing';\nimport { range } from '@dxos/util';\n\nimport { drawGraph, generateGraph } from './draw-util';\n\nconst generator: ValueGenerator = faker as any;\n\n// TODO(burdon): Add objects to collections.\n// TODO(burdon): Create comments.\n// TODO(burdon): Reuse in testbench-app.\n// TODO(burdon): Mutator running in background (factor out): from echo-generator.\n\nexport type ObjectGenerator<T extends BaseObject> = (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n) => Promise<ReactiveObject<T>[]>;\n\n// TODO(burdon): Factor out and create unit tests. See \"fuzz\" patterns.\nexport const staticGenerators = new Map<string, ObjectGenerator<any>>([\n //\n // DocumentType\n //\n [\n DocumentType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n const content = range(faker.number.int({ min: 3, max: 8 }))\n .map(() => faker.lorem.sentences(faker.number.int({ min: 3, max: 16 })))\n .join('\\n\\n');\n\n const obj = space.db.add(\n create(DocumentType, {\n name: faker.commerce.productName(),\n content: create(TextType, { content }),\n threads: [],\n }),\n );\n\n return obj;\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n //\n // DiagramType\n //\n [\n DiagramType.typename,\n async (space, n, cb) => {\n const options: Pick<TLEditorOptions, 'bindingUtils' | 'shapeUtils' | 'tools' | 'getContainer'> = {\n bindingUtils: defaultBindingUtils,\n shapeUtils: defaultShapeUtils,\n tools: [...defaultTools, ...defaultShapeTools],\n getContainer: () => document.body, // TODO(burdon): Fake via JSDOM?\n };\n\n const objects = await Promise.all(\n range(n).map(async () => {\n const store = createTLStore();\n const editor = new Editor({ ...options, store });\n const graph = generateGraph();\n const content = await drawGraph(editor, graph);\n editor.dispose();\n store.dispose();\n\n const obj = space.db.add(\n create(DiagramType, {\n name: faker.commerce.productName(),\n canvas: create(CanvasType, { schema: TLDRAW_SCHEMA, content }),\n }),\n );\n\n return obj;\n }),\n );\n\n cb?.(objects);\n return objects;\n },\n ],\n //\n // SheetType\n //\n [\n SheetType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n // TODO(burdon): Reconcile with plugin-sheet/testing\n const year = new Date().getFullYear();\n const cols = 4;\n const rows = 20;\n const cells: Record<string, CellValue> = {};\n for (let col = 1; col <= cols; col++) {\n for (let row = 1; row <= 10; row++) {\n const cell = addressToA1Notation({ col, row });\n if (row === 1) {\n cells[cell] = { value: `${year} Q${col}` };\n } else if (row === rows) {\n const from = addressToA1Notation({ col, row: 2 });\n const to = addressToA1Notation({ col, row: rows - 1 });\n cells[cell] = { value: `=SUM(${from}:${to})` };\n } else if (row > 2 && row < rows - 1) {\n cells[cell] = { value: Math.floor(Math.random() * 10_000) };\n }\n }\n }\n\n // TODO(burdon): Set width.\n return space.db.add(\n createSheet({\n name: faker.commerce.productName(),\n cells,\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n]);\n\nexport const createGenerator = <T extends BaseObject>(type: AbstractSchema<T>): ObjectGenerator<T> => {\n return async (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n ): Promise<ReactiveObject<T>[]> => {\n // Find or create mutable schema.\n const mutableSchema = await space.db.schemaRegistry.query();\n const schema =\n mutableSchema.find((schema) => schema.typename === type.typename) ?? space.db.schemaRegistry.addSchema(type);\n\n // Create objects.\n const generate = createAsyncGenerator(generator, schema.schema, space.db);\n const objects = await generate.createObjects(n);\n\n // Find or create table and view.\n const { objects: tables } = await space.db.query(Filter.schema(TableType)).run();\n const table = tables.find((table) => table.view?.query?.typename === type.typename);\n if (!table) {\n const name = type.typename.split('/').pop() ?? type.typename;\n const view = createView({ name, typename: type.typename, jsonSchema: schema.jsonSchema });\n const table = space.db.add(create(TableType, { name, view }));\n cb?.([table]);\n }\n\n return objects;\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// TODO(burdon): workerize-loader dep.\nimport { Graph, type Node, type PlainObject } from '@antv/graphlib';\nimport { D3ForceLayout } from '@antv/layout';\nimport { createBindingId, createShapeId, type Editor, type SerializedStore, type TLRecord } from '@tldraw/tldraw';\n\nimport { invariant } from '@dxos/invariant';\nimport { faker } from '@dxos/random';\nimport { range } from '@dxos/util';\n\n// TODO(burdon): Graph layout:\n// - https://www.npmjs.com/package/@antv/layout (uses d3)\n// - https://observablehq.com/d/2db6b0cc5e97d8d6\n// - https://github.com/antvis/graphlib\n// - https://www.npmjs.com/package/@dagrejs/dagre\n// - https://github.com/dagrejs/dagre/wiki\n// - https://www.npmjs.com/package/elkjs\n\n/**\n * https://github.com/antvis/graphlib/blob/master/docs/classes/Graph.md\n */\n// TODO(burdon): Factor out.\n// TODO(burdon): Map ECHO to Graph.\nexport const generateGraph = (): Graph<PlainObject, PlainObject> => {\n const nodes = range(faker.number.int({ min: 8, max: 32 })).map(() => ({\n id: faker.string.uuid(),\n data: {\n label: faker.lorem\n .words(2)\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase())\n .join('-'),\n },\n }));\n\n const edges = range(faker.number.int({ min: nodes.length, max: nodes.length * 2 })).map(() => {\n invariant(nodes.length >= 2);\n let source: Node<PlainObject>;\n let target: Node<PlainObject>;\n do {\n source = faker.helpers.arrayElement(nodes);\n target = faker.helpers.arrayElement(nodes);\n } while (source.id === target.id);\n\n return { id: faker.string.uuid(), source: source.id, target: target.id, data: {} };\n });\n\n return new Graph<PlainObject, PlainObject>({ nodes, edges });\n};\n\nexport const drawGraph = async (\n editor: Editor,\n graph: Graph<PlainObject, PlainObject>,\n): Promise<SerializedStore<TLRecord>> => {\n const grid = 40;\n const nodeSize = 80;\n\n const snap = (n: number) => Math.round(n / grid) * grid;\n\n const layout = new D3ForceLayout({\n center: [0, 0],\n preventOverlap: true,\n collideStrength: 0.5,\n linkDistance: grid * 2,\n nodeSize,\n nodeSpacing: nodeSize,\n });\n const { nodes, edges } = await layout.execute(graph);\n\n for (const node of nodes) {\n const id = createShapeId(node.id as string);\n editor.createShape({\n id,\n type: 'geo',\n x: snap(node.data.x),\n y: snap(node.data.y),\n props: {\n w: nodeSize,\n h: nodeSize,\n text: node.data.label,\n },\n });\n }\n\n for (const edge of edges) {\n const arrowId = createShapeId(edge.id as string);\n editor.createShape({ id: arrowId, type: 'arrow' });\n\n editor.createBinding({\n id: createBindingId(),\n type: 'arrow',\n fromId: arrowId,\n toId: createShapeId(edge.source as string),\n props: {\n terminal: 'start',\n isExact: false,\n isPrecise: false,\n normalizedAnchor: { x: 0.5, y: 0.5 },\n },\n });\n\n editor.createBinding({\n id: createBindingId(),\n type: 'arrow',\n fromId: arrowId,\n toId: createShapeId(edge.target as string),\n props: {\n terminal: 'end',\n isExact: false,\n isPrecise: false,\n normalizedAnchor: { x: 0.5, y: 0.5 },\n },\n });\n }\n\n const data = editor.store.getStoreSnapshot();\n // TODO(burdon): Strip readonly properties (e.g., `meta`). Factor out.\n const content: SerializedStore<TLRecord> = JSON.parse(JSON.stringify(data.store));\n\n return content;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { IconButton } from '@dxos/react-ui';\n\nexport type SchemaTableProps = {\n types: any[];\n objects?: Record<string, number | undefined>;\n label: string;\n onClick: (typename: string) => void;\n};\n\nexport const SchemaTable = ({ types, objects = {}, label, onClick }: SchemaTableProps) => {\n return (\n <div className='grid grid-cols-[1fr_80px_40px] gap-1 overflow-hidden'>\n <div className='grid grid-cols-subgrid col-span-3'>\n <div className='px-2 text-sm text-primary-500'>{label}</div>\n <div className='px-2 text-xs text-subdued text-right'>count</div>\n </div>\n {types.map((type) => (\n <div key={type.typename} className='grid grid-cols-subgrid col-span-3 items-center'>\n <div className='px-2 text-sm font-mono text-green-500'>{type.typename}</div>\n <div className='px-2 text-right font-mono'>{objects[type.typename] ?? 0}</div>\n <IconButton\n variant='ghost'\n icon='ph--plus--regular'\n iconOnly\n label='Create data'\n onClick={() => onClick(type.typename)}\n />\n </div>\n ))}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SpaceGenerator } from './SpaceGenerator';\n\nexport default SpaceGenerator;\n"],
5
- "mappings": ";AAIA,OAAOA,UAASC,aAAaC,SAASC,gBAAgB;AAGtD,SAASC,gBAAAA,qBAAoB;AAC7B,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,eAAAA,oBAAmB;AAC5B,SAASC,iBAAiB;AAC1B,SAASC,mBAA+B;AACxC,SAASC,cAAAA,aAAYC,OAAOC,SAASC,sBAAsB;AAC3D,SAASC,yBAAyB;AAClC,SAASC,eAAe;AACxB,SAASC,iBAAiBC,gBAAgB;;;ACX1C,SACEC,eACAC,qBACAC,mBACAC,mBACAC,cACAC,cAEK;AAGP,SAASC,cAAmC;AAC5C,SAASC,cAAcC,gBAAgB;AACvC,SAASC,qBAAqBC,mBAAmB;AAEjD,SAASC,iBAAiB;AAC1B,SAASC,eAAeC,YAAYC,mBAAmB;AACvD,SAASC,SAAAA,cAAa;AACtB,SAASC,cAA0B;AACnC,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB;AAC3B,SAASC,4BAAiD;AAC1D,SAASC,SAAAA,cAAa;;;ACrBtB,SAASC,aAA0C;AACnD,SAASC,qBAAqB;AAC9B,SAASC,iBAAiBC,qBAAuE;AAEjG,SAASC,iBAAiB;AAC1B,SAASC,aAAa;AACtB,SAASC,aAAa;;AAef,IAAMC,gBAAgB,MAAA;AAC3B,QAAMC,QAAQF,MAAMD,MAAMI,OAAOC,IAAI;IAAEC,KAAK;IAAGC,KAAK;EAAG,CAAA,CAAA,EAAIC,IAAI,OAAO;IACpEC,IAAIT,MAAMU,OAAOC,KAAI;IACrBC,MAAM;MACJC,OAAOb,MAAMc,MACVC,MAAM,CAAA,EACNC,MAAM,GAAA,EACNR,IAAI,CAACS,SAASA,KAAKC,OAAO,CAAA,EAAGC,YAAW,CAAA,EACxCC,KAAK,GAAA;IACV;EACF,EAAA;AAEA,QAAMC,QAAQpB,MAAMD,MAAMI,OAAOC,IAAI;IAAEC,KAAKH,MAAMmB;IAAQf,KAAKJ,MAAMmB,SAAS;EAAE,CAAA,CAAA,EAAId,IAAI,MAAA;AACtFT,cAAUI,MAAMmB,UAAU,GAAA,QAAA;;;;;;;;;AAC1B,QAAIC;AACJ,QAAIC;AACJ,OAAG;AACDD,eAASvB,MAAMyB,QAAQC,aAAavB,KAAAA;AACpCqB,eAASxB,MAAMyB,QAAQC,aAAavB,KAAAA;IACtC,SAASoB,OAAOd,OAAOe,OAAOf;AAE9B,WAAO;MAAEA,IAAIT,MAAMU,OAAOC,KAAI;MAAIY,QAAQA,OAAOd;MAAIe,QAAQA,OAAOf;MAAIG,MAAM,CAAC;IAAE;EACnF,CAAA;AAEA,SAAO,IAAIjB,MAAgC;IAAEQ;IAAOkB;EAAM,CAAA;AAC5D;AAEO,IAAMM,YAAY,OACvBC,QACAC,UAAAA;AAEA,QAAMC,OAAO;AACb,QAAMC,WAAW;AAEjB,QAAMC,OAAO,CAACC,MAAcC,KAAKC,MAAMF,IAAIH,IAAAA,IAAQA;AAEnD,QAAMM,SAAS,IAAIxC,cAAc;IAC/ByC,QAAQ;MAAC;MAAG;;IACZC,gBAAgB;IAChBC,iBAAiB;IACjBC,cAAcV,OAAO;IACrBC;IACAU,aAAaV;EACf,CAAA;AACA,QAAM,EAAE5B,OAAOkB,MAAK,IAAK,MAAMe,OAAOM,QAAQb,KAAAA;AAE9C,aAAWc,QAAQxC,OAAO;AACxB,UAAMM,KAAKX,cAAc6C,KAAKlC,EAAE;AAChCmB,WAAOgB,YAAY;MACjBnC;MACAoC,MAAM;MACNC,GAAGd,KAAKW,KAAK/B,KAAKkC,CAAC;MACnBC,GAAGf,KAAKW,KAAK/B,KAAKmC,CAAC;MACnBC,OAAO;QACLC,GAAGlB;QACHmB,GAAGnB;QACHoB,MAAMR,KAAK/B,KAAKC;MAClB;IACF,CAAA;EACF;AAEA,aAAWuC,QAAQ/B,OAAO;AACxB,UAAMgC,UAAUvD,cAAcsD,KAAK3C,EAAE;AACrCmB,WAAOgB,YAAY;MAAEnC,IAAI4C;MAASR,MAAM;IAAQ,CAAA;AAEhDjB,WAAO0B,cAAc;MACnB7C,IAAIZ,gBAAAA;MACJgD,MAAM;MACNU,QAAQF;MACRG,MAAM1D,cAAcsD,KAAK7B,MAAM;MAC/ByB,OAAO;QACLS,UAAU;QACVC,SAAS;QACTC,WAAW;QACXC,kBAAkB;UAAEd,GAAG;UAAKC,GAAG;QAAI;MACrC;IACF,CAAA;AAEAnB,WAAO0B,cAAc;MACnB7C,IAAIZ,gBAAAA;MACJgD,MAAM;MACNU,QAAQF;MACRG,MAAM1D,cAAcsD,KAAK5B,MAAM;MAC/BwB,OAAO;QACLS,UAAU;QACVC,SAAS;QACTC,WAAW;QACXC,kBAAkB;UAAEd,GAAG;UAAKC,GAAG;QAAI;MACrC;IACF,CAAA;EACF;AAEA,QAAMnC,OAAOgB,OAAOiC,MAAMC,iBAAgB;AAE1C,QAAMC,UAAqCC,KAAKC,MAAMD,KAAKE,UAAUtD,KAAKiD,KAAK,CAAA;AAE/E,SAAOE;AACT;;;AD7FA,IAAMI,YAA4BC;AAc3B,IAAMC,mBAAmB,oBAAIC,IAAkC;;;;EAIpE;IACEC,aAAaC;IACb,OAAOC,OAAOC,GAAGC,OAAAA;AACf,YAAMC,UAAUC,OAAMH,CAAAA,EAAGI,IAAI,MAAA;AAC3B,cAAMC,UAAUF,OAAMT,OAAMY,OAAOC,IAAI;UAAEC,KAAK;UAAGC,KAAK;QAAE,CAAA,CAAA,EACrDL,IAAI,MAAMV,OAAMgB,MAAMC,UAAUjB,OAAMY,OAAOC,IAAI;UAAEC,KAAK;UAAGC,KAAK;QAAG,CAAA,CAAA,CAAA,EACnEG,KAAK,MAAA;AAER,cAAMC,MAAMd,MAAMe,GAAGC,IACnBC,OAAOnB,cAAc;UACnBoB,MAAMvB,OAAMwB,SAASC,YAAW;UAChCd,SAASW,OAAOI,UAAU;YAAEf;UAAQ,CAAA;UACpCgB,SAAS,CAAA;QACX,CAAA,CAAA;AAGF,eAAOR;MACT,CAAA;AAEAZ,WAAKC,OAAAA;AACL,aAAOA;IACT;;;;;EAKF;IACEoB,YAAYxB;IACZ,OAAOC,OAAOC,GAAGC,OAAAA;AACf,YAAMsB,UAA2F;QAC/FC,cAAcC;QACdC,YAAYC;QACZC,OAAO;aAAIC;aAAiBC;;QAC5BC,cAAc,MAAMC,SAASC;MAC/B;AAEA,YAAM/B,UAAU,MAAMgC,QAAQC,IAC5BhC,OAAMH,CAAAA,EAAGI,IAAI,YAAA;AACX,cAAMgC,QAAQC,cAAAA;AACd,cAAMC,SAAS,IAAIC,OAAO;UAAE,GAAGhB;UAASa;QAAM,CAAA;AAC9C,cAAMI,QAAQC,cAAAA;AACd,cAAMpC,UAAU,MAAMqC,UAAUJ,QAAQE,KAAAA;AACxCF,eAAOK,QAAO;AACdP,cAAMO,QAAO;AAEb,cAAM9B,MAAMd,MAAMe,GAAGC,IACnBC,OAAOM,aAAa;UAClBL,MAAMvB,OAAMwB,SAASC,YAAW;UAChCyB,QAAQ5B,OAAO6B,YAAY;YAAEC,QAAQC;YAAe1C;UAAQ,CAAA;QAC9D,CAAA,CAAA;AAGF,eAAOQ;MACT,CAAA,CAAA;AAGFZ,WAAKC,OAAAA;AACL,aAAOA;IACT;;;;;EAKF;IACE8C,UAAUlD;IACV,OAAOC,OAAOC,GAAGC,OAAAA;AACf,YAAMC,UAAUC,OAAMH,CAAAA,EAAGI,IAAI,MAAA;AAE3B,cAAM6C,QAAO,oBAAIC,KAAAA,GAAOC,YAAW;AACnC,cAAMC,OAAO;AACb,cAAMC,OAAO;AACb,cAAMC,QAAmC,CAAC;AAC1C,iBAASC,MAAM,GAAGA,OAAOH,MAAMG,OAAO;AACpC,mBAASC,MAAM,GAAGA,OAAO,IAAIA,OAAO;AAClC,kBAAMC,OAAOC,oBAAoB;cAAEH;cAAKC;YAAI,CAAA;AAC5C,gBAAIA,QAAQ,GAAG;AACbF,oBAAMG,IAAAA,IAAQ;gBAAEE,OAAO,GAAGV,IAAAA,KAASM,GAAAA;cAAM;YAC3C,WAAWC,QAAQH,MAAM;AACvB,oBAAMO,OAAOF,oBAAoB;gBAAEH;gBAAKC,KAAK;cAAE,CAAA;AAC/C,oBAAMK,KAAKH,oBAAoB;gBAAEH;gBAAKC,KAAKH,OAAO;cAAE,CAAA;AACpDC,oBAAMG,IAAAA,IAAQ;gBAAEE,OAAO,QAAQC,IAAAA,IAAQC,EAAAA;cAAM;YAC/C,WAAWL,MAAM,KAAKA,MAAMH,OAAO,GAAG;AACpCC,oBAAMG,IAAAA,IAAQ;gBAAEE,OAAOG,KAAKC,MAAMD,KAAKE,OAAM,IAAK,GAAA;cAAQ;YAC5D;UACF;QACF;AAGA,eAAOjE,MAAMe,GAAGC,IACdkD,YAAY;UACVhD,MAAMvB,OAAMwB,SAASC,YAAW;UAChCmC;QACF,CAAA,CAAA;MAEJ,CAAA;AAEArD,WAAKC,OAAAA;AACL,aAAOA;IACT;;CAEH;AAEM,IAAMgE,kBAAkB,CAAuBC,SAAAA;AACpD,SAAO,OACLpE,OACAC,GACAC,OAAAA;AAGA,UAAMmE,gBAAgB,MAAMrE,MAAMe,GAAGuD,eAAeC,MAAK;AACzD,UAAMxB,SACJsB,cAAcG,KAAK,CAACzB,YAAWA,QAAOhD,aAAaqE,KAAKrE,QAAQ,KAAKC,MAAMe,GAAGuD,eAAeG,UAAUL,IAAAA;AAGzG,UAAMM,WAAWC,qBAAqBjF,WAAWqD,OAAOA,QAAQ/C,MAAMe,EAAE;AACxE,UAAMZ,UAAU,MAAMuE,SAASE,cAAc3E,CAAAA;AAG7C,UAAM,EAAEE,SAAS0E,OAAM,IAAK,MAAM7E,MAAMe,GAAGwD,MAAMO,OAAO/B,OAAOgC,SAAAA,CAAAA,EAAYC,IAAG;AAC9E,UAAMC,QAAQJ,OAAOL,KAAK,CAACS,WAAUA,OAAMC,MAAMX,OAAOxE,aAAaqE,KAAKrE,QAAQ;AAClF,QAAI,CAACkF,OAAO;AACV,YAAM/D,OAAOkD,KAAKrE,SAASoF,MAAM,GAAA,EAAKC,IAAG,KAAMhB,KAAKrE;AACpD,YAAMmF,OAAOG,WAAW;QAAEnE;QAAMnB,UAAUqE,KAAKrE;QAAUuF,YAAYvC,OAAOuC;MAAW,CAAA;AACvF,YAAML,SAAQjF,MAAMe,GAAGC,IAAIC,OAAO8D,WAAW;QAAE7D;QAAMgE;MAAK,CAAA,CAAA;AAC1DhF,WAAK;QAAC+E;OAAM;IACd;AAEA,WAAO9E;EACT;AACF;;;AE7KA,OAAOoF,WAAW;AAElB,SAASC,kBAAkB;AASpB,IAAMC,cAAc,CAAC,EAAEC,OAAOC,UAAU,CAAC,GAAGC,OAAOC,QAAO,MAAoB;AACnF,SACE,sBAAA,cAACC,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KAAiCH,KAAAA,GAChD,sBAAA,cAACE,OAAAA;IAAIC,WAAU;KAAuC,OAAA,CAAA,GAEvDL,MAAMM,IAAI,CAACC,SACV,sBAAA,cAACH,OAAAA;IAAII,KAAKD,KAAKE;IAAUJ,WAAU;KACjC,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KAAyCE,KAAKE,QAAQ,GACrE,sBAAA,cAACL,OAAAA;IAAIC,WAAU;KAA6BJ,QAAQM,KAAKE,QAAQ,KAAK,CAAA,GACtE,sBAAA,cAACC,YAAAA;IACCC,SAAQ;IACRC,MAAK;IACLC,UAAAA;IACAX,OAAM;IACNC,SAAS,MAAMA,QAAQI,KAAKE,QAAQ;;AAMhD;;;AHZO,IAAMK,iBAAiB,CAAC,EAAEC,OAAOC,gBAAe,MAAuB;AAC5E,QAAMC,SAASC,UAAAA;AACf,QAAMC,cAAc;IAACC;IAAcC;IAAaC;;AAChD,QAAMC,eAAe;IAACC,QAAQC;IAASD,QAAQE;IAAaF,QAAQG;;AACpE,QAAM,CAACC,OAAOC,QAAAA,IAAYC,SAAS,CAAA;AACnC,QAAM,CAACC,MAAMC,OAAAA,IAAWF,SAAc,CAAC,CAAA;AAGvC,QAAMG,UAAUC,QAAQ,MAAA;AACtBjB,WAAOkB,SAAShB,WAAAA;AAChB,UAAMiB,oBAAoB,IAAIC,IAC5Bd,aAAae,IAAI,CAACC,SAAS;MAACA,KAAKC;MAAUC,gBAAgBF,IAAAA;KAAM,CAAA;AAGnE,WAAO,IAAIF,IAAI;SAAIK;SAAqBN;KAAkB;EAC5D,GAAG;IAACnB;IAAQM;GAAa;AAGzB,QAAMoB,aAAa,YAAA;AAEjB,UAAMC,gBAAgB,MAAM7B,MAAM8B,GAAGC,eAAeC,MAAK;AACzD,UAAMC,eAAejC,MAAM8B,GAAGI,MAAMH,eAAeI;AAGnD,UAAM,EAAEC,QAAO,IAAK,MAAMpC,MAAM8B,GAAGE,MAAK,EAAGK,IAAG;AAC9C,UAAMC,YAAYC,SAChBH,QAAQI,OAA+B,CAACjB,KAAKkB,QAAAA;AAC3C,YAAMjB,OAAOkB,YAAYD,GAAAA;AACzB,UAAIjB,MAAM;AACR,cAAMX,SAAQU,IAAIC,IAAAA,KAAS;AAC3BD,YAAIC,IAAAA,IAAQX,SAAQ;MACtB;AACA,aAAOU;IACT,GAAG,CAAC,CAAA,CAAA;AAGNN,YAAQ;MACN0B,QAAQ;QACNC,QAAQX,aAAaY;QACrBC,SAASjB,cAAcgB;MACzB;MACAT,SAASE;IACX,CAAA;EACF;AAEAS,iBAAenB,YAAY;IAAC5B;GAAM;AAElC,QAAMgD,mBAAmBC,YACvB,OAAOxB,aAAAA;AACL,UAAMyB,cAAchC,QAAQiC,IAAI1B,QAAAA;AAChC,QAAIyB,aAAa;AAEf,YAAMA,YAAYlD,OAAOa,OAAOZ,eAAAA;AAChC,YAAM2B,WAAAA;IACR;EACF,GACA;IAACV;IAASL;GAAM;AAGlB,SACE,gBAAAuC,OAAA,cAACC,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,gBAAAH,OAAA,cAACI,QAAQC,MAAI;IAACC,YAAW;KACvB,gBAAAN,OAAA,cAACO,aAAAA;IAAWC,MAAK;IAA+BC,UAAAA;IAASC,OAAM;IAAUC,SAASnC;MAClF,gBAAAwB,OAAA,cAACI,QAAQQ,UAAQ,IAAA,GACjB,gBAAAZ,OAAA,cAACC,OAAAA;IAAIE,WAAU;KACb,gBAAAH,OAAA,cAACa,MAAMR,MAAI,MACT,gBAAAL,OAAA,cAACa,MAAMC,WAAS;IACd1C,MAAK;IACL2C,KAAK;IACLC,KAAK;IACLC,aAAa;IACbX,YAAW;IACXY,OAAOzD;IACP0D,UAAU,CAACC,OAAO1D,SAAS2D,SAASD,GAAGE,OAAOJ,KAAK,CAAA;SAM3D,gBAAAlB,OAAA,cAACuB,aAAAA;IAAYC,OAAOxE;IAAagC,SAASpB,KAAKoB;IAAS0B,OAAM;IAAeC,SAASf;MACtF,gBAAAI,OAAA,cAACuB,aAAAA;IAAYC,OAAOpE;IAAc4B,SAASpB,KAAKoB;IAAS0B,OAAM;IAAgBC,SAASf;MAExF,gBAAAI,OAAA,cAACyB,mBAAAA;IAAkBnB,YAAW;IAAeoB,UAAS;KACnDC,KAAKC,UAAU;IAAEhF;IAAO,GAAGgB;EAAK,GAAGiE,gBAAgB;IAAEC,UAAU;EAAK,CAAA,GAAI,CAAA,CAAA,CAAA;AAIjF;;;AI1GA,IAAA,yBAAeC;",
6
- "names": ["React", "useCallback", "useMemo", "useState", "DocumentType", "SheetType", "DiagramType", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "SyntaxHighlighter", "Testing", "jsonKeyReplacer", "sortKeys", "createTLStore", "defaultBindingUtils", "defaultShapeUtils", "defaultShapeTools", "defaultTools", "Editor", "create", "DocumentType", "TextType", "addressToA1Notation", "createSheet", "SheetType", "TLDRAW_SCHEMA", "CanvasType", "DiagramType", "faker", "Filter", "TableType", "createView", "createAsyncGenerator", "range", "Graph", "D3ForceLayout", "createBindingId", "createShapeId", "invariant", "faker", "range", "generateGraph", "nodes", "number", "int", "min", "max", "map", "id", "string", "uuid", "data", "label", "lorem", "words", "split", "word", "charAt", "toUpperCase", "join", "edges", "length", "source", "target", "helpers", "arrayElement", "drawGraph", "editor", "graph", "grid", "nodeSize", "snap", "n", "Math", "round", "layout", "center", "preventOverlap", "collideStrength", "linkDistance", "nodeSpacing", "execute", "node", "createShape", "type", "x", "y", "props", "w", "h", "text", "edge", "arrowId", "createBinding", "fromId", "toId", "terminal", "isExact", "isPrecise", "normalizedAnchor", "store", "getStoreSnapshot", "content", "JSON", "parse", "stringify", "generator", "faker", "staticGenerators", "Map", "DocumentType", "typename", "space", "n", "cb", "objects", "range", "map", "content", "number", "int", "min", "max", "lorem", "sentences", "join", "obj", "db", "add", "create", "name", "commerce", "productName", "TextType", "threads", "DiagramType", "options", "bindingUtils", "defaultBindingUtils", "shapeUtils", "defaultShapeUtils", "tools", "defaultTools", "defaultShapeTools", "getContainer", "document", "body", "Promise", "all", "store", "createTLStore", "editor", "Editor", "graph", "generateGraph", "drawGraph", "dispose", "canvas", "CanvasType", "schema", "TLDRAW_SCHEMA", "SheetType", "year", "Date", "getFullYear", "cols", "rows", "cells", "col", "row", "cell", "addressToA1Notation", "value", "from", "to", "Math", "floor", "random", "createSheet", "createGenerator", "type", "mutableSchema", "schemaRegistry", "query", "find", "addSchema", "generate", "createAsyncGenerator", "createObjects", "tables", "Filter", "TableType", "run", "table", "view", "split", "pop", "createView", "jsonSchema", "React", "IconButton", "SchemaTable", "types", "objects", "label", "onClick", "div", "className", "map", "type", "key", "typename", "IconButton", "variant", "icon", "iconOnly", "SpaceGenerator", "space", "onCreateObjects", "client", "useClient", "staticTypes", "DocumentType", "DiagramType", "SheetType", "mutableTypes", "Testing", "OrgType", "ProjectType", "ContactType", "count", "setCount", "useState", "info", "setInfo", "typeMap", "useMemo", "addTypes", "mutableGenerators", "Map", "map", "type", "typename", "createGenerator", "staticGenerators", "updateInfo", "mutableSchema", "db", "schemaRegistry", "query", "staticSchema", "graph", "schemas", "objects", "run", "objectMap", "sortKeys", "reduce", "obj", "getTypename", "schema", "static", "length", "mutable", "useAsyncEffect", "handleCreateData", "useCallback", "constructor", "get", "React", "div", "role", "className", "Toolbar", "Root", "classNames", "IconButton", "icon", "iconOnly", "label", "onClick", "Expander", "Input", "TextInput", "min", "max", "placeholder", "value", "onChange", "ev", "parseInt", "target", "SchemaTable", "types", "SyntaxHighlighter", "language", "JSON", "stringify", "jsonKeyReplacer", "truncate", "SpaceGenerator"]
7
- }