kritzel-stencil 0.1.20 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{default-line-tool.config-BeAHPilg.js → default-line-tool.config-Bva9deYM.js} +5 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kritzel-back-to-content_32.cjs.entry.js +20 -23
- package/dist/collection/classes/core/viewport.class.js +6 -2
- package/dist/collection/classes/handlers/selection.handler.js +2 -0
- package/dist/collection/classes/objects/text.class.js +3 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +12 -19
- package/dist/collection/constants/version.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/kritzel-controls.js +1 -1
- package/dist/components/kritzel-editor.js +1 -1
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-settings.js +1 -1
- package/dist/components/kritzel-tool-config.js +1 -1
- package/dist/components/{p-DqAjW3MH.js → p-BbHELXEC.js} +2 -2
- package/dist/components/{p-te65x6Ll.js → p-BsvZ2juR.js} +1 -1
- package/dist/components/{p-DGpuS101.js → p-CYX7RMRZ.js} +1 -1
- package/dist/components/{p-Fa2zws3M.js → p-Dmy0R-7y.js} +1 -1
- package/dist/components/{p-BvhyHrHr.js → p-DqtvAhfs.js} +1 -1
- package/dist/esm/{default-line-tool.config-DvqpJZmQ.js → default-line-tool.config-DDIFE6oX.js} +5 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/kritzel-back-to-content_32.entry.js +20 -23
- package/dist/stencil/index.esm.js +1 -1
- package/dist/stencil/{p-8e29abbe.entry.js → p-3fc743ee.entry.js} +2 -2
- package/dist/stencil/p-DDIFE6oX.js +1 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/constants/version.d.ts +1 -1
- package/package.json +1 -1
- package/dist/stencil/p-DvqpJZmQ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,H as t,c as s,h as o,d as i,t as r}from"./p-Cj-I2_Og.js";import{K as a,d as n}from"./p-Cpb-fnoO.js";import{S as l,h as c,e as p,f as m,g as k,i as h,j as d}from"./p-Fa2zws3M.js";import{L as b,M as u,K as g,E as f,N as z}from"./p-DqAjW3MH.js";import{D as y}from"./p-BX4JyoOd.js";import{K as j}from"./p-n789Y3S-.js";import{K as C}from"./p-l10It7Nm.js";import{d as x}from"./p-yWjTje8m.js";import{d as w}from"./p-BxK5ew4S.js";import{d as E}from"./p-WnxGQWr6.js";import{d as S}from"./p-BGwkUUZk.js";import{d as v}from"./p-BvhyHrHr.js";import{d as I}from"./p-JdxbP-1P.js";import{d as R}from"./p-CTQmvTXG.js";import{d as W}from"./p-DKDoQ9nc.js";import{d as O}from"./p-DoE6WkDw.js";import{d as T}from"./p-BNYfuHT_.js";import{d as B}from"./p-CwP7yBQP.js";import{d as D}from"./p-6USF_L1F.js";import{d as M}from"./p-DnB4Srvo.js";import{d as V}from"./p-DKNtjoqf.js";import{d as K,a as P}from"./p-CbRaWk0G.js";import{d as U}from"./p-CBs9GnLk.js";import{d as A}from"./p-n0XDtwWP.js";import{d as F}from"./p-8uzm1dKV.js";import{d as G}from"./p-CDZUyTsg.js";import{d as N}from"./p-te65x6Ll.js";import{d as L}from"./p-CJTKpwmi.js";import{d as Q}from"./p-RU06uu0S.js";import{d as Y}from"./p-BBx_5XKc.js";import{d as _}from"./p-D_gY5jie.js";import{d as H}from"./p-DGpuS101.js";import{d as J}from"./p-BNT9uvII.js";import{d as X}from"./p-GeVIjnFi.js";import{d as q}from"./p-rBxQNDS2.js";const Z={type:"pen",color:y[0],size:16,palettes:{pen:[...y]}},$={color:y[0],size:8,fontFamily:"Arial",palette:[...y]},ee={color:y[0],size:4,palette:[...y],arrows:{end:{enabled:!0,style:"triangle"}}},te={shapeType:l.Rectangle,fillColor:{light:"transparent",dark:"transparent"},strokeColor:y[0],strokeWidth:4,fontColor:y[0],fontSize:16,fontFamily:"Arial",palette:[...y]},se=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.isReady=s(this,"isReady"),this.objectsChange=s(this,"objectsChange"),this.undoStateChange=s(this,"undoStateChange"),this.themeChange=s(this,"themeChange")}get host(){return this}scaleMax=b;scaleMin=u;lockDrawingScale=!0;controls=[{name:"selection",type:"tool",isDefault:!0,tool:c,icon:"cursor"},{name:"brush",type:"tool",tool:p,icon:"pen",config:Z},{name:"line",type:"tool",tool:m,icon:"arrow",config:ee},{name:"eraser",type:"tool",tool:g,icon:"eraser"},{name:"text",type:"tool",tool:k,icon:"type",config:$},{name:"shape",type:"tool",tool:h,icon:"shape-rectangle",config:te,subOptions:[{id:"rectangle",icon:"shape-rectangle",label:"Rectangle",value:l.Rectangle,toolProperty:"shapeType"},{id:"ellipse",icon:"shape-ellipse",label:"Ellipse",value:l.Ellipse,toolProperty:"shapeType"},{id:"triangle",icon:"shape-triangle",label:"Triangle",value:l.Triangle,toolProperty:"shapeType"}]},{name:"image",type:"tool",tool:f,icon:"image"},{name:"config",type:"config"}];globalContextMenuItems=[{label:"Paste",icon:"paste",disabled:async()=>0===(await this.engineRef.getCopiedObjects()).length,action:e=>this.engineRef.paste(e.x,e.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()=>0===(await this.engineRef.getCopiedObjects()).length,action:e=>this.engineRef.paste(e.x,e.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()},{label:"Group",icon:"group",disabled:async()=>(await this.engineRef.getSelectedObjects()).length<2,action:()=>this.engineRef.group()},{label:"Ungroup",icon:"ungroup",disabled:async()=>!(await this.engineRef.getSelectedObjects()).some((e=>"KritzelGroup"===e.__class__)),action:()=>this.engineRef.ungroup()}];customSvgIcons={};isControlsVisible=!0;isUtilityPanelVisible=!0;syncConfig;isReady;objectsChange;undoStateChange;themeChange;isEngineReady=!1;isControlsReady=!1;isWorkspaceManagerReady=!1;workspaces=[];activeWorkspace;isVirtualKeyboardOpen=!1;undoState=null;isBackToContentButtonVisible=!1;currentTheme="light";onIsEngineReady(e){e&&this.isControlsReady&&this.checkIsReady()}onIsControlsReady(e){e&&this.isEngineReady&&this.checkIsReady()}onWorkspacesChange(e){if(this.activeWorkspace){const t=e.find((e=>e.id===this.activeWorkspace.id));t&&t!==this.activeWorkspace&&(this.activeWorkspace=t)}}onCurrentThemeChange(){setTimeout((()=>this.setOsSpecificCssVariables()),0)}onTouchStart(e){e.cancelable&&e.preventDefault()}async getObjectById(e){return this.engineRef.getObjectById(e)}async addObject(e){return this.engineRef.addObject(e)}async updateObject(e,t){return this.engineRef.updateObject(e,t)}async removeObject(e){return this.engineRef.removeObject(e)}async getSelectedObjects(){return this.engineRef.getSelectedObjects()}async selectObjects(e){return this.engineRef.selectObjects(e)}async selectAllObjectsInViewport(){return this.engineRef.selectAllObjectsInViewport()}async clearSelection(){this.engineRef.clearSelection()}async centerObjectInViewport(e){return this.engineRef.centerObjectInViewport(e)}async backToContent(){return this.engineRef.backToContent()}async createWorkspace(e,t){const s=new j("workspace-"+Date.now(),e,t);return this.engineRef.createWorkspace(s)}async updateWorkspace(e){return this.engineRef.updateWorkspace(e)}async deleteWorkspace(e){return this.engineRef.deleteWorkspace(e)}async getWorkspaces(){return this.engineRef.getWorkspaces()}async getActiveWorkspace(){return this.engineRef.getActiveWorkspace()}engineRef;controlsRef;settingsRef;exportRef;splitButtonRef;componentWillLoad(){this.loadSettingsFromStorage()}componentDidLoad(){this.registerCustomSvgIcons(),this.listenForMobileKeyboard(),this.setOsSpecificCssVariables()}loadSettingsFromStorage(){const e=localStorage.getItem("kritzel-settings");if(e)try{const t=JSON.parse(e);"number"==typeof t.scaleMin&&(this.scaleMin=t.scaleMin),"number"==typeof t.scaleMax&&(this.scaleMax=t.scaleMax),"boolean"==typeof t.lockDrawingScale&&(this.lockDrawingScale=t.lockDrawingScale),"light"!==t.theme&&"dark"!==t.theme||(this.currentTheme=t.theme)}catch{}}async checkIsReady(){await customElements.whenDefined("kritzel-editor"),await customElements.whenDefined("kritzel-workspace-manager"),await customElements.whenDefined("kritzel-controls"),await customElements.whenDefined("kritzel-engine"),this.isEngineReady&&this.isControlsReady&&this.isWorkspaceManagerReady&&this.isReady.emit(this.host)}onEngineReady(e){this.isEngineReady=!0,this.activeWorkspace=e.detail.activeWorkspace,this.workspaces=e.detail.workspaces}handleWorkspacesChange(e){this.workspaces=e.detail}handleObjectsChange(e){this.objectsChange.emit(e.detail)}handleUndoStateChange(e){this.undoStateChange.emit(e.detail),this.undoState=e.detail}handleObjectsInViewportChange(e){this.isBackToContentButtonVisible=!(e.detail.length>0)}handleSettingsChange(e){this.scaleMin=e.detail.scaleMin,this.scaleMax=e.detail.scaleMax,this.lockDrawingScale=e.detail.lockDrawingScale,this.currentTheme=e.detail.theme,this.themeChange.emit(e.detail.theme)}async handleMoreMenuItemSelect(e){const{item:t}=e.detail;if("settings"===t.id&&this.settingsRef.open(),"export"===t.id){const e=await this.engineRef.getScreenshot("png");this.exportRef.open(e)}}registerCustomSvgIcons(){for(const[e,t]of Object.entries(this.customSvgIcons))a.register(e,t)}listenForMobileKeyboard(){d.onKeyboardVisibleChanged((e=>{this.isVirtualKeyboardOpen=e}))}setOsSpecificCssVariables(){switch(C.detectOS()){case"iOS":this.host.style.setProperty("--kritzel-editor-top-left-buttons-top","14px"),this.host.style.setProperty("--kritzel-editor-top-left-buttons-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-top-left-buttons-top","14px"),this.host.style.setProperty("--kritzel-editor-top-left-buttons-left","14px"),this.host.style.setProperty("--kritzel-editor-controls-bottom","24px");break;default:this.host.style.setProperty("--kritzel-editor-top-left-buttons-top","14px"),this.host.style.setProperty("--kritzel-editor-top-left-buttons-left","14px"),this.host.style.setProperty("--kritzel-editor-controls-bottom","14px")}}render(){return o(i,{key:"8abd16c01cedfeb14a955c035527de9c888674b9"},o("div",{key:"6bef3409a2b41de3aaf09c993662ba956578bc6a",class:"top-left-buttons"},o("kritzel-workspace-manager",{key:"ab4bcb8af52faa2b91380ea1591ecd5e59e3e18e",workspaces:this.workspaces,activeWorkspace:this.activeWorkspace,onWorkspaceChange:e=>this.activeWorkspace=e.detail,onIsWorkspaceManagerReady:()=>this.isWorkspaceManagerReady=!0}),o("kritzel-back-to-content",{key:"953502a6f1e6e8dd8478d57e3613c97e138aae63",visible:this.isBackToContentButtonVisible,onBackToContent:()=>this.backToContent()})),o("kritzel-engine",{key:"fcea81bc67cdb078a9ebbfa63211e34766512ef0",ref:e=>this.engineRef=e,workspace:this.activeWorkspace,syncConfig:this.syncConfig,scaleMax:this.scaleMax,lockDrawingScale:this.lockDrawingScale,scaleMin:this.scaleMin,theme:this.currentTheme,globalContextMenuItems:this.globalContextMenuItems,objectContextMenuItems:this.objectContextMenuItems,onIsEngineReady:e=>this.onEngineReady(e),onWorkspacesChange:e=>this.handleWorkspacesChange(e),onObjectsChange:e=>this.handleObjectsChange(e),onUndoStateChange:e=>this.handleUndoStateChange(e),onObjectsInViewportChange:e=>this.handleObjectsInViewportChange(e)}),o("kritzel-controls",{key:"da63adcab7cbd5a349f7ad6027789b3efffed9ac",class:{"keyboard-open":this.isVirtualKeyboardOpen},style:{display:this.isControlsVisible?"flex":"none"},ref:e=>this.controlsRef=e,controls:this.controls,isUtilityPanelVisible:this.isUtilityPanelVisible,undoState:this.undoState,theme:this.currentTheme,onIsControlsReady:()=>this.isControlsReady=!0}),o("div",{key:"baf7dedb8f514dba4aac7bcc44c0ba5c02cc0cf8",class:"top-right-buttons"},o("kritzel-settings",{key:"8f283f3a7138a4f84a2ca8165beb4310cedb939c",ref:e=>this.settingsRef=e,onSettingsChange:e=>this.handleSettingsChange(e)}),o("kritzel-export",{key:"8f89c247b842f5d56ef3754e17330edfe1a6e3c2",ref:e=>this.exportRef=e,onExportPng:()=>this.engineRef.exportViewportAsPng(),onExportSvg:()=>this.engineRef.exportViewportAsSvg()}),o("kritzel-more-menu",{key:"053e9de589cad9a05ead53c2cbcbdd8a15527a9c",onItemSelect:e=>this.handleMoreMenuItemSelect(e)})))}static get watchers(){return{isEngineReady:[{onIsEngineReady:0}],isControlsReady:[{onIsControlsReady:0}],workspaces:[{onWorkspacesChange:0}],currentTheme:[{onCurrentThemeChange:0}]}}static get style(){return"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{}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%))}.top-left-buttons{position:absolute;top:var(--kritzel-editor-top-left-buttons-top, 14px);left:var(--kritzel-editor-top-left-buttons-left, 14px);display:flex;align-items:flex-start;gap:8px}.top-right-buttons{position:absolute;top:var(--kritzel-editor-top-right-buttons-top, 14px);right:var(--kritzel-editor-top-right-buttons-right, 14px);display:flex;align-items:center;gap:8px}.top-right-button{display:flex;align-items:center;justify-content:center;width:50px;height:50px;padding:0;border:var(--kritzel-split-button-border, 1px solid #ebebeb);border-radius:var(--kritzel-split-button-border-radius, 12px);background-color:var(--kritzel-split-button-background-color, #ffffff);cursor:var(--kritzel-global-pointer-cursor, pointer);box-shadow:var(--kritzel-split-button-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));transition:background-color 150ms ease;-webkit-tap-highlight-color:transparent}.top-right-button:hover{background-color:#f5f5f5}.top-right-button:active{background-color:#ebebeb}"}},[512,"kritzel-editor",{scaleMax:[1026,"scale-max"],scaleMin:[1026,"scale-min"],lockDrawingScale:[1028,"lock-drawing-scale"],controls:[16],globalContextMenuItems:[16],objectContextMenuItems:[16],customSvgIcons:[16],isControlsVisible:[4,"is-controls-visible"],isUtilityPanelVisible:[4,"is-utility-panel-visible"],syncConfig:[16],isEngineReady:[32],isControlsReady:[32],isWorkspaceManagerReady:[32],workspaces:[32],activeWorkspace:[32],isVirtualKeyboardOpen:[32],undoState:[32],isBackToContentButtonVisible:[32],currentTheme:[32],getObjectById:[64],addObject:[64],updateObject:[64],removeObject:[64],getSelectedObjects:[64],selectObjects:[64],selectAllObjectsInViewport:[64],clearSelection:[64],centerObjectInViewport:[64],backToContent:[64],createWorkspace:[64],updateWorkspace:[64],deleteWorkspace:[64],getWorkspaces:[64],getActiveWorkspace:[64]},[[0,"dblclick","onTouchStart"]],{isEngineReady:[{onIsEngineReady:0}],isControlsReady:[{onIsControlsReady:0}],workspaces:[{onWorkspacesChange:0}],currentTheme:[{onCurrentThemeChange:0}]}]),oe=se,ie=function(){"undefined"!=typeof customElements&&["kritzel-editor","kritzel-back-to-content","kritzel-color","kritzel-color-palette","kritzel-context-menu","kritzel-controls","kritzel-cursor-trail","kritzel-dialog","kritzel-dropdown","kritzel-engine","kritzel-export","kritzel-font","kritzel-font-family","kritzel-font-size","kritzel-icon","kritzel-line-endings","kritzel-master-detail","kritzel-menu","kritzel-menu-item","kritzel-more-menu","kritzel-numeric-input","kritzel-opacity-slider","kritzel-portal","kritzel-settings","kritzel-shape-fill","kritzel-slide-toggle","kritzel-split-button","kritzel-stroke-size","kritzel-tool-config","kritzel-tooltip","kritzel-utility-panel","kritzel-workspace-manager"].forEach((e=>{switch(e){case"kritzel-editor":customElements.get(r(e))||customElements.define(r(e),se);break;case"kritzel-back-to-content":customElements.get(r(e))||x();break;case"kritzel-color":customElements.get(r(e))||w();break;case"kritzel-color-palette":customElements.get(r(e))||E();break;case"kritzel-context-menu":customElements.get(r(e))||S();break;case"kritzel-controls":customElements.get(r(e))||v();break;case"kritzel-cursor-trail":customElements.get(r(e))||I();break;case"kritzel-dialog":customElements.get(r(e))||R();break;case"kritzel-dropdown":customElements.get(r(e))||W();break;case"kritzel-engine":customElements.get(r(e))||z();break;case"kritzel-export":customElements.get(r(e))||O();break;case"kritzel-font":customElements.get(r(e))||T();break;case"kritzel-font-family":customElements.get(r(e))||B();break;case"kritzel-font-size":customElements.get(r(e))||D();break;case"kritzel-icon":customElements.get(r(e))||n();break;case"kritzel-line-endings":customElements.get(r(e))||M();break;case"kritzel-master-detail":customElements.get(r(e))||V();break;case"kritzel-menu":customElements.get(r(e))||P();break;case"kritzel-menu-item":customElements.get(r(e))||K();break;case"kritzel-more-menu":customElements.get(r(e))||U();break;case"kritzel-numeric-input":customElements.get(r(e))||A();break;case"kritzel-opacity-slider":customElements.get(r(e))||F();break;case"kritzel-portal":customElements.get(r(e))||G();break;case"kritzel-settings":customElements.get(r(e))||N();break;case"kritzel-shape-fill":customElements.get(r(e))||L();break;case"kritzel-slide-toggle":customElements.get(r(e))||Q();break;case"kritzel-split-button":customElements.get(r(e))||Y();break;case"kritzel-stroke-size":customElements.get(r(e))||_();break;case"kritzel-tool-config":customElements.get(r(e))||H();break;case"kritzel-tooltip":customElements.get(r(e))||J();break;case"kritzel-utility-panel":customElements.get(r(e))||X();break;case"kritzel-workspace-manager":customElements.get(r(e))||q()}}))};export{Z as D,oe as KritzelEditor,$ as a,ee as b,ie as defineCustomElement}
|
|
1
|
+
import{p as e,H as t,c as s,h as o,d as i,t as r}from"./p-Cj-I2_Og.js";import{K as a,d as n}from"./p-Cpb-fnoO.js";import{S as l,h as c,e as p,f as m,g as k,i as h,j as d}from"./p-Dmy0R-7y.js";import{L as b,M as u,K as f,E as g,N as z}from"./p-BbHELXEC.js";import{D as y}from"./p-BX4JyoOd.js";import{K as j}from"./p-n789Y3S-.js";import{K as C}from"./p-l10It7Nm.js";import{d as x}from"./p-yWjTje8m.js";import{d as E}from"./p-BxK5ew4S.js";import{d as w}from"./p-WnxGQWr6.js";import{d as v}from"./p-BGwkUUZk.js";import{d as S}from"./p-DqtvAhfs.js";import{d as R}from"./p-JdxbP-1P.js";import{d as I}from"./p-CTQmvTXG.js";import{d as O}from"./p-DKDoQ9nc.js";import{d as W}from"./p-DoE6WkDw.js";import{d as T}from"./p-BNYfuHT_.js";import{d as B}from"./p-CwP7yBQP.js";import{d as D}from"./p-6USF_L1F.js";import{d as M}from"./p-DnB4Srvo.js";import{d as V}from"./p-DKNtjoqf.js";import{d as K,a as P}from"./p-CbRaWk0G.js";import{d as U}from"./p-CBs9GnLk.js";import{d as A}from"./p-n0XDtwWP.js";import{d as F}from"./p-8uzm1dKV.js";import{d as G}from"./p-CDZUyTsg.js";import{d as N}from"./p-BsvZ2juR.js";import{d as L}from"./p-CJTKpwmi.js";import{d as X}from"./p-RU06uu0S.js";import{d as Y}from"./p-BBx_5XKc.js";import{d as Q}from"./p-D_gY5jie.js";import{d as _}from"./p-CYX7RMRZ.js";import{d as J}from"./p-BNT9uvII.js";import{d as Z}from"./p-GeVIjnFi.js";import{d as q}from"./p-rBxQNDS2.js";const H={type:"pen",color:y[0],size:16,palettes:{pen:[...y]}},$={color:y[0],size:8,fontFamily:"Arial",palette:[...y]},ee={color:y[0],size:4,palette:[...y],arrows:{end:{enabled:!0,style:"triangle"}}},te={shapeType:l.Rectangle,fillColor:{light:"transparent",dark:"transparent"},strokeColor:y[0],strokeWidth:4,fontColor:y[0],fontSize:16,fontFamily:"Arial",palette:[...y]},se=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.isReady=s(this,"isReady"),this.objectsChange=s(this,"objectsChange"),this.undoStateChange=s(this,"undoStateChange"),this.themeChange=s(this,"themeChange")}get host(){return this}scaleMax=b;scaleMin=u;lockDrawingScale=!0;controls=[{name:"selection",type:"tool",isDefault:!0,tool:c,icon:"cursor"},{name:"brush",type:"tool",tool:p,icon:"pen",config:H},{name:"line",type:"tool",tool:m,icon:"arrow",config:ee},{name:"eraser",type:"tool",tool:f,icon:"eraser"},{name:"text",type:"tool",tool:k,icon:"type",config:$},{name:"shape",type:"tool",tool:h,icon:"shape-rectangle",config:te,subOptions:[{id:"rectangle",icon:"shape-rectangle",label:"Rectangle",value:l.Rectangle,toolProperty:"shapeType"},{id:"ellipse",icon:"shape-ellipse",label:"Ellipse",value:l.Ellipse,toolProperty:"shapeType"},{id:"triangle",icon:"shape-triangle",label:"Triangle",value:l.Triangle,toolProperty:"shapeType"}]},{name:"image",type:"tool",tool:g,icon:"image"},{name:"config",type:"config"}];globalContextMenuItems=[{label:"Paste",icon:"paste",disabled:async()=>0===(await this.engineRef.getCopiedObjects()).length,action:e=>this.engineRef.paste(e.x,e.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()=>0===(await this.engineRef.getCopiedObjects()).length,action:e=>this.engineRef.paste(e.x,e.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()},{label:"Group",icon:"group",disabled:async()=>(await this.engineRef.getSelectedObjects()).length<2,action:()=>this.engineRef.group()},{label:"Ungroup",icon:"ungroup",disabled:async()=>!(await this.engineRef.getSelectedObjects()).some((e=>"KritzelGroup"===e.__class__)),action:()=>this.engineRef.ungroup()}];customSvgIcons={};isControlsVisible=!0;isUtilityPanelVisible=!0;syncConfig;isReady;objectsChange;undoStateChange;themeChange;isEngineReady=!1;isControlsReady=!1;isWorkspaceManagerReady=!1;workspaces=[];activeWorkspace;isVirtualKeyboardOpen=!1;undoState=null;isBackToContentButtonVisible=!1;currentTheme="light";onIsEngineReady(e){e&&this.isControlsReady&&this.checkIsReady()}onIsControlsReady(e){e&&this.isEngineReady&&this.checkIsReady()}onWorkspacesChange(e){if(this.activeWorkspace){const t=e.find((e=>e.id===this.activeWorkspace.id));t&&t!==this.activeWorkspace&&(this.activeWorkspace=t)}}onCurrentThemeChange(){setTimeout((()=>this.setOsSpecificCssVariables()),0)}onTouchStart(e){e.cancelable&&e.preventDefault()}async getObjectById(e){return this.engineRef.getObjectById(e)}async addObject(e){return this.engineRef.addObject(e)}async updateObject(e,t){return this.engineRef.updateObject(e,t)}async removeObject(e){return this.engineRef.removeObject(e)}async getSelectedObjects(){return this.engineRef.getSelectedObjects()}async selectObjects(e){return this.engineRef.selectObjects(e)}async selectAllObjectsInViewport(){return this.engineRef.selectAllObjectsInViewport()}async clearSelection(){this.engineRef.clearSelection()}async centerObjectInViewport(e){return this.engineRef.centerObjectInViewport(e)}async backToContent(){return this.engineRef.backToContent()}async createWorkspace(e,t){const s=new j("workspace-"+Date.now(),e,t);return this.engineRef.createWorkspace(s)}async updateWorkspace(e){return this.engineRef.updateWorkspace(e)}async deleteWorkspace(e){return this.engineRef.deleteWorkspace(e)}async getWorkspaces(){return this.engineRef.getWorkspaces()}async getActiveWorkspace(){return this.engineRef.getActiveWorkspace()}engineRef;controlsRef;settingsRef;exportRef;splitButtonRef;componentWillLoad(){this.loadSettingsFromStorage()}componentDidLoad(){this.registerCustomSvgIcons(),this.listenForMobileKeyboard(),this.setOsSpecificCssVariables()}loadSettingsFromStorage(){const e=localStorage.getItem("kritzel-settings");if(e)try{const t=JSON.parse(e);"number"==typeof t.scaleMin&&(this.scaleMin=t.scaleMin),"number"==typeof t.scaleMax&&(this.scaleMax=t.scaleMax),"boolean"==typeof t.lockDrawingScale&&(this.lockDrawingScale=t.lockDrawingScale),"light"!==t.theme&&"dark"!==t.theme||(this.currentTheme=t.theme)}catch{}}async checkIsReady(){await customElements.whenDefined("kritzel-editor"),await customElements.whenDefined("kritzel-workspace-manager"),await customElements.whenDefined("kritzel-controls"),await customElements.whenDefined("kritzel-engine"),this.isEngineReady&&this.isControlsReady&&this.isWorkspaceManagerReady&&this.isReady.emit(this.host)}onEngineReady(e){this.isEngineReady=!0,this.activeWorkspace=e.detail.activeWorkspace,this.workspaces=e.detail.workspaces}handleWorkspacesChange(e){this.workspaces=e.detail}handleObjectsChange(e){this.objectsChange.emit(e.detail)}handleUndoStateChange(e){this.undoStateChange.emit(e.detail),this.undoState=e.detail}handleObjectsInViewportChange(e){this.isBackToContentButtonVisible=!(e.detail.length>0)}handleSettingsChange(e){this.scaleMin=e.detail.scaleMin,this.scaleMax=e.detail.scaleMax,this.lockDrawingScale=e.detail.lockDrawingScale,this.currentTheme=e.detail.theme,this.themeChange.emit(e.detail.theme)}async handleMoreMenuItemSelect(e){const{item:t}=e.detail;if("settings"===t.id&&this.settingsRef.open(),"export"===t.id){const e=await this.engineRef.getScreenshot("png");this.exportRef.open(e)}}registerCustomSvgIcons(){for(const[e,t]of Object.entries(this.customSvgIcons))a.register(e,t)}listenForMobileKeyboard(){d.onKeyboardVisibleChanged((e=>{this.isVirtualKeyboardOpen=e}))}setOsSpecificCssVariables(){switch(C.detectOS()){case"iOS":this.host.style.setProperty("--kritzel-editor-top-left-buttons-top","14px"),this.host.style.setProperty("--kritzel-editor-top-left-buttons-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-top-left-buttons-top","14px"),this.host.style.setProperty("--kritzel-editor-top-left-buttons-left","14px"),this.host.style.setProperty("--kritzel-editor-controls-bottom","24px");break;default:this.host.style.setProperty("--kritzel-editor-top-left-buttons-top","14px"),this.host.style.setProperty("--kritzel-editor-top-left-buttons-left","14px"),this.host.style.setProperty("--kritzel-editor-controls-bottom","14px")}}render(){return o(i,{key:"8abd16c01cedfeb14a955c035527de9c888674b9"},o("div",{key:"6bef3409a2b41de3aaf09c993662ba956578bc6a",class:"top-left-buttons"},o("kritzel-workspace-manager",{key:"ab4bcb8af52faa2b91380ea1591ecd5e59e3e18e",workspaces:this.workspaces,activeWorkspace:this.activeWorkspace,onWorkspaceChange:e=>this.activeWorkspace=e.detail,onIsWorkspaceManagerReady:()=>this.isWorkspaceManagerReady=!0}),o("kritzel-back-to-content",{key:"953502a6f1e6e8dd8478d57e3613c97e138aae63",visible:this.isBackToContentButtonVisible,onBackToContent:()=>this.backToContent()})),o("kritzel-engine",{key:"fcea81bc67cdb078a9ebbfa63211e34766512ef0",ref:e=>this.engineRef=e,workspace:this.activeWorkspace,syncConfig:this.syncConfig,scaleMax:this.scaleMax,lockDrawingScale:this.lockDrawingScale,scaleMin:this.scaleMin,theme:this.currentTheme,globalContextMenuItems:this.globalContextMenuItems,objectContextMenuItems:this.objectContextMenuItems,onIsEngineReady:e=>this.onEngineReady(e),onWorkspacesChange:e=>this.handleWorkspacesChange(e),onObjectsChange:e=>this.handleObjectsChange(e),onUndoStateChange:e=>this.handleUndoStateChange(e),onObjectsInViewportChange:e=>this.handleObjectsInViewportChange(e)}),o("kritzel-controls",{key:"da63adcab7cbd5a349f7ad6027789b3efffed9ac",class:{"keyboard-open":this.isVirtualKeyboardOpen},style:{display:this.isControlsVisible?"flex":"none"},ref:e=>this.controlsRef=e,controls:this.controls,isUtilityPanelVisible:this.isUtilityPanelVisible,undoState:this.undoState,theme:this.currentTheme,onIsControlsReady:()=>this.isControlsReady=!0}),o("div",{key:"baf7dedb8f514dba4aac7bcc44c0ba5c02cc0cf8",class:"top-right-buttons"},o("kritzel-settings",{key:"8f283f3a7138a4f84a2ca8165beb4310cedb939c",ref:e=>this.settingsRef=e,onSettingsChange:e=>this.handleSettingsChange(e)}),o("kritzel-export",{key:"8f89c247b842f5d56ef3754e17330edfe1a6e3c2",ref:e=>this.exportRef=e,onExportPng:()=>this.engineRef.exportViewportAsPng(),onExportSvg:()=>this.engineRef.exportViewportAsSvg()}),o("kritzel-more-menu",{key:"053e9de589cad9a05ead53c2cbcbdd8a15527a9c",onItemSelect:e=>this.handleMoreMenuItemSelect(e)})))}static get watchers(){return{isEngineReady:[{onIsEngineReady:0}],isControlsReady:[{onIsControlsReady:0}],workspaces:[{onWorkspacesChange:0}],currentTheme:[{onCurrentThemeChange:0}]}}static get style(){return"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{}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%))}.top-left-buttons{position:absolute;top:var(--kritzel-editor-top-left-buttons-top, 14px);left:var(--kritzel-editor-top-left-buttons-left, 14px);display:flex;align-items:flex-start;gap:8px}.top-right-buttons{position:absolute;top:var(--kritzel-editor-top-right-buttons-top, 14px);right:var(--kritzel-editor-top-right-buttons-right, 14px);display:flex;align-items:center;gap:8px}.top-right-button{display:flex;align-items:center;justify-content:center;width:50px;height:50px;padding:0;border:var(--kritzel-split-button-border, 1px solid #ebebeb);border-radius:var(--kritzel-split-button-border-radius, 12px);background-color:var(--kritzel-split-button-background-color, #ffffff);cursor:var(--kritzel-global-pointer-cursor, pointer);box-shadow:var(--kritzel-split-button-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));transition:background-color 150ms ease;-webkit-tap-highlight-color:transparent}.top-right-button:hover{background-color:#f5f5f5}.top-right-button:active{background-color:#ebebeb}"}},[512,"kritzel-editor",{scaleMax:[1026,"scale-max"],scaleMin:[1026,"scale-min"],lockDrawingScale:[1028,"lock-drawing-scale"],controls:[16],globalContextMenuItems:[16],objectContextMenuItems:[16],customSvgIcons:[16],isControlsVisible:[4,"is-controls-visible"],isUtilityPanelVisible:[4,"is-utility-panel-visible"],syncConfig:[16],isEngineReady:[32],isControlsReady:[32],isWorkspaceManagerReady:[32],workspaces:[32],activeWorkspace:[32],isVirtualKeyboardOpen:[32],undoState:[32],isBackToContentButtonVisible:[32],currentTheme:[32],getObjectById:[64],addObject:[64],updateObject:[64],removeObject:[64],getSelectedObjects:[64],selectObjects:[64],selectAllObjectsInViewport:[64],clearSelection:[64],centerObjectInViewport:[64],backToContent:[64],createWorkspace:[64],updateWorkspace:[64],deleteWorkspace:[64],getWorkspaces:[64],getActiveWorkspace:[64]},[[0,"dblclick","onTouchStart"]],{isEngineReady:[{onIsEngineReady:0}],isControlsReady:[{onIsControlsReady:0}],workspaces:[{onWorkspacesChange:0}],currentTheme:[{onCurrentThemeChange:0}]}]),oe=se,ie=function(){"undefined"!=typeof customElements&&["kritzel-editor","kritzel-back-to-content","kritzel-color","kritzel-color-palette","kritzel-context-menu","kritzel-controls","kritzel-cursor-trail","kritzel-dialog","kritzel-dropdown","kritzel-engine","kritzel-export","kritzel-font","kritzel-font-family","kritzel-font-size","kritzel-icon","kritzel-line-endings","kritzel-master-detail","kritzel-menu","kritzel-menu-item","kritzel-more-menu","kritzel-numeric-input","kritzel-opacity-slider","kritzel-portal","kritzel-settings","kritzel-shape-fill","kritzel-slide-toggle","kritzel-split-button","kritzel-stroke-size","kritzel-tool-config","kritzel-tooltip","kritzel-utility-panel","kritzel-workspace-manager"].forEach((e=>{switch(e){case"kritzel-editor":customElements.get(r(e))||customElements.define(r(e),se);break;case"kritzel-back-to-content":customElements.get(r(e))||x();break;case"kritzel-color":customElements.get(r(e))||E();break;case"kritzel-color-palette":customElements.get(r(e))||w();break;case"kritzel-context-menu":customElements.get(r(e))||v();break;case"kritzel-controls":customElements.get(r(e))||S();break;case"kritzel-cursor-trail":customElements.get(r(e))||R();break;case"kritzel-dialog":customElements.get(r(e))||I();break;case"kritzel-dropdown":customElements.get(r(e))||O();break;case"kritzel-engine":customElements.get(r(e))||z();break;case"kritzel-export":customElements.get(r(e))||W();break;case"kritzel-font":customElements.get(r(e))||T();break;case"kritzel-font-family":customElements.get(r(e))||B();break;case"kritzel-font-size":customElements.get(r(e))||D();break;case"kritzel-icon":customElements.get(r(e))||n();break;case"kritzel-line-endings":customElements.get(r(e))||M();break;case"kritzel-master-detail":customElements.get(r(e))||V();break;case"kritzel-menu":customElements.get(r(e))||P();break;case"kritzel-menu-item":customElements.get(r(e))||K();break;case"kritzel-more-menu":customElements.get(r(e))||U();break;case"kritzel-numeric-input":customElements.get(r(e))||A();break;case"kritzel-opacity-slider":customElements.get(r(e))||F();break;case"kritzel-portal":customElements.get(r(e))||G();break;case"kritzel-settings":customElements.get(r(e))||N();break;case"kritzel-shape-fill":customElements.get(r(e))||L();break;case"kritzel-slide-toggle":customElements.get(r(e))||X();break;case"kritzel-split-button":customElements.get(r(e))||Y();break;case"kritzel-stroke-size":customElements.get(r(e))||Q();break;case"kritzel-tool-config":customElements.get(r(e))||_();break;case"kritzel-tooltip":customElements.get(r(e))||J();break;case"kritzel-utility-panel":customElements.get(r(e))||Z();break;case"kritzel-workspace-manager":customElements.get(r(e))||q()}}))};export{H as D,oe as KritzelEditor,$ as a,ee as b,ie as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{P as o,N as s}from"./p-
|
|
1
|
+
import{P as o,N as s}from"./p-BbHELXEC.js";const p=o,r=s;export{p as KritzelEngine,r as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{K as
|
|
1
|
+
import{K as s,d as o}from"./p-BsvZ2juR.js";const p=s,r=o;export{p as KritzelSettings,r as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o,d as
|
|
1
|
+
import{a as o,d as s}from"./p-CYX7RMRZ.js";const a=o,p=s;export{a as KritzelToolConfig,p as defineCustomElement}
|