@edv4h/usketch-plugin-shape-frame 3.1.6 → 3.2.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.
@@ -0,0 +1,3 @@
1
+ /** Height (px) of the frame's title bar rendered above the frame body. */
2
+ export declare const TITLE_HEIGHT = 24;
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,eAAO,MAAM,YAAY,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Height (px) of the frame's title bar rendered above the frame body. */
2
+ export const TITLE_HEIGHT = 24;
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { PluginContext, Viewport } from "@edv4h/usketch-shared";
2
+ export declare function setEditingFrameTitle(id: string | null): void;
3
+ export declare function getEditingFrameTitle(): string | null;
4
+ interface FrameTitleEditorProps {
5
+ ctx: PluginContext;
6
+ viewport: Viewport;
7
+ }
8
+ export declare function FrameTitleEditor({ ctx, viewport }: FrameTitleEditorProps): import("react").JSX.Element | null;
9
+ export {};
10
+ //# sourceMappingURL=frame-title-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-title-editor.d.ts","sourceRoot":"","sources":["../src/frame-title-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAa,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAkBhF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAG5D;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAEpD;AASD,UAAU,qBAAqB;IAC9B,GAAG,EAAE,aAAa,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,qBAAqB,sCAYxE"}
@@ -0,0 +1,114 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createBatchUpdateShapesCommand } from "@edv4h/usketch-store";
3
+ import { useCallback, useEffect, useRef, useSyncExternalStore } from "react";
4
+ import { TITLE_HEIGHT } from "./constants.js";
5
+ // ── Title editing state (module-level, mirrors connector-label) ──
6
+ //
7
+ // The frame's title bar (see `renderFrame`) starts editing on double-click via
8
+ // `setEditingFrameTitle`; this overlay renders the input and commits the result.
9
+ let editingFrameId = null;
10
+ const editListeners = new Set();
11
+ function notifyEdit() {
12
+ for (const fn of editListeners)
13
+ fn();
14
+ }
15
+ export function setEditingFrameTitle(id) {
16
+ editingFrameId = id;
17
+ notifyEdit();
18
+ }
19
+ export function getEditingFrameTitle() {
20
+ return editingFrameId;
21
+ }
22
+ function subscribeEditingFrameTitle(cb) {
23
+ editListeners.add(cb);
24
+ return () => editListeners.delete(cb);
25
+ }
26
+ export function FrameTitleEditor({ ctx, viewport }) {
27
+ const editingId = useSyncExternalStore(subscribeEditingFrameTitle, getEditingFrameTitle);
28
+ const shapes = useSyncExternalStore((cb) => ctx.store.subscribe(cb), () => ctx.store.getShapes());
29
+ if (!editingId)
30
+ return null;
31
+ const frame = shapes.get(editingId);
32
+ if (!frame || frame.type !== "frame")
33
+ return null;
34
+ return _jsx(TitleInput, { frame: frame, ctx: ctx, viewport: viewport });
35
+ }
36
+ function TitleInput({ frame, ctx, viewport, }) {
37
+ const frameData = frame;
38
+ const inputRef = useRef(null);
39
+ const openedAt = useRef(Date.now());
40
+ const currentTitle = frameData.frameTitle ?? "";
41
+ // Title bar sits just above the frame body; position the input over it.
42
+ const left = frame.x * viewport.zoom + viewport.x;
43
+ const top = (frame.y - TITLE_HEIGHT) * viewport.zoom + viewport.y;
44
+ const commit = useCallback((next) => {
45
+ const trimmed = next.trim();
46
+ const before = frameData.frameTitle ?? undefined;
47
+ const after = trimmed || undefined;
48
+ if (before !== after) {
49
+ ctx.commands.execute(createBatchUpdateShapesCommand(ctx.store, [
50
+ {
51
+ id: frame.id,
52
+ from: { frameTitle: before },
53
+ to: { frameTitle: after },
54
+ },
55
+ ]));
56
+ }
57
+ setEditingFrameTitle(null);
58
+ }, [ctx, frame.id, frameData.frameTitle]);
59
+ const onKeyDown = useCallback((e) => {
60
+ e.stopPropagation();
61
+ if (e.key === "Enter" && !e.nativeEvent.isComposing) {
62
+ commit(e.target.value);
63
+ }
64
+ else if (e.key === "Escape" && !e.nativeEvent.isComposing) {
65
+ setEditingFrameTitle(null);
66
+ }
67
+ }, [commit]);
68
+ useEffect(() => {
69
+ // Focus immediately, then retry once — the opening double-click's trailing
70
+ // events can otherwise move focus back to the canvas just after we grab it.
71
+ const focus = () => {
72
+ const el = inputRef.current;
73
+ if (el && document.activeElement !== el) {
74
+ el.focus();
75
+ el.select();
76
+ }
77
+ };
78
+ focus();
79
+ const t = setTimeout(focus, 30);
80
+ return () => clearTimeout(t);
81
+ }, []);
82
+ return (_jsx("div", { onPointerDown: (e) => e.stopPropagation(), style: {
83
+ position: "absolute",
84
+ left,
85
+ top,
86
+ height: TITLE_HEIGHT * viewport.zoom,
87
+ display: "flex",
88
+ alignItems: "center",
89
+ pointerEvents: "auto",
90
+ }, children: _jsx("input", { ref: inputRef, type: "text",
91
+ // biome-ignore lint/a11y/noAutofocus: inline edit should focus immediately
92
+ autoFocus: true, defaultValue: currentTitle, onKeyDown: onKeyDown, onBlur: (e) => {
93
+ // The opening double-click can bounce focus back to the canvas right
94
+ // after mount; treat that first transient blur as spurious and re-grab
95
+ // focus instead of committing + closing the editor.
96
+ if (Date.now() - openedAt.current < 250) {
97
+ const el = e.currentTarget;
98
+ requestAnimationFrame(() => el.focus());
99
+ return;
100
+ }
101
+ commit(e.target.value);
102
+ }, placeholder: "Frame", style: {
103
+ minWidth: 80,
104
+ height: 20,
105
+ padding: "1px 6px",
106
+ fontSize: 12,
107
+ fontFamily: "system-ui, sans-serif",
108
+ border: "2px solid #2680eb",
109
+ borderRadius: 4,
110
+ outline: "none",
111
+ background: "white",
112
+ } }) }));
113
+ }
114
+ //# sourceMappingURL=frame-title-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-title-editor.js","sourceRoot":"","sources":["../src/frame-title-editor.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKX,aAAa,EACb,MAAM,uBAAuB,CAAC;AAiE/B,wBAAgB,iBAAiB,IAAI,aAAa,CAsFjD"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKX,aAAa,EACb,MAAM,uBAAuB,CAAC;AAkE/B,wBAAgB,iBAAiB,IAAI,aAAa,CAoGjD"}
package/dist/plugin.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { generateId } from "@edv4h/usketch-shared";
3
3
  import { createAddShapeCommand } from "@edv4h/usketch-store";
