kritzel-stencil 0.1.21 → 0.1.23

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 (43) hide show
  1. package/dist/cjs/{default-line-tool.config-Bva9deYM.js → default-line-tool.config-Ba74O1gD.js} +31 -9
  2. package/dist/cjs/index.cjs.js +1 -1
  3. package/dist/cjs/kritzel-back-to-content_32.cjs.entry.js +127 -114
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/stencil.cjs.js +1 -1
  6. package/dist/collection/classes/objects/shape.class.js +9 -3
  7. package/dist/collection/classes/objects/text.class.js +19 -3
  8. package/dist/collection/classes/tools/text-tool.class.js +3 -3
  9. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +20 -34
  10. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +171 -15
  11. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +29 -72
  12. package/dist/collection/constants/version.js +1 -1
  13. package/dist/components/index.js +1 -1
  14. package/dist/components/kritzel-controls.js +1 -1
  15. package/dist/components/kritzel-editor.js +1 -1
  16. package/dist/components/kritzel-engine.js +1 -1
  17. package/dist/components/kritzel-settings.js +1 -1
  18. package/dist/components/kritzel-tool-config.js +1 -1
  19. package/dist/components/kritzel-tooltip.js +1 -1
  20. package/dist/components/p-0YNMEgri.js +1 -0
  21. package/dist/components/p-B1qfRBi0.js +1 -0
  22. package/dist/components/{p-Dmy0R-7y.js → p-DAPeFBqC.js} +1 -1
  23. package/dist/components/{p-CYX7RMRZ.js → p-DYAnRoi2.js} +1 -1
  24. package/dist/components/{p-BsvZ2juR.js → p-IGA64WxD.js} +1 -1
  25. package/dist/components/{p-BbHELXEC.js → p-mPdux0tA.js} +2 -2
  26. package/dist/esm/{default-line-tool.config-DDIFE6oX.js → default-line-tool.config-BW07ZETV.js} +31 -9
  27. package/dist/esm/index.js +2 -2
  28. package/dist/esm/kritzel-back-to-content_32.entry.js +127 -114
  29. package/dist/esm/loader.js +1 -1
  30. package/dist/esm/stencil.js +1 -1
  31. package/dist/stencil/index.esm.js +1 -1
  32. package/dist/stencil/p-55409078.entry.js +9 -0
  33. package/dist/stencil/p-BW07ZETV.js +1 -0
  34. package/dist/stencil/stencil.esm.js +1 -1
  35. package/dist/types/components/shared/kritzel-tooltip/kritzel-tooltip.d.ts +11 -1
  36. package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +3 -11
  37. package/dist/types/components.d.ts +7 -0
  38. package/dist/types/constants/version.d.ts +1 -1
  39. package/package.json +1 -1
  40. package/dist/components/p-BNT9uvII.js +0 -1
  41. package/dist/components/p-DqtvAhfs.js +0 -1
  42. package/dist/stencil/p-3fc743ee.entry.js +0 -9
  43. package/dist/stencil/p-DDIFE6oX.js +0 -1
