kritzel-stencil 0.0.138 → 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.
Files changed (61) hide show
  1. package/dist/cjs/{index-CYkadfjX.js → index-DgZMn9B_.js} +41 -21
  2. package/dist/cjs/index-DgZMn9B_.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/kritzel-color_22.cjs.entry.js +9 -18
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/stencil.cjs.js +1 -1
  7. package/dist/collection/classes/handlers/move.handler.js +2 -0
  8. package/dist/collection/classes/handlers/move.handler.js.map +1 -1
  9. package/dist/collection/classes/handlers/resize.handler.js +2 -0
  10. package/dist/collection/classes/handlers/resize.handler.js.map +1 -1
  11. package/dist/collection/classes/handlers/rotation.handler.js +2 -0
  12. package/dist/collection/classes/handlers/rotation.handler.js.map +1 -1
  13. package/dist/collection/classes/handlers/selection.handler.js +23 -11
  14. package/dist/collection/classes/handlers/selection.handler.js.map +1 -1
  15. package/dist/collection/classes/objects/text.class.js +4 -3
  16. package/dist/collection/classes/objects/text.class.js.map +1 -1
  17. package/dist/collection/classes/tools/selection-tool.class.js +1 -1
  18. package/dist/collection/classes/tools/selection-tool.class.js.map +1 -1
  19. package/dist/collection/classes/tools/text-tool.class.js +6 -4
  20. package/dist/collection/classes/tools/text-tool.class.js.map +1 -1
  21. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +2 -15
  22. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
  23. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +12 -3
  24. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
  25. package/dist/collection/configs/default-engine-state.js +1 -0
  26. package/dist/collection/configs/default-engine-state.js.map +1 -1
  27. package/dist/collection/interfaces/engine-state.interface.js.map +1 -1
  28. package/dist/components/index.js +2 -2
  29. package/dist/components/kritzel-controls.js +1 -1
  30. package/dist/components/kritzel-editor.js +4 -17
  31. package/dist/components/kritzel-editor.js.map +1 -1
  32. package/dist/components/kritzel-engine.js +1 -1
  33. package/dist/components/{p-Di5CEwzQ.js → p-BbGgijCS.js} +11 -9
  34. package/dist/components/p-BbGgijCS.js.map +1 -0
  35. package/dist/components/{p-PvCKCYuw.js → p-CHdJi6b4.js} +3 -3
  36. package/dist/components/{p-PvCKCYuw.js.map → p-CHdJi6b4.js.map} +1 -1
  37. package/dist/components/{p-D554MPA9.js → p-KudVTtHk.js} +41 -19
  38. package/dist/components/p-KudVTtHk.js.map +1 -0
  39. package/dist/esm/{index-IhpPa9g4.js → index-CxieEK_G.js} +41 -21
  40. package/dist/esm/index-CxieEK_G.js.map +1 -0
  41. package/dist/esm/index.js +1 -1
  42. package/dist/esm/kritzel-color_22.entry.js +9 -18
  43. package/dist/esm/loader.js +1 -1
  44. package/dist/esm/stencil.js +1 -1
  45. package/dist/stencil/index.esm.js +1 -1
  46. package/dist/stencil/p-CxieEK_G.js +2 -0
  47. package/dist/stencil/p-CxieEK_G.js.map +1 -0
  48. package/dist/stencil/{p-32ac435d.entry.js → p-ab074e87.entry.js} +2 -2
  49. package/dist/stencil/p-ab074e87.entry.js.map +1 -0
  50. package/dist/stencil/stencil.esm.js +1 -1
  51. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +1 -0
  52. package/dist/types/components.d.ts +2 -2
  53. package/dist/types/interfaces/engine-state.interface.d.ts +1 -0
  54. package/package.json +1 -1
  55. package/dist/cjs/index-CYkadfjX.js.map +0 -1
  56. package/dist/components/p-D554MPA9.js.map +0 -1
  57. package/dist/components/p-Di5CEwzQ.js.map +0 -1
  58. package/dist/esm/index-IhpPa9g4.js.map +0 -1
  59. package/dist/stencil/p-32ac435d.entry.js.map +0 -1
  60. package/dist/stencil/p-IhpPa9g4.js +0 -2
  61. package/dist/stencil/p-IhpPa9g4.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 (this._core.store.state.activeText === null && object && object instanceof KritzelText) {
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 (this._core.store.state.activeText === null && object && object instanceof KritzelText) {
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,12 +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
768
  this._core.store.setState('activeText', this);
766
769
  this._core.clearSelection();
767
- setTimeout(() => {
768
- this.focus();
769
- }, 300);
770
+ this.focus();
771
+ KritzelKeyboardHelper.enableInteractiveWidget();
770
772
  }
771
773
  }
772
774
 
@@ -1552,6 +1554,7 @@ class KritzelMoveHandler extends KritzelBaseHandler {
1552
1554
  this._core.store.setState('isDragging', false);
1553
1555
  if (this.hasMoved) {
1554
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);
1555
1558
  }
1556
1559
  this.reset();
1557
1560
  }
