kritzel-stencil 0.1.19 → 0.1.21

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 (47) hide show
  1. package/dist/cjs/{default-line-tool.config-BeAHPilg.js → default-line-tool.config-Bva9deYM.js} +5 -1
  2. package/dist/cjs/index.cjs.js +1 -1
  3. package/dist/cjs/kritzel-back-to-content_32.cjs.entry.js +132 -46
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/stencil.cjs.js +1 -1
  6. package/dist/collection/classes/core/viewport.class.js +6 -2
  7. package/dist/collection/classes/handlers/selection.handler.js +2 -0
  8. package/dist/collection/classes/objects/text.class.js +3 -1
  9. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +102 -32
  10. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +19 -2
  11. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +7 -5
  12. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +2 -3
  13. package/dist/collection/constants/version.js +1 -1
  14. package/dist/components/index.js +1 -1
  15. package/dist/components/kritzel-controls.js +1 -1
  16. package/dist/components/kritzel-editor.js +1 -1
  17. package/dist/components/kritzel-engine.js +1 -1
  18. package/dist/components/kritzel-more-menu.js +1 -1
  19. package/dist/components/kritzel-settings.js +1 -1
  20. package/dist/components/kritzel-tool-config.js +1 -1
  21. package/dist/components/kritzel-tooltip.js +1 -1
  22. package/dist/components/p-BNT9uvII.js +1 -0
  23. package/dist/components/p-BbHELXEC.js +9 -0
  24. package/dist/components/{p-DG7kxVDc.js → p-BsvZ2juR.js} +1 -1
  25. package/dist/components/p-CBs9GnLk.js +1 -0
  26. package/dist/components/{p-DGpuS101.js → p-CYX7RMRZ.js} +1 -1
  27. package/dist/components/{p-Fa2zws3M.js → p-Dmy0R-7y.js} +1 -1
  28. package/dist/components/p-DqtvAhfs.js +1 -0
  29. package/dist/esm/{default-line-tool.config-DvqpJZmQ.js → default-line-tool.config-DDIFE6oX.js} +5 -1
  30. package/dist/esm/index.js +2 -2
  31. package/dist/esm/kritzel-back-to-content_32.entry.js +132 -46
  32. package/dist/esm/loader.js +1 -1
  33. package/dist/esm/stencil.js +1 -1
  34. package/dist/stencil/index.esm.js +1 -1
  35. package/dist/stencil/p-3fc743ee.entry.js +9 -0
  36. package/dist/stencil/p-DDIFE6oX.js +1 -0
  37. package/dist/stencil/stencil.esm.js +1 -1
  38. package/dist/types/components/shared/kritzel-tooltip/kritzel-tooltip.d.ts +1 -0
  39. package/dist/types/components/ui/kritzel-more-menu/kritzel-more-menu.d.ts +0 -1
  40. package/dist/types/constants/version.d.ts +1 -1
  41. package/package.json +1 -1
  42. package/dist/components/p-BYNKXfwA.js +0 -1
  43. package/dist/components/p-C1vhH4-F.js +0 -9
  44. package/dist/components/p-Dmfmb5xr.js +0 -1
  45. package/dist/components/p-Mre0ZWEc.js +0 -1
  46. package/dist/stencil/p-DvqpJZmQ.js +0 -1
  47. package/dist/stencil/p-ded5a607.entry.js +0 -9
