@bian-womp/spark-workbench 0.3.88 → 0.3.89
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.
- package/lib/src/adapters/cli/index.d.ts +22 -0
- package/lib/src/adapters/cli/index.d.ts.map +1 -0
- package/lib/src/adapters/cli/index.js +50 -0
- package/lib/src/adapters/cli/index.js.map +1 -0
- package/lib/src/core/AbstractWorkbench.d.ts +40 -0
- package/lib/src/core/AbstractWorkbench.d.ts.map +1 -0
- package/lib/src/core/AbstractWorkbench.js +15 -0
- package/lib/src/core/AbstractWorkbench.js.map +1 -0
- package/lib/src/core/InMemoryWorkbench.d.ts +304 -0
- package/lib/src/core/InMemoryWorkbench.d.ts.map +1 -0
- package/lib/src/core/InMemoryWorkbench.js +1016 -0
- package/lib/src/core/InMemoryWorkbench.js.map +1 -0
- package/lib/src/core/contracts.d.ts +172 -0
- package/lib/src/core/contracts.d.ts.map +1 -0
- package/lib/src/core/contracts.js +2 -0
- package/lib/src/core/contracts.js.map +1 -0
- package/lib/src/core/ui-extensions.d.ts +85 -0
- package/lib/src/core/ui-extensions.d.ts.map +1 -0
- package/lib/src/core/ui-extensions.js +111 -0
- package/lib/src/core/ui-extensions.js.map +1 -0
- package/lib/src/examples/cli.d.ts +2 -0
- package/lib/src/examples/cli.d.ts.map +1 -0
- package/lib/src/examples/cli.js +244 -0
- package/lib/src/examples/cli.js.map +1 -0
- package/lib/src/examples/reactflow/App.d.ts +2 -0
- package/lib/src/examples/reactflow/App.d.ts.map +1 -0
- package/lib/src/examples/reactflow/App.js +20 -0
- package/lib/src/examples/reactflow/App.js.map +1 -0
- package/lib/src/index.d.ts +30 -0
- package/lib/src/index.d.ts.map +1 -0
- package/lib/src/index.js +30 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/misc/DebugEvents.d.ts +7 -0
- package/lib/src/misc/DebugEvents.d.ts.map +1 -0
- package/lib/src/misc/DebugEvents.js +51 -0
- package/lib/src/misc/DebugEvents.js.map +1 -0
- package/lib/src/misc/DefaultEdge.d.ts +5 -0
- package/lib/src/misc/DefaultEdge.d.ts.map +1 -0
- package/lib/src/misc/DefaultEdge.js +15 -0
- package/lib/src/misc/DefaultEdge.js.map +1 -0
- package/lib/src/misc/DefaultNode.d.ts +5 -0
- package/lib/src/misc/DefaultNode.d.ts.map +1 -0
- package/lib/src/misc/DefaultNode.js +25 -0
- package/lib/src/misc/DefaultNode.js.map +1 -0
- package/lib/src/misc/DefaultNodeContent.d.ts +4 -0
- package/lib/src/misc/DefaultNodeContent.d.ts.map +1 -0
- package/lib/src/misc/DefaultNodeContent.js +58 -0
- package/lib/src/misc/DefaultNodeContent.js.map +1 -0
- package/lib/src/misc/DefaultNodeHeader.d.ts +13 -0
- package/lib/src/misc/DefaultNodeHeader.d.ts.map +1 -0
- package/lib/src/misc/DefaultNodeHeader.js +78 -0
- package/lib/src/misc/DefaultNodeHeader.js.map +1 -0
- package/lib/src/misc/Inspector.d.ts +12 -0
- package/lib/src/misc/Inspector.d.ts.map +1 -0
- package/lib/src/misc/Inspector.js +253 -0
- package/lib/src/misc/Inspector.js.map +1 -0
- package/lib/src/misc/IssueBadge.d.ts +7 -0
- package/lib/src/misc/IssueBadge.d.ts.map +1 -0
- package/lib/src/misc/IssueBadge.js +7 -0
- package/lib/src/misc/IssueBadge.js.map +1 -0
- package/lib/src/misc/KeyboardShortcutToast.d.ts +16 -0
- package/lib/src/misc/KeyboardShortcutToast.d.ts.map +1 -0
- package/lib/src/misc/KeyboardShortcutToast.js +40 -0
- package/lib/src/misc/KeyboardShortcutToast.js.map +1 -0
- package/lib/src/misc/NodeHandles.d.ts +18 -0
- package/lib/src/misc/NodeHandles.d.ts.map +1 -0
- package/lib/src/misc/NodeHandles.js +67 -0
- package/lib/src/misc/NodeHandles.js.map +1 -0
- package/lib/src/misc/SelectionActiveSync.d.ts +10 -0
- package/lib/src/misc/SelectionActiveSync.d.ts.map +1 -0
- package/lib/src/misc/SelectionActiveSync.js +21 -0
- package/lib/src/misc/SelectionActiveSync.js.map +1 -0
- package/lib/src/misc/WorkbenchCanvas.d.ts +23 -0
- package/lib/src/misc/WorkbenchCanvas.d.ts.map +1 -0
- package/lib/src/misc/WorkbenchCanvas.js +669 -0
- package/lib/src/misc/WorkbenchCanvas.js.map +1 -0
- package/lib/src/misc/WorkbenchStudio.d.ts +43 -0
- package/lib/src/misc/WorkbenchStudio.d.ts.map +1 -0
- package/lib/src/misc/WorkbenchStudio.js +463 -0
- package/lib/src/misc/WorkbenchStudio.js.map +1 -0
- package/lib/src/misc/constants.d.ts +4 -0
- package/lib/src/misc/constants.d.ts.map +1 -0
- package/lib/src/misc/constants.js +5 -0
- package/lib/src/misc/constants.js.map +1 -0
- package/lib/src/misc/context/WorkbenchContext.d.ts +133 -0
- package/lib/src/misc/context/WorkbenchContext.d.ts.map +1 -0
- package/lib/src/misc/context/WorkbenchContext.js +9 -0
- package/lib/src/misc/context/WorkbenchContext.js.map +1 -0
- package/lib/src/misc/context/WorkbenchContext.provider.d.ts +12 -0
- package/lib/src/misc/context/WorkbenchContext.provider.d.ts.map +1 -0
- package/lib/src/misc/context/WorkbenchContext.provider.js +995 -0
- package/lib/src/misc/context/WorkbenchContext.provider.js.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuButton.d.ts +8 -0
- package/lib/src/misc/context-menu/ContextMenuButton.d.ts.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuButton.js +10 -0
- package/lib/src/misc/context-menu/ContextMenuButton.js.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuHandlers.d.ts +85 -0
- package/lib/src/misc/context-menu/ContextMenuHandlers.d.ts.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuHandlers.js +2 -0
- package/lib/src/misc/context-menu/ContextMenuHandlers.js.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuHelpers.d.ts +45 -0
- package/lib/src/misc/context-menu/ContextMenuHelpers.d.ts.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuHelpers.js +182 -0
- package/lib/src/misc/context-menu/ContextMenuHelpers.js.map +1 -0
- package/lib/src/misc/context-menu/DefaultContextMenu.d.ts +3 -0
- package/lib/src/misc/context-menu/DefaultContextMenu.d.ts.map +1 -0
- package/lib/src/misc/context-menu/DefaultContextMenu.js +111 -0
- package/lib/src/misc/context-menu/DefaultContextMenu.js.map +1 -0
- package/lib/src/misc/context-menu/NodeContextMenu.d.ts +3 -0
- package/lib/src/misc/context-menu/NodeContextMenu.d.ts.map +1 -0
- package/lib/src/misc/context-menu/NodeContextMenu.js +51 -0
- package/lib/src/misc/context-menu/NodeContextMenu.js.map +1 -0
- package/lib/src/misc/context-menu/SelectionContextMenu.d.ts +3 -0
- package/lib/src/misc/context-menu/SelectionContextMenu.d.ts.map +1 -0
- package/lib/src/misc/context-menu/SelectionContextMenu.js +47 -0
- package/lib/src/misc/context-menu/SelectionContextMenu.js.map +1 -0
- package/lib/src/misc/hooks.d.ts +18 -0
- package/lib/src/misc/hooks.d.ts.map +1 -0
- package/lib/src/misc/hooks.js +275 -0
- package/lib/src/misc/hooks.js.map +1 -0
- package/lib/src/misc/layout.d.ts +117 -0
- package/lib/src/misc/layout.d.ts.map +1 -0
- package/lib/src/misc/layout.js +205 -0
- package/lib/src/misc/layout.js.map +1 -0
- package/lib/src/misc/load.d.ts +5 -0
- package/lib/src/misc/load.d.ts.map +1 -0
- package/lib/src/misc/load.js +106 -0
- package/lib/src/misc/load.js.map +1 -0
- package/lib/src/misc/mapping.d.ts +128 -0
- package/lib/src/misc/mapping.d.ts.map +1 -0
- package/lib/src/misc/mapping.js +270 -0
- package/lib/src/misc/mapping.js.map +1 -0
- package/lib/src/misc/merge-utils.d.ts +12 -0
- package/lib/src/misc/merge-utils.d.ts.map +1 -0
- package/lib/src/misc/merge-utils.js +51 -0
- package/lib/src/misc/merge-utils.js.map +1 -0
- package/lib/src/misc/thumbnail-utils.d.ts +53 -0
- package/lib/src/misc/thumbnail-utils.d.ts.map +1 -0
- package/lib/src/misc/thumbnail-utils.js +629 -0
- package/lib/src/misc/thumbnail-utils.js.map +1 -0
- package/lib/src/misc/types.d.ts +18 -0
- package/lib/src/misc/types.d.ts.map +1 -0
- package/lib/src/misc/types.js +2 -0
- package/lib/src/misc/types.js.map +1 -0
- package/lib/src/misc/value.d.ts +16 -0
- package/lib/src/misc/value.d.ts.map +1 -0
- package/lib/src/misc/value.js +114 -0
- package/lib/src/misc/value.js.map +1 -0
- package/lib/src/misc/viewport-utils.d.ts +6 -0
- package/lib/src/misc/viewport-utils.d.ts.map +1 -0
- package/lib/src/misc/viewport-utils.js +18 -0
- package/lib/src/misc/viewport-utils.js.map +1 -0
- package/lib/src/runtime/AbstractGraphRunner.d.ts +61 -0
- package/lib/src/runtime/AbstractGraphRunner.d.ts.map +1 -0
- package/lib/src/runtime/AbstractGraphRunner.js +63 -0
- package/lib/src/runtime/AbstractGraphRunner.js.map +1 -0
- package/lib/src/runtime/IGraphRunner.d.ts +100 -0
- package/lib/src/runtime/IGraphRunner.d.ts.map +1 -0
- package/lib/src/runtime/IGraphRunner.js +2 -0
- package/lib/src/runtime/IGraphRunner.js.map +1 -0
- package/lib/src/runtime/LocalGraphRunner.d.ts +60 -0
- package/lib/src/runtime/LocalGraphRunner.d.ts.map +1 -0
- package/lib/src/runtime/LocalGraphRunner.js +294 -0
- package/lib/src/runtime/LocalGraphRunner.js.map +1 -0
- package/lib/src/runtime/RemoteGraphRunner.d.ts +109 -0
- package/lib/src/runtime/RemoteGraphRunner.d.ts.map +1 -0
- package/lib/src/runtime/RemoteGraphRunner.js +696 -0
- package/lib/src/runtime/RemoteGraphRunner.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Handle, Position } from "@xyflow/react";
|
|
4
|
+
function NodeHandleItem({ kind, id, type, position, y, isConnectable, className, labelClassName, renderLabel, }) {
|
|
5
|
+
return (_jsxs(_Fragment, { children: [_jsx(Handle, { id: id, type: type, position: position, isConnectable: isConnectable, className: className, style: y !== undefined ? { top: y } : undefined }), renderLabel && (_jsx("div", { className: `${labelClassName} ${kind === "input" ? " left-2" : " right-2"}`, style: {
|
|
6
|
+
top: (y ?? 0) - 8,
|
|
7
|
+
...(kind === "input" ? { right: "50%" } : { left: "50%", textAlign: "right" }),
|
|
8
|
+
whiteSpace: "nowrap",
|
|
9
|
+
overflow: "hidden",
|
|
10
|
+
textOverflow: "ellipsis",
|
|
11
|
+
}, children: renderLabel({ kind, id }) }))] }));
|
|
12
|
+
}
|
|
13
|
+
export function NodeHandles({ data, isConnectable, getClassName, renderLabel, labelClassName = "absolute text-[11px] text-gray-700 dark:text-gray-300 pointer-events-none", }) {
|
|
14
|
+
const layout = data.handleLayout ?? [];
|
|
15
|
+
const byId = React.useMemo(() => {
|
|
16
|
+
const m = new Map();
|
|
17
|
+
for (const h of layout) {
|
|
18
|
+
// Prefer namespaced key to disambiguate inputs/outputs that share id
|
|
19
|
+
m.set(`${h.type}:${h.id}`, {
|
|
20
|
+
position: h.position,
|
|
21
|
+
y: h.y,
|
|
22
|
+
type: h.type,
|
|
23
|
+
missing: h.missing,
|
|
24
|
+
});
|
|
25
|
+
// Back-compat: also store by id-only if not already set
|
|
26
|
+
if (!m.has(h.id))
|
|
27
|
+
m.set(h.id, {
|
|
28
|
+
position: h.position,
|
|
29
|
+
y: h.y,
|
|
30
|
+
type: h.type,
|
|
31
|
+
missing: h.missing,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return m;
|
|
35
|
+
}, [layout]);
|
|
36
|
+
const inputIds = React.useMemo(() => new Set((data.inputHandles ?? []).map((h) => h.id)), [data.inputHandles]);
|
|
37
|
+
const outputIds = React.useMemo(() => new Set((data.outputHandles ?? []).map((h) => h.id)), [data.outputHandles]);
|
|
38
|
+
const missingInputs = React.useMemo(() => (layout || []).filter((h) => h.type === "target" && (!inputIds.has(h.id) || h.missing)), [layout, inputIds]);
|
|
39
|
+
const missingOutputs = React.useMemo(() => (layout || []).filter((h) => h.type === "source" && (!outputIds.has(h.id) || h.missing)), [layout, outputIds]);
|
|
40
|
+
return (_jsxs(_Fragment, { children: [(data.inputHandles ?? []).map((h) => {
|
|
41
|
+
const placed = byId.get(`target:${h.id}`) ?? byId.get(h.id);
|
|
42
|
+
const position = placed?.position ?? Position.Left;
|
|
43
|
+
const y = placed?.y;
|
|
44
|
+
const cls = getClassName?.({ kind: "input", id: h.id, type: "target" }) ?? "";
|
|
45
|
+
return (_jsx(NodeHandleItem, { kind: "input", id: h.id, type: "target", position: position, y: y, isConnectable: isConnectable, className: cls, labelClassName: labelClassName, renderLabel: renderLabel }, h.id));
|
|
46
|
+
}), missingInputs.map((h) => {
|
|
47
|
+
const key = `missing-input:${h.id}`;
|
|
48
|
+
const position = h.position ?? Position.Left;
|
|
49
|
+
const y = h.y;
|
|
50
|
+
const cls = "!w-3 !h-3 !bg-amber-400 !border-amber-500 wb-nodrag wb-nowheel";
|
|
51
|
+
return (_jsx(NodeHandleItem, { kind: "input", id: h.id, type: "target", position: position, y: y, isConnectable: false, className: `${cls} wb-nodrag wb-nowheel`, labelClassName: labelClassName, renderLabel: renderLabel }, key));
|
|
52
|
+
}), (data.outputHandles ?? []).map((h) => {
|
|
53
|
+
const placed = byId.get(`source:${h.id}`) ?? byId.get(h.id);
|
|
54
|
+
const position = placed?.position ?? Position.Right;
|
|
55
|
+
const y = placed?.y;
|
|
56
|
+
const cls = getClassName?.({ kind: "output", id: h.id, type: "source" }) ?? "";
|
|
57
|
+
return (_jsx(NodeHandleItem, { kind: "output", id: h.id, type: "source", position: position, y: y, isConnectable: isConnectable, className: cls, labelClassName: labelClassName, renderLabel: renderLabel }, h.id));
|
|
58
|
+
}), missingOutputs.map((h) => {
|
|
59
|
+
const key = `missing-output:${h.id}`;
|
|
60
|
+
const position = h.position ?? Position.Right;
|
|
61
|
+
const y = h.y;
|
|
62
|
+
const cls = "!w-3 !h-3 !bg-amber-400 !border-amber-500 !rounded-none wb-nodrag wb-nowheel";
|
|
63
|
+
return (_jsx(NodeHandleItem, { kind: "output", id: h.id, type: "source", position: position, y: y, isConnectable: false, className: cls, labelClassName: labelClassName, renderLabel: renderLabel }, key));
|
|
64
|
+
})] }));
|
|
65
|
+
}
|
|
66
|
+
export default NodeHandles;
|
|
67
|
+
//# sourceMappingURL=NodeHandles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHandles.js","sourceRoot":"","sources":["../../../src/misc/NodeHandles.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
type SelectionActiveSyncProps = {
|
|
3
|
+
selection: {
|
|
4
|
+
nodes: string[];
|
|
5
|
+
edges: string[];
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
declare const SelectionActiveSync: React.FC<SelectionActiveSyncProps>;
|
|
9
|
+
export default SelectionActiveSync;
|
|
10
|
+
//# sourceMappingURL=SelectionActiveSync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionActiveSync.d.ts","sourceRoot":"","sources":["../../../src/misc/SelectionActiveSync.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,KAAK,wBAAwB,GAAG;IAC9B,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACjD,CAAC;AAMF,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgB3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useStore, useStoreApi } from "@xyflow/react";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
const selectionActiveSelector = (state) => state.nodesSelectionActive;
|
|
4
|
+
const selectionDragActiveSelector = (state) => state.userSelectionActive;
|
|
5
|
+
const SelectionActiveSync = ({ selection }) => {
|
|
6
|
+
const store = useStoreApi();
|
|
7
|
+
const currentActive = useStore(selectionActiveSelector);
|
|
8
|
+
const draggingSelection = useStore(selectionDragActiveSelector);
|
|
9
|
+
const active = selection.nodes.length > 1;
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (draggingSelection)
|
|
12
|
+
return;
|
|
13
|
+
if (currentActive !== active) {
|
|
14
|
+
console.log("[SelectionActiveSync] setting active selection to", active);
|
|
15
|
+
store.setState({ nodesSelectionActive: active });
|
|
16
|
+
}
|
|
17
|
+
}, [active, currentActive, draggingSelection, store]);
|
|
18
|
+
return null;
|
|
19
|
+
};
|
|
20
|
+
export default SelectionActiveSync;
|
|
21
|
+
//# sourceMappingURL=SelectionActiveSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionActiveSync.js","sourceRoot":"","sources":["../../../src/misc/SelectionActiveSync.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtE,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMzC,MAAM,uBAAuB,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC;AAEtF,MAAM,2BAA2B,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC;AAEzF,MAAM,mBAAmB,GAAuC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAChF,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,aAAa,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB;YAAE,OAAO;QAE9B,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,mDAAmD,EAAE,MAAM,CAAC,CAAC;YACzE,KAAK,CAAC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;IAEtD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ReactFlowInstance, Node, Edge, type ReactFlowProps } from "@xyflow/react";
|
|
3
|
+
import type { Viewport } from "@bian-womp/spark-protocol";
|
|
4
|
+
export type WorkbenchCanvasHandle = {
|
|
5
|
+
fitView: () => void;
|
|
6
|
+
setViewport: (viewport: Viewport) => void;
|
|
7
|
+
};
|
|
8
|
+
export interface WorkbenchCanvasProps {
|
|
9
|
+
showValues?: boolean;
|
|
10
|
+
toString: (typeId?: string, value?: unknown) => string;
|
|
11
|
+
toElement: (typeId?: string, value?: unknown) => JSX.Element;
|
|
12
|
+
getDefaultNodeSize?: (typeId: string) => {
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
} | undefined;
|
|
16
|
+
reactFlowProps?: Partial<Omit<ReactFlowProps<Node, Edge>, "nodes" | "edges" | "nodeTypes" | "edgeTypes" | "connectionLineComponent" | "onInit" | "onConnect" | "onEdgesChange" | "onEdgesDelete" | "onNodesDelete" | "onNodesChange" | "onMoveEnd">> & {
|
|
17
|
+
onInit?: (instance: ReactFlowInstance<Node, Edge>) => void;
|
|
18
|
+
};
|
|
19
|
+
children?: React.ReactNode;
|
|
20
|
+
}
|
|
21
|
+
export declare const WorkbenchCanvasComponent: React.ForwardRefExoticComponent<WorkbenchCanvasProps & React.RefAttributes<WorkbenchCanvasHandle>>;
|
|
22
|
+
export declare const WorkbenchCanvas: React.ForwardRefExoticComponent<WorkbenchCanvasProps & React.RefAttributes<WorkbenchCanvasHandle>>;
|
|
23
|
+
//# sourceMappingURL=WorkbenchCanvas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkbenchCanvas.d.ts","sourceRoot":"","sources":["../../../src/misc/WorkbenchCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiF,MAAM,OAAO,CAAC;AACtG,OAAO,EAOL,iBAAiB,EACjB,IAAI,EACJ,IAAI,EACJ,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAoB1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACvD,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7D,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACvF,cAAc,CAAC,EAAE,OAAO,CACtB,IAAI,CACF,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EACxB,OAAO,GACP,OAAO,GACP,WAAW,GACX,WAAW,GACX,yBAAyB,GACzB,QAAQ,GACR,WAAW,GACX,eAAe,GACf,eAAe,GACf,eAAe,GACf,eAAe,GACf,WAAW,CACd,CACF,GAAG;QACF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;KAC5D,CAAC;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,wBAAwB,oGA63BnC,CAAC;AAEH,eAAO,MAAM,eAAe,oGAA2B,CAAC"}
|