4
+ import { FrameTitleEditor, setEditingFrameTitle } from "./frame-title-editor.js";
4
5
  import { createDefaultFrame, getBoundsFrame, hitTestFrame, renderFrame, resizeFrame, } from "./shapes/frame.js";
5
6
  /**
6
7
  * LOD component: labeled empty frame — dashed border + top-left title.
@@ -113,7 +114,20 @@ export function createFramePlugin() {
113
114
  // `container.autoAttach` flag, so no frame-specific reparent logic lives
114
115
  // here. Frame moves also drag children along via the select tool's
115
116
  // container-aware descendant snapshotting.
116
- return () => { };
117
+ // ── Title inline editing overlay ──
118
+ //
119
+ // The title bar (renderFrame) starts editing on double-click via
120
+ // `setEditingFrameTitle`; this overlay renders the input + commits.
121
+ // Editing closes on the input's blur/Enter/Escape.
122
+ ctx.layers.register({
123
+ id: "usketch-plugin-shape-frame:title-editor",
124
+ order: 84,
125
+ fixed: true,
126
+ render: (renderCtx) => _jsx(FrameTitleEditor, { ctx: ctx, viewport: renderCtx.viewport }),
127
+ });
128
+ return () => {
129
+ setEditingFrameTitle(null);
130
+ };
117
131
  },
118
132
  };
119
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { BoundingBox, Point, ShapeData } from "@edv4h/usketch-shared";
2
+ import { TITLE_HEIGHT } from "../constants.js";
2
3
  import type { FrameShapeData } from "../types.js";
4
+ export { TITLE_HEIGHT };
3
5
  export declare function renderFrame(shape: ShapeData): import("react").JSX.Element;
4
6
  export declare function getBoundsFrame(data: ShapeData): BoundingBox;
5
7
  export declare function hitTestFrame(data: ShapeData, point: Point): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/shapes/frame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,+BA2C3C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAE3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAiBnE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,CAuBpF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAW/F"}
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/shapes/frame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,+BAsD3C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAE3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAiBnE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,CAuBpF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAW/F"}
@@ -1,12 +1,17 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- const TITLE_HEIGHT = 24;
2
+ import { TITLE_HEIGHT } from "../constants.js";
3
+ import { setEditingFrameTitle } from "../frame-title-editor.js";
4
+ export { TITLE_HEIGHT };
3
5
  export function renderFrame(shape) {
4
6
  const data = shape;
5
7
  const title = data.frameTitle ?? "Frame";
6
8
  const bgColor = data.style.fill === "transparent" ? "#f8f8f8" : data.style.fill;
7
9
  // Position/size is handled by ShapeWrapper (position: absolute; left/top/width/height).
8
10
  // Render content at (0,0) within the wrapper — no position styling needed.
9
- return (_jsxs(_Fragment, { children: [_jsx("div", { style: {
11
+ return (_jsxs(_Fragment, { children: [_jsx("div", { title: "\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u3067\u540D\u524D\u3092\u5909\u66F4", onDoubleClick: (e) => {
12
+ e.stopPropagation();
13
+ setEditingFrameTitle(data.id);
14
+ }, style: {
10
15
  marginTop: -TITLE_HEIGHT,
11
16
  height: TITLE_HEIGHT,
12
17
  display: "flex",
@@ -18,7 +23,10 @@ export function renderFrame(shape) {
18
23
  userSelect: "none",
19
24
  whiteSpace: "nowrap",
20
25
  overflow: "hidden",
21
- pointerEvents: "none",
26
+ width: "fit-content",
27
+ maxWidth: "100%",
28
+ pointerEvents: "auto",
29
+ cursor: "text",
22
30
  }, children: title }), _jsx("div", { style: {
23
31
  width: "100%",
24
32
  height: "100%",
@@ -1 +1 @@
1
- {"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/shapes/frame.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/shapes/frame.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC3C,MAAM,IAAI,GAAG,KAAuB,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAEhF,wFAAwF;IACxF,2EAA2E;IAC3E,OAAO,CACN,8BAKC,cACC,KAAK,EAAC,gFAAe,EACrB,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;oBACpB,CAAC,CAAC,eAAe,EAAE,CAAC;oBACpB,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,CAAC,EACD,KAAK,EAAE;oBACN,SAAS,EAAE,CAAC,YAAY;oBACxB,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,WAAW,EAAE,CAAC;oBACd,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,uBAAuB;oBACnC,KAAK,EAAE,MAAM;oBACb,UAAU,EAAE,MAAM;oBAClB,UAAU,EAAE,QAAQ;oBACpB,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,MAAM;oBAChB,aAAa,EAAE,MAAM;oBACrB,MAAM,EAAE,MAAM;iBACd,YAEA,KAAK,GACD,EAEN,cACC,KAAK,EAAE;oBACN,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,eAAe,EAAE,OAAO;oBACxB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;oBAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBAChE,YAAY,EAAE,CAAC;oBACf,SAAS,EAAE,YAAY;oBACvB,aAAa,EAAE,MAAM;iBACrB,GACA,IACA,CACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAe;IAC7C,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAe,EAAE,KAAY;IACzD,aAAa;IACb,IACC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;QAC9B,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAC9B,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IACD,8BAA8B;IAC9B,OAAO,CACN,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;QAC9B,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,YAAY;QAChC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAe,EAAE,MAAc,EAAE,KAAY;IACxE,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,GAAG,EAAE,CAAC;IAEhB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QAC1C,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;IACzB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC5C,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAA4C;IAC9E,OAAO;QACN,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,OAAO;QACb,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACzE,UAAU,EAAE,OAAO;KACnB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edv4h/usketch-plugin-shape-frame",
3
- "version": "3.1.6",
3
+ "version": "3.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -12,15 +12,15 @@
12
12
  }
13
13
  },
14
14
  "dependencies": {
15
- "@edv4h/usketch-core": "2.3.1",
16
- "@edv4h/usketch-shared": "4.8.0",
17
- "@edv4h/usketch-store": "3.5.0"
15
+ "@edv4h/usketch-core": "2.3.2",
16
+ "@edv4h/usketch-shared": "4.9.0",
17
+ "@edv4h/usketch-store": "3.5.1"
18
18
  },
19
19
  "peerDependencies": {
20
20
  "react": ">=19"
21
21
  },
22
22
  "devDependencies": {
23
- "@types/react": "19.2.17",
23
+ "@types/react": "19.2.18",
24
24
  "typescript": "7.0.2",
25
25
  "vitest": "4.1.10"
26
26
  },