@@ -14883,7 +14883,9 @@ class KritzelText extends KritzelBaseObject {
14883
14883
  element.style.fontSize = `${this.fontSize}pt`;
14884
14884
  element.style.color = KritzelColorHelper.resolveThemeColor(this.fontColor);
14885
14885
  if (this.isMounted && this.elementRef === element && this.editor.dom.parentElement === element) {
14886
- requestAnimationFrame(() => this.adjustSizeOnInput());
14886
+ if (!this._core.store.state.isScaling && !this._core.store.state.isPanning) {
14887
+ requestAnimationFrame(() => this.adjustSizeOnInput());
14888
+ }
14887
14889
  return;
14888
14890
  }
14889
14891
  this.elementRef = element;
@@ -18473,6 +18475,8 @@ class KritzelSelectionHandler extends KritzelBaseHandler {
18473
18475
  const pointerY = this._core.store.state.pointerY;
18474
18476
  const overlappingObjects = this._core.getObjectsFromPointerEvent(event, '.object');
18475
18477
  for (const object of overlappingObjects) {
18478
+ if (object instanceof KritzelSelectionBox)
18479
+ continue;
18476
18480
  if (object.hitTest(pointerX, pointerY)) {
18477
18481
  return object;
18478
18482
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var defaultLineTool_config = require('./default-line-tool.config-BeAHPilg.js');
3
+ var defaultLineTool_config = require('./default-line-tool.config-Bva9deYM.js');
4
4
 
5
5
  /**
6
6
  * BroadcastChannel sync provider for cross-tab synchronization
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-i21-qqbc.js');
4
- var defaultLineTool_config = require('./default-line-tool.config-BeAHPilg.js');
4
+ var defaultLineTool_config = require('./default-line-tool.config-Bva9deYM.js');
5
5
 
6
6
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
7
7
 
@@ -558,6 +558,8 @@ const KritzelControls = class {
558
558
  if (this.activeControl?.tool) {
559
559
  this.updateDisplayValues(this.activeControl.tool);
560
560
  }
561
+ this.isTooltipVisible = false;
562
+ this.openSubMenuControl = null;
561
563
  }
562
564
  handleSelectionChange() {
563
565
  if (this.activeControl?.tool instanceof defaultLineTool_config.KritzelSelectionTool) {
@@ -737,13 +739,13 @@ const KritzelControls = class {
737
739
  // Separate tool controls from config control
738
740
  const toolControls = this.controls.filter(c => c.type === 'tool');
739
741
  const configControl = this.controls.find(c => c.type === 'config' && c.name === this.firstConfig?.name);
740
- return (index.h(index.Host, { key: '5e705ca420a7e8e39fef6bea470475b8fbfdf98e', class: {
742
+ return (index.h(index.Host, { key: 'cb713bc59241300837519145031c1d15109e28c3', class: {
741
743
  mobile: this.isTouchDevice,
742
- } }, this.isUtilityPanelVisible && (index.h("kritzel-utility-panel", { key: 'cc691824975b806042463787667fa363d4b466db', style: {
744
+ } }, this.isUtilityPanelVisible && (index.h("kritzel-utility-panel", { key: '62cb00da2676739aa472d69e8e453501bd78e408', style: {
743
745
  position: 'absolute',
744
746
  bottom: '56px',
745
747
  left: '12px',
746
- }, undoState: this.undoState, onUndo: () => this.kritzelEngine?.undo(), onRedo: () => this.kritzelEngine?.redo(), onDelete: () => this.kritzelEngine?.delete() })), index.h("div", { key: '31a8251e03ee1489fc205a5507b39e9b8492a011', class: "kritzel-controls" }, index.h("div", { key: 'b1fe826567c334e1698edfaa856edc567f2cafb3', class: { 'scroll-indicator-left': true, 'visible': this.canScrollLeft } }), index.h("div", { key: 'c9879d0f1ce5556f925789359a3a760c8c034ff6', class: "kritzel-tools-scroll", ref: el => {
748
+ }, undoState: this.undoState, onUndo: () => this.kritzelEngine?.undo(), onRedo: () => this.kritzelEngine?.redo(), onDelete: () => this.kritzelEngine?.delete() })), index.h("div", { key: '0376615eb976d961cb17ba02aab36f4127343899', class: "kritzel-controls" }, index.h("div", { key: 'c72373afc1eb04fb39868d107cb0a35c846097fe', class: { 'scroll-indicator-left': true, 'visible': this.canScrollLeft } }), index.h("div", { key: '1aa1ece36dda200a4c62529c08f1787d8bd4b534', class: "kritzel-tools-scroll", ref: el => {
747
749
  this.toolsScrollRef = el;
748
750
  // Update indicators when ref is set
749
751
  if (el)
@@ -773,10 +775,10 @@ const KritzelControls = class {
773
775
  'kritzel-control': true,
774
776
  'selected': this.activeControl?.name === control?.name,
775
777
  }, key: control.name, onClick: _event => this.handleControlClick?.(control) }, index.h("kritzel-icon", { name: control.icon })));
776
- })), index.h("div", { key: '42741ef8d2b0dd90bc2193998d1d2d103928d934', class: { 'scroll-indicator-right': true, 'visible': this.canScrollRight && !(configControl && this.activeControl && hasConfigUI) } }), configControl && this.activeControl && (index.h("div", { class: {
778
+ })), index.h("div", { key: 'a3129881a9c992b6fbd94b66a6325d46072dba60', class: { 'scroll-indicator-right': true, 'visible': this.canScrollRight && !(configControl && this.activeControl && hasConfigUI) } }), configControl && this.activeControl && (index.h("div", { class: {
777
779
  'kritzel-config-container': true,
778
780
  'visible': hasConfigUI,
779
- }, key: configControl.name }, index.h("div", { key: '4b1f2eafd575056ef74cad7eeda54d84a0ca7c71', class: { 'config-gradient-left': true, 'visible': this.needsScrolling } }), index.h("kritzel-tooltip", { key: 'b051c4cbc98f310f1ee06fb2eeb2e343fe7e6411', ref: el => (this.tooltipRef = el), isVisible: this.isTooltipVisible, anchorElement: this.host.shadowRoot?.querySelector('.kritzel-config-container'), onTooltipClosed: () => this.handleTooltipClosed() }, index.h("kritzel-tool-config", { key: '91696acc8f93a8accf0c0db0ae0f1e3207c246d0', tool: this.activeControl.tool, theme: this.theme, onToolChange: event => this.handleToolChange?.(event), onDisplayValuesChange: this.handleDisplayValuesChange, style: { width: '100%', height: '100%' } })), index.h("div", { key: 'bd9acd2bfd178e73942bf7ac79182b05df22be08', tabIndex: hasConfigUI ? 0 : -1, class: "kritzel-config", onClick: event => this.handleConfigClick?.(event), onKeyDown: event => {
781
+ }, key: configControl.name }, index.h("div", { key: '57de6641291894b0e507e90987ea94a9103c25ca', class: { 'config-gradient-left': true, 'visible': this.needsScrolling } }), index.h("kritzel-tooltip", { key: '182317753d162abe9c804a4757ed19505bb3b487', ref: el => (this.tooltipRef = el), isVisible: this.isTooltipVisible, anchorElement: this.host.shadowRoot?.querySelector('.kritzel-config-container'), onTooltipClosed: () => this.handleTooltipClosed() }, index.h("kritzel-tool-config", { key: '13ecc34147d44b2bb12eb0008eec179db55f5840', tool: this.activeControl.tool, theme: this.theme, onToolChange: event => this.handleToolChange?.(event), onDisplayValuesChange: this.handleDisplayValuesChange, style: { width: '100%', height: '100%' } })), index.h("div", { key: 'bc4053cf9feb69c2962fe5a86cd7cf811b03e971', tabIndex: hasConfigUI ? 0 : -1, class: "kritzel-config", onClick: event => this.handleConfigClick?.(event), onKeyDown: event => {
780
782
  if (event.key === 'Enter') {
781
783
  this.handleConfigClick?.(event);
782
784
  }
@@ -19170,10 +19172,10 @@ class KritzelViewport {
19170
19172
  handleWheel(event) {
19171
19173
  // Cancel any ongoing viewport animation when user scrolls
19172
19174
  this.cancelViewportAnimation();
19173
- if (event.ctrlKey === true && Math.abs(event.deltaY) > 0 && Math.abs(event.deltaX) === 0) {
19175
+ if (event.ctrlKey) {
19174
19176
  this.handleZoom(event);
19175
19177
  }
19176
- if (!event.ctrlKey) {
19178
+ else {
19177
19179
  this.handlePan(event);
19178
19180
  }
19179
19181
  }
@@ -19212,6 +19214,10 @@ class KritzelViewport {
19212
19214
  this._core.store.state.scale = newScale;
19213
19215
  this._core.store.state.translateX = this._core.store.state.translateX - translateXAdjustment;
19214
19216
  this._core.store.state.translateY = this._core.store.state.translateY - translateYAdjustment;
19217
+ // Apply horizontal pan from trackpad pinch+drag gestures
19218
+ if (event.deltaX !== 0) {
19219
+ this._core.store.state.translateX -= event.deltaX * 0.8;
19220
+ }
19215
19221
  this._core.store.state.hasViewportChanged = true;
19216
19222
  this._core.rerender();
19217
19223
  this._debounceUpdate();
@@ -22420,13 +22426,23 @@ const KritzelEngine = class {
22420
22426
  return (index.h(index.Host, { key: '26d2ef50f28fb809d046b60dff6e977dec53fc8c' }, this.core.store.state.debugInfo.showViewportInfo && (index.h("div", { key: 'bbacc63967672c6934d1c90913139f1f96e532cb', class: "debug-panel" }, index.h("div", { key: '59d46ef1a1a8dffe7b1bd97b0df3c77fdd095d97' }, "ActiveWorkspaceId: ", this.core.store.state?.activeWorkspace?.id), index.h("div", { key: 'd6bc9b3c6076540ccfec4fd2ef3b3e2edf08d524' }, "ActiveWorkspaceName: ", this.core.store.state?.activeWorkspace?.name), index.h("div", { key: '12e229d893933a01bbfdd038e1bd14eee198b34e' }, "TranslateX: ", this.core.store.state?.translateX), index.h("div", { key: '9caf69c342d545a478bb4945aa7b2c37ea77561f' }, "TranslateY: ", this.core.store.state?.translateY), index.h("div", { key: '123f6b17777475f4de32872b940abd3b7ffe6d78' }, "ViewportWidth: ", this.core.store.state?.viewportWidth), index.h("div", { key: '463c70e208dad8572317bbde0df0f4b149674a7d' }, "ViewportHeight: ", this.core.store.state?.viewportHeight), index.h("div", { key: '82deb6d97ae66c86431b32582114f81bcd83e5ae' }, "PointerCount: ", this.core.store.state.pointers.size), index.h("div", { key: 'be32ffe65da2fc92f556ac037afa5b50c27cedd2' }, "Scale: ", this.core.store.state?.scale), index.h("div", { key: '53029e75a8972f670ef0fa427549415fd8be7986' }, "ActiveTool: ", this.core.store.state?.activeTool?.name), index.h("div", { key: '27517882d278f0df7df59858a9219d356e5bbd8d' }, "HasViewportChanged: ", this.core.store.state?.hasViewportChanged ? 'true' : 'false'), index.h("div", { key: '616611f9ad570741c9be3eabd0c78dc978c16c4f' }, "IsEnabled: ", this.core.store.state?.isEnabled ? 'true' : 'false'), index.h("div", { key: '318a17d0b0d7eb2a58233c76063cc72e87782f1b' }, "IsScaling: ", this.core.store.state?.isScaling ? 'true' : 'false'), index.h("div", { key: '45c92f5cc524338b5c0cab5f5123faf0296e7484' }, "IsPanning: ", this.core.store.state?.isPanning ? 'true' : 'false'), index.h("div", { key: '4b295ddaf8eb9e49547430c839a9ba50daacd42e' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), index.h("div", { key: 'eef9039260d0f1ffa23102aee0f18ebd90111738' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), index.h("div", { key: '1a22a4a93ddab249532fe40640f1fa7bbb485d76' }, "IsResizeHandleSelected: ", this.core.store.state.isResizeHandleSelected ? 'true' : 'false'), index.h("div", { key: '094daef63fffab66051e1c65392baac58d8f3eca' }, "IsRotationHandleSelected: ", this.core.store.state.isRotationHandleSelected ? 'true' : 'false'), index.h("div", { key: 'dae17ba3dec0ededdfb873eda4081fb51cea0c52' }, "IsRotationHandleHovered: ", this.core.store.state.isRotationHandleHovered ? 'true' : 'false'), index.h("div", { key: '11b4c3fb7fef201e6a98a58f586e1c717f255af4' }, "IsDrawing: ", this.core.store.state.isDrawing ? 'true' : 'false'), index.h("div", { key: 'ac7b98f441747b90f047069b9e7eac2ac5194eec' }, "IsWriting: ", this.core.store.state.isWriting ? 'true' : 'false'), index.h("div", { key: 'eb2285428d88835319c68ff26cb99e1e631cba82' }, "IsPointerDown: ", this.core.store.isPointerDown ? 'true' : 'false'), index.h("div", { key: 'd32cb23e569a84b16a50b98d2e3d778c6462c88c' }, "PointerX: ", this.core.store.state?.pointerX), index.h("div", { key: '0b4fafde05bb83d4046b103015a4f008c5b268d8' }, "PointerY: ", this.core.store.state?.pointerY), index.h("div", { key: '0083eb1e81cd1d0552e0fa2d6cca147e14e0bd86' }, "SelectedObjects: ", this.core.store.selectionGroup?.objects.length || 0), index.h("div", { key: '232f452fd89d22db9e4aaf8e6d3b672f934422a5' }, "ViewportCenter: (", viewportCenterX.toFixed(2), ", ", viewportCenterY.toFixed(2), ")"))), index.h("div", { key: '66a0d3a6ac62153acf6ed1b7c57b3ae77daa3c5e', id: "origin", class: "origin", style: {
22421
22427
  transform: `matrix(${this.core.store.state?.scale}, 0, 0, ${this.core.store.state?.scale}, ${this.core.store.state?.translateX}, ${this.core.store.state?.translateY})`,
22422
22428
  } }, visibleObjects?.map(object => {
22423
- return (index.h("div", { key: object.id, style: {
22429
+ return (index.h("div", { key: object.id, id: object.id, class: "object", style: {
22424
22430
  transform: object?.transformationMatrix,
22425
22431
  transformOrigin: 'top left',
22426
22432
  position: 'absolute',
22427
- pointerEvents: this.core.store.state.isScaling ? 'none' : 'auto',
22428
- } }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", id: object.id, class: "object", style: {
22429
22433
  zIndex: object.zIndex.toString(),
22434
+ pointerEvents: this.core.store.state.isScaling ? 'none' : 'auto',
22435
+ } }, defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelPath') && (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", style: {
22436
+ height: object?.totalHeight + 'px',
22437
+ width: object?.totalWidth + 'px',
22438
+ left: '0',
22439
+ top: '0',
22440
+ position: 'absolute',
22441
+ transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
22442
+ transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22443
+ opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22444
+ pointerEvents: object.markedForRemoval ? 'none' : 'auto',
22445
+ } }, index.h("svg", { ref: el => object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: { overflow: 'visible' }, viewBox: object?.viewBox }, index.h("path", { d: object?.d, fill: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.fill, currentTheme), stroke: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object?.stroke, currentTheme), "shape-rendering": object.isLowRes() ? 'optimizeSpeed' : 'auto' })))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelLine') && (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", style: {
22430
22446
  height: object?.totalHeight + 'px',
22431
22447
  width: object?.totalWidth + 'px',
22432
22448
  left: '0',
@@ -22436,25 +22452,91 @@ const KritzelEngine = class {
22436
22452
  transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22437
22453
  opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22438
22454
  pointerEvents: object.markedForRemoval ? 'none' : 'auto',
22439
- } }, defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelPath') && (index.h("svg", { ref: el => object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: { overflow: 'visible' }, viewBox: object?.viewBox }, index.h("path", { d: object?.d, fill: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.fill, currentTheme), stroke: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object?.stroke, currentTheme), "shape-rendering": object.isLowRes() ? 'optimizeSpeed' : 'auto' }))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelLine') && (index.h("svg", { ref: el => object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: { overflow: 'visible' }, viewBox: object?.viewBox }, index.h("defs", null, object.hasStartArrow && (index.h("marker", { id: object.startMarkerId, markerWidth: object.getArrowSize('start'), markerHeight: object.getArrowSize('start'), refX: 0, refY: object.getArrowSize('start') / 2, orient: "auto-start-reverse", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.start?.style), fill: object.getArrowFill('start'), transform: `scale(${object.getArrowSize('start') / 10})` }))), object.hasEndArrow && (index.h("marker", { id: object.endMarkerId, markerWidth: object.getArrowSize('end'), markerHeight: object.getArrowSize('end'), refX: 0, refY: object.getArrowSize('end') / 2, orient: "auto", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.end?.style), fill: object.getArrowFill('end'), transform: `scale(${object.getArrowSize('end') / 10})` })))), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: "transparent", "stroke-width": Math.max(object?.strokeWidth || 0, 10), "stroke-linecap": "round" }), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object?.stroke, currentTheme), "stroke-width": object?.strokeWidth, "stroke-linecap": "round", "marker-start": object.hasStartArrow ? `url(#${object.startMarkerId})` : undefined, "marker-end": object.hasEndArrow ? `url(#${object.endMarkerId})` : undefined }))), index.h("foreignObject", { x: "0", y: "0", width: object.totalWidth.toString(), height: object.totalHeight.toString(), style: {
22440
- minHeight: '0',
22441
- minWidth: '0',
22455
+ } }, index.h("svg", { ref: el => object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: { overflow: 'visible' }, viewBox: object?.viewBox }, (object.hasStartArrow || object.hasEndArrow) && (index.h("defs", null, object.hasStartArrow && (index.h("marker", { id: object.startMarkerId, markerWidth: object.getArrowSize('start'), markerHeight: object.getArrowSize('start'), refX: 0, refY: object.getArrowSize('start') / 2, orient: "auto-start-reverse", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.start?.style), fill: object.getArrowFill('start'), transform: `scale(${object.getArrowSize('start') / 10})` }))), object.hasEndArrow && (index.h("marker", { id: object.endMarkerId, markerWidth: object.getArrowSize('end'), markerHeight: object.getArrowSize('end'), refX: 0, refY: object.getArrowSize('end') / 2, orient: "auto", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.end?.style), fill: object.getArrowFill('end'), transform: `scale(${object.getArrowSize('end') / 10})` }))))), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: "transparent", "stroke-width": Math.max(object?.strokeWidth || 0, 10), "stroke-linecap": "round" }), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object?.stroke, currentTheme), "stroke-width": object?.strokeWidth, "stroke-linecap": "round", "marker-start": object.hasStartArrow ? `url(#${object.startMarkerId})` : undefined, "marker-end": object.hasEndArrow ? `url(#${object.endMarkerId})` : undefined })))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && (index.h("div", { style: {
22456
+ position: 'absolute',
22457
+ left: '0',
22458
+ top: '0',
22459
+ width: object.totalWidth + 'px',
22460
+ height: object.totalHeight + 'px',
22461
+ transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
22462
+ transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22463
+ opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22464
+ pointerEvents: object.markedForRemoval ? 'none' : 'auto',
22442
22465
  backgroundColor: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme),
22443
22466
  borderColor: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.borderColor, currentTheme),
22444
22467
  borderWidth: object.borderWidth + 'px',
22445
22468
  borderStyle: 'solid',
22446
22469
  padding: object.padding + 'px',
22447
22470
  overflow: 'visible',
22448
- display: defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelLine') || defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelPath')
22449
- ? 'none'
22450
- : 'block',
22451
- } }, defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && (index.h("img", { ref: el => object.mount(el), src: object.src, style: {
22471
+ } }, index.h("img", { ref: el => object.mount(el), src: object.src, style: {
22452
22472
  width: '100%',
22453
22473
  height: '100%',
22454
22474
  userSelect: 'none',
22455
22475
  pointerEvents: 'none',
22456
22476
  imageRendering: this.core.store.state.isScaling || this.core.store.state.isPanning ? 'pixelated' : 'auto',
22457
- }, draggable: false, onDragStart: e => e.preventDefault() })), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelText') && (index.h("div", { id: "text-object", ref: el => object.mount(el), onPointerDown: e => object.handlePointerDown(e), onPointerMove: e => object.handlePointerMove(e), onPointerUp: e => object.handlePointerUp(e), style: {
22477
+ }, draggable: false, onDragStart: e => e.preventDefault() }))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (index.h("div", { style: {
22478
+ position: 'absolute',
22479
+ left: '0',
22480
+ top: '0',
22481
+ width: object.totalWidth + 'px',
22482
+ height: object.totalHeight + 'px',
22483
+ transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
22484
+ transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22485
+ opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22486
+ pointerEvents: object.markedForRemoval ? 'none' : 'auto',
22487
+ backgroundColor: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme),
22488
+ borderColor: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.borderColor, currentTheme),
22489
+ borderWidth: object.borderWidth + 'px',
22490
+ borderStyle: 'solid',
22491
+ padding: object.padding + 'px',
22492
+ overflow: 'visible',
22493
+ } }, index.h("div", { ref: el => object.mount(el), style: {
22494
+ width: '100%',
22495
+ height: '100%',
22496
+ pointerEvents: 'auto',
22497
+ overflow: 'hidden',
22498
+ display: 'block',
22499
+ } }))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionGroup') && !this.core.displaySelectionLineUI(object) && (index.h("div", { style: {
22500
+ position: 'absolute',
22501
+ left: '0',
22502
+ top: '0',
22503
+ width: object.totalWidth + 'px',
22504
+ height: object.totalHeight + 'px',
22505
+ transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
22506
+ transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22507
+ opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22508
+ pointerEvents: object.markedForRemoval ? 'none' : 'auto',
22509
+ } }, index.h("div", { ref: el => object.mount(el), style: {
22510
+ width: '100%',
22511
+ height: '100%',
22512
+ } }))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionBox') && (index.h("div", { style: {
22513
+ position: 'absolute',
22514
+ left: '0',
22515
+ top: '0',
22516
+ width: object.totalWidth + 'px',
22517
+ height: object.totalHeight + 'px',
22518
+ transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
22519
+ transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22520
+ opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22521
+ pointerEvents: object.markedForRemoval ? 'none' : 'auto',
22522
+ backgroundColor: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme),
22523
+ borderColor: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.borderColor, currentTheme),
22524
+ borderWidth: object.borderWidth + 'px',
22525
+ borderStyle: 'solid',
22526
+ } }, index.h("div", { ref: el => object.mount(el), style: {
22527
+ width: '100%',
22528
+ height: '100%',
22529
+ } }))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelText') && (index.h("div", { style: {
22530
+ position: 'absolute',
22531
+ left: '0',
22532
+ top: '0',
22533
+ width: object.totalWidth + 'px',
22534
+ height: object.totalHeight + 'px',
22535
+ transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
22536
+ transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22537
+ opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22538
+ pointerEvents: object.markedForRemoval ? 'none' : 'auto',
22539
+ } }, index.h("div", { id: "text-object", ref: el => object.mount(el), onPointerDown: e => object.handlePointerDown(e), onPointerMove: e => object.handlePointerMove(e), onPointerUp: e => object.handlePointerUp(e), style: {
22458
22540
  minWidth: object.initialWidth + 'px',
22459
22541
  minHeight: object.initialHeight + 'px',
22460
22542
  maxWidth: '500px',
@@ -22465,7 +22547,17 @@ const KritzelEngine = class {
22465
22547
  backgroundColor: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme),
22466
22548
  overflow: 'visible',
22467
22549
  textRendering: this.core.store.state.isScaling || this.core.store.state.isPanning ? 'optimizeSpeed' : 'auto',
22468
- } })), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelShape') && (index.h("div", { ref: el => object.mount(el), onPointerDown: e => object.handlePointerDown(e), onPointerMove: e => object.handlePointerMove(e), onPointerUp: e => object.handlePointerUp(e), style: {
22550
+ } }))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelShape') && (index.h("div", { style: {
22551
+ position: 'absolute',
22552
+ left: '0',
22553
+ top: '0',
22554
+ width: object.totalWidth + 'px',
22555
+ height: object.totalHeight + 'px',
22556
+ transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
22557
+ transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22558
+ opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22559
+ pointerEvents: object.markedForRemoval ? 'none' : 'auto',
22560
+ } }, index.h("div", { ref: el => object.mount(el), onPointerDown: e => object.handlePointerDown(e), onPointerMove: e => object.handlePointerMove(e), onPointerUp: e => object.handlePointerUp(e), style: {
22469
22561
  width: '100%',
22470
22562
  height: '100%',
22471
22563
  position: 'relative',
@@ -22490,29 +22582,13 @@ const KritzelEngine = class {
22490
22582
  textAlign: 'center',
22491
22583
  overflow: 'hidden',
22492
22584
  pointerEvents: object.isEditing ? 'auto' : 'none',
22493
- } }))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (index.h("div", { ref: el => object.mount(el), style: {
22494
- width: '100%',
22495
- height: '100%',
22496
- pointerEvents: 'auto',
22497
- overflow: 'hidden',
22498
- display: 'block',
22499
- } })), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionGroup') && !this.core.displaySelectionLineUI(object) && (index.h("div", { ref: el => object.mount(el), style: {
22500
- width: '100%',
22501
- height: '100%',
22502
- } })), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionBox') && (index.h("div", { ref: el => object.mount(el), style: {
22503
- width: '100%',
22504
- height: '100%',
22505
- backgroundColor: defaultLineTool_config.KritzelDevicesHelper.isFirefox() ? defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme) : 'transparent',
22506
- borderWidth: defaultLineTool_config.KritzelDevicesHelper.isFirefox() ? object.borderWidth + 'px' : '0',
22507
- borderStyle: defaultLineTool_config.KritzelDevicesHelper.isFirefox() ? 'solid' : 'none',
22508
- borderColor: defaultLineTool_config.KritzelDevicesHelper.isFirefox() ? defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.borderColor, currentTheme) : 'transparent',
22509
22585
  } })))), this.core.store.state.debugInfo.showObjectInfo && object.isDebugInfoVisible && (index.h("div", { style: {
22510
22586
  pointerEvents: 'none',
22511
22587
  position: 'absolute',
22512
22588
  left: `${object.totalWidth}px`,
22513
22589
  top: '0',
22514
22590
  zIndex: (object.zIndex + 2).toString(),
22515
- } }, index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "Id: ", object.id), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "width: ", object.width), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "height: ", object.height), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "translateX: ", object.translateX), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "translateY: ", object.translateY), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "rotationDegrees: ", object.rotationDegrees), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "zIndex: ", object.zIndex))), index.h("svg", { xmlns: "http://www.w3.org/2000/svg", style: {
22591
+ } }, index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "Id: ", object.id), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "width: ", object.width), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "height: ", object.height), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "translateX: ", object.translateX), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "translateY: ", object.translateY), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "rotationDegrees: ", object.rotationDegrees), index.h("div", { style: { whiteSpace: 'nowrap', fontSize: '10px' } }, "zIndex: ", object.zIndex))), (this.core.displaySelectionGroupUI(object) || this.core.displaySelectionLineUI(object)) && (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", style: {
22516
22592
  zIndex: (object.zIndex + 1).toString(),
22517
22593
  height: object?.totalHeight.toString(),
22518
22594
  width: object?.totalWidth.toString(),
@@ -22619,7 +22695,7 @@ const KritzelEngine = class {
22619
22695
  } }), index.h("circle", { class: "selection-line-handle-overlay end", cx: object.endX - object.x, cy: object.endY - object.y, r: `${(baseHandleTouchSize * object.scale) / this.core.store.state?.scale}`, style: {
22620
22696
  fill: 'transparent',
22621
22697
  paintOrder: 'fill',
22622
- } }))))))));
22698
+ } })))))))));
22623
22699
  }), (() => {
22624
22700
  const data = this.core.anchorManager.getAnchorLinesRenderData();
22625
22701
  if (!data)
@@ -22693,7 +22769,7 @@ const KritzelEngine = class {
22693
22769
  stroke: 'var(--kritzel-snap-indicator-stroke, #007bff)',
22694
22770
  strokeWidth: data.indicatorStrokeWidth,
22695
22771
  } }))));
22696
- })()), this.core.store.state.isContextMenuVisible && (index.h("kritzel-context-menu", { key: '1e1cd8f60b4621c2045c863965f00808fb6945cc', class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.core.store.state.contextMenuItems, objects: this.core.store.selectionGroup?.objects || [], style: {
22772
+ })()), this.core.store.state.isContextMenuVisible && (index.h("kritzel-context-menu", { key: 'b9171dfffeb4a88bc4ad9a7b0196a18f5427183f', class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.core.store.state.contextMenuItems, objects: this.core.store.selectionGroup?.objects || [], style: {
22697
22773
  position: 'fixed',
22698
22774
  left: `${this.core.store.state.contextMenuX}px`,
22699
22775
  top: `${this.core.store.state.contextMenuY}px`,
@@ -22704,7 +22780,7 @@ const KritzelEngine = class {
22704
22780
  y: (-this.core.store.state.translateY + this.core.store.state.contextMenuY) / this.core.store.state.scale,
22705
22781
  }, this.core.store.selectionGroup?.objects);
22706
22782
  this.hideContextMenu();
22707
- }, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof defaultLineTool_config.KritzelEraserTool && !this.core.store.state.isScaling && index.h("kritzel-cursor-trail", { key: 'f76c7695d997e395cc588760515d730d88947401', core: this.core })));
22783
+ }, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof defaultLineTool_config.KritzelEraserTool && !this.core.store.state.isScaling && index.h("kritzel-cursor-trail", { key: 'd3ce01397575891a78449128020a212345332d06', core: this.core })));
22708
22784
  }
22709
22785
  static get watchers() { return {
22710
22786
  "workspace": [{
@@ -23297,14 +23373,13 @@ const KritzelMoreMenu = class {
23297
23373
  */
23298
23374
  itemSelect;
23299
23375
  menuAnchor = null;
23300
- buttonRef;
23301
23376
  toggleMenu = (event) => {
23302
23377
  event.stopPropagation();
23303
23378
  if (this.menuAnchor) {
23304
23379
  this.closeMenu();
23305
23380
  }
23306
23381
  else {
23307
- this.menuAnchor = this.buttonRef;
23382
+ this.menuAnchor = this.host;
23308
23383
  }
23309
23384
  };
23310
23385
  closeMenu = () => {
@@ -23319,7 +23394,7 @@ const KritzelMoreMenu = class {
23319
23394
  this.closeMenu();
23320
23395
  };
23321
23396
  render() {
23322
- return (index.h(index.Host, { key: '461bb5cc1a4806529bb7eef05e69c40b69e746b0' }, index.h("button", { key: 'a61d549f859adedc92425fbcb5082ab827238dc1', ref: el => (this.buttonRef = el), class: "more-menu-button", onClick: this.toggleMenu }, index.h("kritzel-icon", { key: 'e57df2f59bcf988d363ed0c14ab634cc1cd766ca', name: this.icon, size: this.iconSize })), index.h("kritzel-portal", { key: '6dc78dc95ae139ce48489c7cf7429d66812b4c2b', anchor: this.menuAnchor, offsetY: this.offsetY, onClose: this.closeMenu }, index.h("kritzel-menu", { key: 'de0f7d5e50f69083b7214d9d6efcd72efc4a6562', items: this.items, onItemSelect: this.handleMenuItemSelect }))));
23397
+ return (index.h(index.Host, { key: 'f0abb11c73dbfe1667871c56324eb51e1467ba4f' }, index.h("button", { key: 'a4f6962edb04886743644c2a46cbbe5757a063a0', class: "more-menu-button", onClick: this.toggleMenu }, index.h("kritzel-icon", { key: '72ed48828a9612de3c33d0452dea4f44f452a5a1', name: this.icon, size: this.iconSize })), index.h("kritzel-portal", { key: 'cb43b77e4f867b535410380afa29fe1135cab405', anchor: this.menuAnchor, offsetY: this.offsetY, onClose: this.closeMenu }, index.h("kritzel-menu", { key: '3555d2e7b263a5dc649a679da9bcc9a027f3648e', items: this.items, onItemSelect: this.handleMenuItemSelect }))));
23323
23398
  }
23324
23399
  };
23325
23400
  KritzelMoreMenu.style = kritzelMoreMenuCss();
@@ -23716,7 +23791,7 @@ const KritzelPortal = class {
23716
23791
  * This file is auto-generated by the version bump scripts.
23717
23792
  * Do not modify manually.
23718
23793
  */
23719
- const KRITZEL_VERSION = '0.1.19';
23794
+ const KRITZEL_VERSION = '0.1.21';
23720
23795
 
23721
23796
  const kritzelSettingsCss = () => `:host{display:contents}kritzel-dialog{--kritzel-dialog-body-padding:0;--kritzel-dialog-width-large:800px;--kritzel-dialog-height-large:500px}.footer-button{padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px}.cancel-button{border:1px solid #ebebeb;background:#fff;color:inherit}.cancel-button:hover{background:#f5f5f5}.settings-content{padding:0}.settings-content h3{margin:0 0 16px 0;font-size:18px;font-weight:600;color:var(--kritzel-settings-content-heading-color, #333333)}.settings-content p{margin:0;font-size:14px;color:var(--kritzel-settings-content-text-color, #666666);line-height:1.5}.settings-group{display:flex;flex-direction:column;gap:24px}.settings-item{display:flex;flex-direction:column;gap:8px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-label{font-size:14px;font-weight:500;color:var(--kritzel-settings-label-color, #333333);margin:0}.settings-description{font-size:12px;color:var(--kritzel-settings-description-color, #888888);margin:0;line-height:1.4}`;
23722
23797
 
@@ -24232,6 +24307,17 @@ const KritzelTooltip = class {
24232
24307
  this.tooltipClosed.emit();
24233
24308
  }
24234
24309
  }
24310
+ handleOutsidePointerDown(event) {
24311
+ if (!this.isVisible)
24312
+ return;
24313
+ const path = event.composedPath();
24314
+ const isInsideTooltip = path.some(el => el === this.host);
24315
+ if (!isInsideTooltip) {
24316
+ event.stopPropagation();
24317
+ event.preventDefault();
24318
+ this.tooltipClosed.emit();
24319
+ }
24320
+ }
24235
24321
  handleWindowResize() {
24236
24322
  this.calculateAdjustedPosition();
24237
24323
  }
@@ -24278,14 +24364,14 @@ const KritzelTooltip = class {
24278
24364
  }
24279
24365
  }
24280
24366
  render() {
24281
- return (index.h(index.Host, { key: 'de8f3f78ac1b73eecfb373a3234278835efc64db', style: {
24367
+ return (index.h(index.Host, { key: 'd23199ba12acd84fe7fb7a3e133a6605b175bcec', style: {
24282
24368
  position: 'fixed',
24283
24369
  zIndex: '9999',
24284
24370
  transition: 'opacity 0.3s ease-in-out, transform 0.3s ease-in-out',
24285
24371
  visibility: this.isVisible ? 'visible' : 'hidden',
24286
24372
  left: `${this.positionX}px`,
24287
24373
  bottom: `${this.positionY}px`,
24288
- } }, index.h("div", { key: 'bb3e9eb13abb987f19f39741564af72f1e3c9086', class: "tooltip-content", onClick: event => event.stopPropagation(), onPointerDown: event => event.stopPropagation(), onMouseDown: event => event.stopPropagation() }, index.h("slot", { key: '28f0e5e18dde3d285e86ca0af6415f83b90cc10b' }))));
24374
+ } }, index.h("div", { key: '030ca8a36358b78ba726f7406e76cea16a4e75e9', class: "tooltip-content", onClick: event => event.stopPropagation(), onPointerDown: event => event.stopPropagation(), onMouseDown: event => event.stopPropagation() }, index.h("slot", { key: '148ed867ee7962487d38f82e6d37b8599a7158af' }))));
24289
24375
  }
24290
24376
  };
24291
24377
  KritzelTooltip.style = kritzelTooltipCss();
@@ -6,7 +6,7 @@ var appGlobals = require('./app-globals-V2Kpy_OQ.js');
6
6
  const defineCustomElements = async (win, options) => {
7
7
  if (typeof window === 'undefined') return undefined;
8
8
  await appGlobals.globalScripts();
9
- return index.bootstrapLazy([["kritzel-back-to-content_32.cjs",[[512,"kritzel-editor",{"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"lockDrawingScale":[1028,"lock-drawing-scale"],"controls":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"customSvgIcons":[16],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"syncConfig":[16],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"undoState":[32],"isBackToContentButtonVisible":[32],"currentTheme":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"backToContent":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","onTouchStart"]],{"isEngineReady":[{"onIsEngineReady":0}],"isControlsReady":[{"onIsControlsReady":0}],"workspaces":[{"onWorkspacesChange":0}],"currentTheme":[{"onCurrentThemeChange":0}]}],[513,"kritzel-controls",{"controls":[16],"activeControl":[1040],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"undoState":[16],"theme":[1],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"selectedSubOptions":[32],"openSubMenuControl":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"],[4,"objectsSelectionChange","handleSelectionChange"]],{"theme":[{"onThemeChange":0}]}],[513,"kritzel-settings",{"isDialogOpen":[32],"selectedCategoryId":[32],"scaleMin":[32],"scaleMax":[32],"lockDrawingScale":[32],"currentTheme":[32],"open":[64]}],[513,"kritzel-workspace-manager",{"activeWorkspace":[1040],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[513,"kritzel-more-menu",{"items":[16],"icon":[1],"iconSize":[2,"icon-size"],"offsetY":[2,"offset-y"],"menuAnchor":[32]}],[513,"kritzel-engine",{"workspace":[16],"syncConfig":[16],"activeTool":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"cursorTarget":[16],"lockDrawingScale":[4,"lock-drawing-scale"],"theme":[1],"forceUpdate":[32],"triggerSelectionChange":[64],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"group":[64],"ungroup":[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],"backToContent":[64],"getCopiedObjects":[64],"getScreenshot":[64],"exportViewportAsPng":[64],"exportViewportAsSvg":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[1,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[1,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"],[4,"dblclick","preventDoubleTapZoomOnTouchDevices"]],{"workspace":[{"onWorkspaceChange":0}],"scaleMax":[{"validateScaleMax":0}],"scaleMin":[{"validateScaleMin":0}],"cursorTarget":[{"onCursorTargetChange":0}],"lockDrawingScale":[{"onLockDrawingScaleChange":0}],"theme":[{"onThemeChange":0}]}],[513,"kritzel-export",{"isDialogOpen":[32],"previewUrl":[32],"isLoading":[32],"open":[64]}],[513,"kritzel-back-to-content",{"visible":[4],"text":[1]}],[513,"kritzel-tool-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"theme":[1],"config":[32],"palette":[32],"currentOpacity":[32],"updateTrigger":[32]},[[4,"objectsSelectionChange","handleSelectionChange"]],{"tool":[{"handleToolChange":0}],"theme":[{"onThemeChange":0}]}],[513,"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],"menuScrollTop":[32],"open":[64],"focusMenu":[64]}],[513,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":[{"onItemsChanged":0}]}],[769,"kritzel-master-detail",{"items":[16],"selectedItemId":[1,"selected-item-id"],"focusedIndex":[32],"showMobileDetail":[32]},null,{"selectedItemId":[{"watchSelectedItemId":0}]}],[513,"kritzel-utility-panel",{"undoState":[16]}],[513,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[513,"kritzel-numeric-input",{"value":[1026],"min":[2],"max":[2],"step":[2],"label":[1],"inputValue":[32]},null,{"value":[{"onValueChange":0}]}],[513,"kritzel-slide-toggle",{"checked":[1028],"disabled":[4],"label":[1]}],[769,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16],"offsetY":[2,"offset-y"],"positionX":[32],"positionY":[32],"focusContent":[64]},[[4,"click","handleOutsideClick"],[9,"resize","handleWindowResize"]]],[513,"kritzel-color-palette",{"colors":[16],"selectedColor":[1040],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"],"opacity":[2],"theme":[1]}],[513,"kritzel-font-family",{"fontOptions":[16],"selectedFontFamily":[1025,"selected-font-family"]}],[513,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[513,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[769,"kritzel-dialog",{"isOpen":[516,"is-open"],"dialogTitle":[1,"dialog-title"],"closable":[4],"closeOnBackdrop":[4,"close-on-backdrop"],"closeOnEscape":[4,"close-on-escape"],"autoFocus":[4,"auto-focus"],"trapFocus":[4,"trap-focus"],"size":[1],"fullscreenOnMobile":[4,"fullscreen-on-mobile"],"isAnimating":[32],"open":[64],"close":[64],"focusFirstElement":[64]},[[8,"keydown","handleKeyDown"]],{"isOpen":[{"handleIsOpenChange":0}]}],[513,"kritzel-line-endings",{"styles":[16],"value":[1040]}],[513,"kritzel-opacity-slider",{"value":[1026],"min":[2],"max":[2],"step":[2],"previewColor":[1,"preview-color"]}],[513,"kritzel-shape-fill",{"value":[1025]}],[513,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[513,"kritzel-color",{"value":[1],"theme":[1],"size":[2]}],[769,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[16],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32],"isOpen":[32],"focusedIndex":[32],"openDirection":[32]},[[4,"click","handleDocumentClick"],[4,"keydown","handleDocumentKeydown"]],{"options":[{"optionsChanged":0}],"value":[{"externalValueChanged":0}]}],[513,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setScrollTop":[64],"setFocus":[64]}],[513,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":[{"onItemChange":0}]}],[769,"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"],[11,"scroll","handleWindowScroll"]],{"anchor":[{"anchorChanged":0}]}],[513,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["kritzel-brush-style.cjs",[[513,"kritzel-brush-style",{"type":[1],"brushOptions":[16]}]]]], options);
9
+ return index.bootstrapLazy([["kritzel-back-to-content_32.cjs",[[512,"kritzel-editor",{"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"lockDrawingScale":[1028,"lock-drawing-scale"],"controls":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"customSvgIcons":[16],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"syncConfig":[16],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"undoState":[32],"isBackToContentButtonVisible":[32],"currentTheme":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"backToContent":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","onTouchStart"]],{"isEngineReady":[{"onIsEngineReady":0}],"isControlsReady":[{"onIsControlsReady":0}],"workspaces":[{"onWorkspacesChange":0}],"currentTheme":[{"onCurrentThemeChange":0}]}],[513,"kritzel-controls",{"controls":[16],"activeControl":[1040],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"undoState":[16],"theme":[1],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"selectedSubOptions":[32],"openSubMenuControl":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"],[4,"objectsSelectionChange","handleSelectionChange"]],{"theme":[{"onThemeChange":0}]}],[513,"kritzel-settings",{"isDialogOpen":[32],"selectedCategoryId":[32],"scaleMin":[32],"scaleMax":[32],"lockDrawingScale":[32],"currentTheme":[32],"open":[64]}],[513,"kritzel-workspace-manager",{"activeWorkspace":[1040],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[513,"kritzel-more-menu",{"items":[16],"icon":[1],"iconSize":[2,"icon-size"],"offsetY":[2,"offset-y"],"menuAnchor":[32]}],[513,"kritzel-engine",{"workspace":[16],"syncConfig":[16],"activeTool":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"cursorTarget":[16],"lockDrawingScale":[4,"lock-drawing-scale"],"theme":[1],"forceUpdate":[32],"triggerSelectionChange":[64],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"group":[64],"ungroup":[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],"backToContent":[64],"getCopiedObjects":[64],"getScreenshot":[64],"exportViewportAsPng":[64],"exportViewportAsSvg":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[1,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[1,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"],[4,"dblclick","preventDoubleTapZoomOnTouchDevices"]],{"workspace":[{"onWorkspaceChange":0}],"scaleMax":[{"validateScaleMax":0}],"scaleMin":[{"validateScaleMin":0}],"cursorTarget":[{"onCursorTargetChange":0}],"lockDrawingScale":[{"onLockDrawingScaleChange":0}],"theme":[{"onThemeChange":0}]}],[513,"kritzel-export",{"isDialogOpen":[32],"previewUrl":[32],"isLoading":[32],"open":[64]}],[513,"kritzel-back-to-content",{"visible":[4],"text":[1]}],[513,"kritzel-tool-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"theme":[1],"config":[32],"palette":[32],"currentOpacity":[32],"updateTrigger":[32]},[[4,"objectsSelectionChange","handleSelectionChange"]],{"tool":[{"handleToolChange":0}],"theme":[{"onThemeChange":0}]}],[513,"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],"menuScrollTop":[32],"open":[64],"focusMenu":[64]}],[513,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":[{"onItemsChanged":0}]}],[769,"kritzel-master-detail",{"items":[16],"selectedItemId":[1,"selected-item-id"],"focusedIndex":[32],"showMobileDetail":[32]},null,{"selectedItemId":[{"watchSelectedItemId":0}]}],[513,"kritzel-utility-panel",{"undoState":[16]}],[513,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[513,"kritzel-numeric-input",{"value":[1026],"min":[2],"max":[2],"step":[2],"label":[1],"inputValue":[32]},null,{"value":[{"onValueChange":0}]}],[513,"kritzel-slide-toggle",{"checked":[1028],"disabled":[4],"label":[1]}],[769,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16],"offsetY":[2,"offset-y"],"positionX":[32],"positionY":[32],"focusContent":[64]},[[4,"click","handleOutsideClick"],[7,"pointerdown","handleOutsidePointerDown"],[9,"resize","handleWindowResize"]]],[513,"kritzel-color-palette",{"colors":[16],"selectedColor":[1040],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"],"opacity":[2],"theme":[1]}],[513,"kritzel-font-family",{"fontOptions":[16],"selectedFontFamily":[1025,"selected-font-family"]}],[513,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[513,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[769,"kritzel-dialog",{"isOpen":[516,"is-open"],"dialogTitle":[1,"dialog-title"],"closable":[4],"closeOnBackdrop":[4,"close-on-backdrop"],"closeOnEscape":[4,"close-on-escape"],"autoFocus":[4,"auto-focus"],"trapFocus":[4,"trap-focus"],"size":[1],"fullscreenOnMobile":[4,"fullscreen-on-mobile"],"isAnimating":[32],"open":[64],"close":[64],"focusFirstElement":[64]},[[8,"keydown","handleKeyDown"]],{"isOpen":[{"handleIsOpenChange":0}]}],[513,"kritzel-line-endings",{"styles":[16],"value":[1040]}],[513,"kritzel-opacity-slider",{"value":[1026],"min":[2],"max":[2],"step":[2],"previewColor":[1,"preview-color"]}],[513,"kritzel-shape-fill",{"value":[1025]}],[513,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[513,"kritzel-color",{"value":[1],"theme":[1],"size":[2]}],[769,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[16],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32],"isOpen":[32],"focusedIndex":[32],"openDirection":[32]},[[4,"click","handleDocumentClick"],[4,"keydown","handleDocumentKeydown"]],{"options":[{"optionsChanged":0}],"value":[{"externalValueChanged":0}]}],[513,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setScrollTop":[64],"setFocus":[64]}],[513,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":[{"onItemChange":0}]}],[769,"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"],[11,"scroll","handleWindowScroll"]],{"anchor":[{"anchorChanged":0}]}],[513,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["kritzel-brush-style.cjs",[[513,"kritzel-brush-style",{"type":[1],"brushOptions":[16]}]]]], options);
10
10
  };
