@pixerate/editor-svelte 0.49.0 → 0.51.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/animation-editor/AnimationEditor.svelte +30 -0
- package/dist/animation-editor/AnimationEditor.svelte.d.ts +12 -0
- package/dist/animation-editor/AnimationEditor.svelte.d.ts.map +1 -0
- package/dist/animation-editor/AnimationStage.svelte +30 -0
- package/dist/animation-editor/AnimationStage.svelte.d.ts +11 -0
- package/dist/animation-editor/AnimationStage.svelte.d.ts.map +1 -0
- package/dist/animation-editor/ShotTimeline.svelte +68 -0
- package/dist/animation-editor/ShotTimeline.svelte.d.ts +9 -0
- package/dist/animation-editor/ShotTimeline.svelte.d.ts.map +1 -0
- package/dist/animation-editor/createAnimationEditor.svelte.d.ts +33 -0
- package/dist/animation-editor/createAnimationEditor.svelte.d.ts.map +1 -0
- package/dist/animation-editor/createAnimationEditor.svelte.js +61 -0
- package/dist/animation-editor/index.d.ts +12 -0
- package/dist/animation-editor/index.d.ts.map +1 -0
- package/dist/animation-editor/index.js +4 -0
- package/dist/canvas/MermaidFamilyScene.svelte +171 -0
- package/dist/canvas/MermaidFamilyScene.svelte.d.ts +25 -0
- package/dist/canvas/MermaidFamilyScene.svelte.d.ts.map +1 -0
- package/dist/canvas/MermaidThumbnail.svelte +28 -0
- package/dist/canvas/MermaidThumbnail.svelte.d.ts +14 -0
- package/dist/canvas/MermaidThumbnail.svelte.d.ts.map +1 -0
- 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/createMermaidDiagram.svelte.d.ts +14 -2
- package/dist/canvas/createMermaidDiagram.svelte.d.ts.map +1 -1
- package/dist/canvas/createMermaidDiagram.svelte.js +16 -3
- package/dist/canvas/index.d.ts +2 -0
- package/dist/canvas/index.d.ts.map +1 -1
- package/dist/canvas/index.js +5 -1
- package/package.json +10 -2
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { motionIssueLine, type AnimationEditorController, type MotionFrameOptions } from '@pixerate/editor/animation-editor';
|
|
3
|
+
import AnimationStage from './AnimationStage.svelte';
|
|
4
|
+
import ShotTimeline from './ShotTimeline.svelte';
|
|
5
|
+
import { animationEditorStateOf } from './createAnimationEditor.svelte.js';
|
|
6
|
+
|
|
7
|
+
interface Props {
|
|
8
|
+
controller: AnimationEditorController;
|
|
9
|
+
values?: MotionFrameOptions['values'];
|
|
10
|
+
/** List the scene's issues under the timeline (default true). */
|
|
11
|
+
showIssues?: boolean;
|
|
12
|
+
class?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let { controller, values, showIssues = true, class: className = '' }: Props = $props();
|
|
16
|
+
const view = animationEditorStateOf(() => controller);
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<!-- Stage, shot timeline and issue list for an AnimationEditorController. -->
|
|
20
|
+
<div class="flex flex-col gap-2 {className}" data-animation-editor="">
|
|
21
|
+
<AnimationStage {controller} {values} class="rounded-md border border-border bg-muted/40" />
|
|
22
|
+
<ShotTimeline {controller} />
|
|
23
|
+
{#if showIssues && view.current.issues.length > 0}
|
|
24
|
+
<ul class="space-y-0.5 text-xs" aria-label="Animation issues">
|
|
25
|
+
{#each view.current.issues as issue, i (i)}
|
|
26
|
+
<li class={issue.severity === 'error' ? 'text-red-500' : issue.severity === 'warning' ? 'text-amber-500' : 'text-muted-foreground'}>{motionIssueLine(issue)}</li>
|
|
27
|
+
{/each}
|
|
28
|
+
</ul>
|
|
29
|
+
{/if}
|
|
30
|
+
</div>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type AnimationEditorController, type MotionFrameOptions } from '@pixerate/editor/animation-editor';
|
|
2
|
+
interface Props {
|
|
3
|
+
controller: AnimationEditorController;
|
|
4
|
+
values?: MotionFrameOptions['values'];
|
|
5
|
+
/** List the scene's issues under the timeline (default true). */
|
|
6
|
+
showIssues?: boolean;
|
|
7
|
+
class?: string;
|
|
8
|
+
}
|
|
9
|
+
declare const AnimationEditor: import("svelte").Component<Props, {}, "">;
|
|
10
|
+
type AnimationEditor = ReturnType<typeof AnimationEditor>;
|
|
11
|
+
export default AnimationEditor;
|
|
12
|
+
//# sourceMappingURL=AnimationEditor.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimationEditor.svelte.d.ts","sourceRoot":"","sources":["../../src/animation-editor/AnimationEditor.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,yBAAyB,EAAE,KAAK,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAM3H,UAAU,KAAK;IACb,UAAU,EAAE,yBAAyB,CAAC;IACtC,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2BH,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AnimationEditorController, MotionFrameOptions } from '@pixerate/editor/animation-editor';
|
|
3
|
+
import { animationEditorStateOf } from './createAnimationEditor.svelte.js';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
controller: AnimationEditorController;
|
|
7
|
+
/** Control values to preview (`{ accent: "#0ea5e9" }`). */
|
|
8
|
+
values?: MotionFrameOptions['values'];
|
|
9
|
+
class?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let { controller, values, class: className = '' }: Props = $props();
|
|
13
|
+
const view = animationEditorStateOf(() => controller);
|
|
14
|
+
const svg = $derived(
|
|
15
|
+
controller
|
|
16
|
+
.toSvg(view.current.time, { pretty: false, idPrefix: 'ae-', values })
|
|
17
|
+
.replace(/<svg ([^>]*?)width="[^"]*" height="[^"]*"/, '<svg $1width="100%" height="100%"')
|
|
18
|
+
);
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<!-- The frame at the playhead, drawn as inline SVG scaled to the stage's width. -->
|
|
22
|
+
<div
|
|
23
|
+
class="relative overflow-hidden {className}"
|
|
24
|
+
style="aspect-ratio:{view.current.scene.artwork.width} / {view.current.scene.artwork.height}"
|
|
25
|
+
data-animation-stage=""
|
|
26
|
+
role="img"
|
|
27
|
+
aria-label="{view.current.scene.name} at {(view.current.time / 1000).toFixed(2)} s"
|
|
28
|
+
>
|
|
29
|
+
{@html svg}
|
|
30
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AnimationEditorController, MotionFrameOptions } from '@pixerate/editor/animation-editor';
|
|
2
|
+
interface Props {
|
|
3
|
+
controller: AnimationEditorController;
|
|
4
|
+
/** Control values to preview (`{ accent: "#0ea5e9" }`). */
|
|
5
|
+
values?: MotionFrameOptions['values'];
|
|
6
|
+
class?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const AnimationStage: import("svelte").Component<Props, {}, "">;
|
|
9
|
+
type AnimationStage = ReturnType<typeof AnimationStage>;
|
|
10
|
+
export default AnimationStage;
|
|
11
|
+
//# sourceMappingURL=AnimationStage.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimationStage.svelte.d.ts","sourceRoot":"","sources":["../../src/animation-editor/AnimationStage.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAIrG,UAAU,KAAK;IACb,UAAU,EAAE,yBAAyB,CAAC;IACtC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsBH,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { AnimationEditorController, MotionIssue } from '@pixerate/editor/animation-editor';
|
|
3
|
+
import { animationEditorStateOf } from './createAnimationEditor.svelte.js';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
controller: AnimationEditorController;
|
|
7
|
+
class?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
let { controller, class: className = '' }: Props = $props();
|
|
11
|
+
const view = animationEditorStateOf(() => controller);
|
|
12
|
+
const state = $derived(view.current);
|
|
13
|
+
const span = $derived(Math.max(1, state.duration));
|
|
14
|
+
const seconds = (ms: number) => `${(ms / 1000).toFixed(1)} s`;
|
|
15
|
+
const worst = (issues: readonly MotionIssue[]): 'error' | 'warning' | null =>
|
|
16
|
+
issues.some((i) => i.severity === 'error') ? 'error' : issues.some((i) => i.severity === 'warning') ? 'warning' : null;
|
|
17
|
+
|
|
18
|
+
function onRuler(event: PointerEvent) {
|
|
19
|
+
const box = (event.currentTarget as HTMLElement).getBoundingClientRect();
|
|
20
|
+
controller.seek(((event.clientX - box.left) / Math.max(1, box.width)) * span);
|
|
21
|
+
}
|
|
22
|
+
function onKey(event: KeyboardEvent) {
|
|
23
|
+
if (event.key === 'ArrowRight') controller.seek(state.time + 100);
|
|
24
|
+
if (event.key === 'ArrowLeft') controller.seek(state.time - 100);
|
|
25
|
+
}
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<!-- Play / pause, the playhead and one block per shot (as wide as it is long). -->
|
|
29
|
+
<div class="flex flex-col gap-1 {className}" data-shot-timeline="">
|
|
30
|
+
<div class="flex items-center gap-2 text-xs">
|
|
31
|
+
<button type="button" class="rounded border border-border px-2 py-0.5" onclick={() => controller.toggle()} aria-label={state.playing ? 'Pause' : 'Play'} disabled={!state.shots.length}>
|
|
32
|
+
{state.playing ? 'Pause' : 'Play'}
|
|
33
|
+
</button>
|
|
34
|
+
<span class="tabular-nums text-muted-foreground">{seconds(state.time)} / {seconds(state.duration)}</span>
|
|
35
|
+
</div>
|
|
36
|
+
<div
|
|
37
|
+
class="relative h-3 cursor-pointer rounded bg-muted"
|
|
38
|
+
onpointerdown={onRuler}
|
|
39
|
+
onkeydown={onKey}
|
|
40
|
+
role="slider"
|
|
41
|
+
aria-label="Playhead"
|
|
42
|
+
aria-valuemin={0}
|
|
43
|
+
aria-valuemax={state.duration}
|
|
44
|
+
aria-valuenow={Math.round(state.time)}
|
|
45
|
+
tabindex="0"
|
|
46
|
+
>
|
|
47
|
+
<div class="absolute inset-y-0 w-0.5 bg-rose-500" style="left:{(state.time / span) * 100}%"></div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="flex w-full gap-px" role="group" aria-label="Shots">
|
|
50
|
+
{#each state.shots as shot (shot.id)}
|
|
51
|
+
{@const mark = worst(state.issues.filter((i) => i.shot === shot.id))}
|
|
52
|
+
<button
|
|
53
|
+
type="button"
|
|
54
|
+
class="min-w-0 truncate rounded border px-1 py-1 text-left text-[11px] {state.selection?.shot === shot.id ? 'border-rose-500 bg-rose-500/10' : 'border-border'} {state.currentShot === shot.id ? 'font-semibold' : ''}"
|
|
55
|
+
style="flex-grow:{Math.max(1, shot.end - shot.start)};flex-basis:0"
|
|
56
|
+
title="{shot.label ?? shot.id} · {seconds(shot.end - shot.start)}"
|
|
57
|
+
data-shot={shot.id}
|
|
58
|
+
data-issue={mark ?? undefined}
|
|
59
|
+
onclick={() => {
|
|
60
|
+
controller.select({ shot: shot.id });
|
|
61
|
+
controller.seekShot(shot.id);
|
|
62
|
+
}}
|
|
63
|
+
>
|
|
64
|
+
{#if mark}<span class={mark === 'error' ? 'text-red-500' : 'text-amber-500'}>● </span>{/if}{shot.label ?? shot.id}
|
|
65
|
+
</button>
|
|
66
|
+
{/each}
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AnimationEditorController } from '@pixerate/editor/animation-editor';
|
|
2
|
+
interface Props {
|
|
3
|
+
controller: AnimationEditorController;
|
|
4
|
+
class?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const ShotTimeline: import("svelte").Component<Props, {}, "">;
|
|
7
|
+
type ShotTimeline = ReturnType<typeof ShotTimeline>;
|
|
8
|
+
export default ShotTimeline;
|
|
9
|
+
//# sourceMappingURL=ShotTimeline.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShotTimeline.svelte.d.ts","sourceRoot":"","sources":["../../src/animation-editor/ShotTimeline.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAe,MAAM,mCAAmC,CAAC;AAI9F,UAAU,KAAK;IACb,UAAU,EAAE,yBAAyB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkDH,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AnimationEditorController, type AnimationEditorOptions, type AnimationEditorState, type AnimationEditorToolProviderOptions } from "@pixerate/editor/animation-editor";
|
|
2
|
+
import type { ToolRegistry } from "@pixerate/editor/tools";
|
|
3
|
+
export interface SvelteAnimationEditor {
|
|
4
|
+
readonly controller: AnimationEditorController;
|
|
5
|
+
/** The controller's state (reactive, including each played frame). */
|
|
6
|
+
readonly state: AnimationEditorState;
|
|
7
|
+
play(): void;
|
|
8
|
+
pause(): void;
|
|
9
|
+
toggle(): void;
|
|
10
|
+
seek(time: number): void;
|
|
11
|
+
undo(): void;
|
|
12
|
+
redo(): void;
|
|
13
|
+
/** The frame at the playhead as SVG. */
|
|
14
|
+
toSvg(): string;
|
|
15
|
+
/** Stops listening to the controller (and destroys it when this rune created it). */
|
|
16
|
+
destroy(): void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Svelte 5 rune: subscribes to an `AnimationEditorController` (or creates one from options)
|
|
20
|
+
* and exposes its state reactively with bound actions.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createAnimationEditor(controllerOrOptions?: AnimationEditorController | AnimationEditorOptions): SvelteAnimationEditor;
|
|
23
|
+
/** Reactive state of a (possibly replaced) controller prop, for use inside components. */
|
|
24
|
+
export declare function animationEditorStateOf(getController: () => AnimationEditorController): {
|
|
25
|
+
readonly current: AnimationEditorState;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Registers the animation editor's agent tools (`get_animation`, `add_commands`,
|
|
29
|
+
* `export_flair_effect`, …) for the lifetime of the calling component (call it during
|
|
30
|
+
* initialisation). Pass a getter to follow a changing registry.
|
|
31
|
+
*/
|
|
32
|
+
export declare function useAnimationEditorTools(registry: ToolRegistry | null | undefined | (() => ToolRegistry | null | undefined), controller: AnimationEditorController, options?: AnimationEditorToolProviderOptions): void;
|
|
33
|
+
//# sourceMappingURL=createAnimationEditor.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAnimationEditor.svelte.d.ts","sourceRoot":"","sources":["../../src/animation-editor/createAnimationEditor.svelte.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EAEzB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,kCAAkC,EACxC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,IAAI,IAAI,CAAC;IACf,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;IACb,wCAAwC;IACxC,KAAK,IAAI,MAAM,CAAC;IAChB,qFAAqF;IACrF,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,mBAAmB,GAAE,yBAAyB,GAAG,sBAA2B,GAAG,qBAAqB,CAwBzI;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,yBAAyB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,CAgBjI;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,EACnF,UAAU,EAAE,yBAAyB,EACrC,OAAO,GAAE,kCAAuC,GAC/C,IAAI,CAMN"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { untrack } from "svelte";
|
|
2
|
+
import { AnimationEditorController, createAnimationEditorToolProvider, } from "@pixerate/editor/animation-editor";
|
|
3
|
+
/**
|
|
4
|
+
* Svelte 5 rune: subscribes to an `AnimationEditorController` (or creates one from options)
|
|
5
|
+
* and exposes its state reactively with bound actions.
|
|
6
|
+
*/
|
|
7
|
+
export function createAnimationEditor(controllerOrOptions = {}) {
|
|
8
|
+
const owned = !(controllerOrOptions instanceof AnimationEditorController);
|
|
9
|
+
const controller = controllerOrOptions instanceof AnimationEditorController ? controllerOrOptions : new AnimationEditorController(controllerOrOptions);
|
|
10
|
+
let state = $state.raw(controller.getState());
|
|
11
|
+
const unsubscribe = controller.subscribe((next) => {
|
|
12
|
+
state = next;
|
|
13
|
+
});
|
|
14
|
+
return {
|
|
15
|
+
controller,
|
|
16
|
+
get state() {
|
|
17
|
+
return state;
|
|
18
|
+
},
|
|
19
|
+
play: () => controller.play(),
|
|
20
|
+
pause: () => controller.pause(),
|
|
21
|
+
toggle: () => controller.toggle(),
|
|
22
|
+
seek: (time) => controller.seek(time),
|
|
23
|
+
undo: () => void controller.undo(),
|
|
24
|
+
redo: () => void controller.redo(),
|
|
25
|
+
toSvg: () => controller.toSvg(),
|
|
26
|
+
destroy: () => {
|
|
27
|
+
unsubscribe();
|
|
28
|
+
if (owned)
|
|
29
|
+
controller.destroy();
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/** Reactive state of a (possibly replaced) controller prop, for use inside components. */
|
|
34
|
+
export function animationEditorStateOf(getController) {
|
|
35
|
+
let view = $state.raw(untrack(() => getController().getState()));
|
|
36
|
+
$effect(() => {
|
|
37
|
+
const controller = getController();
|
|
38
|
+
view = controller.getState();
|
|
39
|
+
return untrack(() => controller.subscribe((next) => {
|
|
40
|
+
view = next;
|
|
41
|
+
}));
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
get current() {
|
|
45
|
+
return view;
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Registers the animation editor's agent tools (`get_animation`, `add_commands`,
|
|
51
|
+
* `export_flair_effect`, …) for the lifetime of the calling component (call it during
|
|
52
|
+
* initialisation). Pass a getter to follow a changing registry.
|
|
53
|
+
*/
|
|
54
|
+
export function useAnimationEditorTools(registry, controller, options = {}) {
|
|
55
|
+
$effect(() => {
|
|
56
|
+
const target = typeof registry === "function" ? registry() : registry;
|
|
57
|
+
if (!target)
|
|
58
|
+
return;
|
|
59
|
+
return target.register(createAnimationEditorToolProvider(controller, options));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ComponentProps } from "svelte";
|
|
2
|
+
import type AnimationEditorComponent from "./AnimationEditor.svelte";
|
|
3
|
+
import type AnimationStageComponent from "./AnimationStage.svelte";
|
|
4
|
+
import type ShotTimelineComponent from "./ShotTimeline.svelte";
|
|
5
|
+
export { default as AnimationEditor } from "./AnimationEditor.svelte";
|
|
6
|
+
export { default as AnimationStage } from "./AnimationStage.svelte";
|
|
7
|
+
export { default as ShotTimeline } from "./ShotTimeline.svelte";
|
|
8
|
+
export * from "./createAnimationEditor.svelte.js";
|
|
9
|
+
export type AnimationEditorProps = ComponentProps<typeof AnimationEditorComponent>;
|
|
10
|
+
export type AnimationStageProps = ComponentProps<typeof AnimationStageComponent>;
|
|
11
|
+
export type ShotTimelineProps = ComponentProps<typeof ShotTimelineComponent>;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,wBAAwB,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,uBAAuB,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,qBAAqB,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,cAAc,mCAAmC,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,wBAAwB,CAAC,CAAC;AACnF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACjF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { diagramTextBaseline, type DiagramMark, type DiagramScene } from '@pixerate/editor/canvas';
|
|
3
|
+
|
|
4
|
+
interface Props {
|
|
5
|
+
/** The family's picture (`createMermaidDiagram().scene`, or `mermaidToScene`). */
|
|
6
|
+
scene: DiagramScene;
|
|
7
|
+
/** Room around the drawing in px (default 16). */
|
|
8
|
+
padding?: number;
|
|
9
|
+
/** Marks with a target get a pointer and report clicks (default true). */
|
|
10
|
+
interactive?: boolean;
|
|
11
|
+
/** A mark was clicked: its node, edge, group or `::title` target (null: the background). */
|
|
12
|
+
onselect?: (target: string | null, event: MouseEvent) => void;
|
|
13
|
+
/** A mark was double-clicked (rename it with `diagramRenameOp`). */
|
|
14
|
+
onopen?: (target: string, event: MouseEvent) => void;
|
|
15
|
+
/** Colour of selected marks' outline (default `var(--primary, #2563eb)`). */
|
|
16
|
+
selectionColor?: string;
|
|
17
|
+
/** Arrow head colour (default `var(--muted-foreground, #64748b)`). */
|
|
18
|
+
markerColor?: string;
|
|
19
|
+
class?: string;
|
|
20
|
+
style?: string;
|
|
21
|
+
/** Accessible name (default: the family). */
|
|
22
|
+
title?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Headless renderer for a Mermaid family drawn as its own picture (pie, Gantt, sequence,
|
|
27
|
+
* quadrant, timeline, journey, gitGraph, mindmap, C4, architecture, XY and radar charts).
|
|
28
|
+
* Parity with React's `MermaidFamilyScene`.
|
|
29
|
+
*/
|
|
30
|
+
let {
|
|
31
|
+
scene,
|
|
32
|
+
padding = 16,
|
|
33
|
+
interactive = true,
|
|
34
|
+
onselect,
|
|
35
|
+
onopen,
|
|
36
|
+
selectionColor = 'var(--primary, #2563eb)',
|
|
37
|
+
markerColor = 'var(--muted-foreground, #64748b)',
|
|
38
|
+
class: className = '',
|
|
39
|
+
style = '',
|
|
40
|
+
title
|
|
41
|
+
}: Props = $props();
|
|
42
|
+
|
|
43
|
+
const uid = `pd-scene-${Math.random().toString(36).slice(2, 9)}`;
|
|
44
|
+
const marker = (kind?: 'arrow' | 'arrowclosed') => (kind ? `url(#${uid}-${kind})` : undefined);
|
|
45
|
+
const box = $derived({ x: scene.x - padding, y: scene.y - padding, width: Math.max(1, scene.width + padding * 2), height: Math.max(1, scene.height + padding * 2) });
|
|
46
|
+
const active = (mark: DiagramMark) => interactive && !!mark.target;
|
|
47
|
+
const strokeOf = (mark: { stroke?: string; selected?: boolean }) => (mark.selected ? selectionColor : mark.stroke);
|
|
48
|
+
const widthOf = (mark: { strokeWidth?: number; selected?: boolean }) => (mark.selected ? Math.max(2, mark.strokeWidth ?? 0) : mark.strokeWidth);
|
|
49
|
+
/** The target of the mark under the event (events are delegated to the `<svg>`). */
|
|
50
|
+
const targetAt = (event: MouseEvent) => (event.target as Element).closest?.('[data-target]')?.getAttribute('data-target') ?? null;
|
|
51
|
+
const click = (event: MouseEvent) => {
|
|
52
|
+
if (interactive) onselect?.(targetAt(event), event);
|
|
53
|
+
};
|
|
54
|
+
const dblclick = (event: MouseEvent) => {
|
|
55
|
+
const target = targetAt(event);
|
|
56
|
+
if (interactive && target) onopen?.(target, event);
|
|
57
|
+
};
|
|
58
|
+
</script>
|
|
59
|
+
|
|
60
|
+
<!-- svelte-ignore a11y_click_events_have_key_events, a11y_no_noninteractive_element_interactions -->
|
|
61
|
+
<svg
|
|
62
|
+
class="pixerate-diagram-scene {className}"
|
|
63
|
+
data-family={scene.family}
|
|
64
|
+
role="img"
|
|
65
|
+
aria-label={title ?? `${scene.family} diagram`}
|
|
66
|
+
viewBox="{box.x} {box.y} {box.width} {box.height}"
|
|
67
|
+
width={box.width}
|
|
68
|
+
height={box.height}
|
|
69
|
+
style="display:block;max-width:100%;height:auto;overflow:visible;{style}"
|
|
70
|
+
onclick={click}
|
|
71
|
+
ondblclick={dblclick}
|
|
72
|
+
>
|
|
73
|
+
<defs>
|
|
74
|
+
<marker id="{uid}-arrowclosed" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
|
75
|
+
<path d="M0,0 L10,5 L0,10 Z" style:fill={markerColor} />
|
|
76
|
+
</marker>
|
|
77
|
+
<marker id="{uid}-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
|
78
|
+
<path d="M0,0 L10,5 L0,10" style:fill="none" style:stroke={markerColor} style:stroke-width="1.5" />
|
|
79
|
+
</marker>
|
|
80
|
+
</defs>
|
|
81
|
+
{#each scene.marks as mark (mark.key)}
|
|
82
|
+
{#if mark.kind === 'rect'}
|
|
83
|
+
<rect
|
|
84
|
+
data-role={mark.role}
|
|
85
|
+
data-target={active(mark) ? mark.target : undefined}
|
|
86
|
+
data-selected={mark.selected ? '' : undefined}
|
|
87
|
+
x={mark.x}
|
|
88
|
+
y={mark.y}
|
|
89
|
+
width={Math.max(0, mark.width)}
|
|
90
|
+
height={Math.max(0, mark.height)}
|
|
91
|
+
rx={mark.radius}
|
|
92
|
+
stroke-dasharray={mark.dash}
|
|
93
|
+
opacity={mark.opacity}
|
|
94
|
+
pointer-events={active(mark) ? undefined : 'none'}
|
|
95
|
+
cursor={active(mark) ? 'pointer' : undefined}
|
|
96
|
+
style:fill={mark.fill}
|
|
97
|
+
style:stroke={strokeOf(mark)}
|
|
98
|
+
style:stroke-width={widthOf(mark)}
|
|
99
|
+
/>
|
|
100
|
+
{:else if mark.kind === 'circle'}
|
|
101
|
+
<circle
|
|
102
|
+
data-role={mark.role}
|
|
103
|
+
data-target={active(mark) ? mark.target : undefined}
|
|
104
|
+
data-selected={mark.selected ? '' : undefined}
|
|
105
|
+
cx={mark.cx}
|
|
106
|
+
cy={mark.cy}
|
|
107
|
+
r={mark.r}
|
|
108
|
+
opacity={mark.opacity}
|
|
109
|
+
pointer-events={active(mark) ? undefined : 'none'}
|
|
110
|
+
cursor={active(mark) ? 'pointer' : undefined}
|
|
111
|
+
style:fill={mark.fill}
|
|
112
|
+
style:stroke={strokeOf(mark)}
|
|
113
|
+
style:stroke-width={widthOf(mark)}
|
|
114
|
+
/>
|
|
115
|
+
{:else if mark.kind === 'line'}
|
|
116
|
+
<line
|
|
117
|
+
data-role={mark.role}
|
|
118
|
+
data-target={active(mark) ? mark.target : undefined}
|
|
119
|
+
data-selected={mark.selected ? '' : undefined}
|
|
120
|
+
x1={mark.x1}
|
|
121
|
+
y1={mark.y1}
|
|
122
|
+
x2={mark.x2}
|
|
123
|
+
y2={mark.y2}
|
|
124
|
+
stroke-dasharray={mark.dash}
|
|
125
|
+
marker-end={marker(mark.markerEnd)}
|
|
126
|
+
marker-start={marker(mark.markerStart)}
|
|
127
|
+
opacity={mark.opacity}
|
|
128
|
+
pointer-events={active(mark) ? undefined : 'none'}
|
|
129
|
+
cursor={active(mark) ? 'pointer' : undefined}
|
|
130
|
+
style:stroke={mark.selected ? selectionColor : mark.stroke}
|
|
131
|
+
style:stroke-width={mark.strokeWidth ?? 1}
|
|
132
|
+
/>
|
|
133
|
+
{:else if mark.kind === 'path'}
|
|
134
|
+
<path
|
|
135
|
+
data-role={mark.role}
|
|
136
|
+
data-target={active(mark) ? mark.target : undefined}
|
|
137
|
+
data-selected={mark.selected ? '' : undefined}
|
|
138
|
+
d={mark.d}
|
|
139
|
+
stroke-dasharray={mark.dash}
|
|
140
|
+
stroke-linejoin="round"
|
|
141
|
+
marker-end={marker(mark.markerEnd)}
|
|
142
|
+
marker-start={marker(mark.markerStart)}
|
|
143
|
+
opacity={mark.opacity}
|
|
144
|
+
pointer-events={active(mark) ? undefined : 'none'}
|
|
145
|
+
cursor={active(mark) ? 'pointer' : undefined}
|
|
146
|
+
style:fill={mark.fill ?? 'none'}
|
|
147
|
+
style:stroke={strokeOf(mark)}
|
|
148
|
+
style:stroke-width={widthOf(mark)}
|
|
149
|
+
/>
|
|
150
|
+
{:else}
|
|
151
|
+
<text
|
|
152
|
+
data-role={mark.role}
|
|
153
|
+
data-target={active(mark) ? mark.target : undefined}
|
|
154
|
+
data-selected={mark.selected ? '' : undefined}
|
|
155
|
+
x={mark.x}
|
|
156
|
+
y={mark.y}
|
|
157
|
+
text-anchor={mark.anchor}
|
|
158
|
+
dominant-baseline={diagramTextBaseline(mark.baseline)}
|
|
159
|
+
transform={mark.rotate ? `rotate(${mark.rotate} ${mark.x} ${mark.y})` : undefined}
|
|
160
|
+
opacity={mark.opacity}
|
|
161
|
+
pointer-events={active(mark) ? undefined : 'none'}
|
|
162
|
+
cursor={active(mark) ? 'pointer' : undefined}
|
|
163
|
+
style:fill={mark.selected ? selectionColor : mark.fill}
|
|
164
|
+
style:font-size="{mark.size}px"
|
|
165
|
+
style:font-weight={mark.weight}
|
|
166
|
+
style:font-style={mark.italic ? 'italic' : undefined}
|
|
167
|
+
style:user-select="none">{mark.text}</text
|
|
168
|
+
>
|
|
169
|
+
{/if}
|
|
170
|
+
{/each}
|
|
171
|
+
</svg>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type DiagramScene } from '@pixerate/editor/canvas';
|
|
2
|
+
interface Props {
|
|
3
|
+
/** The family's picture (`createMermaidDiagram().scene`, or `mermaidToScene`). */
|
|
4
|
+
scene: DiagramScene;
|
|
5
|
+
/** Room around the drawing in px (default 16). */
|
|
6
|
+
padding?: number;
|
|
7
|
+
/** Marks with a target get a pointer and report clicks (default true). */
|
|
8
|
+
interactive?: boolean;
|
|
9
|
+
/** A mark was clicked: its node, edge, group or `::title` target (null: the background). */
|
|
10
|
+
onselect?: (target: string | null, event: MouseEvent) => void;
|
|
11
|
+
/** A mark was double-clicked (rename it with `diagramRenameOp`). */
|
|
12
|
+
onopen?: (target: string, event: MouseEvent) => void;
|
|
13
|
+
/** Colour of selected marks' outline (default `var(--primary, #2563eb)`). */
|
|
14
|
+
selectionColor?: string;
|
|
15
|
+
/** Arrow head colour (default `var(--muted-foreground, #64748b)`). */
|
|
16
|
+
markerColor?: string;
|
|
17
|
+
class?: string;
|
|
18
|
+
style?: string;
|
|
19
|
+
/** Accessible name (default: the family). */
|
|
20
|
+
title?: string;
|
|
21
|
+
}
|
|
22
|
+
declare const MermaidFamilyScene: import("svelte").Component<Props, {}, "">;
|
|
23
|
+
type MermaidFamilyScene = ReturnType<typeof MermaidFamilyScene>;
|
|
24
|
+
export default MermaidFamilyScene;
|
|
25
|
+
//# sourceMappingURL=MermaidFamilyScene.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MermaidFamilyScene.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/MermaidFamilyScene.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyC,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGjG,UAAU,KAAK;IACb,kFAAkF;IAClF,KAAK,EAAE,YAAY,CAAC;IACpB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9D,oEAAoE;IACpE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrD,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmEH,QAAA,MAAM,kBAAkB,2CAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
3
|
+
import { parseMermaid, type MermaidDocument } from '@pixerate/editor/diagram';
|
|
4
|
+
import { mermaidThumbnailSvg, type DiagramSvgOptions } from '@pixerate/editor/canvas';
|
|
5
|
+
|
|
6
|
+
interface Props extends DiagramSvgOptions {
|
|
7
|
+
/** Mermaid text, or an already parsed document. */
|
|
8
|
+
source: string | MermaidDocument;
|
|
9
|
+
class?: string;
|
|
10
|
+
/** Shown for families that cannot be drawn here (sequence, Gantt, …) and empty diagrams. */
|
|
11
|
+
fallback?: Snippet;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let { source, class: className = '', fallback, ...options }: Props = $props();
|
|
15
|
+
const doc = $derived(typeof source === 'string' ? parseMermaid(source) : source);
|
|
16
|
+
const drawn = $derived(doc.tier === 'editable' && doc.graph.nodes.length ? mermaidThumbnailSvg(doc, options) : null);
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<!--
|
|
20
|
+
A static preview of a flowchart, state, class or ER diagram (no canvas, no Mermaid runtime):
|
|
21
|
+
`mermaidThumbnailSvg` fitted inside `maxWidth` × `maxHeight` (default 240 × 160).
|
|
22
|
+
The SVG is built by mermaidToSvg with every label escaped.
|
|
23
|
+
-->
|
|
24
|
+
{#if drawn}
|
|
25
|
+
<span class="pixerate-diagram-thumbnail {className}" style="display: inline-block; line-height: 0;">{@html drawn.svg}</span>
|
|
26
|
+
{:else}
|
|
27
|
+
{@render fallback?.()}
|
|
28
|
+
{/if}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import { type MermaidDocument } from '@pixerate/editor/diagram';
|
|
3
|
+
import { type DiagramSvgOptions } from '@pixerate/editor/canvas';
|
|
4
|
+
interface Props extends DiagramSvgOptions {
|
|
5
|
+
/** Mermaid text, or an already parsed document. */
|
|
6
|
+
source: string | MermaidDocument;
|
|
7
|
+
class?: string;
|
|
8
|
+
/** Shown for families that cannot be drawn here (sequence, Gantt, …) and empty diagrams. */
|
|
9
|
+
fallback?: Snippet;
|
|
10
|
+
}
|
|
11
|
+
declare const MermaidThumbnail: import("svelte").Component<Props, {}, "">;
|
|
12
|
+
type MermaidThumbnail = ReturnType<typeof MermaidThumbnail>;
|
|
13
|
+
export default MermaidThumbnail;
|
|
14
|
+
//# sourceMappingURL=MermaidThumbnail.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MermaidThumbnail.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/MermaidThumbnail.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGrF,UAAU,KAAM,SAAQ,iBAAiB;IACxC,mDAAmD;IACnD,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAqBF,QAAA,MAAM,gBAAgB,2CAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAay90G,CAAC;;;;;;;;;;;YAAg/C,CAAC;mBAA8B,CAAC;;;;;;;YAAmjB,CAAC;gBAA0B,CAAC;;;EAHrl5G;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;;;;;;;;;;sBAoDi8vD,CAAC;sBAAiE,CAAC;sBAAiE,CAAC;oBAA+D,CAAC;cAAyD,CAAC;gBAAiD,CAAC;;;;;;;;;0BAA8tC,CAAC;;yBAA6kB,CAAC;;0BAAgf,CAAC;;;;;;;;;;EAxC3i1D;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;;;;;;;;aAiBmhuE,CAAC;;;;aAAiX,CAAC;cAAwB,CAAC;;;;;;;;;;gBAAqrD,CAAC;;;;EAHhnyE;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;;;;;4BAS+krI,CAAC;;UAAmM,CAAC;YAAsB,CAAC;eAAyB,CAAC;;8BAA8E,CAAC;;;;;;;;;;6BAA4nC,CAAC;;;;;;;;eAA6yB,CAAC;;;;;;;oBAAi7B,CAAC;;;;;;;;;;;;;;gBAA07C,CAAC;;EAH7s0I;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
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';
|
|
2
|
+
import { type DiagramLayout, type DiagramLayoutOptions, type DiagramScene, type DiagramSceneTheme, type MermaidFlowEdge, type MermaidFlowNode } from '@pixerate/editor/canvas';
|
|
3
3
|
export interface CreateMermaidDiagramOptions extends DiagramControllerOptions {
|
|
4
4
|
/** Layout spacing and node measuring for new nodes (stored positions always win). */
|
|
5
5
|
layoutOptions?: DiagramLayoutOptions;
|
|
6
|
+
/** Colours for families drawn as scenes (default: the page's CSS colour variables). */
|
|
7
|
+
sceneTheme?: Partial<DiagramSceneTheme>;
|
|
6
8
|
}
|
|
7
9
|
type Placed = {
|
|
8
10
|
id: string;
|
|
@@ -23,6 +25,12 @@ export interface SvelteMermaidDiagram {
|
|
|
23
25
|
readonly nodes: MermaidFlowNode[];
|
|
24
26
|
readonly edges: MermaidFlowEdge[];
|
|
25
27
|
readonly layout: DiagramLayout;
|
|
28
|
+
/**
|
|
29
|
+
* The family's own picture (pie, Gantt, sequence, XY, radar…) with the selection marked;
|
|
30
|
+
* null for families drawn as nodes and edges (flowchart, state, class, ER) and text-only
|
|
31
|
+
* ones. Render it with `MermaidFamilyScene` (reactive).
|
|
32
|
+
*/
|
|
33
|
+
readonly scene: DiagramScene | null;
|
|
26
34
|
apply(ops: EditOp | EditOp[], label?: string): DiagramActionResult;
|
|
27
35
|
/** Replaces the source; `clearHistory` when opening a different diagram. */
|
|
28
36
|
load(source: string, options?: {
|
|
@@ -34,6 +42,8 @@ export interface SvelteMermaidDiagram {
|
|
|
34
42
|
/** Removes nodes / groups (with their edges) and edges by id, as one undo step. */
|
|
35
43
|
remove(ids: readonly string[]): DiagramActionResult;
|
|
36
44
|
rename(id: string, label: string): DiagramActionResult;
|
|
45
|
+
/** Renames what a scene mark targets: the title (`::title`), a group, an edge or a node. */
|
|
46
|
+
renameTarget(target: string, label: string): DiagramActionResult | null;
|
|
37
47
|
select(ids: readonly string[]): void;
|
|
38
48
|
undo(): void;
|
|
39
49
|
redo(): void;
|
|
@@ -45,7 +55,9 @@ export interface SvelteMermaidDiagram {
|
|
|
45
55
|
* `DiagramController` (or creates one from options), lays it out and exposes canvas
|
|
46
56
|
* nodes and edges reactively with bound edits. Parity with React's `useMermaidDiagram`.
|
|
47
57
|
*/
|
|
48
|
-
export declare function createMermaidDiagram(controllerOrOptions?: DiagramController | CreateMermaidDiagramOptions
|
|
58
|
+
export declare function createMermaidDiagram(controllerOrOptions?: DiagramController | CreateMermaidDiagramOptions,
|
|
59
|
+
/** Layout and scene colours when passing a controller (options carry them otherwise). */
|
|
60
|
+
view?: Pick<CreateMermaidDiagramOptions, 'layoutOptions' | 'sceneTheme'>): SvelteMermaidDiagram;
|
|
49
61
|
export interface CreateMermaidStreamOptions extends DiagramLayoutOptions {
|
|
50
62
|
/** Glide duration between layouts in ms (default 300; 0 jumps). */
|
|
51
63
|
duration?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMermaidDiagram.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createMermaidDiagram.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,eAAe,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"createMermaidDiagram.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createMermaidDiagram.svelte.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { DiagramController } from '@pixerate/editor/diagram';
|
|
2
|
-
import { DiagramStream, blendDiagramLayout, easeDiagramTween, mermaidMovesFromCanvas, mermaidToCanvas } from '@pixerate/editor/canvas';
|
|
2
|
+
import { CSS_VARIABLE_DIAGRAM_SCENE_THEME, DiagramStream, blendDiagramLayout, diagramRenameOp, familySceneFromLayout, easeDiagramTween, mermaidMovesFromCanvas, mermaidToCanvas } from '@pixerate/editor/canvas';
|
|
3
3
|
/**
|
|
4
4
|
* Svelte 5 rune: a Mermaid diagram on a Svelte Flow canvas. Subscribes to a
|
|
5
5
|
* `DiagramController` (or creates one from options), lays it out and exposes canvas
|
|
6
6
|
* nodes and edges reactively with bound edits. Parity with React's `useMermaidDiagram`.
|
|
7
7
|
*/
|
|
8
|
-
export function createMermaidDiagram(controllerOrOptions = {}
|
|
8
|
+
export function createMermaidDiagram(controllerOrOptions = {},
|
|
9
|
+
/** Layout and scene colours when passing a controller (options carry them otherwise). */
|
|
10
|
+
view = {}) {
|
|
9
11
|
const controller = controllerOrOptions instanceof DiagramController ? controllerOrOptions : new DiagramController(controllerOrOptions);
|
|
10
|
-
const layoutOptions = controllerOrOptions instanceof DiagramController ? undefined : controllerOrOptions.layoutOptions;
|
|
12
|
+
const layoutOptions = (controllerOrOptions instanceof DiagramController ? undefined : controllerOrOptions.layoutOptions) ?? view.layoutOptions;
|
|
13
|
+
const sceneTheme = (controllerOrOptions instanceof DiagramController ? undefined : controllerOrOptions.sceneTheme) ?? view.sceneTheme;
|
|
11
14
|
let state = $state.raw(controller.getState());
|
|
12
15
|
const canvas = $derived(mermaidToCanvas(state.document, { ...layoutOptions, editable: state.editable }));
|
|
16
|
+
const scene = $derived(state.document.tier === 'editable'
|
|
17
|
+
? familySceneFromLayout(state.document.family, state.document.graph, canvas.layout, { theme: { ...CSS_VARIABLE_DIAGRAM_SCENE_THEME, ...sceneTheme }, selection: state.selection })
|
|
18
|
+
: null);
|
|
13
19
|
const unsubscribe = controller.subscribe((next) => {
|
|
14
20
|
state = next;
|
|
15
21
|
});
|
|
@@ -33,6 +39,9 @@ export function createMermaidDiagram(controllerOrOptions = {}) {
|
|
|
33
39
|
get layout() {
|
|
34
40
|
return canvas.layout;
|
|
35
41
|
},
|
|
42
|
+
get scene() {
|
|
43
|
+
return scene;
|
|
44
|
+
},
|
|
36
45
|
apply: (ops, label) => controller.apply(ops, label),
|
|
37
46
|
load: (source, options) => controller.load(source, options),
|
|
38
47
|
moveNodes: (moved, all = moved) => {
|
|
@@ -52,6 +61,10 @@ export function createMermaidDiagram(controllerOrOptions = {}) {
|
|
|
52
61
|
return controller.apply(ops, 'Delete');
|
|
53
62
|
},
|
|
54
63
|
rename: (id, label) => controller.apply(controller.getDocument().graph.groups.some((g) => g.id === id) ? { type: 'renameGroup', id, label } : { type: 'renameNode', id, label }, 'Rename'),
|
|
64
|
+
renameTarget: (target, label) => {
|
|
65
|
+
const op = diagramRenameOp(controller.getDocument(), target, label);
|
|
66
|
+
return op ? controller.apply(op, 'Rename') : null;
|
|
67
|
+
},
|
|
55
68
|
select: (ids) => controller.select(ids),
|
|
56
69
|
undo: () => void controller.undo(),
|
|
57
70
|
redo: () => void controller.redo(),
|
package/dist/canvas/index.d.ts
CHANGED
|
@@ -40,9 +40,11 @@ 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 MermaidFamilyScene } from './MermaidFamilyScene.svelte';
|
|
43
44
|
export { default as MermaidDiagramNode } from './MermaidDiagramNode.svelte';
|
|
44
45
|
export { default as MermaidDiagramGroup } from './MermaidDiagramGroup.svelte';
|
|
45
46
|
export { createMermaidDiagram, createMermaidStream, type CreateMermaidDiagramOptions, type CreateMermaidStreamOptions, type SvelteMermaidDiagram, type SvelteMermaidStream } from './createMermaidDiagram.svelte.js';
|
|
47
|
+
export { default as MermaidThumbnail } from './MermaidThumbnail.svelte';
|
|
46
48
|
export { default as DiagramPresenceLayer } from './DiagramPresenceLayer.svelte';
|
|
47
49
|
export { createDiagramDirector, type CreateDiagramDirectorOptions, type SvelteDiagramDirector } from './createDiagramDirector.svelte.js';
|
|
48
50
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas/index.ts"],"names":[],"mappings":"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
|
|
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,10 +72,14 @@ 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
|
|
75
|
+
// Mermaid diagrams on the canvas (flowchart, state, class, ER as nodes and edges; the other
|
|
76
|
+
// families as their own picture with MermaidFamilyScene), with streaming
|
|
77
|
+
export { default as MermaidFamilyScene } from './MermaidFamilyScene.svelte';
|
|
76
78
|
export { default as MermaidDiagramNode } from './MermaidDiagramNode.svelte';
|
|
77
79
|
export { default as MermaidDiagramGroup } from './MermaidDiagramGroup.svelte';
|
|
78
80
|
export { createMermaidDiagram, createMermaidStream } from './createMermaidDiagram.svelte.js';
|
|
81
|
+
// Static previews of Mermaid diagrams
|
|
82
|
+
export { default as MermaidThumbnail } from './MermaidThumbnail.svelte';
|
|
79
83
|
// Agent cursors acting out diagram edits
|
|
80
84
|
export { default as DiagramPresenceLayer } from './DiagramPresenceLayer.svelte';
|
|
81
85
|
export { createDiagramDirector } from './createDiagramDirector.svelte.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixerate/editor-svelte",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.51.0",
|
|
4
4
|
"description": "Svelte bindings and prompt/rich-text components for @pixerate/editor",
|
|
5
5
|
"author": "Pixerate",
|
|
6
6
|
"license": "MIT",
|
|
@@ -63,6 +63,11 @@
|
|
|
63
63
|
"svelte": "./dist/vector/index.js",
|
|
64
64
|
"default": "./dist/vector/index.js"
|
|
65
65
|
},
|
|
66
|
+
"./animation-editor": {
|
|
67
|
+
"types": "./dist/animation-editor/index.d.ts",
|
|
68
|
+
"svelte": "./dist/animation-editor/index.js",
|
|
69
|
+
"default": "./dist/animation-editor/index.js"
|
|
70
|
+
},
|
|
66
71
|
"./chart": {
|
|
67
72
|
"types": "./dist/chart/index.d.ts",
|
|
68
73
|
"svelte": "./dist/chart/index.js",
|
|
@@ -99,6 +104,9 @@
|
|
|
99
104
|
"vector": [
|
|
100
105
|
"./dist/vector/index.d.ts"
|
|
101
106
|
],
|
|
107
|
+
"animation-editor": [
|
|
108
|
+
"./dist/animation-editor/index.d.ts"
|
|
109
|
+
],
|
|
102
110
|
"chart": [
|
|
103
111
|
"./dist/chart/index.d.ts"
|
|
104
112
|
]
|
|
@@ -115,7 +123,7 @@
|
|
|
115
123
|
"@tiptap/extension-bubble-menu": "^2.11.5",
|
|
116
124
|
"@tiptap/extension-placeholder": "^2.11.5",
|
|
117
125
|
"@tiptap/starter-kit": "^2.11.5",
|
|
118
|
-
"@pixerate/editor": "0.
|
|
126
|
+
"@pixerate/editor": "0.56.0"
|
|
119
127
|
},
|
|
120
128
|
"peerDependencies": {
|
|
121
129
|
"@dagrejs/dagre": "^1.1.4",
|