kritzel-stencil 0.0.137 → 0.0.139
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/cjs/{index-CZcU_Jdl.js → index-DgZMn9B_.js} +47 -29
- package/dist/cjs/index-DgZMn9B_.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kritzel-color_22.cjs.entry.js +10 -18
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/classes/core/core.class.js +1 -0
- package/dist/collection/classes/core/core.class.js.map +1 -1
- package/dist/collection/classes/handlers/move.handler.js +3 -1
- package/dist/collection/classes/handlers/move.handler.js.map +1 -1
- package/dist/collection/classes/handlers/resize.handler.js +2 -0
- package/dist/collection/classes/handlers/resize.handler.js.map +1 -1
- package/dist/collection/classes/handlers/rotation.handler.js +2 -0
- package/dist/collection/classes/handlers/rotation.handler.js.map +1 -1
- package/dist/collection/classes/handlers/selection.handler.js +27 -16
- package/dist/collection/classes/handlers/selection.handler.js.map +1 -1
- package/dist/collection/classes/objects/text.class.js +5 -5
- package/dist/collection/classes/objects/text.class.js.map +1 -1
- package/dist/collection/classes/tools/selection-tool.class.js +1 -1
- package/dist/collection/classes/tools/selection-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/text-tool.class.js +6 -4
- package/dist/collection/classes/tools/text-tool.class.js.map +1 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +2 -15
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +12 -3
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
- package/dist/collection/configs/default-engine-state.js +1 -0
- package/dist/collection/configs/default-engine-state.js.map +1 -1
- package/dist/collection/interfaces/engine-state.interface.js.map +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/kritzel-controls.js +1 -1
- package/dist/components/kritzel-editor.js +4 -17
- package/dist/components/kritzel-editor.js.map +1 -1
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/{p-obTL5Wl7.js → p-BbGgijCS.js} +12 -11
- package/dist/components/p-BbGgijCS.js.map +1 -0
- package/dist/components/{p-RKMcsakE.js → p-CHdJi6b4.js} +3 -3
- package/dist/components/{p-RKMcsakE.js.map → p-CHdJi6b4.js.map} +1 -1
- package/dist/components/{p-CZqusfWQ.js → p-KudVTtHk.js} +47 -25
- package/dist/components/p-KudVTtHk.js.map +1 -0
- package/dist/esm/{index-CeerFGiM.js → index-CxieEK_G.js} +47 -29
- package/dist/esm/index-CxieEK_G.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/kritzel-color_22.entry.js +10 -18
- package/dist/esm/loader.js +1 -1
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/index.esm.js +1 -1
- package/dist/stencil/p-CxieEK_G.js +2 -0
- package/dist/stencil/p-CxieEK_G.js.map +1 -0
- package/dist/stencil/p-ab074e87.entry.js +2 -0
- package/dist/stencil/p-ab074e87.entry.js.map +1 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +1 -0
- package/dist/types/components.d.ts +2 -2
- package/dist/types/interfaces/engine-state.interface.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/index-CZcU_Jdl.js.map +0 -1
- package/dist/components/p-CZqusfWQ.js.map +0 -1
- package/dist/components/p-obTL5Wl7.js.map +0 -1
- package/dist/esm/index-CeerFGiM.js.map +0 -1
- package/dist/stencil/p-CeerFGiM.js +0 -2
- package/dist/stencil/p-CeerFGiM.js.map +0 -1
- package/dist/stencil/p-c77cc675.entry.js +0 -2
- package/dist/stencil/p-c77cc675.entry.js.map +0 -1
|
@@ -264,16 +264,17 @@ class KritzelTextTool extends KritzelBaseTool {
|
|
|
264
264
|
const path = event.composedPath().slice(1);
|
|
265
265
|
const objectElement = path.find(element => element.classList && element.classList.contains('object'));
|
|
266
266
|
const object = this._core.findObjectById(objectElement?.id);
|
|
267
|
-
if (
|
|
267
|
+
if (object instanceof KritzelText) {
|
|
268
268
|
this._core.store.setState('activeText', object);
|
|
269
269
|
object.focus();
|
|
270
270
|
return;
|
|
271
271
|
}
|
|
272
272
|
if (this._core.store.state.activeText !== null && object instanceof KritzelText) {
|
|
273
|
+
this._core.store.setState('activeText', object);
|
|
273
274
|
object.focus();
|
|
274
275
|
return;
|
|
275
276
|
}
|
|
276
|
-
if (this._core.store.state.activeText !== null) {
|
|
277
|
+
if (this._core.store.state.activeText !== null && object instanceof KritzelText === false) {
|
|
277
278
|
this._core.resetActiveText();
|
|
278
279
|
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('selection'));
|
|
279
280
|
return;
|
|
@@ -296,16 +297,17 @@ class KritzelTextTool extends KritzelBaseTool {
|
|
|
296
297
|
const path = event.composedPath().slice(1);
|
|
297
298
|
const objectElement = path.find(element => element.classList && element.classList.contains('object'));
|
|
298
299
|
const object = this._core.findObjectById(objectElement?.id);
|
|
299
|
-
if (
|
|
300
|
+
if (object instanceof KritzelText) {
|
|
300
301
|
this._core.store.setState('activeText', object);
|
|
301
302
|
object.focus();
|
|
302
303
|
return;
|
|
303
304
|
}
|
|
304
305
|
if (this._core.store.state.activeText !== null && object instanceof KritzelText) {
|
|
306
|
+
this._core.store.setState('activeText', object);
|
|
305
307
|
object.focus();
|
|
306
308
|
return;
|
|
307
309
|
}
|
|
308
|
-
if (this._core.store.state.activeText !== null) {
|
|
310
|
+
if (this._core.store.state.activeText !== null && object instanceof KritzelText === false) {
|
|
309
311
|
this._core.resetActiveText();
|
|
310
312
|
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('selection'));
|
|
311
313
|
return;
|
|
@@ -761,13 +763,12 @@ class KritzelText extends KritzelBaseObject {
|
|
|
761
763
|
}
|
|
762
764
|
}
|
|
763
765
|
edit() {
|
|
766
|
+
KritzelKeyboardHelper.disableInteractiveWidget();
|
|
764
767
|
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('text'));
|
|
765
|
-
this._core.store.setState('selectionGroup', null);
|
|
766
|
-
this._core.store.setState('selectionBox', null);
|
|
767
768
|
this._core.store.setState('activeText', this);
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
769
|
+
this._core.clearSelection();
|
|
770
|
+
this.focus();
|
|
771
|
+
KritzelKeyboardHelper.enableInteractiveWidget();
|
|
771
772
|
}
|
|
772
773
|
}
|
|
773
774
|
|
|
@@ -1534,7 +1535,6 @@ class KritzelMoveHandler extends KritzelBaseHandler {
|
|
|
1534
1535
|
this._core.store.setState('isDragging', true);
|
|
1535
1536
|
this.endX = x;
|
|
1536
1537
|
this.endY = y;
|
|
1537
|
-
this.hasMoved = true;
|
|
1538
1538
|
const moveDeltaX = Math.abs(x - this.startX);
|
|
1539
1539
|
const moveDeltaY = Math.abs(y - this.startY);
|
|
1540
1540
|
const moveThreshold = 5;
|
|
@@ -1543,6 +1543,7 @@ class KritzelMoveHandler extends KritzelBaseHandler {
|
|
|
1543
1543
|
this._core.store.state.selectionGroup.move(x, y, this.dragStartX, this.dragStartY);
|
|
1544
1544
|
this.dragStartX = x;
|
|
1545
1545
|
this.dragStartY = y;
|
|
1546
|
+
this.hasMoved = true;
|
|
1546
1547
|
}
|
|
1547
1548
|
}
|
|
1548
1549
|
}
|
|
@@ -1553,6 +1554,7 @@ class KritzelMoveHandler extends KritzelBaseHandler {
|
|
|
1553
1554
|
this._core.store.setState('isDragging', false);
|
|
1554
1555
|
if (this.hasMoved) {
|
|
1555
1556
|
this._core.history.executeCommand(new MoveSelectionGroupCommand(this._core, this, this.endX, this.endY, this.startX, this.startY, true));
|
|
1557
|
+
this._core.store.setState('hasObjectsChanged', true);
|
|
1556
1558
|
}
|
|
1557
1559
|
this.reset();
|
|
1558
1560
|
}
|
|
@@ -1562,6 +1564,7 @@ class KritzelMoveHandler extends KritzelBaseHandler {
|
|
|
1562
1564
|
this._core.store.setState('isDragging', false);
|
|
1563
1565
|
if (this.hasMoved) {
|
|
1564
1566
|
this._core.history.executeCommand(new MoveSelectionGroupCommand(this._core, this, this.endX, this.endY, this.startX, this.startY, true));
|
|
1567
|
+
this._core.store.setState('hasObjectsChanged', true);
|
|
1565
1568
|
}
|
|
1566
1569
|
this.reset();
|
|
1567
1570
|
}
|
|
@@ -1740,6 +1743,7 @@ class KritzelResizeHandler extends KritzelBaseHandler {
|
|
|
1740
1743
|
if (this._core.store.state.isResizing) {
|
|
1741
1744
|
this._core.history.executeCommand(new ResizeSelectionGroupCommand(this._core, this, structuredClone(this.initialSize), structuredClone(this.newSize)));
|
|
1742
1745
|
this._core.store.setState('isResizing', false);
|
|
1746
|
+
this._core.store.setState('hasObjectsChanged', true);
|
|
1743
1747
|
this.reset();
|
|
1744
1748
|
}
|
|
1745
1749
|
}
|
|
@@ -1747,6 +1751,7 @@ class KritzelResizeHandler extends KritzelBaseHandler {
|
|
|
1747
1751
|
if (this._core.store.state.isResizing) {
|
|
1748
1752
|
this._core.history.executeCommand(new ResizeSelectionGroupCommand(this._core, this, structuredClone(this.initialSize), structuredClone(this.newSize)));
|
|
1749
1753
|
this._core.store.setState('isResizing', false);
|
|
1754
|
+
this._core.store.setState('hasObjectsChanged', true);
|
|
1750
1755
|
this.reset();
|
|
1751
1756
|
clearTimeout(this._core.store.state.longTouchTimeout);
|
|
1752
1757
|
}
|
|
@@ -1874,6 +1879,7 @@ class KritzelRotationHandler extends KritzelBaseHandler {
|
|
|
1874
1879
|
if (this._core.store.state.isRotating) {
|
|
1875
1880
|
this._core.history.executeCommand(new RotateSelectionGroupCommand(this._core, this, this.rotation, this.initialSelectionGroupRotation));
|
|
1876
1881
|
this._core.store.setState('isRotating', false);
|
|
1882
|
+
this._core.store.setState('hasObjectsChanged', true);
|
|
1877
1883
|
this.reset();
|
|
1878
1884
|
}
|
|
1879
1885
|
}
|
|
@@ -1881,6 +1887,7 @@ class KritzelRotationHandler extends KritzelBaseHandler {
|
|
|
1881
1887
|
if (this._core.store.state.isRotating) {
|
|
1882
1888
|
this._core.history.executeCommand(new RotateSelectionGroupCommand(this._core, this, this.rotation, this.initialSelectionGroupRotation));
|
|
1883
1889
|
this._core.store.setState('isRotating', false);
|
|
1890
|
+
this._core.store.setState('hasObjectsChanged', true);
|
|
1884
1891
|
this.reset();
|
|
1885
1892
|
clearTimeout(this._core.store.state.longTouchTimeout);
|
|
1886
1893
|
}
|
|
@@ -1979,23 +1986,35 @@ class KritzelSelectionHandler extends KritzelBaseHandler {
|
|
|
1979
1986
|
}
|
|
1980
1987
|
handlePointerUp(event) {
|
|
1981
1988
|
if (event.pointerType === 'mouse') {
|
|
1982
|
-
if (KritzelEventHelper.isLeftClick(event)
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
const selectedObject = this._core.getObjectsFromPointerEvent(event, '.object').find(obj => obj.hitTest(x, y));
|
|
1987
|
-
this.addObjectToSelectionGroup(selectedObject);
|
|
1988
|
-
this.removeSelectionBox();
|
|
1989
|
+
if (KritzelEventHelper.isLeftClick(event)) {
|
|
1990
|
+
const hasObjectsMoved = this._core.store.state.hasObjectsChanged;
|
|
1991
|
+
if (this._core.store.state.selectionGroup?.objects.length === 1 && hasObjectsMoved === false) {
|
|
1992
|
+
this._core.store.state.selectionGroup.objects[0].edit();
|
|
1989
1993
|
}
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
this.
|
|
1993
|
-
|
|
1994
|
+
this._core.store.setState('hasObjectsChanged', false);
|
|
1995
|
+
if (this._core.store.state.isSelecting) {
|
|
1996
|
+
if (this.isSelectionClick) {
|
|
1997
|
+
const x = this._core.store.state.pointerX;
|
|
1998
|
+
const y = this._core.store.state.pointerY;
|
|
1999
|
+
const selectedObject = this._core.getObjectsFromPointerEvent(event, '.object').find(obj => obj.hitTest(x, y));
|
|
2000
|
+
this.addObjectToSelectionGroup(selectedObject);
|
|
2001
|
+
this.removeSelectionBox();
|
|
2002
|
+
}
|
|
2003
|
+
if (this.isSelectionDrag) {
|
|
2004
|
+
this.updateMouseSelection(event);
|
|
2005
|
+
this.addSelectedObjectsToSelectionGroup();
|
|
2006
|
+
this.removeSelectionBox();
|
|
2007
|
+
}
|
|
1994
2008
|
}
|
|
1995
2009
|
}
|
|
1996
2010
|
}
|
|
1997
2011
|
if (event.pointerType === 'touch') {
|
|
1998
2012
|
clearTimeout(this.touchStartTimeout);
|
|
2013
|
+
const hasObjectsMoved = this._core.store.state.hasObjectsChanged;
|
|
2014
|
+
if (this._core.store.state.selectionGroup?.objects.length === 1 && hasObjectsMoved === false) {
|
|
2015
|
+
this._core.store.state.selectionGroup.objects[0].edit();
|
|
2016
|
+
}
|
|
2017
|
+
this._core.store.setState('hasObjectsChanged', false);
|
|
1999
2018
|
if (this._core.store.state.isSelecting) {
|
|
2000
2019
|
if (this.isSelectionClick) {
|
|
2001
2020
|
const x = this._core.store.state.pointerX;
|
|
@@ -2099,12 +2118,12 @@ class KritzelSelectionHandler extends KritzelBaseHandler {
|
|
|
2099
2118
|
if (!object) {
|
|
2100
2119
|
return;
|
|
2101
2120
|
}
|
|
2121
|
+
object.isSelected = false;
|
|
2102
2122
|
const selectionGroup = KritzelSelectionGroup.create(this._core);
|
|
2103
2123
|
selectionGroup.addOrRemove(object);
|
|
2104
2124
|
selectionGroup.isSelected = true;
|
|
2105
2125
|
selectionGroup.rotation = object.rotation;
|
|
2106
|
-
this._core.
|
|
2107
|
-
this._core.history.executeCommand(new AddSelectionGroupCommand(this._core, this, this._core.store.state.selectionGroup));
|
|
2126
|
+
this._core.history.executeCommand(new AddSelectionGroupCommand(this._core, this, selectionGroup));
|
|
2108
2127
|
}
|
|
2109
2128
|
addSelectedObjectsToSelectionGroup() {
|
|
2110
2129
|
const selectedObjects = this._core.store.selectedObjects;
|
|
@@ -2113,16 +2132,15 @@ class KritzelSelectionHandler extends KritzelBaseHandler {
|
|
|
2113
2132
|
}
|
|
2114
2133
|
this._core.store.setState('selectionGroup', KritzelSelectionGroup.create(this._core));
|
|
2115
2134
|
selectedObjects.forEach(o => {
|
|
2116
|
-
o.isSelected = false;
|
|
2117
2135
|
this._core.store.state.selectionGroup.addOrRemove(o);
|
|
2136
|
+
o.isSelected = false;
|
|
2118
2137
|
});
|
|
2119
2138
|
const selectionGroup = this._core.store.state.selectionGroup;
|
|
2120
2139
|
selectionGroup.isSelected = true;
|
|
2121
2140
|
if (selectionGroup.length === 1) {
|
|
2122
2141
|
selectionGroup.rotation = selectionGroup.objects[0].rotation;
|
|
2123
2142
|
}
|
|
2124
|
-
this._core.
|
|
2125
|
-
this._core.history.executeCommand(new AddSelectionGroupCommand(this._core, this, this._core.store.state.selectionGroup));
|
|
2143
|
+
this._core.history.executeCommand(new AddSelectionGroupCommand(this._core, this, selectionGroup));
|
|
2126
2144
|
}
|
|
2127
2145
|
}
|
|
2128
2146
|
|
|
@@ -2239,9 +2257,9 @@ class KritzelSelectionTool extends KritzelBaseTool {
|
|
|
2239
2257
|
}
|
|
2240
2258
|
if (event.pointerType === 'mouse') {
|
|
2241
2259
|
this.moveHandler.handlePointerUp(event);
|
|
2242
|
-
this.selectionHandler.handlePointerUp(event);
|
|
2243
2260
|
this.resizeHandler.handlePointerUp(event);
|
|
2244
2261
|
this.rotationHandler.handlePointerUp(event);
|
|
2262
|
+
this.selectionHandler.handlePointerUp(event);
|
|
2245
2263
|
this._core.rerender();
|
|
2246
2264
|
}
|
|
2247
2265
|
if (event.pointerType === 'touch') {
|
|
@@ -2768,6 +2786,6 @@ exports.ObjectHelper = ObjectHelper;
|
|
|
2768
2786
|
exports.RemoveObjectCommand = RemoveObjectCommand;
|
|
2769
2787
|
exports.RemoveSelectionGroupCommand = RemoveSelectionGroupCommand;
|
|
2770
2788
|
exports.UpdateObjectCommand = UpdateObjectCommand;
|
|
2771
|
-
//# sourceMappingURL=index-
|
|
2789
|
+
//# sourceMappingURL=index-DgZMn9B_.js.map
|
|
2772
2790
|
|
|
2773
|
-
//# sourceMappingURL=index-
|
|
2791
|
+
//# sourceMappingURL=index-DgZMn9B_.js.map
|