@pixerate/editor-svelte 0.47.0 → 0.49.0
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/dist/canvas/DiagramPresenceLayer.svelte +34 -0
- package/dist/canvas/DiagramPresenceLayer.svelte.d.ts +15 -0
- package/dist/canvas/DiagramPresenceLayer.svelte.d.ts.map +1 -0
- package/dist/canvas/MermaidDiagramGroup.svelte +29 -0
- package/dist/canvas/MermaidDiagramGroup.svelte.d.ts +21 -0
- package/dist/canvas/MermaidDiagramGroup.svelte.d.ts.map +1 -0
- package/dist/canvas/MermaidDiagramNode.svelte +63 -0
- package/dist/canvas/MermaidDiagramNode.svelte.d.ts +26 -0
- package/dist/canvas/MermaidDiagramNode.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasAnimation.svelte.d.ts +3 -3
- package/dist/canvas/createCanvasAnimation.svelte.d.ts.map +1 -1
- package/dist/canvas/createCanvasArrange.svelte.d.ts.map +1 -1
- package/dist/canvas/createCanvasAutoLayout.svelte.d.ts.map +1 -1
- package/dist/canvas/createCanvasComponents.svelte.d.ts.map +1 -1
- package/dist/canvas/createDiagramDirector.svelte.d.ts +24 -0
- package/dist/canvas/createDiagramDirector.svelte.d.ts.map +1 -0
- package/dist/canvas/createDiagramDirector.svelte.js +22 -0
- package/dist/canvas/createMermaidDiagram.svelte.d.ts +73 -0
- package/dist/canvas/createMermaidDiagram.svelte.d.ts.map +1 -0
- package/dist/canvas/createMermaidDiagram.svelte.js +138 -0
- package/dist/canvas/index.d.ts +5 -0
- package/dist/canvas/index.d.ts.map +1 -1
- package/dist/canvas/index.js +7 -0
- package/dist/chart/ChartInspector.svelte +107 -1
- package/dist/chart/ChartInspector.svelte.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/toolBridge.svelte.d.ts +18 -0
- package/dist/toolBridge.svelte.d.ts.map +1 -0
- package/dist/toolBridge.svelte.js +44 -0
- package/package.json +2 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { untrack } from 'svelte';
|
|
3
|
+
import type { PresenceStore, PresenceState } from '@pixerate/editor/diagram';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
presence: PresenceStore;
|
|
7
|
+
/** The canvas viewport (Svelte Flow's `useViewport()`), to place cursors given in canvas coordinates. */
|
|
8
|
+
viewport: { x: number; y: number; zoom: number };
|
|
9
|
+
class?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let { presence, viewport, class: className = '' }: Props = $props();
|
|
13
|
+
let view: PresenceState = $state.raw(untrack(() => presence.getState()));
|
|
14
|
+
$effect(() => {
|
|
15
|
+
view = presence.getState();
|
|
16
|
+
return presence.subscribe((next) => {
|
|
17
|
+
view = next;
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<!-- Agent cursors and their notes over a canvas, from a `PresenceStore` (see `DiagramDirector`). -->
|
|
23
|
+
{#if view.actors.length}
|
|
24
|
+
<div class="pixerate-diagram-presence {className}" aria-hidden="true" style="position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 50;">
|
|
25
|
+
{#each view.actors as a (a.id)}
|
|
26
|
+
<div data-actor={a.id} style="position: absolute; left: 0; top: 0; transform: translate({a.x * viewport.zoom + viewport.x}px, {a.y * viewport.zoom + viewport.y}px);">
|
|
27
|
+
<svg width="18" height="20" viewBox="0 0 12 18" style="display: block; transform-origin: 0 0; {a.pressed ? 'transform: scale(0.85);' : ''}">
|
|
28
|
+
<path d="M0,0 L0,14 L4,10.5 L7,17 L9.5,16 L6.5,9.5 L11.5,9.5 Z" style="fill: {a.color}; stroke: #ffffff; stroke-width: 1;" />
|
|
29
|
+
</svg>
|
|
30
|
+
<span style="position: absolute; left: 14px; top: 16px; white-space: nowrap; border-radius: 4px; padding: 1px 6px; font-size: 11px; font-weight: 600; color: #ffffff; background: {a.color};">{a.message ?? a.name}</span>
|
|
31
|
+
</div>
|
|
32
|
+
{/each}
|
|
33
|
+
</div>
|
|
34
|
+
{/if}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PresenceStore } from '@pixerate/editor/diagram';
|
|
2
|
+
interface Props {
|
|
3
|
+
presence: PresenceStore;
|
|
4
|
+
/** The canvas viewport (Svelte Flow's `useViewport()`), to place cursors given in canvas coordinates. */
|
|
5
|
+
viewport: {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
zoom: number;
|
|
9
|
+
};
|
|
10
|
+
class?: string;
|
|
11
|
+
}
|
|
12
|
+
declare const DiagramPresenceLayer: import("svelte").Component<Props, {}, "">;
|
|
13
|
+
type DiagramPresenceLayer = ReturnType<typeof DiagramPresenceLayer>;
|
|
14
|
+
export default DiagramPresenceLayer;
|
|
15
|
+
//# sourceMappingURL=DiagramPresenceLayer.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DiagramPresenceLayer.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/DiagramPresenceLayer.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,0BAA0B,CAAC;AAG5E,UAAU,KAAK;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,yGAAyG;IACzG,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAgCF,QAAA,MAAM,oBAAoB,2CAAwC,CAAC;AACnE,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
3
|
+
import { mermaidLabelLines } from '@pixerate/editor/canvas';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
id?: string;
|
|
7
|
+
/** Group data as `mermaidToCanvas` produces it (`data.group`, `data.resolvedStyles`). */
|
|
8
|
+
data: { group?: { id: string; label: string }; resolvedStyles?: Record<string, string>; [key: string]: any };
|
|
9
|
+
selected?: boolean;
|
|
10
|
+
class?: string;
|
|
11
|
+
children?: Snippet;
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let { data, selected = false, class: className = '', children }: Props = $props();
|
|
16
|
+
const styles = $derived(data?.resolvedStyles ?? {});
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<!-- Headless Mermaid group (subgraph, composite state, namespace): a titled frame. Register as `mermaid-group`. -->
|
|
20
|
+
{#if data?.group}
|
|
21
|
+
<div
|
|
22
|
+
class="pixerate-diagram-group {className}"
|
|
23
|
+
data-selected={selected ? 'true' : undefined}
|
|
24
|
+
style="width: 100%; height: 100%; box-sizing: border-box; border-radius: 8px; border: 1px {selected ? 'solid' : 'dashed'} {selected ? 'var(--primary, #2563eb)' : (styles.stroke ?? 'var(--border, #cbd5e1)')}; background: {styles.fill ?? 'var(--muted, rgba(148, 163, 184, 0.08))'}; color: {styles.color ?? 'var(--muted-foreground, #475569)'};"
|
|
25
|
+
>
|
|
26
|
+
<div style="padding: 6px 10px; font-size: 12px; font-weight: 600;">{mermaidLabelLines(data.group.label).join(' ')}</div>
|
|
27
|
+
{@render children?.()}
|
|
28
|
+
</div>
|
|
29
|
+
{/if}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
interface Props {
|
|
3
|
+
id?: string;
|
|
4
|
+
/** Group data as `mermaidToCanvas` produces it (`data.group`, `data.resolvedStyles`). */
|
|
5
|
+
data: {
|
|
6
|
+
group?: {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
};
|
|
10
|
+
resolvedStyles?: Record<string, string>;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
};
|
|
13
|
+
selected?: boolean;
|
|
14
|
+
class?: string;
|
|
15
|
+
children?: Snippet;
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}
|
|
18
|
+
declare const MermaidDiagramGroup: import("svelte").Component<Props, {}, "">;
|
|
19
|
+
type MermaidDiagramGroup = ReturnType<typeof MermaidDiagramGroup>;
|
|
20
|
+
export default MermaidDiagramGroup;
|
|
21
|
+
//# sourceMappingURL=MermaidDiagramGroup.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MermaidDiagramGroup.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/MermaidDiagramGroup.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIrC,UAAU,KAAK;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yFAAyF;IACzF,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC7G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB;AAoBF,QAAA,MAAM,mBAAmB,2CAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
3
|
+
import { MERMAID_SHAPE_PAINT, mermaidLabelLines, mermaidNodeMembers, mermaidNodePaint, mermaidShapePaths } from '@pixerate/editor/canvas';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
id?: string;
|
|
7
|
+
/** Node data as `mermaidToCanvas` produces it (`data.node`, `data.resolvedStyles`). */
|
|
8
|
+
data: { node?: { id: string; label: string; shape: string; data?: Record<string, unknown> }; resolvedStyles?: Record<string, string>; [key: string]: any };
|
|
9
|
+
width?: number;
|
|
10
|
+
height?: number;
|
|
11
|
+
selected?: boolean;
|
|
12
|
+
class?: string;
|
|
13
|
+
/** Rendered over the node, e.g. SvelteFlow `<Handle>`s. */
|
|
14
|
+
children?: Snippet;
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
let { data, width = 160, height = 56, selected = false, class: className = '', children }: Props = $props();
|
|
19
|
+
|
|
20
|
+
const node = $derived(data?.node);
|
|
21
|
+
const paths = $derived(node ? mermaidShapePaths(node.shape, width, height) : []);
|
|
22
|
+
const members = $derived(node ? mermaidNodeMembers(node.data) : []);
|
|
23
|
+
const paint = $derived(
|
|
24
|
+
Object.entries(mermaidNodePaint(data?.resolvedStyles, selected))
|
|
25
|
+
.map(([k, v]) => `${k}: ${v}`)
|
|
26
|
+
.join('; ')
|
|
27
|
+
);
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<!--
|
|
31
|
+
Headless Mermaid node: draws the node's shape (flowchart, state, class, ER) as SVG with
|
|
32
|
+
its label, painted from its Mermaid styles. Register it as the `mermaid-node` SvelteFlow
|
|
33
|
+
node type and pass `<Handle>`s as children.
|
|
34
|
+
-->
|
|
35
|
+
{#if node}
|
|
36
|
+
<div
|
|
37
|
+
class="pixerate-diagram-node {className}"
|
|
38
|
+
data-shape={node.shape}
|
|
39
|
+
data-selected={selected ? 'true' : undefined}
|
|
40
|
+
style="position: relative; width: 100%; height: 100%; {paint}"
|
|
41
|
+
>
|
|
42
|
+
<svg viewBox="0 0 {width} {height}" preserveAspectRatio="none" width="100%" height="100%" style="position: absolute; inset: 0; overflow: visible;" aria-hidden="true">
|
|
43
|
+
{#each paths as path}
|
|
44
|
+
<path d={path.d} style="fill: {MERMAID_SHAPE_PAINT[path.paint].fill}; stroke: {MERMAID_SHAPE_PAINT[path.paint].stroke}; vector-effect: non-scaling-stroke;" />
|
|
45
|
+
{/each}
|
|
46
|
+
</svg>
|
|
47
|
+
<div
|
|
48
|
+
style="position: relative; display: flex; flex-direction: column; align-items: center; justify-content: {members.length ? 'flex-start' : 'center'}; height: 100%; padding: 6px 10px; box-sizing: border-box; font-size: 13px; line-height: 1.3; text-align: center; pointer-events: none;"
|
|
49
|
+
>
|
|
50
|
+
{#each mermaidLabelLines(node.label) as line}
|
|
51
|
+
<span style={members.length ? 'font-weight: 600;' : undefined}>{line}</span>
|
|
52
|
+
{/each}
|
|
53
|
+
{#if members.length}
|
|
54
|
+
<div style="align-self: stretch; margin-top: 4px; padding-top: 4px; border-top: 1px solid var(--pixerate-diagram-node-border); text-align: left; font-size: 12px;">
|
|
55
|
+
{#each members as member}
|
|
56
|
+
<div>{member}</div>
|
|
57
|
+
{/each}
|
|
58
|
+
</div>
|
|
59
|
+
{/if}
|
|
60
|
+
</div>
|
|
61
|
+
{@render children?.()}
|
|
62
|
+
</div>
|
|
63
|
+
{/if}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
interface Props {
|
|
3
|
+
id?: string;
|
|
4
|
+
/** Node data as `mermaidToCanvas` produces it (`data.node`, `data.resolvedStyles`). */
|
|
5
|
+
data: {
|
|
6
|
+
node?: {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
shape: string;
|
|
10
|
+
data?: Record<string, unknown>;
|
|
11
|
+
};
|
|
12
|
+
resolvedStyles?: Record<string, string>;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
width?: number;
|
|
16
|
+
height?: number;
|
|
17
|
+
selected?: boolean;
|
|
18
|
+
class?: string;
|
|
19
|
+
/** Rendered over the node, e.g. SvelteFlow `<Handle>`s. */
|
|
20
|
+
children?: Snippet;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
23
|
+
declare const MermaidDiagramNode: import("svelte").Component<Props, {}, "">;
|
|
24
|
+
type MermaidDiagramNode = ReturnType<typeof MermaidDiagramNode>;
|
|
25
|
+
export default MermaidDiagramNode;
|
|
26
|
+
//# sourceMappingURL=MermaidDiagramNode.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MermaidDiagramNode.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/MermaidDiagramNode.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIrC,UAAU,KAAK;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uFAAuF;IACvF,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC3J,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB;AA4CF,QAAA,MAAM,kBAAkB,2CAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
|
|
@@ -40,7 +40,7 @@ export declare function createCanvasAnimation<TNode extends CanvasNode = CanvasN
|
|
|
40
40
|
clipboard: import("@pixerate/editor/canvas").AnimationKeyframeClipboard | null;
|
|
41
41
|
displayNodes: TNode[];
|
|
42
42
|
destroy(): void;
|
|
43
|
-
player: import("@pixerate/editor/
|
|
43
|
+
player: import("@pixerate/editor/canvas").AnimationPlayer;
|
|
44
44
|
getState: () => CanvasAnimationState;
|
|
45
45
|
subscribe(listener: (state: CanvasAnimationState) => void): () => void;
|
|
46
46
|
refresh(): void;
|
|
@@ -62,10 +62,10 @@ export declare function createCanvasAnimation<TNode extends CanvasNode = CanvasN
|
|
|
62
62
|
display: (nodes?: readonly any[] | undefined) => any[];
|
|
63
63
|
applyDisplayChanges(next: any[]): import("@pixerate/editor/canvas").KeyframeRef[];
|
|
64
64
|
addKeyframe(ids?: Iterable<string>, keys?: readonly string[], time?: number): import("@pixerate/editor/canvas").KeyframeRef[];
|
|
65
|
-
setKeyframe(nodeId: string, property: string, value: import("@pixerate/editor/
|
|
65
|
+
setKeyframe(nodeId: string, property: string, value: import("@pixerate/editor/canvas").AnimationValue, time?: number, easing?: import("@pixerate/editor/canvas").AnimationEasing | string): void;
|
|
66
66
|
updateKeyframe(ref: import("@pixerate/editor/canvas").KeyframeRef, patch: import("@pixerate/editor/canvas").KeyframePatch): void;
|
|
67
67
|
deleteKeyframes(refs?: readonly import("@pixerate/editor/canvas").KeyframeRef[]): boolean;
|
|
68
|
-
setEasing(easing: import("@pixerate/editor/
|
|
68
|
+
setEasing(easing: import("@pixerate/editor/canvas").AnimationEasing | string | null, refs?: readonly import("@pixerate/editor/canvas").KeyframeRef[]): boolean;
|
|
69
69
|
setTrackEnabled(nodeId: string, property: string, enabled: boolean): void;
|
|
70
70
|
removeTrack(nodeId: string, property: string): void;
|
|
71
71
|
setMotionPath(nodeId: string, motionPath: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCanvasAnimation.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createCanvasAnimation.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,KAAK,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,4BAA4B,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU;IAClF,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACnC,mDAAmD;IACnD,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAChC,+FAA+F;IAC/F,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,EAAE,4BAA4B,CAAC,KAAK,CAAC;;;;;;;;;;kBA2DnG,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"createCanvasAnimation.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createCanvasAnimation.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,KAAK,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,4BAA4B,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU;IAClF,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACnC,mDAAmD;IACnD,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAChC,+FAA+F;IAC/F,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,EAAE,4BAA4B,CAAC,KAAK,CAAC;;;;;;;;;;kBA2DnG,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAas00G,CAAC;;;;;;;;;;;YAAg/C,CAAC;mBAA8B,CAAC;;;;;;;YAAmjB,CAAC;gBAA0B,CAAC;;;EAHl84G;AAED,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCanvasArrange.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createCanvasArrange.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,SAAS,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,KAAK,WAAW,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAC;AAEvD,MAAM,WAAW,0BAA0B,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CAChF,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,gBAAgB,CAAC;IACrE,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EACxE,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC;;IAkBzC;;;;;OAKG;wBACiB,MAAM;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"createCanvasArrange.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createCanvasArrange.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,SAAS,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,KAAK,WAAW,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAC;AAEvD,MAAM,WAAW,0BAA0B,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CAChF,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,gBAAgB,CAAC;IACrE,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EACxE,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC;;IAkBzC;;;;;OAKG;wBACiB,MAAM;;;;;;;;;;sBAoD8yvD,CAAC;sBAAiE,CAAC;sBAAiE,CAAC;oBAA+D,CAAC;cAAyD,CAAC;gBAAiD,CAAC;;;;;;;;;0BAA8tC,CAAC;;yBAA6kB,CAAC;;0BAAgf,CAAC;;;;;;;;;;EAxCx50D;AAED,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjH,MAAM,WAAW,6BAA6B;IAC7C,OAAO,EAAE;QAAE,SAAS,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAA;KAAE,CAAC;IACjE,uEAAuE;IACvE,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,OAAO,CAAA;KAAE,CAAC;IAC1D,aAAa,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAC7C;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,6BAA6B,GAAG,MAAM,IAAI,CAqB/F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCanvasAutoLayout.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createCanvasAutoLayout.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,iCAAiC,EACtC,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,KAAK,WAAW,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAC;AAE1D,MAAM,WAAW,6BAA6B,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CACnF,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,gBAAgB,CAAC;IACrE,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,EAAE,6BAA6B,CAAC,KAAK,CAAC;;;IA+BzH,2FAA2F;kBAC7E,OAAO,SAAS,kBAAkB,WAAW,OAAO,EAAE,GAAG,OAAO,EAAE;IAKhF,gFAAgF;0BAC1D,QAAQ,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIjE,4EAA4E;iBAC/D,MAAM;IAInB;;;OAGG;wBACiB,MAAM;;;;;;;;
|
|
1
|
+
{"version":3,"file":"createCanvasAutoLayout.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createCanvasAutoLayout.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,iCAAiC,EACtC,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,KAAK,WAAW,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAC;AAE1D,MAAM,WAAW,6BAA6B,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CACnF,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,gBAAgB,CAAC;IACrE,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,EAAE,6BAA6B,CAAC,KAAK,CAAC;;;IA+BzH,2FAA2F;kBAC7E,OAAO,SAAS,kBAAkB,WAAW,OAAO,EAAE,GAAG,OAAO,EAAE;IAKhF,gFAAgF;0BAC1D,QAAQ,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIjE,4EAA4E;iBAC/D,MAAM;IAInB;;;OAGG;wBACiB,MAAM;;;;;;;;aAiBg4tE,CAAC;;;;aAAiX,CAAC;cAAwB,CAAC;;;;;;;;;;gBAAqrD,CAAC;;;;EAH79xE;AAED,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCanvasComponents.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createCanvasComponents.svelte.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,iCAAiC,EACtC,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,KAAK,WAAW,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAC;AAE1D,MAAM,WAAW,6BAA6B,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CACnF,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IAC/D,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACnC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,EAAE,6BAA6B,CAAC,KAAK,CAAC;IAazH,gCAAgC;;;;;
|
|
1
|
+
{"version":3,"file":"createCanvasComponents.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createCanvasComponents.svelte.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,iCAAiC,EACtC,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,KAAK,WAAW,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAC;AAE1D,MAAM,WAAW,6BAA6B,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CACnF,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IAC/D,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACnC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,EAAE,6BAA6B,CAAC,KAAK,CAAC;IAazH,gCAAgC;;;;;4BAS47qI,CAAC;;UAAmM,CAAC;YAAsB,CAAC;eAAyB,CAAC;;8BAA8E,CAAC;;;;;;;;;;6BAA4nC,CAAC;;;;;;;;eAA6yB,CAAC;;;;;;;oBAAi7B,CAAC;;;;;;;;;;;;;;gBAA07C,CAAC;;EAH1j0I;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DiagramDirector, PresenceStore, type DiagramController, type DiagramPlacement, type PresenceClock, type PresenceState } from '@pixerate/editor/diagram';
|
|
2
|
+
export interface CreateDiagramDirectorOptions {
|
|
3
|
+
/** Where nodes are drawn now, e.g. `() => diagram.layout` from `createMermaidDiagram`. */
|
|
4
|
+
placement: () => DiagramPlacement;
|
|
5
|
+
/** 1 = natural speed; 2 = twice as fast. */
|
|
6
|
+
speed?: number;
|
|
7
|
+
clock?: PresenceClock;
|
|
8
|
+
/** Hide a cursor this long after its last call (ms, default 1500). */
|
|
9
|
+
linger?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface SvelteDiagramDirector {
|
|
12
|
+
readonly presence: PresenceStore;
|
|
13
|
+
readonly director: DiagramDirector;
|
|
14
|
+
/** The cursors (reactive). */
|
|
15
|
+
readonly state: PresenceState;
|
|
16
|
+
destroy(): void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Svelte 5 rune: a `PresenceStore` and `DiagramDirector` for a diagram. Pass `director` to
|
|
20
|
+
* `createDiagramToolProvider` so agent edits are acted out by a cursor, and `presence` to
|
|
21
|
+
* `<DiagramPresenceLayer>`. Parity with React's `useDiagramDirector`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createDiagramDirector(controller: DiagramController, options: CreateDiagramDirectorOptions): SvelteDiagramDirector;
|
|
24
|
+
//# sourceMappingURL=createDiagramDirector.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDiagramDirector.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createDiagramDirector.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEjK,MAAM,WAAW,4BAA4B;IAC5C,0FAA0F;IAC1F,SAAS,EAAE,MAAM,gBAAgB,CAAC;IAClC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,OAAO,IAAI,IAAI,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,4BAA4B,GAAG,qBAAqB,CAejI"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DiagramDirector, PresenceStore } from '@pixerate/editor/diagram';
|
|
2
|
+
/**
|
|
3
|
+
* Svelte 5 rune: a `PresenceStore` and `DiagramDirector` for a diagram. Pass `director` to
|
|
4
|
+
* `createDiagramToolProvider` so agent edits are acted out by a cursor, and `presence` to
|
|
5
|
+
* `<DiagramPresenceLayer>`. Parity with React's `useDiagramDirector`.
|
|
6
|
+
*/
|
|
7
|
+
export function createDiagramDirector(controller, options) {
|
|
8
|
+
const presence = new PresenceStore();
|
|
9
|
+
const director = new DiagramDirector(controller, presence, { placement: options.placement, speed: options.speed, clock: options.clock, linger: options.linger });
|
|
10
|
+
let state = $state.raw(presence.getState());
|
|
11
|
+
const destroy = presence.subscribe((next) => {
|
|
12
|
+
state = next;
|
|
13
|
+
});
|
|
14
|
+
return {
|
|
15
|
+
presence,
|
|
16
|
+
director,
|
|
17
|
+
get state() {
|
|
18
|
+
return state;
|
|
19
|
+
},
|
|
20
|
+
destroy
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { DiagramController, type DiagramActionResult, type DiagramControllerOptions, type DiagramState, type EditOp, type MermaidDocument } from '@pixerate/editor/diagram';
|
|
2
|
+
import { type DiagramLayout, type DiagramLayoutOptions, type MermaidFlowEdge, type MermaidFlowNode } from '@pixerate/editor/canvas';
|
|
3
|
+
export interface CreateMermaidDiagramOptions extends DiagramControllerOptions {
|
|
4
|
+
/** Layout spacing and node measuring for new nodes (stored positions always win). */
|
|
5
|
+
layoutOptions?: DiagramLayoutOptions;
|
|
6
|
+
}
|
|
7
|
+
type Placed = {
|
|
8
|
+
id: string;
|
|
9
|
+
position: {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
};
|
|
13
|
+
parentId?: string;
|
|
14
|
+
};
|
|
15
|
+
export interface SvelteMermaidDiagram {
|
|
16
|
+
readonly controller: DiagramController;
|
|
17
|
+
/** The controller's state (reactive). */
|
|
18
|
+
readonly state: DiagramState;
|
|
19
|
+
readonly document: MermaidDocument;
|
|
20
|
+
/** The Mermaid text (with the `%% @pixerate` layout comment). */
|
|
21
|
+
readonly source: string;
|
|
22
|
+
/** Canvas nodes (groups first, children relative to their group) and edges (reactive). */
|
|
23
|
+
readonly nodes: MermaidFlowNode[];
|
|
24
|
+
readonly edges: MermaidFlowEdge[];
|
|
25
|
+
readonly layout: DiagramLayout;
|
|
26
|
+
apply(ops: EditOp | EditOp[], label?: string): DiagramActionResult;
|
|
27
|
+
/** Replaces the source; `clearHistory` when opening a different diagram. */
|
|
28
|
+
load(source: string, options?: {
|
|
29
|
+
clearHistory?: boolean;
|
|
30
|
+
}): DiagramActionResult;
|
|
31
|
+
/** Stores where dragged nodes ended up (pass every canvas node as `all` so groups carry their contents). */
|
|
32
|
+
moveNodes(moved: readonly Placed[], all?: readonly Placed[]): DiagramActionResult | null;
|
|
33
|
+
connect(source: string, target: string, label?: string): DiagramActionResult;
|
|
34
|
+
/** Removes nodes / groups (with their edges) and edges by id, as one undo step. */
|
|
35
|
+
remove(ids: readonly string[]): DiagramActionResult;
|
|
36
|
+
rename(id: string, label: string): DiagramActionResult;
|
|
37
|
+
select(ids: readonly string[]): void;
|
|
38
|
+
undo(): void;
|
|
39
|
+
redo(): void;
|
|
40
|
+
/** Stops listening to the controller. */
|
|
41
|
+
destroy(): void;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Svelte 5 rune: a Mermaid diagram on a Svelte Flow canvas. Subscribes to a
|
|
45
|
+
* `DiagramController` (or creates one from options), lays it out and exposes canvas
|
|
46
|
+
* nodes and edges reactively with bound edits. Parity with React's `useMermaidDiagram`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function createMermaidDiagram(controllerOrOptions?: DiagramController | CreateMermaidDiagramOptions): SvelteMermaidDiagram;
|
|
49
|
+
export interface CreateMermaidStreamOptions extends DiagramLayoutOptions {
|
|
50
|
+
/** Glide duration between layouts in ms (default 300; 0 jumps). */
|
|
51
|
+
duration?: number;
|
|
52
|
+
}
|
|
53
|
+
export interface SvelteMermaidStream {
|
|
54
|
+
readonly document: MermaidDocument | null;
|
|
55
|
+
readonly nodes: MermaidFlowNode[];
|
|
56
|
+
readonly edges: MermaidFlowEdge[];
|
|
57
|
+
/** The layout being shown (mid-glide while `settled` is false). */
|
|
58
|
+
readonly layout: DiagramLayout | null;
|
|
59
|
+
readonly settled: boolean;
|
|
60
|
+
/** Feeds the source so far; `complete` once nothing more will arrive. */
|
|
61
|
+
update(source: string, complete?: boolean): void;
|
|
62
|
+
/** Starts over for a new source. */
|
|
63
|
+
reset(): void;
|
|
64
|
+
destroy(): void;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Svelte 5 rune: draws Mermaid that is still being written (e.g. a model's reply). Nodes
|
|
68
|
+
* appear once an edge places them and glide to their new places as the layout grows.
|
|
69
|
+
* Parity with React's `useMermaidStream`.
|
|
70
|
+
*/
|
|
71
|
+
export declare function createMermaidStream(options?: CreateMermaidStreamOptions): SvelteMermaidStream;
|
|
72
|
+
export {};
|
|
73
|
+
//# sourceMappingURL=createMermaidDiagram.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMermaidDiagram.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createMermaidDiagram.svelte.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { DiagramController } from '@pixerate/editor/diagram';
|
|
2
|
+
import { DiagramStream, blendDiagramLayout, easeDiagramTween, mermaidMovesFromCanvas, mermaidToCanvas } from '@pixerate/editor/canvas';
|
|
3
|
+
/**
|
|
4
|
+
* Svelte 5 rune: a Mermaid diagram on a Svelte Flow canvas. Subscribes to a
|
|
5
|
+
* `DiagramController` (or creates one from options), lays it out and exposes canvas
|
|
6
|
+
* nodes and edges reactively with bound edits. Parity with React's `useMermaidDiagram`.
|
|
7
|
+
*/
|
|
8
|
+
export function createMermaidDiagram(controllerOrOptions = {}) {
|
|
9
|
+
const controller = controllerOrOptions instanceof DiagramController ? controllerOrOptions : new DiagramController(controllerOrOptions);
|
|
10
|
+
const layoutOptions = controllerOrOptions instanceof DiagramController ? undefined : controllerOrOptions.layoutOptions;
|
|
11
|
+
let state = $state.raw(controller.getState());
|
|
12
|
+
const canvas = $derived(mermaidToCanvas(state.document, { ...layoutOptions, editable: state.editable }));
|
|
13
|
+
const unsubscribe = controller.subscribe((next) => {
|
|
14
|
+
state = next;
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
controller,
|
|
18
|
+
get state() {
|
|
19
|
+
return state;
|
|
20
|
+
},
|
|
21
|
+
get document() {
|
|
22
|
+
return state.document;
|
|
23
|
+
},
|
|
24
|
+
get source() {
|
|
25
|
+
return state.source;
|
|
26
|
+
},
|
|
27
|
+
get nodes() {
|
|
28
|
+
return canvas.nodes;
|
|
29
|
+
},
|
|
30
|
+
get edges() {
|
|
31
|
+
return canvas.edges;
|
|
32
|
+
},
|
|
33
|
+
get layout() {
|
|
34
|
+
return canvas.layout;
|
|
35
|
+
},
|
|
36
|
+
apply: (ops, label) => controller.apply(ops, label),
|
|
37
|
+
load: (source, options) => controller.load(source, options),
|
|
38
|
+
moveNodes: (moved, all = moved) => {
|
|
39
|
+
const op = mermaidMovesFromCanvas(canvas.layout, moved, all, { stored: controller.getDocument().meta.layout ?? {} });
|
|
40
|
+
return op ? controller.apply(op, 'Move') : null;
|
|
41
|
+
},
|
|
42
|
+
connect: (source, target, label) => controller.apply({ type: 'addEdge', edge: { source, target, ...(label ? { label } : {}) } }, 'Connect'),
|
|
43
|
+
remove: (ids) => {
|
|
44
|
+
const edgeIds = new Set(controller.getDocument().graph.edges.map((e) => e.id));
|
|
45
|
+
const edges = ids.filter((id) => edgeIds.has(id));
|
|
46
|
+
const nodes = ids.filter((id) => !edgeIds.has(id));
|
|
47
|
+
const ops = [];
|
|
48
|
+
if (edges.length)
|
|
49
|
+
ops.push({ type: 'removeEdges', ids: edges });
|
|
50
|
+
if (nodes.length)
|
|
51
|
+
ops.push({ type: 'removeNodes', ids: nodes });
|
|
52
|
+
return controller.apply(ops, 'Delete');
|
|
53
|
+
},
|
|
54
|
+
rename: (id, label) => controller.apply(controller.getDocument().graph.groups.some((g) => g.id === id) ? { type: 'renameGroup', id, label } : { type: 'renameNode', id, label }, 'Rename'),
|
|
55
|
+
select: (ids) => controller.select(ids),
|
|
56
|
+
undo: () => void controller.undo(),
|
|
57
|
+
redo: () => void controller.redo(),
|
|
58
|
+
destroy: unsubscribe
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Svelte 5 rune: draws Mermaid that is still being written (e.g. a model's reply). Nodes
|
|
63
|
+
* appear once an edge places them and glide to their new places as the layout grows.
|
|
64
|
+
* Parity with React's `useMermaidStream`.
|
|
65
|
+
*/
|
|
66
|
+
export function createMermaidStream(options = {}) {
|
|
67
|
+
const { duration = 300, ...layoutOptions } = options;
|
|
68
|
+
const stream = new DiagramStream(layoutOptions);
|
|
69
|
+
let doc = $state.raw(null);
|
|
70
|
+
let shown = $state.raw(null);
|
|
71
|
+
let settled = $state(true);
|
|
72
|
+
let frame = 0;
|
|
73
|
+
const stop = () => {
|
|
74
|
+
if (frame && typeof cancelAnimationFrame === 'function')
|
|
75
|
+
cancelAnimationFrame(frame);
|
|
76
|
+
frame = 0;
|
|
77
|
+
};
|
|
78
|
+
const canvas = $derived.by(() => {
|
|
79
|
+
if (!doc || !shown)
|
|
80
|
+
return { nodes: [], edges: [] };
|
|
81
|
+
const placed = new Set(Object.keys(shown.positions));
|
|
82
|
+
const graph = {
|
|
83
|
+
...doc.graph,
|
|
84
|
+
nodes: doc.graph.nodes.filter((n) => placed.has(n.id)),
|
|
85
|
+
groups: doc.graph.groups.filter((g) => placed.has(g.id)),
|
|
86
|
+
edges: doc.graph.edges.filter((e) => placed.has(e.source) && placed.has(e.target))
|
|
87
|
+
};
|
|
88
|
+
return mermaidToCanvas({ ...doc, graph }, { layout: shown });
|
|
89
|
+
});
|
|
90
|
+
return {
|
|
91
|
+
get document() {
|
|
92
|
+
return doc;
|
|
93
|
+
},
|
|
94
|
+
get nodes() {
|
|
95
|
+
return canvas.nodes;
|
|
96
|
+
},
|
|
97
|
+
get edges() {
|
|
98
|
+
return canvas.edges;
|
|
99
|
+
},
|
|
100
|
+
get layout() {
|
|
101
|
+
return shown;
|
|
102
|
+
},
|
|
103
|
+
get settled() {
|
|
104
|
+
return settled;
|
|
105
|
+
},
|
|
106
|
+
update(source, complete = false) {
|
|
107
|
+
const result = stream.update(source, complete);
|
|
108
|
+
doc = result.document.tier === 'editable' ? result.document : null;
|
|
109
|
+
const target = result.layout;
|
|
110
|
+
if (!result.relaid && shown)
|
|
111
|
+
return;
|
|
112
|
+
stop();
|
|
113
|
+
const from = shown;
|
|
114
|
+
if (!target || !from || duration <= 0 || typeof requestAnimationFrame !== 'function') {
|
|
115
|
+
shown = target;
|
|
116
|
+
settled = true;
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const start = performance.now();
|
|
120
|
+
settled = false;
|
|
121
|
+
const step = () => {
|
|
122
|
+
const t = Math.min(1, (performance.now() - start) / duration);
|
|
123
|
+
shown = blendDiagramLayout(from, target, easeDiagramTween(t));
|
|
124
|
+
settled = t >= 1;
|
|
125
|
+
frame = t < 1 ? requestAnimationFrame(step) : 0;
|
|
126
|
+
};
|
|
127
|
+
frame = requestAnimationFrame(step);
|
|
128
|
+
},
|
|
129
|
+
reset() {
|
|
130
|
+
stop();
|
|
131
|
+
stream.reset();
|
|
132
|
+
doc = null;
|
|
133
|
+
shown = null;
|
|
134
|
+
settled = true;
|
|
135
|
+
},
|
|
136
|
+
destroy: stop
|
|
137
|
+
};
|
|
138
|
+
}
|
package/dist/canvas/index.d.ts
CHANGED
|
@@ -40,4 +40,9 @@ export { createCanvasComponents, type CanvasComponents, type CreateCanvasCompone
|
|
|
40
40
|
export { default as CanvasComponentsPanel } from './CanvasComponentsPanel.svelte';
|
|
41
41
|
export { default as CanvasInstanceInspector } from './CanvasInstanceInspector.svelte';
|
|
42
42
|
export { createCanvasComponentsController, createCanvasComponent, combineCanvasComponentsAsVariants, createCanvasInstance, detachCanvasInstance, resetCanvasInstanceOverrides, pushCanvasInstanceOverrides, swapCanvasInstance, setCanvasInstanceProperties, setCanvasComponentProperty, bindCanvasComponentProperty, restoreCanvasMainComponent, addCanvasVariant, removeCanvasVariant, setCanvasVariantProperties, renameCanvasVariantProperty, renameCanvasVariantValue, getNextVariantValues, syncCanvasComponents, syncCanvasInstance, syncAllCanvasInstances, listCanvasComponents, inspectCanvasInstance, getInstanceStatus, getNodeOverrides, getComponentSourceId, getInstanceData, getCanvasComponentDragId, isCanvasComponent, isCanvasComponentSet, isCanvasInstance, wouldCreateComponentCycle, CANVAS_COMPONENT_DRAG_TYPE, type CanvasComponentsController, type CanvasComponentsControllerOptions, type CanvasComponentPropertyDef, type CanvasComponentPropertyField, type CanvasComponentResult, type CanvasComponentSyncOptions, type CanvasInstanceInfo, type CanvasComponentInfo, type CanvasComponentSetInfo, type AddCanvasVariantOptions, type SetCanvasVariantPropertiesOptions, createCanvasDrawController, createDefaultStrokeStyle, findStrokesAtPoint, streamlinePoints, strokePointsToPathData, strokeToShapeNode, type CanvasDrawControllerOptions, type FreehandDrawOptions, type FreehandStroke, type FreehandStrokeStyle, type FreehandTool, type StrokeToShapeNodeOptions, PIXERATE_BRAND_GRADIENT, CANVAS_GRADIENT_PRESETS, isCanvasGradient, parseCssGradient, resolveCanvasGradient, angleToSvgLinearCoords, gradientToSvgDef, type GradientStop, type CanvasLinearGradient, type CanvasRadialGradient, type CanvasGradientDef, type SvgGradientStop, type SvgGradientDef, DEFAULT_CURSOR_INACTIVITY_MS, CARD_INSPECTION_ZONES, hashString, getAgentCardAnchor, calculateCurvedPath, getNaturalMovementTiming, getCursorTransitionDuration, calculateCursorArrowRotation, formatAgentCursorName, isAgentCursor, type CanvasAgentCursor, type CardInspectionZone, type CurvedPathOptions } from '@pixerate/editor/canvas';
|
|
43
|
+
export { default as MermaidDiagramNode } from './MermaidDiagramNode.svelte';
|
|
44
|
+
export { default as MermaidDiagramGroup } from './MermaidDiagramGroup.svelte';
|
|
45
|
+
export { createMermaidDiagram, createMermaidStream, type CreateMermaidDiagramOptions, type CreateMermaidStreamOptions, type SvelteMermaidDiagram, type SvelteMermaidStream } from './createMermaidDiagram.svelte.js';
|
|
46
|
+
export { default as DiagramPresenceLayer } from './DiagramPresenceLayer.svelte';
|
|
47
|
+
export { createDiagramDirector, type CreateDiagramDirectorOptions, type SvelteDiagramDirector } from './createDiagramDirector.svelte.js';
|
|
43
48
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,OAAO,EACN,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,KAAK,wBAAwB,EAC7B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACN,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,KAAK,4BAA4B,EACjC,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACN,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACN,qBAAqB,EACrB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACN,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,+BAA+B,EACpC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACN,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACN,uBAAuB,EACvB,gCAAgC,EAChC,2BAA2B,EAC3B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACN,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACN,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACN,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACN,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAG9F,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAG9E,OAAO,EACN,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACN,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG1E,OAAO,EACN,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGtE,OAAO,EACN,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,SAAS,EACT,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,UAAU,EACV,eAAe,EACf,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,eAAe,EACf,QAAQ,EACR,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EACN,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACN,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACN,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,KAAK,KAAK,EACV,KAAK,mBAAmB,EACxB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,gCAAgC,EAChC,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACN,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAClC,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACN,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EACN,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACN,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EACN,+BAA+B,EAC/B,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACN,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAClC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEtF,OAAO,EACN,gCAAgC,EAChC,qBAAqB,EACrB,iCAAiC,EACjC,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,EAEtC,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAE7B,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,EAEnB,4BAA4B,EAC5B,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas/index.ts"],"names":[],"mappings":"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"}
|
package/dist/canvas/index.js
CHANGED
|
@@ -72,3 +72,10 @@ createCanvasDrawController, createDefaultStrokeStyle, findStrokesAtPoint, stream
|
|
|
72
72
|
PIXERATE_BRAND_GRADIENT, CANVAS_GRADIENT_PRESETS, isCanvasGradient, parseCssGradient, resolveCanvasGradient, angleToSvgLinearCoords, gradientToSvgDef,
|
|
73
73
|
// Agent presence math & types
|
|
74
74
|
DEFAULT_CURSOR_INACTIVITY_MS, CARD_INSPECTION_ZONES, hashString, getAgentCardAnchor, calculateCurvedPath, getNaturalMovementTiming, getCursorTransitionDuration, calculateCursorArrowRotation, formatAgentCursorName, isAgentCursor } from '@pixerate/editor/canvas';
|
|
75
|
+
// Mermaid diagrams (flowchart, state, class, ER) on the canvas, with streaming
|
|
76
|
+
export { default as MermaidDiagramNode } from './MermaidDiagramNode.svelte';
|
|
77
|
+
export { default as MermaidDiagramGroup } from './MermaidDiagramGroup.svelte';
|
|
78
|
+
export { createMermaidDiagram, createMermaidStream } from './createMermaidDiagram.svelte.js';
|
|
79
|
+
// Agent cursors acting out diagram edits
|
|
80
|
+
export { default as DiagramPresenceLayer } from './DiagramPresenceLayer.svelte';
|
|
81
|
+
export { createDiagramDirector } from './createDiagramDirector.svelte.js';
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
import {
|
|
11
11
|
CHART_COLOR_SCHEMES,
|
|
12
12
|
CHART_CURVES,
|
|
13
|
+
CHART_ERROR_BAR_DIRECTIONS,
|
|
14
|
+
CHART_ERROR_BAR_LABELS,
|
|
15
|
+
CHART_ERROR_BAR_TYPES,
|
|
13
16
|
CHART_LABEL_POSITIONS,
|
|
14
17
|
CHART_LAYOUT_PRESETS,
|
|
15
18
|
CHART_LEGEND_POSITIONS,
|
|
@@ -22,14 +25,21 @@
|
|
|
22
25
|
CHART_TYPES,
|
|
23
26
|
checkChartColors,
|
|
24
27
|
chartColorInputValue,
|
|
28
|
+
chartErrorBarsOfType,
|
|
25
29
|
chartFamily,
|
|
26
30
|
chartSeriesColor,
|
|
27
31
|
chartSeriesType,
|
|
28
32
|
chartSupportsTrendlines,
|
|
29
33
|
chartTrendlineName,
|
|
34
|
+
defaultChartErrorBarValue,
|
|
35
|
+
formatChartAmountList,
|
|
30
36
|
isCartesianChart,
|
|
37
|
+
parseChartAmountList,
|
|
31
38
|
type ChartAxis,
|
|
32
39
|
type ChartController,
|
|
40
|
+
type ChartErrorBars,
|
|
41
|
+
type ChartErrorBarType,
|
|
42
|
+
type ChartSeries,
|
|
33
43
|
type ChartLabelPosition,
|
|
34
44
|
type ChartMarker,
|
|
35
45
|
type ChartNumberFormat,
|
|
@@ -66,6 +76,8 @@
|
|
|
66
76
|
const currentScheme = $derived(CHART_COLOR_SCHEMES.find((c) => c.palette.join() === spec.palette.join())?.id ?? '');
|
|
67
77
|
const seriesIndex = $derived(selectedSeries ? spec.series.findIndex((s) => s.id === selectedSeries.id) : -1);
|
|
68
78
|
const horizontal = $derived(spec.orientation === 'horizontal');
|
|
79
|
+
// Log and reversed axes and error bars are drawn by the bar / line / area / scatter layouts.
|
|
80
|
+
const scales = $derived(family === 'cartesian' || family === 'xy');
|
|
69
81
|
const cap = (s: string) => s.charAt(0).toUpperCase() + s.slice(1);
|
|
70
82
|
const stackingLabels: Record<string, string> = { none: 'None', stacked: 'Stacked', percent: '100%' };
|
|
71
83
|
|
|
@@ -85,6 +97,17 @@
|
|
|
85
97
|
else delete format.code;
|
|
86
98
|
return setAxis(axis, { format }).ok;
|
|
87
99
|
}
|
|
100
|
+
const setBars = (series: ChartSeries, which: 'errorBars' | 'xErrorBars', next: ChartErrorBars | null) => controller.updateSeries(series.id, { [which]: next });
|
|
101
|
+
const patchBars = (series: ChartSeries, which: 'errorBars' | 'xErrorBars', patch: Partial<ChartErrorBars>) => {
|
|
102
|
+
const bars = series[which];
|
|
103
|
+
return bars ? setBars(series, which, { ...bars, ...patch }).ok : false;
|
|
104
|
+
};
|
|
105
|
+
function commitMinus(series: ChartSeries, which: 'errorBars' | 'xErrorBars', text: string) {
|
|
106
|
+
const next = { ...series[which]! };
|
|
107
|
+
if (text.trim()) next.minus = parseChartAmountList(text) as ChartErrorBars['minus'];
|
|
108
|
+
else delete next.minus;
|
|
109
|
+
return setBars(series, which, next).ok;
|
|
110
|
+
}
|
|
88
111
|
const side = (axis: 'x' | 'y' | 'y2') => (axis === 'x' ? (horizontal ? 'left' : 'bottom') : axis === 'y2' ? (horizontal ? 'top' : 'right') : horizontal ? 'bottom' : 'left');
|
|
89
112
|
</script>
|
|
90
113
|
|
|
@@ -95,6 +118,67 @@
|
|
|
95
118
|
</label>
|
|
96
119
|
{/snippet}
|
|
97
120
|
|
|
121
|
+
{#snippet errorBarFields(series: ChartSeries, which: 'errorBars' | 'xErrorBars')}
|
|
122
|
+
{@const bars = series[which]}
|
|
123
|
+
{@const key = `series.${which}`}
|
|
124
|
+
{@const id = `${idPrefix}-${which}`}
|
|
125
|
+
<div class="space-y-1.5" data-section={which === 'errorBars' ? 'error-bars' : 'x-error-bars'}>
|
|
126
|
+
<div class="flex items-center gap-2">
|
|
127
|
+
<label for="{id}-type" class="{chartLabelClass} w-20 shrink-0">{which === 'errorBars' ? 'Error bars' : 'X error bars'}</label>
|
|
128
|
+
<select
|
|
129
|
+
id="{id}-type"
|
|
130
|
+
class={chartInputClass}
|
|
131
|
+
value={bars?.type ?? ''}
|
|
132
|
+
data-option="{key}.type"
|
|
133
|
+
onchange={(e) => setBars(series, which, chartErrorBarsOfType(e.currentTarget.value as ChartErrorBarType | '', bars, which === 'xErrorBars' ? (series.x ?? []) : series.values))}
|
|
134
|
+
>
|
|
135
|
+
<option value="">None</option>
|
|
136
|
+
{#each CHART_ERROR_BAR_TYPES as t (t)}
|
|
137
|
+
<option value={t}>{CHART_ERROR_BAR_LABELS[t]}</option>
|
|
138
|
+
{/each}
|
|
139
|
+
</select>
|
|
140
|
+
</div>
|
|
141
|
+
{#if bars && (bars.type === 'fixed' || bars.type === 'percent' || bars.type === 'stddev')}
|
|
142
|
+
<div class="flex items-center gap-2">
|
|
143
|
+
<label for="{id}-value" class="{chartLabelClass} w-20 shrink-0">{bars.type === 'percent' ? 'Percent' : bars.type === 'stddev' ? 'Deviations' : 'Amount'}</label>
|
|
144
|
+
<div class="min-w-0 flex-1">
|
|
145
|
+
<ChartCommitInput id="{id}-value" value={String(bars.value ?? defaultChartErrorBarValue(bars.type))} inputmode="decimal" data-option="{key}.value" oncommit={(text) => patchBars(series, which, { value: text.trim() === '' ? undefined : Number(text) })} />
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
{/if}
|
|
149
|
+
{#if bars?.type === 'custom'}
|
|
150
|
+
<div class="flex items-center gap-2">
|
|
151
|
+
<label for="{id}-plus" class="{chartLabelClass} w-20 shrink-0">Plus</label>
|
|
152
|
+
<div class="min-w-0 flex-1">
|
|
153
|
+
<ChartCommitInput id="{id}-plus" value={formatChartAmountList(bars.plus)} placeholder="1, 2, -, 0.5" data-option="{key}.plus" oncommit={(text) => patchBars(series, which, { plus: parseChartAmountList(text) as ChartErrorBars['plus'] })} />
|
|
154
|
+
</div>
|
|
155
|
+
</div>
|
|
156
|
+
<div class="flex items-center gap-2">
|
|
157
|
+
<label for="{id}-minus" class="{chartLabelClass} w-20 shrink-0">Minus</label>
|
|
158
|
+
<div class="min-w-0 flex-1">
|
|
159
|
+
<ChartCommitInput id="{id}-minus" value={formatChartAmountList(bars.minus)} placeholder="Same as plus" data-option="{key}.minus" oncommit={(text) => commitMinus(series, which, text)} />
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
{/if}
|
|
163
|
+
{#if bars}
|
|
164
|
+
<div class="flex items-center gap-2">
|
|
165
|
+
<select
|
|
166
|
+
class="{chartInputClass} flex-1"
|
|
167
|
+
aria-label="Error bar direction"
|
|
168
|
+
value={bars.direction ?? 'both'}
|
|
169
|
+
data-option="{key}.direction"
|
|
170
|
+
onchange={(e) => patchBars(series, which, { direction: e.currentTarget.value as ChartErrorBars['direction'] })}
|
|
171
|
+
>
|
|
172
|
+
{#each CHART_ERROR_BAR_DIRECTIONS as d (d)}
|
|
173
|
+
<option value={d}>{d === 'both' ? 'Both ways' : d === 'plus' ? 'Plus only' : 'Minus only'}</option>
|
|
174
|
+
{/each}
|
|
175
|
+
</select>
|
|
176
|
+
{@render toggle('Caps', `${key}.cap`, bars.cap !== false, (cap) => patchBars(series, which, { cap }))}
|
|
177
|
+
</div>
|
|
178
|
+
{/if}
|
|
179
|
+
</div>
|
|
180
|
+
{/snippet}
|
|
181
|
+
|
|
98
182
|
{#snippet axisSection(axis: 'x' | 'y' | 'y2', value: ChartAxis, numeric: boolean)}
|
|
99
183
|
{@const key = keyOf(axis)}
|
|
100
184
|
{@const valueAxis = axis !== 'x' || numeric}
|
|
@@ -117,14 +201,30 @@
|
|
|
117
201
|
{#if axis === 'x' && !numeric}
|
|
118
202
|
{@render toggle('Dates', 'xAxis.kind', value.kind === 'date', (dates) => setAxis('x', { kind: dates ? 'date' : undefined } as Partial<ChartAxis>))}
|
|
119
203
|
{/if}
|
|
204
|
+
{#if scales}
|
|
205
|
+
{@render toggle('Reverse', `${key}.reverse`, !!value.reverse, (reverse) => setAxis(axis, { reverse }))}
|
|
206
|
+
{/if}
|
|
207
|
+
{#if scales && valueAxis}
|
|
208
|
+
{@render toggle('Log scale', `${key}.scale`, value.scale === 'log', (log) => setAxis(axis, { scale: log ? 'log' : 'linear' }))}
|
|
209
|
+
{/if}
|
|
120
210
|
</div>
|
|
121
|
-
{#if valueAxis}
|
|
211
|
+
{#if scales && valueAxis && value.scale === 'log'}
|
|
212
|
+
<div class="flex items-center gap-2">
|
|
213
|
+
<label for="{idPrefix}-{axis}-log-base" class="{chartLabelClass} w-20 shrink-0">Log base</label>
|
|
214
|
+
<div class="min-w-0 flex-1">
|
|
215
|
+
<ChartCommitInput id="{idPrefix}-{axis}-log-base" value={String(value.logBase ?? 10)} inputmode="decimal" data-option="{key}.logBase" oncommit={(text) => setAxis(axis, { logBase: text.trim() === '' ? undefined : Number(text) }).ok} />
|
|
216
|
+
</div>
|
|
217
|
+
</div>
|
|
218
|
+
{/if}
|
|
219
|
+
{#if valueAxis && value.scale !== 'log'}
|
|
122
220
|
<div class="flex items-center gap-2">
|
|
123
221
|
<label for="{idPrefix}-{axis}-step" class="{chartLabelClass} w-20 shrink-0">Step</label>
|
|
124
222
|
<div class="min-w-0 flex-1">
|
|
125
223
|
<ChartCommitInput id="{idPrefix}-{axis}-step" value={value.step === null ? '' : String(value.step)} placeholder="Auto" inputmode="decimal" data-option="{key}.step" oncommit={commitNumber(axis, 'step')} />
|
|
126
224
|
</div>
|
|
127
225
|
</div>
|
|
226
|
+
{/if}
|
|
227
|
+
{#if valueAxis}
|
|
128
228
|
<div class="flex items-center gap-2">
|
|
129
229
|
<span class="{chartLabelClass} w-20 shrink-0">Min / max</span>
|
|
130
230
|
<div class="flex min-w-0 flex-1 gap-1">
|
|
@@ -428,6 +528,12 @@
|
|
|
428
528
|
</select>
|
|
429
529
|
</div>
|
|
430
530
|
{/if}
|
|
531
|
+
{#if scales}
|
|
532
|
+
{@render errorBarFields(series, 'errorBars')}
|
|
533
|
+
{/if}
|
|
534
|
+
{#if family === 'xy'}
|
|
535
|
+
{@render errorBarFields(series, 'xErrorBars')}
|
|
536
|
+
{/if}
|
|
431
537
|
{#if chartSupportsTrendlines(spec.type, spec.stacking)}
|
|
432
538
|
<div class="space-y-1" data-section="trendlines">
|
|
433
539
|
{#each series.trendlines ?? [] as t, i (i)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartInspector.svelte.d.ts","sourceRoot":"","sources":["../../src/chart/ChartInspector.svelte.ts"],"names":[],"mappings":"AAOE,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAG7G,OAAO,
|
|
1
|
+
{"version":3,"file":"ChartInspector.svelte.d.ts","sourceRoot":"","sources":["../../src/chart/ChartInspector.svelte.ts"],"names":[],"mappings":"AAOE,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAG7G,OAAO,EA6BH,KAAK,eAAe,EASrB,MAAM,wBAAwB,CAAC;AAMhC,UAAU,KAAK;IACb,UAAU,EAAE,eAAe,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC5C,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwbH,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export * from "./history/index.js";
|
|
|
14
14
|
export * from "./fileImport.svelte.js";
|
|
15
15
|
export * from "./docxExport.svelte.js";
|
|
16
16
|
export * from "./agentTools.svelte.js";
|
|
17
|
+
export * from "./toolBridge.svelte.js";
|
|
17
18
|
export * from "./outline.svelte.js";
|
|
18
19
|
export * from "./merge.svelte.js";
|
|
19
20
|
export { DirtyTracker, createDirtyTracker, defaultIsEqual, HistoryManager, createHistoryManager, bindDirtyToHistory, withoutDirty, } from "@pixerate/editor";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export * from "./history/index.js";
|
|
|
5
5
|
export * from "./fileImport.svelte.js";
|
|
6
6
|
export * from "./docxExport.svelte.js";
|
|
7
7
|
export * from "./agentTools.svelte.js";
|
|
8
|
+
export * from "./toolBridge.svelte.js";
|
|
8
9
|
export * from "./outline.svelte.js";
|
|
9
10
|
export * from "./merge.svelte.js";
|
|
10
11
|
export { DirtyTracker, createDirtyTracker, defaultIsEqual, HistoryManager, createHistoryManager, bindDirtyToHistory, withoutDirty, } from "@pixerate/editor";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ConnectToolBridgeOptions, type ToolBridgeStatus, type ToolRegistry } from "@pixerate/editor/tools";
|
|
2
|
+
type MaybeGetter<T> = T | (() => T);
|
|
3
|
+
export interface SvelteToolBridge {
|
|
4
|
+
/** "off" while no options are given (reactive). */
|
|
5
|
+
readonly status: ToolBridgeStatus | "off";
|
|
6
|
+
/** Why the last connection ended (e.g. "Bad token"), when the bridge said. */
|
|
7
|
+
readonly detail: string | undefined;
|
|
8
|
+
/** The id the bridge gave this editor (`list_editors`). */
|
|
9
|
+
readonly editorId: string | null;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Connects a `ToolRegistry` to a local MCP bridge (`pixerate-mcp-bridge`) for the lifetime of
|
|
13
|
+
* the calling component, so an MCP client can call the page's tools. Pass getters to react to
|
|
14
|
+
* changes; `null` options stay disconnected. Parity with React's `useToolBridge`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function useToolBridge(registry: MaybeGetter<ToolRegistry | null | undefined>, options: MaybeGetter<ConnectToolBridgeOptions | null>): SvelteToolBridge;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=toolBridge.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolBridge.svelte.d.ts","sourceRoot":"","sources":["../src/toolBridge.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,wBAAwB,EAA6B,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE/J,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAGpC,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,KAAK,CAAC;IAC1C,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,EACtD,OAAO,EAAE,WAAW,CAAC,wBAAwB,GAAG,IAAI,CAAC,GACpD,gBAAgB,CAoClB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { connectToolBridge } from "@pixerate/editor/tools";
|
|
2
|
+
const read = (value) => (typeof value === "function" ? value() : value);
|
|
3
|
+
/**
|
|
4
|
+
* Connects a `ToolRegistry` to a local MCP bridge (`pixerate-mcp-bridge`) for the lifetime of
|
|
5
|
+
* the calling component, so an MCP client can call the page's tools. Pass getters to react to
|
|
6
|
+
* changes; `null` options stay disconnected. Parity with React's `useToolBridge`.
|
|
7
|
+
*/
|
|
8
|
+
export function useToolBridge(registry, options) {
|
|
9
|
+
let status = $state("off");
|
|
10
|
+
let detail = $state(undefined);
|
|
11
|
+
let editorId = $state(null);
|
|
12
|
+
$effect(() => {
|
|
13
|
+
const currentRegistry = read(registry);
|
|
14
|
+
const currentOptions = read(options);
|
|
15
|
+
if (!currentRegistry || !currentOptions) {
|
|
16
|
+
status = "off";
|
|
17
|
+
editorId = null;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
let connection;
|
|
21
|
+
connection = connectToolBridge(currentRegistry, {
|
|
22
|
+
...currentOptions,
|
|
23
|
+
onStatus: (next, why) => {
|
|
24
|
+
status = next;
|
|
25
|
+
detail = why;
|
|
26
|
+
editorId = connection?.editorId ?? null;
|
|
27
|
+
currentOptions.onStatus?.(next, why);
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
status = connection.status;
|
|
31
|
+
return () => connection?.close();
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
get status() {
|
|
35
|
+
return status;
|
|
36
|
+
},
|
|
37
|
+
get detail() {
|
|
38
|
+
return detail;
|
|
39
|
+
},
|
|
40
|
+
get editorId() {
|
|
41
|
+
return editorId;
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixerate/editor-svelte",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.0",
|
|
4
4
|
"description": "Svelte bindings and prompt/rich-text components for @pixerate/editor",
|
|
5
5
|
"author": "Pixerate",
|
|
6
6
|
"license": "MIT",
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"@tiptap/extension-bubble-menu": "^2.11.5",
|
|
116
116
|
"@tiptap/extension-placeholder": "^2.11.5",
|
|
117
117
|
"@tiptap/starter-kit": "^2.11.5",
|
|
118
|
-
"@pixerate/editor": "0.
|
|
118
|
+
"@pixerate/editor": "0.54.0"
|
|
119
119
|
},
|
|
120
120
|
"peerDependencies": {
|
|
121
121
|
"@dagrejs/dagre": "^1.1.4",
|