kritzel-stencil 0.0.145 → 0.0.147
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.
- package/dist/cjs/{default-text-tool.config-D2dP2xyB.js → default-text-tool.config-C0W0noF9.js} +54 -34
- package/dist/cjs/default-text-tool.config-C0W0noF9.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kritzel-color_22.cjs.entry.js +16 -41
- package/dist/collection/classes/core/viewport.class.js +4 -2
- package/dist/collection/classes/core/viewport.class.js.map +1 -1
- package/dist/collection/classes/objects/text.class.js +23 -23
- package/dist/collection/classes/objects/text.class.js.map +1 -1
- package/dist/collection/classes/tools/text-tool.class.js +3 -10
- package/dist/collection/classes/tools/text-tool.class.js.map +1 -1
- package/dist/collection/configs/default-engine-config.js +1 -2
- package/dist/collection/configs/default-engine-config.js.map +1 -1
- package/dist/collection/interfaces/debug-info.interface.js.map +1 -1
- package/dist/components/index.js +3 -3
- package/dist/components/kritzel-controls.js +1 -1
- package/dist/components/kritzel-editor.js +3 -3
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/{p-ByRC-aCs.js → p-CrkPot2F.js} +8 -7
- package/dist/components/p-CrkPot2F.js.map +1 -0
- package/dist/components/{p-BgRGxOIE.js → p-DPN0PZvw.js} +3 -3
- package/dist/components/{p-BgRGxOIE.js.map → p-DPN0PZvw.js.map} +1 -1
- package/dist/components/{p-COGwCbe1.js → p-G2HGJcNm.js} +28 -34
- package/dist/components/p-G2HGJcNm.js.map +1 -0
- package/dist/esm/{default-text-tool.config-CsZAW1Cu.js → default-text-tool.config-nXXHSTK9.js} +54 -35
- package/dist/esm/default-text-tool.config-nXXHSTK9.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/kritzel-color_22.entry.js +6 -31
- package/dist/stencil/index.esm.js +1 -1
- package/dist/stencil/p-5d9c3f1b.entry.js +2 -0
- package/dist/stencil/p-5d9c3f1b.entry.js.map +1 -0
- package/dist/stencil/p-nXXHSTK9.js +2 -0
- package/dist/stencil/p-nXXHSTK9.js.map +1 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/objects/text.class.d.ts +1 -0
- package/dist/types/interfaces/debug-info.interface.d.ts +0 -1
- package/package.json +15 -14
- package/dist/cjs/default-text-tool.config-D2dP2xyB.js.map +0 -1
- package/dist/components/p-ByRC-aCs.js.map +0 -1
- package/dist/components/p-COGwCbe1.js.map +0 -1
- package/dist/esm/default-text-tool.config-CsZAW1Cu.js.map +0 -1
- package/dist/stencil/p-27adbf9d.entry.js +0 -2
- package/dist/stencil/p-27adbf9d.entry.js.map +0 -1
- package/dist/stencil/p-CsZAW1Cu.js +0 -2
- package/dist/stencil/p-CsZAW1Cu.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{G as n,L as r,U as l,M as a,S as c,I as h,T as d,J as u,R as f,V as p,W as b,X as g,Y as k,Z as v,_ as m,F as y,K as x,E as w,$ as z,a0 as C,a1 as M,Q as I,a2 as S,a3 as j,a4 as T}from"./p-CsZAW1Cu.js";const O=":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 W=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"}})))}};W.style=O;const $=":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 E=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}))))))}};E.style=$;const _=":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 F=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"]}}};F.style=_;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 R=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"]}}};R.style=A;const D=":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 B=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)}))}};B.style=D;class P{static isTouchDevice(){return window.matchMedia("(any-pointer: coarse)").matches}static isAndroid(){return/android/i.test(navigator.userAgent)}static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)}static detectOS(){if(this.isIOS()){return"iOS"}else if(this.isAndroid()){return"Android"}else{return"Other"}}static isFirefox(){return/firefox/i.test(navigator.userAgent)}}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=P.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 n&&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 r&&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===l.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===l.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 U=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"]}}};U.style=Y;class X{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)}}X.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:a,icon:"cursor"},{name:"brush",type:"tool",tool:n,icon:"pen",config:c},{name:"eraser",type:"tool",tool:h,icon:"eraser"},{name:"text",type:"tool",tool:r,icon:"type",config:d},{name:"image",type:"tool",tool:u,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 f(`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)){X.register(t,e)}}listenForMobileKeyboard(){p.onKeyboardVisibleChanged((t=>{this.isVirtualKeyboardOpen=t}))}setOsSpecificCssVariables(){const t=P.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===l.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){this._core.store.state.isScaling=false;this._core.rerender()}}}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 b{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=g.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 b{globalContextMenuItems=[];objectContextMenuItems=[];constructor(t,e,i){super(t);this.globalContextMenuItems=e;this.objectContextMenuItems=i}handleContextMenu(t){if(!(this._core.store.state.activeTool instanceof a)){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 k));this._core.store.state.isSelecting=false}const i=this._core.getObjectFromPointerEvent(t,".object");if(i&&!(i instanceof v)&&!(i instanceof k)){const t=v.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,logCommands: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 m{__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=w.create(this._core).deserialize(t);break;case"KritzelText":e=x.create(this._core,t.fontSize,t.fontFamily).deserialize(t);break;case"KritzelImage":e=y.create(this._core).deserialize(t);break;case"KritzelCustomElement":e=st.create(this._core).deserialize(t);break;case"KritzelSelectionGroup":e=v.create(this._core).deserialize(t);break;case"KritzelWorkspace":e=f.create(this._core,t).deserialize(t);break;case"KritzelBrushTool":e=new n(this._core);break;case"KritzelEraserTool":e=new h(this._core);break;case"KritzelImageTool":e=new u(this._core);break;case"KritzelSelectionTool":e=new a(this._core);break;case"KritzelTextTool":e=new r(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 z;this._objectsMap=this._ydoc.getMap("objects");const s=`kritzel-workspace-${e}`;const o=i??C;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 M([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 v){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 k){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 v)&&!(t instanceof k))).map((t=>t.zIndex)))+1}get allObjects(){return this._state.objectsMap.allObjects()}get allNonSelectionObjects(){return this._state.objectsMap.allObjects().filter((t=>!(t instanceof v)&&!(t instanceof k)))}get selectedObjects(){return this.allObjects.filter((t=>!(t instanceof v))).filter((t=>t.isSelected))}get selectionBox(){const t=this._state.objectsMap.filter((t=>t instanceof k));return t.length>0?t[0]:null}get selectionGroup(){const t=this._state.objectsMap.filter((t=>t instanceof v));return t.length>0?t[0]:null}get activeText(){const t=this._state.objectsMap.filter((t=>t instanceof x&&t.isEditing));return t.length>0?t[0]:null}get currentPath(){const t=this._state.objectsMap.filter((t=>t instanceof w&&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 I}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 f(S.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=v.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",g.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=v.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 v)&&!(t instanceof k)&&!(t instanceof F)));if(t.length>0){const e=v.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",g.getTool("selection"));this.rerender()}}clearSelection(){this.removeSelectionGroup();this._store.state.objectsMap.remove((t=>t instanceof k||t instanceof v));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",g.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(P.isTouchDevice()){j.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 T)){console.error(`Failed to register tool "${t}": Tool class must be a constructor function`);return null}const s=g.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 k));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",g.getTool("selection"));this.core.deselectAllObjects();this.core.selectObjects(t)}async selectAllObjectsInViewport(){this.core.store.state.activeTool?.onDeactivate();this.core.store.setState("activeTool",g.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 a&&this.core.store.state.isSelecting}get isSelectionActive(){return this.core.store.state.activeTool instanceof a&&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 a)){this.core.clearSelection();this.core.store.state.objectsMap.remove((t=>t instanceof k));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);p.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 n=o*2<14?14:o;const r=this.core.store.state.viewportWidth/2+this.core.store.state.translateX;const l=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: (",r.toFixed(2),", ",l.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:P.isFirefox()?t.backgroundColor:"transparent",borderWidth:P.isFirefox()?t.borderWidth+"px":"0",borderStyle:P.isFirefox()?"solid":"none",borderColor:P.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:`${n*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:`${n*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:`${n*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:`${n*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:`${n*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 h&&!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=X.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(P.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=P.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-${S.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=P.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 f(S.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{W as kritzel_color,E as kritzel_color_palette,F as kritzel_context_menu,R as kritzel_control_brush_config,B as kritzel_control_text_config,L as kritzel_controls,H as kritzel_cursor_trail,U 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-27adbf9d.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["registerInstance","h","Host","createEvent","getElement","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","KritzelDevicesHelper","isTouchDevice","window","matchMedia","matches","isAndroid","test","navigator","userAgent","isIOS","detectOS","isFirefox","kritzelControlsCss","KritzelControls","isControlsReady","controls","activeControl","isUtilityPanelVisible","firstConfig","isTooltipVisible","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","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","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","logCommands","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","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","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","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":[]}
|