@edv4h/usketch-plugin-tool-select 3.2.16 → 3.4.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/delete-selection.d.ts +11 -0
- package/dist/delete-selection.d.ts.map +1 -0
- package/dist/delete-selection.js +20 -0
- package/dist/delete-selection.js.map +1 -0
- package/dist/duplicate-drag.d.ts +35 -0
- package/dist/duplicate-drag.d.ts.map +1 -0
- package/dist/duplicate-drag.js +88 -0
- package/dist/duplicate-drag.js.map +1 -0
- package/dist/handle-double-click.d.ts +8 -0
- package/dist/handle-double-click.d.ts.map +1 -0
- package/dist/handle-double-click.js +19 -0
- package/dist/handle-double-click.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/keybindings.d.ts +20 -0
- package/dist/keybindings.d.ts.map +1 -0
- package/dist/keybindings.js +11 -0
- package/dist/keybindings.js.map +1 -0
- package/dist/lock-selection.d.ts +10 -0
- package/dist/lock-selection.d.ts.map +1 -0
- package/dist/lock-selection.js +21 -0
- package/dist/lock-selection.js.map +1 -0
- package/dist/plugin.d.ts +6 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +164 -17
- package/dist/plugin.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BoardStore, Command } from "@edv4h/usketch-shared";
|
|
2
|
+
/**
|
|
3
|
+
* A command deleting the deletable part of the selection, or `null` when
|
|
4
|
+
* nothing can be deleted. Locked or hidden shapes (or those under such an
|
|
5
|
+
* ancestor) resist deletion — both are excluded from canvas interaction — and
|
|
6
|
+
* stay selected. By default each shape's contents go with it; `"self"` keeps
|
|
7
|
+
* the contents (e.g. deletes a frame but leaves its items in place). The scope
|
|
8
|
+
* mirrors `createSetLockedCommand` / `lockScope`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createDeleteSelectionCommand(store: BoardStore, scope?: "self"): Command | null;
|
|
11
|
+
//# sourceMappingURL=delete-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-selection.d.ts","sourceRoot":"","sources":["../src/delete-selection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAOjE;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAQ9F"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createDeleteShapesCommand, isEffectivelyHidden, isEffectivelyLocked, } from "@edv4h/usketch-store";
|
|
2
|
+
/**
|
|
3
|
+
* A command deleting the deletable part of the selection, or `null` when
|
|
4
|
+
* nothing can be deleted. Locked or hidden shapes (or those under such an
|
|
5
|
+
* ancestor) resist deletion — both are excluded from canvas interaction — and
|
|
6
|
+
* stay selected. By default each shape's contents go with it; `"self"` keeps
|
|
7
|
+
* the contents (e.g. deletes a frame but leaves its items in place). The scope
|
|
8
|
+
* mirrors `createSetLockedCommand` / `lockScope`.
|
|
9
|
+
*/
|
|
10
|
+
export function createDeleteSelectionCommand(store, scope) {
|
|
11
|
+
const ids = [];
|
|
12
|
+
for (const id of store.getSelection()) {
|
|
13
|
+
const shape = store.getShape(id);
|
|
14
|
+
if (!shape || isEffectivelyLocked(store, shape) || isEffectivelyHidden(store, shape))
|
|
15
|
+
continue;
|
|
16
|
+
ids.push(id);
|
|
17
|
+
}
|
|
18
|
+
return ids.length > 0 ? createDeleteShapesCommand(store, ids, scope) : null;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=delete-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-selection.js","sourceRoot":"","sources":["../src/delete-selection.ts"],"names":[],"mappings":"AAIA,OAAO,EACN,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAiB,EAAE,KAAc;IAC7E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;YAAE,SAAS;QAC/F,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { BoardStore, Command, ShapeData } from "@edv4h/usketch-shared";
|
|
2
|
+
/**
|
|
3
|
+
* Option(Alt)+ドラッグで複製する shape の id。ドラッグで動く shape(選択+子孫)に、
|
|
4
|
+
* それらを結ぶコネクタを加える(コネクタは frame の子にならず movingIds に入らないため)。
|
|
5
|
+
*/
|
|
6
|
+
export declare function duplicateTargetIds(store: BoardStore, movingIds: Iterable<string>): string[];
|
|
7
|
+
/**
|
|
8
|
+
* Option(Alt)+ドラッグ中の複製。元はその場に残り、ドラッグはこの複製を動かす
|
|
9
|
+
* (Figma と同じ。共同編集の相手にも複製が動いて見える)。
|
|
10
|
+
*/
|
|
11
|
+
export interface DragCopies {
|
|
12
|
+
/** 複製(store への追加順。親が先)。 */
|
|
13
|
+
shapes: ShapeData[];
|
|
14
|
+
/** 選択されていた shape の複製の id。ドラッグで動かし、確定後に選択する。 */
|
|
15
|
+
rootIds: string[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 親が複製に含まれない shape(複製の起点)の `parentId` を、containment-attacher と
|
|
19
|
+
* 同じ規則(それを完全に含む最小の autoAttach コンテナ)で決め直す。追加時に attacher が
|
|
20
|
+
* 別の reparent コマンドを積まないようにするため。コネクタと autoAttach コンテナ自身は対象外。
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveCopyParents(store: BoardStore, shapes: readonly ShapeData[], isAttachTarget: (shape: ShapeData) => boolean): ShapeData[];
|
|
23
|
+
/**
|
|
24
|
+
* ドラッグで動く shape(`movingIds`)の複製を元と同じ位置に store へ直接追加する
|
|
25
|
+
* (履歴には積まない。確定は {@link commitDragCopies}、取り消しは {@link removeDragCopies})。
|
|
26
|
+
*/
|
|
27
|
+
export declare function addDragCopies(store: BoardStore, selectedIds: Iterable<string>, movingIds: Iterable<string>, isAttachTarget: (shape: ShapeData) => boolean): DragCopies;
|
|
28
|
+
/** ドラッグ中の複製を store から取り除く(履歴には積まない)。 */
|
|
29
|
+
export declare function removeDragCopies(store: BoardStore, copies: DragCopies): void;
|
|
30
|
+
/**
|
|
31
|
+
* ドロップ時: 複製をいまの位置のまま 1 つの undo 可能な追加コマンドに置き換える。
|
|
32
|
+
* 複製をいったん store から取り除き、追加し直すコマンドを返す(呼び出し側が execute する)。
|
|
33
|
+
*/
|
|
34
|
+
export declare function commitDragCopies(store: BoardStore, copies: DragCopies, isAttachTarget: (shape: ShapeData) => boolean): Command;
|
|
35
|
+
//# sourceMappingURL=duplicate-drag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duplicate-drag.d.ts","sourceRoot":"","sources":["../src/duplicate-drag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQ5E;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAG3F;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,2BAA2B;IAC3B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,GAC3C,SAAS,EAAE,CAUb;AAmBD;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC7B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC3B,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,GAC3C,UAAU,CAaZ;AAED,wCAAwC;AACxC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAK5E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,GAC3C,OAAO,CAQT"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { cloneShapes, connectorsBetween, createAddShapesCommand, findAttachParent, } from "@edv4h/usketch-store";
|
|
2
|
+
/**
|
|
3
|
+
* Option(Alt)+ドラッグで複製する shape の id。ドラッグで動く shape(選択+子孫)に、
|
|
4
|
+
* それらを結ぶコネクタを加える(コネクタは frame の子にならず movingIds に入らないため)。
|
|
5
|
+
*/
|
|
6
|
+
export function duplicateTargetIds(store, movingIds) {
|
|
7
|
+
const ids = [...movingIds];
|
|
8
|
+
return [...ids, ...connectorsBetween(store, ids).map((s) => s.id)];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 親が複製に含まれない shape(複製の起点)の `parentId` を、containment-attacher と
|
|
12
|
+
* 同じ規則(それを完全に含む最小の autoAttach コンテナ)で決め直す。追加時に attacher が
|
|
13
|
+
* 別の reparent コマンドを積まないようにするため。コネクタと autoAttach コンテナ自身は対象外。
|
|
14
|
+
*/
|
|
15
|
+
export function resolveCopyParents(store, shapes, isAttachTarget) {
|
|
16
|
+
const ids = new Set(shapes.map((s) => s.id));
|
|
17
|
+
return shapes.map((shape) => {
|
|
18
|
+
if (typeof shape.parentId === "string" && ids.has(shape.parentId))
|
|
19
|
+
return shape;
|
|
20
|
+
if (shape.type === "connector" || isAttachTarget(shape))
|
|
21
|
+
return shape;
|
|
22
|
+
const parent = findAttachParent(store, shape, isAttachTarget);
|
|
23
|
+
const parentId = parent?.id;
|
|
24
|
+
if (parentId === shape.parentId)
|
|
25
|
+
return shape;
|
|
26
|
+
return { ...shape, parentId };
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/** 親が先に来るように並べる(同じ集合内の `parentId` だけを見る安定ソート)。 */
|
|
30
|
+
function parentsFirst(shapes) {
|
|
31
|
+
const byId = new Map(shapes.map((s) => [s.id, s]));
|
|
32
|
+
const done = new Set();
|
|
33
|
+
const result = [];
|
|
34
|
+
const visit = (shape, depth) => {
|
|
35
|
+
if (done.has(shape.id))
|
|
36
|
+
return;
|
|
37
|
+
done.add(shape.id);
|
|
38
|
+
const parent = typeof shape.parentId === "string" ? byId.get(shape.parentId) : undefined;
|
|
39
|
+
// depth guards a parentId cycle in corrupt data.
|
|
40
|
+
if (parent && depth < shapes.length)
|
|
41
|
+
visit(parent, depth + 1);
|
|
42
|
+
result.push(shape);
|
|
43
|
+
};
|
|
44
|
+
for (const shape of shapes)
|
|
45
|
+
visit(shape, 0);
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* ドラッグで動く shape(`movingIds`)の複製を元と同じ位置に store へ直接追加する
|
|
50
|
+
* (履歴には積まない。確定は {@link commitDragCopies}、取り消しは {@link removeDragCopies})。
|
|
51
|
+
*/
|
|
52
|
+
export function addDragCopies(store, selectedIds, movingIds, isAttachTarget) {
|
|
53
|
+
const originals = duplicateTargetIds(store, movingIds).flatMap((id) => {
|
|
54
|
+
const shape = store.getShape(id);
|
|
55
|
+
return shape ? [{ ...shape }] : [];
|
|
56
|
+
});
|
|
57
|
+
const { shapes: cloned, idMap } = cloneShapes(originals);
|
|
58
|
+
const shapes = parentsFirst(resolveCopyParents(store, cloned, isAttachTarget));
|
|
59
|
+
for (const shape of shapes)
|
|
60
|
+
store.addShape(shape);
|
|
61
|
+
const rootIds = [...selectedIds].flatMap((id) => {
|
|
62
|
+
const copyId = idMap.get(id);
|
|
63
|
+
return copyId ? [copyId] : [];
|
|
64
|
+
});
|
|
65
|
+
return { shapes, rootIds };
|
|
66
|
+
}
|
|
67
|
+
/** ドラッグ中の複製を store から取り除く(履歴には積まない)。 */
|
|
68
|
+
export function removeDragCopies(store, copies) {
|
|
69
|
+
for (let i = copies.shapes.length - 1; i >= 0; i--) {
|
|
70
|
+
const shape = copies.shapes[i];
|
|
71
|
+
if (shape)
|
|
72
|
+
store.deleteShape(shape.id);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* ドロップ時: 複製をいまの位置のまま 1 つの undo 可能な追加コマンドに置き換える。
|
|
77
|
+
* 複製をいったん store から取り除き、追加し直すコマンドを返す(呼び出し側が execute する)。
|
|
78
|
+
*/
|
|
79
|
+
export function commitDragCopies(store, copies, isAttachTarget) {
|
|
80
|
+
const current = copies.shapes.flatMap((s) => {
|
|
81
|
+
const shape = store.getShape(s.id);
|
|
82
|
+
return shape ? [{ ...shape }] : [];
|
|
83
|
+
});
|
|
84
|
+
const placed = parentsFirst(resolveCopyParents(store, current, isAttachTarget));
|
|
85
|
+
removeDragCopies(store, copies);
|
|
86
|
+
return createAddShapesCommand(store, placed);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=duplicate-drag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duplicate-drag.js","sourceRoot":"","sources":["../src/duplicate-drag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResizeHandle } from "@edv4h/usketch-shared";
|
|
2
|
+
/**
|
|
3
|
+
* Tracks pointer-downs on resize handles. Returns true when this press is the
|
|
4
|
+
* second one on the same handle of the same shape within the double-click
|
|
5
|
+
* window; a detected double-click resets, so a third press starts over.
|
|
6
|
+
*/
|
|
7
|
+
export declare function createHandleClickTracker(): (shapeId: string, handle: ResizeHandle, now: number) => boolean;
|
|
8
|
+
//# sourceMappingURL=handle-double-click.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-double-click.d.ts","sourceRoot":"","sources":["../src/handle-double-click.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,CAC3C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,MAAM,KACP,OAAO,CAWX"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Same window as the select tool's shape double-click. */
|
|
2
|
+
const DOUBLE_CLICK_MS = 400;
|
|
3
|
+
/**
|
|
4
|
+
* Tracks pointer-downs on resize handles. Returns true when this press is the
|
|
5
|
+
* second one on the same handle of the same shape within the double-click
|
|
6
|
+
* window; a detected double-click resets, so a third press starts over.
|
|
7
|
+
*/
|
|
8
|
+
export function createHandleClickTracker() {
|
|
9
|
+
let last = null;
|
|
10
|
+
return (shapeId, handle, now) => {
|
|
11
|
+
const isDouble = last !== null &&
|
|
12
|
+
last.shapeId === shapeId &&
|
|
13
|
+
last.handle === handle &&
|
|
14
|
+
now - last.time < DOUBLE_CLICK_MS;
|
|
15
|
+
last = isDouble ? null : { shapeId, handle, time: now };
|
|
16
|
+
return isDouble;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=handle-double-click.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-double-click.js","sourceRoot":"","sources":["../src/handle-double-click.ts"],"names":[],"mappings":"AAEA,2DAA2D;AAC3D,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IAKvC,IAAI,IAAI,GAAmE,IAAI,CAAC;IAChF,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC/B,MAAM,QAAQ,GACb,IAAI,KAAK,IAAI;YACb,IAAI,CAAC,OAAO,KAAK,OAAO;YACxB,IAAI,CAAC,MAAM,KAAK,MAAM;YACtB,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QACnC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACxD,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
export { createDeleteSelectionCommand } from "./delete-selection.js";
|
|
2
|
+
export { addDragCopies, commitDragCopies, type DragCopies, duplicateTargetIds, removeDragCopies, resolveCopyParents, } from "./duplicate-drag.js";
|
|
3
|
+
export { DEFAULT_SELECT_TOOL_KEYBINDINGS, resolveSelectToolKeybindings, type SelectToolKeybindings, } from "./keybindings.js";
|
|
4
|
+
export { createToggleLockSelectionCommand } from "./lock-selection.js";
|
|
1
5
|
export type { OverlayColors } from "./overlay-colors.js";
|
|
2
6
|
export { createSelectToolPlugin, type SelectToolPluginOptions } from "./plugin.js";
|
|
3
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACN,aAAa,EACb,gBAAgB,EAChB,KAAK,UAAU,EACf,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,+BAA+B,EAC/B,4BAA4B,EAC5B,KAAK,qBAAqB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
export { createDeleteSelectionCommand } from "./delete-selection.js";
|
|
2
|
+
export { addDragCopies, commitDragCopies, duplicateTargetIds, removeDragCopies, resolveCopyParents, } from "./duplicate-drag.js";
|
|
3
|
+
export { DEFAULT_SELECT_TOOL_KEYBINDINGS, resolveSelectToolKeybindings, } from "./keybindings.js";
|
|
4
|
+
export { createToggleLockSelectionCommand } from "./lock-selection.js";
|
|
1
5
|
export { createSelectToolPlugin } from "./plugin.js";
|
|
2
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACN,aAAa,EACb,gBAAgB,EAEhB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,+BAA+B,EAC/B,4BAA4B,GAE5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAgC,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keys for the select tool's delete / lock operations. Each entry is a list of
|
|
3
|
+
* combos in the shortcut registry's format (e.g. `"Mod+Shift+L"`); an empty
|
|
4
|
+
* list leaves the operation unbound. "Self" variants act on the shapes only,
|
|
5
|
+
* keeping their contents (see `createDeleteShapesCommand` / `lockScope`).
|
|
6
|
+
*/
|
|
7
|
+
export interface SelectToolKeybindings {
|
|
8
|
+
/** Delete the selection with its contents. */
|
|
9
|
+
delete: readonly string[];
|
|
10
|
+
/** Delete only the selected shapes (e.g. a frame), keeping their contents. */
|
|
11
|
+
deleteSelf: readonly string[];
|
|
12
|
+
/** Lock (or unlock) the selection with its contents. */
|
|
13
|
+
toggleLock: readonly string[];
|
|
14
|
+
/** Lock (or unlock) only the selected shapes, leaving their contents editable. */
|
|
15
|
+
toggleLockSelf: readonly string[];
|
|
16
|
+
}
|
|
17
|
+
export declare const DEFAULT_SELECT_TOOL_KEYBINDINGS: SelectToolKeybindings;
|
|
18
|
+
/** Overlay the host's overrides on the defaults (an omitted key keeps its default). */
|
|
19
|
+
export declare function resolveSelectToolKeybindings(overrides?: Partial<SelectToolKeybindings>): SelectToolKeybindings;
|
|
20
|
+
//# sourceMappingURL=keybindings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../src/keybindings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACrC,8CAA8C;IAC9C,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,8EAA8E;IAC9E,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,wDAAwD;IACxD,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,kFAAkF;IAClF,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,eAAO,MAAM,+BAA+B,EAAE,qBAK7C,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,4BAA4B,CAC3C,SAAS,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAC5C,qBAAqB,CAEvB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const DEFAULT_SELECT_TOOL_KEYBINDINGS = {
|
|
2
|
+
delete: ["Delete", "Backspace"],
|
|
3
|
+
deleteSelf: ["Shift+Delete", "Shift+Backspace"],
|
|
4
|
+
toggleLock: ["Mod+Shift+L"],
|
|
5
|
+
toggleLockSelf: [],
|
|
6
|
+
};
|
|
7
|
+
/** Overlay the host's overrides on the defaults (an omitted key keeps its default). */
|
|
8
|
+
export function resolveSelectToolKeybindings(overrides = {}) {
|
|
9
|
+
return { ...DEFAULT_SELECT_TOOL_KEYBINDINGS, ...overrides };
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=keybindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keybindings.js","sourceRoot":"","sources":["../src/keybindings.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,+BAA+B,GAA0B;IACrE,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,UAAU,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAC/C,UAAU,EAAE,CAAC,aAAa,CAAC;IAC3B,cAAc,EAAE,EAAE;CAClB,CAAC;AAEF,uFAAuF;AACvF,MAAM,UAAU,4BAA4B,CAC3C,SAAS,GAAmC,EAAE;IAE9C,OAAO,EAAE,GAAG,+BAA+B,EAAE,GAAG,SAAS,EAAE,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { BoardStore, Command } from "@edv4h/usketch-shared";
|
|
2
|
+
/**
|
|
3
|
+
* A command toggling the lock on the selection, or `null` when nothing is
|
|
4
|
+
* selected. When every selected shape is already locked with this `scope` it
|
|
5
|
+
* unlocks them; otherwise it locks them all with it. By default the lock
|
|
6
|
+
* cascades to the contents; `"self"` locks only the shapes themselves (e.g. a
|
|
7
|
+
* frame whose items stay editable). Hidden shapes are skipped.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createToggleLockSelectionCommand(store: BoardStore, scope?: "self"): Command | null;
|
|
10
|
+
//# sourceMappingURL=lock-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock-selection.d.ts","sourceRoot":"","sources":["../src/lock-selection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGjE;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC/C,KAAK,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,GAAG,IAAI,CAchB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createSetLockedCommand, isEffectivelyHidden } from "@edv4h/usketch-store";
|
|
2
|
+
/**
|
|
3
|
+
* A command toggling the lock on the selection, or `null` when nothing is
|
|
4
|
+
* selected. When every selected shape is already locked with this `scope` it
|
|
5
|
+
* unlocks them; otherwise it locks them all with it. By default the lock
|
|
6
|
+
* cascades to the contents; `"self"` locks only the shapes themselves (e.g. a
|
|
7
|
+
* frame whose items stay editable). Hidden shapes are skipped.
|
|
8
|
+
*/
|
|
9
|
+
export function createToggleLockSelectionCommand(store, scope) {
|
|
10
|
+
const shapes = [];
|
|
11
|
+
for (const id of store.getSelection()) {
|
|
12
|
+
const shape = store.getShape(id);
|
|
13
|
+
if (shape && !isEffectivelyHidden(store, shape))
|
|
14
|
+
shapes.push(shape);
|
|
15
|
+
}
|
|
16
|
+
if (shapes.length === 0)
|
|
17
|
+
return null;
|
|
18
|
+
const allLocked = shapes.every((s) => s.locked === true && s.lockScope === scope);
|
|
19
|
+
return createSetLockedCommand(store, shapes.map((s) => s.id), !allLocked, scope);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=lock-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock-selection.js","sourceRoot":"","sources":["../src/lock-selection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEnF;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAC/C,KAAiB,EACjB,KAAc;IAEd,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;IAClF,OAAO,sBAAsB,CAC5B,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACvB,CAAC,SAAS,EACV,KAAK,CACL,CAAC;AACH,CAAC"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import type { UsketchPlugin } from "@edv4h/usketch-shared";
|
|
2
|
+
import { type SelectToolKeybindings } from "./keybindings.js";
|
|
2
3
|
import { type OverlayColors } from "./overlay-colors.js";
|
|
3
4
|
export interface SelectToolPluginOptions {
|
|
4
5
|
/** 選択オーバーレイ(選択枠/ハンドル)の色。CSS 変数(例 `var(--colors-primary)`)も可。 */
|
|
5
6
|
overlay?: Partial<OverlayColors>;
|
|
7
|
+
/**
|
|
8
|
+
* 削除・ロックのキー割り当て。指定した操作だけ既定値を置き換え、`[]` で割り当てなし。
|
|
9
|
+
* 既定値は `DEFAULT_SELECT_TOOL_KEYBINDINGS`。
|
|
10
|
+
*/
|
|
11
|
+
keybindings?: Partial<SelectToolKeybindings>;
|
|
6
12
|
}
|
|
7
13
|
export declare function createSelectToolPlugin(options?: SelectToolPluginOptions): UsketchPlugin;
|
|
8
14
|
//# sourceMappingURL=plugin.d.ts.map
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAMX,aAAa,EACb,MAAM,uBAAuB,CAAC;AAkC/B,OAAO,EAAgC,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI5F,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAuFlF,MAAM,WAAW,uBAAuB;IACvC,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC7C;AAED,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,uBAA4B,GAAG,aAAa,CAwiB3F"}
|
package/dist/plugin.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { safeRotation } from "@edv4h/usketch-shared";
|
|
3
|
-
import { createDeleteWithChildrenCommand, isEffectivelyHidden, isEffectivelyLocked, } from "@edv4h/usketch-store";
|
|
2
|
+
import { isContainerAutoAttach, safeRotation } from "@edv4h/usketch-shared";
|
|
4
3
|
import { findHandleAtScreenPoint, findMultiHandleAtScreenPoint, findMultiRotationHandleAtScreenPoint, findRotationHandleAtScreenPoint, findShapeAtPoint, getCursorForHandle, getMultiSelectionBounds, getRotatedCursorForHandle, startDragSession, startMarqueeSession, startMultiRotateSession, startResizeSession, startRotateSession, trackHover, } from "@edv4h/usketch-tool-helpers";
|
|
4
|
+
import { createDeleteSelectionCommand } from "./delete-selection.js";
|
|
5
5
|
import { clearMovingSelectionListeners, setMovingSelection } from "./drag-state.js";
|
|
6
6
|
import { findDropTarget } from "./drop-target.js";
|
|
7
7
|
import { clearDropTargetListeners, setDropTargetId } from "./drop-target-state.js";
|
|
8
|
+
import { addDragCopies, commitDragCopies, removeDragCopies, } from "./duplicate-drag.js";
|
|
8
9
|
import { clearEditingGroupListeners, getEditingGroupId, setEditingGroupId, } from "./group-edit-state.js";
|
|
10
|
+
import { createHandleClickTracker } from "./handle-double-click.js";
|
|
11
|
+
import { resolveSelectToolKeybindings } from "./keybindings.js";
|
|
12
|
+
import { createToggleLockSelectionCommand } from "./lock-selection.js";
|
|
9
13
|
import { clearMarqueeListeners, setMarquee, setMarqueeMode } from "./marquee-state.js";
|
|
10
14
|
import { createOverlayColorStore } from "./overlay-colors.js";
|
|
11
15
|
import { SelectionOverlay } from "./selection-overlay.js";
|
|
@@ -17,24 +21,23 @@ function SelectIcon() {
|
|
|
17
21
|
return (_jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", children: _jsx("path", { d: "M6 2L6 16L10 12L14 16L16 14L12 10L16 6Z", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinejoin: "round" }) }));
|
|
18
22
|
}
|
|
19
23
|
// ── Shared helper ──
|
|
20
|
-
function deleteSelectedShapes(ctx) {
|
|
21
|
-
const selection = ctx.store.getSelection();
|
|
22
|
-
if (selection.size === 0)
|
|
23
|
-
return;
|
|
24
|
+
function deleteSelectedShapes(ctx, scope) {
|
|
24
25
|
if (ctx.store.getActiveToolId() !== "select")
|
|
25
26
|
return;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// both are excluded from canvas interaction.
|
|
30
|
-
if (shape && (isEffectivelyLocked(ctx.store, shape) || isEffectivelyHidden(ctx.store, shape)))
|
|
31
|
-
continue;
|
|
32
|
-
ctx.commands.execute(createDeleteWithChildrenCommand(ctx.store, id));
|
|
33
|
-
}
|
|
27
|
+
const cmd = createDeleteSelectionCommand(ctx.store, scope);
|
|
28
|
+
if (cmd)
|
|
29
|
+
ctx.commands.execute(cmd);
|
|
34
30
|
// No explicit clearSelection: `store.deleteShape` already drops deleted ids from
|
|
35
31
|
// the selection, so skipped (locked/hidden) shapes stay selected while a
|
|
36
32
|
// full-delete still ends with an empty selection.
|
|
37
33
|
}
|
|
34
|
+
function toggleLockSelectedShapes(ctx, scope) {
|
|
35
|
+
if (ctx.store.getActiveToolId() !== "select")
|
|
36
|
+
return;
|
|
37
|
+
const cmd = createToggleLockSelectionCommand(ctx.store, scope);
|
|
38
|
+
if (cmd)
|
|
39
|
+
ctx.commands.execute(cmd);
|
|
40
|
+
}
|
|
38
41
|
export function createSelectToolPlugin(options = {}) {
|
|
39
42
|
return {
|
|
40
43
|
id: "usketch-plugin-tool-select",
|
|
@@ -53,6 +56,95 @@ export function createSelectToolPlugin(options = {}) {
|
|
|
53
56
|
let overrideCursor = "";
|
|
54
57
|
let lastClickTime = 0;
|
|
55
58
|
let lastClickId = null;
|
|
59
|
+
const trackHandleClick = createHandleClickTracker();
|
|
60
|
+
// ── Option(Alt)+drag duplicate ──
|
|
61
|
+
// Like Figma: while Option is held the drag moves copies and the originals
|
|
62
|
+
// stay where they are. The copies live in the store during the drag (so a
|
|
63
|
+
// collaborator sees the copy move, not the original) without history; the
|
|
64
|
+
// drop replaces them with one undoable add. Toggled by the Alt key itself
|
|
65
|
+
// (not only pointermove) so pressing or releasing Option while the mouse is
|
|
66
|
+
// still switches move ⇔ duplicate.
|
|
67
|
+
const isAttachTarget = (shape) => isContainerAutoAttach(ctx.shapes.get(shape.type), shape);
|
|
68
|
+
// Snap must not nudge the shapes put back to their start positions when the
|
|
69
|
+
// drag switches between the originals and the copies.
|
|
70
|
+
function withoutSnap(fn) {
|
|
71
|
+
let enabled = false;
|
|
72
|
+
ctx.events.emit("snap:get-settings", (settings) => {
|
|
73
|
+
enabled = settings.enabled;
|
|
74
|
+
});
|
|
75
|
+
if (enabled)
|
|
76
|
+
ctx.events.emit("snap:configure", { enabled: false });
|
|
77
|
+
try {
|
|
78
|
+
fn();
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
if (enabled)
|
|
82
|
+
ctx.events.emit("snap:configure", { enabled: true });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function setDuplicating(on) {
|
|
86
|
+
if (dragState?.kind !== "move" || (dragState.copies !== null) === on)
|
|
87
|
+
return;
|
|
88
|
+
const state = dragState;
|
|
89
|
+
const { store } = state.toolCtx;
|
|
90
|
+
withoutSnap(() => {
|
|
91
|
+
// Put whatever the current session moved back where it started.
|
|
92
|
+
state.session.cancel();
|
|
93
|
+
if (on) {
|
|
94
|
+
state.copies = addDragCopies(store, state.selectedIds, state.originalMovingIds, isAttachTarget);
|
|
95
|
+
store.setSelection(state.copies.rootIds);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
if (state.copies)
|
|
99
|
+
removeDragCopies(store, state.copies);
|
|
100
|
+
state.copies = null;
|
|
101
|
+
store.setSelection(state.selectedIds);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
state.session = startDragSession({
|
|
105
|
+
ctx: state.toolCtx,
|
|
106
|
+
startPoint: state.startPoint,
|
|
107
|
+
shapeIds: store.getSelection(),
|
|
108
|
+
});
|
|
109
|
+
state.movingIds = state.session.movingShapeIds;
|
|
110
|
+
if (state.lastEvent)
|
|
111
|
+
state.session.update(state.lastEvent);
|
|
112
|
+
}
|
|
113
|
+
let keyTracking = false;
|
|
114
|
+
function onDuplicateKey(e) {
|
|
115
|
+
if (e.key !== "Alt")
|
|
116
|
+
return;
|
|
117
|
+
// Alt alone would focus the menu bar on Windows / Linux.
|
|
118
|
+
e.preventDefault();
|
|
119
|
+
setDuplicating(e.type === "keydown");
|
|
120
|
+
}
|
|
121
|
+
function onDuplicateBlur() {
|
|
122
|
+
setDuplicating(false);
|
|
123
|
+
}
|
|
124
|
+
function startDuplicateKeyTracking() {
|
|
125
|
+
keyTracking = true;
|
|
126
|
+
// Capture phase: a focused text editor stops keydown from bubbling.
|
|
127
|
+
window.addEventListener("keydown", onDuplicateKey, true);
|
|
128
|
+
window.addEventListener("keyup", onDuplicateKey, true);
|
|
129
|
+
window.addEventListener("blur", onDuplicateBlur);
|
|
130
|
+
}
|
|
131
|
+
function stopDuplicateKeyTracking() {
|
|
132
|
+
if (!keyTracking)
|
|
133
|
+
return;
|
|
134
|
+
keyTracking = false;
|
|
135
|
+
window.removeEventListener("keydown", onDuplicateKey, true);
|
|
136
|
+
window.removeEventListener("keyup", onDuplicateKey, true);
|
|
137
|
+
window.removeEventListener("blur", onDuplicateBlur);
|
|
138
|
+
}
|
|
139
|
+
/** Drop the copies of an unfinished duplicate drag (the originals never moved). */
|
|
140
|
+
function discardCopies() {
|
|
141
|
+
if (dragState?.kind !== "move" || !dragState.copies)
|
|
142
|
+
return;
|
|
143
|
+
const { store } = dragState.toolCtx;
|
|
144
|
+
removeDragCopies(store, dragState.copies);
|
|
145
|
+
dragState.copies = null;
|
|
146
|
+
store.setSelection(dragState.selectedIds);
|
|
147
|
+
}
|
|
56
148
|
// Inject a <style> tag to override canvas cursor via !important
|
|
57
149
|
const styleEl = document.createElement("style");
|
|
58
150
|
styleEl.dataset.selectTool = "";
|
|
@@ -124,6 +216,12 @@ export function createSelectToolPlugin(options = {}) {
|
|
|
124
216
|
if (handleHit) {
|
|
125
217
|
const shape = toolCtx.store.getShape(handleHit.shapeId);
|
|
126
218
|
if (shape) {
|
|
219
|
+
if (trackHandleClick(handleHit.shapeId, handleHit.handle, Date.now()) &&
|
|
220
|
+
toolCtx.shapes
|
|
221
|
+
.get(shape.type)
|
|
222
|
+
?.onHandleDoubleClick?.(toolCtx, shape, handleHit.handle)) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
127
225
|
const shapeRotation = safeRotation(shape.rotation);
|
|
128
226
|
setOverrideCursor(shapeRotation
|
|
129
227
|
? getRotatedCursorForHandle(handleHit.handle, shapeRotation)
|
|
@@ -218,7 +316,15 @@ export function createSelectToolPlugin(options = {}) {
|
|
|
218
316
|
kind: "move",
|
|
219
317
|
session,
|
|
220
318
|
movingIds: session.movingShapeIds,
|
|
319
|
+
toolCtx,
|
|
320
|
+
startPoint: { x: event.worldPoint.x, y: event.worldPoint.y },
|
|
321
|
+
selectedIds: [...currentSelection],
|
|
322
|
+
originalMovingIds: session.movingShapeIds,
|
|
323
|
+
copies: null,
|
|
324
|
+
lastEvent: null,
|
|
221
325
|
};
|
|
326
|
+
startDuplicateKeyTracking();
|
|
327
|
+
setDuplicating(event.altKey);
|
|
222
328
|
}
|
|
223
329
|
else {
|
|
224
330
|
// Click on empty — start marquee selection
|
|
@@ -268,6 +374,8 @@ export function createSelectToolPlugin(options = {}) {
|
|
|
268
374
|
return;
|
|
269
375
|
}
|
|
270
376
|
// kind === "move"
|
|
377
|
+
dragState.lastEvent = event;
|
|
378
|
+
setDuplicating(event.altKey);
|
|
271
379
|
dragState.session.update(event);
|
|
272
380
|
// Drop target: the auto-attach container under the cursor (excluding dragged shapes).
|
|
273
381
|
updateDropTarget(findDropTarget(toolCtx, event.worldPoint, dragState.movingIds));
|
|
@@ -312,6 +420,28 @@ export function createSelectToolPlugin(options = {}) {
|
|
|
312
420
|
}
|
|
313
421
|
// kind === "move"
|
|
314
422
|
setMovingSelection(false);
|
|
423
|
+
stopDuplicateKeyTracking();
|
|
424
|
+
const { copies } = dragState;
|
|
425
|
+
if (copies) {
|
|
426
|
+
// Option held at drop: the originals never moved; the copies become one
|
|
427
|
+
// undoable add where they were dropped. A click without moving adds none.
|
|
428
|
+
const moved = copies.shapes.some((s) => {
|
|
429
|
+
const now = toolCtx.store.getShape(s.id);
|
|
430
|
+
return !!now && (now.x !== s.x || now.y !== s.y);
|
|
431
|
+
});
|
|
432
|
+
const add = moved ? commitDragCopies(toolCtx.store, copies, isAttachTarget) : null;
|
|
433
|
+
if (!add)
|
|
434
|
+
discardCopies();
|
|
435
|
+
dragState = null;
|
|
436
|
+
if (add) {
|
|
437
|
+
queueMicrotask(() => {
|
|
438
|
+
toolCtx.commands.execute(add);
|
|
439
|
+
toolCtx.store.setSelection(copies.rootIds);
|
|
440
|
+
toolCtx.events.emit("shapes:move-end", { shapeIds: copies.rootIds });
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
315
445
|
const userSelectedIds = [...toolCtx.store.getSelection()];
|
|
316
446
|
const result = dragState.session.commit();
|
|
317
447
|
if (result) {
|
|
@@ -324,6 +454,8 @@ export function createSelectToolPlugin(options = {}) {
|
|
|
324
454
|
dragState = null;
|
|
325
455
|
}
|
|
326
456
|
function onDeactivate(toolCtx) {
|
|
457
|
+
discardCopies();
|
|
458
|
+
stopDuplicateKeyTracking();
|
|
327
459
|
dragState = null;
|
|
328
460
|
enableTextSelection();
|
|
329
461
|
setMovingSelection(false);
|
|
@@ -353,15 +485,30 @@ export function createSelectToolPlugin(options = {}) {
|
|
|
353
485
|
fixed: true,
|
|
354
486
|
render: (renderCtx) => (_jsx(SelectionOverlay, { store: ctx.store, shapes: ctx.shapes, viewport: renderCtx.viewport, colors: overlayColors })),
|
|
355
487
|
});
|
|
356
|
-
// Delete
|
|
357
|
-
|
|
358
|
-
|
|
488
|
+
// Delete / lock the selection. Each has a "with contents" and a "self"
|
|
489
|
+
// (e.g. frame only) variant; the keys are host-configurable.
|
|
490
|
+
const keys = resolveSelectToolKeybindings(options.keybindings);
|
|
491
|
+
const bindings = [
|
|
492
|
+
[keys.delete, () => deleteSelectedShapes(ctx), "削除(中身ごと)"],
|
|
493
|
+
[keys.deleteSelf, () => deleteSelectedShapes(ctx, "self"), "削除(フレームだけ)"],
|
|
494
|
+
[keys.toggleLock, () => toggleLockSelectedShapes(ctx), "ロック切替(中身ごと)"],
|
|
495
|
+
[
|
|
496
|
+
keys.toggleLockSelf,
|
|
497
|
+
() => toggleLockSelectedShapes(ctx, "self"),
|
|
498
|
+
"ロック切替(フレームだけ)",
|
|
499
|
+
],
|
|
500
|
+
];
|
|
501
|
+
const offShortcuts = bindings.flatMap(([combos, run, label]) => combos.map((combo) => ctx.shortcuts.register(combo, run, { label, category: "edit" })));
|
|
359
502
|
// 実行時に色を変更(snap:configure と対になる select:configure)。
|
|
360
503
|
// `{ overlay: { strokeColor, handleFillColor } }` も平坦な形も受け付ける。
|
|
361
504
|
const offConfigure = ctx.events.on("select:configure", (patch) => overlayColors.set(patch.overlay ?? patch));
|
|
362
505
|
// ── Teardown ──
|
|
363
506
|
return () => {
|
|
507
|
+
for (const off of offShortcuts)
|
|
508
|
+
off();
|
|
364
509
|
offConfigure();
|
|
510
|
+
discardCopies();
|
|
511
|
+
stopDuplicateKeyTracking();
|
|
365
512
|
// overlayColors はインスタンス所有なので reset 不要(GC で破棄)。#640
|
|
366
513
|
setOverrideCursor("");
|
|
367
514
|
setMovingSelection(false);
|
package/dist/plugin.js.map
CHANGED
|
@@ -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":";AAQA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EACN,uBAAuB,EACvB,4BAA4B,EAC5B,oCAAoC,EACpC,+BAA+B,EAC/B,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,GACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACN,aAAa,EACb,gBAAgB,EAEhB,gBAAgB,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAA8B,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAsB,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,6DAA6D;AAC7D,sEAAsE;AACtE,gDAAgD;AAEhD,aAAa;AAEb,SAAS,UAAU;IAClB,OAAO,CACN,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,YAC9C,eACC,CAAC,EAAC,yCAAyC,EAC3C,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,cAAc,EAAC,OAAO,GACrB,GACG,CACN,CAAC;AACH,CAAC;AAED,sBAAsB;AAEtB,SAAS,oBAAoB,CAAC,GAAkB,EAAE,KAAc;IAC/D,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,QAAQ;QAAE,OAAO;IACrD,MAAM,GAAG,GAAG,4BAA4B,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAI,GAAG;QAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,iFAAiF;IACjF,yEAAyE;IACzE,kDAAkD;AACnD,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAkB,EAAE,KAAc;IACnE,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,QAAQ;QAAE,OAAO;IACrD,MAAM,GAAG,GAAG,gCAAgC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,GAAG;QAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AA2DD,MAAM,UAAU,sBAAsB,CAAC,OAAO,GAA4B,EAAE;IAC3E,OAAO;QACN,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,IAAI;QAEV,KAAK,CAAC,GAAkB;YACvB,2CAA2C;YAC3C,iDAAiD;YACjD,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE/D,kEAAkE;YAClE,SAAS,gBAAgB,CAAC,EAAiB;gBAC1C,eAAe,CAAC,EAAE,CAAC,CAAC;gBACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,wDAAwD;YACxD,IAAI,SAAS,GAAc,IAAI,CAAC;YAChC,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,WAAW,GAAkB,IAAI,CAAC;YACtC,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;YAEpD,mCAAmC;YACnC,2EAA2E;YAC3E,0EAA0E;YAC1E,0EAA0E;YAC1E,0EAA0E;YAC1E,4EAA4E;YAC5E,mCAAmC;YAEnC,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAE,EAAE,CAC3C,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAE1D,4EAA4E;YAC5E,sDAAsD;YACtD,SAAS,WAAW,CAAC,EAAc;gBAClC,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,QAA8B,EAAE,EAAE;oBACvE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,IAAI,OAAO;oBAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnE,IAAI,CAAC;oBACJ,EAAE,EAAE,CAAC;gBACN,CAAC;wBAAS,CAAC;oBACV,IAAI,OAAO;wBAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,CAAC;YACF,CAAC;YAED,SAAS,cAAc,CAAC,EAAW;gBAClC,IAAI,SAAS,EAAE,IAAI,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE;oBAAE,OAAO;gBAC7E,MAAM,KAAK,GAAG,SAAS,CAAC;gBACxB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;gBAChC,WAAW,CAAC,GAAG,EAAE;oBAChB,gEAAgE;oBAChE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACvB,IAAI,EAAE,EAAE,CAAC;wBACR,KAAK,CAAC,MAAM,GAAG,aAAa,CAC3B,KAAK,EACL,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,iBAAiB,EACvB,cAAc,CACd,CAAC;wBACF,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACP,IAAI,KAAK,CAAC,MAAM;4BAAE,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;wBACxD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;wBACpB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACvC,CAAC;gBACF,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;oBAChC,GAAG,EAAE,KAAK,CAAC,OAAO;oBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE;iBAC9B,CAAC,CAAC;gBACH,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC/C,IAAI,KAAK,CAAC,SAAS;oBAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,SAAS,cAAc,CAAC,CAAgB;gBACvC,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK;oBAAE,OAAO;gBAC5B,yDAAyD;gBACzD,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YACtC,CAAC;YACD,SAAS,eAAe;gBACvB,cAAc,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YACD,SAAS,yBAAyB;gBACjC,WAAW,GAAG,IAAI,CAAC;gBACnB,oEAAoE;gBACpE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;gBACzD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;gBACvD,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAClD,CAAC;YACD,SAAS,wBAAwB;gBAChC,IAAI,CAAC,WAAW;oBAAE,OAAO;gBACzB,WAAW,GAAG,KAAK,CAAC;gBACpB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;gBAC5D,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;gBAC1D,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACrD,CAAC;YAED,mFAAmF;YACnF,SAAS,aAAa;gBACrB,IAAI,SAAS,EAAE,IAAI,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM;oBAAE,OAAO;gBAC5D,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;gBACpC,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC1C,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;gBACxB,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC3C,CAAC;YAED,gEAAgE;YAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEnC,SAAS,iBAAiB,CAAC,MAAc;gBACxC,IAAI,MAAM,KAAK,cAAc;oBAAE,OAAO;gBACtC,cAAc,GAAG,MAAM,CAAC;gBACxB,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,CAAC;YAED,gDAAgD;YAChD,MAAM,aAAa,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YACvD,SAAS,oBAAoB;gBAC5B,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACzD,CAAC;YACD,SAAS,mBAAmB;gBAC3B,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YAC5D,CAAC;YAED,sBAAsB;YAEtB,SAAS,aAAa,CAAC,OAAoB,EAAE,KAAyB;gBACrE,oBAAoB,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAE7C,6DAA6D;gBAC7D,MAAM,WAAW,GAAG,+BAA+B,CAClD,KAAK,CAAC,WAAW,EACjB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,EACb,QAAQ,CACR,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBACjB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAC1D,IAAI,KAAK,EAAE,CAAC;wBACX,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;wBACrC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;wBACtC,MAAM,UAAU,GACf,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;wBAChF,iBAAiB,CAAC,UAAU,CAAC,CAAC;wBAC9B,SAAS,GAAG;4BACX,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,kBAAkB,CAAC;gCAC3B,GAAG,EAAE,OAAO;gCACZ,OAAO,EAAE,WAAW,CAAC,OAAO;gCAC5B,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;gCACxB,UAAU;gCACV,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;6BAC3C,CAAC;yBACF,CAAC;wBACF,OAAO;oBACR,CAAC;gBACF,CAAC;gBAED,oEAAoE;gBACpE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBAClD,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;oBACzF,IACC,WAAW;wBACX,oCAAoC,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,EAC7E,CAAC;wBACF,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;wBACjD,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;wBAClD,MAAM,UAAU,GACf,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;wBAChF,iBAAiB,CAAC,UAAU,CAAC,CAAC;wBAC9B,SAAS,GAAG;4BACX,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,uBAAuB,CAAC;gCAChC,GAAG,EAAE,OAAO;gCACZ,GAAG,EAAE,YAAY;gCACjB,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;gCACxB,UAAU;6BACV,CAAC;yBACF,CAAC;wBACF,OAAO;oBACR,CAAC;gBACF,CAAC;gBAED,gCAAgC;gBAChC,MAAM,SAAS,GAAG,uBAAuB,CACxC,KAAK,CAAC,WAAW,EACjB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,EACb,QAAQ,CACR,CAAC;gBACF,IAAI,SAAS,EAAE,CAAC;oBACf,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBACxD,IAAI,KAAK,EAAE,CAAC;wBACX,IACC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;4BACjE,OAAO,CAAC,MAAM;iCACZ,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gCAChB,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EACzD,CAAC;4BACF,OAAO;wBACR,CAAC;wBACD,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACnD,iBAAiB,CAChB,aAAa;4BACZ,CAAC,CAAC,yBAAyB,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;4BAC5D,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CACvC,CAAC;wBACF,SAAS,GAAG;4BACX,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,aAAa;4BACvB,OAAO,EAAE,kBAAkB,CAAC;gCAC3B,IAAI,EAAE,QAAQ;gCACd,GAAG,EAAE,OAAO;gCACZ,OAAO,EAAE,SAAS,CAAC,OAAO;gCAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;gCACxB,UAAU,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;6BAC5D,CAAC;yBACF,CAAC;wBACF,OAAO;oBACR,CAAC;gBACF,CAAC;gBAED,oCAAoC;gBACpC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC/C,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBACtF,IAAI,WAAW,EAAE,CAAC;wBACjB,MAAM,WAAW,GAAG,4BAA4B,CAC/C,KAAK,CAAC,WAAW,EACjB,WAAW,EACX,QAAQ,CACR,CAAC;wBACF,IAAI,WAAW,EAAE,CAAC;4BACjB,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;4BACnD,SAAS,GAAG;gCACX,IAAI,EAAE,cAAc;gCACpB,OAAO,EAAE,kBAAkB,CAAC;oCAC3B,IAAI,EAAE,OAAO;oCACb,GAAG,EAAE,OAAO;oCACZ,SAAS;oCACT,MAAM,EAAE,WAAW;oCACnB,UAAU,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;oCAC5D,WAAW;iCACX,CAAC;6BACF,CAAC;4BACF,OAAO;wBACR,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,iDAAiD;gBACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE;oBAC5D,cAAc,EAAE,iBAAiB,EAAE;iBACnC,CAAC,CAAC;gBAEH,IAAI,QAAQ,IAAI,GAAG,GAAG,aAAa,GAAG,GAAG,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACvE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC/C,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;wBACxD,iBAAiB,CAAC,QAAQ,CAAC,CAAC;wBAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;wBAC/B,aAAa,GAAG,CAAC,CAAC;wBAClB,WAAW,GAAG,IAAI,CAAC;wBACnB,OAAO;oBACR,CAAC;gBACF,CAAC;gBACD,aAAa,GAAG,GAAG,CAAC;gBACpB,WAAW,GAAG,QAAQ,CAAC;gBAEvB,8DAA8D;gBAC9D,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;gBAC3C,IAAI,cAAc,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;oBACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;wBACvD,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACF,CAAC;gBAED,MAAM,KAAK,GAAG,QAAQ,CAAC;gBAEvB,IAAI,KAAK,EAAE,CAAC;oBACX,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACpB,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC1B,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;wBAC1C,CAAC;6BAAM,CAAC;4BACP,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;wBACrC,CAAC;oBACF,CAAC;yBAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrC,CAAC;oBAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;oBACtD,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACzB,MAAM,OAAO,GAAG,gBAAgB,CAAC;wBAChC,GAAG,EAAE,OAAO;wBACZ,UAAU,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;wBAC5D,QAAQ,EAAE,gBAAgB;qBAC1B,CAAC,CAAC;oBACH,4DAA4D;oBAC5D,6DAA6D;oBAC7D,8DAA8D;oBAC9D,WAAW;oBACX,SAAS,GAAG;wBACX,IAAI,EAAE,MAAM;wBACZ,OAAO;wBACP,SAAS,EAAE,OAAO,CAAC,cAAc;wBACjC,OAAO;wBACP,UAAU,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;wBAC5D,WAAW,EAAE,CAAC,GAAG,gBAAgB,CAAC;wBAClC,iBAAiB,EAAE,OAAO,CAAC,cAAc;wBACzC,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,IAAI;qBACf,CAAC;oBACF,yBAAyB,EAAE,CAAC;oBAC5B,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACP,2CAA2C;oBAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;oBAChC,CAAC;oBACD,SAAS,GAAG;wBACX,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,OAAO,EAAE,mBAAmB,CAAC;4BAC5B,GAAG,EAAE,OAAO;4BACZ,eAAe,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;4BACjE,cAAc,EAAE,iBAAiB,EAAE;yBACnC,CAAC;qBACF,CAAC;gBACH,CAAC;YACF,CAAC;YAED,SAAS,aAAa,CAAC,OAAoB,EAAE,KAAyB;gBACrE,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,mEAAmE;oBACnE,iEAAiE;oBACjE,qEAAqE;oBACrE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE;wBACzC,cAAc,EAAE,iBAAiB,EAAE;qBACnC,CAAC,CAAC;oBACH,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACjC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAC9B,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CACrE,CAAC;oBACF,OAAO;gBACR,CAAC;gBAED,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChC,OAAO;gBACR,CAAC;gBAED,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAClC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC1C,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACvB,UAAU,CAAC,CAAC,CAAC,IAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACjD,OAAO;gBACR,CAAC;gBAED,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACtE,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC1C,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;wBACrB,iBAAiB,CAChB,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ;4BAChD,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC;4BAChE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CACtC,CAAC;oBACH,CAAC;oBACD,OAAO;gBACR,CAAC;gBAED,kBAAkB;gBAClB,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC5B,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC7B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEhC,sFAAsF;gBACtF,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YAClF,CAAC;YAED,SAAS,WAAW,CAAC,OAAoB,EAAE,MAA0B;gBACpE,mBAAmB,EAAE,CAAC;gBACtB,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAEvB,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBACtB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC1C,IAAI,MAAM,EAAE,CAAC;wBACZ,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChE,CAAC;oBACD,SAAS,GAAG,IAAI,CAAC;oBACjB,OAAO;gBACR,CAAC;gBAED,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAClC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC1C,IAAI,MAAM,EAAE,CAAC;wBACZ,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;4BACxB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS;gCAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;wBACrE,CAAC;6BAAM,CAAC;4BACP,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;wBACnD,CAAC;oBACF,CAAC;oBACD,SAAS,GAAG,IAAI,CAAC;oBACjB,OAAO;gBACR,CAAC;gBAED,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACtE,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBACtB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC1C,IAAI,MAAM,EAAE,CAAC;wBACZ,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChE,CAAC;oBACD,SAAS,GAAG,IAAI,CAAC;oBACjB,OAAO;gBACR,CAAC;gBAED,kBAAkB;gBAClB,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1B,wBAAwB,EAAE,CAAC;gBAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBAC7B,IAAI,MAAM,EAAE,CAAC;oBACZ,wEAAwE;oBACxE,0EAA0E;oBAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBACtC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACzC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC;oBACH,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnF,IAAI,CAAC,GAAG;wBAAE,aAAa,EAAE,CAAC;oBAC1B,SAAS,GAAG,IAAI,CAAC;oBACjB,IAAI,GAAG,EAAE,CAAC;wBACT,cAAc,CAAC,GAAG,EAAE;4BACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;4BAC9B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC3C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;wBACtE,CAAC,CAAC,CAAC;oBACJ,CAAC;oBACD,OAAO;gBACR,CAAC;gBACD,MAAM,eAAe,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1C,IAAI,MAAM,EAAE,CAAC;oBACZ,cAAc,CAAC,GAAG,EAAE;wBACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACzC,0EAA0E;wBAC1E,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;oBACvE,CAAC,CAAC,CAAC;gBACJ,CAAC;gBACD,SAAS,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,SAAS,YAAY,CAAC,OAAoB;gBACzC,aAAa,EAAE,CAAC;gBAChB,wBAAwB,EAAE,CAAC;gBAC3B,SAAS,GAAG,IAAI,CAAC;gBACjB,mBAAmB,EAAE,CAAC;gBACtB,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjB,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACtB,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACtC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAC5B,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,CAAC;gBACR,aAAa;gBACb,aAAa;gBACb,WAAW;gBACX,YAAY;aACZ,CAAC,CAAC;YAEH,uCAAuC;YACvC,mEAAmE;YACnE,kEAAkE;YAClE,MAAM,6BAA6B,GAAG,GAAG,CAAC,EAAE,CAAC,2BAA2B,CAAC;gBACxE,EAAE,EAAE,qBAAqB;gBACzB,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CACtB,KAAC,gBAAgB,IAChB,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,MAAM,EAAE,aAAa,GACpB,CACF;aACD,CAAC,CAAC;YAEH,uEAAuE;YACvE,6DAA6D;YAC7D,MAAM,IAAI,GAAG,4BAA4B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAmD;gBAChE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;gBAC1D,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC;gBACxE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;gBACrE;oBACC,IAAI,CAAC,cAAc;oBACnB,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC;oBAC3C,eAAe;iBACf;aACD,CAAC;YACF,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAC9D,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CACtF,CAAC;YAEF,mDAAmD;YACnD,+DAA+D;YAC/D,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAEhC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC;YAE5E,iBAAiB;YACjB,OAAO,GAAG,EAAE;gBACX,KAAK,MAAM,GAAG,IAAI,YAAY;oBAAE,GAAG,EAAE,CAAC;gBACtC,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,CAAC;gBAChB,wBAAwB,EAAE,CAAC;gBAC3B,mDAAmD;gBACnD,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACtB,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjB,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAClC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvB,qBAAqB,EAAE,CAAC;gBACxB,6BAA6B,EAAE,CAAC;gBAChC,0BAA0B,EAAE,CAAC;gBAC7B,wBAAwB,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,6BAA6B,EAAE,CAAC;YACjC,CAAC,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edv4h/usketch-plugin-tool-select",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@edv4h/usketch-core": "2.4.
|
|
16
|
-
"@edv4h/usketch-shared": "4.
|
|
17
|
-
"@edv4h/usketch-store": "3.
|
|
18
|
-
"@edv4h/usketch-tool-helpers": "0.
|
|
15
|
+
"@edv4h/usketch-core": "2.4.9",
|
|
16
|
+
"@edv4h/usketch-shared": "4.19.0",
|
|
17
|
+
"@edv4h/usketch-store": "3.11.0",
|
|
18
|
+
"@edv4h/usketch-tool-helpers": "0.8.1"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"react": ">=19"
|