11
11
 
12
12
  exports.setNonce = index.setNonce;
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["kritzel-back-to-content_32.cjs",[[512,"kritzel-editor",{"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"lockDrawingScale":[1028,"lock-drawing-scale"],"controls":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"customSvgIcons":[16],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"syncConfig":[16],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"undoState":[32],"isBackToContentButtonVisible":[32],"currentTheme":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"backToContent":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","onTouchStart"]],{"isEngineReady":[{"onIsEngineReady":0}],"isControlsReady":[{"onIsControlsReady":0}],"workspaces":[{"onWorkspacesChange":0}],"currentTheme":[{"onCurrentThemeChange":0}]}],[513,"kritzel-controls",{"controls":[16],"activeControl":[1040],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"undoState":[16],"theme":[1],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"selectedSubOptions":[32],"openSubMenuControl":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"],[4,"objectsSelectionChange","handleSelectionChange"]],{"theme":[{"onThemeChange":0}]}],[513,"kritzel-settings",{"isDialogOpen":[32],"selectedCategoryId":[32],"scaleMin":[32],"scaleMax":[32],"lockDrawingScale":[32],"currentTheme":[32],"open":[64]}],[513,"kritzel-workspace-manager",{"activeWorkspace":[1040],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[513,"kritzel-more-menu",{"items":[16],"icon":[1],"iconSize":[2,"icon-size"],"offsetY":[2,"offset-y"],"menuAnchor":[32]}],[513,"kritzel-engine",{"workspace":[16],"syncConfig":[16],"activeTool":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"cursorTarget":[16],"lockDrawingScale":[4,"lock-drawing-scale"],"theme":[1],"forceUpdate":[32],"triggerSelectionChange":[64],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"group":[64],"ungroup":[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],"backToContent":[64],"getCopiedObjects":[64],"getScreenshot":[64],"exportViewportAsPng":[64],"exportViewportAsSvg":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[1,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[1,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"],[4,"dblclick","preventDoubleTapZoomOnTouchDevices"]],{"workspace":[{"onWorkspaceChange":0}],"scaleMax":[{"validateScaleMax":0}],"scaleMin":[{"validateScaleMin":0}],"cursorTarget":[{"onCursorTargetChange":0}],"lockDrawingScale":[{"onLockDrawingScaleChange":0}],"theme":[{"onThemeChange":0}]}],[513,"kritzel-export",{"isDialogOpen":[32],"previewUrl":[32],"isLoading":[32],"open":[64]}],[513,"kritzel-back-to-content",{"visible":[4],"text":[1]}],[513,"kritzel-tool-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"theme":[1],"config":[32],"palette":[32],"currentOpacity":[32],"updateTrigger":[32]},[[4,"objectsSelectionChange","handleSelectionChange"]],{"tool":[{"handleToolChange":0}],"theme":[{"onThemeChange":0}]}],[513,"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],"menuScrollTop":[32],"open":[64],"focusMenu":[64]}],[513,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":[{"onItemsChanged":0}]}],[769,"kritzel-master-detail",{"items":[16],"selectedItemId":[1,"selected-item-id"],"focusedIndex":[32],"showMobileDetail":[32]},null,{"selectedItemId":[{"watchSelectedItemId":0}]}],[513,"kritzel-utility-panel",{"undoState":[16]}],[513,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[513,"kritzel-numeric-input",{"value":[1026],"min":[2],"max":[2],"step":[2],"label":[1],"inputValue":[32]},null,{"value":[{"onValueChange":0}]}],[513,"kritzel-slide-toggle",{"checked":[1028],"disabled":[4],"label":[1]}],[769,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16],"offsetY":[2,"offset-y"],"positionX":[32],"positionY":[32],"focusContent":[64]},[[4,"click","handleOutsideClick"],[9,"resize","handleWindowResize"]]],[513,"kritzel-color-palette",{"colors":[16],"selectedColor":[1040],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"],"opacity":[2],"theme":[1]}],[513,"kritzel-font-family",{"fontOptions":[16],"selectedFontFamily":[1025,"selected-font-family"]}],[513,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[513,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[769,"kritzel-dialog",{"isOpen":[516,"is-open"],"dialogTitle":[1,"dialog-title"],"closable":[4],"closeOnBackdrop":[4,"close-on-backdrop"],"closeOnEscape":[4,"close-on-escape"],"autoFocus":[4,"auto-focus"],"trapFocus":[4,"trap-focus"],"size":[1],"fullscreenOnMobile":[4,"fullscreen-on-mobile"],"isAnimating":[32],"open":[64],"close":[64],"focusFirstElement":[64]},[[8,"keydown","handleKeyDown"]],{"isOpen":[{"handleIsOpenChange":0}]}],[513,"kritzel-line-endings",{"styles":[16],"value":[1040]}],[513,"kritzel-opacity-slider",{"value":[1026],"min":[2],"max":[2],"step":[2],"previewColor":[1,"preview-color"]}],[513,"kritzel-shape-fill",{"value":[1025]}],[513,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[513,"kritzel-color",{"value":[1],"theme":[1],"size":[2]}],[769,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[16],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32],"isOpen":[32],"focusedIndex":[32],"openDirection":[32]},[[4,"click","handleDocumentClick"],[4,"keydown","handleDocumentKeydown"]],{"options":[{"optionsChanged":0}],"value":[{"externalValueChanged":0}]}],[513,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setScrollTop":[64],"setFocus":[64]}],[513,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":[{"onItemChange":0}]}],[769,"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"],[11,"scroll","handleWindowScroll"]],{"anchor":[{"anchorChanged":0}]}],[513,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["kritzel-brush-style.cjs",[[513,"kritzel-brush-style",{"type":[1],"brushOptions":[16]}]]]], options);
22
+ return index.bootstrapLazy([["kritzel-back-to-content_32.cjs",[[512,"kritzel-editor",{"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"lockDrawingScale":[1028,"lock-drawing-scale"],"controls":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"customSvgIcons":[16],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"syncConfig":[16],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"undoState":[32],"isBackToContentButtonVisible":[32],"currentTheme":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"backToContent":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","onTouchStart"]],{"isEngineReady":[{"onIsEngineReady":0}],"isControlsReady":[{"onIsControlsReady":0}],"workspaces":[{"onWorkspacesChange":0}],"currentTheme":[{"onCurrentThemeChange":0}]}],[513,"kritzel-controls",{"controls":[16],"activeControl":[1040],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"undoState":[16],"theme":[1],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"selectedSubOptions":[32],"openSubMenuControl":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"],[4,"objectsSelectionChange","handleSelectionChange"]],{"theme":[{"onThemeChange":0}]}],[513,"kritzel-settings",{"isDialogOpen":[32],"selectedCategoryId":[32],"scaleMin":[32],"scaleMax":[32],"lockDrawingScale":[32],"currentTheme":[32],"open":[64]}],[513,"kritzel-workspace-manager",{"activeWorkspace":[1040],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[513,"kritzel-more-menu",{"items":[16],"icon":[1],"iconSize":[2,"icon-size"],"offsetY":[2,"offset-y"],"menuAnchor":[32]}],[513,"kritzel-engine",{"workspace":[16],"syncConfig":[16],"activeTool":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"cursorTarget":[16],"lockDrawingScale":[4,"lock-drawing-scale"],"theme":[1],"forceUpdate":[32],"triggerSelectionChange":[64],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"group":[64],"ungroup":[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],"backToContent":[64],"getCopiedObjects":[64],"getScreenshot":[64],"exportViewportAsPng":[64],"exportViewportAsSvg":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[1,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[1,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"],[4,"dblclick","preventDoubleTapZoomOnTouchDevices"]],{"workspace":[{"onWorkspaceChange":0}],"scaleMax":[{"validateScaleMax":0}],"scaleMin":[{"validateScaleMin":0}],"cursorTarget":[{"onCursorTargetChange":0}],"lockDrawingScale":[{"onLockDrawingScaleChange":0}],"theme":[{"onThemeChange":0}]}],[513,"kritzel-export",{"isDialogOpen":[32],"previewUrl":[32],"isLoading":[32],"open":[64]}],[513,"kritzel-back-to-content",{"visible":[4],"text":[1]}],[513,"kritzel-tool-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"theme":[1],"config":[32],"palette":[32],"currentOpacity":[32],"updateTrigger":[32]},[[4,"objectsSelectionChange","handleSelectionChange"]],{"tool":[{"handleToolChange":0}],"theme":[{"onThemeChange":0}]}],[513,"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],"menuScrollTop":[32],"open":[64],"focusMenu":[64]}],[513,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":[{"onItemsChanged":0}]}],[769,"kritzel-master-detail",{"items":[16],"selectedItemId":[1,"selected-item-id"],"focusedIndex":[32],"showMobileDetail":[32]},null,{"selectedItemId":[{"watchSelectedItemId":0}]}],[513,"kritzel-utility-panel",{"undoState":[16]}],[513,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[513,"kritzel-numeric-input",{"value":[1026],"min":[2],"max":[2],"step":[2],"label":[1],"inputValue":[32]},null,{"value":[{"onValueChange":0}]}],[513,"kritzel-slide-toggle",{"checked":[1028],"disabled":[4],"label":[1]}],[769,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16],"offsetY":[2,"offset-y"],"positionX":[32],"positionY":[32],"focusContent":[64]},[[4,"click","handleOutsideClick"],[7,"pointerdown","handleOutsidePointerDown"],[9,"resize","handleWindowResize"]]],[513,"kritzel-color-palette",{"colors":[16],"selectedColor":[1040],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"],"opacity":[2],"theme":[1]}],[513,"kritzel-font-family",{"fontOptions":[16],"selectedFontFamily":[1025,"selected-font-family"]}],[513,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[513,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[769,"kritzel-dialog",{"isOpen":[516,"is-open"],"dialogTitle":[1,"dialog-title"],"closable":[4],"closeOnBackdrop":[4,"close-on-backdrop"],"closeOnEscape":[4,"close-on-escape"],"autoFocus":[4,"auto-focus"],"trapFocus":[4,"trap-focus"],"size":[1],"fullscreenOnMobile":[4,"fullscreen-on-mobile"],"isAnimating":[32],"open":[64],"close":[64],"focusFirstElement":[64]},[[8,"keydown","handleKeyDown"]],{"isOpen":[{"handleIsOpenChange":0}]}],[513,"kritzel-line-endings",{"styles":[16],"value":[1040]}],[513,"kritzel-opacity-slider",{"value":[1026],"min":[2],"max":[2],"step":[2],"previewColor":[1,"preview-color"]}],[513,"kritzel-shape-fill",{"value":[1025]}],[513,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[513,"kritzel-color",{"value":[1],"theme":[1],"size":[2]}],[769,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[16],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32],"isOpen":[32],"focusedIndex":[32],"openDirection":[32]},[[4,"click","handleDocumentClick"],[4,"keydown","handleDocumentKeydown"]],{"options":[{"optionsChanged":0}],"value":[{"externalValueChanged":0}]}],[513,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setScrollTop":[64],"setFocus":[64]}],[513,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":[{"onItemChange":0}]}],[769,"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"],[11,"scroll","handleWindowScroll"]],{"anchor":[{"anchorChanged":0}]}],[513,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["kritzel-brush-style.cjs",[[513,"kritzel-brush-style",{"type":[1],"brushOptions":[16]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -153,10 +153,10 @@ export class KritzelViewport {
153
153
  handleWheel(event) {
154
154
  // Cancel any ongoing viewport animation when user scrolls
155
155
  this.cancelViewportAnimation();
156
- if (event.ctrlKey === true && Math.abs(event.deltaY) > 0 && Math.abs(event.deltaX) === 0) {
156
+ if (event.ctrlKey) {
157
157
  this.handleZoom(event);
158
158
  }
159
- if (!event.ctrlKey) {
159
+ else {
160
160
  this.handlePan(event);
161
161
  }
162
162
  }
@@ -195,6 +195,10 @@ export class KritzelViewport {
195
195
  this._core.store.state.scale = newScale;
196
196
  this._core.store.state.translateX = this._core.store.state.translateX - translateXAdjustment;
197
197
  this._core.store.state.translateY = this._core.store.state.translateY - translateYAdjustment;
198
+ // Apply horizontal pan from trackpad pinch+drag gestures
199
+ if (event.deltaX !== 0) {
200
+ this._core.store.state.translateX -= event.deltaX * 0.8;
201
+ }
198
202
  this._core.store.state.hasViewportChanged = true;
199
203
  this._core.rerender();
200
204
  this._debounceUpdate();
@@ -203,6 +203,8 @@ export class KritzelSelectionHandler extends KritzelBaseHandler {
203
203
  const pointerY = this._core.store.state.pointerY;
204
204
  const overlappingObjects = this._core.getObjectsFromPointerEvent(event, '.object');
205
205
  for (const object of overlappingObjects) {
206
+ if (object instanceof KritzelSelectionBox)
207
+ continue;
206
208
  if (object.hitTest(pointerX, pointerY)) {
207
209
  return object;
208
210
  }
@@ -83,7 +83,9 @@ export class KritzelText extends KritzelBaseObject {
83
83
  element.style.fontSize = `${this.fontSize}pt`;
84
84
  element.style.color = KritzelColorHelper.resolveThemeColor(this.fontColor);
85
85
  if (this.isMounted && this.elementRef === element && this.editor.dom.parentElement === element) {
86
- requestAnimationFrame(() => this.adjustSizeOnInput());
86
+ if (!this._core.store.state.isScaling && !this._core.store.state.isPanning) {
87
+ requestAnimationFrame(() => this.adjustSizeOnInput());
88
+ }
87
89
  return;
88
90
  }
89
91
  this.elementRef = element;