kritzel-stencil 0.0.147 → 0.0.148

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 (114) hide show
  1. package/dist/cjs/{default-text-tool.config-C0W0noF9.js → default-text-tool.config-BX6sjin6.js} +3 -95
  2. package/dist/cjs/default-text-tool.config-BX6sjin6.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +92 -2
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/kritzel-color_22.cjs.entry.js +17476 -263
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/stencil.cjs.js +1 -1
  8. package/dist/collection/classes/core/viewport.class.js +3 -9
  9. package/dist/collection/classes/core/viewport.class.js.map +1 -1
  10. package/dist/collection/classes/structures/object-map.structure.js +0 -2
  11. package/dist/collection/classes/structures/object-map.structure.js.map +1 -1
  12. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  13. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +1 -1
  14. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +15 -5
  15. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
  16. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  17. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  18. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  19. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +1 -1
  20. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  21. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
  22. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
  23. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
  24. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
  25. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  26. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +4 -4
  27. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +1 -1
  28. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +2 -2
  29. package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +2 -2
  30. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +3 -3
  31. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  32. package/dist/collection/configs/default-sync.config.js +1 -3
  33. package/dist/collection/configs/default-sync.config.js.map +1 -1
  34. package/dist/components/index.js +93 -3
  35. package/dist/components/index.js.map +1 -1
  36. package/dist/components/kritzel-color-palette.js +1 -1
  37. package/dist/components/kritzel-color.js +1 -1
  38. package/dist/components/kritzel-context-menu.js +1 -1
  39. package/dist/components/kritzel-control-brush-config.js +1 -1
  40. package/dist/components/kritzel-control-text-config.js +1 -1
  41. package/dist/components/kritzel-controls.js +1 -1
  42. package/dist/components/kritzel-cursor-trail.js +1 -1
  43. package/dist/components/kritzel-editor.js +19 -19
  44. package/dist/components/kritzel-engine.js +1 -1
  45. package/dist/components/kritzel-font-family.js +1 -1
  46. package/dist/components/kritzel-font-size.js +1 -1
  47. package/dist/components/kritzel-font.js +1 -1
  48. package/dist/components/kritzel-menu-item.js +1 -1
  49. package/dist/components/kritzel-menu.js +1 -1
  50. package/dist/components/kritzel-portal.js +1 -1
  51. package/dist/components/kritzel-split-button.js +1 -1
  52. package/dist/components/kritzel-stroke-size.js +1 -1
  53. package/dist/components/kritzel-tooltip.js +1 -1
  54. package/dist/components/kritzel-utility-panel.js +1 -1
  55. package/dist/components/kritzel-workspace-manager.js +1 -1
  56. package/dist/components/{p-BHDOht0m.js → p-BDHz9TkP.js} +4 -4
  57. package/dist/components/{p-BHDOht0m.js.map → p-BDHz9TkP.js.map} +1 -1
  58. package/dist/components/{p-DPN0PZvw.js → p-BP71Fape.js} +15 -15
  59. package/dist/components/{p-DPN0PZvw.js.map → p-BP71Fape.js.map} +1 -1
  60. package/dist/components/{p-CURq0twf.js → p-BgznZoBH.js} +3 -3
  61. package/dist/components/{p-CURq0twf.js.map → p-BgznZoBH.js.map} +1 -1
  62. package/dist/components/{p-BHT7_POQ.js → p-C2sWlNsJ.js} +3 -3
  63. package/dist/components/{p-BHT7_POQ.js.map → p-C2sWlNsJ.js.map} +1 -1
  64. package/dist/components/{p-CrkPot2F.js → p-CABZ6Ce4.js} +17235 -113
  65. package/dist/components/p-CABZ6Ce4.js.map +1 -0
  66. package/dist/components/{p-NXPGXBZ2.js → p-CJzBIV7n.js} +4 -4
  67. package/dist/components/{p-NXPGXBZ2.js.map → p-CJzBIV7n.js.map} +1 -1
  68. package/dist/components/{p-D13ydJjo.js → p-CLt3HMl6.js} +3 -3
  69. package/dist/components/{p-D13ydJjo.js.map → p-CLt3HMl6.js.map} +1 -1
  70. package/dist/components/{p-C3_LIgzd.js → p-CRB1YGoc.js} +7 -7
  71. package/dist/components/{p-C3_LIgzd.js.map → p-CRB1YGoc.js.map} +1 -1
  72. package/dist/components/{p-EBtkRix7.js → p-CTP479Lf.js} +6 -6
  73. package/dist/components/{p-EBtkRix7.js.map → p-CTP479Lf.js.map} +1 -1
  74. package/dist/components/{p-Dbp5YJIa.js → p-Cqpp9wKT.js} +3 -3
  75. package/dist/components/{p-Dbp5YJIa.js.map → p-Cqpp9wKT.js.map} +1 -1
  76. package/dist/components/{p-8iFF5GHL.js → p-D4yvhd1d.js} +4 -4
  77. package/dist/components/{p-8iFF5GHL.js.map → p-D4yvhd1d.js.map} +1 -1
  78. package/dist/components/{p-Dcf7tVJW.js → p-D5Wq4x4r.js} +3 -3
  79. package/dist/components/{p-Dcf7tVJW.js.map → p-D5Wq4x4r.js.map} +1 -1
  80. package/dist/components/{p-BCrMfH5n.js → p-DDmSxM5f.js} +4 -4
  81. package/dist/components/{p-BCrMfH5n.js.map → p-DDmSxM5f.js.map} +1 -1
  82. package/dist/components/{p-BQ5cdSqE.js → p-DKVBZiTy.js} +6 -6
  83. package/dist/components/{p-BQ5cdSqE.js.map → p-DKVBZiTy.js.map} +1 -1
  84. package/dist/components/{p-BctNMdxr.js → p-DhDRFCsP.js} +5 -5
  85. package/dist/components/{p-BctNMdxr.js.map → p-DhDRFCsP.js.map} +1 -1
  86. package/dist/components/{p-Bit0z7Yg.js → p-DnOeM6VQ.js} +5 -5
  87. package/dist/components/{p-Bit0z7Yg.js.map → p-DnOeM6VQ.js.map} +1 -1
  88. package/dist/components/{p-BaHZYvfq.js → p-G8Xyn7XV.js} +9 -9
  89. package/dist/components/{p-BaHZYvfq.js.map → p-G8Xyn7XV.js.map} +1 -1
  90. package/dist/components/{p-BlI4vzRZ.js → p-uuRJU2R1.js} +3 -3
  91. package/dist/components/{p-BlI4vzRZ.js.map → p-uuRJU2R1.js.map} +1 -1
  92. package/dist/esm/{default-text-tool.config-nXXHSTK9.js → default-text-tool.config-Bcel-KfG.js} +4 -95
  93. package/dist/esm/default-text-tool.config-Bcel-KfG.js.map +1 -0
  94. package/dist/esm/index.js +93 -3
  95. package/dist/esm/index.js.map +1 -1
  96. package/dist/esm/kritzel-color_22.entry.js +17476 -263
  97. package/dist/esm/loader.js +1 -1
  98. package/dist/esm/stencil.js +1 -1
  99. package/dist/stencil/index.esm.js +1 -1
  100. package/dist/stencil/index.esm.js.map +1 -1
  101. package/dist/stencil/p-1d8aaa54.entry.js +10 -0
  102. package/dist/stencil/p-1d8aaa54.entry.js.map +1 -0
  103. package/dist/stencil/{p-nXXHSTK9.js → p-Bcel-KfG.js} +2 -2
  104. package/dist/stencil/p-Bcel-KfG.js.map +1 -0
  105. package/dist/stencil/stencil.esm.js +1 -1
  106. package/dist/types/classes/core/viewport.class.d.ts +0 -1
  107. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +3 -0
  108. package/package.json +3 -1
  109. package/dist/cjs/default-text-tool.config-C0W0noF9.js.map +0 -1
  110. package/dist/components/p-CrkPot2F.js.map +0 -1
  111. package/dist/esm/default-text-tool.config-nXXHSTK9.js.map +0 -1
  112. package/dist/stencil/p-5d9c3f1b.entry.js +0 -2
  113. package/dist/stencil/p-5d9c3f1b.entry.js.map +0 -1
  114. package/dist/stencil/p-nXXHSTK9.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,H as i,c as s,g as o}from"./p-SGde3HXB.js";import{U as n,G as r,L as l,V as a,M as c,S as h,I as d,T as u,J as f,R as p,W as b,X as g,Y as k,Z as v,_ as m,$ as y,F as x,K as w,E as z,a0 as C,a1 as M,a2 as I,Q as S,a3 as j,a4 as T,a5 as O}from"./p-nXXHSTK9.js";const W=":host{display:flex}.checkerboard-bg{background:repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%) 50% / 8px 8px;position:relative;overflow:hidden}.color-circle{width:24px;height:24px;border-radius:50%;box-sizing:border-box;display:block}.color-circle.white{border:1px solid var(--kritzel-color-palette-circle-border-color, #dddcdc)}";const $=class{constructor(e){t(this,e)}value;size=24;isLightColor(t){if(!t)return false;let e=0,i=0,s=0;let o=t.startsWith("#")?t.slice(1):t;if(o.length===3){e=parseInt(o[0]+o[0],16);i=parseInt(o[1]+o[1],16);s=parseInt(o[2]+o[2],16)}else if(o.length===6){e=parseInt(o.substring(0,2),16);i=parseInt(o.substring(2,4),16);s=parseInt(o.substring(4,6),16)}else{return false}if(isNaN(e)||isNaN(i)||isNaN(s)){return false}const n=.299*e+.587*i+.114*s;return n>220}render(){const t=this.isLightColor(this.value);return e(i,{key:"198dba41e1600d76faace18de78191d2b7a551ec"},e("div",{key:"ee690cffb7925e09cb2c51022eec607247a4849f",class:"checkerboard-bg",style:{width:`${this.size}px`,height:`${this.size}px`,borderRadius:"50%",display:"inline-block",position:"relative"}},e("div",{key:"66cc8df8fabd008db8c00942994875e3e8d722ce",class:{"color-circle":true,white:t},style:{backgroundColor:this.value,width:`${this.size}px`,height:`${this.size}px`,borderRadius:"50%",position:"absolute",top:"0",left:"0",display:"inline-block"}})))}};$.style=W;const E=":host{display:flex;align-items:flex-start;gap:8px;padding:8px;width:100%;box-sizing:border-box}.color-grid{width:100%;display:grid;grid-template-columns:repeat(6, 32px);gap:8px;justify-items:center;overflow:hidden;height:40px;transition:height 0.1s ease-in-out}.color-grid.expanded{height:500px}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box}.color-container:focus-visible{outline:var(--kritzel-color-palette-focus-outline, 2px auto #e3e3e3)}.color-container:hover{background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.color-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-color-palette-selected-background-color)}";const _=class{constructor(e){t(this,e);this.colorChange=s(this,"colorChange")}colors=[];selectedColor=null;isExpanded=false;isOpaque=false;colorChange;handleColorClick(t){this.selectedColor=t;this.colorChange.emit(t)}calculateHeight(){const t=6;const e=32;const i=8;const s=Math.ceil(this.colors.length/t);return`${s*e+(s-1)*i}px`}render(){const t=this.isExpanded?this.colors:this.colors.slice(0,6);const s=this.isExpanded?this.calculateHeight():"32px";return e(i,{key:"2ead7cd530ce181856e5f582f086a22a1fe69390"},e("div",{key:"fcc75b267f36e271d50615bfde42a29c28aa2536",class:{"color-grid":true,expanded:this.isExpanded},style:{height:s}},t.map((t=>e("div",{tabIndex:0,class:{"color-container":true,selected:this.selectedColor===t},onClick:()=>this.handleColorClick(t)},e("kritzel-color",{value:t}))))))}};_.style=E;const F=":host{display:block}.menu-container{display:flex;flex-direction:column;background-color:var(--kritzel-context-menu-background-color, #ffffff);border-radius:var(--kritzel-context-menu-border-radius, 12px);box-shadow:var(--kritzel-context-menu-box-shadow, 0 1px 6px rgba(0, 0, 0, 0.12));border:var(--kritzel-context-menu-border, 1px solid #ebebeb);padding:var(--kritzel-context-menu-padding,4px)}.menu-item{display:flex;align-items:center;gap:var(--kritzel-context-menu-item-gap, 8px);background:none;border:none;text-align:left;padding:var(--kritzel-context-menu-item-padding, 8px);border-radius:var(--kritzel-context-menu-item-border-radius, 12px);cursor:pointer;font-size:var(--kritzel-context-menu-item-font-size, 14px);color:var(--kritzel-context-menu-item-color, #333333);white-space:nowrap;-webkit-tap-highlight-color:transparent}.menu-item:not(.disabled):hover{background-color:var(--kritzel-context-menu-item-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.menu-item:not(.disabled):active{background-color:var(--kritzel-context-menu-item-active-background-color, hsl(0, 0%, 0%, 8.6%))}.menu-item.disabled{color:var(--kritzel-context-menu-item-disabled-color, #aaaaaa);cursor:default}.menu-item kritzel-icon{opacity:0.8;flex-shrink:0}.menu-item.disabled kritzel-icon{opacity:0.4}.label{flex-grow:1}";const R=class{constructor(e){t(this,e);this.actionSelected=s(this,"actionSelected");this.close=s(this,"close")}get host(){return o(this)}items;onItemsChanged(){this.updateMenuItems()}objects;actionSelected;close;processedItems=[];handleOutsideClick(t){const e=t.composedPath();if(!e.includes(this.host)){this.close.emit()}}componentWillLoad(){this.updateMenuItems()}handleItemClick(t,e){if(!e){this.actionSelected.emit(t)}}async updateMenuItems(){const t=[];for(const e of this.items){const i=await this.evaluateProperty(e.visible,true);if(i){const i=await this.evaluateProperty(e.disabled,false);t.push({item:e,isDisabled:i})}}this.processedItems=t}async evaluateProperty(t,e){if(typeof t==="boolean"){return t}if(typeof t==="function"){return await Promise.resolve(t(null,this.objects))}return e}render(){return e(i,{key:"908711e45cb4ea41f25c4f66a9d3b03c847f886e"},e("div",{key:"7dcb6e5654ecafebc1fc1a2efb9fa1b8678236c4",class:"menu-container"},this.processedItems.map((({item:t,isDisabled:i},s)=>e("button",{key:`${t.label}-${s}`,class:{"menu-item":true,disabled:i},onClick:()=>this.handleItemClick(t,i),disabled:i},t.icon&&e("kritzel-icon",{name:t.icon,size:16}),e("span",{class:"label"},t.label))))))}static get watchers(){return{items:["onItemsChanged"]}}};R.style=F;const A=":host{display:flex;flex-direction:column;width:100%}.expand-toggle{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:8px;color:var(--kritzel-color-palette-expand-toggle-color, #666666)}.expand-toggle:focus-visible{outline:var(--kritzel-color-palette-focus-outline, 2px auto #e3e3e3)}.expand-toggle:hover{color:var(--kritzel-color-palette-expand-toggle-hover-color, #333333)}";const D=class{constructor(e){t(this,e);this.toolChange=s(this,"toolChange")}tool;handleToolChange(t){this.palette=t.palettes[t.type]}isExpanded=false;toolChange;palette=[];componentWillLoad(){this.palette=this.tool.palettes[this.tool.type]}handleToggleExpand(){this.isExpanded=!this.isExpanded}handleTypeChange(t){this.palette=this.tool.palettes[t.detail];this.tool.type=t.detail;this.tool.color=this.palette[0];this.toolChange.emit(this.tool)}handleColorChange(t){this.tool.color=t.detail;this.toolChange.emit(this.tool)}handleSizeChange(t){this.tool.size=t.detail;this.toolChange.emit(this.tool)}render(){return e(i,{key:"8fe8c0564f491121c0c44c6ff4083034f92dbb67"},e("div",{key:"3e8a69b827785976768bfc1e809126bee7c48c62",style:{display:"flex",flexDirection:"row",alignItems:this.isExpanded?"flex-start":"center",justifyContent:"flex-start",width:"100%",gap:"8px"}},e("kritzel-color-palette",{key:"c9056f81cf47d81fef0a0f5743000dcd6633258a",colors:this.palette,selectedColor:this.tool.color,isExpanded:this.isExpanded,isOpaque:true,onColorChange:t=>this.handleColorChange(t)}),e("button",{key:"2f307264b80a732d976edeb025d509bc1164606b",class:"expand-toggle",onClick:()=>this.handleToggleExpand(),title:this.isExpanded?"Collapse":"Expand",style:this.palette.length>6?{visibillity:"visible"}:{visibility:"hidden"}},e("kritzel-icon",{key:"08133ba0a23353b2bb3f87c685a7a0798b8dd16c",name:this.isExpanded?"chevron-up":"chevron-down"}))),e("kritzel-stroke-size",{key:"3de25cc80029ffdfdc173c4c79e937a7dc329743",selectedSize:this.tool.size,onSizeChange:t=>this.handleSizeChange(t)}))}static get watchers(){return{tool:["handleToolChange"]}}};D.style=A;const B=":host{display:block;flex-direction:column;width:100%}.expand-toggle{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:8px;color:var(--kritzel-color-palette-expand-toggle-color, #666666)}.expand-toggle:hover{color:var(--kritzel-color-palette-expand-toggle-hover-color, #333333)}";const P=class{constructor(e){t(this,e);this.toolChange=s(this,"toolChange")}tool;isExpanded=false;toolChange;handleToggleExpand(){this.isExpanded=!this.isExpanded}handleFamilyChange(t){this.tool.fontFamily=t.detail;this.toolChange.emit(this.tool)}handleColorChange(t){this.tool.fontColor=t.detail;this.toolChange.emit(this.tool)}handleSizeChange(t){this.tool.fontSize=t.detail;this.toolChange.emit(this.tool)}render(){return e(i,{key:"3695b187943af25566885d63257ae3de9f405ea5"},e("div",{key:"7bb146ae3c188478ba17f18f70fd170ce3536308",style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"flex-start",width:"100%",gap:"8px"}},e("kritzel-font-family",{key:"87f4c5ac2e2a4cfea216b1b828faad231438b9ec",selectedFontFamily:this.tool.fontFamily,onFontFamilyChange:t=>this.handleFamilyChange(t)}),e("button",{key:"2e73aaf7da659b9e069c247cc762f68394212293",class:"expand-toggle",onClick:()=>this.handleToggleExpand(),title:this.isExpanded?"Collapse":"Expand"},e("kritzel-icon",{key:"785b664697ba266432c535ea26e0665f8d8d657f",name:this.isExpanded?"chevron-up":"chevron-down"}))),e("kritzel-color-palette",{key:"ed2517a39d254b77f45154914b3ce6a934f66c33",colors:this.tool.palette,selectedColor:this.tool.fontColor,isExpanded:this.isExpanded,onColorChange:t=>this.handleColorChange(t)}),e("kritzel-font-size",{key:"9b25c9607fa69c991e769852e3e3e378e48387bd",selectedSize:this.tool.fontSize,fontFamily:this.tool.fontFamily,onSizeChange:t=>this.handleSizeChange(t)}))}};P.style=B;const V=":host{display:flex;flex-direction:column;user-select:none}:host(.mobile){--kritzel-controls-control-hover-background-color:transparent;--kritzel-controls-control-active-background-color:transparent}.kritzel-controls{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--kritzel-controls-gap, 8px);height:100%;padding:var(--kritzel-controls-padding, 8px);background-color:var(--kritzel-controls-background-color, #ffffff);border-radius:var(--kritzel-controls-border-radius, 16px);box-shadow:var(--kritzel-controls-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-controls-border, 1px solid #ebebeb);z-index:10000;position:relative}.kritzel-control{display:flex;justify-content:center;align-items:center;color:var(--kritzel-controls-control-color, #000000);border-radius:var(--kritzel-controls-control-border-radius, 12px);padding:var(--kritzel-controls-control-padding, 8px);border:none;outline:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;font-weight:bold}.kritzel-control:focus,.kritzel-control:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-control:active{background-color:var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%))}.kritzel-control.selected,.kritzel-control.selected:hover,.kritzel-control.selected:active{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF) !important;color:var(--kritzel-controls-control-selected-color, #ffffff) !important}.kritzel-control.selected:focus{background-color:var(--kritzel-controls-control-selected-background-color, #007bffe3) !important}.kritzel-divider{width:var(--kritzel-controls-divider-width, 1px);height:var(--kritzel-controls-divider-height, 24px);background-color:var(--kritzel-controls-divider-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-config-container{position:relative;display:flex;justify-content:center;align-items:center;width:40px;height:40px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.kritzel-config{display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:50%}.kritzel-config:focus{outline:var(--kritzel-menu-focus-outline, 2px solid #e3e3e3)}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.font-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.no-config{height:24px;width:24px;border-radius:50%;border:1px dashed gray}kritzel-tooltip{position:fixed;bottom:56px;left:50%;transform:translateX(-50%);z-index:10001}";const L=class{constructor(e){t(this,e);this.isControlsReady=s(this,"isControlsReady")}get host(){return o(this)}controls=[];activeControl=null;isUtilityPanelVisible=true;isControlsReady;firstConfig=null;isTooltipVisible=false;isTouchDevice=n.isTouchDevice();handleDocumentClick(t){const e=t.target;if(!this.kritzelEngine||e.closest(".kritzel-tooltip")){return}this.isTooltipVisible=false}handleKeyDown(t){if(t.key==="Escape"){t.preventDefault();this.closeTooltip();this.kritzelEngine?.enable()}}async handleActiveToolChange(t){this.activeControl=this.controls.find((e=>e.tool===t.detail))||null}async closeTooltip(){this.isTooltipVisible=false}kritzelEngine=null;tooltipRef=null;get activeToolAsTextTool(){return this.activeControl?.tool}get activeToolAsBrushTool(){return this.activeControl?.tool}async componentWillLoad(){await this.initializeEngine();await this.initializeTools();this.isControlsReady.emit()}async initializeEngine(){await customElements.whenDefined("kritzel-engine");this.kritzelEngine=this.host.parentElement.querySelector("kritzel-engine");if(!this.kritzelEngine){throw new Error("kritzel-engine not found in parent element.")}}async initializeTools(){for(const t of this.controls){if(t.type==="tool"&&t.tool){t.tool=await this.kritzelEngine.registerTool(t.name,t.tool,t.config)}if(t.type==="tool"&&t.isDefault&&t.tool){await this.kritzelEngine.changeActiveTool(t.tool);this.activeControl=t}if(t.type==="config"){if(this.firstConfig===null){this.firstConfig=t}else{console.warn("Only one config control is allowed. The first one will be used.")}}}}async handleControlClick(t){this.activeControl=t;if(this.activeControl.type==="tool"){await this.kritzelEngine.changeActiveTool(this.activeControl.tool)}}handleConfigClick(t){t.stopPropagation();this.isTooltipVisible=!this.isTooltipVisible;if(this.isTooltipVisible){this.kritzelEngine?.disable()}else{this.kritzelEngine?.enable()}setTimeout((()=>{this.tooltipRef?.focusContent()}),100)}async handleToolChange(t){this.activeControl={...this.activeControl,tool:t.detail};await this.kritzelEngine.changeActiveTool(this.activeControl.tool)}handleTooltipClosed(){this.isTooltipVisible=false;this.kritzelEngine?.enable()}render(){const t=this.activeControl?.config===undefined||this.activeControl?.config===null;return e(i,{key:"a463310d88265b71097f838bf775abdcabc99225",class:{mobile:this.isTouchDevice}},this.isUtilityPanelVisible&&e("kritzel-utility-panel",{key:"267e9c26b41a52c655209dbaa8c85cbd72323577",style:{position:"absolute",bottom:"56px",left:"12px"},onUndo:()=>this.kritzelEngine?.undo(),onRedo:()=>this.kritzelEngine?.redo(),onDelete:()=>this.kritzelEngine?.delete()}),e("div",{key:"c55773245c925e1b972f3e83cb4d8f1c93ebe995",class:"kritzel-controls"},this.controls.map((i=>{if(i.type==="tool"){return e("button",{class:{"kritzel-control":true,selected:this.activeControl?.name===i?.name},key:i.name,onClick:t=>this.handleControlClick?.(i)},e("kritzel-icon",{name:i.icon}))}if(i.type==="divider"){return e("div",{class:"kritzel-divider",key:i.name})}if(i.type==="config"&&i.name===this.firstConfig?.name&&this.activeControl){return e("div",{class:"kritzel-config-container",key:i.name},e("kritzel-tooltip",{ref:t=>this.tooltipRef=t,isVisible:this.isTooltipVisible,anchorElement:this.host.shadowRoot?.querySelector(".kritzel-config-container"),onTooltipClosed:()=>this.handleTooltipClosed()},e("div",{style:{width:"294px",height:"100%"}},this.activeControl.name==="brush"&&e("kritzel-control-brush-config",{tool:this.activeToolAsBrushTool,onToolChange:t=>this.handleToolChange?.(t)}),this.activeControl.name==="text"&&e("kritzel-control-text-config",{tool:this.activeToolAsTextTool,onToolChange:t=>this.handleToolChange?.(t)}))),e("div",{tabIndex:0,class:"kritzel-config",onClick:t=>this.handleConfigClick?.(t),onKeyDown:t=>{if(t.key==="Enter"){this.handleConfigClick?.(t)}},style:{cursor:this.activeControl.config?"pointer":"default",pointerEvents:t?"none":"auto"}},this.activeControl.tool instanceof r&&e("div",{class:"color-container"},e("kritzel-color",{value:this.activeToolAsBrushTool?.color,size:this.activeToolAsBrushTool?.size,style:{borderRadius:"50%",border:"none"}})),this.activeControl.tool instanceof l&&e("div",{class:"font-container"},e("kritzel-font",{fontFamily:this.activeToolAsTextTool?.fontFamily,size:this.activeToolAsTextTool?.fontSize,color:this.activeToolAsTextTool?.fontColor})),t&&e("div",{class:"no-config"})))}}))))}static get assetsDirs(){return["../assets"]}};L.style=V;const K=":host{display:block;position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9000}";const H=class{constructor(e){t(this,e)}core;cursorTrailPoints=[];isLeftButtonDown=false;handleMouseDown(t){if(t.pointerType==="mouse"){if(t.button===a.Left){this.isLeftButtonDown=true;this.cursorTrailPoints=[]}}if(t.pointerType==="touch"){if(this.core.store.state.pointers.size===1){this.isLeftButtonDown=true;this.cursorTrailPoints=[]}}}handlePointerMove(t){if(!this.isLeftButtonDown){return}const e={x:t.clientX,y:t.clientY,timestamp:Date.now()};const i=[e,...this.cursorTrailPoints];if(i.length>this.MAX_TRAIL_POINTS){this.cursorTrailPoints=i.slice(0,this.MAX_TRAIL_POINTS)}else{this.cursorTrailPoints=i}}handlePointerUp(t){if(t.pointerType==="mouse"){if(t.button===a.Left){this.isLeftButtonDown=false;this.cursorTrailPoints=[]}}if(t.pointerType==="touch"){if(this.core.store.state.pointers.size===0){this.isLeftButtonDown=false;this.cursorTrailPoints=[]}}}trailCleanupIntervalId;TRAIL_DURATION_MS=100;MAX_TRAIL_POINTS=50;componentDidLoad(){this.trailCleanupIntervalId=window.setInterval((()=>{const t=Date.now();const e=this.cursorTrailPoints.filter((e=>t-e.timestamp<this.TRAIL_DURATION_MS));if(e.length!==this.cursorTrailPoints.length){this.cursorTrailPoints=e}}),50)}disconnectedCallback(){if(this.trailCleanupIntervalId){window.clearInterval(this.trailCleanupIntervalId)}}render(){return e(i,{key:"87003b14680b3cbca302e7b31ff57e74cc774e25"},this.cursorTrailPoints.length>1&&e("svg",{key:"aa6460089c9f3157d2dea9396405b14ab8cc1710",class:"cursor-trail-svg",xmlns:"http://www.w3.org/2000/svg",style:{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",pointerEvents:"none",opacity:"var(--kritzel-cursor-trail-opacity, 0.6)",zIndex:"9000"}},this.cursorTrailPoints.slice(1).map(((t,i)=>{const s=this.cursorTrailPoints[i];const o=Date.now();const n=o-t.timestamp;const r=Math.max(0,Math.min(1,n/this.TRAIL_DURATION_MS));if(r>=1)return null;const l=Math.max(2,15*(1-r));return e("line",{key:`trail-segment-${t.timestamp}`,x1:s.x.toString(),y1:s.y.toString(),x2:t.x.toString(),y2:t.y.toString(),stroke:"var(--kritzel-cursor-trail-color, rgb(228, 228, 228))","stroke-width":l.toString(),"stroke-linecap":"round"})}))))}};H.style=K;const Y=':host{display:inline-flex;vertical-align:middle;width:100%;}.dropdown-wrapper{display:flex;align-items:center;border:1px solid #333333;border-radius:var(--kritzel-controls-control-border-radius, 12px);overflow:hidden;height:32px;width:100%}.custom-select{padding:0 8px;padding-right:30px;height:100%;width:100%;box-sizing:border-box;border-radius:0;border:none;background-color:#fff;cursor:pointer;outline:none;font-size:inherit;color:var(--kritzel-controls-text-color, #333333);-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(\'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23333333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>\');background-size:16px 16px;background-repeat:no-repeat;background-position:right 8px center}.custom-select.has-suffix-border{border-right:1px solid #333333}.custom-select.has-prefix-border{border-left:1px solid #333333}::slotted(*){height:100%;box-sizing:border-box}';const X=class{constructor(e){t(this,e);this.valueChanged=s(this,"valueChanged")}options=[];optionsChanged(){this.updateInternalValue(this.internalValue,true)}value;externalValueChanged(t){if(t!==this.internalValue){this.updateInternalValue(t,false)}}width;selectStyles={};internalValue;hasSuffixContent=false;hasPrefixContent=false;valueChanged;suffixSlotElement;prefixSlotElement;componentWillLoad(){this.updateInternalValue(this.value,false);this.evaluateSuffixContent();this.evaluatePrefixContent()}updateInternalValue(t,e){let i=t;if(this.options&&this.options.length>0){const t=this.options.some((t=>t.value===i));if(!i||!t){i=this.options[0].value}}else{i=undefined}if(this.internalValue!==i){this.internalValue=i;if(e||t!==i&&t!==undefined){this.valueChanged.emit(this.internalValue)}}}handleSelectChange=t=>{const e=t.target.value;if(this.internalValue!==e){this.internalValue=e;this.valueChanged.emit(this.internalValue)}};evaluateSuffixContent=()=>{if(this.suffixSlotElement){const t=this.suffixSlotElement.assignedNodes({flatten:true}).length>0;if(this.hasSuffixContent!==t){this.hasSuffixContent=t}}else{if(this.hasSuffixContent!==false){this.hasSuffixContent=false}}};evaluatePrefixContent=()=>{if(this.prefixSlotElement){const t=this.prefixSlotElement.assignedNodes({flatten:true}).length>0;if(this.hasPrefixContent!==t){this.hasPrefixContent=t}}else{if(this.hasPrefixContent!==false){this.hasPrefixContent=false}}};render(){const t={"custom-select":true,"has-suffix-border":this.hasSuffixContent,"has-prefix-border":this.hasPrefixContent};return e(i,{key:"f24911715685ced571843ba7be6631248c8519b7"},e("div",{key:"520fdb74afdef8bd5228f76074e51981f44b910d",class:"dropdown-wrapper"},e("slot",{key:"cf6628437946b57ad0b27c066639e0b64b5a28f8",name:"prefix",ref:t=>this.prefixSlotElement=t,onSlotchange:this.evaluatePrefixContent}),e("select",{key:"3203ccd5b9c8b84e8f41bddfcb07786e879f0035",class:t,style:{...this.selectStyles,width:this.width},onInput:this.handleSelectChange},this.options.map((t=>e("option",{value:t.value,style:t.style,selected:t.value===this.internalValue},t.label)))),e("slot",{key:"d0abb52e082db81860c09d2c48b7c065adb406f3",name:"suffix",ref:t=>this.suffixSlotElement=t,onSlotchange:this.evaluateSuffixContent})))}static get watchers(){return{options:["optionsChanged"],value:["externalValueChanged"]}}};X.style=Y;class U{static registry=new Map;static register(t,e){if(this.registry.has(t)){console.warn(`[IconRegistry] Icon "${t}" is already registered. It will be overwritten.`)}this.registry.set(t,e)}static get(t){return this.registry.get(t)}static registerIcons(t){for(const e in t){if(Object.prototype.hasOwnProperty.call(t,e)){this.register(e,t[e])}}}static has(t){return this.registry.has(t)}}U.registerIcons({cursor:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z"/></svg>',pen:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/></svg>',highlighter:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-highlighter-icon lucide-highlighter"><path d="m9 11-6 6v3h9l3-3"/><path d="m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"/></svg>',eraser:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"/><path d="M22 21H7"/><path d="m5 11 9 9"/></svg>',type:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 7 4 4 20 4 20 7"/><line x1="9" x2="15" y1="20" y2="20"/><line x1="12" x2="12" y1="4" y2="20"/></svg>',image:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',"chevron-down":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>',"chevron-up":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m18 15-6-6-6 6"/></svg>',copy:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy-icon lucide-copy"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>',paste:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard-paste-icon lucide-clipboard-paste"><path d="M11 14h10"/><path d="M16 4h2a2 2 0 0 1 2 2v1.344"/><path d="m17 18 4-4-4-4"/><path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113"/><rect x="8" y="2" width="8" height="4" rx="1"/></svg>',cut:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scissors-icon lucide-scissors"><circle cx="6" cy="6" r="3"/><path d="M8.12 8.12 12 12"/><path d="M20 4 8.12 15.88"/><circle cx="6" cy="18" r="3"/><path d="M14.8 14.8 20 20"/></svg>',delete:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trash2-icon lucide-trash-2"><path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/><line x1="10" x2="10" y1="11" y2="17"/><line x1="14" x2="14" y1="11" y2="17"/></svg>',"bring-to-front":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-to-line-icon lucide-arrow-up-to-line"><path d="M5 3h14"/><path d="m18 13-6-6-6 6"/><path d="M12 7v14"/></svg>',"send-to-back":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-down-to-line-icon lucide-arrow-down-to-line"><path d="M12 17V3"/><path d="m6 11 6 6 6-6"/><path d="M19 21H5"/></svg>',"select-all":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-mouse-pointer-icon lucide-square-mouse-pointer"><path d="M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"/><path d="M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"/></svg>',download:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download-icon lucide-download"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" x2="12" y1="15" y2="3"/></svg>',undo:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-undo-icon lucide-undo"><path d="M3 7v6h6"/><path d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"/></svg>',redo:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-redo-icon lucide-redo"><path d="M21 7v6h-6"/><path d="M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"/></svg>',plus:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus-icon lucide-plus"><path d="M5 12h14"/><path d="M12 5v14"/></svg>',"ellipsis-vertical":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ellipsis-vertical-icon lucide-ellipsis-vertical"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></svg>',x:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x-icon lucide-x"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>',check:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check-icon lucide-check"><path d="M20 6 9 17l-5-5"/></svg>'});const N=1e3;const q=1e-4;const G="kritzel-editor{display:flex;margin:0;position:relative;overflow:hidden;width:100%;height:100%;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}kritzel-workspace-manager{position:absolute;top:var(--kritzel-editor-workspace-manager-top, 14px);left:var(--kritzel-editor-workspace-manager-left, 14px)}kritzel-controls{position:absolute;bottom:var(--kritzel-editor-controls-bottom, 14px);transition:transform var(--kritzel-editor-controls-transition-duration, 0.1s) var(--kritzel-editor-controls-transition, ease-in-out)}kritzel-controls.keyboard-open{transform:var(--kritzel-editor-controls-transform, translateY(300%))}";const Z=class{constructor(e){t(this,e);this.isReady=s(this,"isReady")}get host(){return o(this)}scaleMax=N;scaleMin=q;controls=[{name:"selection",type:"tool",isDefault:true,tool:c,icon:"cursor"},{name:"brush",type:"tool",tool:r,icon:"pen",config:h},{name:"eraser",type:"tool",tool:d,icon:"eraser"},{name:"text",type:"tool",tool:l,icon:"type",config:u},{name:"image",type:"tool",tool:f,icon:"image"},{name:"divider",type:"divider"},{name:"config",type:"config"}];globalContextMenuItems=[{label:"Paste",icon:"paste",disabled:async()=>(await this.engineRef.getCopiedObjects()).length===0,action:t=>this.engineRef.paste(t.x,t.y)},{label:"Select All",icon:"select-all",action:()=>this.selectAllObjectsInViewport()}];objectContextMenuItems=[{label:"Copy",icon:"copy",action:()=>this.engineRef.copy()},{label:"Paste",icon:"paste",disabled:async()=>(await this.engineRef.getCopiedObjects()).length===0,action:(t,e)=>this.engineRef.paste(t.x,t.y)},{label:"Delete",icon:"delete",action:()=>this.engineRef.delete()},{label:"Bring to Front",icon:"bring-to-front",action:()=>this.engineRef.bringToFront()},{label:"Send to Back",icon:"send-to-back",action:()=>this.engineRef.sendToBack()}];customSvgIcons={};isControlsVisible=true;isUtilityPanelVisible=true;syncConfig;isReady;isEngineReady=false;isControlsReady=false;isWorkspaceManagerReady=false;workspaces=[];activeWorkspace;isVirtualKeyboardOpen=false;onIsEngineReady(t){if(t&&this.isControlsReady){this.checkIsReady()}}onIsControlsReady(t){if(t&&this.isEngineReady){this.checkIsReady()}}onWorkspacesChange(t){if(this.activeWorkspace){const e=t.find((t=>t.id===this.activeWorkspace.id));if(e&&e!==this.activeWorkspace){this.activeWorkspace=e}}}handleTouchStart(t){if(t.cancelable){t.preventDefault()}}async getObjectById(t){return this.engineRef.getObjectById(t)}async addObject(t){return this.engineRef.addObject(t)}async updateObject(t,e){return this.engineRef.updateObject(t,e)}async removeObject(t){return this.engineRef.removeObject(t)}async getSelectedObjects(){return this.engineRef.getSelectedObjects()}async selectObjects(t){return this.engineRef.selectObjects(t)}async selectAllObjectsInViewport(){return this.engineRef.selectAllObjectsInViewport()}async clearSelection(){this.engineRef.clearSelection()}async centerObjectInViewport(t){return this.engineRef.centerObjectInViewport(t)}async createWorkspace(t,e){const i=new p(`workspace-${Date.now()}`,t,e);return this.engineRef.createWorkspace(i)}async updateWorkspace(t){return this.engineRef.updateWorkspace(t)}async deleteWorkspace(t){return this.engineRef.deleteWorkspace(t)}async getWorkspaces(){return this.engineRef.getWorkspaces()}async getActiveWorkspace(){return this.engineRef.getActiveWorkspace()}engineRef;controlsRef;splitButtonRef;componentDidLoad(){this.registerCustomSvgIcons();this.listenForMobileKeyboard();this.setOsSpecificCssVariables()}async checkIsReady(){await customElements.whenDefined("kritzel-editor");await customElements.whenDefined("kritzel-workspace-manager");await customElements.whenDefined("kritzel-controls");await customElements.whenDefined("kritzel-engine");if(!this.isEngineReady||!this.isControlsReady||!this.isWorkspaceManagerReady){return}this.isReady.emit(this.host)}onEngineReady(t){this.isEngineReady=true;this.activeWorkspace=t.detail.activeWorkspace;this.workspaces=t.detail.workspaces}registerCustomSvgIcons(){for(const[t,e]of Object.entries(this.customSvgIcons)){U.register(t,e)}}listenForMobileKeyboard(){b.onKeyboardVisibleChanged((t=>{this.isVirtualKeyboardOpen=t}))}setOsSpecificCssVariables(){const t=n.detectOS();switch(t){case"iOS":this.host.style.setProperty("--kritzel-editor-workspace-manager-top","14px");this.host.style.setProperty("--kritzel-editor-workspace-manager-left","14px");this.host.style.setProperty("--kritzel-editor-controls-bottom","14px");this.host.style.setProperty("--kritzel-editor-controls-transition","cubic-bezier(0.25, 0.1, 0.25, 1.0)");this.host.style.setProperty("--kritzel-editor-controls-transform","translateY(200%)");this.host.style.setProperty("--kritzel-editor-controls-transition-duration","0.25s");break;case"Android":this.host.style.setProperty("--kritzel-editor-workspace-manager-top","14px");this.host.style.setProperty("--kritzel-editor-workspace-manager-left","14px");this.host.style.setProperty("--kritzel-editor-controls-bottom","24px");break;default:this.host.style.setProperty("--kritzel-editor-workspace-manager-top","14px");this.host.style.setProperty("--kritzel-editor-workspace-manager-left","14px");this.host.style.setProperty("--kritzel-editor-controls-bottom","14px");break}}render(){return e(i,{key:"5e91eb780eed57131e0389969c359b9ec9a4faaf"},e("kritzel-workspace-manager",{key:"c212455bc5042d35963e774d918ef15f5e4fd7e1",workspaces:this.workspaces,activeWorkspace:this.activeWorkspace,onWorkspaceChange:t=>this.activeWorkspace=t.detail,onIsWorkspaceManagerReady:()=>this.isWorkspaceManagerReady=true}),e("kritzel-engine",{key:"214b6c42b21893172401a6918b2797c0758b3d48",ref:t=>this.engineRef=t,workspace:this.activeWorkspace,syncConfig:this.syncConfig,scaleMax:this.scaleMax,scaleMin:this.scaleMin,globalContextMenuItems:this.globalContextMenuItems,objectContextMenuItems:this.objectContextMenuItems,onIsEngineReady:t=>this.onEngineReady(t),onWorkspacesChange:t=>this.workspaces=t.detail}),e("kritzel-controls",{key:"32c6b6408e2fd2c4eaa30efc50bb75b55252a265",class:{"keyboard-open":this.isVirtualKeyboardOpen},style:{display:this.isControlsVisible?"flex":"none"},ref:t=>this.controlsRef=t,controls:this.controls,isUtilityPanelVisible:this.isUtilityPanelVisible,onIsControlsReady:()=>this.isControlsReady=true}))}static get watchers(){return{isEngineReady:["onIsEngineReady"],isControlsReady:["onIsControlsReady"],workspaces:["onWorkspacesChange"]}}};Z.style=G;class J{_core;_debounceUpdate;initialTouchDistance=0;startX=0;startY=0;constructor(t,e){this._core=t;this._core.store.state.host=e;this._core.store.state.viewportWidth=e.clientWidth;this._core.store.state.viewportHeight=e.clientHeight;this._core.store.state.startX=0;this._core.store.state.startY=0;this._core.store.state.translateX=0;this._core.store.state.translateY=0;this._debounceUpdate=this.debounce((()=>{this._core.updateWorkspaceViewport(this._core.store.state.translateX,this._core.store.state.translateY,this._core.store.state.scale)}),0)}debounce(t,e){let i;return()=>{clearTimeout(i);i=setTimeout(t,e)}}handleResize(){this._core.store.state.viewportWidth=this._core.store.state.host.clientWidth;this._core.store.state.viewportHeight=this._core.store.state.host.clientHeight;this._core.store.state.hasViewportChanged=true;this._core.rerender()}handlePointerDown(t){if(t.pointerType==="mouse"){const e=t.clientX-this._core.store.offsetX;const i=t.clientY-this._core.store.offsetY;if(t.button===a.Right){this._core.store.state.isPanning=true;this._core.store.state.startX=e;this._core.store.state.startY=i}}if(t.pointerType==="touch"){const t=Array.from(this._core.store.state.pointers.values());if(t.length===2){const e=this._core.store.currentPath;if(e){this._core.store.state.objectsMap.remove((t=>t.id===e.id))}this._core.store.state.isScaling=true;const i=t[0].clientX-this._core.store.offsetX;const s=t[0].clientY-this._core.store.offsetY;const o=t[1].clientX-this._core.store.offsetX;const n=t[1].clientY-this._core.store.offsetY;this.initialTouchDistance=Math.sqrt(Math.pow(i-o,2)+Math.pow(s-n,2));this.startX=(i+o)/2;this.startY=(s+n)/2;this._core.rerender()}}}handlePointerMove(t){if(t.pointerType==="mouse"){const e=this._core.store.state.host.getBoundingClientRect();const i=t.clientX-e.left;const s=t.clientY-e.top;this._core.store.state.pointerX=(i-this._core.store.state.translateX)/this._core.store.state.scale;this._core.store.state.pointerY=(s-this._core.store.state.translateY)/this._core.store.state.scale;if(this._core.store.state.isPanning){const t=i-this._core.store.state.startX;const e=s-this._core.store.state.startY;this._core.store.state.translateX+=t;this._core.store.state.translateY+=e;this._core.store.state.startX=i;this._core.store.state.startY=s;this._core.store.state.hasViewportChanged=true;this._core.store.state.skipContextMenu=true;this._core.rerender();this._debounceUpdate()}}if(t.pointerType==="touch"){const e=this._core.store.state.host.getBoundingClientRect();const i=t.clientX-e.left;const s=t.clientY-e.top;this._core.store.state.pointerX=(i-this._core.store.state.translateX)/this._core.store.state.scale;this._core.store.state.pointerY=(s-this._core.store.state.translateY)/this._core.store.state.scale;const o=Array.from(this._core.store.state.pointers.values());if(o.length===2){const t=o[0].clientX-this._core.store.offsetX;const e=o[0].clientY-this._core.store.offsetY;const i=o[1].clientX-this._core.store.offsetX;const s=o[1].clientY-this._core.store.offsetY;const n=Math.sqrt(Math.pow(t-i,2)+Math.pow(e-s,2));const r=(t+i)/2;const l=(e+s)/2;const a=n/this.initialTouchDistance;const c=this._core.store.state.scale*a;if(c>this._core.store.state.scaleMax||c<this._core.store.state.scaleMin){this._core.store.state.translateX=this._core.store.state.translateX+r-this.startX;this._core.store.state.translateY=this._core.store.state.translateY+l-this.startY}else{const t=(r-this._core.store.state.translateX)*(a-1);const e=(l-this._core.store.state.translateY)*(a-1);this._core.store.state.translateX=this._core.store.state.translateX+r-this.startX-t;this._core.store.state.translateY=this._core.store.state.translateY+l-this.startY-e;this._core.store.state.scale=c;this.initialTouchDistance=n}this.startX=r;this.startY=l;this._core.store.state.hasViewportChanged=true;this._core.rerender();this._debounceUpdate()}}}handlePointerUp(t){if(t.pointerType==="mouse"){if(this._core.store.state.isPanning){this._core.store.state.isPanning=false;this._core.rerender()}}if(t.pointerType==="touch"){if(this._core.store.state.pointers.size===0){setTimeout((()=>{this._core.store.state.isScaling=false;this._core.rerender()}),300)}}}handleWheel(t){t.preventDefault();if(t.ctrlKey===true&&Math.abs(t.deltaY)>0&&Math.abs(t.deltaX)===0){this.handleZoom(t)}if(!t.ctrlKey){this.handlePan(t)}}centerInViewport(t){const{scale:e,viewportWidth:i,viewportHeight:s}=this._core.store.state;const{x:o,y:n,width:r,height:l}=t.rotatedBoundingBox;const a=o+r/2;const c=n+l/2;this._core.store.state.translateX=i/2-a*e;this._core.store.state.translateY=s/2-c*e;this._core.store.state.hasViewportChanged=true;this._core.rerender();this._debounceUpdate()}centerFitInViewport(t){const e=this._core.store.state.viewportWidth/(t.rotatedBoundingBox.width*1.1);const i=this._core.store.state.viewportHeight/(t.rotatedBoundingBox.height*1.1);const s=Math.min(e,i,this._core.store.state.scaleMax);const o=Math.max(s,this._core.store.state.scaleMin);this._core.store.state.scale=o;this.centerInViewport(t)}handleZoom(t){this._core.store.state.isScaling=true;const e=this._core.store.state.host.getBoundingClientRect();const i=t.clientX-e.left;const s=t.clientY-e.top;this._core.store.state.pointerX=(i-this._core.store.state.translateX)/this._core.store.state.scale;this._core.store.state.pointerY=(s-this._core.store.state.translateY)/this._core.store.state.scale;const o=t.deltaY>0?-this._core.store.state.scaleStep*this._core.store.state.scale:this._core.store.state.scaleStep*this._core.store.state.scale;const n=Math.min(this._core.store.state.scaleMax,Math.max(this._core.store.state.scaleMin,this._core.store.state.scale+o));const r=n/this._core.store.state.scale;const l=(i-this._core.store.state.translateX)*(r-1);const a=(s-this._core.store.state.translateY)*(r-1);this._core.store.state.scale=n;this._core.store.state.translateX=this._core.store.state.translateX-l;this._core.store.state.translateY=this._core.store.state.translateY-a;this._core.store.state.hasViewportChanged=true;this._core.rerender();this._debounceUpdate();setTimeout((()=>{this._core.store.state.isScaling=false}),300)}handlePan(t){const e=.8;this._core.store.state.translateX=this._core.store.state.translateX-t.deltaX*e;this._core.store.state.translateY=this._core.store.state.translateY-t.deltaY*e;this._core.store.state.hasViewportChanged=true;this._core.rerender();this._debounceUpdate()}}class Q extends g{shortcuts=[{key:"Escape",condition:t=>!!t.store.selectionGroup,action:t=>t.clearSelection()},{key:"Delete",condition:t=>!!t.store.selectionGroup,action:t=>t.delete()},{key:"z",ctrl:true,action:t=>t.undo()},{key:"y",ctrl:true,action:t=>t.redo()},{key:"s",ctrl:true,action:()=>this.switchTool("selection")},{key:"b",ctrl:true,action:()=>this.switchTool("brush")},{key:"e",ctrl:true,action:()=>this.switchTool("eraser")},{key:"i",ctrl:true,action:()=>this.switchTool("image")},{key:"x",ctrl:true,action:()=>this.switchTool("text")},{key:"c",ctrl:true,condition:t=>!!t.store.selectionGroup,action:t=>{t.copy();t.rerender()}},{key:"v",ctrl:true,condition:t=>!!t.store.state.copiedObjects&&!t.store.activeText,action:t=>t.paste()},{key:"+",ctrl:true,condition:t=>!!t.store.selectionGroup,action:t=>t.bringForward()},{key:"-",ctrl:true,condition:t=>!!t.store.selectionGroup,action:t=>t.sendBackward()},{key:"*",shift:true,condition:t=>!!t.store.selectionGroup,action:t=>t.bringToFront()},{key:"_",shift:true,condition:t=>!!t.store.selectionGroup,action:t=>t.sendToBack()}];constructor(t){super(t)}switchTool(t){const e=k.getTool(t);this._core.store.setState("activeTool",e);this._core.deselectAllObjects();e.onActivate()}handleKeyDown(t){this._core.store.state.isCtrlKeyPressed=t.ctrlKey;const e=this.shortcuts.find((e=>e.key===t.key&&!!e.ctrl===t.ctrlKey&&!!e.shift===t.shiftKey&&(!e.condition||e.condition(this._core))));if(e){t.preventDefault();e.action(this._core)}}handleKeyUp(t){this._core.store.state.isCtrlKeyPressed=t.ctrlKey}}class tt extends g{globalContextMenuItems=[];objectContextMenuItems=[];constructor(t,e,i){super(t);this.globalContextMenuItems=e;this.objectContextMenuItems=i}handleContextMenu(t){if(!(this._core.store.state.activeTool instanceof c)){return}if(this._core.store.state.skipContextMenu){this._core.store.state.skipContextMenu=false;return}const e=this._core.store.state.activeTool;e?.moveHandler?.cancelPendingDrag();if(this._core.store.selectionBox){this._core.store.state.objectsMap.remove((t=>t instanceof v));this._core.store.state.isSelecting=false}const i=this._core.getObjectFromPointerEvent(t,".object");if(i&&!(i instanceof m)&&!(i instanceof v)){const t=m.create(this._core);t.addOrRemove(i);t.isSelected=true;t.rotation=i.rotation;this._core.store.state.isSelecting=false;const e=this._core.store.selectionGroup;if(e){this._core.removeSelectionGroup()}this._core.addSelectionGroup(t);this._core.rerender()}this._core.store.state.contextMenuItems=this._core.store.selectionGroup?this.objectContextMenuItems:this.globalContextMenuItems;let s=t.clientX-this._core.store.offsetX;let o=t.clientY-this._core.store.offsetY;const n=150;const r=200;const l=10;if(s+n>window.innerWidth-l){s=window.innerWidth-n-l}if(o+r>window.innerHeight-l){o=window.innerHeight-r-l}s=Math.max(l,s);o=Math.max(l,o);this._core.store.state.contextMenuX=s;this._core.store.state.contextMenuY=o;this._core.store.state.isContextMenuVisible=true;this._core.store.state.isEnabled=false;this._core.rerender()}}class et{static isInstanceOf(t,e){return!!t&&t.__class__===e}}const it={activeWorkspace:null,activeTool:null,copiedObjects:null,objectsMap:null,resizeHandleType:null,hasViewportChanged:false,hasObjectsChanged:false,isReady:false,isEnabled:true,isScaling:false,isPanning:false,isSelecting:false,isResizing:false,isResizeHandleSelected:false,isRotating:false,isRotationHandleSelected:false,isDragging:false,isDrawing:false,isErasing:false,isWriting:false,isCtrlKeyPressed:false,isContextMenuVisible:false,contextMenuItems:[],contextMenuX:0,contextMenuY:0,skipContextMenu:false,debugInfo:{showObjectInfo:false,showViewportInfo:false},host:null,pointerX:0,pointerY:0,scale:1,scaleMax:1,scaleMin:1,scaleStep:.075,startX:0,startY:0,translateX:0,translateXMax:400,translateXMin:0,translateY:0,translateYMax:400,translateYMin:0,viewportWidth:0,viewportHeight:0,longTouchTimeout:null,longTouchDelay:300,pointers:new Map,workspaces:[]};class st extends y{__class__="KritzelCustomElement";element;isInteractive=true;constructor(t){super();if(t){this.translateX=t.translateX||0;this.translateY=t.translateY||0;this.scale=t.scale||1;this.element=t.element;this.height=t.height||0;this.width=t.width||0}}static create(t,e){const i=new st(e);i._core=t;i.id=i.generateId();i.workspaceId=t.store.state.activeWorkspace.id;return i}mount(t){if(t===null){return}if(this.isMounted&&this.elementRef===t&&this.element.parentElement===t){return}this.elementRef=t;this.isMounted=true;this.elementRef.innerHTML="";this.elementRef.appendChild(this.element)}resize(t,e,i,s){if(i<=1||s<=1){return}this.width=i;this.height=s;this.translateX=t;this.translateY=e;if(this.element){this.element.style.width=`${i}px`;this.element.style.height=`${s}px`}this._core.store.state.objectsMap.update(this)}copy(){const t=Object.create(Object.getPrototypeOf(this));Object.assign(t,this);t.id=this.generateId();t.isMounted=false;t.element=this.element.cloneNode(true);return t}}class ot{_core;constructor(t){this._core=t}revive(t){if(t&&typeof t==="object"){if(t.__class__){let e;switch(t.__class__){case"KritzelPath":e=z.create(this._core).deserialize(t);break;case"KritzelText":e=w.create(this._core,t.fontSize,t.fontFamily).deserialize(t);break;case"KritzelImage":e=x.create(this._core).deserialize(t);break;case"KritzelCustomElement":e=st.create(this._core).deserialize(t);break;case"KritzelSelectionGroup":e=m.create(this._core).deserialize(t);break;case"KritzelWorkspace":e=p.create(this._core,t).deserialize(t);break;case"KritzelBrushTool":e=new r(this._core);break;case"KritzelEraserTool":e=new d(this._core);break;case"KritzelImageTool":e=new f(this._core);break;case"KritzelSelectionTool":e=new c(this._core);break;case"KritzelTextTool":e=new l(this._core);break;default:e=t}return e}const e=Array.isArray(t)?[]:{};for(const i in t){if(Object.prototype.hasOwnProperty.call(t,i)){e[i]=this.revive(t[i])}}return e}return t}}class nt{map;_ydoc=null;_objectsMap=null;_providers=[];_undoManager=null;_reviver=null;_core=null;_workspaceId=null;_isReady=false;_temporaryItemsCount=0;get isReady(){return this._isReady}get undoManager(){return this._undoManager}get workspaceId(){return this._workspaceId}constructor(){this.map=new Map}async initialize(t,e,i){this._core=t;this._workspaceId=e;this._reviver=new ot(t);this._ydoc=new C;this._objectsMap=this._ydoc.getMap("objects");const s=`kritzel-workspace-${e}`;const o=i??M;for(const t of o.providers){let e;if(typeof t==="function"){e=new t(s,this._ydoc)}else{e=t.create(s,this._ydoc)}this._providers.push(e)}this._undoManager=new I([this._objectsMap],{captureTimeout:200,trackedOrigins:new Set(["local","temporary"]),ignoreRemoteMapChanges:true});this._undoManager.on("stack-item-added",(t=>{if(t.type==="undo"){if(t.origin==="temporary"){this._temporaryItemsCount++}console.log("Undo performed for workspace",e,this._undoManager.undoStack.length,this._undoManager.redoStack.length)}}));this._undoManager.on("stack-item-popped",(t=>{if(t.type==="undo"){if(t.origin==="temporary"&&this._temporaryItemsCount>0){this._temporaryItemsCount--}console.log("Redo performed for workspace",e,this._undoManager.undoStack.length,this._undoManager.redoStack.length)}}));this._objectsMap.observe((t=>{this.handleObjectsChange(t)}));await Promise.all(this._providers.map((t=>t.connect())));this._isReady=true;this.loadFromYjs()}handleObjectsChange(t){if(t.transaction.origin==="local"||t.transaction.origin==="temporary"){this._core?.rerender();return}const e=Array.from(t.keysChanged);const i=[];const s=[];const o=[];e.forEach((e=>{const n=t.changes.keys.get(e);if(n&&n.action==="delete"){o.push(e)}else{const t=this._objectsMap.get(e);if(t){const e=this._reviver.revive(t);if(e instanceof m){s.push(e)}else{i.push(e)}}}}));o.forEach((t=>{this.map.delete(t)}));i.forEach((t=>{this.map.set(t.id,t)}));s.forEach((t=>{this.map.set(t.id,t)}));this._core?.rerender()}transaction(t){if(this._ydoc){this._ydoc.transact(t,"local")}}loadFromYjs(){if(!this._objectsMap||!this._reviver){return}this.map.clear();this._objectsMap.forEach(((t,e)=>{const i=this._reviver.revive(t);this.map.set(e,i)}))}reset(){this.map.clear();this._ydoc.transact((()=>{this._objectsMap.clear()}),"local")}insert(t){if(!t.id){return false}this.map.set(t.id,t);if(this._objectsMap&&this.isPersistable(t)){const e=t.serialize();this._ydoc.transact((()=>{this._objectsMap.set(t.id,e)}),"local")}return true}update(t,e={}){if(!t.id||!this.map.has(t.id)){return false}this.map.set(t.id,t);if(this._objectsMap&&this.isPersistable(t)){const i=t.serialize();const s=e.temporary?"temporary":"local";this._ydoc.transact((()=>{this._objectsMap.set(t.id,i)}),s)}return true}remove(t){for(const[e,i]of this.map){if(t(i)){this.map.delete(e);if(this._objectsMap&&this.isPersistable(i)){this._ydoc.transact((()=>{this._objectsMap.delete(e)}),"local")}}}}filter(t){const e=[];for(const i of this.map.values()){if(t(i)){e.push(i)}}return e}allObjects(){return Array.from(this.map.values())}isPersistable(t){if(t instanceof v){return false}return true}undo(){if(this._undoManager&&this._undoManager.canUndo()){this._undoManager.undo()}}redo(){if(this._undoManager&&this._undoManager.canRedo()){this._undoManager.redo()}}canUndo(){return this._undoManager?this._undoManager.canUndo():false}canRedo(){return this._undoManager?this._undoManager.canRedo():false}clearHistory(){if(this._undoManager){this._undoManager.clear();this._temporaryItemsCount=0}}consolidateTemporaryItems(){if(!this._undoManager||this._temporaryItemsCount===0){return}const t=this._undoManager.undoStack.length;if(t===0){this._temporaryItemsCount=0;return}this._undoManager.stopCapturing();const e=Math.min(this._temporaryItemsCount,t);if(e>1){for(let t=0;t<e;t++){if(this._undoManager.canUndo()){this._undoManager.undo()}}this._ydoc.transact((()=>{for(let t=e-1;t>=0;t--){if(this._undoManager.canRedo()){this._undoManager.redo()}}}),"local")}this._temporaryItemsCount=0}clearTemporaryItems(){if(!this._undoManager||this._temporaryItemsCount===0){return}const t=this._undoManager.undoStack.length;const e=Math.min(this._temporaryItemsCount,t);for(let t=0;t<e;t++){if(this._undoManager.undoStack.length>0){this._undoManager.undoStack.pop()}}this._temporaryItemsCount=0}destroy(){this._providers.forEach((t=>t.destroy()));this._providers=[];if(this._ydoc){this._ydoc.destroy()}this.map.clear()}}class rt{_state;_listeners=new Map;get state(){return this._state}get currentZIndex(){return Math.max(0,...this._state.objectsMap.filter((t=>!(t instanceof m)&&!(t instanceof v))).map((t=>t.zIndex)))+1}get allObjects(){return this._state.objectsMap.allObjects()}get allNonSelectionObjects(){return this._state.objectsMap.allObjects().filter((t=>!(t instanceof m)&&!(t instanceof v)))}get selectedObjects(){return this.allObjects.filter((t=>!(t instanceof m))).filter((t=>t.isSelected))}get selectionBox(){const t=this._state.objectsMap.filter((t=>t instanceof v));return t.length>0?t[0]:null}get selectionGroup(){const t=this._state.objectsMap.filter((t=>t instanceof m));return t.length>0?t[0]:null}get activeText(){const t=this._state.objectsMap.filter((t=>t instanceof w&&t.isEditing));return t.length>0?t[0]:null}get currentPath(){const t=this._state.objectsMap.filter((t=>t instanceof z&&t.isCompleted===false));return t.length>0?t[0]:null}get offsetX(){return this._state.host.getBoundingClientRect().left}get offsetY(){return this._state.host.getBoundingClientRect().top}get isDisabled(){return this._state.isEnabled===false||this._state.isReady===false||this._state.activeWorkspace===null}constructor(t){this._state=t;this._state.objectsMap=new nt}onStateChange(t,e){if(!this._listeners.has(t)){this._listeners.set(t,new Set)}this._listeners.get(t).add(e)}getState(t){return this._state[t]}setState(t,e){const i=this._state[t];if(i!==e){this._state[t]=e;if(this._listeners.has(t)){this._listeners.get(t).forEach((s=>s(e,i,String(t))))}}}}class lt{_kritzelEngine;_store;_syncConfig;_appStateMap;get engine(){return this._kritzelEngine}get store(){return this._store}get appStateMap(){return this._appStateMap}constructor(t){this._kritzelEngine=t;this._store=new rt(it);this._appStateMap=new S}setSyncConfig(t){this._syncConfig=t}async initializeYjs(){await this._appStateMap.initialize(this,this._syncConfig)}loadWorkspacesFromAppState(){return this._appStateMap.allWorkspaces()}saveWorkspaceToAppState(t){if(this._appStateMap.has(t.id)){this._appStateMap.update(t)}else{this._appStateMap.insert(t)}}deleteWorkspaceFromAppState(t){this._appStateMap.remove((e=>e.id===t))}async initializeWorkspace(t){const e=this.loadWorkspacesFromAppState();const i=e.length>0?[...e].sort(((t,e)=>e.updatedAt.getTime()-t.updatedAt.getTime()))[0]:null;let s;if(t){s=t;const i=e.find((e=>e.id===t.id));if(!i){s._core=this;this.saveWorkspaceToAppState(s)}}else if(i){s=i}else{s=new p(j.generateUUID(),"New Workspace");s._core=this;this.saveWorkspaceToAppState(s)}if(this._store.state.objectsMap&&this._store.state.objectsMap.isReady){this._store.state.objectsMap.destroy()}this._store.state.activeWorkspace=s;this._store.state.workspaces=this.loadWorkspacesFromAppState();const o=s.viewport??{translateX:0,translateY:0,scale:1};this._store.state.translateX=o.translateX??0;this._store.state.translateY=o.translateY??0;this._store.state.scale=o.scale??1;const n=new nt;await n.initialize(this,s.id,this._syncConfig);this._store.state.objectsMap=n;this.rerender()}rerender(){if(this._kritzelEngine){this._kritzelEngine.forceUpdate++}}findObjectById(t){for(const e of this._store.allObjects){if(e.id===t){return e}}return null}getWorkspaces(){return this.loadWorkspacesFromAppState()}createWorkspace(t){t._core=this;t.createdAt=new Date;t.updatedAt=new Date;this.saveWorkspaceToAppState(t);this._store.state.workspaces=this.loadWorkspacesFromAppState()}updateWorkspace(t){t.updatedAt=new Date;this.saveWorkspaceToAppState(t);const e=this._store.state.workspaces;const i=e.findIndex((e=>e.id===t.id));if(i!==-1){e[i]=t;this._store.state.workspaces=e}}deleteWorkspace(t){if(this._store.state.activeWorkspace?.id===t.id){this._store.state.objectsMap?.destroy()}this.deleteWorkspaceFromAppState(t.id);this._store.state.workspaces=this.loadWorkspacesFromAppState();const e=`kritzel-workspace-${t.id}`;window.indexedDB.deleteDatabase(e)}updateWorkspaceViewport(t,e,i){const s=this._store.state.activeWorkspace;if(!s){return}s.viewport={translateX:t,translateY:e,scale:i};s.updatedAt=new Date;this.saveWorkspaceToAppState(s)}addObject(t){this._store.state.objectsMap.insert(t)}removeObject(t){t.isMounted=false;this._store.state.objectsMap.remove((e=>e.id===t.id))}updateObject(t,e){for(const i in e){if(e.hasOwnProperty(i)){t[i]=e[i]}}this._store.state.objectsMap.update(t)}addSelectionGroup(t){this.removeSelectionGroup();this.removeSelectionBox();this._store.state.objectsMap.insert(t)}removeSelectionGroup(){const t=this._store.selectionGroup;if(t){this._store.state.objectsMap.remove((e=>e.id===t.id))}}removeSelectionBox(){const t=this._store.selectionBox;if(t){this._store.state.objectsMap.remove((e=>e.id===t.id))}}deselectAllObjects(){this.removeSelectionGroup();this.rerender()}delete(){const t=this._store.selectionGroup;if(!t){return}t.objects.forEach((t=>this.removeObject(t)));this.removeSelectionGroup();this.rerender()}undo(){this._store.state.objectsMap?.undo()}redo(){this._store.state.objectsMap?.redo()}deleteObject(t){const e=this.findObjectById(t);if(e){this.removeObject(e);this.rerender()}}copy(){const t=this._store.selectionGroup;if(t){this._store.state.copiedObjects=t.objects.sort(((t,e)=>t.zIndex-e.zIndex)).map((t=>t.copy()))}}paste(t,e){const i=this._store.state.copiedObjects;if(!i||i.length===0){return}const s=this._store.state.activeWorkspace;const o=i.some((t=>t.workspaceId!==s.id));const n=Math.min(...i.map((t=>t.translateX)));const r=Math.min(...i.map((t=>t.translateY)));let l;let a;if(t!==undefined&&e!==undefined){l=t;a=e}else if(o){l=n;a=r}else{l=n+25/this._store.state.scale;a=r+25/this._store.state.scale}const c=l-n;const h=a-r;this.removeSelectionGroup();this.removeSelectionBox();const d=m.create(this);i.forEach(((t,e)=>{if(t.workspaceId!==s.id){t.workspaceId=s.id}t.updatePosition(t.translateX+c,t.translateY+h);t.zIndex=this._store.currentZIndex+e;this.addObject(t);d.addOrRemove(t)}));d.isSelected=true;if(i.length===1){d.rotation=i[0].rotation}this.addSelectionGroup(d);if(o){if(t!==undefined&&e!==undefined){d.updatePosition(t,e)}else{d.centerInViewport()}this.engine.viewport.centerFitInViewport(d)}this._store.state.isSelecting=false;const u=this._store.selectionGroup;if(u){this._store.state.copiedObjects=u.objects.sort(((t,e)=>t.zIndex-e.zIndex)).map((t=>t.copy()))}this._store.setState("activeTool",k.getTool("selection"));this.rerender()}bringForward(t){const e=this._store.selectionGroup;const i=t?[t]:e?.objects||[];const s=this._store.allNonSelectionObjects.filter((t=>i.findIndex((e=>e.id===t.id))===-1));const o=s.length>0?Math.max(...s.map((t=>t.zIndex)))+1:0;i.forEach((t=>{if(t.zIndex!==o){this.updateObject(t,{zIndex:t.zIndex+1})}}));this.rerender()}sendBackward(t){const e=this._store.selectionGroup;const i=t?[t]:e?.objects||[];const s=this._store.allNonSelectionObjects.filter((t=>i.findIndex((e=>e.id===t.id))===-1));const o=s.length>0?Math.min(...s.map((t=>t.zIndex)))-1:0;i.forEach((t=>{if(t.zIndex!==o){this.updateObject(t,{zIndex:t.zIndex-1})}}));this.rerender()}bringToFront(t){const e=this._store.selectionGroup;const i=t?[t]:e?.objects||[];const s=this._store.allNonSelectionObjects.filter((t=>i.findIndex((e=>e.id===t.id))===-1));const o=Math.max(...s.map((t=>t.zIndex)))+1;i.forEach((t=>{this.updateObject(t,{zIndex:o})}));this.rerender()}sendToBack(t){const e=this._store.selectionGroup;const i=t?[t]:e?.objects||[];const s=this._store.allNonSelectionObjects.filter((t=>i.findIndex((e=>e.id===t.id))===-1));const o=Math.min(...s.map((t=>t.zIndex)))-1;i.forEach((t=>{this.updateObject(t,{zIndex:o})}));this.rerender()}selectObjects(t){if(t.length===0){return}const e=m.create(this);t.forEach((t=>{t.isSelected=false;e.addOrRemove(t)}));e.isSelected=true;if(t.length===1){e.rotation=e.objects[0].rotation}this.addSelectionGroup(e);this.rerender()}selectAllObjectsInViewport(){const t=this._store.state.objectsMap.filter((t=>t.isInViewport())).filter((t=>!(t instanceof m)&&!(t instanceof v)&&!(t instanceof R)));if(t.length>0){const e=m.create(this);t.forEach((t=>{t.isSelected=false;e.addOrRemove(t)}));e.isSelected=true;this._store.state.isSelecting=false;if(t.length===1){e.rotation=e.objects[0].rotation}this.addSelectionGroup(e);this._store.setState("activeTool",k.getTool("selection"));this.rerender()}}clearSelection(){this.removeSelectionGroup();this._store.state.objectsMap.remove((t=>t instanceof v||t instanceof m));this._store.state.isSelecting=false;this._store.state.isResizeHandleSelected=false;this._store.state.isRotationHandleSelected=false;this.rerender()}resetActiveText(){const t=this._store.activeText;if(t){if(t.isEmpty){this.deleteObject(t.id)}else{t.save()}}}getObjectFromPointerEvent(t,e=".object"){const i=this._store.state.host?.shadowRoot;if(!i)return null;const s=t.clientX;const o=t.clientY;const n=i.elementFromPoint(s,o);if(!n)return null;const r=n.closest(e);if(r){const t=this._store.allObjects.find((t=>r.id===t.id));const e=t?.hitTest(s,o);return e?t:null}return null}getObjectsFromPointerEvent(t,e=".object"){const i=this._store.state.host?.shadowRoot;if(!i)return[];const s=t.clientX;const o=t.clientY;const n=i.elementsFromPoint(s,o);if(!n||n.length===0)return[];const r=new Set;n.forEach((t=>{const i=t.closest(e);if(i&&i.id){r.add(i.id)}}));if(r.size>0){return this._store.allObjects.filter((t=>r.has(t.id))).sort(((t,e)=>e.zIndex-t.zIndex))}return[]}getCanvasPoint(t){if(!this._store.state.host){return{x:0,y:0}}const e=this._store.state.host.getBoundingClientRect();const i=t.clientX-e.left;const s=t.clientY-e.top;const o=i-this._store.state.translateX;const n=s-this._store.state.translateY;const r=o/this._store.state.scale;const l=n/this._store.state.scale;return{x:r,y:l}}beforeWorkspaceChange(){this.resetActiveText();this.clearSelection();this._store.setState("activeTool",k.getTool("selection"))}}const at=":host{display:block;position:relative;height:100%;width:100%;overflow:hidden;background-color:var(--kritzel-engine-background-color, #ffffff)}:host,:host *{touch-action:none;user-select:none}.ProseMirror{outline:none}p,h1,h2,h3,h4,h5,h6,blockquote,pre{margin:0;padding:0}.debug-panel{position:absolute;pointer-events:none;top:0;right:0}.origin{position:relative;top:0;left:0;height:0;width:0;pointer-events:none;-webkit-transform-origin:top left;-moz-transform-origin:top left;transform-origin:top left;overflow:visible}.object{overflow:visible}.resize-handle-overlay.top-left,.resize-handle-overlay.bottom-right{cursor:nwse-resize}.resize-handle-overlay.top-right,.resize-handle-overlay.bottom-left{cursor:nesw-resize}.rotation-handle-overlay{cursor:grab}.PlaygroundEditorTheme__quote{margin:0;margin-left:20px;margin-bottom:10px;font-size:15px;color:rgb(101, 103, 107);border-left-color:rgb(206, 208, 212);border-left-width:4px;border-left-style:solid;padding-left:16px}";const ct=class{get host(){return o(this)}workspace;syncConfig;onWorkspaceChange(t){const e=this.core.store.state.activeWorkspace?.id;const i=t?.id;if(e!==i){this.core.beforeWorkspaceChange();this.core.initializeWorkspace(t)}}activeTool;globalContextMenuItems;objectContextMenuItems;scaleMax=N;validateScaleMax(t){if(t>N){console.warn(`scaleMax cannot be greater than ${N}.`);this.scaleMax=N;this.core.store.state.scaleMax=this.scaleMax}else{this.core.store.state.scaleMax=t}}scaleMin=q;validateScaleMin(t){if(t<q){console.warn(`scaleMin cannot be less than ${q}.`);this.scaleMin=q;this.core.store.state.scaleMin=this.scaleMin}else{this.core.store.state.scaleMin=t}}isEngineReady;activeToolChange;workspacesChange;longpress;forceUpdate=0;handleWheel(t){if(this.core.store.isDisabled){return}if(this.core.store.state.isContextMenuVisible){this.hideContextMenu()}this.viewport.handleWheel(t);this.core.store.state?.activeTool?.handleWheel(t)}handlePointerDown(t){if(this.core.store.isDisabled){return}if(n.isTouchDevice()){T.onLongPress(t,(t=>this.longpress.emit(t)))}this.host.setPointerCapture(t.pointerId);this.core.store.state.pointers.set(t.pointerId,t);this.viewport.handlePointerDown(t);this.core.store.state?.activeTool?.handlePointerDown(t)}handlePointerMove(t){if(this.core.store.isDisabled){return}this.core.store.state.pointers.set(t.pointerId,t);this.viewport.handlePointerMove(t);this.core.store.state?.activeTool?.handlePointerMove(t)}handlePointerUp(t){if(this.core.store.isDisabled){return}this.core.store.state.pointers.delete(t.pointerId);this.host.releasePointerCapture(t.pointerId);this.viewport.handlePointerUp(t);this.core.store.state?.activeTool?.handlePointerUp(t)}handlePointerCancel(t){if(this.core.store.isDisabled){return}this.host.releasePointerCapture(t.pointerId);this.core.store.state.pointers.delete(t.pointerId);this.viewport.handlePointerUp(t);this.core.store.state?.activeTool?.handlePointerUp(t)}handleLongPress(t){this.contextMenuHandler.handleContextMenu(t.detail)}handleContextMenu(t){t.preventDefault();if(this.core.store.isDisabled){return}if(t.pointerType==="touch"){return}this.contextMenuHandler.handleContextMenu(t)}handleResize(){this.viewport.handleResize()}handleKeyDown(t){if(this.core.store.isDisabled){return}this.keyHandler.handleKeyDown(t)}handleKeyUp(t){if(this.core.store.isDisabled){return}this.keyHandler.handleKeyUp(t)}preventDoubleTapZoomOnTouchDevices(t){t.preventDefault()}async registerTool(t,e,i){if(typeof e!=="function"||!(e.prototype instanceof O)){console.error(`Failed to register tool "${t}": Tool class must be a constructor function`);return null}const s=k.registerTool(t,e,this.core);if(i){Object.entries(i).forEach((([t,e])=>{s[t]=e}))}return Promise.resolve(s)}async changeActiveTool(t){this.core.store.state.activeTool?.onDeactivate();this.core.store.setState("activeTool",t);this.core.deselectAllObjects();t?.onActivate()}async disable(){this.core.store.state.isEnabled=false;this.core.rerender()}async enable(){this.core.store.state.isEnabled=true;this.core.rerender()}async delete(){this.core.delete()}async copy(){this.core.copy()}async paste(t,e){this.core.paste(t,e)}async bringForward(t){this.core.bringForward(t)}async sendBackward(t){this.core.sendBackward(t)}async bringToFront(t){this.core.bringToFront(t)}async sendToBack(t){this.core.sendToBack(t)}async undo(){this.core.undo()}async redo(){this.core.redo()}async hideContextMenu(){this.core.store.state.pointers.clear();this.core.store.state.isContextMenuVisible=false;this.core.store.state.objectsMap.remove((t=>t instanceof v));this.core.store.state.isSelecting=false;this.core.store.state.isEnabled=true;this.core.rerender()}async getObjectById(t){const e=this.core.store.allObjects.find((e=>e.id===t));return e||null}async addObject(t){this.core.deselectAllObjects();t.id=t.generateId();t._core=this.core;t.scale=t.scale?t.scale:this.core.store.state.scale;t.zIndex=this.core.store.currentZIndex;this.core.addObject(t);this.core.rerender();return t}async updateObject(t,e){this.core.deselectAllObjects();this.core.updateObject(t,e);this.core.rerender();return t}async removeObject(t){this.core.deselectAllObjects();this.core.removeObject(t);this.core.rerender();return t}async getSelectedObjects(){const t=this.core.store.selectionGroup;return t?t.objects:[]}async selectObjects(t){this.core.store.state.activeTool?.onDeactivate();this.core.store.setState("activeTool",k.getTool("selection"));this.core.deselectAllObjects();this.core.selectObjects(t)}async selectAllObjectsInViewport(){this.core.store.state.activeTool?.onDeactivate();this.core.store.setState("activeTool",k.getTool("selection"));this.core.deselectAllObjects();this.core.selectAllObjectsInViewport()}async clearSelection(){this.core.clearSelection()}async centerObjectInViewport(t){t.centerInViewport();this.core.updateObject(t,t);this.core.rerender();return t}async getCopiedObjects(){return this.core.store.state.copiedObjects||[]}async createWorkspace(t){await this.core.createWorkspace(t);this.workspacesChange.emit(this.core.store.state.workspaces);return t}async updateWorkspace(t){await this.core.updateWorkspace(t);this.workspacesChange.emit(this.core.store.state.workspaces)}async deleteWorkspace(t){await this.core.deleteWorkspace(t);this.workspacesChange.emit(this.core.store.state.workspaces)}async getWorkspaces(){return await this.core.getWorkspaces()}async getActiveWorkspace(){return this.core.store.state.activeWorkspace}core;viewport;contextMenuHandler;keyHandler;contextMenuElement=null;get isSelecting(){return this.core.store.state.activeTool instanceof c&&this.core.store.state.isSelecting}get isSelectionActive(){return this.core.store.state.activeTool instanceof c&&this.core.store.selectionGroup!==null}constructor(e){t(this,e);this.isEngineReady=s(this,"isEngineReady");this.activeToolChange=s(this,"activeToolChange");this.workspacesChange=s(this,"workspacesChange");this.longpress=s(this,"longpress");this.core=new lt(this)}componentWillLoad(){this.validateScaleMax(this.scaleMax);this.validateScaleMin(this.scaleMin)}async componentDidLoad(){this.contextMenuHandler=new tt(this.core,this.globalContextMenuItems,this.objectContextMenuItems);this.keyHandler=new Q(this.core);this.viewport=new J(this.core,this.host);if(this.syncConfig){this.core.setSyncConfig(this.syncConfig)}await this.core.initializeYjs();await this.core.initializeWorkspace(this.workspace);this.core.appStateMap.onRemoteChange((()=>{this.workspacesChange.emit(this.core.store.state.workspaces)}));this._registerStateChangeListeners();if(this.core.store.state.isReady===false){this.core.store.state.isReady=true;this.isEngineReady.emit(this.core.store.state)}}_registerStateChangeListeners(){this.core.store.onStateChange("activeTool",this._handleActiveToolChange.bind(this))}_handleActiveToolChange(t){if(!(t instanceof c)){this.core.clearSelection();this.core.store.state.objectsMap.remove((t=>t instanceof v));this.core.store.state.isSelecting=false;this.core.store.state.isResizeHandleSelected=false;this.core.store.state.isRotationHandleSelected=false}this.core.store.state.skipContextMenu=false;this.core.store.state.copiedObjects=null;this.activeToolChange.emit(t);b.forceHideKeyboard();this.core.rerender()}render(){const t=window.getComputedStyle(this.host);const s=t.getPropertyValue("--kritzel-selection-handle-size").trim()||"6px";const o=parseFloat(s);const r=o*2<14?14:o;const l=this.core.store.state.viewportWidth/2+this.core.store.state.translateX;const a=this.core.store.state.viewportHeight/2+this.core.store.state.translateY;return e(i,{key:"b67ab4cce757661cb7b1bdc10035a3aea61cb24d"},e("div",{key:"54160ed099438a59043ff4f5a774ee8c89a02153",class:"debug-panel",style:{display:this.core.store.state.debugInfo.showViewportInfo?"block":"none"}},e("div",{key:"66e3a55bc530877256782073c4378b77d95ccfee"},"ActiveWorkspaceId: ",this.core.store.state?.activeWorkspace?.id),e("div",{key:"841ea8bf317c3ef5ea35950f6bb2be9e6a8116cf"},"ActiveWorkspaceName: ",this.core.store.state?.activeWorkspace?.name),e("div",{key:"ec3a7797f01606308b54cf9b13bf7a3722c54287"},"TranslateX: ",this.core.store.state?.translateX),e("div",{key:"485dbc3021940fad42bae53a825206f27c76e604"},"TranslateY: ",this.core.store.state?.translateY),e("div",{key:"20fed3eb07d6599a175e43cd7e1708aa2a61cf31"},"ViewportWidth: ",this.core.store.state?.viewportWidth),e("div",{key:"06522e742ac0d3d7c36b4b64307d695459b792e4"},"ViewportHeight: ",this.core.store.state?.viewportHeight),e("div",{key:"e745be888b5e1b36331359ca9fa1afc166333d13"},"Scale: ",this.core.store.state?.scale),e("div",{key:"f9074a0e3434aa0fb60d8d1fc1201815cb94fb7c"},"ActiveTool: ",this.core.store.state?.activeTool?.name),e("div",{key:"3f96d5f90187cb0e042c4529351681b4799d9b38"},"HasViewportChanged: ",this.core.store.state?.hasViewportChanged?"true":"false"),e("div",{key:"6ca3d01c4aa817b0ccfd8bd1c5b65588006ecb5b"},"IsEnabled: ",this.core.store.state?.isEnabled?"true":"false"),e("div",{key:"c2941fdce608c0a0396996aa3667f3fa18cc29a3"},"IsScaling: ",this.core.store.state?.isScaling?"true":"false"),e("div",{key:"0a99cd2e9767e4a9cb74af735a5eff5a86a9b6c4"},"IsPanning: ",this.core.store.state?.isPanning?"true":"false"),e("div",{key:"0e749d3d2e131ab5984acbc7d9d91023b166ed45"},"IsSelecting: ",this.isSelecting?"true":"false"),e("div",{key:"0f102c2e704a18271e5b322814403c1cd0938356"},"IsSelectionActive: ",this.isSelectionActive?"true":"false"),e("div",{key:"d0c7eaa357268d4df97e50e85634e4be36e678ac"},"IsResizeHandleSelected: ",this.core.store.state.isResizeHandleSelected?"true":"false"),e("div",{key:"eb7b0d98fd3d4a13f152ded89a6649f408852575"},"IsRotationHandleSelected: ",this.core.store.state.isRotationHandleSelected?"true":"false"),e("div",{key:"bd9a16ff4537a9b6e73bff8d67222c4281a60fa0"},"IsDrawing: ",this.core.store.state.isDrawing?"true":"false"),e("div",{key:"fdeb2b546e421e9ce9d61e1527fcc79bd1cb217e"},"IsWriting: ",this.core.store.state.isWriting?"true":"false"),e("div",{key:"9e7e93bcb5ce9c92ea9686140fc30851f6a4c66d"},"PointerX: ",this.core.store.state?.pointerX),e("div",{key:"aaad9771c7286e352f99e2613616e8f023044926"},"PointerY: ",this.core.store.state?.pointerY),e("div",{key:"fca0584ae7d2481b2ccdb71a24ad123a5efc6668"},"SelectedObjects: ",this.core.store.selectionGroup?.objects.length||0),e("div",{key:"a3f870ca59feb6698f2a9d4a106a694ac9b8cb3f"},"ViewportCenter: (",l.toFixed(2),", ",a.toFixed(2),")")),e("div",{key:"4616f1af54642b448806e7271b421f3d7e980dd1",id:"origin",class:"origin",style:{transform:`matrix(${this.core.store.state?.scale}, 0, 0, ${this.core.store.state?.scale}, ${this.core.store.state?.translateX}, ${this.core.store.state?.translateY})`}},this.core.store.state.objectsMap.allObjects()?.map((t=>e("div",{key:t.id,style:{display:t.isInViewport()?"block":"none",transform:t?.transformationMatrix,transformOrigin:"top left",zIndex:t.zIndex.toString(),position:"absolute"}},e("svg",{xmlns:"http://www.w3.org/2000/svg",id:t.id,class:"object",style:{height:t?.totalHeight.toString(),width:t?.totalWidth.toString(),left:"0",top:"0",position:"absolute",transform:`rotate(${t.rotationDegrees}deg)`,transformOrigin:`${t.totalWidth/2}px ${t.totalHeight/2}px`,opacity:t.markedForRemoval?"0.5":t.opacity.toString(),pointerEvents:t.markedForRemoval?"none":"auto"}},e("foreignObject",{x:"0",y:"0",width:t.totalWidth.toString(),height:t.totalHeight.toString(),style:{minHeight:"0",minWidth:"0",backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:t.borderWidth+"px",borderStyle:"solid",padding:t.padding+"px",overflow:"visible"}},et.isInstanceOf(t,"KritzelPath")&&e("svg",{ref:e=>t.mount(e),xmlns:"http://www.w3.org/2000/svg",style:{height:t?.height.toString(),width:t?.width.toString(),position:"absolute",overflow:"visible"},viewBox:t?.viewBox},e("path",{d:t?.d,fill:t.fill,stroke:t?.stroke})),et.isInstanceOf(t,"KritzelImage")&&e("img",{ref:e=>t.mount(e),src:t.src,style:{width:"100%",height:"100%",userSelect:"none",pointerEvents:"none"},draggable:false,onDragStart:t=>t.preventDefault()}),et.isInstanceOf(t,"KritzelText")&&e("div",{ref:e=>t.mount(e),onPointerDown:e=>t.handlePointerDown(e),onPointerMove:e=>t.handlePointerMove(e),onPointerUp:e=>t.handlePointerUp(e),style:{minWidth:t.initialWidth+"px",minHeight:t.initialHeight+"px",maxWidth:"500px",height:"auto",width:"max-content",transformOrigin:"top left",transform:`scale(${t.scaleFactor})`,backgroundColor:t.backgroundColor,overflow:"visible"}}),et.isInstanceOf(t,"KritzelCustomElement")&&e("div",{ref:e=>t.mount(e),style:{width:"100%",height:"100%",pointerEvents:"auto",overflow:"hidden",display:"block"}}),et.isInstanceOf(t,"KritzelSelectionGroup")&&e("div",{ref:e=>t.mount(e),style:{width:"100%",height:"100%"}}),et.isInstanceOf(t,"KritzelSelectionBox")&&e("div",{ref:e=>t.mount(e),style:{width:"100%",height:"100%",backgroundColor:n.isFirefox()?t.backgroundColor:"transparent",borderWidth:n.isFirefox()?t.borderWidth+"px":"0",borderStyle:n.isFirefox()?"solid":"none",borderColor:n.isFirefox()?t.borderColor:"transparent"}})),e("line",{x1:"0",y1:"0",x2:t.totalWidth,y2:"0",style:{stroke:"var(--kritzel-selection-border-color, #007AFF)",strokeWidth:`calc(var(--kritzel-selection-border-width, 2px) * ${t.scale} / ${this.core.store.state?.scale})`,strokeLinecap:"square"},visibility:t.isSelected?"visible":"hidden"}),e("line",{x1:"0",y1:"0",x2:"0",y2:t.totalHeight,style:{stroke:"var(--kritzel-selection-border-color, #007AFF)",strokeWidth:`calc(var(--kritzel-selection-border-width, 2px) * ${t.scale} / ${this.core.store.state?.scale})`,strokeLinecap:"square"},visibility:t.isSelected?"visible":"hidden"}),e("line",{x1:"0",y1:t.totalHeight,x2:t.totalWidth,y2:t.totalHeight,style:{stroke:"var(--kritzel-selection-border-color, #007AFF)",strokeWidth:`calc(var(--kritzel-selection-border-width, 2px) * ${t.scale} / ${this.core.store.state?.scale})`,strokeLinecap:"square"},visibility:t.isSelected?"visible":"hidden"}),e("line",{x1:t.totalWidth,y1:"0",x2:t.totalWidth,y2:t.totalHeight,style:{stroke:"var(--kritzel-selection-border-color, #007AFF)",strokeWidth:`calc(var(--kritzel-selection-border-width, 2px) * ${t.scale} / ${this.core.store.state?.scale})`,strokeLinecap:"square"},visibility:t.isSelected?"visible":"hidden"}),e("circle",{class:"resize-handle top-left",cx:"0",cy:"0",r:`${o*t.scale/this.core.store.state?.scale}`,style:{fill:"var(--kritzel-selection-handle-color, #000000)"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("circle",{class:"resize-handle-overlay top-left",cx:"0",cy:"0",r:`${r*t.scale/this.core.store.state?.scale}`,style:{fill:"transparent"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("circle",{class:"resize-handle top-right",cx:t.totalWidth,cy:"0",r:`${o*t.scale/this.core.store.state?.scale}`,style:{fill:"var(--kritzel-selection-handle-color, #000000)"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("circle",{class:"resize-handle-overlay top-right",cx:t.totalWidth,cy:"0",r:`${r*t.scale/this.core.store.state?.scale}`,style:{fill:"transparent"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("circle",{class:"resize-handle bottom-left",cx:"0",cy:t.totalHeight,r:`${o*t.scale/this.core.store.state?.scale}`,style:{fill:"var(--kritzel-selection-handle-color, #000000)"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("circle",{class:"resize-handle-overlay bottom-left",cx:"0",cy:t.totalHeight,r:`${r*t.scale/this.core.store.state?.scale}`,style:{fill:"transparent"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("circle",{class:"resize-handle bottom-right",cx:t.totalWidth,cy:t.totalHeight,r:`${o*t.scale/this.core.store.state?.scale}`,style:{fill:"var(--kritzel-selection-handle-color, #000000)"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("circle",{class:"resize-handle-overlay bottom-right",cx:t.totalWidth,cy:t.totalHeight,r:`${r*t.scale/this.core.store.state?.scale}`,style:{fill:"transparent"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("line",{x1:t.totalWidth/2,y1:"0",x2:t.totalWidth/2,y2:-(15*t.scale/this.core.store.state?.scale),style:{stroke:"var(--kritzel-selection-border-color, #007AFF)",strokeWidth:`calc(var(--kritzel-selection-border-width, 2px) * ${t.scale} / ${this.core.store.state?.scale})`},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("circle",{class:"rotation-handle",cx:t.totalWidth/2,cy:-(15*t.scale/this.core.store.state?.scale),r:`${o*t.scale/this.core.store.state?.scale}`,style:{fill:"var(--kritzel-selection-handle-color, #000000)"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("circle",{class:"rotation-handle-overlay",cx:t.totalWidth/2,cy:-(15*t.scale/this.core.store.state?.scale),r:`${r*t.scale/this.core.store.state?.scale}`,style:{fill:"transparent",cursor:"grab"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),e("g",{style:{display:this.core.store.state.debugInfo.showObjectInfo?"block":"none",pointerEvents:"none"}},e("foreignObject",{x:t.totalWidth.toString(),y:"0",width:"400px",height:"160px",style:{minHeight:"0",minWidth:"0",display:t.isDebugInfoVisible?"block":"none"}},e("div",{style:{width:"100%",height:"100%"}},e("div",{style:{whitespace:"nowrap"}},"Id: ",t.id),e("div",{style:{whiteSpace:"nowrap"}},"width: ",t.width),e("div",{style:{whiteSpace:"nowrap"}},"height: ",t.height),e("div",{style:{whiteSpace:"nowrap"}},"translateX: ",t.translateX),e("div",{style:{whiteSpace:"nowrap"}},"translateY: ",t.translateY))))))))),this.core.store.state.isContextMenuVisible&&e("kritzel-context-menu",{key:"7907e01ea585125e8377d473d8d7d764b5e35609",class:"context-menu",ref:t=>this.contextMenuElement=t,items:this.core.store.state.contextMenuItems,objects:this.core.store.selectionGroup?.objects||[],style:{position:"fixed",left:`${this.core.store.state.contextMenuX}px`,top:`${this.core.store.state.contextMenuY}px`,zIndex:"10000"},onActionSelected:t=>{t.detail.action({x:(-this.core.store.state.translateX+this.core.store.state.contextMenuX)/this.core.store.state.scale,y:(-this.core.store.state.translateY+this.core.store.state.contextMenuY)/this.core.store.state.scale},this.core.store.selectionGroup?.objects);this.hideContextMenu()},onClose:()=>this.hideContextMenu()}),this.core.store.state?.activeTool instanceof d&&!this.core.store.state.isScaling&&e("kritzel-cursor-trail",{key:"4cb3d1ce212b078514524e9edc7c22f6117e5160",core:this.core}))}static get watchers(){return{workspace:["onWorkspaceChange"],scaleMax:["validateScaleMax"],scaleMin:["validateScaleMin"]}}};ct.style=at;const ht=":host{display:block}.font-preview{color:var(--kritzel-font-size-text-color, #333333);line-height:1;text-align:center;font-weight:bold}";const dt=class{constructor(e){t(this,e)}fontFamily="Arial, sans-serif";size=24;color="#000000";render(){return e(i,{key:"0d0f0f75b64f579ca236950334fafde7f0ef2a38"},e("div",{key:"e71524879ded9727891bdd43f1a41ae5eef49175",class:"font-preview",style:{fontFamily:this.fontFamily,fontSize:`${this.size}px`,color:this.color}},"A"))}};dt.style=ht;const ut=":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box;width:100%}.font-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;cursor:pointer;border-radius:0;color:var(--control-text-color);font-weight:bold;-webkit-tap-highlight-color:transparent}.font-style-button:not(:last-child){border-right:1px solid #333333}.font-style-button:hover{background-color:var(--control-hover-bg)}.font-style-button:active{background-color:var(--control-active-bg)}.font-style-button.selected,.font-style-button.selected:hover,.font-style-button.selected:active{background-color:var(--control-selected-bg);color:var(--control-selected-color)}.font-style-button.italic-text{font-style:italic}";const ft=class{constructor(e){t(this,e);this.fontFamilyChange=s(this,"fontFamilyChange")}fontOptions=[{value:"arial",label:"Arial"},{value:"verdana",label:"Verdana"},{value:"helvetica",label:"Helvetica"},{value:"tahoma",label:"Tahoma"},{value:"trebuchet ms",label:"Trebuchet MS"},{value:"times new roman",label:"Times New Roman"},{value:"georgia",label:"Georgia"},{value:"garamond",label:"Garamond"},{value:"courier new",label:"Courier New"},{value:"brush script mt",label:"Brush Script MT"}];selectedFontFamily;fontFamilyChange;componentWillLoad(){if(this.fontOptions&&this.fontOptions.length>0){const t=this.fontOptions.some((t=>t.value===this.selectedFontFamily));if(!this.selectedFontFamily||!t){this.selectedFontFamily=this.fontOptions[0].value}}}handleDropdownValueChange=t=>{this.fontFamilyChange.emit(t.detail)};render(){const t=this.fontOptions.map((t=>({value:t.value,label:t.label,style:{fontFamily:t.value}})));return e(i,{key:"d05a099adf8623b8c67d68f3861c1cd401e86e2c"},e("kritzel-dropdown",{key:"b95af194feaaf5748bb0d584617d217e4b3b8180",options:t,value:this.selectedFontFamily,onValueChanged:this.handleDropdownValueChange,selectStyles:{fontFamily:this.selectedFontFamily}},e("button",{key:"04a0a72f9297dc6c34a2a2019cae111d8725bcf4",class:"font-style-button",slot:"suffix"},"B"),e("button",{key:"f14b59f29bcce33f890b74c1fb8d1dad0ad6fd31",class:"font-style-button italic-text",slot:"suffix"},"I")))}};ft.style=ut;const pt=":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box}.size-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:4px;cursor:pointer;border:2px solid transparent;box-sizing:border-box;border-radius:50%}.size-container:hover{background-color:var(--kritzel-font-size-hover-background-color, #ebebeb)}.size-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-font-size-selected-background-color, #e0e0e0)}";const bt=class{constructor(e){t(this,e);this.sizeChange=s(this,"sizeChange")}sizes=[8,10,12,16,20,24];selectedSize=null;fontFamily="Arial";sizeChange;handleSizeClick(t){this.selectedSize=t;this.sizeChange.emit(t)}render(){return e(i,{key:"583659340d8f3bfb2ff6f64f2cd692ac07cb32d6"},this.sizes.map((t=>e("div",{class:{"size-container":true,selected:this.selectedSize===t},onClick:()=>this.handleSizeClick(t)},e("kritzel-font",{fontFamily:this.fontFamily,size:t})))))}};bt.style=pt;const gt=":host{display:inline-flex;justify-content:center;align-items:center;color:var(--kritzel-icon-color, inherited)}span{display:flex;align-items:center;width:100%;height:100%;}span>svg{width:100%;height:100%}";const kt=class{constructor(e){t(this,e)}name;label;size=24;render(){const t=U.get(this.name);if(!t){console.error(`[kritzel-icon] Icon "${this.name}" not found in registry.`);return e("span",{class:"error-icon","aria-label":`Error: Icon ${this.name} not found`},"?")}const s={width:`${this.size}px`,height:`${this.size}px`};return e(i,{style:s},e("span",{"aria-hidden":!this.label,role:this.label?"img":undefined,"aria-label":this.label,innerHTML:t}))}};kt.style=gt;const vt=":host{position:relative;display:flex;flex-direction:column;background-color:var(--kritzel-menu-background-color, #ffffff);width:var(--kritzel-menu-width, 200px);padding:var(--kritzel-menu-padding, 8px);border-radius:var(--kritzel-menu-border-radius, 12px);box-shadow:var(--kritzel-menu-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-menu-border, 1px solid #ebebeb);z-index:2;gap:var(--kritzel-menu-gap, 4px);overflow-y:auto;scrollbar-color:#ebebeb transparent;scrollbar-width:thin;max-height:300px}:host(:focus-visible){outline:var(--kritzel-menu-focus-outline, 2px solid #e3e3e3)}.has-open-child-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3}";const mt=class{constructor(e){t(this,e);this.itemSelect=s(this,"itemSelect");this.itemSave=s(this,"itemSave");this.itemCancel=s(this,"itemCancel");this.itemToggleChildMenu=s(this,"itemToggleChildMenu");this.itemCloseChildMenu=s(this,"itemCloseChildMenu");this.close=s(this,"close")}get host(){return o(this)}items;parent=null;itemSelect;itemSave;itemCancel;itemToggleChildMenu;itemCloseChildMenu;close;selectedIndex=null;async setScrollTop(t){this.host.scrollTop=t;this.host.scrollTo({top:t,behavior:"auto"})}async setFocus(){const t=this.host.shadowRoot.querySelector("kritzel-menu-item");if(t){t.focus()}}get openChildMenuItem(){return this.items.find((t=>t.isChildMenuOpen))}get editingMenuItem(){return this.items.find((t=>t.isEditing))}onOverlayClick=t=>{t.stopPropagation();this.itemCloseChildMenu.emit(this.openChildMenuItem)};handleItemSelect=t=>{t.stopPropagation();this.itemSelect.emit(t.detail)};handleSave=t=>{t.stopPropagation();this.itemSave.emit(t.detail)};handleCancel=t=>{t.stopPropagation();this.itemCancel.emit(t.detail)};handleToggleChildMenu=t=>{t.stopPropagation();this.itemToggleChildMenu.emit(t.detail)};handleCloseChildMenu=t=>{t.stopPropagation();this.itemCloseChildMenu.emit(t.detail)};render(){return e(i,{key:"211bd579000294d9edf6f85f2d7244aebe331191",tabIndex:0,onClick:t=>t.stopPropagation()},this.openChildMenuItem&&e("div",{key:"b1c397118b1fbac934867677073661a69be1cab1",class:"has-open-child-overlay",onClick:this.onOverlayClick}),this.items.map((t=>e("kritzel-menu-item",{key:t.id,item:t,parent:this.parent,style:{pointerEvents:this.editingMenuItem&&!t.isEditing?"none":"auto"},onItemSelect:this.handleItemSelect,onItemSave:this.handleSave,onItemCancel:this.handleCancel,onItemToggleChildMenu:this.handleToggleChildMenu,onItemCloseChildMenu:this.handleCloseChildMenu}))))}};mt.style=vt;const yt=":host{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--kritzel-menu-item-padding, 8px);box-sizing:border-box;gap:16px;height:var(--kritzel-menu-item-height, 40px);min-height:var(--kritzel-menu-item-min-height, 40px);font-family:sans-serif;font-size:var(--kritzel-menu-item-font-size, 14px);color:var(--kritzel-menu-item-color, #333333);border-radius:var(--kritzel-menu-item-border-radius, 12px);outline:none;cursor:default}:host(:hover) .menu-item-overlay,:host(:focus-within) .menu-item-overlay{background-color:var(--kritzel-menu-item-overlay-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.selected){background-color:var(--kritzel-menu-item-selected-bg, #007aff);color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected) .action-button{color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected.editing){background-color:var(--kritzel-menu-item-selected-bg, #007aff)}:host(.selected) .edit-input{color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected) .action-button kritzel-icon{--kritzel-icon-color:var(--kritzel-menu-item-selected-color, #ffffff)}kritzel-icon{--kritzel-icon-color:var(--kritzel-menu-item-color, #333333)}:host(.selected) .edit-input::selection{background-color:var(--kritzel-menu-item-input-selection-color, rgba(255, 255, 255, 0.16))}:host(.editing){background-color:var(--kritzel-menu-item-editing-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.disabled){opacity:0.5;pointer-events:none !important}:host(.child-open){background-color:var(--kritzel-menu-item-child-open-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.child-open.selected){background-color:var(--kritzel-menu-item-selected-bg, #007aff)}.menu-item-overlay{position:absolute;inset:0;background-color:transparent;z-index:0;pointer-events:none;border-radius:var(--kritzel-menu-item-border-radius, 12px)}.menu-item-content{display:flex;align-items:center;gap:8px;position:relative;z-index:1;height:100%}.left{justify-content:flex-start;flex:1;min-width:0}.left>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right{justify-content:flex-end}.edit-input{flex:1;height:var(--kritzel-menu-item-input-height, 24px);padding:0;background-color:transparent;border-radius:0;border:none;border-bottom:1px solid var(--kritzel-menu-item-input-border, #ccc);font-size:var(--kritzel-context-menu-item-font-size, 14px);width:100%;min-width:0;box-sizing:border-box;outline:none}.edit-input::selection{background-color:var(--kritzel-menu-item-input-selection-color, #007bff);color:var(--kritzel-menu-item-input-selection-text-color, #ffffff)}.action-button{padding:4px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background-color:transparent;background:transparent;outline:none;-webkit-tap-highlight-color:transparent}.action-button:hover,.action-button:focus{background-color:var(--kritzel-menu-item-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.action-button.disabled{pointer-events:none;opacity:0.5}";const xt=class{constructor(e){t(this,e);this.itemSelect=s(this,"itemSelect");this.itemSave=s(this,"itemSave");this.itemCancel=s(this,"itemCancel");this.itemToggleChildMenu=s(this,"itemToggleChildMenu");this.itemCloseChildMenu=s(this,"itemCloseChildMenu")}get host(){return o(this)}item;onItemChange(t,e){if(t!==e){this.isDirty=false}}parent=null;itemSelect;itemSave;itemCancel;itemToggleChildMenu;itemCloseChildMenu;isDirty=false;inputRef;focusInput(){if(this.item.isEditing&&this.inputRef&&!this.isDirty){this.inputRef.focus();if(n.isIOS()){const t=this.inputRef.value.length;this.inputRef.setSelectionRange(t,t)}else{this.inputRef.select()}}}componentDidLoad(){this.setDeviceSpecificStyles();this.focusInput()}componentDidUpdate(){this.focusInput()}setDeviceSpecificStyles=()=>{const t=n.isTouchDevice();if(t){this.host.style.setProperty("--kritzel-menu-item-overlay-background-color","transparent");this.host.style.setProperty("--kritzel-menu-item-button-hover-background-color","transparent")}};handleItemSelect=t=>{t.stopPropagation();this.itemSelect.emit({item:this.item,parent:this.parent})};handleInputChange=t=>{t.stopPropagation();const e=t.target;this.item.label=e.value;this.isDirty=true};handleSave=t=>{t.stopPropagation();this.host.focus();this.itemSave.emit(this.item)};handleCancel=t=>{t.stopPropagation();this.host.focus();this.itemCancel.emit(this.item)};handleMenuToggle=t=>{t.stopPropagation();this.itemToggleChildMenu.emit({item:this.item,childMenuAnchor:t.target})};handleMenuClose=()=>{this.itemCloseChildMenu.emit(this.item)};renderViewMode(){return[e("div",{class:"menu-item-content left"},e("div",null,this.item.label)),e("div",{class:"menu-item-content right"},this.item.children&&this.item.children.length>0&&[e("button",{id:"child-menu-toggle",class:"action-button",onClick:this.handleMenuToggle,disabled:this.item.isDisabled},e("kritzel-icon",{name:"ellipsis-vertical",size:16})),e("kritzel-portal",{anchor:this.item.childMenuAnchor,offsetY:4,onClose:this.handleMenuClose},e("kritzel-menu",{items:this.item.children,parent:this.item,onItemSelect:t=>this.itemSelect.emit(t.detail),onItemSave:t=>this.itemSave.emit(t.detail),onItemCancel:t=>this.itemCancel.emit(t.detail),onClose:this.handleMenuClose}))])]}renderEditMode(){return[e("div",{class:"menu-item-content left"},e("input",{ref:t=>this.inputRef=t,type:"text",class:"edit-input",value:this.item.label,onInput:this.handleInputChange})),e("div",{class:"menu-item-content right"},e("div",{tabIndex:0,class:"action-button",onClick:this.handleCancel},e("kritzel-icon",{name:"x",size:16})),e("div",{tabIndex:!this.isDirty&&!this.item.isNewItem?-1:0,class:{"action-button":true,disabled:!this.isDirty&&!this.item.isNewItem},onClick:this.handleSave},e("kritzel-icon",{name:"check",size:16})))]}render(){return e(i,{key:"a35e1e3427568f436a36b43ba87af3710a4e83c5",tabIndex:this.item.isDisabled?-1:0,class:{selected:this.item.isSelected,editing:this.item.isEditing,disabled:this.item.isDisabled,"child-open":this.item.isChildMenuOpen},onClick:this.handleItemSelect},e("div",{key:"42eef5a16b9b164839c1fe133e38ecb505c07632",class:"menu-item-overlay"}),this.item.isEditing?this.renderEditMode():this.renderViewMode())}static get watchers(){return{item:["onItemChange"]}}};xt.style=yt;class wt{static getNumericValueFromStyle(t,e){const i=window.getComputedStyle(t).getPropertyValue(e);return parseFloat(i)||0}static getScrollableParent(t){if(!t){return window}const e=t.parentNode?.host??t.parentElement;if(!e||e.tagName==="BODY"){return window}const i=window.getComputedStyle(e);if(i.overflow==="auto"||i.overflowY==="auto"||i.overflow==="scroll"||i.overflowY==="scroll"){return e}return this.getScrollableParent(e)}static isElementInViewport(t){if(!t){return false}const e=this.getScrollableParent(t);const i=t.getBoundingClientRect();if(e===window){const t=window.innerHeight||document.documentElement.clientHeight;const e=window.innerWidth||document.documentElement.clientWidth;return i.top>=0&&i.left>=0&&i.bottom<=t&&i.right<=e}const s=e.getBoundingClientRect();return i.top>=s.top&&i.left>=s.left&&i.bottom<=s.bottom&&i.right<=s.right}static getFocusableElements(t){if(!t)return[];const e=[];const i='a[href], button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), details, [tabindex]:not([tabindex="-1"])';const s=t=>t.offsetParent!==null;const o=t=>{if(t instanceof HTMLElement&&t.matches(i)&&!t.hasAttribute("disabled")&&s(t)){e.push(t)}if(t.shadowRoot){Array.from(t.shadowRoot.children).forEach(o)}if(t.tagName==="SLOT"){t.assignedElements({flatten:true}).forEach(o)}if(!t.shadowRoot){Array.from(t.children).forEach(o)}};o(t);return e}}const zt=class{constructor(e){t(this,e);this.close=s(this,"close")}get host(){return o(this)}anchor;anchorChanged(t){if(t){this.openPortal();this.calculatePosition();if(this.autoFocus){this.focusFirstElement()}}else{this.closePortal()}}offsetX;offsetY;autoFocus=true;close;handleOutsideClick(t){t.stopPropagation();const e=this.lastAddedPortal===this.portal;if(!e)return;const i=t.target;if(!this.host.contains(i)){this.close.emit();this.closePortal()}}handleKeyDown(t){t.stopPropagation();const e=this.lastAddedPortal===this.portal;if(!e)return;if(t.key==="Escape"){this.anchor.focus();this.close.emit();this.closePortal()}if(t.key==="Tab"){this.trapFocus(t)}if(t.key==="Enter"){const e=this.getDeepActiveElement();if(e?.click){t.preventDefault();e.click()}}}handleResize(){this.calculatePosition()}handleWindowScroll(){const t=wt.isElementInViewport(this.anchor);if(!t){this.anchor?.blur();this.closePortal();return}this.calculatePosition()}portal;id=`portal-${j.generateUUID()}`;defaultOffset=0;minLeft=0;focusFirstElement(){requestAnimationFrame((()=>{this.firstFocusableElement?.focus?.()}))}getDeepActiveElement(){let t=document.activeElement;while(t?.shadowRoot?.activeElement){t=t.shadowRoot.activeElement}return t}trapFocus(t){const e=wt.getFocusableElements(this.host);if(e.length===0)return;const i=e[0];const s=e[e.length-1];const o=this.getDeepActiveElement();if(t.shiftKey){if(o===i){s.focus();t.preventDefault()}}else{if(o===s){i.focus();t.preventDefault()}}}get firstFocusableElement(){const t=this.host.shadowRoot?.querySelector("slot");const e=t?.assignedElements({flatten:true})[0];if(!e)return null;const i=wt.getFocusableElements(e);return i[0]??e}get lastAddedPortal(){const t=Array.from(document.querySelectorAll('[id^="portal-"]'));return t.length?t[t.length-1]:null}calculateLeft(){if(!this.anchor||!this.portal)return 0;const t=this.anchor.getBoundingClientRect();const e=this.portal.getBoundingClientRect();const i=this.offsetX??this.defaultOffset;let s=t.left+i;const o=window.innerWidth-e.width-this.minLeft;if(s<this.minLeft)s=this.minLeft;if(s>o)s=o;return Math.round(s+window.scrollX)}calculateTop(){if(!this.anchor||!this.portal)return 0;const t=this.anchor.getBoundingClientRect();const e=this.portal.getBoundingClientRect();const i=this.offsetY??this.defaultOffset;let s=t.bottom+i;if(s+e.height>window.innerHeight){s=t.top-e.height-i}return Math.round(s+window.scrollY)}openPortal(){this.portal=document.createElement("div");this.portal.setAttribute("id",this.id);this.portal.style.zIndex="1";this.portal.style.position="absolute";this.portal.style.top="0px";this.portal.style.left="0px";this.portal.appendChild(this.host);document.body.append(this.portal)}closePortal(){const t=document.getElementById(this.id);if(!t)return;document.body.removeChild(t);this.host.remove()}calculatePosition(){if(!this.anchor||!this.portal)return;const t=this.calculateTop();const e=this.calculateLeft();this.portal.style.top=`${t}px`;this.portal.style.left=`${e}px`}render(){return e(i,{key:"a906e21c1257dfc6ed21257cce150db17048f04e",style:{display:this.anchor?"block":"none"}},e("slot",{key:"972544f2258f8b6dc8c691f3762d5ba806a57c41"}))}static get watchers(){return{anchor:["anchorChanged"]}}};const Ct=":host{position:relative;display:flex;align-items:center;font-family:sans-serif;z-index:1;padding:var(--kritzel-split-button-padding, 4px);background-color:var(--kritzel-split-button-background-color, #ffffff);border-radius:var(--kritzel-split-button-border-radius, 12px);box-shadow:var(--kritzel-split-button-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-split-button-border, 1px solid #ebebeb);gap:var(--kritzel-split-button-gap, 4px)}:host(.mobile){--kritzel-split-button-hover-background-color:transparent}button{border:none;background-color:transparent;padding:0;margin:0;font-family:inherit;font-size:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center;pointer-events:all;-webkit-tap-highlight-color:transparent}.split-main-button,.split-menu-button{height:auto;display:flex;align-items:center;padding:var(--kritzel-split-button-padding, 8px);background-color:var(--kritzel-split-button-background-color, #ffffff);border-radius:var(--kritzel-split-button-border-radius, 12px);font-size:var(--kritzel-split-button-font-size, 14px)}.split-main-button:hover,.split-menu-button:hover{background-color:var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.split-main-button:focus,.split-menu-button:focus{outline:none;background-color:var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.split-main-button{gap:var(--kritzel-split-button-gap, 4px)}.split-menu-button{border-left:none;justify-content:center}.split-divider{width:var(--kritzel-split-button-divider-width, 1px);height:24px;background-color:var(--kritzel-split-button-divider-background-color, hsl(0, 0%, 0%, 4.3%))}:disabled{pointer-events:none;opacity:0.5}";const Mt=class{constructor(e){t(this,e);this.mainButtonClick=s(this,"mainButtonClick");this.itemSelect=s(this,"itemSelect");this.itemSave=s(this,"itemSave");this.itemCancel=s(this,"itemCancel");this.itemToggleChildMenu=s(this,"itemToggleChildMenu");this.itemCloseChildMenu=s(this,"itemCloseChildMenu");this.menuOpen=s(this,"menuOpen");this.menuClose=s(this,"menuClose")}get host(){return o(this)}buttonIcon="plus";dropdownIcon="chevron-down";items=[];mainButtonDisabled=false;menuButtonDisabled=false;mainButtonClick;itemSelect;itemSave;itemCancel;itemToggleChildMenu;itemCloseChildMenu;menuOpen;menuClose;isMenuOpen=false;isTouchDevice=n.isTouchDevice();anchorElement;menuScrollTop=0;splitMenuButtonRef;menuRef;async open(){if(this.isMenuOpen)return;this.isMenuOpen=true;this.anchorElement=this.host;this.menuOpen.emit()}async focusMenu(){if(this.menuRef){await this.menuRef.setFocus()}}handleButtonClick=t=>{t.stopPropagation();this.mainButtonClick.emit()};toggleMenu=t=>{t.stopPropagation();if(this.isMenuOpen){this.closeMenu()}else{this.openMenu(t)}};openMenu=t=>{t.stopPropagation();this.isMenuOpen=true;this.anchorElement=this.host;this.menuOpen.emit();requestAnimationFrame((()=>{this.menuRef?.setScrollTop(this.menuScrollTop)}))};closeMenu=()=>{this.isMenuOpen=false;this.anchorElement=null;this.splitMenuButtonRef?.blur();this.menuClose.emit()};handleItemSelect=t=>{this.itemSelect.emit(t.detail)};handleItemSave=t=>{this.itemSave.emit(t.detail)};handleItemCancel=t=>{this.itemCancel.emit(t.detail)};handleItemToggleChildMenu=t=>{this.itemToggleChildMenu.emit(t.detail)};handleItemCloseChildMenu=t=>{this.itemCloseChildMenu.emit(t.detail)};handleScroll=t=>{this.menuScrollTop=t.target.scrollTop};render(){return e(i,{key:"d18a70b94e3d6860dfac952b26f66e5b96cc6fa0",class:{mobile:this.isTouchDevice}},e("button",{key:"ee65221543fd8984f94d0a0b43beb7e1d28411f2",class:"split-main-button",tabIndex:0,onClick:this.handleButtonClick,disabled:this.mainButtonDisabled},this.buttonIcon&&e("kritzel-icon",{key:"1dbdd1e4db4087564464e9586e91b48f80b88aae",name:this.buttonIcon})),e("div",{key:"78b5e0589e7a3dd0592fb2c1cdaae8732f57b129",class:"split-divider"}),e("button",{key:"cfc5d53f06485a927608a99ea491e36b0e993fcc",ref:t=>this.splitMenuButtonRef=t,class:"split-menu-button",tabIndex:0,onClick:this.toggleMenu,disabled:this.menuButtonDisabled},e("kritzel-icon",{key:"0e141b614cbfc758f01d21908d846d16bdce586d",name:this.dropdownIcon})),e("kritzel-portal",{key:"b5def34dcfe5cbbf9641b1218af803937d7a77b6",anchor:this.anchorElement,offsetY:4,onClose:this.closeMenu},e("kritzel-menu",{key:"695f6c85a8ecd44f74ecf7752bf77d0caac69e6a",ref:t=>this.menuRef=t,items:this.items,onItemSelect:this.handleItemSelect,onItemSave:this.handleItemSave,onItemCancel:this.handleItemCancel,onItemToggleChildMenu:this.handleItemToggleChildMenu,onItemCloseChildMenu:this.handleItemCloseChildMenu,onClose:this.closeMenu,onScroll:this.handleScroll})))}};Mt.style=Ct;const It=":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box}.size-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box}.size-container:focus-visible{outline:var(--kritzel-stroke-size-focus-outline, 2px auto #e3e3e3)}.size-container:hover{background-color:var(--kritzel-stroke-size-hover-background-color, #ebebeb)}.size-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-stroke-size-selected-background-color, #ebebeb)}";const St=class{constructor(e){t(this,e);this.sizeChange=s(this,"sizeChange")}sizes=[4,6,8,12,16,24];selectedSize=null;sizeChange;handleSizeClick(t){this.selectedSize=t;this.sizeChange.emit(t)}render(){return e(i,{key:"001a0ef8408d19532b57a521929c0cba54e99c52"},this.sizes.map((t=>e("div",{tabIndex:0,class:{"size-container":true,selected:this.selectedSize===t},onClick:()=>this.handleSizeClick(t)},e("kritzel-color",{value:"#000000",size:t})))))}};St.style=It;const jt=":host{width:auto}.tooltip-content{position:relative;padding:8px 12px;border-radius:4px;width:fit-content;background-color:var(--kritzel-controls-tooltip-background-color, #ffffff);color:var(--kritzel-controls-tooltip-color, #000000);padding:var(--kritzel-controls-tooltip-padding, 8px);border-radius:var(--kritzel-controls-tooltip-border-radius, 16px);white-space:nowrap;box-shadow:var(--kritzel-controls-tooltip-box-shadow, 0 1px 6px rgba(0, 0, 0, 0.12))}";const Tt=768;const Ot=class{constructor(e){t(this,e);this.tooltipClosed=s(this,"tooltipClosed")}get host(){return o(this)}isVisible=false;anchorElement;arrowSize=8;offsetY=24;tooltipClosed;positionX=0;arrowOffset="0px";isMobileView=window.innerWidth<Tt;handleOutsideClick(t){if(!this.isVisible)return;const e=t.target;if(!this.host.contains(e)){this.tooltipClosed.emit()}}handleWindowResize(){this.isMobileView=window.innerWidth<Tt;this.calculateAdjustedPosition()}async focusContent(){const t=wt.getFocusableElements(this.host);if(t.length>0){t[0].focus()}}componentDidLoad(){this.focusSlottedContent()}componentWillLoad(){this.isMobileView=window.innerWidth<Tt;this.calculateAdjustedPosition()}componentWillUpdate(){this.calculateAdjustedPosition()}focusSlottedContent(){const t=this.host.shadowRoot?.querySelector("slot");const e=t?.assignedElements()||[];if(e.length>0){const t=e[0];t.focus()}}calculateAdjustedPosition(){if(this.isVisible&&this.anchorElement){const t=this.anchorElement.getBoundingClientRect();const e=this.host.shadowRoot?.querySelector(".tooltip-content");if(!this.isMobileView){this.positionX=t.left+t.width/2;this.arrowOffset=`calc(${50}% - ${this.arrowSize}px)`}else{const i=e.getBoundingClientRect();this.positionX=t.left+t.width/2-i.width/2;this.arrowOffset=`${t.left+t.width/2-i.left-this.arrowSize}px`}}}render(){return e(i,{key:"8c3aeff60625f43f129afa70367cdb7a68a4b271",style:{position:"fixed",zIndex:"9999",transition:"opacity 0.3s ease-in-out, transform 0.3s ease-in-out",visibility:this.isVisible?"visible":"hidden",left:!this.isMobileView?`${this.positionX}px`:"50%",marginBottom:`${this.offsetY+this.arrowSize}px`}},e("div",{key:"b22b606c2a836c2c9bbe21c6b470754753ccb309",class:"tooltip-content",onClick:t=>t.stopPropagation()},e("slot",{key:"783403f4b5560012c9f6bd184a8c5eb26428e148"}),e("div",{key:"bb98400edc5c6e05fd4ed2a476a5821f93964b8e",class:"tooltip-arrow-wrapper",style:{position:"fixed",left:this.arrowOffset,bottom:`-${this.arrowSize*2}px`}},e("div",{key:"850a058d635113a7870f25fa288a6447394c53ed",class:"tooltip-arrow",style:{borderLeft:`${this.arrowSize}px solid transparent`,borderRight:`${this.arrowSize}px solid transparent`,borderTop:`${this.arrowSize}px solid var(--kritzel-controls-tooltip-background-color, #ffffff)`,filter:"drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))"}}),e("div",{key:"bbb3dc2673e2dfe4443ad80540dfc9e5a25c6c06",class:"tooltip-arrow-rect",style:{position:"relative",width:`${this.arrowSize*2}px`,height:`${this.arrowSize}px`,backgroundColor:"var(--kritzel-controls-tooltip-background-color, #ffffff)",bottom:`${this.arrowSize*2}px`}}))))}};Ot.style=jt;const Wt=":host{display:flex;flex-direction:row;align-items:center;padding:4px;gap:8px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:rgb(226, 226, 226);width:fit-content;user-select:none}.utility-button{display:flex;justify-content:center;align-items:center;width:28px;height:28px;padding:8px 4px;border:none;outline:none;background:none;cursor:pointer;color:#333333;-webkit-tap-highlight-color:transparent;border-radius:var(--kritzel-utility-panel-button-border-radius, 8px)}.utility-button:focus{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.utility-separator{width:1px;height:16px;background-color:hsl(0, 0%, 0%, 4.3%)}";const $t=class{constructor(e){t(this,e);this.undo=s(this,"undo");this.redo=s(this,"redo");this.delete=s(this,"delete")}undo;redo;delete;handleUndo(t){if(t.cancelable){t.preventDefault();t.stopPropagation();this.undo.emit()}}handleRedo(t){t.preventDefault();t.stopPropagation();this.redo.emit()}render(){return e(i,{key:"8109ccff01374c046d057021dfbcabdc632d829f"},e("button",{key:"0d51cfb401974edf1a2a8810d2244f8a977c347f",class:"utility-button",onClick:t=>this.handleUndo(t)},e("kritzel-icon",{key:"1d13ee6bbf060402e0b1349d41b728875314e2e5",name:"undo"})),e("button",{key:"f2fe59e7c99cb1550052088b507313cfaed72f29",class:"utility-button",onClick:t=>this.handleRedo(t)},e("kritzel-icon",{key:"74bf8c20f61144ab4abc5804dcd8f39917d2c966",name:"redo"})),e("div",{key:"0c9a942e786425b32e984fefdc97b1abb5077997",class:"utility-separator"}),e("button",{key:"44ca9340c2f73212332e9b3ed93ed93b8f7c6944",class:"utility-button"},e("kritzel-icon",{key:"7b4c3d9a105e0c25b5bbc11ff1bc1cbed9833e03",name:"delete",onClick:()=>this.delete.emit()})))}};$t.style=Wt;const Et=":host{display:flex;flex-direction:column;z-index:1}";const _t=class{constructor(e){t(this,e);this.isWorkspaceManagerReady=s(this,"isWorkspaceManagerReady");this.workspaceChange=s(this,"workspaceChange")}get host(){return o(this)}activeWorkspace;workspaces=[];isWorkspaceManagerReady;workspaceChange;childMenuAnchor=null;openChildMenuItem=null;newWorkspace=null;editingItemId=null;handleWheel(t){if(t.ctrlKey){t.preventDefault()}}kritzelEngineRef=null;splitButtonRef;get sortedWorkspaces(){return[this.newWorkspace,...this.workspaces].filter((t=>t!=null)).sort(((t,e)=>e.createdAt.getTime()-t.createdAt.getTime()))}async componentWillLoad(){await this.initializeEngine();this.isWorkspaceManagerReady.emit()}async initializeEngine(){await customElements.whenDefined("kritzel-engine");this.kritzelEngineRef=this.host.parentElement.querySelector("kritzel-engine");if(!this.kritzelEngineRef){throw new Error("kritzel-engine not found in parent element.")}}async select(t,e){if(this.editingItemId){return}if(t.action){t.action(t,e);return}this.workspaceChange.emit(t.value)}async add(){await this.splitButtonRef.open();this.newWorkspace=new p(j.generateUUID(),"New Workspace");this.editingItemId=this.newWorkspace.id}edit(t){this.openChildMenuItem=null;this.childMenuAnchor=null;requestAnimationFrame((()=>{this.editingItemId=t.id}))}async save(t){if(this.newWorkspace){this.newWorkspace.name=t.label;await this.kritzelEngineRef.createWorkspace(this.newWorkspace);this.workspaceChange.emit(this.newWorkspace)}else{const e=t.value;e.name=t.label;await this.kritzelEngineRef.updateWorkspace(e)}this.editingItemId=null;this.newWorkspace=null}cancel(){this.newWorkspace=null;this.editingItemId=null}async delete(t){this.openChildMenuItem=null;this.childMenuAnchor=null;await this.kritzelEngineRef.deleteWorkspace(t.value);if(t.value.id===this.activeWorkspace?.id){this.activeWorkspace=this.sortedWorkspaces.find((e=>e.id!==t.value.id))||null;this.workspaceChange.emit(this.activeWorkspace)}await this.splitButtonRef.focusMenu()}toggleChildMenu(t,e){this.openChildMenuItem=t;this.childMenuAnchor=e}closeChildMenu(){this.openChildMenuItem=null;this.childMenuAnchor=null}handleMenuOpen(){this.kritzelEngineRef.disable()}handleMenuClose(){this.cancel();this.closeChildMenu();this.kritzelEngineRef.enable()}render(){const t=this.sortedWorkspaces.sort(((t,e)=>e.createdAt.getTime()-t.createdAt.getTime())).filter((t=>t!==null)).map((t=>({id:t.id,label:t.name,value:t,isEditing:this.editingItemId===t.id,isSelected:this.activeWorkspace?.id===t.id,isNewItem:this.newWorkspace?.id===t.id,isChildMenuOpen:this.openChildMenuItem?.id===t.id,childMenuAnchor:this.openChildMenuItem?.id===t.id?this.childMenuAnchor:null,children:[{id:`${t.id}-rename`,label:"Rename",value:"rename",action:(t,e)=>this.edit(e)},{id:`${t.id}-delete`,label:"Delete",value:"delete",isDisabled:this.sortedWorkspaces.length<=1,action:(t,e)=>this.delete(e)}]})));return e(i,null,e("kritzel-split-button",{ref:t=>this.splitButtonRef=t,items:t,mainButtonDisabled:this.editingItemId!=null,onMainButtonClick:()=>this.add(),onItemSelect:t=>this.select(t.detail.item,t.detail.parent),onItemToggleChildMenu:t=>this.toggleChildMenu(t.detail.item,t.detail.childMenuAnchor),onItemSave:t=>this.save(t.detail),onItemCancel:()=>this.cancel(),onItemCloseChildMenu:()=>this.closeChildMenu(),onMenuOpen:()=>this.handleMenuOpen(),onMenuClose:()=>this.handleMenuClose()}))}};_t.style=Et;export{$ as kritzel_color,_ as kritzel_color_palette,R as kritzel_context_menu,D as kritzel_control_brush_config,P as kritzel_control_text_config,L as kritzel_controls,H as kritzel_cursor_trail,X as kritzel_dropdown,Z as kritzel_editor,ct as kritzel_engine,dt as kritzel_font,ft as kritzel_font_family,bt as kritzel_font_size,kt as kritzel_icon,mt as kritzel_menu,xt as kritzel_menu_item,zt as kritzel_portal,Mt as kritzel_split_button,St as kritzel_stroke_size,Ot as kritzel_tooltip,$t as kritzel_utility_panel,_t as kritzel_workspace_manager};
2
- //# sourceMappingURL=p-5d9c3f1b.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["registerInstance","h","Host","createEvent","getElement","KritzelDevicesHelper","KritzelBrushTool","KritzelTextTool","KritzelMouseButton","KritzelSelectionTool","DEFAULT_BRUSH_CONFIG","KritzelEraserTool","DEFAULT_TEXT_CONFIG","KritzelImageTool","KritzelWorkspace","KritzelKeyboardHelper","KritzelBaseHandler","KritzelToolRegistry","KritzelSelectionBox","KritzelSelectionGroup","KritzelBaseObject","KritzelImage","KritzelText","KritzelPath","Doc","DEFAULT_SYNC_CONFIG","UndoManager","KritzelAppStateMap","ObjectHelper","KritzelEventHelper","KritzelBaseTool","kritzelColorCss","KritzelColor","constructor","hostRef","this","value","size","isLightColor","hexColor","r","g","b","sanitizedHex","startsWith","slice","length","parseInt","substring","isNaN","luminance","render","isColorVeryLight","key","class","style","width","height","borderRadius","display","position","white","backgroundColor","top","left","kritzelColorPaletteCss","KritzelColorPalette","colorChange","colors","selectedColor","isExpanded","isOpaque","handleColorClick","color","emit","calculateHeight","colorsPerRow","rowHeight","gap","rowCount","Math","ceil","displayedColors","expandedHeight","expanded","map","tabIndex","selected","onClick","kritzelContextMenuCss","KritzelContextMenu","actionSelected","close","host","items","onItemsChanged","updateMenuItems","objects","processedItems","handleOutsideClick","event","path","composedPath","includes","componentWillLoad","handleItemClick","item","isDisabled","processed","isVisible","evaluateProperty","visible","disabled","push","defaultValue","Promise","resolve","index","label","icon","name","watchers","kritzelControlBrushConfigCss","KritzelControlBrushConfig","toolChange","tool","handleToolChange","newTool","palette","palettes","type","handleToggleExpand","handleTypeChange","detail","handleColorChange","handleSizeChange","flexDirection","alignItems","justifyContent","onColorChange","title","visibillity","visibility","selectedSize","onSizeChange","kritzelControlTextConfigCss","KritzelControlTextConfig","handleFamilyChange","fontFamily","fontColor","fontSize","selectedFontFamily","onFontFamilyChange","kritzelControlsCss","KritzelControls","isControlsReady","controls","activeControl","isUtilityPanelVisible","firstConfig","isTooltipVisible","isTouchDevice","handleDocumentClick","element","target","kritzelEngine","closest","handleKeyDown","preventDefault","closeTooltip","enable","handleActiveToolChange","find","control","tooltipRef","activeToolAsTextTool","activeToolAsBrushTool","initializeEngine","initializeTools","customElements","whenDefined","parentElement","querySelector","Error","c","registerTool","config","isDefault","changeActiveTool","console","warn","handleControlClick","handleConfigClick","stopPropagation","disable","setTimeout","focusContent","handleTooltipClosed","hasNoConfig","undefined","mobile","bottom","onUndo","undo","onRedo","redo","onDelete","delete","_event","ref","el","anchorElement","shadowRoot","onTooltipClosed","onToolChange","onKeyDown","cursor","pointerEvents","border","assetsDirs","kritzelCursorTrailCss","KritzelCursorTrail","core","cursorTrailPoints","isLeftButtonDown","handleMouseDown","ev","pointerType","button","Left","store","state","pointers","handlePointerMove","newPoint","x","clientX","y","clientY","timestamp","Date","now","updatedTrail","MAX_TRAIL_POINTS","handlePointerUp","trailCleanupIntervalId","TRAIL_DURATION_MS","componentDidLoad","window","setInterval","newTrailPoints","filter","p","disconnectedCallback","clearInterval","xmlns","opacity","zIndex","point","prevPoint","age","progress","max","min","baseStrokeWidth","x1","toString","y1","x2","y2","stroke","kritzelDropdownCss","KritzelDropdown","valueChanged","options","optionsChanged","updateInternalValue","internalValue","externalValueChanged","newValue","selectStyles","hasSuffixContent","hasPrefixContent","suffixSlotElement","prefixSlotElement","evaluateSuffixContent","evaluatePrefixContent","proposedValue","emitChange","finalValue","isValidValue","some","opt","handleSelectChange","newHasContent","assignedNodes","flatten","selectClasses","onSlotchange","onInput","option","KritzelIconRegistry","static","Map","register","svgContent","registry","has","set","get","registerIcons","icons","Object","prototype","hasOwnProperty","call","pen","highlighter","eraser","image","copy","paste","cut","download","plus","check","ABSOLUTE_SCALE_MAX","ABSOLUTE_SCALE_MIN","kritzelEditorCss","KritzelEditor","isReady","scaleMax","scaleMin","globalContextMenuItems","async","engineRef","getCopiedObjects","action","menu","selectAllObjectsInViewport","objectContextMenuItems","_","bringToFront","sendToBack","customSvgIcons","isControlsVisible","syncConfig","isEngineReady","isWorkspaceManagerReady","workspaces","activeWorkspace","isVirtualKeyboardOpen","onIsEngineReady","checkIsReady","onIsControlsReady","onWorkspacesChange","newWorkspaces","updatedActiveWorkspace","ws","id","handleTouchStart","cancelable","getObjectById","addObject","object","updateObject","updatedProperties","removeObject","getSelectedObjects","selectObjects","clearSelection","centerObjectInViewport","createWorkspace","viewport","workspace","updateWorkspace","deleteWorkspace","getWorkspaces","getActiveWorkspace","controlsRef","splitButtonRef","registerCustomSvgIcons","listenForMobileKeyboard","setOsSpecificCssVariables","onEngineReady","svg","entries","onKeyboardVisibleChanged","isOpen","os","detectOS","setProperty","onWorkspaceChange","onIsWorkspaceManagerReady","KritzelViewport","_core","_debounceUpdate","initialTouchDistance","startX","startY","viewportWidth","clientWidth","viewportHeight","clientHeight","translateX","translateY","debounce","updateWorkspaceViewport","scale","func","delay","timeoutId","clearTimeout","handleResize","hasViewportChanged","rerender","handlePointerDown","adjustedClientX","offsetX","adjustedClientY","offsetY","Right","isPanning","activePointers","Array","from","values","currentPath","objectsMap","remove","obj","isScaling","firstTouchX","firstTouchY","secondTouchX","secondTouchY","sqrt","pow","hostRect","getBoundingClientRect","xRelativeToHost","yRelativeToHost","pointerX","pointerY","dx","dy","skipContextMenu","currentTouchDistance","midpointX","midpointY","scaleRatio","newScale","translateXAdjustment","translateYAdjustment","handleWheel","ctrlKey","abs","deltaY","deltaX","handleZoom","handlePan","centerInViewport","rotatedBoundingBox","objectCenterX","objectCenterY","centerFitInViewport","scaleX","scaleY","clampedScale","rect","delta","scaleStep","panSpeed","KritzelKeyHandler","shortcuts","condition","selectionGroup","ctrl","switchTool","copiedObjects","activeText","bringForward","sendBackward","shift","super","toolInstance","getTool","setState","deselectAllObjects","onActivate","isCtrlKeyPressed","shortcut","s","shiftKey","handleKeyUp","KritzelContextMenuHandler","handleContextMenu","activeTool","selectionTool","moveHandler","cancelPendingDrag","selectionBox","isSelecting","selectedObject","getObjectFromPointerEvent","create","addOrRemove","isSelected","rotation","currentSelectionGroup","removeSelectionGroup","addSelectionGroup","contextMenuItems","menuWidthEstimate","menuHeightEstimate","margin","innerWidth","innerHeight","contextMenuX","contextMenuY","isContextMenuVisible","isEnabled","KritzelClassHelper","isInstanceOf","className","__class__","DEFAULT_ENGINE_CONFIG","resizeHandleType","hasObjectsChanged","isResizing","isResizeHandleSelected","isRotating","isRotationHandleSelected","isDragging","isDrawing","isErasing","isWriting","debugInfo","showObjectInfo","showViewportInfo","translateXMax","translateXMin","translateYMax","translateYMin","longTouchTimeout","longTouchDelay","KritzelCustomElement","isInteractive","generateId","workspaceId","mount","isMounted","elementRef","innerHTML","appendChild","resize","update","copiedObject","getPrototypeOf","assign","cloneNode","KritzelReviver","revive","revivedObj","deserialize","newObj","isArray","KritzelObjectMap","_ydoc","_objectsMap","_providers","_undoManager","_reviver","_workspaceId","_isReady","_temporaryItemsCount","undoManager","initialize","getMap","docName","finalConfig","providerConfig","providers","provider","captureTimeout","trackedOrigins","Set","ignoreRemoteMapChanges","on","origin","log","undoStack","redoStack","observe","handleObjectsChange","all","connect","loadFromYjs","transaction","changedKeys","keysChanged","objectsToUpdate","selectionGroupsToUpdate","objectsToDelete","forEach","change","changes","keys","serialized","objectId","callback","transact","clear","reset","insert","isPersistable","serialize","temporary","predicate","results","allObjects","canUndo","canRedo","clearHistory","consolidateTemporaryItems","stackLength","stopCapturing","itemsToConsolidate","i","clearTemporaryItems","itemsToRemove","pop","destroy","KritzelStore","_state","_listeners","currentZIndex","o","allNonSelectionObjects","selectedObjects","selectionBoxes","selectionGroups","activeTexts","isEditing","drawingPaths","isCompleted","onStateChange","property","listener","add","getState","oldValue","String","KritzelCore","_kritzelEngine","_store","_syncConfig","_appStateMap","engine","appStateMap","setSyncConfig","initializeYjs","loadWorkspacesFromAppState","allWorkspaces","saveWorkspaceToAppState","deleteWorkspaceFromAppState","w","initializeWorkspace","mostRecentWorkspace","sort","a","updatedAt","getTime","existing","generateUUID","forceUpdate","findObjectById","createdAt","findIndex","dbName","indexedDB","deleteDatabase","removeSelectionBox","deleteObject","isDifferentWorkspace","minX","minY","pasteX","pasteY","updatePosition","newSelectionGroup","allNonSelectionObjectsWithoutCurrent","objectsInViewport","isInViewport","resetActiveText","isEmpty","save","selector","elementAtPoint","elementFromPoint","foundObject","isHit","hitTest","getObjectsFromPointerEvent","elementsAtPoint","elementsFromPoint","objectIds","getCanvasPoint","xWithoutTranslate","yWithoutTranslate","worldX","worldY","beforeWorkspaceChange","kritzelEngineCss","KritzelEngine","newWorkspace","currentWorkspaceId","newWorkspaceId","validateScaleMax","validateScaleMin","activeToolChange","workspacesChange","longpress","hideContextMenu","onLongPress","setPointerCapture","pointerId","releasePointerCapture","handlePointerCancel","handleLongPress","contextMenuHandler","keyHandler","preventDoubleTapZoomOnTouchDevices","toolName","toolClass","toolConfig","error","registeredTool","onDeactivate","contextMenuElement","isSelectionActive","onRemoteChange","_registerStateChangeListeners","_handleActiveToolChange","bind","forceHideKeyboard","computedStyle","getComputedStyle","baseHandleSizePx","getPropertyValue","trim","baseHandleSize","parseFloat","baseHandleTouchSize","viewportCenterX","viewportCenterY","toFixed","transform","transformationMatrix","transformOrigin","totalHeight","totalWidth","rotationDegrees","markedForRemoval","minHeight","minWidth","borderColor","borderWidth","borderStyle","padding","overflow","viewBox","d","fill","src","userSelect","draggable","onDragStart","e","onPointerDown","onPointerMove","onPointerUp","initialWidth","initialHeight","maxWidth","scaleFactor","isFirefox","strokeWidth","strokeLinecap","cx","cy","isDebugInfoVisible","whitespace","whiteSpace","onActionSelected","onClose","kritzelFontCss","KritzelFont","kritzelFontFamilyCss","KritzelFontFamily","fontFamilyChange","fontOptions","isValidCurrentFont","handleDropdownValueChange","dropdownOptions","onValueChanged","slot","kritzelFontSizeCss","KritzelFontSize","sizeChange","sizes","handleSizeClick","kritzelIconCss","KritzelIcon","styles","role","kritzelMenuCss","KritzelMenu","itemSelect","itemSave","itemCancel","itemToggleChildMenu","itemCloseChildMenu","parent","selectedIndex","setScrollTop","scrollTop","scrollTo","behavior","setFocus","firstItem","focus","openChildMenuItem","isChildMenuOpen","editingMenuItem","onOverlayClick","handleItemSelect","handleSave","handleCancel","handleToggleChildMenu","handleCloseChildMenu","onItemSelect","onItemSave","onItemCancel","onItemToggleChildMenu","onItemCloseChildMenu","kritzelMenuItemCss","KritzelMenuItem","onItemChange","isDirty","inputRef","focusInput","isIOS","setSelectionRange","select","setDeviceSpecificStyles","componentDidUpdate","handleInputChange","handleMenuToggle","childMenuAnchor","handleMenuClose","renderViewMode","children","anchor","renderEditMode","isNewItem","editing","KritzelHTMLHelper","getNumericValueFromStyle","getScrollableParent","parentNode","tagName","overflowY","isElementInViewport","scrollableParent","document","documentElement","right","parentRect","getFocusableElements","root","focusableElements","focusableSelector","offsetParent","HTMLElement","matches","hasAttribute","assignedElements","KritzelPortal","anchorChanged","openPortal","calculatePosition","autoFocus","focusFirstElement","closePortal","isLastPortal","lastAddedPortal","portal","contains","trapFocus","activeElement","getDeepActiveElement","click","handleWindowScroll","blur","defaultOffset","minLeft","requestAnimationFrame","firstFocusableElement","activeEl","firstFocusable","lastFocusable","slotEl","firstAssigned","focusable","portals","querySelectorAll","calculateLeft","refRect","portalRect","offset","maxLeft","round","scrollX","calculateTop","scrollY","createElement","setAttribute","body","append","getElementById","removeChild","kritzelSplitButtonCss","KritzelSplitButton","mainButtonClick","menuOpen","menuClose","buttonIcon","dropdownIcon","mainButtonDisabled","menuButtonDisabled","isMenuOpen","menuScrollTop","splitMenuButtonRef","menuRef","open","focusMenu","handleButtonClick","toggleMenu","closeMenu","openMenu","handleItemSave","handleItemCancel","handleItemToggleChildMenu","handleItemCloseChildMenu","handleScroll","onScroll","kritzelStrokeSizeCss","KritzelStrokeSize","kritzelTooltipCss","MOBILE_BREAKPOINT","KritzelTooltip","tooltipClosed","arrowSize","positionX","arrowOffset","isMobileView","handleWindowResize","calculateAdjustedPosition","focusSlottedContent","componentWillUpdate","firstElement","anchorRect","tooltipContent","tooltipRect","transition","marginBottom","borderLeft","borderRight","borderTop","kritzelUtilityPanelCss","KritzelUtilityPanel","handleUndo","handleRedo","kritzelWorkspaceManagerCss","KritzelWorkspaceManager","workspaceChange","editingItemId","kritzelEngineRef","sortedWorkspaces","edit","cancel","toggleChildMenu","closeChildMenu","handleMenuOpen","menuItems","_item","onMainButtonClick","onMenuOpen","onMenuClose"],"sources":["0"],"mappings":"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","ignoreList":[]}