@pixerate/editor-svelte 0.85.1 → 0.86.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/vector/VectorCanvas.svelte +22 -1
- package/dist/vector/VectorCanvas.svelte.d.ts.map +1 -1
- package/dist/vector/VectorEffectsPanel.svelte +10 -1
- package/dist/vector/VectorEffectsPanel.svelte.d.ts.map +1 -1
- package/dist/vector/VectorStylePanel.svelte +2 -0
- package/dist/vector/VectorStylePanel.svelte.d.ts.map +1 -1
- package/dist/vector/VectorSymmetryPanel.svelte +57 -0
- package/dist/vector/VectorSymmetryPanel.svelte.d.ts +14 -0
- package/dist/vector/VectorSymmetryPanel.svelte.d.ts.map +1 -0
- package/dist/vector/index.d.ts +1 -0
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/index.js +1 -0
- package/package.json +2 -2
|
@@ -55,7 +55,10 @@
|
|
|
55
55
|
|
|
56
56
|
const store = vectorStateOf(() => controller);
|
|
57
57
|
const view = $derived(store.current);
|
|
58
|
-
|
|
58
|
+
// The canvas size, so the scene leaves out what is off screen and simplifies what is tiny.
|
|
59
|
+
let size: { width: number; height: number } | null = $state(null);
|
|
60
|
+
const scene = $derived(getVectorSceneRenderData(view, { idPrefix, ...(size ? { viewportSize: size } : {}) }));
|
|
61
|
+
|
|
59
62
|
const overlay = $derived(getVectorOverlayRenderData(view));
|
|
60
63
|
// Isolation mode: the rest of the document, dimmed behind the symbol's art.
|
|
61
64
|
const host = $derived(getVectorSymbolEditBackground(view, { idPrefix: `${idPrefix}host-` }));
|
|
@@ -67,6 +70,19 @@
|
|
|
67
70
|
const as = THEME.anchorSize;
|
|
68
71
|
|
|
69
72
|
let svg: SVGSVGElement | undefined = $state();
|
|
73
|
+
$effect(() => {
|
|
74
|
+
const el = svg;
|
|
75
|
+
if (!el || typeof ResizeObserver === 'undefined') return;
|
|
76
|
+
const measure = () => {
|
|
77
|
+
const r = el.getBoundingClientRect();
|
|
78
|
+
const now = untrack(() => size);
|
|
79
|
+
if (r.width > 0 && r.height > 0 && (!now || now.width !== r.width || now.height !== r.height)) size = { width: r.width, height: r.height };
|
|
80
|
+
};
|
|
81
|
+
measure();
|
|
82
|
+
const observer = new ResizeObserver(measure);
|
|
83
|
+
observer.observe(el);
|
|
84
|
+
return () => observer.disconnect();
|
|
85
|
+
});
|
|
70
86
|
let textInput: HTMLTextAreaElement | undefined = $state();
|
|
71
87
|
const editingText = $derived(view.textEdit?.nodeId ?? null);
|
|
72
88
|
|
|
@@ -474,6 +490,11 @@
|
|
|
474
490
|
{/each}
|
|
475
491
|
</g>
|
|
476
492
|
{/each}
|
|
493
|
+
{#each overlay.symmetry as sy (sy.nodeId)}
|
|
494
|
+
<g data-vector-symmetry-axes={sy.nodeId} stroke={accentColor} stroke-dasharray={sy.drawing ? undefined : '6 4'} opacity={sy.drawing ? 0.9 : 0.6}>
|
|
495
|
+
{#each sy.lines as l, i (i)}<line x1={l.x1} y1={l.y1} x2={l.x2} y2={l.y2} />{/each}
|
|
496
|
+
</g>
|
|
497
|
+
{/each}
|
|
477
498
|
{#each overlay.trackingPoints as t, i (i)}
|
|
478
499
|
<path data-vector-tracking-point="" d="M{t.x - 5} {t.y}H{t.x + 5}M{t.x} {t.y - 5}V{t.y + 5}" stroke={guideColor} stroke-width="1.5" />
|
|
479
500
|
{/each}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorCanvas.svelte.d.ts","sourceRoot":"","sources":["../../src/vector/VectorCanvas.svelte.ts"],"names":[],"mappings":"AAQA,OAAO,EASH,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AASjC,UAAU,KAAK;IACb,UAAU,EAAE,sBAAsB,CAAC;IACnC,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"VectorCanvas.svelte.d.ts","sourceRoot":"","sources":["../../src/vector/VectorCanvas.svelte.ts"],"names":[],"mappings":"AAQA,OAAO,EASH,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AASjC,UAAU,KAAK;IACb,UAAU,EAAE,sBAAsB,CAAC;IACnC,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgcH,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
VECTOR_EFFECT_MENU,
|
|
4
4
|
getVectorEffectsPanel,
|
|
5
|
+
vectorPaintToHex,
|
|
5
6
|
type VectorEditorController,
|
|
6
7
|
type VectorEffectsPanelItem,
|
|
7
8
|
type VectorEffectType
|
|
@@ -144,7 +145,15 @@
|
|
|
144
145
|
<span class="min-w-0 flex-1 truncate">{spec.label}</span>
|
|
145
146
|
<input type="checkbox" aria-label="{e.label} {spec.label}" checked={!!e.params[spec.key]} onchange={(ev) => set(e, spec.key, ev.currentTarget.checked, false)} />
|
|
146
147
|
</label>
|
|
147
|
-
{:else}
|
|
148
|
+
{:else if spec.kind === 'color'}
|
|
149
|
+
<!-- A colour, or none (the checkbox): none keeps the shape's own colour. -->
|
|
150
|
+
{@const c = e.params[spec.key] as string | null}
|
|
151
|
+
<div class="flex items-center gap-2 text-xs text-foreground" data-vector-effect-param={spec.key}>
|
|
152
|
+
<span class={labelClass}>{spec.label}</span>
|
|
153
|
+
<input type="checkbox" aria-label="{e.label} {spec.label} on" checked={c !== null} onchange={(ev) => set(e, spec.key, ev.currentTarget.checked ? '#ffffff' : null, false)} />
|
|
154
|
+
<input type="color" aria-label="{e.label} {spec.label}" class="h-6 w-8 cursor-pointer rounded border border-border bg-background disabled:opacity-40" disabled={c === null} value={vectorPaintToHex(c ?? '#ffffff') ?? '#ffffff'} oninput={(ev) => set(e, spec.key, ev.currentTarget.value, true)} onblur={end} />
|
|
155
|
+
</div>
|
|
156
|
+
{:else if spec.kind === 'select'}
|
|
148
157
|
<label class="flex flex-wrap items-center gap-x-2 gap-y-0.5 text-xs text-foreground" data-vector-effect-param={spec.key}>
|
|
149
158
|
<span class={labelClass}>{spec.label}</span>
|
|
150
159
|
<select aria-label="{e.label} {spec.label}" class={selectClass} value={String(e.params[spec.key] ?? '')} onchange={(ev) => set(e, spec.key, ev.currentTarget.value, false)}>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorEffectsPanel.svelte.d.ts","sourceRoot":"","sources":["../../src/vector/VectorEffectsPanel.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"VectorEffectsPanel.svelte.d.ts","sourceRoot":"","sources":["../../src/vector/VectorEffectsPanel.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAIH,KAAK,sBAAsB,EAG5B,MAAM,yBAAyB,CAAC;AAIjC;;;;;GAKG;AACH,UAAU,KAAK;IACb,UAAU,EAAE,sBAAsB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkHH,QAAA,MAAM,kBAAkB,2CAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
import VectorConnectorPanel from './VectorConnectorPanel.svelte';
|
|
29
29
|
import VectorShadingPanel from './VectorShadingPanel.svelte';
|
|
30
30
|
import VectorTracePanel from './VectorTracePanel.svelte';
|
|
31
|
+
import VectorSymmetryPanel from './VectorSymmetryPanel.svelte';
|
|
31
32
|
import VectorGradientEditor from './VectorGradientEditor.svelte';
|
|
32
33
|
|
|
33
34
|
interface Props {
|
|
@@ -256,6 +257,7 @@
|
|
|
256
257
|
<VectorFramePanel {controller} />
|
|
257
258
|
<VectorConnectorPanel {controller} />
|
|
258
259
|
<VectorShadingPanel {controller} />
|
|
260
|
+
<VectorSymmetryPanel {controller} />
|
|
259
261
|
<VectorTracePanel {controller} />
|
|
260
262
|
<VectorConstraintsPanel {controller} />
|
|
261
263
|
<VectorSymbolsPanel {controller} />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorStylePanel.svelte.d.ts","sourceRoot":"","sources":["../../src/vector/VectorStylePanel.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAYH,KAAK,sBAAsB,EAG5B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"VectorStylePanel.svelte.d.ts","sourceRoot":"","sources":["../../src/vector/VectorStylePanel.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAYH,KAAK,sBAAsB,EAG5B,MAAM,yBAAyB,CAAC;AAkBjC,UAAU,KAAK;IACb,UAAU,EAAE,sBAAsB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0LH,QAAA,MAAM,gBAAgB,2CAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { VECTOR_SYMMETRY_MODES, VECTOR_SYMMETRY_MODE_LABELS, isVectorSymmetryGroup, type VectorEditorController, type VectorSymmetryMode } from '@pixerate/editor/vector';
|
|
3
|
+
import { vectorStateOf } from './subscribe.svelte.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Live symmetry: make a symmetry group from the selection (or an empty one to draw into), and
|
|
7
|
+
* for a selected symmetry group its mode, radial copies and mirroring, drawing inside it, and
|
|
8
|
+
* release (keeping the copies with Expand). Each change is one undo step.
|
|
9
|
+
*/
|
|
10
|
+
interface Props {
|
|
11
|
+
controller: VectorEditorController;
|
|
12
|
+
class?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let { controller, class: className = '' }: Props = $props();
|
|
16
|
+
|
|
17
|
+
const store = vectorStateOf(() => controller);
|
|
18
|
+
const view = $derived(store.current);
|
|
19
|
+
const group = $derived(view.selection.map((id) => controller.getNode(id)).find(isVectorSymmetryGroup) ?? null);
|
|
20
|
+
const s = $derived(group?.symmetry);
|
|
21
|
+
const ids = $derived(group ? [group.id] : undefined);
|
|
22
|
+
const drawing = $derived(!!group && view.symmetryTarget === group.id);
|
|
23
|
+
|
|
24
|
+
const buttonClass =
|
|
25
|
+
'inline-flex h-7 min-w-7 items-center justify-center rounded-md border border-border bg-background px-1.5 text-xs font-medium text-foreground hover:bg-muted disabled:cursor-not-allowed disabled:opacity-40 aria-pressed:bg-primary aria-pressed:text-primary-foreground';
|
|
26
|
+
const selectClass = 'h-7 min-w-0 flex-1 rounded border border-border bg-background px-1 text-xs';
|
|
27
|
+
const numberClass = 'h-7 w-12 rounded border border-border bg-background px-1.5 text-xs';
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<div class="space-y-2 {className}" data-vector-symmetry-panel="" aria-label="Symmetry">
|
|
31
|
+
<div class="flex flex-wrap items-center gap-1">
|
|
32
|
+
<span class="w-16 text-[11px] font-medium uppercase tracking-wide text-muted-foreground">Symmetry</span>
|
|
33
|
+
{#if !group}
|
|
34
|
+
<button type="button" class={buttonClass} data-vector-symmetry-action="make" title="Make Symmetry: the selection (or nothing yet) mirrored live across a vertical axis" onclick={() => controller.makeSymmetry({ mode: 'vertical' })}>Mirror</button>
|
|
35
|
+
<button type="button" class={buttonClass} data-vector-symmetry-action="radial" title="Make Symmetry: the selection repeated round its centre" onclick={() => controller.makeSymmetry({ mode: 'radial', copies: 6 })}>Radial</button>
|
|
36
|
+
{:else if s}
|
|
37
|
+
<select aria-label="Symmetry mode" class={selectClass} value={s.mode} onchange={(e) => controller.setSymmetry({ mode: e.currentTarget.value as VectorSymmetryMode }, { ids })}>
|
|
38
|
+
{#each VECTOR_SYMMETRY_MODES as m (m)}<option value={m}>{VECTOR_SYMMETRY_MODE_LABELS[m]}</option>{/each}
|
|
39
|
+
</select>
|
|
40
|
+
{#if s.mode === 'radial'}
|
|
41
|
+
<input type="number" min="2" max="64" aria-label="Symmetry copies" title="Copies round the circle" class={numberClass} value={s.copies ?? 6} oninput={(e) => controller.setSymmetry({ copies: Math.max(2, Math.min(64, parseInt(e.currentTarget.value, 10) || 2)) }, { ids })} />
|
|
42
|
+
<label class="flex items-center gap-1 text-xs text-foreground" title="Mirror each copy too (kaleidoscope)">
|
|
43
|
+
<input type="checkbox" aria-label="Mirror copies" checked={!!s.mirror} onchange={(e) => controller.setSymmetry({ mirror: e.currentTarget.checked }, { ids })} />
|
|
44
|
+
Mirror
|
|
45
|
+
</label>
|
|
46
|
+
{/if}
|
|
47
|
+
{/if}
|
|
48
|
+
</div>
|
|
49
|
+
{#if group}
|
|
50
|
+
<div class="flex flex-wrap items-center gap-1">
|
|
51
|
+
<span class="w-16"></span>
|
|
52
|
+
<button type="button" class={buttonClass} aria-pressed={drawing} data-vector-symmetry-action="draw" title="Draw inside: new pen, pencil, shape and text art goes into the group, mirrored as you draw (Escape stops)" onclick={() => (drawing ? controller.exitSymmetry() : controller.enterSymmetry(group.id))}>Draw inside</button>
|
|
53
|
+
<button type="button" class={buttonClass} title="Expand: keep the copies as real objects" onclick={() => controller.releaseSymmetry({ ids, expand: true })}>Expand</button>
|
|
54
|
+
<button type="button" class={buttonClass} title="Release: stop repeating (the copies go)" onclick={() => controller.releaseSymmetry({ ids })}>Release</button>
|
|
55
|
+
</div>
|
|
56
|
+
{/if}
|
|
57
|
+
</div>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type VectorEditorController } from '@pixerate/editor/vector';
|
|
2
|
+
/**
|
|
3
|
+
* Live symmetry: make a symmetry group from the selection (or an empty one to draw into), and
|
|
4
|
+
* for a selected symmetry group its mode, radial copies and mirroring, drawing inside it, and
|
|
5
|
+
* release (keeping the copies with Expand). Each change is one undo step.
|
|
6
|
+
*/
|
|
7
|
+
interface Props {
|
|
8
|
+
controller: VectorEditorController;
|
|
9
|
+
class?: string;
|
|
10
|
+
}
|
|
11
|
+
declare const VectorSymmetryPanel: import("svelte").Component<Props, {}, "">;
|
|
12
|
+
type VectorSymmetryPanel = ReturnType<typeof VectorSymmetryPanel>;
|
|
13
|
+
export default VectorSymmetryPanel;
|
|
14
|
+
//# sourceMappingURL=VectorSymmetryPanel.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VectorSymmetryPanel.svelte.d.ts","sourceRoot":"","sources":["../../src/vector/VectorSymmetryPanel.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6E,KAAK,sBAAsB,EAA2B,MAAM,yBAAyB,CAAC;AAIxK;;;;GAIG;AACH,UAAU,KAAK;IACb,UAAU,EAAE,sBAAsB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoDH,QAAA,MAAM,mBAAmB,2CAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}
|
package/dist/vector/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export { default as VectorFramePanel } from "./VectorFramePanel.svelte";
|
|
|
16
16
|
export { default as VectorConnectorPanel } from "./VectorConnectorPanel.svelte";
|
|
17
17
|
export { default as VectorShadingPanel } from "./VectorShadingPanel.svelte";
|
|
18
18
|
export { default as VectorTracePanel } from "./VectorTracePanel.svelte";
|
|
19
|
+
export { default as VectorSymmetryPanel } from "./VectorSymmetryPanel.svelte";
|
|
19
20
|
export { default as VectorTextElement } from "./VectorTextElement.svelte";
|
|
20
21
|
export { default as VectorMaskedNodes } from "./VectorMaskedNodes.svelte";
|
|
21
22
|
export { default as VectorSceneNodes } from "./VectorSceneNodes.svelte";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,qBAAqB,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,qBAAqB,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChF,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,cAAc,aAAa,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC7E,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,qBAAqB,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,qBAAqB,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChF,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,cAAc,aAAa,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC7E,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
package/dist/vector/index.js
CHANGED
|
@@ -13,6 +13,7 @@ export { default as VectorFramePanel } from "./VectorFramePanel.svelte";
|
|
|
13
13
|
export { default as VectorConnectorPanel } from "./VectorConnectorPanel.svelte";
|
|
14
14
|
export { default as VectorShadingPanel } from "./VectorShadingPanel.svelte";
|
|
15
15
|
export { default as VectorTracePanel } from "./VectorTracePanel.svelte";
|
|
16
|
+
export { default as VectorSymmetryPanel } from "./VectorSymmetryPanel.svelte";
|
|
16
17
|
export { default as VectorTextElement } from "./VectorTextElement.svelte";
|
|
17
18
|
export { default as VectorMaskedNodes } from "./VectorMaskedNodes.svelte";
|
|
18
19
|
export { default as VectorSceneNodes } from "./VectorSceneNodes.svelte";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixerate/editor-svelte",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.86.0",
|
|
4
4
|
"description": "Svelte bindings and prompt/rich-text components for @pixerate/editor",
|
|
5
5
|
"author": "Pixerate",
|
|
6
6
|
"license": "MIT",
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
"@tiptap/extension-bubble-menu": "^2.11.5",
|
|
140
140
|
"@tiptap/extension-placeholder": "^2.11.5",
|
|
141
141
|
"@tiptap/starter-kit": "^2.11.5",
|
|
142
|
-
"@pixerate/editor": "0.
|
|
142
|
+
"@pixerate/editor": "0.119.0"
|
|
143
143
|
},
|
|
144
144
|
"peerDependencies": {
|
|
145
145
|
"@dagrejs/dagre": "^1.1.4",
|