@pixerate/editor-svelte 0.26.1 → 0.28.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/README.md +1 -0
- package/dist/agentTools.svelte.d.ts +1 -1
- package/dist/canvas/CanvasDrawLayer.svelte +171 -0
- package/dist/canvas/CanvasDrawLayer.svelte.d.ts +19 -0
- package/dist/canvas/CanvasDrawLayer.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/createCanvasDraw.svelte.d.ts +29 -0
- package/dist/canvas/createCanvasDraw.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasDraw.svelte.js +46 -0
- package/dist/canvas/index.d.ts +2 -0
- package/dist/canvas/index.d.ts.map +1 -1
- package/dist/canvas/index.js +3 -0
- package/dist/parameters/KeyframeDiamond.svelte +41 -0
- package/dist/parameters/KeyframeDiamond.svelte.d.ts +13 -0
- package/dist/parameters/KeyframeDiamond.svelte.d.ts.map +1 -0
- package/dist/parameters/ParameterColor.svelte +109 -0
- package/dist/parameters/ParameterColor.svelte.d.ts +15 -0
- package/dist/parameters/ParameterColor.svelte.d.ts.map +1 -0
- package/dist/parameters/ParameterCommitInput.svelte +41 -0
- package/dist/parameters/ParameterCommitInput.svelte.d.ts +13 -0
- package/dist/parameters/ParameterCommitInput.svelte.d.ts.map +1 -0
- package/dist/parameters/ParameterFieldControl.svelte +41 -0
- package/dist/parameters/ParameterFieldControl.svelte.d.ts +15 -0
- package/dist/parameters/ParameterFieldControl.svelte.d.ts.map +1 -0
- package/dist/parameters/ParameterImage.svelte +77 -0
- package/dist/parameters/ParameterImage.svelte.d.ts +14 -0
- package/dist/parameters/ParameterImage.svelte.d.ts.map +1 -0
- package/dist/parameters/ParameterNumberInput.svelte +54 -0
- package/dist/parameters/ParameterNumberInput.svelte.d.ts +13 -0
- package/dist/parameters/ParameterNumberInput.svelte.d.ts.map +1 -0
- package/dist/parameters/ParameterSelect.svelte +54 -0
- package/dist/parameters/ParameterSelect.svelte.d.ts +12 -0
- package/dist/parameters/ParameterSelect.svelte.d.ts.map +1 -0
- package/dist/parameters/ParameterSlider.svelte +64 -0
- package/dist/parameters/ParameterSlider.svelte.d.ts +15 -0
- package/dist/parameters/ParameterSlider.svelte.d.ts.map +1 -0
- package/dist/parameters/ParameterText.svelte +26 -0
- package/dist/parameters/ParameterText.svelte.d.ts +12 -0
- package/dist/parameters/ParameterText.svelte.d.ts.map +1 -0
- package/dist/parameters/ParameterToggle.svelte +31 -0
- package/dist/parameters/ParameterToggle.svelte.d.ts +12 -0
- package/dist/parameters/ParameterToggle.svelte.d.ts.map +1 -0
- package/dist/parameters/ParameterVector.svelte +34 -0
- package/dist/parameters/ParameterVector.svelte.d.ts +12 -0
- package/dist/parameters/ParameterVector.svelte.d.ts.map +1 -0
- package/dist/parameters/ParametersPanel.svelte +239 -0
- package/dist/parameters/ParametersPanel.svelte.d.ts +28 -0
- package/dist/parameters/ParametersPanel.svelte.d.ts.map +1 -0
- package/dist/parameters/createParameters.svelte.d.ts +32 -0
- package/dist/parameters/createParameters.svelte.d.ts.map +1 -0
- package/dist/parameters/createParameters.svelte.js +41 -0
- package/dist/parameters/index.d.ts +18 -0
- package/dist/parameters/index.d.ts.map +1 -0
- package/dist/parameters/index.js +14 -0
- package/dist/parameters/styles.d.ts +4 -0
- package/dist/parameters/styles.d.ts.map +1 -0
- package/dist/parameters/styles.js +4 -0
- package/package.json +11 -3
package/README.md
CHANGED
|
@@ -83,6 +83,7 @@ Tables are on by default in `createRichTextPreset` (`table: false` turns them of
|
|
|
83
83
|
| `@pixerate/editor-svelte/commands` | `CommandPalette`, `createCommandPalette` (`hotkey: "Mod+K"`; call `destroy()` when done), `createCommandShortcuts`, `useRegisterCommands` over a `CommandRegistry` from `@pixerate/editor/commands` (also re-exported from the root entry) |
|
|
84
84
|
| `@pixerate/editor-svelte/persistence` | `createAutosave` (crash-recovery snapshots bound to a history / dirty flag, flushed on `pagehide`; call `destroy()` when done) and `<RecoveryPrompt>` (also re-exported from the root entry) |
|
|
85
85
|
| `@pixerate/editor-svelte/generation` | `GenerationSettings` (controls generated from a model's capabilities, reference slots by role, plan adjustments; `onchange` / `onaddreference`), `createGenerationPlan(() => request, () => caps)`, `JobProgress`, `createJobProgress` (call `destroy()` when done) over `@pixerate/editor/generation` (also re-exported from the root entry) |
|
|
86
|
+
| `@pixerate/editor-svelte/parameters` | `ParametersPanel` (a whole schema with groups, presets, undo / reset / randomize and keyframe diamonds), `createParameters` (call `destroy()` when done), `useParameterCommands`, and the field controls `ParameterFieldControl`, `ParameterSlider`, `ParameterToggle`, `ParameterSelect`, `ParameterColor`, `ParameterVector`, `ParameterImage`, `ParameterText`, `KeyframeDiamond` over `@pixerate/editor/parameters` (see [the parameters guide](../../docs/parameters.md)) |
|
|
86
87
|
| `@pixerate/editor-svelte/canvas` | Runes for `@xyflow/svelte`: `createCanvasGraph`, `createCanvasClipboard`, `createCanvasDocking`, `createCanvasShortcuts`, `createCanvasInteractions`, `createCanvasExplosion`, `createCanvasNodeSync`, `createCanvasMultiDrag`, `createStreamingCanvas`, `AgentPresenceLayer`, `FloatingHorizontalScrollbar`, plus layout helpers |
|
|
87
88
|
|
|
88
89
|
Spreadsheet persistence: `createReactiveSpreadsheet` exposes `document` (and passes it to `onDocumentChange`) with the defined names its formulas use in `document.names`, so saving that document and passing it back as `document` restores workbook, sheet-scoped and LAMBDA names. For several sheets, save `controller.getWorkbook()` instead.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentToolProvider, ToolRegistry } from "@pixerate/editor/
|
|
1
|
+
import type { AgentToolProvider, ToolRegistry } from "@pixerate/editor/tools";
|
|
2
2
|
type MaybeGetter<T> = T | (() => T);
|
|
3
3
|
/**
|
|
4
4
|
* Registers a tool provider with a `ToolRegistry` for the lifetime of the
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { CanvasNode } from './types.js';
|
|
3
|
+
import type { CanvasDraw } from './createCanvasDraw.svelte.js';
|
|
4
|
+
import {
|
|
5
|
+
strokePointsToPathData,
|
|
6
|
+
type CanvasViewport
|
|
7
|
+
} from '@pixerate/editor/canvas';
|
|
8
|
+
|
|
9
|
+
interface Props<TNode extends CanvasNode = CanvasNode> {
|
|
10
|
+
/** Draw state and controller actions from `createCanvasDraw`. */
|
|
11
|
+
draw: CanvasDraw<TNode>;
|
|
12
|
+
/** Current viewport (`useSvelteFlow().getViewport()` or the `viewport` binding). */
|
|
13
|
+
viewport?: CanvasViewport;
|
|
14
|
+
/** Optional class name on the root SVG overlay element. */
|
|
15
|
+
class?: string;
|
|
16
|
+
/** Cursor styling override when drawing or erasing. */
|
|
17
|
+
cursor?: string;
|
|
18
|
+
/** Eraser circle preview radius in screen pixels (default: 12). */
|
|
19
|
+
eraserRadius?: number;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let {
|
|
23
|
+
draw,
|
|
24
|
+
viewport = { x: 0, y: 0, zoom: 1 },
|
|
25
|
+
class: className = '',
|
|
26
|
+
cursor,
|
|
27
|
+
eraserRadius = 12
|
|
28
|
+
}: Props = $props();
|
|
29
|
+
|
|
30
|
+
let svgEl = $state<SVGSVGElement | null>(null);
|
|
31
|
+
let spaceHeld = $state(false);
|
|
32
|
+
let eraserPos = $state<[number, number] | null>(null);
|
|
33
|
+
|
|
34
|
+
function onKeyDown(e: KeyboardEvent) {
|
|
35
|
+
if (e.code === 'Space' && !e.repeat) {
|
|
36
|
+
const tag = (e.target as HTMLElement)?.tagName;
|
|
37
|
+
if (tag === 'INPUT' || tag === 'TEXTAREA' || (e.target as HTMLElement)?.isContentEditable) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
spaceHeld = true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function onKeyUp(e: KeyboardEvent) {
|
|
45
|
+
if (e.code === 'Space') {
|
|
46
|
+
spaceHeld = false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
$effect(() => {
|
|
51
|
+
if (typeof window === 'undefined') return;
|
|
52
|
+
window.addEventListener('keydown', onKeyDown);
|
|
53
|
+
window.addEventListener('keyup', onKeyUp);
|
|
54
|
+
return () => {
|
|
55
|
+
window.removeEventListener('keydown', onKeyDown);
|
|
56
|
+
window.removeEventListener('keyup', onKeyUp);
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
function clientToFlow(clientX: number, clientY: number): [number, number] {
|
|
61
|
+
if (!svgEl) return [0, 0];
|
|
62
|
+
const rect = svgEl.getBoundingClientRect();
|
|
63
|
+
const screenX = clientX - rect.left;
|
|
64
|
+
const screenY = clientY - rect.top;
|
|
65
|
+
const flowX = (screenX - viewport.x) / viewport.zoom;
|
|
66
|
+
const flowY = (screenY - viewport.y) / viewport.zoom;
|
|
67
|
+
return [flowX, flowY];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
let isDrawingMode = $derived(draw.tool !== 'select');
|
|
71
|
+
let interactive = $derived(isDrawingMode && !spaceHeld);
|
|
72
|
+
|
|
73
|
+
let resolvedCursor = $derived(
|
|
74
|
+
cursor
|
|
75
|
+
? cursor
|
|
76
|
+
: spaceHeld
|
|
77
|
+
? 'grab'
|
|
78
|
+
: draw.tool === 'eraser'
|
|
79
|
+
? 'crosshair'
|
|
80
|
+
: draw.tool === 'pen' || draw.tool === 'highlighter'
|
|
81
|
+
? 'crosshair'
|
|
82
|
+
: 'default'
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
let strokePath = $derived(
|
|
86
|
+
draw.activeStroke ? strokePointsToPathData(draw.activeStroke.points) : null
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
function handlePointerDown(e: PointerEvent) {
|
|
90
|
+
if (!interactive || e.button !== 0) return;
|
|
91
|
+
e.preventDefault();
|
|
92
|
+
e.stopPropagation();
|
|
93
|
+
(e.target as Element).setPointerCapture?.(e.pointerId);
|
|
94
|
+
|
|
95
|
+
const flowPt = clientToFlow(e.clientX, e.clientY);
|
|
96
|
+
draw.startStroke(flowPt);
|
|
97
|
+
|
|
98
|
+
if (draw.tool === 'eraser') {
|
|
99
|
+
eraserPos = [e.clientX, e.clientY];
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function handlePointerMove(e: PointerEvent) {
|
|
104
|
+
if (draw.tool === 'eraser' && !spaceHeld) {
|
|
105
|
+
eraserPos = [e.clientX, e.clientY];
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (!interactive) return;
|
|
109
|
+
if (e.buttons === 1) {
|
|
110
|
+
e.preventDefault();
|
|
111
|
+
e.stopPropagation();
|
|
112
|
+
const flowPt = clientToFlow(e.clientX, e.clientY);
|
|
113
|
+
draw.continueStroke(flowPt);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function handlePointerUp(e: PointerEvent) {
|
|
118
|
+
if (!interactive || e.button !== 0) return;
|
|
119
|
+
e.preventDefault();
|
|
120
|
+
e.stopPropagation();
|
|
121
|
+
try {
|
|
122
|
+
(e.target as Element).releasePointerCapture?.(e.pointerId);
|
|
123
|
+
} catch {
|
|
124
|
+
// ignore
|
|
125
|
+
}
|
|
126
|
+
draw.endStroke();
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function handlePointerLeave() {
|
|
130
|
+
eraserPos = null;
|
|
131
|
+
}
|
|
132
|
+
</script>
|
|
133
|
+
|
|
134
|
+
<svg
|
|
135
|
+
bind:this={svgEl}
|
|
136
|
+
role="presentation"
|
|
137
|
+
class="pixerate-canvas-draw-layer {className}"
|
|
138
|
+
style="position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: {interactive ? 'all' : 'none'}; cursor: {interactive ? resolvedCursor : 'default'}; overflow: visible; z-index: 20; touch-action: none;"
|
|
139
|
+
onpointerdown={handlePointerDown}
|
|
140
|
+
onpointermove={handlePointerMove}
|
|
141
|
+
onpointerup={handlePointerUp}
|
|
142
|
+
onpointerleave={handlePointerLeave}
|
|
143
|
+
>
|
|
144
|
+
<g transform="translate({viewport.x}, {viewport.y}) scale({viewport.zoom})">
|
|
145
|
+
{#if draw.activeStroke && strokePath}
|
|
146
|
+
<path
|
|
147
|
+
d={strokePath}
|
|
148
|
+
fill="none"
|
|
149
|
+
stroke={draw.activeStroke.style.color}
|
|
150
|
+
stroke-width={draw.activeStroke.style.width}
|
|
151
|
+
opacity={draw.activeStroke.style.opacity}
|
|
152
|
+
stroke-linecap={draw.activeStroke.style.cap ?? 'round'}
|
|
153
|
+
stroke-linejoin={draw.activeStroke.style.join ?? 'round'}
|
|
154
|
+
/>
|
|
155
|
+
{/if}
|
|
156
|
+
</g>
|
|
157
|
+
|
|
158
|
+
{#if draw.tool === 'eraser' && eraserPos && svgEl}
|
|
159
|
+
{@const rect = svgEl.getBoundingClientRect()}
|
|
160
|
+
<circle
|
|
161
|
+
cx={eraserPos[0] - rect.left}
|
|
162
|
+
cy={eraserPos[1] - rect.top}
|
|
163
|
+
r={eraserRadius}
|
|
164
|
+
fill="rgba(239, 68, 68, 0.15)"
|
|
165
|
+
stroke="rgba(239, 68, 68, 0.8)"
|
|
166
|
+
stroke-width="1.5"
|
|
167
|
+
stroke-dasharray="3 3"
|
|
168
|
+
pointer-events="none"
|
|
169
|
+
/>
|
|
170
|
+
{/if}
|
|
171
|
+
</svg>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CanvasNode } from './types.js';
|
|
2
|
+
import type { CanvasDraw } from './createCanvasDraw.svelte.js';
|
|
3
|
+
import { type CanvasViewport } from '@pixerate/editor/canvas';
|
|
4
|
+
interface Props<TNode extends CanvasNode = CanvasNode> {
|
|
5
|
+
/** Draw state and controller actions from `createCanvasDraw`. */
|
|
6
|
+
draw: CanvasDraw<TNode>;
|
|
7
|
+
/** Current viewport (`useSvelteFlow().getViewport()` or the `viewport` binding). */
|
|
8
|
+
viewport?: CanvasViewport;
|
|
9
|
+
/** Optional class name on the root SVG overlay element. */
|
|
10
|
+
class?: string;
|
|
11
|
+
/** Cursor styling override when drawing or erasing. */
|
|
12
|
+
cursor?: string;
|
|
13
|
+
/** Eraser circle preview radius in screen pixels (default: 12). */
|
|
14
|
+
eraserRadius?: number;
|
|
15
|
+
}
|
|
16
|
+
declare const CanvasDrawLayer: import("svelte").Component<Props<CanvasNode>, {}, "">;
|
|
17
|
+
type CanvasDrawLayer = ReturnType<typeof CanvasDrawLayer>;
|
|
18
|
+
export default CanvasDrawLayer;
|
|
19
|
+
//# sourceMappingURL=CanvasDrawLayer.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasDrawLayer.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/CanvasDrawLayer.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAEL,KAAK,cAAc,EACnB,MAAM,yBAAyB,CAAC;AAGjC,UAAU,KAAK,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU;IACpD,iEAAiE;IACjE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACxB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAsIF,QAAA,MAAM,eAAe,uDAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAaqhjI,CAAC;;;;;;;;;;;YAAg/C,CAAC;mBAA8B,CAAC;;;;;;;YAAmjB,CAAC;gBAA0B,CAAC;;;EAHjpnI;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;;;;;;;;;;sBAoD48/E,CAAC;sBAAiE,CAAC;sBAAiE,CAAC;oBAA+D,CAAC;cAAyD,CAAC;gBAAiD,CAAC;;;;;;;;;0BAA8tC,CAAC;;yBAA6kB,CAAC;;0BAAgf,CAAC;;;;;;;;;;EAxCtjlF;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;;;;;;;;aAiB2m9F,CAAC;;;;aAAiX,CAAC;cAAwB,CAAC;;;;;;;;;;gBAAqrD,CAAC;;;;EAHxshG;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;;;;;4BAS2o5J,CAAC;;UAAmM,CAAC;YAAsB,CAAC;eAAyB,CAAC;;8BAA8E,CAAC;;;;;;;;;;6BAA4nC,CAAC;;;;;;;;eAA6yB,CAAC;;;;;;;oBAAi7B,CAAC;;;;;;;;;;;;;;gBAA07C,CAAC;;EAHzwiK;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type CanvasDrawControllerOptions, type FreehandStroke, type FreehandStrokeStyle, type FreehandTool } from '@pixerate/editor/canvas';
|
|
2
|
+
import type { CanvasNode } from './types.js';
|
|
3
|
+
type CoreOptions = CanvasDrawControllerOptions<any>;
|
|
4
|
+
export interface CreateCanvasDrawOptions<TNode extends CanvasNode = CanvasNode> extends Omit<CoreOptions, 'getNodes' | 'setNodes' | 'onToolChange' | 'onStyleChange' | 'onActiveStrokeChange'> {
|
|
5
|
+
getNodes: () => TNode[];
|
|
6
|
+
setNodes: (nodes: TNode[]) => void;
|
|
7
|
+
onToolChange?: (tool: FreehandTool) => void;
|
|
8
|
+
onStyleChange?: (style: FreehandStrokeStyle) => void;
|
|
9
|
+
onActiveStrokeChange?: (stroke: FreehandStroke | null) => void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Headless Svelte 5 rune managing freehand drawing tools (pen, highlighter, eraser) on a canvas.
|
|
13
|
+
*/
|
|
14
|
+
export declare function createCanvasDraw<TNode extends CanvasNode = CanvasNode>(options: CreateCanvasDrawOptions<TNode>): {
|
|
15
|
+
readonly tool: FreehandTool;
|
|
16
|
+
setTool: (tool: FreehandTool) => void;
|
|
17
|
+
readonly style: FreehandStrokeStyle;
|
|
18
|
+
setStyle: (style: Partial<FreehandStrokeStyle>) => void;
|
|
19
|
+
readonly activeStroke: FreehandStroke | null;
|
|
20
|
+
readonly isDrawing: boolean;
|
|
21
|
+
startStroke: (point: import("@pixerate/editor/canvas").Point) => void;
|
|
22
|
+
continueStroke: (point: import("@pixerate/editor/canvas").Point) => void;
|
|
23
|
+
endStroke: () => any;
|
|
24
|
+
cancelStroke: () => void;
|
|
25
|
+
eraseAt: (point: import("@pixerate/editor/canvas").Point, radius?: number) => any[];
|
|
26
|
+
};
|
|
27
|
+
export type CanvasDraw<TNode extends CanvasNode = CanvasNode> = ReturnType<typeof createCanvasDraw<TNode>>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=createCanvasDraw.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCanvasDraw.svelte.d.ts","sourceRoot":"","sources":["../../src/canvas/createCanvasDraw.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,2BAA2B,EAChC,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,KAAK,WAAW,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;AAEpD,MAAM,WAAW,uBAAuB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CAC7E,SAAQ,IAAI,CACX,WAAW,EACX,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,sBAAsB,CACnF;IACD,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrD,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EACrE,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC;;;;;;;;;;;;EA6CvC;AAED,MAAM,MAAM,UAAU,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,IAAI,UAAU,CACzE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAC9B,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createCanvasDrawController } from '@pixerate/editor/canvas';
|
|
2
|
+
/**
|
|
3
|
+
* Headless Svelte 5 rune managing freehand drawing tools (pen, highlighter, eraser) on a canvas.
|
|
4
|
+
*/
|
|
5
|
+
export function createCanvasDraw(options) {
|
|
6
|
+
let tool = $state.raw(options.tool ?? 'select');
|
|
7
|
+
let activeStroke = $state.raw(null);
|
|
8
|
+
const controller = createCanvasDrawController({
|
|
9
|
+
...options,
|
|
10
|
+
onToolChange: (nextTool) => {
|
|
11
|
+
tool = nextTool;
|
|
12
|
+
style = controller.style;
|
|
13
|
+
options.onToolChange?.(nextTool);
|
|
14
|
+
},
|
|
15
|
+
onStyleChange: (nextStyle) => {
|
|
16
|
+
style = nextStyle;
|
|
17
|
+
options.onStyleChange?.(nextStyle);
|
|
18
|
+
},
|
|
19
|
+
onActiveStrokeChange: (nextStroke) => {
|
|
20
|
+
activeStroke = nextStroke;
|
|
21
|
+
options.onActiveStrokeChange?.(nextStroke);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
let style = $state.raw(controller.style);
|
|
25
|
+
return {
|
|
26
|
+
get tool() {
|
|
27
|
+
return tool;
|
|
28
|
+
},
|
|
29
|
+
setTool: controller.setTool,
|
|
30
|
+
get style() {
|
|
31
|
+
return style;
|
|
32
|
+
},
|
|
33
|
+
setStyle: controller.setStyle,
|
|
34
|
+
get activeStroke() {
|
|
35
|
+
return activeStroke;
|
|
36
|
+
},
|
|
37
|
+
get isDrawing() {
|
|
38
|
+
return activeStroke !== null;
|
|
39
|
+
},
|
|
40
|
+
startStroke: controller.startStroke,
|
|
41
|
+
continueStroke: controller.continueStroke,
|
|
42
|
+
endStroke: controller.endStroke,
|
|
43
|
+
cancelStroke: controller.cancelStroke,
|
|
44
|
+
eraseAt: controller.eraseAt
|
|
45
|
+
};
|
|
46
|
+
}
|
package/dist/canvas/index.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export { createStreamingCanvas, type CreateStreamingCanvasOptions } from './crea
|
|
|
17
17
|
export { createCanvasArrange, createCanvasArrangeShortcuts, type CanvasArrange, type CreateCanvasArrangeOptions, type CanvasArrangeShortcutsOptions } from './createCanvasArrange.svelte.js';
|
|
18
18
|
export { createCanvasScenes, type CanvasScenes, type CreateCanvasScenesOptions } from './createCanvasScenes.svelte.js';
|
|
19
19
|
export { default as CanvasGuidesLayer } from './CanvasGuidesLayer.svelte';
|
|
20
|
+
export { createCanvasDraw, type CanvasDraw, type CreateCanvasDrawOptions } from './createCanvasDraw.svelte.js';
|
|
21
|
+
export { default as CanvasDrawLayer } from './CanvasDrawLayer.svelte';
|
|
20
22
|
export { createCanvasMeasure, type CanvasMeasure, type CreateCanvasMeasureOptions } from './createCanvasMeasure.svelte.js';
|
|
21
23
|
export { measureBetween, measureToLine, measureSelection, measureLabel, isMeasureModifierHeld, snapToGrid, snapResize, snapNodeResize, inferResizeHandle, resizeHandleAxes, getResizingNodeRect, RESIZE_HANDLES, fitCubics, fitCubicRun, fitPathData, fitFreehandPath, cubicsToPathData, cubicPointAt, isStraightCubic, type MeasureGuide, type MeasureSelectionResult, type MeasureSelectionOptions, type ResizeHandle, type SnapResizeOptions, type SnapResizeResult, type SnapNodeResizeOptions, type SnapNodeResizeResult, type CubicSegment, type FitCubicsOptions, type FitPathDataOptions } from '@pixerate/editor/canvas';
|
|
22
24
|
export { alignNodes, distributeNodes, matchSize, reorderNodes, applyNodeUpdates, invertNodeUpdates, lockNodes, unlockNodes, toggleLockNodes, isLocked, getNodeSize, getNodeRect, getAbsolutePosition, readStyleSize, withStyleSize, computeSnapGuides, createGuideIndex, createNodeGuideIndex, snapNodeDrag, findConnectorSnap, nearestHandlePositions, handlePoint, positionToSide, sideToPosition, oppositePosition, CONNECTION_LINE_TYPES, CanvasScenesStore, createCanvasScenesStore, parseCanvasScenes, fitViewportToRect, fitViewportToNodes, matchArrangeShortcut, DEFAULT_ARRANGE_SHORTCUTS, type AlignEdge, type DistributeAxis, type DistributeMode, type SizeDimension, type ZOrderOperation, type CanvasNodeUpdate, type GuideLine, type GuideIndex, type SnapGuidesOptions, type SnapResult, type ConnectorSnap, type ConnectorSnapTarget, type CanvasConnectionLineType, type CanvasScene, type CanvasScenesState, type CanvasViewport, type CanvasArrangeAction, type ArrangeShortcutBinding } from '@pixerate/editor/canvas';
|
|
@@ -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
|
@@ -34,6 +34,9 @@ export { createStreamingCanvas } from './createStreamingCanvas.svelte.js';
|
|
|
34
34
|
export { createCanvasArrange, createCanvasArrangeShortcuts } from './createCanvasArrange.svelte.js';
|
|
35
35
|
export { createCanvasScenes } from './createCanvasScenes.svelte.js';
|
|
36
36
|
export { default as CanvasGuidesLayer } from './CanvasGuidesLayer.svelte';
|
|
37
|
+
// Freehand drawing tools (pen, highlighter, eraser)
|
|
38
|
+
export { createCanvasDraw } from './createCanvasDraw.svelte.js';
|
|
39
|
+
export { default as CanvasDrawLayer } from './CanvasDrawLayer.svelte';
|
|
37
40
|
// Distance measuring (Alt-hover), resize / grid snapping and curve fitting
|
|
38
41
|
export { createCanvasMeasure } from './createCanvasMeasure.svelte.js';
|
|
39
42
|
export { measureBetween, measureToLine, measureSelection, measureLabel, isMeasureModifierHeld, snapToGrid, snapResize, snapNodeResize, inferResizeHandle, resizeHandleAxes, getResizingNodeRect, RESIZE_HANDLES, fitCubics, fitCubicRun, fitPathData, fitFreehandPath, cubicsToPathData, cubicPointAt, isStraightCubic } from '@pixerate/editor/canvas';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { ParameterKeyState } from '@pixerate/editor/parameters';
|
|
3
|
+
|
|
4
|
+
interface Props {
|
|
5
|
+
state: ParameterKeyState;
|
|
6
|
+
ontoggle: () => void;
|
|
7
|
+
/** The parameter's label (for the accessible name). */
|
|
8
|
+
label: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
class?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
let { state, ontoggle, label, disabled = false, class: className = '' }: Props = $props();
|
|
14
|
+
|
|
15
|
+
const keyed = $derived(state === 'keyed');
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<!-- A keyframe toggle: filled when a key sits at the playhead, tinted when the value is animated. -->
|
|
19
|
+
<button
|
|
20
|
+
type="button"
|
|
21
|
+
data-key-state={state}
|
|
22
|
+
aria-pressed={keyed}
|
|
23
|
+
aria-label="{keyed ? 'Remove' : 'Add'} keyframe for {label}"
|
|
24
|
+
title={keyed ? 'Remove keyframe here' : 'Add keyframe at the playhead'}
|
|
25
|
+
{disabled}
|
|
26
|
+
onclick={ontoggle}
|
|
27
|
+
class="inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary disabled:opacity-40 {state ===
|
|
28
|
+
'none'
|
|
29
|
+
? 'text-muted-foreground hover:text-foreground'
|
|
30
|
+
: 'text-amber-500'} {className}"
|
|
31
|
+
>
|
|
32
|
+
<svg viewBox="0 0 10 10" class="h-2.5 w-2.5" aria-hidden="true">
|
|
33
|
+
<path
|
|
34
|
+
d="M5 0.8 9.2 5 5 9.2 0.8 5Z"
|
|
35
|
+
fill={keyed ? 'currentColor' : 'none'}
|
|
36
|
+
stroke="currentColor"
|
|
37
|
+
stroke-width="1.3"
|
|
38
|
+
opacity={state === 'animated' ? 0.7 : 1}
|
|
39
|
+
/>
|
|
40
|
+
</svg>
|
|
41
|
+
</button>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ParameterKeyState } from '@pixerate/editor/parameters';
|
|
2
|
+
interface Props {
|
|
3
|
+
state: ParameterKeyState;
|
|
4
|
+
ontoggle: () => void;
|
|
5
|
+
/** The parameter's label (for the accessible name). */
|
|
6
|
+
label: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
class?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const KeyframeDiamond: import("svelte").Component<Props, {}, "">;
|
|
11
|
+
type KeyframeDiamond = ReturnType<typeof KeyframeDiamond>;
|
|
12
|
+
export default KeyframeDiamond;
|
|
13
|
+
//# sourceMappingURL=KeyframeDiamond.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyframeDiamond.svelte.d.ts","sourceRoot":"","sources":["../../src/parameters/KeyframeDiamond.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,UAAU,KAAK;IACb,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsBH,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { normalizeHexColor, parameterLabel, type ColorParameterField } from '@pixerate/editor/parameters';
|
|
3
|
+
import ParameterCommitInput from './ParameterCommitInput.svelte';
|
|
4
|
+
import { parameterInputClass, parameterRangeClass } from './styles.js';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
field: ColorParameterField;
|
|
8
|
+
value: string;
|
|
9
|
+
onchange: (value: string) => void;
|
|
10
|
+
/** A pick or alpha drag started: merge changes into one undo step until `ongestureend`. */
|
|
11
|
+
ongesturestart?: () => void;
|
|
12
|
+
ongestureend?: () => void;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
id?: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
let { field, value, onchange, ongesturestart, ongestureend, disabled = false, id }: Props = $props();
|
|
18
|
+
|
|
19
|
+
const alpha = $derived(!!field.alpha);
|
|
20
|
+
const hex = $derived(normalizeHexColor(value, true) ?? '#000000ff');
|
|
21
|
+
const rgb = $derived(hex.slice(0, 7));
|
|
22
|
+
const a = $derived(hex.slice(7));
|
|
23
|
+
const shown = $derived(alpha ? hex : rgb);
|
|
24
|
+
const off = $derived(disabled || !!field.readOnly);
|
|
25
|
+
const name = $derived(parameterLabel(field));
|
|
26
|
+
|
|
27
|
+
let picking = false;
|
|
28
|
+
function start() {
|
|
29
|
+
if (picking) return;
|
|
30
|
+
picking = true;
|
|
31
|
+
ongesturestart?.();
|
|
32
|
+
}
|
|
33
|
+
function end() {
|
|
34
|
+
if (!picking) return;
|
|
35
|
+
picking = false;
|
|
36
|
+
ongestureend?.();
|
|
37
|
+
}
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
<!-- A colour picker with a hex box, an alpha slider (with `alpha`) and swatches. -->
|
|
41
|
+
<div class="space-y-1.5">
|
|
42
|
+
<div class="flex items-center gap-2">
|
|
43
|
+
<span
|
|
44
|
+
class="relative h-7 w-9 shrink-0 overflow-hidden rounded-md border border-input bg-[repeating-conic-gradient(#d4d4d8_0_25%,#fff_0_50%)] bg-[length:8px_8px]"
|
|
45
|
+
>
|
|
46
|
+
<span class="absolute inset-0" style:background={shown}></span>
|
|
47
|
+
<input
|
|
48
|
+
type="color"
|
|
49
|
+
aria-label={name}
|
|
50
|
+
value={rgb}
|
|
51
|
+
disabled={off}
|
|
52
|
+
class="absolute inset-0 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed"
|
|
53
|
+
oninput={(e) => {
|
|
54
|
+
start();
|
|
55
|
+
onchange(alpha ? `${e.currentTarget.value}${a}` : e.currentTarget.value);
|
|
56
|
+
}}
|
|
57
|
+
onblur={end}
|
|
58
|
+
/>
|
|
59
|
+
</span>
|
|
60
|
+
<ParameterCommitInput
|
|
61
|
+
{id}
|
|
62
|
+
aria-label="{name} hex"
|
|
63
|
+
value={shown}
|
|
64
|
+
disabled={off}
|
|
65
|
+
spellcheck={false}
|
|
66
|
+
class="{parameterInputClass} font-mono"
|
|
67
|
+
oncommit={(text) => {
|
|
68
|
+
const next = normalizeHexColor(text, alpha);
|
|
69
|
+
if (next) onchange(next);
|
|
70
|
+
}}
|
|
71
|
+
/>
|
|
72
|
+
</div>
|
|
73
|
+
{#if alpha}
|
|
74
|
+
<input
|
|
75
|
+
type="range"
|
|
76
|
+
aria-label="{name} opacity"
|
|
77
|
+
min="0"
|
|
78
|
+
max="255"
|
|
79
|
+
step="1"
|
|
80
|
+
value={parseInt(a, 16)}
|
|
81
|
+
disabled={off}
|
|
82
|
+
class={parameterRangeClass}
|
|
83
|
+
onpointerdown={start}
|
|
84
|
+
onpointerup={end}
|
|
85
|
+
onpointercancel={end}
|
|
86
|
+
onblur={end}
|
|
87
|
+
oninput={(e) => onchange(`${rgb}${Number(e.currentTarget.value).toString(16).padStart(2, '0')}`)}
|
|
88
|
+
/>
|
|
89
|
+
{/if}
|
|
90
|
+
{#if field.swatches && field.swatches.length > 0}
|
|
91
|
+
<div class="flex flex-wrap gap-1">
|
|
92
|
+
{#each field.swatches as s (s)}
|
|
93
|
+
{@const swatch = normalizeHexColor(s, alpha)}
|
|
94
|
+
{#if swatch}
|
|
95
|
+
<button
|
|
96
|
+
type="button"
|
|
97
|
+
title={swatch}
|
|
98
|
+
aria-label="{name} {swatch}"
|
|
99
|
+
aria-pressed={swatch === shown}
|
|
100
|
+
disabled={off}
|
|
101
|
+
onclick={() => onchange(swatch)}
|
|
102
|
+
class="h-5 w-5 rounded border border-input aria-pressed:ring-1 aria-pressed:ring-primary"
|
|
103
|
+
style:background={swatch}
|
|
104
|
+
></button>
|
|
105
|
+
{/if}
|
|
106
|
+
{/each}
|
|
107
|
+
</div>
|
|
108
|
+
{/if}
|
|
109
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ColorParameterField } from '@pixerate/editor/parameters';
|
|
2
|
+
interface Props {
|
|
3
|
+
field: ColorParameterField;
|
|
4
|
+
value: string;
|
|
5
|
+
onchange: (value: string) => void;
|
|
6
|
+
/** A pick or alpha drag started: merge changes into one undo step until `ongestureend`. */
|
|
7
|
+
ongesturestart?: () => void;
|
|
8
|
+
ongestureend?: () => void;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
id?: string;
|
|
11
|
+
}
|
|
12
|
+
declare const ParameterColor: import("svelte").Component<Props, {}, "">;
|
|
13
|
+
type ParameterColor = ReturnType<typeof ParameterColor>;
|
|
14
|
+
export default ParameterColor;
|
|
15
|
+
//# sourceMappingURL=ParameterColor.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParameterColor.svelte.d.ts","sourceRoot":"","sources":["../../src/parameters/ParameterColor.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqC,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAKxG,UAAU,KAAK;IACb,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AA8DH,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLInputAttributes } from 'svelte/elements';
|
|
3
|
+
import { parameterInputClass } from './styles.js';
|
|
4
|
+
|
|
5
|
+
interface Props extends Omit<HTMLInputAttributes, 'value' | 'class'> {
|
|
6
|
+
value: string;
|
|
7
|
+
/** Called with the text and the element (e.g. to show the stored value again after a refused edit). */
|
|
8
|
+
oncommit: (value: string, input: HTMLInputElement | HTMLTextAreaElement) => void;
|
|
9
|
+
/** A textarea that commits on blur or Mod+Enter. */
|
|
10
|
+
multiline?: boolean;
|
|
11
|
+
class?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let { value, oncommit, multiline = false, class: className = parameterInputClass, onkeydown, ...rest }: Props = $props();
|
|
15
|
+
|
|
16
|
+
function commit(el: HTMLInputElement | HTMLTextAreaElement) {
|
|
17
|
+
if (el.value !== value) oncommit(el.value, el);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function keydown(e: KeyboardEvent & { currentTarget: HTMLInputElement | HTMLTextAreaElement }) {
|
|
21
|
+
(onkeydown as ((e: KeyboardEvent) => void) | undefined)?.(e);
|
|
22
|
+
if (e.defaultPrevented) return;
|
|
23
|
+
if (e.key === 'Enter' && (!multiline || e.metaKey || e.ctrlKey)) {
|
|
24
|
+
e.preventDefault();
|
|
25
|
+
commit(e.currentTarget);
|
|
26
|
+
}
|
|
27
|
+
if (e.key === 'Escape') e.currentTarget.value = value;
|
|
28
|
+
}
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
{#if multiline}
|
|
32
|
+
<textarea
|
|
33
|
+
{...rest as any}
|
|
34
|
+
class="{className} h-auto min-h-[3.5rem] py-1"
|
|
35
|
+
{value}
|
|
36
|
+
onblur={(e) => commit(e.currentTarget)}
|
|
37
|
+
onkeydown={keydown}
|
|
38
|
+
></textarea>
|
|
39
|
+
{:else}
|
|
40
|
+
<input type="text" {...rest} class={className} {value} onblur={(e) => commit(e.currentTarget)} onkeydown={keydown} />
|
|
41
|
+
{/if}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { HTMLInputAttributes } from 'svelte/elements';
|
|
2
|
+
interface Props extends Omit<HTMLInputAttributes, 'value' | 'class'> {
|
|
3
|
+
value: string;
|
|
4
|
+
/** Called with the text and the element (e.g. to show the stored value again after a refused edit). */
|
|
5
|
+
oncommit: (value: string, input: HTMLInputElement | HTMLTextAreaElement) => void;
|
|
6
|
+
/** A textarea that commits on blur or Mod+Enter. */
|
|
7
|
+
multiline?: boolean;
|
|
8
|
+
class?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const ParameterCommitInput: import("svelte").Component<Props, {}, "">;
|
|
11
|
+
type ParameterCommitInput = ReturnType<typeof ParameterCommitInput>;
|
|
12
|
+
export default ParameterCommitInput;
|
|
13
|
+
//# sourceMappingURL=ParameterCommitInput.svelte.d.ts.map
|