kritzel-stencil 0.0.106 → 0.0.108

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 (93) hide show
  1. package/dist/cjs/kritzel-brush-style_18.cjs.entry.js +84 -82
  2. package/dist/cjs/kritzel-brush-style_18.cjs.entry.js.map +1 -1
  3. package/dist/collection/classes/handlers/key.handler.js +1 -1
  4. package/dist/collection/classes/handlers/key.handler.js.map +1 -1
  5. package/dist/collection/classes/registries/icon-registry.class.js.map +1 -0
  6. package/dist/collection/classes/registries/tool.registry.js.map +1 -0
  7. package/dist/collection/classes/store.class.js +3 -54
  8. package/dist/collection/classes/store.class.js.map +1 -1
  9. package/dist/collection/classes/tools/image-tool.class.js +1 -1
  10. package/dist/collection/classes/tools/image-tool.class.js.map +1 -1
  11. package/dist/collection/classes/tools/selection-tool.class.js +1 -1
  12. package/dist/collection/classes/tools/selection-tool.class.js.map +1 -1
  13. package/dist/collection/classes/tools/text-tool.class.js +4 -1
  14. package/dist/collection/classes/tools/text-tool.class.js.map +1 -1
  15. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +2 -43
  16. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
  17. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +18 -16
  18. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
  19. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  20. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  21. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  22. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  23. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js +1 -1
  24. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js.map +1 -1
  25. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  26. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +4 -4
  27. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +2 -2
  28. package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +2 -2
  29. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +2 -2
  30. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  31. package/dist/collection/configs/default-engine-state.js +53 -0
  32. package/dist/collection/configs/default-engine-state.js.map +1 -0
  33. package/dist/collection/helpers/event.helper.js +14 -0
  34. package/dist/collection/helpers/event.helper.js.map +1 -1
  35. package/dist/collection/helpers/keyboard.helper.js +23 -0
  36. package/dist/collection/helpers/keyboard.helper.js.map +1 -1
  37. package/dist/components/kritzel-color-palette.js +1 -1
  38. package/dist/components/kritzel-color.js +1 -1
  39. package/dist/components/kritzel-control-brush-config.js +1 -1
  40. package/dist/components/kritzel-control-text-config.js +1 -1
  41. package/dist/components/kritzel-controls.js +1 -1
  42. package/dist/components/kritzel-editor.js +13 -53
  43. package/dist/components/kritzel-editor.js.map +1 -1
  44. package/dist/components/kritzel-engine.js +1 -1
  45. package/dist/components/kritzel-font-size.js +1 -1
  46. package/dist/components/kritzel-font.js +1 -1
  47. package/dist/components/kritzel-stroke-size.js +1 -1
  48. package/dist/components/kritzel-tooltip.js +1 -1
  49. package/dist/components/kritzel-utility-panel.js +1 -1
  50. package/dist/components/{p-BcQCX1Z6.js → p-BNfHRlWL.js} +50 -3
  51. package/dist/components/p-BNfHRlWL.js.map +1 -0
  52. package/dist/components/{p-BFlJumTk.js → p-BXJ8s30N.js} +8 -8
  53. package/dist/components/{p-BFlJumTk.js.map → p-BXJ8s30N.js.map} +1 -1
  54. package/dist/components/{p-DIxwvThL.js → p-Box62paJ.js} +14 -14
  55. package/dist/components/{p-DIxwvThL.js.map → p-Box62paJ.js.map} +1 -1
  56. package/dist/components/{p-CF5pcRGS.js → p-CPjl7Inl.js} +4 -4
  57. package/dist/components/{p-CF5pcRGS.js.map → p-CPjl7Inl.js.map} +1 -1
  58. package/dist/components/p-CZkSABuJ.js.map +1 -1
  59. package/dist/components/{p-D9nf_Yw4.js → p-CmckGlXt.js} +3 -3
  60. package/dist/components/{p-D9nf_Yw4.js.map → p-CmckGlXt.js.map} +1 -1
  61. package/dist/components/{p-CkPd1oL1.js → p-CqJr3YCp.js} +22 -27
  62. package/dist/components/{p-CkPd1oL1.js.map → p-CqJr3YCp.js.map} +1 -1
  63. package/dist/components/{p-Bhfk_puI.js → p-DFhbw-Fr.js} +4 -4
  64. package/dist/components/{p-Bhfk_puI.js.map → p-DFhbw-Fr.js.map} +1 -1
  65. package/dist/components/{p-wUZba7Vi.js → p-DHT5gK0E.js} +4 -4
  66. package/dist/components/{p-wUZba7Vi.js.map → p-DHT5gK0E.js.map} +1 -1
  67. package/dist/components/{p-9IX8ss5J.js → p-DInF8Iby.js} +6 -6
  68. package/dist/components/{p-9IX8ss5J.js.map → p-DInF8Iby.js.map} +1 -1
  69. package/dist/components/{p-B1tJ3Woq.js → p-Ddfewfv9.js} +3 -3
  70. package/dist/components/{p-B1tJ3Woq.js.map → p-Ddfewfv9.js.map} +1 -1
  71. package/dist/components/{p-I1jXruHK.js → p-DfMdBA8L.js} +4 -4
  72. package/dist/components/{p-I1jXruHK.js.map → p-DfMdBA8L.js.map} +1 -1
  73. package/dist/components/{p-JvUh5Cky.js → p-maiDeBe9.js} +7 -7
  74. package/dist/components/{p-JvUh5Cky.js.map → p-maiDeBe9.js.map} +1 -1
  75. package/dist/esm/kritzel-brush-style_18.entry.js +84 -82
  76. package/dist/esm/kritzel-brush-style_18.entry.js.map +1 -1
  77. package/dist/stencil/p-3a7d7b58.entry.js +2 -0
  78. package/dist/stencil/p-3a7d7b58.entry.js.map +1 -0
  79. package/dist/stencil/stencil.esm.js +1 -1
  80. package/dist/types/classes/{tool.registry.d.ts → registries/tool.registry.d.ts} +2 -2
  81. package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +1 -6
  82. package/dist/types/configs/default-engine-state.d.ts +2 -0
  83. package/dist/types/helpers/event.helper.d.ts +5 -3
  84. package/dist/types/helpers/keyboard.helper.d.ts +2 -0
  85. package/package.json +1 -1
  86. package/dist/collection/classes/icon-registry.class.js.map +0 -1
  87. package/dist/collection/classes/tool.registry.js.map +0 -1
  88. package/dist/components/p-BcQCX1Z6.js.map +0 -1
  89. package/dist/stencil/p-7aaf3e49.entry.js +0 -2
  90. package/dist/stencil/p-7aaf3e49.entry.js.map +0 -1
  91. /package/dist/collection/classes/{icon-registry.class.js → registries/icon-registry.class.js} +0 -0
  92. /package/dist/collection/classes/{tool.registry.js → registries/tool.registry.js} +0 -0
  93. /package/dist/types/classes/{icon-registry.class.d.ts → registries/icon-registry.class.d.ts} +0 -0