@@ -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-Bva9deYM.js');
4
+ var defaultLineTool_config = require('./default-line-tool.config-Ba74O1gD.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
 
@@ -519,37 +519,16 @@ const KritzelControls = class {
519
519
  theme;
520
520
  isControlsReady;
521
521
  firstConfig = null;
522
- isTooltipVisible = false;
523
522
  isTouchDevice = defaultLineTool_config.KritzelDevicesHelper.isTouchDevice();
524
523
  selectedSubOptions = new Map();
525
- openSubMenuControl = null;
526
524
  canScrollLeft = false;
527
525
  canScrollRight = false;
528
526
  needsScrolling = false;
529
527
  displayValues = null;
530
- handleDocumentClick(event) {
531
- if (!this.kritzelEngine) {
532
- return;
533
- }
534
- // Use composedPath to check if click is inside tooltip (works across shadow DOM boundaries)
535
- const path = event.composedPath();
536
- const isInsideTooltip = path.some(el => {
537
- const element = el;
538
- if (element.tagName) {
539
- return element.tagName.toLowerCase() === 'kritzel-tooltip' || element.classList?.contains('kritzel-tooltip');
540
- }
541
- return false;
542
- });
543
- if (isInsideTooltip) {
544
- return;
545
- }
546
- this.isTooltipVisible = false;
547
- }
548
528
  handleKeyDown(event) {
549
529
  if (event.key === 'Escape') {
550
530
  event.preventDefault();
551
531
  this.closeTooltip();
552
- this.openSubMenuControl = null;
553
532
  this.kritzelEngine?.enable();
554
533
  }
555
534
  }
@@ -558,8 +537,7 @@ const KritzelControls = class {
558
537
  if (this.activeControl?.tool) {
559
538
  this.updateDisplayValues(this.activeControl.tool);
560
539
  }
561
- this.isTooltipVisible = false;
562
- this.openSubMenuControl = null;
540
+ this.closeTooltip();
563
541
  }
564
542
  handleSelectionChange() {
565
543
  if (this.activeControl?.tool instanceof defaultLineTool_config.KritzelSelectionTool) {
@@ -572,11 +550,11 @@ const KritzelControls = class {
572
550
  }
573
551
  }
574
552
  async closeTooltip() {
575
- this.isTooltipVisible = false;
553
+ document.dispatchEvent(new CustomEvent('kritzelTooltipCloseAll'));
576
554
  }
577
555
  kritzelEngine = null;
578
- tooltipRef = null;
579
556
  toolsScrollRef = null;
557
+ configTriggerRef = null;
580
558
  get activeToolAsTextTool() {
581
559
  return this.activeControl?.tool;
582
560
  }
@@ -632,14 +610,23 @@ const KritzelControls = class {
632
610
  componentDidLoad() {
633
611
  this.updateScrollIndicators();
634
612
  }
613
+ componentDidRender() {
614
+ this.updateScrollIndicators();
615
+ }
635
616
  updateScrollIndicators() {
636
617
  if (!this.toolsScrollRef)
637
618
  return;
638
619
  const { scrollLeft, scrollWidth, clientWidth } = this.toolsScrollRef;
639
620
  const threshold = 2; // Small threshold to account for rounding
640
- this.canScrollLeft = scrollLeft > threshold;
641
- this.canScrollRight = scrollLeft + clientWidth < scrollWidth - threshold;
642
- this.needsScrolling = scrollWidth > clientWidth;
621
+ const canScrollLeft = scrollLeft > threshold;
622
+ const canScrollRight = scrollLeft + clientWidth < scrollWidth - threshold;
623
+ const needsScrolling = scrollWidth > clientWidth;
624
+ if (this.canScrollLeft !== canScrollLeft)
625
+ this.canScrollLeft = canScrollLeft;
626
+ if (this.canScrollRight !== canScrollRight)
627
+ this.canScrollRight = canScrollRight;
628
+ if (this.needsScrolling !== needsScrolling)
629
+ this.needsScrolling = needsScrolling;
643
630
  }
644
631
  handleToolsScroll = () => {
645
632
  this.updateScrollIndicators();
@@ -678,20 +665,10 @@ const KritzelControls = class {
678
665
  await this.kritzelEngine.changeActiveTool(this.activeControl.tool);
679
666
  }
680
667
  }
681
- handleConfigClick(event) {
682
- event.stopPropagation();
683
- this.isTooltipVisible = !this.isTooltipVisible;
684
- setTimeout(() => {
685
- this.tooltipRef?.focusContent();
686
- }, 100);
687
- }
688
668
  async handleToolChange(event) {
689
669
  this.activeControl = { ...this.activeControl, tool: event.detail };
690
670
  await this.kritzelEngine.changeActiveTool(this.activeControl.tool);
691
671
  }
692
- handleTooltipClosed() {
693
- this.isTooltipVisible = false;
694
- }
695
672
  /**
696
673
  * Get the currently selected sub-option for a control.
697
674
  * Returns the first sub-option as default if none is selected.
@@ -701,18 +678,6 @@ const KritzelControls = class {
701
678
  return undefined;
702
679
  return this.selectedSubOptions.get(control.name) || control.subOptions[0];
703
680
  }
704
- /**
705
- * Toggle the submenu for a split-button control
706
- */
707
- toggleSubMenu(event, control) {
708
- event.stopPropagation();
709
- if (this.openSubMenuControl?.name === control.name) {
710
- this.openSubMenuControl = null;
711
- }
712
- else {
713
- this.openSubMenuControl = control;
714
- }
715
- }
716
681
  /**
717
682
  * Select a sub-option and update the tool property
718
683
  */
@@ -726,7 +691,7 @@ const KritzelControls = class {
726
691
  control.tool[option.toolProperty] = option.value;
727
692
  }
728
693
  // Close the submenu
729
- this.openSubMenuControl = null;
694
+ this.closeTooltip();
730
695
  // Activate this control
731
696
  await this.handleControlClick(control);
732
697
  }
@@ -739,23 +704,17 @@ const KritzelControls = class {
739
704
  // Separate tool controls from config control
740
705
  const toolControls = this.controls.filter(c => c.type === 'tool');
741
706
  const configControl = this.controls.find(c => c.type === 'config' && c.name === this.firstConfig?.name);
742
- return (index.h(index.Host, { key: 'cb713bc59241300837519145031c1d15109e28c3', class: {
707
+ return (index.h(index.Host, { key: '0cb024600ea4730de6f70731ba481f4a1b397335', class: {
743
708
  mobile: this.isTouchDevice,
744
- } }, this.isUtilityPanelVisible && (index.h("kritzel-utility-panel", { key: '62cb00da2676739aa472d69e8e453501bd78e408', style: {
709
+ } }, this.isUtilityPanelVisible && (index.h("kritzel-utility-panel", { key: 'e1e3f51d18f8431b55ad03fc4ee571006a8b99a3', style: {
745
710
  position: 'absolute',
746
711
  bottom: '56px',
747
712
  left: '12px',
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 => {
749
- this.toolsScrollRef = el;
750
- // Update indicators when ref is set
751
- if (el)
752
- this.updateScrollIndicators();
753
- }, onScroll: this.handleToolsScroll }, toolControls.map(control => {
713
+ }, undoState: this.undoState, onUndo: () => this.kritzelEngine?.undo(), onRedo: () => this.kritzelEngine?.redo(), onDelete: () => this.kritzelEngine?.delete() })), index.h("div", { key: '3b3dc23abaf8aa0087ad9df10c2fdc150c7f9aa1', class: "kritzel-controls" }, index.h("div", { key: 'cf8cbd5042ec9f261eb76af29cceb375fbfcc658', class: { 'scroll-indicator-left': true, 'visible': this.canScrollLeft } }), index.h("div", { key: '1ebb0c83e09df88e6c53fee7ecf151688d847f2a', class: "kritzel-tools-scroll", ref: el => this.toolsScrollRef = el, onScroll: this.handleToolsScroll }, toolControls.map(control => {
754
714
  // Check if this control has sub-options (split-button)
755
715
  if (control.subOptions?.length) {
756
716
  const selectedSubOption = this.getSelectedSubOption(control);
757
717
  const isActive = this.activeControl?.name === control.name;
758
- const isSubMenuOpen = this.openSubMenuControl?.name === control.name;
759
718
  return (index.h("div", { class: {
760
719
  'kritzel-control-split': true,
761
720
  'selected': isActive,
@@ -765,7 +724,10 @@ const KritzelControls = class {
765
724
  } }, index.h("button", { class: "kritzel-control-main", onClick: () => this.handleControlClick(control), title: selectedSubOption?.label }, index.h("kritzel-icon", { name: selectedSubOption?.icon || control.icon })), index.h("button", { class: {
766
725
  'kritzel-control-dropdown': true,
767
726
  'visible': isActive,
768
- }, onClick: (e) => this.toggleSubMenu(e, control), "aria-label": "Select shape type", "aria-expanded": isSubMenuOpen ? 'true' : 'false', tabIndex: isActive ? 0 : -1 }, index.h("kritzel-icon", { name: "chevron-down", size: 12 })), index.h("kritzel-tooltip", { isVisible: isSubMenuOpen, anchorElement: control._anchorRef, onTooltipClosed: () => { this.openSubMenuControl = null; } }, index.h("div", { class: "kritzel-submenu-content" }, control.subOptions.map(option => (index.h("button", { class: {
727
+ }, ref: el => {
728
+ if (el)
729
+ control._triggerRef = el;
730
+ }, "aria-label": "Select shape type", tabIndex: isActive ? 0 : -1 }, index.h("kritzel-icon", { name: "chevron-down", size: 12 })), index.h("kritzel-tooltip", { anchorElement: control._anchorRef, triggerElement: control._triggerRef }, index.h("div", { class: "kritzel-submenu-content" }, control.subOptions.map(option => (index.h("button", { class: {
769
731
  'kritzel-submenu-item': true,
770
732
  'active': option.id === selectedSubOption?.id,
771
733
  }, key: option.id, onClick: () => this.selectSubOption(control, option) }, index.h("kritzel-icon", { name: option.icon, size: 20 }), index.h("span", null, option.label))))))));
@@ -775,12 +737,15 @@ const KritzelControls = class {
775
737
  'kritzel-control': true,
776
738
  'selected': this.activeControl?.name === control?.name,
777
739
  }, key: control.name, onClick: _event => this.handleControlClick?.(control) }, index.h("kritzel-icon", { name: control.icon })));
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: {
740
+ })), index.h("div", { key: '725c36b2e36168e5a9a97a3fceded3f110c499d6', class: { 'scroll-indicator-right': true, 'visible': this.canScrollRight && !(configControl && this.activeControl && hasConfigUI) } }), configControl && this.activeControl && (index.h("div", { class: {
779
741
  'kritzel-config-container': true,
780
742
  'visible': hasConfigUI,
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 => {
743
+ }, key: configControl.name }, index.h("div", { key: '2bfdb194ee2044529427b5806dd2d1b2bf6a32b5', class: { 'config-gradient-left': true, 'visible': this.needsScrolling } }), index.h("kritzel-tooltip", { key: 'bc64cf1a330b9620536f1b044559c3f45756ab23', anchorElement: this.host.shadowRoot?.querySelector('.kritzel-config-container'), triggerElement: this.configTriggerRef }, index.h("kritzel-tool-config", { key: 'd991a450027ec60fa8a46c2f877dc92e5bf1e73a', tool: this.activeControl.tool, theme: this.theme, onToolChange: event => this.handleToolChange?.(event), onDisplayValuesChange: this.handleDisplayValuesChange, style: { width: '100%', height: '100%' } })), index.h("div", { key: '09883ce02e94993849e89bd284c65ea7af59261f', tabIndex: hasConfigUI ? 0 : -1, class: "kritzel-config", ref: el => {
744
+ if (el)
745
+ this.configTriggerRef = el;
746
+ }, onKeyDown: event => {
782
747
  if (event.key === 'Enter') {
783
- this.handleConfigClick?.(event);
748
+ event.target.click();
784
749
  }
785
750
  }, style: {
786
751
  cursor: 'pointer',
@@ -22033,7 +21998,9 @@ const KritzelEngine = class {
22033
21998
  return;
22034
21999
  }
22035
22000
  this.core.store.state.pointers.delete(ev.pointerId);
22036
- this.host.releasePointerCapture(ev.pointerId);
22001
+ if (this.host.hasPointerCapture(ev.pointerId)) {
22002
+ this.host.releasePointerCapture(ev.pointerId);
22003
+ }
22037
22004
  // Reset cursor to default when all pointers are released
22038
22005
  if (this.core.store.state.pointers.size === 0) {
22039
22006
  this.core.cursorManager.resetToDefault();
@@ -22045,7 +22012,9 @@ const KritzelEngine = class {
22045
22012
  if (this.core.store.isDisabled) {
22046
22013
  return;
22047
22014
  }
22048
- this.host.releasePointerCapture(ev.pointerId);
22015
+ if (this.host.hasPointerCapture(ev.pointerId)) {
22016
+ this.host.releasePointerCapture(ev.pointerId);
22017
+ }
22049
22018
  this.core.store.state.pointers.delete(ev.pointerId);
22050
22019
  // Reset cursor to default when all pointers are released
22051
22020
  if (this.core.store.state.pointers.size === 0) {
@@ -22423,7 +22392,7 @@ const KritzelEngine = class {
22423
22392
  if (this.core.store.totalObjectCount > 0) {
22424
22393
  this.objectsInViewportChange.emit(visibleObjects);
22425
22394
  }
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: {
22395
+ return (index.h(index.Host, { key: '6cc974d4e3fdcfe1b185a014fa9eb6b1243dde91' }, this.core.store.state.debugInfo.showViewportInfo && (index.h("div", { key: '8f8ac08f2d643b664e2b39fbaf50e0c474c5255d', class: "debug-panel" }, index.h("div", { key: '79ad4f3db958d8b17b2efdb3a1a6ab24d81bb436' }, "ActiveWorkspaceId: ", this.core.store.state?.activeWorkspace?.id), index.h("div", { key: '0cdaa6abeebc865eec1c3026d5fd38e00bd388a7' }, "ActiveWorkspaceName: ", this.core.store.state?.activeWorkspace?.name), index.h("div", { key: '125ca4bb69ca2fcc647bd55e9cb8c4072fbaa600' }, "TranslateX: ", this.core.store.state?.translateX), index.h("div", { key: '02aee9b8359b9cdefa2f54afc26d328dab984ea3' }, "TranslateY: ", this.core.store.state?.translateY), index.h("div", { key: '8398e28a5c70318dace386182633088e5e3267d5' }, "ViewportWidth: ", this.core.store.state?.viewportWidth), index.h("div", { key: '0e17a7fbf96acbe1cbf2769b0fa853eaf7fb6f3b' }, "ViewportHeight: ", this.core.store.state?.viewportHeight), index.h("div", { key: 'd214e66618d2c38ca94154e7b06f681d815ffadc' }, "PointerCount: ", this.core.store.state.pointers.size), index.h("div", { key: '35695f7f82605bf6ba0fd512f814a7da723f623c' }, "Scale: ", this.core.store.state?.scale), index.h("div", { key: '6935c9e5cedb8f7bd6d81a5d02b383fbb0e4d3a2' }, "ActiveTool: ", this.core.store.state?.activeTool?.name), index.h("div", { key: '6a7490a07ca3019157d6a4b10b9164d3a504c4c0' }, "HasViewportChanged: ", this.core.store.state?.hasViewportChanged ? 'true' : 'false'), index.h("div", { key: 'ba70d5d01cad9e0fb6e80a4955e3361723af3531' }, "IsEnabled: ", this.core.store.state?.isEnabled ? 'true' : 'false'), index.h("div", { key: 'be3a408762c8bada64224c4da92baf987ae62f6d' }, "IsScaling: ", this.core.store.state?.isScaling ? 'true' : 'false'), index.h("div", { key: '9cf44848dbcb7e8b1a40618db1ee6cf019e01720' }, "IsPanning: ", this.core.store.state?.isPanning ? 'true' : 'false'), index.h("div", { key: 'b53633b5c099b338089294c897cfbc32973d360d' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), index.h("div", { key: '0cab012a88532c69ba0aeb1daa7646e91c4f029d' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), index.h("div", { key: '1c47bfd56352b70a8eafb771470d9912240e9885' }, "IsResizeHandleSelected: ", this.core.store.state.isResizeHandleSelected ? 'true' : 'false'), index.h("div", { key: '1147a866a58f3d50c8751fc02f6614e899b13bc0' }, "IsRotationHandleSelected: ", this.core.store.state.isRotationHandleSelected ? 'true' : 'false'), index.h("div", { key: 'a308df3601fd5ba49741f2efbc3d262059daed2d' }, "IsRotationHandleHovered: ", this.core.store.state.isRotationHandleHovered ? 'true' : 'false'), index.h("div", { key: 'af5ceafa9bb39c2e2085815c691198f7a0b48017' }, "IsDrawing: ", this.core.store.state.isDrawing ? 'true' : 'false'), index.h("div", { key: '8abffd4f1e3e7b174ee5e5e9070fc0ca0703d1aa' }, "IsWriting: ", this.core.store.state.isWriting ? 'true' : 'false'), index.h("div", { key: 'e127318f52e25d65b323d3325b02a0125864c3be' }, "IsPointerDown: ", this.core.store.isPointerDown ? 'true' : 'false'), index.h("div", { key: 'b8f21b1a1bd674f7403e3096e7cb52e629b2df89' }, "PointerX: ", this.core.store.state?.pointerX), index.h("div", { key: '892abdc68df061495f88ceea2037766b537f82ab' }, "PointerY: ", this.core.store.state?.pointerY), index.h("div", { key: '04f08e11cb67cedf31900d01803960caaa0a5a0b' }, "SelectedObjects: ", this.core.store.selectionGroup?.objects.length || 0), index.h("div", { key: '6a6efb9f05cb70eaff83cea1a22e1151a08e2ec9' }, "ViewportCenter: (", viewportCenterX.toFixed(2), ", ", viewportCenterY.toFixed(2), ")"))), index.h("div", { key: 'c9e2392f43cf54b57f0fb49a361d47a2c4156ca3', id: "origin", class: "origin", style: {
22427
22396
  transform: `matrix(${this.core.store.state?.scale}, 0, 0, ${this.core.store.state?.scale}, ${this.core.store.state?.translateX}, ${this.core.store.state?.translateY})`,
22428
22397
  } }, visibleObjects?.map(object => {
22429
22398
  return (index.h("div", { key: object.id, id: object.id, class: "object", style: {
@@ -22432,7 +22401,7 @@ const KritzelEngine = class {
22432
22401
  position: 'absolute',
22433
22402
  zIndex: object.zIndex.toString(),
22434
22403
  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: {
22404
+ } }, defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelPath') && (index.h("svg", { ref: el => object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: {
22436
22405
  height: object?.totalHeight + 'px',
22437
22406
  width: object?.totalWidth + 'px',
22438
22407
  left: '0',
@@ -22442,7 +22411,8 @@ const KritzelEngine = class {
22442
22411
  transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22443
22412
  opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22444
22413
  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: {
22414
+ overflow: 'visible',
22415
+ }, 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: {
22446
22416
  height: object?.totalHeight + 'px',
22447
22417
  width: object?.totalWidth + 'px',
22448
22418
  left: '0',
@@ -22452,7 +22422,8 @@ const KritzelEngine = class {
22452
22422
  transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22453
22423
  opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22454
22424
  pointerEvents: object.markedForRemoval ? 'none' : 'auto',
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: {
22425
+ overflow: 'visible',
22426
+ }, 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("img", { ref: el => object.mount(el), src: object.src, style: {
22456
22427
  position: 'absolute',
22457
22428
  left: '0',
22458
22429
  top: '0',
@@ -22468,13 +22439,9 @@ const KritzelEngine = class {
22468
22439
  borderStyle: 'solid',
22469
22440
  padding: object.padding + 'px',
22470
22441
  overflow: 'visible',
22471
- } }, index.h("img", { ref: el => object.mount(el), src: object.src, style: {
22472
- width: '100%',
22473
- height: '100%',
22474
22442
  userSelect: 'none',
22475
- pointerEvents: 'none',
22476
22443
  imageRendering: this.core.store.state.isScaling || this.core.store.state.isPanning ? 'pixelated' : 'auto',
22477
- }, draggable: false, onDragStart: e => e.preventDefault() }))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (index.h("div", { style: {
22444
+ }, draggable: false, onDragStart: e => e.preventDefault() })), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (index.h("div", { ref: el => object.mount(el), style: {
22478
22445
  position: 'absolute',
22479
22446
  left: '0',
22480
22447
  top: '0',
@@ -22489,14 +22456,9 @@ const KritzelEngine = class {
22489
22456
  borderWidth: object.borderWidth + 'px',
22490
22457
  borderStyle: 'solid',
22491
22458
  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
22459
  overflow: 'hidden',
22498
22460
  display: 'block',
22499
- } }))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionGroup') && !this.core.displaySelectionLineUI(object) && (index.h("div", { style: {
22461
+ } })), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionGroup') && !this.core.displaySelectionLineUI(object) && (index.h("div", { ref: el => object.mount(el), style: {
22500
22462
  position: 'absolute',
22501
22463
  left: '0',
22502
22464
  top: '0',
@@ -22506,10 +22468,7 @@ const KritzelEngine = class {
22506
22468
  transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22507
22469
  opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22508
22470
  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: {
22471
+ } })), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionBox') && (index.h("div", { ref: el => object.mount(el), style: {
22513
22472
  position: 'absolute',
22514
22473
  left: '0',
22515
22474
  top: '0',
@@ -22523,10 +22482,7 @@ const KritzelEngine = class {
22523
22482
  borderColor: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.borderColor, currentTheme),
22524
22483
  borderWidth: object.borderWidth + 'px',
22525
22484
  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: {
22485
+ } })), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelText') && (index.h("div", { style: {
22530
22486
  position: 'absolute',
22531
22487
  left: '0',
22532
22488
  top: '0',
@@ -22546,8 +22502,7 @@ const KritzelEngine = class {
22546
22502
  transform: `scale(${object.scaleFactor})`,
22547
22503
  backgroundColor: defaultLineTool_config.KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme),
22548
22504
  overflow: 'visible',
22549
- textRendering: this.core.store.state.isScaling || this.core.store.state.isPanning ? 'optimizeSpeed' : 'auto',
22550
- } }))), defaultLineTool_config.KritzelClassHelper.isInstanceOf(object, 'KritzelShape') && (index.h("div", { style: {
22505
+ } }))), 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: {
22551
22506
  position: 'absolute',
22552
22507
  left: '0',
22553
22508
  top: '0',
@@ -22557,10 +22512,6 @@ const KritzelEngine = class {
22557
22512
  transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
22558
22513
  opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
22559
22514
  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: {
22561
- width: '100%',
22562
- height: '100%',
22563
- position: 'relative',
22564
22515
  overflow: 'visible',
22565
22516
  } }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", style: {
22566
22517
  position: 'absolute',
@@ -22582,7 +22533,7 @@ const KritzelEngine = class {
22582
22533
  textAlign: 'center',
22583
22534
  overflow: 'hidden',
22584
22535
  pointerEvents: object.isEditing ? 'auto' : 'none',
22585
- } })))), this.core.store.state.debugInfo.showObjectInfo && object.isDebugInfoVisible && (index.h("div", { style: {
22536
+ } }))), this.core.store.state.debugInfo.showObjectInfo && object.isDebugInfoVisible && (index.h("div", { style: {
22586
22537
  pointerEvents: 'none',
22587
22538
  position: 'absolute',
22588
22539
  left: `${object.totalWidth}px`,
@@ -22769,7 +22720,7 @@ const KritzelEngine = class {
22769
22720
  stroke: 'var(--kritzel-snap-indicator-stroke, #007bff)',
22770
22721
  strokeWidth: data.indicatorStrokeWidth,
22771
22722
  } }))));
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: {
22723
+ })()), this.core.store.state.isContextMenuVisible && (index.h("kritzel-context-menu", { key: '307012661cd1021e7e3c3db48f1671700f5de91b', class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.core.store.state.contextMenuItems, objects: this.core.store.selectionGroup?.objects || [], style: {
22773
22724
  position: 'fixed',
22774
22725
  left: `${this.core.store.state.contextMenuX}px`,
22775
22726
  top: `${this.core.store.state.contextMenuY}px`,
@@ -22780,7 +22731,7 @@ const KritzelEngine = class {
22780
22731
  y: (-this.core.store.state.translateY + this.core.store.state.contextMenuY) / this.core.store.state.scale,
22781
22732
  }, this.core.store.selectionGroup?.objects);
22782
22733
  this.hideContextMenu();
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 })));
22734
+ }, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof defaultLineTool_config.KritzelEraserTool && !this.core.store.state.isScaling && index.h("kritzel-cursor-trail", { key: 'bd48d2a8e7c83e2c5d80c92548b00720650391ab', core: this.core })));
22784
22735
  }
22785
22736
  static get watchers() { return {
22786
22737
  "workspace": [{
@@ -23791,7 +23742,7 @@ const KritzelPortal = class {
23791
23742
  * This file is auto-generated by the version bump scripts.
23792
23743
  * Do not modify manually.
23793
23744
  */
23794
- const KRITZEL_VERSION = '0.1.21';
23745
+ const KRITZEL_VERSION = '0.1.23';
23795
23746
 
23796
23747
  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}`;
23797
23748
 
@@ -24289,22 +24240,25 @@ const KritzelTooltip = class {
24289
24240
  constructor(hostRef) {
24290
24241
  index.registerInstance(this, hostRef);
24291
24242
  this.tooltipClosed = index.createEvent(this, "tooltipClosed");
24243
+ this.tooltipOpened = index.createEvent(this, "tooltipOpened");
24292
24244
  }
24293
24245
  get host() { return index.getElement(this); }
24294
24246
  isVisible = false;
24295
24247
  anchorElement;
24248
+ triggerElement;
24296
24249
  offsetY = 24;
24297
24250
  tooltipClosed;
24251
+ tooltipOpened;
24298
24252
  positionX = 0;
24299
24253
  positionY = 0;
24300
24254
  handleOutsideClick(event) {
24301
24255
  if (!this.isVisible)
24302
24256
  return;
24303
- // Check if click is inside the tooltip host or any of its shadow DOM content
24304
24257
  const path = event.composedPath();
24305
24258
  const isInsideTooltip = path.some(el => el === this.host);
24306
- if (!isInsideTooltip) {
24307
- this.tooltipClosed.emit();
24259
+ const isOnTrigger = this.triggerElement && path.some(el => el === this.triggerElement);
24260
+ if (!isInsideTooltip && !isOnTrigger) {
24261
+ this.close();
24308
24262
  }
24309
24263
  }
24310
24264
  handleOutsidePointerDown(event) {
@@ -24312,23 +24266,73 @@ const KritzelTooltip = class {
24312
24266
  return;
24313
24267
  const path = event.composedPath();
24314
24268
  const isInsideTooltip = path.some(el => el === this.host);
24315
- if (!isInsideTooltip) {
24269
+ const isOnTrigger = this.triggerElement && path.some(el => el === this.triggerElement);
24270
+ if (!isInsideTooltip && !isOnTrigger) {
24316
24271
  event.stopPropagation();
24317
24272
  event.preventDefault();
24318
- this.tooltipClosed.emit();
24273
+ this.close();
24274
+ }
24275
+ }
24276
+ handleCloseAll(event) {
24277
+ if (event.detail !== this.host) {
24278
+ this.close();
24319
24279
  }
24320
24280
  }
24321
24281
  handleWindowResize() {
24322
24282
  this.calculateAdjustedPosition();
24323
24283
  }
24284
+ handleTriggerElementChange(newTrigger, oldTrigger) {
24285
+ if (oldTrigger) {
24286
+ oldTrigger.removeEventListener('click', this.handleTriggerClick);
24287
+ }
24288
+ if (newTrigger) {
24289
+ newTrigger.addEventListener('click', this.handleTriggerClick);
24290
+ }
24291
+ }
24292
+ handleVisibilityChange(newValue) {
24293
+ if (newValue) {
24294
+ this.calculateAdjustedPosition();
24295
+ requestAnimationFrame(() => {
24296
+ this.focusContent();
24297
+ });
24298
+ }
24299
+ }
24300
+ async open() {
24301
+ if (this.isVisible)
24302
+ return;
24303
+ document.dispatchEvent(new CustomEvent('kritzelTooltipCloseAll', { detail: this.host }));
24304
+ this.isVisible = true;
24305
+ this.tooltipOpened.emit();
24306
+ }
24307
+ async close() {
24308
+ if (!this.isVisible)
24309
+ return;
24310
+ this.isVisible = false;
24311
+ this.tooltipClosed.emit();
24312
+ }
24313
+ async toggle() {
24314
+ if (this.isVisible) {
24315
+ this.close();
24316
+ }
24317
+ else {
24318
+ this.open();
24319
+ }
24320
+ }
24324
24321
  async focusContent() {
24325
24322
  const focusableElements = KritzelHTMLHelper.getFocusableElements(this.host);
24326
24323
  if (focusableElements.length > 0) {
24327
24324
  focusableElements[0].focus();
24328
24325
  }
24329
24326
  }
24327
+ connectedCallback() {
24328
+ if (this.triggerElement) {
24329
+ this.triggerElement.addEventListener('click', this.handleTriggerClick);
24330
+ }
24331
+ }
24330
24332
  componentDidLoad() {
24331
- this.focusSlottedContent();
24333
+ if (this.triggerElement) {
24334
+ this.triggerElement.addEventListener('click', this.handleTriggerClick);
24335
+ }
24332
24336
  }
24333
24337
  componentWillLoad() {
24334
24338
  this.calculateAdjustedPosition();
@@ -24336,14 +24340,15 @@ const KritzelTooltip = class {
24336
24340
  componentWillUpdate() {
24337
24341
  this.calculateAdjustedPosition();
24338
24342
  }
24339
- focusSlottedContent() {
24340
- const slot = this.host.shadowRoot?.querySelector('slot');
24341
- const assignedElements = slot?.assignedElements() || [];
24342
- if (assignedElements.length > 0) {
24343
- const firstElement = assignedElements[0];
24344
- firstElement.focus();
24343
+ disconnectedCallback() {
24344
+ if (this.triggerElement) {
24345
+ this.triggerElement.removeEventListener('click', this.handleTriggerClick);
24345
24346
  }
24346
24347
  }
24348
+ handleTriggerClick = (event) => {
24349
+ event.stopPropagation();
24350
+ this.toggle();
24351
+ };
24347
24352
  calculateAdjustedPosition() {
24348
24353
  if (this.isVisible && this.anchorElement) {
24349
24354
  const anchorRect = this.anchorElement.getBoundingClientRect();
@@ -24364,15 +24369,23 @@ const KritzelTooltip = class {
24364
24369
  }
24365
24370
  }
24366
24371
  render() {
24367
- return (index.h(index.Host, { key: 'd23199ba12acd84fe7fb7a3e133a6605b175bcec', style: {
24372
+ return (index.h(index.Host, { key: '4145c722bdd124506bf988e5c2d4886bb10c5516', style: {
24368
24373
  position: 'fixed',
24369
24374
  zIndex: '9999',
24370
24375
  transition: 'opacity 0.3s ease-in-out, transform 0.3s ease-in-out',
24371
24376
  visibility: this.isVisible ? 'visible' : 'hidden',
24372
24377
  left: `${this.positionX}px`,
24373
24378
  bottom: `${this.positionY}px`,
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' }))));
24379
+ } }, index.h("div", { key: '7b8b74d2a9027b23bd6ebb0cb1f628820320dfe2', class: "tooltip-content", onClick: event => event.stopPropagation(), onPointerDown: event => event.stopPropagation(), onMouseDown: event => event.stopPropagation() }, index.h("slot", { key: '52b93a5847696ddd740fce6d69ac48f20a215bd3' }))));
24375
24380
  }
24381
+ static get watchers() { return {
24382
+ "triggerElement": [{
24383
+ "handleTriggerElementChange": 0
24384
+ }],
24385
+ "isVisible": [{
24386
+ "handleVisibilityChange": 0
24387
+ }]
24388
+ }; }
24376
24389
  };
24377
24390
  KritzelTooltip.style = kritzelTooltipCss();
24378
24391
 
@@ -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"],[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);
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],"isTouchDevice":[32],"selectedSubOptions":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"closeTooltip":[64]},[[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":[1028,"is-visible"],"anchorElement":[16],"triggerElement":[16],"offsetY":[2,"offset-y"],"positionX":[32],"positionY":[32],"open":[64],"close":[64],"toggle":[64],"focusContent":[64]},[[4,"click","handleOutsideClick"],[7,"pointerdown","handleOutsidePointerDown"],[4,"kritzelTooltipCloseAll","handleCloseAll"],[9,"resize","handleWindowResize"]],{"triggerElement":[{"handleTriggerElementChange":0}],"isVisible":[{"handleVisibilityChange":0}]}],[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;