@@ -1561,6 +1564,7 @@ class KritzelMoveHandler extends KritzelBaseHandler {
1561
1564
  this._core.store.setState('isDragging', false);
1562
1565
  if (this.hasMoved) {
1563
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);
1564
1568
  }
1565
1569
  this.reset();
1566
1570
  }
@@ -1739,6 +1743,7 @@ class KritzelResizeHandler extends KritzelBaseHandler {
1739
1743
  if (this._core.store.state.isResizing) {
1740
1744
  this._core.history.executeCommand(new ResizeSelectionGroupCommand(this._core, this, structuredClone(this.initialSize), structuredClone(this.newSize)));
1741
1745
  this._core.store.setState('isResizing', false);
1746
+ this._core.store.setState('hasObjectsChanged', true);
1742
1747
  this.reset();
1743
1748
  }
1744
1749
  }
@@ -1746,6 +1751,7 @@ class KritzelResizeHandler extends KritzelBaseHandler {
1746
1751
  if (this._core.store.state.isResizing) {
1747
1752
  this._core.history.executeCommand(new ResizeSelectionGroupCommand(this._core, this, structuredClone(this.initialSize), structuredClone(this.newSize)));
1748
1753
  this._core.store.setState('isResizing', false);
1754
+ this._core.store.setState('hasObjectsChanged', true);
1749
1755
  this.reset();
1750
1756
  clearTimeout(this._core.store.state.longTouchTimeout);
1751
1757
  }
@@ -1873,6 +1879,7 @@ class KritzelRotationHandler extends KritzelBaseHandler {
1873
1879
  if (this._core.store.state.isRotating) {
1874
1880
  this._core.history.executeCommand(new RotateSelectionGroupCommand(this._core, this, this.rotation, this.initialSelectionGroupRotation));
1875
1881
  this._core.store.setState('isRotating', false);
1882
+ this._core.store.setState('hasObjectsChanged', true);
1876
1883
  this.reset();
1877
1884
  }
1878
1885
  }
@@ -1880,6 +1887,7 @@ class KritzelRotationHandler extends KritzelBaseHandler {
1880
1887
  if (this._core.store.state.isRotating) {
1881
1888
  this._core.history.executeCommand(new RotateSelectionGroupCommand(this._core, this, this.rotation, this.initialSelectionGroupRotation));
1882
1889
  this._core.store.setState('isRotating', false);
1890
+ this._core.store.setState('hasObjectsChanged', true);
1883
1891
  this.reset();
1884
1892
  clearTimeout(this._core.store.state.longTouchTimeout);
1885
1893
  }
@@ -1978,23 +1986,35 @@ class KritzelSelectionHandler extends KritzelBaseHandler {
1978
1986
  }
1979
1987
  handlePointerUp(event) {
1980
1988
  if (event.pointerType === 'mouse') {
1981
- if (KritzelEventHelper.isLeftClick(event) && this._core.store.state.isSelecting) {
1982
- if (this.isSelectionClick) {
1983
- const x = this._core.store.state.pointerX;
1984
- const y = this._core.store.state.pointerY;
1985
- const selectedObject = this._core.getObjectsFromPointerEvent(event, '.object').find(obj => obj.hitTest(x, y));
1986
- this.addObjectToSelectionGroup(selectedObject);
1987
- 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();
1988
1993
  }
1989
- if (this.isSelectionDrag) {
1990
- this.updateMouseSelection(event);
1991
- this.addSelectedObjectsToSelectionGroup();
1992
- this.removeSelectionBox();
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
+ }
1993
2008
  }
1994
2009
  }
1995
2010
  }
1996
2011
  if (event.pointerType === 'touch') {
1997
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);
1998
2018
  if (this._core.store.state.isSelecting) {
1999
2019
  if (this.isSelectionClick) {
2000
2020
  const x = this._core.store.state.pointerX;
@@ -2237,9 +2257,9 @@ class KritzelSelectionTool extends KritzelBaseTool {
2237
2257
  }
2238
2258
  if (event.pointerType === 'mouse') {
2239
2259
  this.moveHandler.handlePointerUp(event);
2240
- this.selectionHandler.handlePointerUp(event);
2241
2260
  this.resizeHandler.handlePointerUp(event);
2242
2261
  this.rotationHandler.handlePointerUp(event);
2262
+ this.selectionHandler.handlePointerUp(event);
2243
2263
  this._core.rerender();
2244
2264
  }
2245
2265
  if (event.pointerType === 'touch') {
@@ -2766,6 +2786,6 @@ exports.ObjectHelper = ObjectHelper;
2766
2786
  exports.RemoveObjectCommand = RemoveObjectCommand;
2767
2787
  exports.RemoveSelectionGroupCommand = RemoveSelectionGroupCommand;
2768
2788
  exports.UpdateObjectCommand = UpdateObjectCommand;
2769
- //# sourceMappingURL=index-CYkadfjX.js.map
2789
+ //# sourceMappingURL=index-DgZMn9B_.js.map
2770
2790
 
2771
- //# sourceMappingURL=index-CYkadfjX.js.map
2791
+ //# sourceMappingURL=index-DgZMn9B_.js.map