@@ -60,13 +60,13 @@ const KritzelColor = class {
60
60
  }
61
61
  render() {
62
62
  const isColorVeryLight = this.isLightColor(this.value);
63
- return (index.h(index.Host, { key: '606cfb813de66c495b2a2ff1e54aac4a5f761ab8' }, index.h("div", { key: '066d364e6e025b245c896603f68a15962684f78b', class: "checkerboard-bg", style: {
63
+ return (index.h(index.Host, { key: '19ad3872a132c885c612dc3b96698a0c8dc7214d' }, index.h("div", { key: 'f67108e82396cbaa3d070c8dfc83da2b080ddf47', class: "checkerboard-bg", style: {
64
64
  width: `${this.size}px`,
65
65
  height: `${this.size}px`,
66
66
  borderRadius: '50%',
67
67
  display: 'inline-block',
68
68
  position: 'relative',
69
- } }, index.h("div", { key: '500d1a781d0b7a1777a7a43f89be8c6217726584', class: {
69
+ } }, index.h("div", { key: '1af0cc3e9f6eebc04cae2367510ef3b98420a818', class: {
70
70
  'color-circle': true,
71
71
  'white': isColorVeryLight,
72
72
  }, style: {
@@ -108,7 +108,7 @@ const KritzelColorPalette = class {
108
108
  render() {
109
109
  const displayedColors = this.isExpanded ? this.colors : this.colors.slice(0, 6);
110
110
  const expandedHeight = this.isExpanded ? this.calculateHeight() : '32px';
111
- return (index.h(index.Host, { key: '9590fbda0cb20e767880c49323350b12c7d287e4' }, index.h("div", { key: '9fd8699050018a90919c0045630b766183abb42e', class: {
111
+ return (index.h(index.Host, { key: '0f0d176e1c8b199a973dbdb23b84e4a8d4d57f59' }, index.h("div", { key: '1d4707cdb30752d21a5058dbbef5fb32934bd3bd', class: {
112
112
  'color-grid': true,
113
113
  'expanded': this.isExpanded,
114
114
  }, style: {
@@ -175,14 +175,14 @@ const KritzelControlBrushConfig = class {
175
175
  this.toolChange.emit(this.tool);
176
176
  }
177
177
  render() {
178
- return (index.h(index.Host, { key: '29f0492264283879fd86195fc0db8e5a8f352a0f' }, index.h("div", { key: 'c5bde66ab565eb717bf302f3f97d08ed0b261289', style: {
178
+ return (index.h(index.Host, { key: '8e7930fcc093f7277ed088d8ec5e54e4cd051b86' }, index.h("div", { key: '08bd37b90decc9054c05d646aabbba0a4985d04c', style: {
179
179
  display: 'flex',
180
180
  flexDirection: 'row',
181
181
  alignItems: 'center',
182
182
  justifyContent: 'flex-start',
183
183
  width: '100%',
184
184
  gap: '8px',
185
- } }, index.h("kritzel-brush-style", { key: 'e78ec70c5d0eb24933543e12389f1a3db4c3b8f2', type: this.tool.type, onTypeChange: event => this.handleTypeChange(event) }), index.h("button", { key: '9fbde247a8ed3cf43ef0bd0b269f8562dfac56a0', class: "expand-toggle", onClick: () => this.handleToggleExpand(), title: this.isExpanded ? 'Collapse' : 'Expand', style: this.palette.length > 6 ? { visibillity: 'visible' } : { visibility: 'hidden' } }, index.h("kritzel-icon", { key: '3cf37dd520fabd632cfd7d764254467d563670e1', name: this.isExpanded ? 'chevron-up' : 'chevron-down' }))), index.h("kritzel-color-palette", { key: 'daa59edce48e683a52a39ae4062fe811908dc685', colors: this.palette, selectedColor: this.tool.color, isExpanded: this.isExpanded, isOpaque: true, onColorChange: color => this.handleColorChange(color) }), index.h("kritzel-stroke-size", { key: 'b71bfb1176c35c24c15827ebc89dcac56bb42f0e', selectedSize: this.tool.size, onSizeChange: event => this.handleSizeChange(event) })));
185
+ } }, index.h("kritzel-brush-style", { key: 'f79744fb6523d0b4fa67c324cbf8ff3eb8a0308d', type: this.tool.type, onTypeChange: event => this.handleTypeChange(event) }), index.h("button", { key: 'dc3bdd90cebb29f2357e13dbc8d2dcaf02ae056e', class: "expand-toggle", onClick: () => this.handleToggleExpand(), title: this.isExpanded ? 'Collapse' : 'Expand', style: this.palette.length > 6 ? { visibillity: 'visible' } : { visibility: 'hidden' } }, index.h("kritzel-icon", { key: '6e9e6de7fc7c708aad700498e030d2ad7364a9f3', name: this.isExpanded ? 'chevron-up' : 'chevron-down' }))), index.h("kritzel-color-palette", { key: 'c1ffd48a475754bb1447e9d866b494fd3476f050', colors: this.palette, selectedColor: this.tool.color, isExpanded: this.isExpanded, isOpaque: true, onColorChange: color => this.handleColorChange(color) }), index.h("kritzel-stroke-size", { key: '38e265b42fe09d0105e0385d7ec8e7d8d318abb0', selectedSize: this.tool.size, onSizeChange: event => this.handleSizeChange(event) })));
186
186
  }
187
187
  static get watchers() { return {
188
188
  "tool": ["handleToolChange"]
@@ -214,14 +214,14 @@ const KritzelControlTextConfig = class {
214
214
  this.toolChange.emit(this.tool);
215
215
  }
216
216
  render() {
217
- return (index.h(index.Host, { key: '4a530500af6a26013d286f995987c8321c3565ec' }, index.h("div", { key: '98499852c8c2b95e2485058c8d0d114dfc4c133d', style: {
217
+ return (index.h(index.Host, { key: '27d47c47987fb7644313a4face4a7023dfbe454d' }, index.h("div", { key: '835b8072267da18b39a5c02a6c989e1f7b81e9a5', style: {
218
218
  display: 'flex',
219
219
  flexDirection: 'row',
220
220
  alignItems: 'center',
221
221
  justifyContent: 'flex-start',
222
222
  width: '100%',
223
223
  gap: '8px',
224
- } }, index.h("kritzel-font-family", { key: '21a06dd2a43b47219bf9fd983cbd75af75a7489d', selectedFontFamily: this.tool.fontFamily, onFontFamilyChange: event => this.handleFamilyChange(event) }), index.h("button", { key: 'dfef40e171b4c2c5c771a017448ae2c22597834b', class: "expand-toggle", onClick: () => this.handleToggleExpand(), title: this.isExpanded ? 'Collapse' : 'Expand' }, index.h("kritzel-icon", { key: 'ce3f80a32af959676b3dd16faedf195e9686fff3', name: this.isExpanded ? 'chevron-up' : 'chevron-down' }))), index.h("kritzel-color-palette", { key: '61dd15d6577784511b7abce9fe9e0c38c10a99fa', colors: this.tool.palette, selectedColor: this.tool.fontColor, isExpanded: this.isExpanded, onColorChange: event => this.handleColorChange(event) }), index.h("kritzel-font-size", { key: '162b9e3b4c342b4c224ec20bba61adbe168a638f', selectedSize: this.tool.fontSize, fontFamily: this.tool.fontFamily, onSizeChange: event => this.handleSizeChange(event) })));
224
+ } }, index.h("kritzel-font-family", { key: 'b7a0bde2e9cf53c9ae7c3a32b424825ca9f757c4', selectedFontFamily: this.tool.fontFamily, onFontFamilyChange: event => this.handleFamilyChange(event) }), index.h("button", { key: '41aba583656195c4825a15ddc12c5e1efed0d8d2', class: "expand-toggle", onClick: () => this.handleToggleExpand(), title: this.isExpanded ? 'Collapse' : 'Expand' }, index.h("kritzel-icon", { key: '5ff979420066703b5d5e886d12f89687392006e3', name: this.isExpanded ? 'chevron-up' : 'chevron-down' }))), index.h("kritzel-color-palette", { key: '30fbcc05f80b15fba7f1f5ac6413732d0149ee9b', colors: this.tool.palette, selectedColor: this.tool.fontColor, isExpanded: this.isExpanded, onColorChange: event => this.handleColorChange(event) }), index.h("kritzel-font-size", { key: '2a0d3c4578316b37bc1a25b6e065ecf565eca2b3', selectedSize: this.tool.fontSize, fontFamily: this.tool.fontFamily, onSizeChange: event => this.handleSizeChange(event) })));
225
225
  }
226
226
  };
227
227
  KritzelControlTextConfig.style = kritzelControlTextConfigCss;
@@ -246,6 +246,15 @@ class KritzelEventHelper {
246
246
  static detectDoubleTap() {
247
247
  const currentTime = Date.now();
248
248
  const tapLength = currentTime - KritzelEventHelper.lastTapTimestamp;
249
+ if (KritzelEventHelper.twoFingerTouchDetected) {
250
+ KritzelEventHelper.lastTapTimestamp = 0;
251
+ KritzelEventHelper.twoFingerTouchDetected = false;
252
+ if (KritzelEventHelper.tapTimeoutId) {
253
+ clearTimeout(KritzelEventHelper.tapTimeoutId);
254
+ KritzelEventHelper.tapTimeoutId = null;
255
+ }
256
+ return false;
257
+ }
249
258
  if (KritzelEventHelper.tapTimeoutId) {
250
259
  clearTimeout(KritzelEventHelper.tapTimeoutId);
251
260
  KritzelEventHelper.tapTimeoutId = null;
@@ -258,14 +267,19 @@ class KritzelEventHelper {
258
267
  KritzelEventHelper.lastTapTimestamp = currentTime;
259
268
  KritzelEventHelper.tapTimeoutId = setTimeout(() => {
260
269
  KritzelEventHelper.tapTimeoutId = null;
270
+ KritzelEventHelper.twoFingerTouchDetected = false;
261
271
  }, KritzelEventHelper.doubleTapTimeout);
262
272
  return false;
263
273
  }
264
274
  }
275
+ static notifyTwoFingerTouch() {
276
+ KritzelEventHelper.twoFingerTouchDetected = true;
277
+ }
265
278
  }
266
279
  KritzelEventHelper.lastTapTimestamp = 0;
267
280
  KritzelEventHelper.tapTimeoutId = null;
268
281
  KritzelEventHelper.doubleTapTimeout = 300;
282
+ KritzelEventHelper.twoFingerTouchDetected = false;
269
283
 
270
284
  class KritzelBaseCommand {
271
285
  constructor(store, initiator) {
@@ -918,6 +932,37 @@ class KritzelText extends KritzelBaseObject {
918
932
  }
919
933
  }
920
934
 
935
+ class KritzelKeyboardHelper {
936
+ static forceHideKeyboard() {
937
+ if (document.activeElement instanceof HTMLElement) {
938
+ document.activeElement.blur();
939
+ }
940
+ }
941
+ static enableInteractiveWidget() {
942
+ const meta = document.querySelector('meta[name="viewport"][content*="interactive-widget=resizes-content"]');
943
+ if (meta) {
944
+ let currentContent = meta.getAttribute('content');
945
+ if (!currentContent.includes('interactive-widget=resizes-content')) {
946
+ currentContent += ', interactive-widget=resizes-content';
947
+ }
948
+ meta.setAttribute('content', currentContent);
949
+ }
950
+ }
951
+ static disableInteractiveWidget() {
952
+ const meta = document.querySelector('meta[name="viewport"][content*="interactive-widget=resizes-content"]');
953
+ if (meta) {
954
+ let currentContent = meta.getAttribute('content');
955
+ let newContent = currentContent.replace(/\s*interactive-widget=resizes-content\s*[,;]?/g, '');
956
+ newContent = newContent
957
+ .replace(/,(\s*,)+/g, ',')
958
+ .replace(/^,/, '')
959
+ .replace(/,$/, '')
960
+ .trim();
961
+ meta.setAttribute('content', newContent);
962
+ }
963
+ }
964
+ }
965
+
921
966
  class KritzelToolRegistry {
922
967
  static registerTool(toolName, constructor, store) {
923
968
  const toolInstance = new constructor(store);
@@ -1018,6 +1063,7 @@ class KritzelTextTool extends KritzelBaseTool {
1018
1063
  if (this._store.state.touchCount > 1) {
1019
1064
  return;
1020
1065
  }
1066
+ KritzelKeyboardHelper.disableInteractiveWidget();
1021
1067
  const clientX = Math.round(event.touches[0].clientX - this._store.offsetX);
1022
1068
  const clientY = Math.round(event.touches[0].clientY - this._store.offsetY);
1023
1069
  const text = KritzelText.create(this._store, this.fontSize, this.fontFamily);
@@ -1032,6 +1078,7 @@ class KritzelTextTool extends KritzelBaseTool {
1032
1078
  var _a, _b;
1033
1079
  (_a = this._store.state.activeText) === null || _a === void 0 ? void 0 : _a.focus();
1034
1080
  (_b = this._store.state.activeText) === null || _b === void 0 ? void 0 : _b.adjustTextareaSize();
1081
+ KritzelKeyboardHelper.enableInteractiveWidget();
1035
1082
  }
1036
1083
  }
1037
1084
 
@@ -1125,11 +1172,11 @@ const KritzelControls = class {
1125
1172
  render() {
1126
1173
  var _a, _b;
1127
1174
  const hasNoConfig = ((_a = this.activeControl) === null || _a === void 0 ? void 0 : _a.config) === undefined || ((_b = this.activeControl) === null || _b === void 0 ? void 0 : _b.config) === null;
1128
- return (index.h(index.Host, { key: 'ed654553a1d3f5d2b5e85e3b3bce4a5705cc51e3' }, index.h("kritzel-utility-panel", { key: '9db82dacbe7360acba1b58b15536c7fed0c1f0dd', style: {
1175
+ return (index.h(index.Host, { key: '2b13783ef0f1638ad76bfcef22c17c3eeb849d67' }, index.h("kritzel-utility-panel", { key: '1babeb88133cebc9057c85723b812b99152316c6', style: {
1129
1176
  position: 'absolute',
1130
1177
  bottom: '56px',
1131
1178
  left: '12px',
1132
- }, onUndo: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.undo(); }, onRedo: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.redo(); }, onDelete: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.delete(); } }), index.h("div", { key: '193a4efd69c51425dc0c8b142c8fba7c6f133077', class: "kritzel-controls" }, this.controls.map(control => {
1179
+ }, onUndo: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.undo(); }, onRedo: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.redo(); }, onDelete: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.delete(); } }), index.h("div", { key: '8fafebdf6726dd2bffe85cb2b3ada5f4885a2bf8', class: "kritzel-controls" }, this.controls.map(control => {
1133
1180
  var _a, _b, _c, _d, _e, _f, _g, _h;
1134
1181
  if (control.type === 'tool') {
1135
1182
  return (index.h("button", { class: {
@@ -2812,7 +2859,6 @@ const KritzelEditor = class {
2812
2859
  this.controls = DEFAULT_KRITZEL_CONTROLS;
2813
2860
  this.customSvgIcons = {};
2814
2861
  this.hideControls = false;
2815
- this.text = null;
2816
2862
  }
2817
2863
  handleTouchStart(event) {
2818
2864
  if (event.cancelable) {
@@ -2822,52 +2868,13 @@ const KritzelEditor = class {
2822
2868
  componentWillLoad() {
2823
2869
  this.registerCustomSvgIcons();
2824
2870
  }
2825
- addTextObject() {
2826
- const obj = new KritzelText({
2827
- translateX: 100,
2828
- translateY: 100,
2829
- width: 200,
2830
- height: 50,
2831
- value: 'New Text',
2832
- fontSize: 16,
2833
- fontFamily: 'Arial',
2834
- fontColor: '#000000',
2835
- scale: 1,
2836
- });
2837
- this.engineRef.addObject(obj).then((text) => this.text = text);
2838
- }
2839
- getTextObject() {
2840
- var _a;
2841
- this.engineRef.getObjectById(((_a = this.text) === null || _a === void 0 ? void 0 : _a.id) || '').then((object) => {
2842
- console.log('Retrieved Text Object:', object);
2843
- });
2844
- }
2845
- updateTextObject() {
2846
- const updatedText = {
2847
- value: 'Updated Text',
2848
- translateX: 150,
2849
- translateY: 150,
2850
- rotation: Math.PI / 2
2851
- };
2852
- this.engineRef.updateObject(this.text, updatedText)
2853
- .then((text) => {
2854
- this.text = text;
2855
- console.log('Updated Text Object:', text);
2856
- });
2857
- }
2858
- removeTextObject() {
2859
- this.engineRef.removeObject(this.text).then((text) => {
2860
- console.log('Text Object removed', text);
2861
- this.text = null;
2862
- });
2863
- }
2864
2871
  registerCustomSvgIcons() {
2865
2872
  for (const [name, svg] of Object.entries(this.customSvgIcons)) {
2866
2873
  KritzelIconRegistry.register(name, svg);
2867
2874
  }
2868
2875
  }
2869
2876
  render() {
2870
- return (index.h(index.Host, { key: '3e54e232dd459dcebf3322dcba5ac2f1936ef23a' }, index.h("div", { key: '5c7f90645dfe6010187a709a657b5366d0e6d402', class: "button-panel", style: { position: 'absolute', top: '0', left: '0', zIndex: '10', display: 'flex', flexDirection: 'row' } }, index.h("button", { key: 'b8c22edc7b752f176c8bee4af186692100d09e1c', onClick: () => this.addTextObject() }, "Add Text"), index.h("button", { key: 'd38091f4142392ab4d1ed3e4b26c9e4a38ded104', onClick: () => this.getTextObject() }, "Get Text"), index.h("button", { key: '2f2bacf47603b5fb50a782bf24a8e6b3954d77e2', onClick: () => this.updateTextObject() }, "Update Text"), index.h("button", { key: '5ce49401b19a3730b30a24aaee6474f8ff8ed94f', onClick: () => this.removeTextObject() }, "Remove Text"), index.h("button", { key: '38870ef7c6776a37c742722fc96c37055c9e2ae3', onClick: () => this.engineRef.selectObjects([this.text]) }, "Select Text"), index.h("button", { key: '9a95113343e746cac85a0643a7633bf1030987b5', onClick: () => this.engineRef.selectAllObjectsInViewport() }, "Select All"), index.h("button", { key: 'c2caf8b0f02ad07d9b7f2166ed04e17daff10786', onClick: () => this.engineRef.clearSelection() }, "Clear Selection")), index.h("kritzel-engine", { key: 'c3174bc087b7875744f222d9fd03c68f06ce2522', ref: el => (this.engineRef = el) }), index.h("kritzel-controls", { key: 'b22337b1d0cb2f703f69c197a3c2b50a21a7a9b1', controls: this.controls, style: this.hideControls ? { display: 'none' } : { display: 'flex' } })));
2877
+ return (index.h(index.Host, { key: '74206218105a7675872539955729e9329573b83b' }, index.h("kritzel-engine", { key: '596be73738bdfcbd04472a3ffef2e7ace393c94e', ref: el => (this.engineRef = el) }), index.h("kritzel-controls", { key: '95701130a74395c27c07c56eb74294074261a8be', ref: el => (this.controlsRef = el), controls: this.controls, style: this.hideControls ? { display: 'none' } : { display: 'flex' } })));
2871
2878
  }
2872
2879
  get host() { return index.getElement(this); }
2873
2880
  };
@@ -3278,7 +3285,7 @@ class UpdateObjectCommand extends KritzelBaseCommand {
3278
3285
  }
3279
3286
  }
3280
3287
 
3281
- const initialState = {
3288
+ const DEFAULT_ENGINE_STATE = {
3282
3289
  activeTool: null,
3283
3290
  activeText: null,
3284
3291
  currentPath: null,
@@ -3330,6 +3337,7 @@ const initialState = {
3330
3337
  longTouchTimeout: null,
3331
3338
  longTouchDelay: 300,
3332
3339
  };
3340
+
3333
3341
  class KritzelStore {
3334
3342
  get history() {
3335
3343
  return this._history;
@@ -3355,7 +3363,7 @@ class KritzelStore {
3355
3363
  constructor(kritzelEngine) {
3356
3364
  this._listeners = new Map();
3357
3365
  this.objects = [];
3358
- this._state = initialState;
3366
+ this._state = DEFAULT_ENGINE_STATE;
3359
3367
  this._kritzelEngine = kritzelEngine;
3360
3368
  this._history = new KritzelHistory(this);
3361
3369
  this._state.objectsOctree = new KritzelOctree({
@@ -3650,14 +3658,6 @@ class KritzelKeyHandler extends KritzelBaseHandler {
3650
3658
  }
3651
3659
  }
3652
3660
 
3653
- class KritzelKeyboardHelper {
3654
- static forceHideKeyboard() {
3655
- if (document.activeElement instanceof HTMLElement) {
3656
- document.activeElement.blur();
3657
- }
3658
- }
3659
- }
3660
-
3661
3661
  class KritzelContextMenuHandler extends KritzelBaseHandler {
3662
3662
  constructor(store, globalContextMenuItems, objectContextMenuItems) {
3663
3663
  super(store);
@@ -3861,6 +3861,9 @@ const KritzelEngine = class {
3861
3861
  if (this.store.state.isEnabled === false) {
3862
3862
  return;
3863
3863
  }
3864
+ if (ev.touches.length === 2) {
3865
+ KritzelEventHelper.notifyTwoFingerTouch();
3866
+ }
3864
3867
  if (KritzelEventHelper.detectDoubleTap()) {
3865
3868
  const doubleTapEvent = new CustomEvent('doubletap', { detail: event, bubbles: true, composed: true });
3866
3869
  this.host.dispatchEvent(doubleTapEvent);
@@ -4036,20 +4039,20 @@ const KritzelEngine = class {
4036
4039
  const baseHandleSizePx = computedStyle.getPropertyValue('--kritzel-selection-handle-size').trim() || '6px';
4037
4040
  const baseHandleSize = parseFloat(baseHandleSizePx);
4038
4041
  const baseHandleTouchSize = baseHandleSize * 2 < 14 ? 14 : baseHandleSize;
4039
- return (index.h(index.Host, { key: '0c20c50e3ad8ac088902881c35c406ad2f0787d5' }, index.h("div", { key: 'a89d76b5f6a10cbc54c40d034a08b3ceb99be063', class: "debug-panel", style: { display: this.store.state.debugInfo.showViewportInfo ? 'block' : 'none' } }, index.h("div", { key: '94345439d02de7d005bb92abb377b7ebeb91fcdb' }, "TranslateX: ", (_a = this.store.state) === null || _a === void 0 ? void 0 :
4040
- _a.translateX), index.h("div", { key: '1e2e3ffc6ad760f089f4d02d94dfeb09bb5725cb' }, "TranslateY: ", (_b = this.store.state) === null || _b === void 0 ? void 0 :
4041
- _b.translateY), index.h("div", { key: '36d6170934959e19b95326d84b32c9abe2385edc' }, "ViewportWidth: ", (_c = this.store.state) === null || _c === void 0 ? void 0 :
4042
- _c.viewportWidth), index.h("div", { key: '57e5d37af3fd1f6ad24ea89ca525a6f0bc8e014b' }, "ViewportHeight: ", (_d = this.store.state) === null || _d === void 0 ? void 0 :
4043
- _d.viewportHeight), index.h("div", { key: '8281e788e350db75bbf1fe12dd8c17b91b429135' }, "ObjectsInViewport. ", this.store.objects.length), index.h("div", { key: '9f42aad27d0a266cbc720d1e13292bea5be84770' }, "Scale: ", (_e = this.store.state) === null || _e === void 0 ? void 0 :
4044
- _e.scale), index.h("div", { key: '76848c1a0eb2379ee0d0314523a540dbeb3d0697' }, "ActiveTool: ", (_g = (_f = this.store.state) === null || _f === void 0 ? void 0 : _f.activeTool) === null || _g === void 0 ? void 0 :
4045
- _g.name), index.h("div", { key: '77f8ff0b660227f7b25c12b74d70946bc1f66e78' }, "HasViewportChanged: ", ((_h = this.store.state) === null || _h === void 0 ? void 0 : _h.hasViewportChanged) ? 'true' : 'false'), index.h("div", { key: '229e94fee90a847a853419ae61bc131221313fc6' }, "IsEnabled: ", ((_j = this.store.state) === null || _j === void 0 ? void 0 : _j.isEnabled) ? 'true' : 'false'), index.h("div", { key: 'f31784916ab54f9a5eda02cffebe55a1f9aaa51f' }, "IsScaling: ", ((_k = this.store.state) === null || _k === void 0 ? void 0 : _k.isScaling) ? 'true' : 'false'), index.h("div", { key: '4611a6dd48f1033d42fc3b7813634cbc16bf9b3b' }, "IsPanning: ", ((_l = this.store.state) === null || _l === void 0 ? void 0 : _l.isPanning) ? 'true' : 'false'), index.h("div", { key: '14388f4b5cca60d8a2d8d474f941b53a78ad327d' }, "IsFocused: ", this.store.state.isFocused ? 'true' : 'false'), index.h("div", { key: '2f3dcd488855413e392f56718af640e369d99fae' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), index.h("div", { key: '2cd0e44a1d13eaf5d3a942f75a727a074bf37622' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), index.h("div", { key: '99d51cf25e02c9d06865bf1f847c704ad8a32110' }, "IsResizeHandleSelected: ", this.store.state.isResizeHandleSelected ? 'true' : 'false'), index.h("div", { key: '87ab9908a318b238ad1fb00e91dba9c485038443' }, "IsRotationHandleSelected: ", this.store.state.isRotationHandleSelected ? 'true' : 'false'), index.h("div", { key: '20f291bf45ba06b4107002e288b93f8f61ef9520' }, "IsDrawing: ", this.store.state.isDrawing ? 'true' : 'false'), index.h("div", { key: '52244f4f0d368e7bc183eed4c65abe536d134f44' }, "IsWriting: ", this.store.state.isWriting ? 'true' : 'false'), index.h("div", { key: '641edd47e7bccc7514ed6aeac3ecbead95568dde' }, "CursorX: ", (_m = this.store.state) === null || _m === void 0 ? void 0 :
4046
- _m.cursorX), index.h("div", { key: 'bf0826a9cbc800ca0f13d4de4da7dbb21241498f' }, "CursorY: ", (_o = this.store.state) === null || _o === void 0 ? void 0 :
4047
- _o.cursorY)), index.h("div", { key: '5659cb254f57b79ca8e33ab11a8087d5ca5088dc', class: "origin", style: {
4042
+ return (index.h(index.Host, { key: '7592f0cc9b3c4f5c2c68b8a69151e57e254e1bcd' }, index.h("div", { key: '83d550a8b257c6c30915b4125633410b935df1c7', class: "debug-panel", style: { display: this.store.state.debugInfo.showViewportInfo ? 'block' : 'none' } }, index.h("div", { key: 'aaebf84d2344cf117d7e2b221f4675abfa3e2423' }, "TranslateX: ", (_a = this.store.state) === null || _a === void 0 ? void 0 :
4043
+ _a.translateX), index.h("div", { key: '0dff156e5b57abe1919af5a14da374ee86f62821' }, "TranslateY: ", (_b = this.store.state) === null || _b === void 0 ? void 0 :
4044
+ _b.translateY), index.h("div", { key: 'bb7fe1f8442c70e1bd7655ea222f37ed55c0cf8f' }, "ViewportWidth: ", (_c = this.store.state) === null || _c === void 0 ? void 0 :
4045
+ _c.viewportWidth), index.h("div", { key: 'c0399a368afa2186ba45e7be6fa69495f77912b2' }, "ViewportHeight: ", (_d = this.store.state) === null || _d === void 0 ? void 0 :
4046
+ _d.viewportHeight), index.h("div", { key: '2506ae215413710417a9b494dfeaa06a95381e1e' }, "ObjectsInViewport. ", this.store.objects.length), index.h("div", { key: '858e6cff62c24d97f36560ca57c59eb90d7fe253' }, "Scale: ", (_e = this.store.state) === null || _e === void 0 ? void 0 :
4047
+ _e.scale), index.h("div", { key: 'b7dd1926a2a374b34ccb0f1af2f5100bb256a323' }, "ActiveTool: ", (_g = (_f = this.store.state) === null || _f === void 0 ? void 0 : _f.activeTool) === null || _g === void 0 ? void 0 :
4048
+ _g.name), index.h("div", { key: 'e75a98de366a36b9e4a478119db1754df85ce149' }, "HasViewportChanged: ", ((_h = this.store.state) === null || _h === void 0 ? void 0 : _h.hasViewportChanged) ? 'true' : 'false'), index.h("div", { key: 'c78c09fbb6efc97be8cde8bc55d2c9ca724d913e' }, "IsEnabled: ", ((_j = this.store.state) === null || _j === void 0 ? void 0 : _j.isEnabled) ? 'true' : 'false'), index.h("div", { key: '7864d38c808ff8fa01fc24d150ac03ec56eb2111' }, "IsScaling: ", ((_k = this.store.state) === null || _k === void 0 ? void 0 : _k.isScaling) ? 'true' : 'false'), index.h("div", { key: '8ce8b3522065ad221d0cac69366199fa78e6c985' }, "IsPanning: ", ((_l = this.store.state) === null || _l === void 0 ? void 0 : _l.isPanning) ? 'true' : 'false'), index.h("div", { key: 'f2dc96d374c66798ab0ec6f4759a851448375def' }, "IsFocused: ", this.store.state.isFocused ? 'true' : 'false'), index.h("div", { key: '7a8642ee44c2c6d6419da80c2a27b0370c51c67d' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), index.h("div", { key: '9f819435c8ad8c2f836edca397918bd98e2ed34d' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), index.h("div", { key: '252201d35275563594bfe13ae19ded7289d4860a' }, "IsResizeHandleSelected: ", this.store.state.isResizeHandleSelected ? 'true' : 'false'), index.h("div", { key: '45056c11f0733c433f9a91008d021702df660063' }, "IsRotationHandleSelected: ", this.store.state.isRotationHandleSelected ? 'true' : 'false'), index.h("div", { key: 'a6fedfe47aac88ffa4df90da060a28d83f8bf1cf' }, "IsDrawing: ", this.store.state.isDrawing ? 'true' : 'false'), index.h("div", { key: '30b311e5dee2174ba0baea6e5bc9f1fca1a01fac' }, "IsWriting: ", this.store.state.isWriting ? 'true' : 'false'), index.h("div", { key: 'e2d1936e16dd5a268dd1efab8b7e67b567170e9b' }, "CursorX: ", (_m = this.store.state) === null || _m === void 0 ? void 0 :
4049
+ _m.cursorX), index.h("div", { key: 'bb1e751d01b31ca727c01537927808daec4425e9' }, "CursorY: ", (_o = this.store.state) === null || _o === void 0 ? void 0 :
4050
+ _o.cursorY)), index.h("div", { key: 'a5ccd3e025b425660a1dd9ef523db203fcbde610', class: "origin", style: {
4048
4051
  transform: `matrix(${(_p = this.store.state) === null || _p === void 0 ? void 0 : _p.scale}, 0, 0, ${(_q = this.store.state) === null || _q === void 0 ? void 0 : _q.scale}, ${(_r = this.store.state) === null || _r === void 0 ? void 0 : _r.translateX}, ${(_s = this.store.state) === null || _s === void 0 ? void 0 : _s.translateY})`,
4049
4052
  } }, (_t = this.store.objects) === null || _t === void 0 ? void 0 :
4050
4053
  _t.map(object => {
4051
4054
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
4052
- return (index.h("div", { style: { transform: object === null || object === void 0 ? void 0 : object.transformationMatrix, transformOrigin: 'top left' } }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", key: object.id, id: object.id, class: "object", style: {
4055
+ return (index.h("div", { style: { transform: object === null || object === void 0 ? void 0 : object.transformationMatrix, transformOrigin: 'top left', zIndex: object.zIndex.toString(), position: 'absolute' } }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", key: object.id, id: object.id, class: "object", style: {
4053
4056
  height: object === null || object === void 0 ? void 0 : object.totalHeight.toString(),
4054
4057
  width: object === null || object === void 0 ? void 0 : object.totalWidth.toString(),
4055
4058
  left: '0',
@@ -4059,7 +4062,6 @@ const KritzelEngine = class {
4059
4062
  transformOrigin: 'center',
4060
4063
  opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
4061
4064
  pointerEvents: object.markedForRemoval ? 'none' : 'auto',
4062
- zIndex: object.zIndex.toString(),
4063
4065
  } }, index.h("foreignObject", { x: "0", y: "0", width: object.totalWidth.toString(), height: object.totalHeight.toString(), style: {
4064
4066
  minHeight: '0',
4065
4067
  minWidth: '0',
@@ -4141,7 +4143,7 @@ const KritzelEngine = class {
4141
4143
  fill: 'transparent',
4142
4144
  cursor: 'grab',
4143
4145
  }, visibility: object.selected && !this.isSelecting ? 'visible' : 'hidden' }), index.h("g", { style: { display: this.store.state.debugInfo.showObjectInfo ? 'block' : 'none', pointerEvents: 'none' } }, index.h("foreignObject", { x: object.totalWidth.toString(), y: "0", width: "400px", height: "160px", style: { minHeight: '0', minWidth: '0', display: object.debugInfoVisible ? 'block' : 'none' } }, index.h("div", { style: { width: '100%', height: '100%' } }, index.h("div", { style: { whiteSpace: 'nowrap' } }, "zIndex: ", object.zIndex), index.h("div", { style: { whiteSpace: 'nowrap' } }, "translateX: ", object.translateX), index.h("div", { style: { whiteSpace: 'nowrap' } }, "translateY: ", object.translateY), index.h("div", { style: { whiteSpace: 'nowrap' } }, "width: ", object.width), index.h("div", { style: { whiteSpace: 'nowrap' } }, "height: ", object.height), index.h("div", { style: { whiteSpace: 'nowrap' } }, "scale: ", object.scale), index.h("div", { style: { whiteSpace: 'nowrap' } }, "rotation: ", object.rotation)))))));
4144
- }), index.h("svg", { key: '05a35ebb17312d00a4065dc6dc76f3a93a72eff4', class: "object", xmlns: "http://www.w3.org/2000/svg", style: {
4146
+ }), index.h("svg", { key: 'c2b10893d4bea0e25c98058e640ad8eef6135a80', class: "object", xmlns: "http://www.w3.org/2000/svg", style: {
4145
4147
  height: (_u = this.store.state.currentPath) === null || _u === void 0 ? void 0 : _u.height.toString(),
4146
4148
  width: (_v = this.store.state.currentPath) === null || _v === void 0 ? void 0 : _v.width.toString(),
4147
4149
  left: '0',
@@ -4151,12 +4153,12 @@ const KritzelEngine = class {
4151
4153
  transform: (_x = this.store.state.currentPath) === null || _x === void 0 ? void 0 : _x.transformationMatrix,
4152
4154
  transformOrigin: 'top left',
4153
4155
  overflow: 'visible',
4154
- }, viewBox: (_y = this.store.state.currentPath) === null || _y === void 0 ? void 0 : _y.viewBox }, index.h("path", { key: 'cb232e2697ce6ede2e4d9ed2e1b433ccde3961b5', d: (_z = this.store.state.currentPath) === null || _z === void 0 ? void 0 : _z.d, fill: (_0 = this.store.state.currentPath) === null || _0 === void 0 ? void 0 : _0.fill, stroke: (_1 = this.store.state.currentPath) === null || _1 === void 0 ? void 0 : _1.stroke }))), this.store.state.isContextMenuVisible && (index.h("kritzel-context-menu", { key: 'e41b88a78bbd25f692fbdba88fda80993055a078', ref: el => (this.contextMenuElement = el), items: this.store.state.contextMenuItems, style: {
4156
+ }, viewBox: (_y = this.store.state.currentPath) === null || _y === void 0 ? void 0 : _y.viewBox }, index.h("path", { key: '84b018b26b93e0f382062ac2e24efbce8bc07e3f', d: (_z = this.store.state.currentPath) === null || _z === void 0 ? void 0 : _z.d, fill: (_0 = this.store.state.currentPath) === null || _0 === void 0 ? void 0 : _0.fill, stroke: (_1 = this.store.state.currentPath) === null || _1 === void 0 ? void 0 : _1.stroke }))), this.store.state.isContextMenuVisible && (index.h("kritzel-context-menu", { key: 'c372bd8595656b35d7eed2e38400490e7d71808b', ref: el => (this.contextMenuElement = el), items: this.store.state.contextMenuItems, style: {
4155
4157
  position: 'fixed',
4156
4158
  left: `${this.store.state.contextMenuX}px`,
4157
4159
  top: `${this.store.state.contextMenuY}px`,
4158
4160
  zIndex: '10000',
4159
- }, onActionSelected: event => this.handleContextMenuAction(event) })), ((_2 = this.store.state) === null || _2 === void 0 ? void 0 : _2.activeTool) instanceof KritzelEraserTool && !this.store.state.isScaling && index.h("kritzel-cursor-trail", { key: '1d96c0d7fa94ddcf5820fd76fbaf69c54b1face2' })));
4161
+ }, onActionSelected: event => this.handleContextMenuAction(event) })), ((_2 = this.store.state) === null || _2 === void 0 ? void 0 : _2.activeTool) instanceof KritzelEraserTool && !this.store.state.isScaling && index.h("kritzel-cursor-trail", { key: 'ce67e9df4714a9585bb1a8db3780baff6faeb66d' })));
4160
4162
  }
4161
4163
  get host() { return index.getElement(this); }
4162
4164
  };
@@ -4172,7 +4174,7 @@ const KritzelFont = class {
4172
4174
  this.color = '#000000';
4173
4175
  }
4174
4176
  render() {
4175
- return (index.h(index.Host, { key: 'b4ebef665dacaca67e0a7574a15eae851e40ba3d' }, index.h("div", { key: '3af8906e1092fe333daf52da9e0da7a764fc47e3', class: "font-preview", style: {
4177
+ return (index.h(index.Host, { key: 'd0378237899c5641ae4354f3bffb14e3f8bafb59' }, index.h("div", { key: '1475a6ae39ffc97eb780b30c85015c22cecafa6e', class: "font-preview", style: {
4176
4178
  fontFamily: this.fontFamily,
4177
4179
  fontSize: `${this.size}px`,
4178
4180
  color: this.color
@@ -4237,7 +4239,7 @@ const KritzelFontSize = class {
4237
4239
  this.sizeChange.emit(size);
4238
4240
  }
4239
4241
  render() {
4240
- return (index.h(index.Host, { key: 'daf7a1f16f96dfcbaaaa2ba43b77c99565c9893d' }, this.sizes.map(size => (index.h("div", { class: {
4242
+ return (index.h(index.Host, { key: '1c09a403f1e8278d30b2675c3a6e17e12ec79afa' }, this.sizes.map(size => (index.h("div", { class: {
4241
4243
  'size-container': true,
4242
4244
  'selected': this.selectedSize === size,
4243
4245
  }, onClick: () => this.handleSizeClick(size) }, index.h("kritzel-font", { fontFamily: this.fontFamily, size: size }))))));
@@ -4281,7 +4283,7 @@ const KritzelStrokeSize = class {
4281
4283
  this.sizeChange.emit(size);
4282
4284
  }
4283
4285
  render() {
4284
- return (index.h(index.Host, { key: 'ee73f8679fa8e1f99bc01f31fb5cd8935fa597a8' }, this.sizes.map(size => (index.h("div", { class: {
4286
+ return (index.h(index.Host, { key: '2e2a4d38920e25e1e60788deabe4912b510d0b10' }, this.sizes.map(size => (index.h("div", { class: {
4285
4287
  'size-container': true,
4286
4288
  'selected': this.selectedSize === size,
4287
4289
  }, onClick: () => this.handleSizeClick(size) }, index.h("kritzel-color", { value: '#000000', size: size }))))));
@@ -4330,23 +4332,23 @@ const KritzelTooltip = class {
4330
4332
  }
4331
4333
  }
4332
4334
  render() {
4333
- return (index.h(index.Host, { key: 'd0ec1b12583a5e69a022ed4538060a0fe609b4fc', style: {
4335
+ return (index.h(index.Host, { key: '3161826337f6957d2e568f52cfe3f57d705af0ed', style: {
4334
4336
  position: 'fixed',
4335
4337
  zIndex: '9999',
4336
4338
  transition: 'opacity 0.3s ease-in-out, transform 0.3s ease-in-out',
4337
4339
  visibility: this.isVisible ? 'visible' : 'hidden',
4338
4340
  left: !this.isMobileView ? `${this.positionX}px` : '50%',
4339
4341
  marginBottom: `${this.offsetY + this.arrowSize}px`,
4340
- } }, index.h("div", { key: 'f4edf3ee17d5074aff60808dada77ddb601ea33d', class: "tooltip-content", onClick: event => event.stopPropagation() }, index.h("slot", { key: '947ea9110ccb0ed4a02684d7a51b04da8df6c909' }), index.h("div", { key: 'bffda8ba16f67e54cb581f96f355b5ddefca5792', class: "tooltip-arrow-wrapper", style: {
4342
+ } }, index.h("div", { key: '12fc4bc05b7be756102ce3779c9be1d51f3fe13b', class: "tooltip-content", onClick: event => event.stopPropagation() }, index.h("slot", { key: '90f645f8f7cec371aaeda7207a9fb420b02b2ae4' }), index.h("div", { key: '73380e2c6df22bc4a97479a52315e7b34d069fa1', class: "tooltip-arrow-wrapper", style: {
4341
4343
  position: 'fixed',
4342
4344
  left: this.arrowOffset,
4343
4345
  bottom: `-${this.arrowSize * 2}px`,
4344
- } }, index.h("div", { key: '76d33735507f0164dc68173f02c3ca2d45070744', class: "tooltip-arrow", style: {
4346
+ } }, index.h("div", { key: '2e13cb01a3282e161d3212f4970a93b20ca1a0fe', class: "tooltip-arrow", style: {
4345
4347
  borderLeft: `${this.arrowSize}px solid transparent`,
4346
4348
  borderRight: `${this.arrowSize}px solid transparent`,
4347
4349
  borderTop: `${this.arrowSize}px solid var(--kritzel-controls-tooltip-background-color, #ffffff)`,
4348
4350
  filter: 'drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))',
4349
- } }), index.h("div", { key: '8f1913c9ed12f8a3171963cfb0360241fab21302', class: "tooltip-arrow-rect", style: {
4351
+ } }), index.h("div", { key: '30ddbd00b928c0c734656d6309eaefbae5baf264', class: "tooltip-arrow-rect", style: {
4350
4352
  position: 'relative',
4351
4353
  width: `${this.arrowSize * 2}px`,
4352
4354
  height: `${this.arrowSize}px`,
@@ -4380,7 +4382,7 @@ const KritzelUtilityPanel = class {
4380
4382
  this.redo.emit();
4381
4383
  }
4382
4384
  render() {
4383
- return (index.h(index.Host, { key: 'c295ba2931094213a276ca2ccf002fea4a17a9a5' }, index.h("button", { key: 'ad636f88a4fb8540e0a5607b505fa157257a0cd4', class: "utility-button", onClick: event => this.handleUndo(event) }, index.h("kritzel-icon", { key: '9a6ebf66cafddeb5fd191ffe374831ad583598ae', name: "undo" })), index.h("button", { key: '334cb5c195b6da4992f08964f31f412172f3904d', class: "utility-button", onClick: event => this.handleRedo(event) }, index.h("kritzel-icon", { key: '5f3528d7cfdee42ed8203c8cb09f54550ab57810', name: "redo" })), index.h("div", { key: 'f859dcfd8a576323a2d52fc1bf3787b8ac589532', class: "utility-separator" }), index.h("button", { key: '30e28fc71e12caca42effe63fc033f84b9b07d02', class: "utility-button" }, index.h("kritzel-icon", { key: 'f448f23126e2d29a1be44d88e39c7dd6d5927ca2', name: "delete", onClick: () => this.delete.emit() }))));
4385
+ return (index.h(index.Host, { key: '496ed78323c9899ad363e7f7732a1464d99e1b3b' }, index.h("button", { key: '7b6b9cd238a8d254f032d5752f184d567e9a3096', class: "utility-button", onClick: event => this.handleUndo(event) }, index.h("kritzel-icon", { key: '8ac19f36c6b82f7cc4a0249e60cf429f75c09218', name: "undo" })), index.h("button", { key: '1164727510a968356042507c1e302b85a135baf8', class: "utility-button", onClick: event => this.handleRedo(event) }, index.h("kritzel-icon", { key: '1c6cc414d5841a06853f99316eee7a0a609d5c92', name: "redo" })), index.h("div", { key: 'e6f3342569b1c6b5a6b267cc215bc8e5d259e302', class: "utility-separator" }), index.h("button", { key: '0aa486a543df924c224f3637857cdcdb06f995ea', class: "utility-button" }, index.h("kritzel-icon", { key: '9ee324e03f5df5297916549743539f7f19950768', name: "delete", onClick: () => this.delete.emit() }))));
4384
4386
  }
4385
4387
  };
4386
4388
  KritzelUtilityPanel.style = kritzelUtilityPanelCss;