kritzel-stencil 0.0.132 → 0.0.134

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 (104) hide show
  1. package/dist/cjs/{index-ouFX0OVi.js → index-DILpAbYp.js} +97 -75
  2. package/dist/cjs/index-DILpAbYp.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/kritzel-color_22.cjs.entry.js +70 -82
  5. package/dist/collection/classes/commands/add-selection-group.command.js +6 -3
  6. package/dist/collection/classes/commands/add-selection-group.command.js.map +1 -1
  7. package/dist/collection/classes/commands/move-selection-group.command.js +13 -0
  8. package/dist/collection/classes/commands/move-selection-group.command.js.map +1 -1
  9. package/dist/collection/classes/commands/resize-selection-group.command.js +8 -0
  10. package/dist/collection/classes/commands/resize-selection-group.command.js.map +1 -1
  11. package/dist/collection/classes/commands/rotate-selection-group.command.js +5 -3
  12. package/dist/collection/classes/commands/rotate-selection-group.command.js.map +1 -1
  13. package/dist/collection/classes/commands/update-object.command.js +2 -0
  14. package/dist/collection/classes/commands/update-object.command.js.map +1 -1
  15. package/dist/collection/classes/core/core.class.js +7 -9
  16. package/dist/collection/classes/core/core.class.js.map +1 -1
  17. package/dist/collection/classes/core/history.class.js +1 -0
  18. package/dist/collection/classes/core/history.class.js.map +1 -1
  19. package/dist/collection/classes/core/viewport.class.js +0 -6
  20. package/dist/collection/classes/core/viewport.class.js.map +1 -1
  21. package/dist/collection/classes/handlers/context-menu.handler.js +7 -2
  22. package/dist/collection/classes/handlers/context-menu.handler.js.map +1 -1
  23. package/dist/collection/classes/handlers/key.handler.js +42 -58
  24. package/dist/collection/classes/handlers/key.handler.js.map +1 -1
  25. package/dist/collection/classes/handlers/move.handler.js +24 -19
  26. package/dist/collection/classes/handlers/move.handler.js.map +1 -1
  27. package/dist/collection/classes/handlers/resize.handler.js +10 -12
  28. package/dist/collection/classes/handlers/resize.handler.js.map +1 -1
  29. package/dist/collection/classes/handlers/rotation.handler.js +14 -22
  30. package/dist/collection/classes/handlers/rotation.handler.js.map +1 -1
  31. package/dist/collection/classes/objects/base-object.class.js +11 -3
  32. package/dist/collection/classes/objects/base-object.class.js.map +1 -1
  33. package/dist/collection/classes/objects/selection-group.class.js +3 -4
  34. package/dist/collection/classes/objects/selection-group.class.js.map +1 -1
  35. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +13 -4
  36. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
  37. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +1 -2
  38. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js.map +1 -1
  39. package/dist/collection/helpers/object.helper.js +0 -14
  40. package/dist/collection/helpers/object.helper.js.map +1 -1
  41. package/dist/collection/interfaces/clonable.interface.js +2 -0
  42. package/dist/collection/interfaces/clonable.interface.js.map +1 -0
  43. package/dist/collection/interfaces/shortcut.interface.js +2 -0
  44. package/dist/collection/interfaces/shortcut.interface.js.map +1 -0
  45. package/dist/components/index.js +2 -2
  46. package/dist/components/kritzel-context-menu.js +1 -1
  47. package/dist/components/kritzel-controls.js +1 -1
  48. package/dist/components/kritzel-editor.js +8 -8
  49. package/dist/components/kritzel-engine.js +1 -1
  50. package/dist/components/kritzel-menu-item.js +1 -1
  51. package/dist/components/kritzel-menu.js +1 -1
  52. package/dist/components/kritzel-portal.js +1 -1
  53. package/dist/components/kritzel-split-button.js +1 -1
  54. package/dist/components/kritzel-workspace-manager.js +1 -1
  55. package/dist/components/p-B0kd2rUI.js +16 -0
  56. package/dist/components/p-B0kd2rUI.js.map +1 -0
  57. package/dist/components/{p-BiCgeOiJ.js → p-B3LGnqFz.js} +3 -3
  58. package/dist/components/{p-BiCgeOiJ.js.map → p-B3LGnqFz.js.map} +1 -1
  59. package/dist/components/{p-C1-nvBx9.js → p-BKvOO7NT.js} +6 -6
  60. package/dist/components/{p-C1-nvBx9.js.map → p-BKvOO7NT.js.map} +1 -1
  61. package/dist/components/{p-CvmWmUK9.js → p-CM8KdFZI.js} +4 -4
  62. package/dist/components/{p-CvmWmUK9.js.map → p-CM8KdFZI.js.map} +1 -1
  63. package/dist/components/{p-B3VQubt_.js → p-CNTK3JOp.js} +16 -6
  64. package/dist/components/p-CNTK3JOp.js.map +1 -0
  65. package/dist/components/{p-Davd1R_4.js → p-CZzYv_iN.js} +155 -140
  66. package/dist/components/p-CZzYv_iN.js.map +1 -0
  67. package/dist/components/{p-BGdsAz54.js → p-DOPuq6gn.js} +3 -4
  68. package/dist/components/p-DOPuq6gn.js.map +1 -0
  69. package/dist/components/{p-D_907-Wd.js → p-Dw4n-4zp.js} +3 -3
  70. package/dist/components/{p-D_907-Wd.js.map → p-Dw4n-4zp.js.map} +1 -1
  71. package/dist/components/{p-CTvJDYFQ.js → p-NP1Htol7.js} +3 -3
  72. package/dist/components/{p-CTvJDYFQ.js.map → p-NP1Htol7.js.map} +1 -1
  73. package/dist/esm/{index-C_uHp-ur.js → index-BrCE-Ctm.js} +97 -75
  74. package/dist/esm/index-BrCE-Ctm.js.map +1 -0
  75. package/dist/esm/index.js +1 -1
  76. package/dist/esm/kritzel-color_22.entry.js +70 -82
  77. package/dist/stencil/index.esm.js +1 -1
  78. package/dist/stencil/p-092c9a05.entry.js +2 -0
  79. package/dist/stencil/p-092c9a05.entry.js.map +1 -0
  80. package/dist/stencil/p-BrCE-Ctm.js +2 -0
  81. package/dist/stencil/p-BrCE-Ctm.js.map +1 -0
  82. package/dist/stencil/stencil.esm.js +1 -1
  83. package/dist/types/classes/commands/add-selection-group.command.d.ts +2 -1
  84. package/dist/types/classes/commands/rotate-selection-group.command.d.ts +1 -1
  85. package/dist/types/classes/handlers/key.handler.d.ts +2 -0
  86. package/dist/types/classes/handlers/move.handler.d.ts +2 -0
  87. package/dist/types/classes/handlers/resize.handler.d.ts +1 -0
  88. package/dist/types/classes/handlers/rotation.handler.d.ts +4 -0
  89. package/dist/types/classes/objects/base-object.class.d.ts +3 -1
  90. package/dist/types/helpers/object.helper.d.ts +0 -2
  91. package/dist/types/interfaces/clonable.interface.d.ts +3 -0
  92. package/dist/types/interfaces/shortcut.interface.d.ts +8 -0
  93. package/package.json +64 -64
  94. package/dist/cjs/index-ouFX0OVi.js.map +0 -1
  95. package/dist/components/p-B3VQubt_.js.map +0 -1
  96. package/dist/components/p-BGdsAz54.js.map +0 -1
  97. package/dist/components/p-Davd1R_4.js.map +0 -1
  98. package/dist/components/p-EXPChOF6.js +0 -30
  99. package/dist/components/p-EXPChOF6.js.map +0 -1
  100. package/dist/esm/index-C_uHp-ur.js.map +0 -1
  101. package/dist/stencil/p-C_uHp-ur.js +0 -2
  102. package/dist/stencil/p-C_uHp-ur.js.map +0 -1
  103. package/dist/stencil/p-a6f8283e.entry.js +0 -2
  104. package/dist/stencil/p-a6f8283e.entry.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{p as e,b as t}from"./p-oCOlsFCN.js";export{s as setNonce}from"./p-oCOlsFCN.js";import{g as o}from"./p-DQuL1Twl.js";var n=()=>{const t=import.meta.url;const o={};if(t!==""){o.resourcesUrl=new URL(".",t).href}return e(o)};n().then((async e=>{await o();return t([["p-a6f8283e",[[256,"kritzel-editor",{scaleMax:[2,"scale-max"],scaleMin:[2,"scale-min"],controls:[16],globalContextMenuItems:[16,"global-context-menu-items"],objectContextMenuItems:[16,"object-context-menu-items"],customSvgIcons:[16,"custom-svg-icons"],isControlsVisible:[4,"is-controls-visible"],isUtilityPanelVisible:[4,"is-utility-panel-visible"],isEngineReady:[32],isControlsReady:[32],isWorkspaceManagerReady:[32],workspaces:[32],activeWorkspace:[32],isVirtualKeyboardOpen:[32],getObjectById:[64],addObject:[64],updateObject:[64],removeObject:[64],getSelectedObjects:[64],selectObjects:[64],selectAllObjectsInViewport:[64],clearSelection:[64],centerObjectInViewport:[64],createWorkspace:[64],updateWorkspace:[64],deleteWorkspace:[64],getWorkspaces:[64],getActiveWorkspace:[64]},[[0,"dblclick","handleTouchStart"]],{isEngineReady:["onIsEngineReady"],isControlsReady:["onIsControlsReady"]}],[257,"kritzel-controls",{controls:[16],activeControl:[1040,"active-control"],isUtilityPanelVisible:[4,"is-utility-panel-visible"],firstConfig:[32],isTooltipVisible:[32],isTouchDevice:[32],closeTooltip:[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"]]],[257,"kritzel-workspace-manager",{activeWorkspace:[16,"active-workspace"],workspaces:[16],childMenuAnchor:[32],openChildMenuItem:[32],newWorkspace:[32],editingItemId:[32]}],[257,"kritzel-engine",{workspace:[16],activeTool:[16,"active-tool"],globalContextMenuItems:[16,"global-context-menu-items"],objectContextMenuItems:[16,"object-context-menu-items"],scaleMax:[1026,"scale-max"],scaleMin:[1026,"scale-min"],forceUpdate:[32],registerTool:[64],changeActiveTool:[64],disable:[64],enable:[64],delete:[64],copy:[64],paste:[64],bringForward:[64],sendBackward:[64],bringToFront:[64],sendToBack:[64],undo:[64],redo:[64],hideContextMenu:[64],getObjectById:[64],addObject:[64],updateObject:[64],removeObject:[64],getSelectedObjects:[64],selectObjects:[64],selectAllObjectsInViewport:[64],clearSelection:[64],centerObjectInViewport:[64],getCopiedObjects:[64],createWorkspace:[64],updateWorkspace:[64],deleteWorkspace:[64],getWorkspaces:[64],getActiveWorkspace:[64]},[[0,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[0,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"]],{workspace:["onWorkspaceChange"],scaleMax:["validateScaleMax"],scaleMin:["validateScaleMin"]}],[257,"kritzel-control-text-config",{tool:[1040],isExpanded:[1028,"is-expanded"]}],[257,"kritzel-control-brush-config",{tool:[1040],isExpanded:[1028,"is-expanded"],palette:[32]},null,{tool:["handleToolChange"]}],[257,"kritzel-split-button",{buttonIcon:[1,"button-icon"],dropdownIcon:[1,"dropdown-icon"],items:[16],mainButtonDisabled:[4,"main-button-disabled"],menuButtonDisabled:[4,"menu-button-disabled"],isMenuOpen:[32],isTouchDevice:[32],anchorElement:[32],open:[64],focusMenu:[64]}],[257,"kritzel-context-menu",{items:[16],objects:[16],processedItems:[32]},[[9,"pointerdown","handleOutsideClick"]],{items:["onItemsChanged"]}],[257,"kritzel-utility-panel"],[257,"kritzel-cursor-trail",{core:[16],cursorTrailPoints:[32],isLeftButtonDown:[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[257,"kritzel-tooltip",{isVisible:[4,"is-visible"],anchorElement:[16,"anchor-element"],arrowSize:[2,"arrow-size"],offsetY:[2,"offset-y"],positionX:[32],arrowOffset:[32],isMobileView:[32],focusContent:[64]},[[4,"click","handleOutsideClick"],[9,"resize","handleWindowResize"]]],[257,"kritzel-font-family",{fontOptions:[16,"font-options"],selectedFontFamily:[1025,"selected-font-family"]}],[257,"kritzel-font-size",{sizes:[16],selectedSize:[1026,"selected-size"],fontFamily:[1,"font-family"]}],[257,"kritzel-stroke-size",{sizes:[16],selectedSize:[1026,"selected-size"]}],[257,"kritzel-color-palette",{colors:[16],selectedColor:[1025,"selected-color"],isExpanded:[4,"is-expanded"],isOpaque:[4,"is-opaque"]}],[257,"kritzel-font",{fontFamily:[1,"font-family"],size:[2],color:[1]}],[257,"kritzel-menu",{items:[16],parent:[16],selectedIndex:[32],setFocus:[64]}],[257,"kritzel-menu-item",{item:[16],parent:[16],isDirty:[32]},null,{item:["onItemChange"]}],[257,"kritzel-dropdown",{options:[16],value:[1],width:[1],selectStyles:[8,"select-styles"],internalValue:[32],hasSuffixContent:[32],hasPrefixContent:[32]},null,{options:["optionsChanged"],value:["externalValueChanged"]}],[257,"kritzel-portal",{anchor:[16],offsetX:[2,"offset-x"],offsetY:[2,"offset-y"],autoFocus:[4,"auto-focus"]},[[8,"click","handleOutsideClick"],[8,"keydown","handleKeyDown"],[11,"resize","handleResize"]],{anchor:["anchorChanged"]}],[257,"kritzel-color",{value:[1],size:[2]}],[257,"kritzel-icon",{name:[1],label:[1],size:[2]}]]],["p-25d1e040",[[257,"kritzel-brush-style",{type:[1],brushOptions:[16,"brush-options"]}]]]],e)}));
1
+ import{p as e,b as t}from"./p-oCOlsFCN.js";export{s as setNonce}from"./p-oCOlsFCN.js";import{g as o}from"./p-DQuL1Twl.js";var n=()=>{const t=import.meta.url;const o={};if(t!==""){o.resourcesUrl=new URL(".",t).href}return e(o)};n().then((async e=>{await o();return t([["p-092c9a05",[[256,"kritzel-editor",{scaleMax:[2,"scale-max"],scaleMin:[2,"scale-min"],controls:[16],globalContextMenuItems:[16,"global-context-menu-items"],objectContextMenuItems:[16,"object-context-menu-items"],customSvgIcons:[16,"custom-svg-icons"],isControlsVisible:[4,"is-controls-visible"],isUtilityPanelVisible:[4,"is-utility-panel-visible"],isEngineReady:[32],isControlsReady:[32],isWorkspaceManagerReady:[32],workspaces:[32],activeWorkspace:[32],isVirtualKeyboardOpen:[32],getObjectById:[64],addObject:[64],updateObject:[64],removeObject:[64],getSelectedObjects:[64],selectObjects:[64],selectAllObjectsInViewport:[64],clearSelection:[64],centerObjectInViewport:[64],createWorkspace:[64],updateWorkspace:[64],deleteWorkspace:[64],getWorkspaces:[64],getActiveWorkspace:[64]},[[0,"dblclick","handleTouchStart"]],{isEngineReady:["onIsEngineReady"],isControlsReady:["onIsControlsReady"]}],[257,"kritzel-controls",{controls:[16],activeControl:[1040,"active-control"],isUtilityPanelVisible:[4,"is-utility-panel-visible"],firstConfig:[32],isTooltipVisible:[32],isTouchDevice:[32],closeTooltip:[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"]]],[257,"kritzel-workspace-manager",{activeWorkspace:[16,"active-workspace"],workspaces:[16],childMenuAnchor:[32],openChildMenuItem:[32],newWorkspace:[32],editingItemId:[32]}],[257,"kritzel-engine",{workspace:[16],activeTool:[16,"active-tool"],globalContextMenuItems:[16,"global-context-menu-items"],objectContextMenuItems:[16,"object-context-menu-items"],scaleMax:[1026,"scale-max"],scaleMin:[1026,"scale-min"],forceUpdate:[32],registerTool:[64],changeActiveTool:[64],disable:[64],enable:[64],delete:[64],copy:[64],paste:[64],bringForward:[64],sendBackward:[64],bringToFront:[64],sendToBack:[64],undo:[64],redo:[64],hideContextMenu:[64],getObjectById:[64],addObject:[64],updateObject:[64],removeObject:[64],getSelectedObjects:[64],selectObjects:[64],selectAllObjectsInViewport:[64],clearSelection:[64],centerObjectInViewport:[64],getCopiedObjects:[64],createWorkspace:[64],updateWorkspace:[64],deleteWorkspace:[64],getWorkspaces:[64],getActiveWorkspace:[64]},[[0,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[0,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"]],{workspace:["onWorkspaceChange"],scaleMax:["validateScaleMax"],scaleMin:["validateScaleMin"]}],[257,"kritzel-control-text-config",{tool:[1040],isExpanded:[1028,"is-expanded"]}],[257,"kritzel-control-brush-config",{tool:[1040],isExpanded:[1028,"is-expanded"],palette:[32]},null,{tool:["handleToolChange"]}],[257,"kritzel-split-button",{buttonIcon:[1,"button-icon"],dropdownIcon:[1,"dropdown-icon"],items:[16],mainButtonDisabled:[4,"main-button-disabled"],menuButtonDisabled:[4,"menu-button-disabled"],isMenuOpen:[32],isTouchDevice:[32],anchorElement:[32],open:[64],focusMenu:[64]}],[257,"kritzel-context-menu",{items:[16],objects:[16],processedItems:[32]},[[9,"pointerdown","handleOutsideClick"]],{items:["onItemsChanged"]}],[257,"kritzel-utility-panel"],[257,"kritzel-cursor-trail",{core:[16],cursorTrailPoints:[32],isLeftButtonDown:[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[257,"kritzel-tooltip",{isVisible:[4,"is-visible"],anchorElement:[16,"anchor-element"],arrowSize:[2,"arrow-size"],offsetY:[2,"offset-y"],positionX:[32],arrowOffset:[32],isMobileView:[32],focusContent:[64]},[[4,"click","handleOutsideClick"],[9,"resize","handleWindowResize"]]],[257,"kritzel-font-family",{fontOptions:[16,"font-options"],selectedFontFamily:[1025,"selected-font-family"]}],[257,"kritzel-font-size",{sizes:[16],selectedSize:[1026,"selected-size"],fontFamily:[1,"font-family"]}],[257,"kritzel-stroke-size",{sizes:[16],selectedSize:[1026,"selected-size"]}],[257,"kritzel-color-palette",{colors:[16],selectedColor:[1025,"selected-color"],isExpanded:[4,"is-expanded"],isOpaque:[4,"is-opaque"]}],[257,"kritzel-font",{fontFamily:[1,"font-family"],size:[2],color:[1]}],[257,"kritzel-menu",{items:[16],parent:[16],selectedIndex:[32],setFocus:[64]}],[257,"kritzel-menu-item",{item:[16],parent:[16],isDirty:[32]},null,{item:["onItemChange"]}],[257,"kritzel-dropdown",{options:[16],value:[1],width:[1],selectStyles:[8,"select-styles"],internalValue:[32],hasSuffixContent:[32],hasPrefixContent:[32]},null,{options:["optionsChanged"],value:["externalValueChanged"]}],[257,"kritzel-portal",{anchor:[16],offsetX:[2,"offset-x"],offsetY:[2,"offset-y"],autoFocus:[4,"auto-focus"]},[[8,"click","handleOutsideClick"],[8,"keydown","handleKeyDown"],[11,"resize","handleResize"]],{anchor:["anchorChanged"]}],[257,"kritzel-color",{value:[1],size:[2]}],[257,"kritzel-icon",{name:[1],label:[1],size:[2]}]]],["p-25d1e040",[[257,"kritzel-brush-style",{type:[1],brushOptions:[16,"brush-options"]}]]]],e)}));
2
2
  //# sourceMappingURL=stencil.esm.js.map
@@ -3,7 +3,8 @@ import { KritzelSelectionGroup } from '../objects/selection-group.class';
3
3
  import { KritzelBaseCommand } from './base.command';
4
4
  export declare class AddSelectionGroupCommand extends KritzelBaseCommand {
5
5
  private selectionGroup;
6
- constructor(core: KritzelCore, initiator: any, selectionGroup: KritzelSelectionGroup, skipHistory?: boolean);
6
+ private previousSelectionGroup;
7
+ constructor(core: KritzelCore, initiator: any, selectionGroup: KritzelSelectionGroup, previousSelectionGroup?: KritzelSelectionGroup, skipHistory?: boolean);
7
8
  execute(): void;
8
9
  undo(): void;
9
10
  }
@@ -4,7 +4,7 @@ export declare class RotateSelectionGroupCommand extends KritzelBaseCommand {
4
4
  private rotation;
5
5
  private initialRotation;
6
6
  private selectionGroup;
7
- constructor(core: KritzelCore, initiator: any, rotation: number, skipHistory?: boolean);
7
+ constructor(core: KritzelCore, initiator: any, rotation: number, initialRotation: number, skipHistory?: boolean);
8
8
  execute(): void;
9
9
  undo(): void;
10
10
  }
@@ -1,7 +1,9 @@
1
1
  import { KritzelBaseHandler } from './base.handler';
2
2
  import { KritzelCore } from '../core/core.class';
3
3
  export declare class KritzelKeyHandler extends KritzelBaseHandler {
4
+ private shortcuts;
4
5
  constructor(core: KritzelCore);
6
+ private switchTool;
5
7
  handleKeyDown(event: KeyboardEvent): void;
6
8
  handleKeyUp(event: KeyboardEvent): void;
7
9
  }
@@ -7,7 +7,9 @@ export declare class KritzelMoveHandler extends KritzelBaseHandler {
7
7
  startY: number;
8
8
  endX: number;
9
9
  endY: number;
10
+ hasMoved: boolean;
10
11
  constructor(core: KritzelCore);
12
+ private reset;
11
13
  handlePointerDown(event: PointerEvent): void;
12
14
  handlePointerMove(event: PointerEvent): void;
13
15
  handlePointerUp(event: PointerEvent): void;
@@ -16,6 +16,7 @@ export declare class KritzelResizeHandler extends KritzelBaseHandler {
16
16
  height: number;
17
17
  };
18
18
  constructor(core: KritzelCore);
19
+ private reset;
19
20
  handlePointerDown(event: PointerEvent): void;
20
21
  handlePointerMove(event: PointerEvent): void;
21
22
  handlePointerUp(event: PointerEvent): void;
@@ -1,9 +1,13 @@
1
1
  import { KritzelBaseHandler } from './base.handler';
2
2
  import { KritzelCore } from '../core/core.class';
3
+ import { KritzelBaseObject } from '../objects/base-object.class';
3
4
  export declare class KritzelRotationHandler extends KritzelBaseHandler {
4
5
  initialRotation: number;
5
6
  rotation: number;
7
+ unchangedObjects: KritzelBaseObject<any>[];
8
+ initialSelectionGroupRotation: number;
6
9
  constructor(core: KritzelCore);
10
+ private reset;
7
11
  handlePointerDown(event: PointerEvent): void;
8
12
  handlePointerMove(event: PointerEvent): void;
9
13
  handlePointerUp(event: PointerEvent): void;
@@ -3,7 +3,8 @@ import { KritzelObject } from '../../interfaces/object.interface';
3
3
  import { KritzelPolygon } from '../../interfaces/polygon.interface';
4
4
  import { KritzelSerializable } from '../../interfaces/serializable.interface';
5
5
  import { KritzelCore } from '../core/core.class';
6
- export declare class KritzelBaseObject<T extends Element = HTMLElement | SVGElement> implements KritzelObject<T>, KritzelSerializable {
6
+ import { KritzelClonable } from '../../interfaces/clonable.interface';
7
+ export declare class KritzelBaseObject<T extends Element = HTMLElement | SVGElement> implements KritzelObject<T>, KritzelSerializable, KritzelClonable<KritzelBaseObject<T>> {
7
8
  __class__: string;
8
9
  _core: KritzelCore;
9
10
  _elementRef: T;
@@ -58,6 +59,7 @@ export declare class KritzelBaseObject<T extends Element = HTMLElement | SVGElem
58
59
  move(startX: number, startY: number, endX: number, endY: number): void;
59
60
  resize(x: number, y: number, width: number, height: number): void;
60
61
  rotate(value: number): void;
62
+ clone(): KritzelBaseObject<T>;
61
63
  copy(): KritzelBaseObject<T>;
62
64
  onSelectedClick(): void;
63
65
  serialize(): any;
@@ -1,6 +1,4 @@
1
- import { KritzelBaseObject } from '../classes/objects/base-object.class';
2
1
  export declare class ObjectHelper {
3
2
  static generateUUID(): string;
4
- static clone(objOrObjs: KritzelBaseObject<any> | KritzelBaseObject<any>[]): any;
5
3
  static isEmpty(obj: any): boolean;
6
4
  }
@@ -0,0 +1,3 @@
1
+ export interface KritzelClonable<T> {
2
+ clone(): T;
3
+ }
@@ -0,0 +1,8 @@
1
+ import { KritzelCore } from '..';
2
+ export interface KritzelShortcut {
3
+ key: string;
4
+ ctrl?: boolean;
5
+ shift?: boolean;
6
+ condition?: (core: KritzelCore) => boolean;
7
+ action: (core: KritzelCore) => void;
8
+ }
package/package.json CHANGED
@@ -1,64 +1,64 @@
1
- {
2
- "name": "kritzel-stencil",
3
- "version": "0.0.132",
4
- "description": "Stencil Component Starter",
5
- "main": "dist/index.cjs.js",
6
- "module": "dist/index.js",
7
- "types": "dist/types/index.d.ts",
8
- "collection": "dist/collection/collection-manifest.json",
9
- "collection:main": "dist/collection/index.js",
10
- "unpkg": "dist/stencil/stencil.esm.js",
11
- "exports": {
12
- ".": {
13
- "types": "./dist/types/index.d.ts",
14
- "import": "./dist/index.js",
15
- "require": "./dist/index.cjs.js"
16
- },
17
- "./loader": {
18
- "import": "./loader/index.js",
19
- "require": "./loader/index.cjs",
20
- "types": "./loader/index.d.ts"
21
- },
22
- "./dist/components/*": {
23
- "types": "./dist/components/*",
24
- "import": "./dist/components/*",
25
- "require": "./dist/components/*"
26
- }
27
- },
28
- "repository": {
29
- "type": "git",
30
- "url": "https://github.com/ionic-team/stencil-component-starter.git"
31
- },
32
- "files": [
33
- "dist/",
34
- "loader/"
35
- ],
36
- "scripts": {
37
- "build": "stencil build",
38
- "start": "stencil build --dev --watch --serve",
39
- "test": "stencil test --spec",
40
- "test.watch": "stencil test --spec --watchAll",
41
- "generate": "stencil generate",
42
- "clean": "rimraf dist .stencil loader node_modules",
43
- "bump": "npm version patch",
44
- "release": "npm publish"
45
- },
46
- "devDependencies": {
47
- "@stencil/angular-output-target": "^1.1.1",
48
- "@stencil/core": "^4.36.3",
49
- "@stencil/react-output-target": "^1.2.0",
50
- "@stencil/vue-output-target": "0.11.8",
51
- "@types/jest": "^29.5.14",
52
- "@types/node": "^22.14.1",
53
- "fake-indexeddb": "^6.2.2",
54
- "jest": "^29.7.0",
55
- "jest-cli": "^29.7.0",
56
- "puppeteer": "^24.6.1",
57
- "ts-jest": "^29.4.4"
58
- },
59
- "license": "MIT",
60
- "dependencies": {
61
- "browser-image-compression": "^2.0.2",
62
- "perfect-freehand": "^1.2.2"
63
- }
64
- }
1
+ {
2
+ "name": "kritzel-stencil",
3
+ "version": "0.0.134",
4
+ "description": "Stencil Component Starter",
5
+ "main": "dist/index.cjs.js",
6
+ "module": "dist/index.js",
7
+ "types": "dist/types/index.d.ts",
8
+ "collection": "dist/collection/collection-manifest.json",
9
+ "collection:main": "dist/collection/index.js",
10
+ "unpkg": "dist/stencil/stencil.esm.js",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/types/index.d.ts",
14
+ "import": "./dist/index.js",
15
+ "require": "./dist/index.cjs.js"
16
+ },
17
+ "./loader": {
18
+ "import": "./loader/index.js",
19
+ "require": "./loader/index.cjs",
20
+ "types": "./loader/index.d.ts"
21
+ },
22
+ "./dist/components/*": {
23
+ "types": "./dist/components/*",
24
+ "import": "./dist/components/*",
25
+ "require": "./dist/components/*"
26
+ }
27
+ },
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/ionic-team/stencil-component-starter.git"
31
+ },
32
+ "files": [
33
+ "dist/",
34
+ "loader/"
35
+ ],
36
+ "scripts": {
37
+ "build": "stencil build",
38
+ "start": "stencil build --dev --watch --serve",
39
+ "test": "stencil test --spec",
40
+ "test.watch": "stencil test --spec --watchAll",
41
+ "generate": "stencil generate",
42
+ "clean": "rimraf dist .stencil loader node_modules",
43
+ "bump": "npm version patch",
44
+ "release": "npm publish"
45
+ },
46
+ "devDependencies": {
47
+ "@stencil/angular-output-target": "^1.1.1",
48
+ "@stencil/core": "^4.36.3",
49
+ "@stencil/react-output-target": "^1.2.0",
50
+ "@stencil/vue-output-target": "0.11.8",
51
+ "@types/jest": "^29.5.14",
52
+ "@types/node": "^22.14.1",
53
+ "fake-indexeddb": "^6.2.2",
54
+ "jest": "^29.7.0",
55
+ "jest-cli": "^29.7.0",
56
+ "puppeteer": "^24.6.1",
57
+ "ts-jest": "^29.4.4"
58
+ },
59
+ "license": "MIT",
60
+ "dependencies": {
61
+ "browser-image-compression": "^2.0.2",
62
+ "perfect-freehand": "^1.2.2"
63
+ }
64
+ }