kritzel-stencil 0.3.12 → 0.3.13
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/{index-CFnj_FXt.js → index-Xav9JFHg.js} +1 -1
- package/dist/cjs/index.cjs.js +41 -3
- package/dist/cjs/kritzel-active-users_42.cjs.entry.js +139 -97
- package/dist/cjs/kritzel-brush-style.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{schema.constants-CzfoUWxF.js → schema.constants-CMFOYyBj.js} +22 -42
- package/dist/cjs/stencil.cjs.js +3 -3
- package/dist/collection/classes/core/viewport.class.js +16 -8
- package/dist/collection/classes/objects/shape.class.js +2 -1
- package/dist/collection/classes/tools/base-tool.class.js +2 -0
- package/dist/collection/classes/tools/brush-tool.class.js +1 -0
- package/dist/collection/classes/tools/eraser-tool.class.js +1 -0
- package/dist/collection/classes/tools/image-tool.class.js +1 -0
- package/dist/collection/classes/tools/line-tool.class.js +1 -0
- package/dist/collection/classes/tools/selection-tool.class.js +1 -0
- package/dist/collection/classes/tools/shape-tool.class.js +1 -0
- package/dist/collection/classes/tools/text-tool.class.js +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +77 -22
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +106 -2
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +3 -3
- package/dist/collection/components/shared/kritzel-input/kritzel-input.css +1 -1
- package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.css +2 -2
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +7 -0
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +7 -1
- package/dist/collection/components/ui/kritzel-export/kritzel-export.css +1 -1
- package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.js +2 -2
- package/dist/collection/configs/default-asset-storage.config.js +1 -2
- package/dist/collection/configs/default-sync.config.js +2 -5
- package/dist/collection/constants/version.js +1 -1
- package/dist/collection/helpers/tool-config.helper.js +58 -65
- package/dist/collection/interfaces/tool-type.interface.js +1 -0
- package/dist/collection/themes/dark-theme.js +5 -0
- package/dist/collection/themes/light-theme.js +5 -0
- package/dist/components/index.js +1 -1
- package/dist/components/kritzel-active-users.js +1 -1
- package/dist/components/kritzel-avatar.js +1 -1
- package/dist/components/kritzel-awareness-cursors.js +1 -1
- package/dist/components/kritzel-back-to-content.js +1 -1
- package/dist/components/kritzel-brush-style.js +1 -1
- package/dist/components/kritzel-button.js +1 -1
- package/dist/components/kritzel-color-palette.js +1 -1
- package/dist/components/kritzel-color.js +1 -1
- package/dist/components/kritzel-context-menu.js +1 -1
- package/dist/components/kritzel-controls.js +1 -1
- package/dist/components/kritzel-current-user-dialog.js +1 -1
- package/dist/components/kritzel-current-user.js +1 -1
- package/dist/components/kritzel-cursor-trail.js +1 -1
- package/dist/components/kritzel-dialog.js +1 -1
- package/dist/components/kritzel-dropdown.js +1 -1
- package/dist/components/kritzel-editor.js +1 -1
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-export.js +1 -1
- package/dist/components/kritzel-font-family.js +1 -1
- package/dist/components/kritzel-font-size.js +1 -1
- package/dist/components/kritzel-font.js +1 -1
- package/dist/components/kritzel-icon.js +1 -1
- package/dist/components/kritzel-input.js +1 -1
- package/dist/components/kritzel-line-endings.js +1 -1
- package/dist/components/kritzel-login-dialog.js +1 -1
- package/dist/components/kritzel-master-detail.js +1 -1
- package/dist/components/kritzel-menu-item.js +1 -1
- package/dist/components/kritzel-menu.js +1 -1
- package/dist/components/kritzel-more-menu.js +1 -1
- package/dist/components/kritzel-numeric-input.js +1 -1
- package/dist/components/kritzel-opacity-slider.js +1 -1
- package/dist/components/kritzel-pill-tabs.js +1 -1
- package/dist/components/kritzel-portal.js +1 -1
- package/dist/components/kritzel-settings.js +1 -1
- package/dist/components/kritzel-shape-fill.js +1 -1
- package/dist/components/kritzel-share-dialog.js +1 -1
- package/dist/components/kritzel-slide-toggle.js +1 -1
- package/dist/components/kritzel-split-button.js +1 -1
- package/dist/components/kritzel-stroke-size.js +1 -1
- package/dist/components/kritzel-tool-config.js +1 -1
- package/dist/components/kritzel-tooltip.js +1 -1
- package/dist/components/kritzel-utility-panel.js +1 -1
- package/dist/components/kritzel-workspace-manager.js +1 -1
- package/dist/components/p-2xYAGd0I.js +1 -0
- package/dist/components/{p-DdmJquQr.js → p-B2Os1ya_.js} +1 -1
- package/dist/components/p-B2w8X7vn.js +1 -0
- package/dist/components/{p-DRB3TZzI.js → p-B4b6TDxp.js} +1 -1
- package/dist/components/p-B5xxfwKF.js +1 -0
- package/dist/components/p-B9hLySCl.js +1 -0
- package/dist/components/{p-D0aom7Yu.js → p-BFYtCsZu.js} +1 -1
- package/dist/components/{p-CARNM9pf.js → p-BFoK4W--.js} +1 -1
- package/dist/components/{p-x38RbGJA.js → p-BYmp9Ovv.js} +1 -1
- package/dist/components/{p-KVG5rztB.js → p-BbactVA0.js} +1 -1
- package/dist/components/{p-B_JH91jB.js → p-BfNHpqQ8.js} +1 -1
- package/dist/components/{p-DXgUuzXW.js → p-BiG1dxPS.js} +1 -1
- package/dist/components/{p-Dov3qOAR.js → p-Bj2laX89.js} +1 -1
- package/dist/components/{p-Cr7xOsIZ.js → p-BqwqGFQY.js} +1 -1
- package/dist/components/{p-DmTG0Y5h.js → p-BzYU3-MJ.js} +1 -1
- package/dist/components/p-C-aFOO5p.js +1 -0
- package/dist/components/p-C0TN5IAi.js +1 -0
- package/dist/components/{p-RnuCSIt-.js → p-C2SX-XRr.js} +1 -1
- package/dist/components/{p-guqEWGgV.js → p-CFgkUYoO.js} +1 -1
- package/dist/components/{p-BTSOqHMI.js → p-CHrSFOSI.js} +1 -1
- package/dist/components/p-CJOhfMU5.js +1 -0
- package/dist/components/{p-DJLJfKY2.js → p-COLHjboZ.js} +1 -1
- package/dist/components/{p-CKY7AvGR.js → p-COgo9OWy.js} +1 -1
- package/dist/components/{p-Do4UlU4e.js → p-CVzH1Oil.js} +1 -1
- package/dist/components/{p-DhAM4qeQ.js → p-CXpv9Rxe.js} +1 -1
- package/dist/components/{p-Bp3kdH4l.js → p-CcyIAi9S.js} +1 -1
- package/dist/components/{p-COIxq81R.js → p-CmuNn1Tc.js} +1 -1
- package/dist/components/{p-DfH7YY2C.js → p-D-sRVAbQ.js} +1 -1
- package/dist/components/{p-ZgZqbJ58.js → p-DDYoDSrm.js} +1 -1
- package/dist/components/{p-u0b2RJAn.js → p-DEy7zJCe.js} +1 -1
- package/dist/components/{p-BPEn0_hr.js → p-DM11KXUT.js} +1 -1
- package/dist/components/{p-CJERvHdy.js → p-DbB730vO.js} +1 -1
- package/dist/components/{p-C8ggg-5h.js → p-Df3BwVGy.js} +1 -1
- package/dist/components/{p-Dx_xz_El.js → p-DlwYHzSj.js} +1 -1
- package/dist/components/p-DplAQ6jk.js +9 -0
- package/dist/components/{p-CJ2V42sz.js → p-FK7b3BGt.js} +1 -1
- package/dist/components/{p-CxtTuKCy.js → p-JhOYwUOj.js} +1 -1
- package/dist/components/{p-Dw9sKOsb.js → p-SptaSMno.js} +1 -1
- package/dist/components/{p-KjtNlFTl.js → p-UoPj5QjH.js} +1 -1
- package/dist/components/{p-CYR9wbJg.js → p-dcAernE1.js} +1 -1
- package/dist/components/{p-EFyZdR89.js → p-ijIqLY9g.js} +1 -1
- package/dist/components/{p-BI_UUiTr.js → p-skWUIStn.js} +1 -1
- package/dist/components/{p-DgtrNOWm.js → p-x6doYeiI.js} +1 -1
- package/dist/esm/{index-D9HaikfQ.js → index-Dhio9uis.js} +1 -1
- package/dist/esm/index.js +42 -4
- package/dist/esm/kritzel-active-users_42.entry.js +139 -97
- package/dist/esm/kritzel-brush-style.entry.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{schema.constants-BcT1vV4J.js → schema.constants-NrtFvKER.js} +23 -42
- package/dist/esm/stencil.js +4 -4
- package/dist/stencil/index.esm.js +1 -1
- package/dist/stencil/p-9adee165.entry.js +9 -0
- package/dist/stencil/p-NrtFvKER.js +1 -0
- package/dist/stencil/{p-69298b5f.entry.js → p-fb32cd8f.entry.js} +1 -1
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/core/viewport.class.d.ts +8 -0
- package/dist/types/classes/tools/base-tool.class.d.ts +3 -0
- package/dist/types/classes/tools/brush-tool.class.d.ts +1 -0
- package/dist/types/classes/tools/eraser-tool.class.d.ts +1 -0
- package/dist/types/classes/tools/image-tool.class.d.ts +1 -0
- package/dist/types/classes/tools/line-tool.class.d.ts +1 -0
- package/dist/types/classes/tools/selection-tool.class.d.ts +1 -0
- package/dist/types/classes/tools/shape-tool.class.d.ts +1 -0
- package/dist/types/classes/tools/text-tool.class.d.ts +1 -0
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +2 -0
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +16 -0
- package/dist/types/components/ui/kritzel-context-menu/kritzel-context-menu.d.ts +1 -0
- package/dist/types/components.d.ts +26 -14
- package/dist/types/configs/default-asset-storage.config.d.ts +1 -1
- package/dist/types/configs/default-sync.config.d.ts +1 -1
- package/dist/types/constants/version.d.ts +1 -1
- package/dist/types/interfaces/theme.interface.d.ts +8 -3
- package/dist/types/interfaces/tool-config.interface.d.ts +3 -6
- package/dist/types/interfaces/tool-type.interface.d.ts +1 -0
- package/dist/types/interfaces/tool.interface.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +1 -0
- package/package.json +1 -1
- package/dist/components/p-C0wFAtT_.js +0 -1
- package/dist/components/p-CWgI1dA0.js +0 -1
- package/dist/components/p-DH-H7om7.js +0 -1
- package/dist/components/p-DIiGd0LS.js +0 -1
- package/dist/components/p-DLh8x1jK.js +0 -9
- package/dist/components/p-Dqjil3Hm.js +0 -1
- package/dist/components/p-IiG44Unz.js +0 -1
- package/dist/components/p-K7ySy791.js +0 -1
- package/dist/stencil/p-0c95e585.entry.js +0 -9
- package/dist/stencil/p-BcT1vV4J.js +0 -1
- /package/dist/components/{p-BWj1eE2b.js → p-B43upypT.js} +0 -0
- /package/dist/stencil/{p-D9HaikfQ.js → p-Dhio9uis.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,c as t,h as o,H as n}from"./p-
|
|
1
|
+
import{r as e,c as t,h as o,H as n}from"./p-Dhio9uis.js";const r=class{constructor(o){e(this,o),this.typeChange=t(this,"typeChange")}type="pen";brushOptions=[{value:"pen",label:"Pen"},{value:"highlighter",label:"Highlighter"}];typeChange;handleDropdownValueChange(e){this.typeChange.emit(e.detail)}render(){const e=this.brushOptions.map((e=>({value:e.value,label:e.label})));return o(n,{key:"7b05e93ce8d28c23503e4ca358a487165169f1ad"},o("kritzel-dropdown",{key:"a8f2f30762b339411cd3995482c3bc658855f749",options:e,value:this.type,onValueChanged:e=>this.handleDropdownValueChange(e)},o("button",{key:"ac06462897a0fbd5011533095fafb7491a75508a",class:"brush-style-button",slot:"prefix"},o("kritzel-icon",{key:"caee4c657c7fee478b1038ebd2ef3b502cf73e5e",name:this.type,size:16}))))}};r.style=":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box;width:100%}.brush-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;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)}";export{r as kritzel_brush_style}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,b as o}from"./p-D9HaikfQ.js";export{s as setNonce}from"./p-D9HaikfQ.js";import{g as t}from"./p-DQuL1Twl.js";(()=>{const o=import.meta.url,t={};return""!==o&&(t.resourcesUrl=new URL(".",o).href),e(t)})().then((async e=>(await t(),o(JSON.parse('[["p-0c95e585",[[512,"kritzel-editor",{"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"lockDrawingScale":[1028,"lock-drawing-scale"],"viewportBoundaryLeft":[1026,"viewport-boundary-left"],"viewportBoundaryRight":[1026,"viewport-boundary-right"],"viewportBoundaryTop":[1026,"viewport-boundary-top"],"viewportBoundaryBottom":[1026,"viewport-boundary-bottom"],"wheelEnabled":[1028,"wheel-enabled"],"debugInfo":[1040],"user":[16],"activeUsers":[16],"controls":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"themes":[16],"theme":[1025],"customSvgIcons":[16],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"isWorkspaceManagerVisible":[4,"is-workspace-manager-visible"],"isMoreMenuVisible":[4,"is-more-menu-visible"],"isObjectDistanceFadingActive":[4,"is-object-distance-fading-active"],"syncConfig":[16],"assetStorageConfig":[16],"cursorTarget":[16],"loginConfig":[16],"isLoading":[4,"is-loading"],"editorId":[1,"editor-id"],"activeWorkspaceId":[1,"active-workspace-id"],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"undoState":[32],"isBackToContentButtonVisible":[32],"shortcuts":[32],"currentIsPublic":[32],"isEditorVisible":[32],"getObjectById":[64],"addObject":[64],"addObjects":[64],"updateObject":[64],"removeObject":[64],"removeObjects":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"backToContent":[64],"centerAllObjects":[64],"setViewport":[64],"panTo":[64],"zoomTo":[64],"getViewport":[64],"screenToWorld":[64],"worldToScreen":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64],"loadSharedWorkspace":[64],"reinitSync":[64],"registerTool":[64],"changeActiveTool":[64],"changeActiveToolByName":[64],"disable":[64],"enable":[64],"copy":[64],"cut":[64],"paste":[64],"delete":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"alignObjects":[64],"group":[64],"ungroup":[64],"undo":[64],"redo":[64],"getScreenshot":[64],"exportViewportAsPng":[64],"exportViewportAsSvg":[64],"exportSelectedObjectsAsPng":[64],"exportSelectedObjectsAsSvg":[64],"downloadAsJson":[64],"importFromFile":[64],"loadObjectsFromJson":[64],"getObjectsTotalCount":[64],"getAllObjects":[64],"findObjects":[64],"getCopiedObjects":[64],"getObjectsInViewport":[64],"hideContextMenu":[64],"openContextMenu":[64],"triggerSelectionChange":[64],"getDisplayableShortcuts":[64],"openLoginDialog":[64],"setLoginLoading":[64]},[[0,"dblclick","onTouchStart"]],{"isEngineReady":[{"onIsEngineReady":0}],"isControlsReady":[{"onIsControlsReady":0}],"workspaces":[{"onWorkspacesChange":0}],"activeWorkspace":[{"onActiveWorkspaceChange":0}],"activeWorkspaceId":[{"onActiveWorkspaceIdChange":0}],"theme":[{"onCurrentThemeChange":0}],"themes":[{"onThemesChange":0}]}],[513,"kritzel-controls",{"visible":[4],"controls":[16],"activeControl":[1040],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"undoState":[16],"theme":[1],"firstConfig":[32],"isTouchDevice":[32],"selectedSubOptions":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"internalControls":[32],"closeTooltip":[64]},[[8,"keydown","handleKeyDown"]],{"controls":[{"onControlsChange":0}],"theme":[{"onThemeChange":0}]}],[513,"kritzel-settings",{"availableThemes":[16],"shortcuts":[16],"settings":[16],"isDialogOpen":[32],"selectedCategoryId":[32],"scaleMin":[32],"scaleMax":[32],"lockDrawingScale":[32],"theme":[32],"viewportBoundaryLeft":[32],"viewportBoundaryRight":[32],"viewportBoundaryTop":[32],"viewportBoundaryBottom":[32],"debugInfo":[32],"open":[64]},null,{"settings":[{"onSettingsPropChange":0}]}],[513,"kritzel-export",{"workspaceName":[1,"workspace-name"],"isDialogOpen":[32],"previewUrl":[32],"isLoading":[32],"activeTab":[32],"exportFilename":[32],"viewportExportFormat":[32],"open":[64]}],[513,"kritzel-workspace-manager",{"visible":[4],"activeWorkspace":[1040],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[513,"kritzel-engine",{"workspace":[16],"editorId":[1,"editor-id"],"activeWorkspaceId":[1,"active-workspace-id"],"syncConfig":[16],"assetStorageConfig":[16],"user":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"cursorTarget":[16],"lockDrawingScale":[4,"lock-drawing-scale"],"isObjectDistanceFadingActive":[4,"is-object-distance-fading-active"],"theme":[1],"themes":[16],"viewportBoundaryLeft":[2,"viewport-boundary-left"],"viewportBoundaryRight":[2,"viewport-boundary-right"],"viewportBoundaryTop":[2,"viewport-boundary-top"],"viewportBoundaryBottom":[2,"viewport-boundary-bottom"],"debugInfo":[16],"wheelEnabled":[4,"wheel-enabled"],"isLoading":[4,"is-loading"],"forceUpdate":[32],"triggerSelectionChange":[64],"registerTool":[64],"changeActiveTool":[64],"changeActiveToolByName":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"cut":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"alignObjects":[64],"group":[64],"ungroup":[64],"undo":[64],"redo":[64],"hideContextMenu":[64],"openContextMenu":[64],"getObjectById":[64],"getAllObjects":[64],"findObjects":[64],"getObjectsTotalCount":[64],"addObject":[64],"addObjects":[64],"updateObject":[64],"removeObject":[64],"removeObjects":[64],"getSelectedObjects":[64],"getDisplayableShortcuts":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"backToContent":[64],"centerAllObjects":[64],"setViewport":[64],"panTo":[64],"zoomTo":[64],"getViewport":[64],"screenToWorld":[64],"worldToScreen":[64],"getCopiedObjects":[64],"getObjectsInViewport":[64],"getScreenshot":[64],"exportViewportAsPng":[64],"exportViewportAsSvg":[64],"getSelectedObjectsAsSvgString":[64],"exportSelectedObjectsAsSvg":[64],"getSelectedObjectsAsPngDataUrl":[64],"exportSelectedObjectsAsPng":[64],"exportAsJson":[64],"importFromJson":[64],"loadObjectsFromJson":[64],"downloadAsJson":[64],"importFromFile":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64],"getIsPublic":[64],"loadSharedWorkspace":[64],"reinitSync":[64],"saveSettings":[64],"loadSettings":[64]},[[1,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[1,"pointerleave","handlePointerLeave"],[1,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"],[4,"dblclick","preventDoubleTapZoomOnTouchDevices"]],{"workspace":[{"onWorkspaceChange":0}],"activeWorkspaceId":[{"onActiveWorkspaceIdChange":0}],"syncConfig":[{"onSyncConfigChange":0}],"assetStorageConfig":[{"onAssetStorageConfigChange":0}],"user":[{"onUserChange":0}],"scaleMax":[{"validateScaleMax":0}],"scaleMin":[{"validateScaleMin":0}],"cursorTarget":[{"onCursorTargetChange":0}],"lockDrawingScale":[{"onLockDrawingScaleChange":0}],"isObjectDistanceFadingActive":[{"onIsObjectDistanceFadingActiveChange":0}],"theme":[{"onThemeChange":0}],"themes":[{"onThemesChange":0}],"viewportBoundaryLeft":[{"onViewportBoundaryLeftChange":0}],"viewportBoundaryRight":[{"onViewportBoundaryRightChange":0}],"viewportBoundaryTop":[{"onViewportBoundaryTopChange":0}],"viewportBoundaryBottom":[{"onViewportBoundaryBottomChange":0}],"debugInfo":[{"onDebugInfoChange":0}],"isLoading":[{"onIsLoadingChange":0}]}],[513,"kritzel-more-menu",{"visible":[4],"items":[16],"icon":[1],"iconSize":[2,"icon-size"],"offsetY":[2,"offset-y"],"menuAnchor":[32],"isTouchDevice":[32]}],[513,"kritzel-current-user",{"user":[16],"avatarSize":[2,"avatar-size"]}],[513,"kritzel-share-dialog",{"isPublic":[4,"is-public"],"workspaceId":[1,"workspace-id"],"isDialogOpen":[32],"internalIsPublic":[32],"copySuccess":[32],"open":[64],"close":[64]},null,{"isPublic":[{"onIsPublicChange":0}]}],[513,"kritzel-login-dialog",{"providers":[16],"dialogTitle":[1,"dialog-title"],"subtitle":[1],"isDialogOpen":[32],"loadingProvider":[32],"open":[64],"close":[64],"setLoading":[64]}],[513,"kritzel-active-users",{"users":[16],"avatarSize":[2,"avatar-size"],"maxVisible":[2,"max-visible"],"overlap":[2]}],[513,"kritzel-back-to-content",{"visible":[4],"text":[1]}],[769,"kritzel-button",{"variant":[1],"disabled":[4],"type":[1]}],[513,"kritzel-tool-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"theme":[1],"engine":[16],"config":[32],"palette":[32],"sizes":[32],"currentOpacity":[32],"updateTrigger":[32]},null,{"tool":[{"handleToolChange":0}],"theme":[{"onThemeChange":0}],"engine":[{"handleEngineChange":0}]}],[513,"kritzel-split-button",{"buttonIcon":[1,"button-icon"],"dropdownIcon":[1,"dropdown-icon"],"items":[16],"mainButtonDisabled":[4,"main-button-disabled"],"menuButtonDisabled":[4,"menu-button-disabled"],"isMenuOpen":[32],"isTouchDevice":[32],"anchorElement":[32],"menuScrollTop":[32],"open":[64],"focusMenu":[64]}],[513,"kritzel-current-user-dialog",{"user":[16],"isDialogOpen":[32],"open":[64],"close":[64]}],[513,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32],"openSubmenuPath":[32],"submenuPositions":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":[{"onItemsChanged":0}]}],[769,"kritzel-master-detail",{"items":[16],"selectedItemId":[1,"selected-item-id"],"focusedIndex":[32],"showMobileDetail":[32]},null,{"selectedItemId":[{"watchSelectedItemId":0}]}],[513,"kritzel-pill-tabs",{"tabs":[16],"value":[1025]}],[513,"kritzel-utility-panel",{"undoState":[16]}],[513,"kritzel-awareness-cursors",{"core":[16],"showEdgeIndicators":[4,"show-edge-indicators"],"edgeIndicatorPadding":[2,"edge-indicator-padding"],"remoteCursors":[32],"objectVersion":[32]}],[513,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[513,"kritzel-input",{"value":[1025],"label":[1],"placeholder":[1],"suffix":[1],"type":[1],"disabled":[4],"inputValue":[32]},null,{"value":[{"onValueChange":0}]}],[513,"kritzel-numeric-input",{"value":[1026],"min":[2],"max":[2],"step":[2],"label":[1],"placeholder":[1],"inputValue":[32]},null,{"value":[{"onValueChange":0}]}],[769,"kritzel-tooltip",{"isVisible":[1028,"is-visible"],"anchorElement":[16],"triggerElement":[16],"offsetY":[2,"offset-y"],"positionX":[32],"positionY":[32],"open":[64],"close":[64],"toggle":[64],"focusContent":[64]},[[4,"click","handleOutsideClick"],[6,"pointerdown","handleOutsidePointerDown"],[4,"kritzelTooltipCloseAll","handleCloseAll"],[9,"resize","handleWindowResize"]],{"triggerElement":[{"handleTriggerElementChange":0}],"isVisible":[{"handleVisibilityChange":0}]}],[513,"kritzel-color-palette",{"colors":[16],"selectedColor":[1040],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"],"opacity":[2],"theme":[1]}],[513,"kritzel-font-family",{"fontOptions":[16],"selectedFontFamily":[1025,"selected-font-family"]}],[513,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[513,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[513,"kritzel-line-endings",{"styles":[16],"value":[1040]}],[513,"kritzel-opacity-slider",{"value":[1026],"min":[2],"max":[2],"step":[2],"previewColor":[1,"preview-color"]}],[513,"kritzel-shape-fill",{"value":[1025]}],[513,"kritzel-slide-toggle",{"checked":[1028],"disabled":[4],"label":[1]}],[513,"kritzel-avatar",{"user":[16],"name":[1],"size":[2],"color":[1],"imageError":[32]},null,{"user":[{"userChanged":0}],"profileImageUrl":[{"profileImageUrlChanged":0}]}],[513,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[513,"kritzel-color",{"value":[1],"theme":[1],"size":[2]}],[513,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setScrollTop":[64],"setFocus":[64]}],[513,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":[{"onItemChange":0}]}],[769,"kritzel-portal",{"anchor":[16],"offsetX":[2,"offset-x"],"offsetY":[2,"offset-y"],"autoFocus":[4,"auto-focus"]},[[8,"kritzel-dismiss-menus","handleDismissMenus"],[8,"click","handleOutsideClick"],[6,"pointerdown","handleOutsidePointerDown"],[8,"keydown","handleKeyDown"],[11,"resize","handleResize"],[11,"scroll","handleWindowScroll"]],{"anchor":[{"anchorChanged":0}]}],[769,"kritzel-dialog",{"isOpen":[516,"is-open"],"dialogTitle":[1,"dialog-title"],"closable":[4],"closeOnBackdrop":[4,"close-on-backdrop"],"closeOnEscape":[4,"close-on-escape"],"autoFocus":[4,"auto-focus"],"trapFocus":[4,"trap-focus"],"size":[1],"fullscreenOnMobile":[4,"fullscreen-on-mobile"],"contained":[516],"isAnimating":[32],"mobileLockedHeight":[32],"containerRect":[32],"containerBorderRadius":[32],"open":[64],"close":[64],"focusFirstElement":[64]},[[8,"keydown","handleKeyDown"],[9,"resize","handleWindowResize"],[8,"orientationchange","handleOrientationChange"]],{"isOpen":[{"handleIsOpenChange":0}]}],[769,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[16],"forceOpenDirection":[1,"force-open-direction"],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32],"isOpen":[32],"focusedIndex":[32],"openDirection":[32]},[[4,"click","handleDocumentClick"],[4,"keydown","handleDocumentKeydown"]],{"options":[{"optionsChanged":0}],"value":[{"externalValueChanged":0}]}],[513,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["p-69298b5f",[[513,"kritzel-brush-style",{"type":[1],"brushOptions":[16]}]]]]'),e))));
|
|
1
|
+
import{p as e,b as o}from"./p-Dhio9uis.js";export{s as setNonce}from"./p-Dhio9uis.js";import{g as t}from"./p-DQuL1Twl.js";(()=>{const o=import.meta.url,t={};return""!==o&&(t.resourcesUrl=new URL(".",o).href),e(t)})().then((async e=>(await t(),o(JSON.parse('[["p-9adee165",[[512,"kritzel-editor",{"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"lockDrawingScale":[1028,"lock-drawing-scale"],"viewportBoundaryLeft":[1026,"viewport-boundary-left"],"viewportBoundaryRight":[1026,"viewport-boundary-right"],"viewportBoundaryTop":[1026,"viewport-boundary-top"],"viewportBoundaryBottom":[1026,"viewport-boundary-bottom"],"wheelEnabled":[1028,"wheel-enabled"],"debugInfo":[1040],"user":[16],"activeUsers":[16],"controls":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"themes":[16],"theme":[1025],"customSvgIcons":[16],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"isWorkspaceManagerVisible":[4,"is-workspace-manager-visible"],"isMoreMenuVisible":[4,"is-more-menu-visible"],"isObjectDistanceFadingActive":[4,"is-object-distance-fading-active"],"syncConfig":[16],"assetStorageConfig":[16],"cursorTarget":[16],"loginConfig":[16],"isLoading":[4,"is-loading"],"editorId":[1,"editor-id"],"activeWorkspaceId":[1,"active-workspace-id"],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"undoState":[32],"isBackToContentButtonVisible":[32],"shortcuts":[32],"currentIsPublic":[32],"isEditorVisible":[32],"getObjectById":[64],"addObject":[64],"addObjects":[64],"updateObject":[64],"removeObject":[64],"removeObjects":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"panToObject":[64],"backToContent":[64],"centerAllObjects":[64],"centerObjects":[64],"setViewport":[64],"panTo":[64],"zoomTo":[64],"getViewport":[64],"screenToWorld":[64],"worldToScreen":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64],"loadSharedWorkspace":[64],"reinitSync":[64],"registerTool":[64],"changeActiveTool":[64],"changeActiveToolByName":[64],"disable":[64],"enable":[64],"copy":[64],"cut":[64],"paste":[64],"delete":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"alignObjects":[64],"group":[64],"ungroup":[64],"undo":[64],"redo":[64],"getScreenshot":[64],"exportViewportAsPng":[64],"exportViewportAsSvg":[64],"exportSelectedObjectsAsPng":[64],"exportSelectedObjectsAsSvg":[64],"downloadAsJson":[64],"importFromFile":[64],"loadObjectsFromJson":[64],"getObjectsTotalCount":[64],"getAllObjects":[64],"findObjects":[64],"getCopiedObjects":[64],"getObjectsInViewport":[64],"hideContextMenu":[64],"openContextMenu":[64],"triggerSelectionChange":[64],"getDisplayableShortcuts":[64],"openLoginDialog":[64],"setLoginLoading":[64]},[[0,"dblclick","onTouchStart"]],{"isEngineReady":[{"onIsEngineReady":0}],"isControlsReady":[{"onIsControlsReady":0}],"workspaces":[{"onWorkspacesChange":0}],"activeWorkspace":[{"onActiveWorkspaceChange":0}],"activeWorkspaceId":[{"onActiveWorkspaceIdChange":0}],"theme":[{"onCurrentThemeChange":0}],"themes":[{"onThemesChange":0}]}],[513,"kritzel-controls",{"visible":[4],"controls":[16],"activeControl":[1040],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"undoState":[16],"theme":[1],"firstConfig":[32],"isTouchDevice":[32],"selectedSubOptions":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"internalControls":[32],"closeTooltip":[64]},[[8,"keydown","handleKeyDown"]],{"controls":[{"onControlsChange":0}],"theme":[{"onThemeChange":0}]}],[513,"kritzel-settings",{"availableThemes":[16],"shortcuts":[16],"settings":[16],"isDialogOpen":[32],"selectedCategoryId":[32],"scaleMin":[32],"scaleMax":[32],"lockDrawingScale":[32],"theme":[32],"viewportBoundaryLeft":[32],"viewportBoundaryRight":[32],"viewportBoundaryTop":[32],"viewportBoundaryBottom":[32],"debugInfo":[32],"open":[64]},null,{"settings":[{"onSettingsPropChange":0}]}],[513,"kritzel-export",{"workspaceName":[1,"workspace-name"],"isDialogOpen":[32],"previewUrl":[32],"isLoading":[32],"activeTab":[32],"exportFilename":[32],"viewportExportFormat":[32],"open":[64]}],[513,"kritzel-workspace-manager",{"visible":[4],"activeWorkspace":[1040],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[513,"kritzel-engine",{"workspace":[16],"editorId":[1,"editor-id"],"activeWorkspaceId":[1,"active-workspace-id"],"syncConfig":[16],"assetStorageConfig":[16],"user":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"cursorTarget":[16],"lockDrawingScale":[4,"lock-drawing-scale"],"isObjectDistanceFadingActive":[4,"is-object-distance-fading-active"],"theme":[1],"themes":[16],"viewportBoundaryLeft":[2,"viewport-boundary-left"],"viewportBoundaryRight":[2,"viewport-boundary-right"],"viewportBoundaryTop":[2,"viewport-boundary-top"],"viewportBoundaryBottom":[2,"viewport-boundary-bottom"],"debugInfo":[16],"wheelEnabled":[4,"wheel-enabled"],"isLoading":[4,"is-loading"],"forceUpdate":[32],"triggerSelectionChange":[64],"registerTool":[64],"changeActiveTool":[64],"changeActiveToolByName":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"cut":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"alignObjects":[64],"group":[64],"ungroup":[64],"undo":[64],"redo":[64],"hideContextMenu":[64],"openContextMenu":[64],"getObjectById":[64],"getAllObjects":[64],"findObjects":[64],"getObjectsTotalCount":[64],"addObject":[64],"addObjects":[64],"updateObject":[64],"removeObject":[64],"removeObjects":[64],"getSelectedObjects":[64],"getDisplayableShortcuts":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"panToObject":[64],"backToContent":[64],"centerAllObjects":[64],"centerObjects":[64],"setViewport":[64],"panTo":[64],"zoomTo":[64],"getViewport":[64],"screenToWorld":[64],"worldToScreen":[64],"getCopiedObjects":[64],"getObjectsInViewport":[64],"getScreenshot":[64],"exportViewportAsPng":[64],"exportViewportAsSvg":[64],"getSelectedObjectsAsSvgString":[64],"exportSelectedObjectsAsSvg":[64],"getSelectedObjectsAsPngDataUrl":[64],"exportSelectedObjectsAsPng":[64],"exportAsJson":[64],"importFromJson":[64],"loadObjectsFromJson":[64],"downloadAsJson":[64],"importFromFile":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64],"getIsPublic":[64],"loadSharedWorkspace":[64],"reinitSync":[64],"saveSettings":[64],"loadSettings":[64]},[[1,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[1,"pointerleave","handlePointerLeave"],[1,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"],[4,"dblclick","preventDoubleTapZoomOnTouchDevices"]],{"workspace":[{"onWorkspaceChange":0}],"activeWorkspaceId":[{"onActiveWorkspaceIdChange":0}],"syncConfig":[{"onSyncConfigChange":0}],"assetStorageConfig":[{"onAssetStorageConfigChange":0}],"user":[{"onUserChange":0}],"globalContextMenuItems":[{"onGlobalContextMenuItemsChange":0}],"objectContextMenuItems":[{"onObjectContextMenuItemsChange":0}],"scaleMax":[{"validateScaleMax":0}],"scaleMin":[{"validateScaleMin":0}],"cursorTarget":[{"onCursorTargetChange":0}],"lockDrawingScale":[{"onLockDrawingScaleChange":0}],"isObjectDistanceFadingActive":[{"onIsObjectDistanceFadingActiveChange":0}],"theme":[{"onThemeChange":0}],"themes":[{"onThemesChange":0}],"viewportBoundaryLeft":[{"onViewportBoundaryLeftChange":0}],"viewportBoundaryRight":[{"onViewportBoundaryRightChange":0}],"viewportBoundaryTop":[{"onViewportBoundaryTopChange":0}],"viewportBoundaryBottom":[{"onViewportBoundaryBottomChange":0}],"debugInfo":[{"onDebugInfoChange":0}],"isLoading":[{"onIsLoadingChange":0}]}],[513,"kritzel-more-menu",{"visible":[4],"items":[16],"icon":[1],"iconSize":[2,"icon-size"],"offsetY":[2,"offset-y"],"menuAnchor":[32],"isTouchDevice":[32]}],[513,"kritzel-current-user",{"user":[16],"avatarSize":[2,"avatar-size"]}],[513,"kritzel-share-dialog",{"isPublic":[4,"is-public"],"workspaceId":[1,"workspace-id"],"isDialogOpen":[32],"internalIsPublic":[32],"copySuccess":[32],"open":[64],"close":[64]},null,{"isPublic":[{"onIsPublicChange":0}]}],[513,"kritzel-login-dialog",{"providers":[16],"dialogTitle":[1,"dialog-title"],"subtitle":[1],"isDialogOpen":[32],"loadingProvider":[32],"open":[64],"close":[64],"setLoading":[64]}],[513,"kritzel-active-users",{"users":[16],"avatarSize":[2,"avatar-size"],"maxVisible":[2,"max-visible"],"overlap":[2]}],[513,"kritzel-back-to-content",{"visible":[4],"text":[1]}],[769,"kritzel-button",{"variant":[1],"disabled":[4],"type":[1]}],[513,"kritzel-tool-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"theme":[1],"engine":[16],"config":[32],"palette":[32],"sizes":[32],"currentOpacity":[32],"updateTrigger":[32]},null,{"tool":[{"handleToolChange":0}],"theme":[{"onThemeChange":0}],"engine":[{"handleEngineChange":0}]}],[513,"kritzel-split-button",{"buttonIcon":[1,"button-icon"],"dropdownIcon":[1,"dropdown-icon"],"items":[16],"mainButtonDisabled":[4,"main-button-disabled"],"menuButtonDisabled":[4,"menu-button-disabled"],"isMenuOpen":[32],"isTouchDevice":[32],"anchorElement":[32],"menuScrollTop":[32],"open":[64],"focusMenu":[64]}],[513,"kritzel-current-user-dialog",{"user":[16],"isDialogOpen":[32],"open":[64],"close":[64]}],[513,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32],"openSubmenuPath":[32],"submenuPositions":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":[{"onItemsChanged":0}]}],[769,"kritzel-master-detail",{"items":[16],"selectedItemId":[1,"selected-item-id"],"focusedIndex":[32],"showMobileDetail":[32]},null,{"selectedItemId":[{"watchSelectedItemId":0}]}],[513,"kritzel-pill-tabs",{"tabs":[16],"value":[1025]}],[513,"kritzel-utility-panel",{"undoState":[16]}],[513,"kritzel-awareness-cursors",{"core":[16],"showEdgeIndicators":[4,"show-edge-indicators"],"edgeIndicatorPadding":[2,"edge-indicator-padding"],"remoteCursors":[32],"objectVersion":[32]}],[513,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[513,"kritzel-input",{"value":[1025],"label":[1],"placeholder":[1],"suffix":[1],"type":[1],"disabled":[4],"inputValue":[32]},null,{"value":[{"onValueChange":0}]}],[513,"kritzel-numeric-input",{"value":[1026],"min":[2],"max":[2],"step":[2],"label":[1],"placeholder":[1],"inputValue":[32]},null,{"value":[{"onValueChange":0}]}],[769,"kritzel-tooltip",{"isVisible":[1028,"is-visible"],"anchorElement":[16],"triggerElement":[16],"offsetY":[2,"offset-y"],"positionX":[32],"positionY":[32],"open":[64],"close":[64],"toggle":[64],"focusContent":[64]},[[4,"click","handleOutsideClick"],[6,"pointerdown","handleOutsidePointerDown"],[4,"kritzelTooltipCloseAll","handleCloseAll"],[9,"resize","handleWindowResize"]],{"triggerElement":[{"handleTriggerElementChange":0}],"isVisible":[{"handleVisibilityChange":0}]}],[513,"kritzel-color-palette",{"colors":[16],"selectedColor":[1040],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"],"opacity":[2],"theme":[1]}],[513,"kritzel-font-family",{"fontOptions":[16],"selectedFontFamily":[1025,"selected-font-family"]}],[513,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[513,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[513,"kritzel-line-endings",{"styles":[16],"value":[1040]}],[513,"kritzel-opacity-slider",{"value":[1026],"min":[2],"max":[2],"step":[2],"previewColor":[1,"preview-color"]}],[513,"kritzel-shape-fill",{"value":[1025]}],[513,"kritzel-slide-toggle",{"checked":[1028],"disabled":[4],"label":[1]}],[513,"kritzel-avatar",{"user":[16],"name":[1],"size":[2],"color":[1],"imageError":[32]},null,{"user":[{"userChanged":0}],"profileImageUrl":[{"profileImageUrlChanged":0}]}],[513,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[513,"kritzel-color",{"value":[1],"theme":[1],"size":[2]}],[513,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setScrollTop":[64],"setFocus":[64]}],[513,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":[{"onItemChange":0}]}],[769,"kritzel-portal",{"anchor":[16],"offsetX":[2,"offset-x"],"offsetY":[2,"offset-y"],"autoFocus":[4,"auto-focus"]},[[8,"kritzel-dismiss-menus","handleDismissMenus"],[8,"click","handleOutsideClick"],[6,"pointerdown","handleOutsidePointerDown"],[8,"keydown","handleKeyDown"],[11,"resize","handleResize"],[11,"scroll","handleWindowScroll"]],{"anchor":[{"anchorChanged":0}]}],[769,"kritzel-dialog",{"isOpen":[516,"is-open"],"dialogTitle":[1,"dialog-title"],"closable":[4],"closeOnBackdrop":[4,"close-on-backdrop"],"closeOnEscape":[4,"close-on-escape"],"autoFocus":[4,"auto-focus"],"trapFocus":[4,"trap-focus"],"size":[1],"fullscreenOnMobile":[4,"fullscreen-on-mobile"],"contained":[516],"isAnimating":[32],"mobileLockedHeight":[32],"containerRect":[32],"containerBorderRadius":[32],"open":[64],"close":[64],"focusFirstElement":[64]},[[8,"keydown","handleKeyDown"],[9,"resize","handleWindowResize"],[8,"orientationchange","handleOrientationChange"]],{"isOpen":[{"handleIsOpenChange":0}]}],[769,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[16],"forceOpenDirection":[1,"force-open-direction"],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32],"isOpen":[32],"focusedIndex":[32],"openDirection":[32]},[[4,"click","handleDocumentClick"],[4,"keydown","handleDocumentKeydown"]],{"options":[{"optionsChanged":0}],"value":[{"externalValueChanged":0}]}],[513,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["p-fb32cd8f",[[513,"kritzel-brush-style",{"type":[1],"brushOptions":[16]}]]]]'),e))));
|
|
@@ -208,6 +208,14 @@ export declare class KritzelViewport {
|
|
|
208
208
|
* @returns true if content was found and viewport is animating, false if no content exists
|
|
209
209
|
*/
|
|
210
210
|
centerFitNearestContent(maxObjects?: number): boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Centers and fits the provided objects in the viewport.
|
|
213
|
+
* Calculates the combined bounding box of the provided objects and optionally animates the viewport to show them.
|
|
214
|
+
* @param objects - Objects to include in the fit operation.
|
|
215
|
+
* @param animate - Whether to animate the viewport transition (default: true)
|
|
216
|
+
* @returns true if at least one object was provided and viewport was adjusted, false otherwise
|
|
217
|
+
*/
|
|
218
|
+
centerFitObjects<T extends Element>(objects: KritzelBaseObject<T>[], animate?: boolean): boolean;
|
|
211
219
|
/**
|
|
212
220
|
* Centers and fits ALL objects in the viewport, including objects not currently rendered.
|
|
213
221
|
* Calculates the combined bounding box of all objects and optionally animates the viewport to show them.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { KritzelSerializable } from '../../interfaces/serializable.interface';
|
|
2
|
+
import { KritzelToolType } from '../../interfaces/tool-type.interface';
|
|
2
3
|
import { KritzelTool } from '../../interfaces/tool.interface';
|
|
3
4
|
import { KritzelCore } from '../core/core.class';
|
|
4
5
|
/**
|
|
@@ -9,6 +10,8 @@ import { KritzelCore } from '../core/core.class';
|
|
|
9
10
|
export declare class KritzelBaseTool implements KritzelTool, KritzelSerializable {
|
|
10
11
|
/** Class name identifier used for serialization/deserialization */
|
|
11
12
|
__class__: string;
|
|
13
|
+
/** Identifies the tool type for config resolution (survives minification and dual-package bundling) */
|
|
14
|
+
toolType: KritzelToolType;
|
|
12
15
|
/** Human-readable name of the tool */
|
|
13
16
|
name: string;
|
|
14
17
|
/** Reference to the Kritzel core instance for accessing store, viewport, and other core functionality */
|
|
@@ -7,6 +7,7 @@ import { ThemeAwareColor } from '../../constants/color-palette.constants';
|
|
|
7
7
|
* Supports mouse, touch, and pen input with configurable color, size, and opacity.
|
|
8
8
|
*/
|
|
9
9
|
export declare class KritzelBrushTool extends KritzelBaseTool {
|
|
10
|
+
toolType: "brush";
|
|
10
11
|
/** The color of the brush stroke (supports theme-aware light/dark colors) */
|
|
11
12
|
color: ThemeAwareColor;
|
|
12
13
|
/** The width of the brush stroke in pixels */
|
|
@@ -6,6 +6,7 @@ import { KritzelCore } from '../core/core.class';
|
|
|
6
6
|
* and deleted when the gesture completes. Supports mouse, touch, and pen input.
|
|
7
7
|
*/
|
|
8
8
|
export declare class KritzelEraserTool extends KritzelBaseTool {
|
|
9
|
+
toolType: "eraser";
|
|
9
10
|
/** Timeout handle for delayed touch start activation to prevent accidental erasing */
|
|
10
11
|
touchStartTimeout: any;
|
|
11
12
|
/**
|
|
@@ -14,6 +14,7 @@ import { KritzelCore } from '../core/core.class';
|
|
|
14
14
|
* the id to a URL via the asset resolver.
|
|
15
15
|
*/
|
|
16
16
|
export declare class KritzelImageTool extends KritzelBaseTool {
|
|
17
|
+
toolType: "image";
|
|
17
18
|
/** Hidden file input element for image selection */
|
|
18
19
|
fileInput: HTMLInputElement | null;
|
|
19
20
|
/** Maximum dimension (width or height) for image compression in pixels */
|
|
@@ -9,6 +9,7 @@ import { ThemeAwareColor } from '../../constants/color-palette.constants';
|
|
|
9
9
|
* Automatically switches to selection tool after line completion.
|
|
10
10
|
*/
|
|
11
11
|
export declare class KritzelLineTool extends KritzelBaseTool {
|
|
12
|
+
toolType: "line";
|
|
12
13
|
/** The stroke color of the line (supports theme-aware light/dark colors) */
|
|
13
14
|
color: ThemeAwareColor;
|
|
14
15
|
/** The stroke width of the line in pixels */
|
|
@@ -16,6 +16,7 @@ import { LineArrowConfig } from '../../interfaces/arrow-head.interface';
|
|
|
16
16
|
* to specialized handlers (selection, move, resize, rotation, hover, line handle).
|
|
17
17
|
*/
|
|
18
18
|
export declare class KritzelSelectionTool extends KritzelBaseTool {
|
|
19
|
+
toolType: "selection";
|
|
19
20
|
/** Handler for selection box and object selection logic */
|
|
20
21
|
selectionHandler: KritzelSelectionHandler;
|
|
21
22
|
/** Handler for moving selected objects */
|
|
@@ -9,6 +9,7 @@ import { ThemeAwareColor } from '../../constants/color-palette.constants';
|
|
|
9
9
|
* Automatically switches to selection tool after shape completion.
|
|
10
10
|
*/
|
|
11
11
|
export declare class KritzelShapeTool extends KritzelBaseTool {
|
|
12
|
+
toolType: "shape";
|
|
12
13
|
/** The type of shape to create (rectangle, ellipse, etc.) */
|
|
13
14
|
shapeType: ShapeType;
|
|
14
15
|
/** The fill color of the shape (supports theme-aware light/dark colors) */
|
|
@@ -8,6 +8,7 @@ import { ThemeAwareColor } from '../../constants/color-palette.constants';
|
|
|
8
8
|
* Supports configurable font family, size, color, and opacity.
|
|
9
9
|
*/
|
|
10
10
|
export declare class KritzelTextTool extends KritzelBaseTool {
|
|
11
|
+
toolType: "text";
|
|
11
12
|
/** Backing field for {@link fontFamily}. */
|
|
12
13
|
private _fontFamily;
|
|
13
14
|
/** Backing field for {@link fontSize}. */
|
|
@@ -99,8 +99,10 @@ export declare class KritzelEditor {
|
|
|
99
99
|
selectAllObjectsInViewport(): Promise<void>;
|
|
100
100
|
clearSelection(): Promise<void>;
|
|
101
101
|
centerObjectInViewport(object: KritzelBaseObject): Promise<KritzelBaseObject<HTMLElement | SVGElement>>;
|
|
102
|
+
panToObject(object: KritzelBaseObject): Promise<void>;
|
|
102
103
|
backToContent(): Promise<boolean>;
|
|
103
104
|
centerAllObjects(animate?: boolean): Promise<boolean>;
|
|
105
|
+
centerObjects(objects: KritzelBaseObject[], animate?: boolean): Promise<boolean>;
|
|
104
106
|
setViewport(x: number, y: number, scale: number): Promise<void>;
|
|
105
107
|
panTo(x: number, y: number): Promise<void>;
|
|
106
108
|
zoomTo(scale: number, worldX?: number, worldY?: number): Promise<void>;
|
|
@@ -49,8 +49,10 @@ export declare class KritzelEngine {
|
|
|
49
49
|
onUserChange(newValue: IKritzelUser | undefined): void;
|
|
50
50
|
/** Context menu items shown when right-clicking the canvas background. */
|
|
51
51
|
globalContextMenuItems: ContextMenuItem[];
|
|
52
|
+
onGlobalContextMenuItemsChange(newValue: ContextMenuItem[] | undefined): void;
|
|
52
53
|
/** Context menu items shown when right-clicking a selected object. */
|
|
53
54
|
objectContextMenuItems: ContextMenuItem[];
|
|
55
|
+
onObjectContextMenuItemsChange(newValue: ContextMenuItem[] | undefined): void;
|
|
54
56
|
/** Maximum zoom scale allowed. Clamped to the absolute maximum defined by the engine. */
|
|
55
57
|
scaleMax: number;
|
|
56
58
|
validateScaleMax(newValue: number): void;
|
|
@@ -314,6 +316,12 @@ export declare class KritzelEngine {
|
|
|
314
316
|
* @returns The centered object.
|
|
315
317
|
*/
|
|
316
318
|
centerObjectInViewport(object: KritzelBaseObject): Promise<KritzelBaseObject<HTMLElement | SVGElement>>;
|
|
319
|
+
/**
|
|
320
|
+
* Pans the viewport to center on the given object without changing the zoom level.
|
|
321
|
+
* Unlike `centerObjectInViewport`, this moves the camera — not the object.
|
|
322
|
+
* @param object - The object whose center the viewport should pan to.
|
|
323
|
+
*/
|
|
324
|
+
panToObject(object: KritzelBaseObject): Promise<void>;
|
|
317
325
|
/**
|
|
318
326
|
* Pans and zooms the viewport to fit the nearest content, with padding.
|
|
319
327
|
* Useful when the user has panned away from all objects.
|
|
@@ -327,6 +335,14 @@ export declare class KritzelEngine {
|
|
|
327
335
|
* @returns `true` if objects were found and the viewport was adjusted, `false` otherwise.
|
|
328
336
|
*/
|
|
329
337
|
centerAllObjects(animate?: boolean): Promise<boolean>;
|
|
338
|
+
/**
|
|
339
|
+
* Pans and zooms the viewport to fit the provided objects.
|
|
340
|
+
* Calculates the combined bounding box of the given objects and centers the viewport to show them.
|
|
341
|
+
* @param objects - The objects to center and fit in the viewport.
|
|
342
|
+
* @param animate - Whether to animate the viewport transition (default: true).
|
|
343
|
+
* @returns `true` if objects were provided and the viewport was adjusted, `false` otherwise.
|
|
344
|
+
*/
|
|
345
|
+
centerObjects(objects: KritzelBaseObject[], animate?: boolean): Promise<boolean>;
|
|
330
346
|
/**
|
|
331
347
|
* Sets the viewport to center on the given world coordinates at the specified scale.
|
|
332
348
|
* @param x - X position in world coordinates to center on.
|
|
@@ -334,7 +334,7 @@ export namespace Components {
|
|
|
334
334
|
"addObjects": <T extends KritzelBaseObject>(objects: T[]) => Promise<T[]>;
|
|
335
335
|
"alignObjects": (alignment: KritzelAlignment) => Promise<void>;
|
|
336
336
|
/**
|
|
337
|
-
* @default
|
|
337
|
+
* @default { providers: [], }
|
|
338
338
|
*/
|
|
339
339
|
"assetStorageConfig"?: KritzelAssetStorageConfig;
|
|
340
340
|
"backToContent": () => Promise<boolean>;
|
|
@@ -342,6 +342,7 @@ export namespace Components {
|
|
|
342
342
|
"bringToFront": (object?: KritzelBaseObject<any>) => Promise<void>;
|
|
343
343
|
"centerAllObjects": (animate?: boolean) => Promise<boolean>;
|
|
344
344
|
"centerObjectInViewport": (object: KritzelBaseObject) => Promise<KritzelBaseObject<HTMLElement | SVGElement>>;
|
|
345
|
+
"centerObjects": (objects: KritzelBaseObject[], animate?: boolean) => Promise<boolean>;
|
|
345
346
|
"changeActiveTool": (tool: KritzelBaseTool) => Promise<void>;
|
|
346
347
|
"changeActiveToolByName": (toolName: string) => Promise<void>;
|
|
347
348
|
"clearSelection": () => Promise<void>;
|
|
@@ -429,7 +430,6 @@ export namespace Components {
|
|
|
429
430
|
"lockDrawingScale": boolean;
|
|
430
431
|
/**
|
|
431
432
|
* Optional login configuration. When provided, a "Sign in" button is shown that opens a login dialog with the configured providers.
|
|
432
|
-
* @default { providers: [ { label: 'Sign in with Google', icon: 'google', name: 'Google', }, ], }
|
|
433
433
|
*/
|
|
434
434
|
"loginConfig"?: KritzelLoginConfig;
|
|
435
435
|
/**
|
|
@@ -439,6 +439,7 @@ export namespace Components {
|
|
|
439
439
|
"openContextMenu": (options: { x: number; y: number; objectId?: string; }) => Promise<void>;
|
|
440
440
|
"openLoginDialog": () => Promise<void>;
|
|
441
441
|
"panTo": (x: number, y: number) => Promise<void>;
|
|
442
|
+
"panToObject": (object: KritzelBaseObject) => Promise<void>;
|
|
442
443
|
"paste": (x: number, y: number) => Promise<void>;
|
|
443
444
|
"redo": () => Promise<void>;
|
|
444
445
|
"registerTool": (toolName: string, toolClass: any, toolConfig?: KritzelTextToolConfig | KritzelBrushToolConfig | KritzelLineToolConfig | KritzelShapeToolConfig) => Promise<KritzelBaseTool | null>;
|
|
@@ -446,11 +447,11 @@ export namespace Components {
|
|
|
446
447
|
"removeObject": <T extends KritzelBaseObject>(object: T) => Promise<T | null>;
|
|
447
448
|
"removeObjects": <T extends KritzelBaseObject>(objects: T[]) => Promise<T[]>;
|
|
448
449
|
/**
|
|
449
|
-
* @default
|
|
450
|
+
* @default 1000
|
|
450
451
|
*/
|
|
451
452
|
"scaleMax": number;
|
|
452
453
|
/**
|
|
453
|
-
* @default
|
|
454
|
+
* @default 0.0001
|
|
454
455
|
*/
|
|
455
456
|
"scaleMin": number;
|
|
456
457
|
"screenToWorld": (x: number, y: number) => Promise<{ x: number; y: number; }>;
|
|
@@ -461,7 +462,7 @@ export namespace Components {
|
|
|
461
462
|
"setLoginLoading": (provider: string | null) => Promise<void>;
|
|
462
463
|
"setViewport": (x: number, y: number, scale: number) => Promise<void>;
|
|
463
464
|
/**
|
|
464
|
-
* @default
|
|
465
|
+
* @default { providers: [], }
|
|
465
466
|
*/
|
|
466
467
|
"syncConfig"?: KritzelSyncConfig;
|
|
467
468
|
/**
|
|
@@ -551,6 +552,13 @@ export namespace Components {
|
|
|
551
552
|
* @returns The centered object.
|
|
552
553
|
*/
|
|
553
554
|
"centerObjectInViewport": (object: KritzelBaseObject) => Promise<KritzelBaseObject<HTMLElement | SVGElement>>;
|
|
555
|
+
/**
|
|
556
|
+
* Pans and zooms the viewport to fit the provided objects. Calculates the combined bounding box of the given objects and centers the viewport to show them.
|
|
557
|
+
* @param objects - The objects to center and fit in the viewport.
|
|
558
|
+
* @param animate - Whether to animate the viewport transition (default: true).
|
|
559
|
+
* @returns `true` if objects were provided and the viewport was adjusted, `false` otherwise.
|
|
560
|
+
*/
|
|
561
|
+
"centerObjects": (objects: KritzelBaseObject[], animate?: boolean) => Promise<boolean>;
|
|
554
562
|
/**
|
|
555
563
|
* Switches the active drawing tool. Deactivates the current tool and clears any selection.
|
|
556
564
|
* @param tool - The tool instance to activate.
|
|
@@ -781,6 +789,11 @@ export namespace Components {
|
|
|
781
789
|
* @param y - Y position in world coordinates to center on.
|
|
782
790
|
*/
|
|
783
791
|
"panTo": (x: number, y: number) => Promise<void>;
|
|
792
|
+
/**
|
|
793
|
+
* Pans the viewport to center on the given object without changing the zoom level. Unlike `centerObjectInViewport`, this moves the camera — not the object.
|
|
794
|
+
* @param object - The object whose center the viewport should pan to.
|
|
795
|
+
*/
|
|
796
|
+
"panToObject": (object: KritzelBaseObject) => Promise<void>;
|
|
784
797
|
/**
|
|
785
798
|
* Pastes previously copied objects at the specified world coordinates.
|
|
786
799
|
* @param x - X position in world coordinates.
|
|
@@ -822,12 +835,12 @@ export namespace Components {
|
|
|
822
835
|
"saveSettings": (settings: KritzelSettingsConfig) => Promise<void>;
|
|
823
836
|
/**
|
|
824
837
|
* Maximum zoom scale allowed. Clamped to the absolute maximum defined by the engine.
|
|
825
|
-
* @default
|
|
838
|
+
* @default 1000
|
|
826
839
|
*/
|
|
827
840
|
"scaleMax": number;
|
|
828
841
|
/**
|
|
829
842
|
* Minimum zoom scale allowed. Clamped to the absolute minimum defined by the engine.
|
|
830
|
-
* @default
|
|
843
|
+
* @default 0.0001
|
|
831
844
|
*/
|
|
832
845
|
"scaleMin": number;
|
|
833
846
|
/**
|
|
@@ -2492,7 +2505,7 @@ declare namespace LocalJSX {
|
|
|
2492
2505
|
*/
|
|
2493
2506
|
"activeWorkspaceId"?: string;
|
|
2494
2507
|
/**
|
|
2495
|
-
* @default
|
|
2508
|
+
* @default { providers: [], }
|
|
2496
2509
|
*/
|
|
2497
2510
|
"assetStorageConfig"?: KritzelAssetStorageConfig;
|
|
2498
2511
|
/**
|
|
@@ -2550,7 +2563,6 @@ declare namespace LocalJSX {
|
|
|
2550
2563
|
"lockDrawingScale"?: boolean;
|
|
2551
2564
|
/**
|
|
2552
2565
|
* Optional login configuration. When provided, a "Sign in" button is shown that opens a login dialog with the configured providers.
|
|
2553
|
-
* @default { providers: [ { label: 'Sign in with Google', icon: 'google', name: 'Google', }, ], }
|
|
2554
2566
|
*/
|
|
2555
2567
|
"loginConfig"?: KritzelLoginConfig;
|
|
2556
2568
|
/**
|
|
@@ -2571,15 +2583,15 @@ declare namespace LocalJSX {
|
|
|
2571
2583
|
"onUndoStateChange"?: (event: KritzelEditorCustomEvent<KritzelUndoState1>) => void;
|
|
2572
2584
|
"onViewportChange"?: (event: KritzelEditorCustomEvent<KritzelViewportState>) => void;
|
|
2573
2585
|
/**
|
|
2574
|
-
* @default
|
|
2586
|
+
* @default 1000
|
|
2575
2587
|
*/
|
|
2576
2588
|
"scaleMax"?: number;
|
|
2577
2589
|
/**
|
|
2578
|
-
* @default
|
|
2590
|
+
* @default 0.0001
|
|
2579
2591
|
*/
|
|
2580
2592
|
"scaleMin"?: number;
|
|
2581
2593
|
/**
|
|
2582
|
-
* @default
|
|
2594
|
+
* @default { providers: [], }
|
|
2583
2595
|
*/
|
|
2584
2596
|
"syncConfig"?: KritzelSyncConfig;
|
|
2585
2597
|
/**
|
|
@@ -2711,12 +2723,12 @@ declare namespace LocalJSX {
|
|
|
2711
2723
|
"onWorkspacesChange"?: (event: KritzelEngineCustomEvent<KritzelWorkspace[]>) => void;
|
|
2712
2724
|
/**
|
|
2713
2725
|
* Maximum zoom scale allowed. Clamped to the absolute maximum defined by the engine.
|
|
2714
|
-
* @default
|
|
2726
|
+
* @default 1000
|
|
2715
2727
|
*/
|
|
2716
2728
|
"scaleMax"?: number;
|
|
2717
2729
|
/**
|
|
2718
2730
|
* Minimum zoom scale allowed. Clamped to the absolute minimum defined by the engine.
|
|
2719
|
-
* @default
|
|
2731
|
+
* @default 0.0001
|
|
2720
2732
|
*/
|
|
2721
2733
|
"scaleMin"?: number;
|
|
2722
2734
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { KritzelAssetStorageConfig } from
|
|
1
|
+
import { KritzelAssetStorageConfig } from '../interfaces/asset-storage-config.interface';
|
|
2
2
|
/**
|
|
3
3
|
* Default asset storage configuration. Stores bytes in IndexedDB only,
|
|
4
4
|
* which provides offline-friendly behavior out of the box. Applications
|
|
@@ -12,12 +12,13 @@ export interface KritzelTheme {
|
|
|
12
12
|
global?: {
|
|
13
13
|
cursorTrailColor?: string;
|
|
14
14
|
cursorTrailOpacity?: string;
|
|
15
|
-
dividerColor?: string;
|
|
16
|
-
focusColor?: string;
|
|
17
15
|
fontFamily?: string;
|
|
18
16
|
borderColor?: string;
|
|
17
|
+
dividerColor?: string;
|
|
18
|
+
focusColor?: string;
|
|
19
19
|
focusRingColor?: string;
|
|
20
20
|
iconColor?: string;
|
|
21
|
+
pointerCursor?: string;
|
|
21
22
|
primaryColor?: string;
|
|
22
23
|
primaryHoverColor?: string;
|
|
23
24
|
primaryTextColor?: string;
|
|
@@ -25,7 +26,6 @@ export interface KritzelTheme {
|
|
|
25
26
|
textPrimary?: string;
|
|
26
27
|
textSecondary?: string;
|
|
27
28
|
name?: string;
|
|
28
|
-
pointerCursor?: string;
|
|
29
29
|
};
|
|
30
30
|
/** Active users variables */
|
|
31
31
|
activeUsers?: {
|
|
@@ -174,8 +174,10 @@ export interface KritzelTheme {
|
|
|
174
174
|
accentColor?: string;
|
|
175
175
|
background?: string;
|
|
176
176
|
borderColor?: string;
|
|
177
|
+
borderRadius?: string;
|
|
177
178
|
hoverBackgroundColor?: string;
|
|
178
179
|
hoverBorderColor?: string;
|
|
180
|
+
menuBorderRadius?: string;
|
|
179
181
|
selectedBackgroundColor?: string;
|
|
180
182
|
textColor?: string;
|
|
181
183
|
triggerFontSize?: string;
|
|
@@ -308,6 +310,7 @@ export interface KritzelTheme {
|
|
|
308
310
|
/** Numeric input variables */
|
|
309
311
|
numericInput?: {
|
|
310
312
|
borderColor?: string;
|
|
313
|
+
borderRadius?: string;
|
|
311
314
|
focusBorderColor?: string;
|
|
312
315
|
hoverBorderColor?: string;
|
|
313
316
|
inputBackground?: string;
|
|
@@ -316,6 +319,7 @@ export interface KritzelTheme {
|
|
|
316
319
|
selectionColor?: string;
|
|
317
320
|
spinnerActiveBackground?: string;
|
|
318
321
|
spinnerBackground?: string;
|
|
322
|
+
spinnerBorderRadius?: string;
|
|
319
323
|
spinnerColor?: string;
|
|
320
324
|
spinnerHoverBackground?: string;
|
|
321
325
|
textColor?: string;
|
|
@@ -434,6 +438,7 @@ export interface KritzelTheme {
|
|
|
434
438
|
textInput?: {
|
|
435
439
|
background?: string;
|
|
436
440
|
borderColor?: string;
|
|
441
|
+
borderRadius?: string;
|
|
437
442
|
focusBorderColor?: string;
|
|
438
443
|
hoverBorderColor?: string;
|
|
439
444
|
labelColor?: string;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { KritzelShapeTool } from '../classes/tools/shape-tool.class';
|
|
4
|
-
import { KritzelTextTool } from '../classes/tools/text-tool.class';
|
|
5
|
-
import { KritzelSelectionTool } from '../classes/tools/selection-tool.class';
|
|
1
|
+
import { KritzelBaseTool } from '../classes/tools/base-tool.class';
|
|
2
|
+
export type { KritzelToolType } from './tool-type.interface';
|
|
6
3
|
export type ToolConfigType = 'brush' | 'line' | 'shape' | 'text' | 'selection';
|
|
7
4
|
export interface ToolConfigControl {
|
|
8
5
|
type: 'stroke-size' | 'font-size' | 'line-endings' | 'shape-fill' | 'font-family';
|
|
@@ -19,7 +16,7 @@ export interface ToolConfigDefinition {
|
|
|
19
16
|
sizesSource: 'sizes' | 'none';
|
|
20
17
|
controls: ToolConfigControl[];
|
|
21
18
|
}
|
|
22
|
-
export type ConfigurableTool =
|
|
19
|
+
export type ConfigurableTool = KritzelBaseTool;
|
|
23
20
|
export interface ToolDisplayValues {
|
|
24
21
|
color: string;
|
|
25
22
|
size: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type KritzelToolType = 'brush' | 'line' | 'shape' | 'text' | 'selection' | 'eraser' | 'image' | 'base';
|
|
@@ -1070,6 +1070,7 @@ export declare namespace JSXBase {
|
|
|
1070
1070
|
importance?: 'low' | 'auto' | 'high';
|
|
1071
1071
|
height?: number | string;
|
|
1072
1072
|
loading?: 'lazy' | 'auto' | 'eager';
|
|
1073
|
+
referrerPolicy?: ReferrerPolicy;
|
|
1073
1074
|
sizes?: string;
|
|
1074
1075
|
src?: string;
|
|
1075
1076
|
srcSet?: string;
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as e,H as t,c as i,h as n,d as s,t as o}from"./p-BWj1eE2b.js";import{d as r}from"./p-CJERvHdy.js";const a=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.actionSelected=i(this,"actionSelected"),this.close=i(this,"close")}get host(){return this}items;onItemsChanged(){this.updateMenuItems()}objects;actionSelected;close;processedItems=[];openSubmenuPath="";submenuPositions={};submenuTimer=null;submenuRefs=new Map;menuItemWrapperRefs=new Map;handleOutsideClick(e){e.composedPath().includes(this.host)||this.close.emit()}componentWillLoad(){this.updateMenuItems()}componentDidLoad(){this.adjustPositionToViewport()}componentDidUpdate(){this.adjustPositionToViewport(),this.adjustSubmenuPositions(),this.pruneStaleRefs()}disconnectedCallback(){this.submenuTimer&&clearTimeout(this.submenuTimer)}adjustPositionToViewport(){const e=this.host.getBoundingClientRect(),t=window.innerWidth,i=window.innerHeight,n=parseFloat(this.host.style.left)||0,s=parseFloat(this.host.style.top)||0;let o=n,r=s;e.right>t-8&&(o=t-e.width-8),e.bottom>i-8&&(r=i-e.height-8),o<8&&(o=8),r<8&&(r=8),o===n&&r===s||(this.host.style.left=`${o}px`,this.host.style.top=`${r}px`)}adjustSubmenuPositions(){if(!this.openSubmenuPath)return;const e=window.innerHeight;for(const t of this.getOpenSubmenuPaths()){const i=this.submenuRefs.get(t),n=this.menuItemWrapperRefs.get(t);if(!i||!n)continue;const s=n.getBoundingClientRect(),o=s.top+i.offsetHeight;if(o>e-8){let t=o-(e-8);s.top-t<8&&(t=s.top-8),i.style.top=-t+"px"}else i.style.top="0px"}}getOpenSubmenuPaths(){if(!this.openSubmenuPath)return[];const e=this.openSubmenuPath.split("."),t=[];for(let i=1;i<=e.length;i++)t.push(e.slice(0,i).join("."));return t}isSubmenuOpen(e){return this.openSubmenuPath===e||this.openSubmenuPath.startsWith(e+".")}getParentPath(e){const t=e.lastIndexOf(".");return-1===t?"":e.substring(0,t)}pruneStaleRefs(){const e=new Set(this.getOpenSubmenuPaths());for(const t of Array.from(this.submenuRefs.keys()))e.has(t)||this.submenuRefs.delete(t);for(const t of Array.from(this.menuItemWrapperRefs.keys())){const i=this.getParentPath(t);""===i||e.has(i)||this.menuItemWrapperRefs.delete(t)}}handleItemClick(e,t,i){t||i||e.action&&this.actionSelected.emit(e)}handleItemMouseEnter(e,t){this.submenuTimer&&(clearTimeout(this.submenuTimer),this.submenuTimer=null);const i=this.getParentPath(e);this.submenuTimer=t?setTimeout((()=>{const t=this.menuItemWrapperRefs.get(e);let i="right";if(t){const e=t.getBoundingClientRect(),n=window.innerWidth;i=e.right+160>n-8?"left":"right"}this.submenuPositions={...this.submenuPositions,[e]:i},this.openSubmenuPath=e}),150):setTimeout((()=>{this.openSubmenuPath=i}),150)}handleSubmenuMouseEnter(){this.submenuTimer&&(clearTimeout(this.submenuTimer),this.submenuTimer=null)}handleSubmenuMouseLeave(e){const t=this.getParentPath(e);this.submenuTimer=setTimeout((()=>{this.openSubmenuPath=t}),150)}async updateMenuItems(){this.processedItems=await this.processItems(this.items)}async processItems(e){const t=[];for(const i of e)if(await this.evaluateProperty(i.visible,!0)){const e=await this.evaluateProperty(i.disabled,!1);let n;i.children&&i.children.length>0&&(n=await this.processItems(i.children)),t.push({item:i,isDisabled:e,processedChildren:n})}return t}async evaluateProperty(e,t){return"boolean"==typeof e?e:"function"==typeof e?await Promise.resolve(e(null,this.objects)):t}renderItems(e,t){return e.map((({item:i,isDisabled:s,processedChildren:o},r)=>{const a=""===t?String(r):`${t}.${r}`,l=r>0?e[r-1].item:null,c=l&&l.group!==i.group,u=!!o&&o.length>0,m=u&&this.isSubmenuOpen(a);return[c&&n("div",{class:"menu-divider",key:`divider-${a}`}),n("div",{class:"menu-item-wrapper",key:`wrapper-${a}`,ref:e=>e&&this.menuItemWrapperRefs.set(a,e),onMouseEnter:()=>this.handleItemMouseEnter(a,u)},n("button",{key:`${i.label}-${a}`,class:{"menu-item":!0,disabled:s,"has-children":u,"submenu-open":m},onClick:()=>this.handleItemClick(i,s,u),disabled:s&&!u},i.icon&&n("kritzel-icon",{name:i.icon,size:16}),n("span",{class:"label"},i.label),u&&n("kritzel-icon",{name:"chevron-right",size:12,class:"submenu-arrow"})),u&&m&&this.renderSubmenu(o,a))]}))}renderSubmenu(e,t){return n("div",{class:{"submenu-container":!0,"position-left":"left"==("left"===this.submenuPositions[t]?"left":"right")},key:`submenu-${t}`,ref:e=>e&&this.submenuRefs.set(t,e),onMouseEnter:()=>this.handleSubmenuMouseEnter(),onMouseLeave:()=>this.handleSubmenuMouseLeave(t)},this.renderItems(e,t))}render(){return this.processedItems&&0!==this.processedItems.length?n(s,null,n("div",{class:"menu-container"},this.renderItems(this.processedItems,""))):null}static get watchers(){return{items:[{onItemsChanged:0}]}}static get style(){return":host{display:block}.menu-container{display:flex;flex-direction:column;gap:var(--kritzel-context-menu-item-spacing, 2px);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);min-width:var(--kritzel-context-menu-min-width, 140px)}.menu-item-wrapper{position:relative}.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:var(--kritzel-global-pointer-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;width:100%}.menu-item:not(.disabled):hover,.menu-item.submenu-open{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)}.menu-item.has-children.disabled{cursor:var(--kritzel-global-pointer-cursor, pointer);color:var(--kritzel-context-menu-item-color, #333333)}.menu-item kritzel-icon{opacity:0.8;flex-shrink:0}.menu-item.disabled kritzel-icon{opacity:0.4}.menu-item.has-children.disabled kritzel-icon{opacity:0.8}.label{flex-grow:1}.submenu-arrow{margin-left:auto;opacity:0.5}.menu-divider{height:1px;background-color:var(--kritzel-context-menu-divider-color, rgba(0, 0, 0, 0.1));margin:var(--kritzel-context-menu-divider-margin, 4px 8px)}.submenu-container{position:absolute;top:0;left:100%;margin-left:4px;display:flex;flex-direction:column;gap:var(--kritzel-context-menu-item-spacing, 2px);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);min-width:120px}.submenu-container.position-left{left:auto;right:100%;margin-left:0;margin-right:4px}"}},[513,"kritzel-context-menu",{items:[16],objects:[16],processedItems:[32],openSubmenuPath:[32],submenuPositions:[32]},[[9,"pointerdown","handleOutsideClick"]],{items:[{onItemsChanged:0}]}]);function l(){"undefined"!=typeof customElements&&["kritzel-context-menu","kritzel-icon"].forEach((e=>{switch(e){case"kritzel-context-menu":customElements.get(o(e))||customElements.define(o(e),a);break;case"kritzel-icon":customElements.get(o(e))||r()}}))}export{a as K,l as d}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as e,H as t,c as i,h as n,d as r,t as o}from"./p-BWj1eE2b.js";const a=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=i(this,"valueChange")}value;min=Number.MIN_SAFE_INTEGER;max=Number.MAX_SAFE_INTEGER;step=1;label="";placeholder="";valueChange;inputValue="";onValueChange(e){this.inputValue=this.shouldShowEmpty(e)?"":String(e)}componentWillLoad(){this.inputValue=this.shouldShowEmpty(this.value)?"":String(this.value)}shouldShowEmpty(e){return void 0===e||e===1/0||e===-1/0}normalizeValue(e){return isNaN(e)?this.value??0:Math.min(this.max,Math.max(this.min,e))}getDecimalPlaces(){const e=String(this.step),t=e.indexOf(".");return-1===t?0:e.length-t-1}roundToStep(e){const t=this.getDecimalPlaces(),i=Math.pow(10,t);return Math.round(e*i)/i}handleInput=e=>{this.inputValue=e.target.value};handleBlur=()=>{this.commitValue()};handleKeyDown=e=>{"Enter"===e.key&&this.commitValue()};handleInvalid=e=>{e.preventDefault()};commitValue(){if(""===this.inputValue.trim())return this.value=void 0,void this.valueChange.emit(void 0);const e=parseFloat(this.inputValue),t=this.normalizeValue(e);this.value=t,this.inputValue=String(t),this.valueChange.emit(t)}handleIncrement=()=>{const e=parseFloat(this.inputValue),t=isNaN(e)?this.value??0:e,i=this.normalizeValue(this.roundToStep(t+this.step));this.value=i,this.inputValue=String(i),this.valueChange.emit(i)};handleDecrement=()=>{const e=parseFloat(this.inputValue),t=isNaN(e)?this.value??0:e,i=this.normalizeValue(this.roundToStep(t-this.step));this.value=i,this.inputValue=String(i),this.valueChange.emit(i)};render(){return n(r,{key:"18cd66a764c334a78e2dccd444f448235b41c38c"},n("div",{key:"73305950e3e840e51466d720a2ef4f834a16adc1",class:"input-container"},this.label&&n("label",{key:"f9521cb0137f5f8c676ced5c76989d8d03256f68",class:"input-label"},this.label),n("div",{key:"07581a242db247a833cfa879b90c6da5dd06b116",class:"input-wrapper"},n("input",{key:"7faa7a9a2c8923e2b2a24c435bc47a03998ac8ad",type:"number",class:"numeric-input",title:"",min:this.min===Number.MIN_SAFE_INTEGER?void 0:this.min,max:this.max===Number.MAX_SAFE_INTEGER?void 0:this.max,step:this.step,value:this.inputValue,placeholder:this.placeholder,onInput:this.handleInput,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,onInvalid:this.handleInvalid}),n("div",{key:"d3920c978a4d97032f5aec550e6ca7e74c9c2e94",class:"spinner-buttons"},n("button",{key:"ae27375f0ba66a9ca6cf53fe4a05fa219bf47711",type:"button",class:"spinner-button spinner-up",onClick:this.handleIncrement,tabIndex:-1,"aria-label":"Increase value"},n("svg",{key:"8a6e40c12468bb44400c1ad015463c830d0af13e",viewBox:"0 0 10 6",class:"spinner-icon"},n("path",{key:"70b8ee3cc3b00d7f83822078f73e0437e24a98aa",d:"M1 5L5 1L9 5",stroke:"currentColor","stroke-width":"1.5",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}))),n("button",{key:"e26968c85480cbf4cd0f3bd9d6db59f1d6ade88c",type:"button",class:"spinner-button spinner-down",onClick:this.handleDecrement,tabIndex:-1,"aria-label":"Decrease value"},n("svg",{key:"a8c72dd2909b89ceb3797d0a77e531d0b5374e1d",viewBox:"0 0 10 6",class:"spinner-icon"},n("path",{key:"16c95c8cbc90c9d49d081745384c3920620591fb",d:"M1 1L5 5L9 1",stroke:"currentColor","stroke-width":"1.5",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"})))))))}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return":host{display:block}.input-container{display:flex;flex-direction:column;gap:6px}.input-label{font-size:14px;font-weight:500;color:var(--kritzel-numeric-input-label-color, #333333)}.input-wrapper{display:flex;position:relative}.numeric-input{flex:1;padding:8px 36px 8px 12px;border:1px solid var(--kritzel-numeric-input-border-color, #ebebeb);border-radius:6px;font-size:14px;color:var(--kritzel-numeric-input-text-color, #333333);background-color:var(--kritzel-numeric-input-input-background, #ffffff);outline:none;transition:border-color 150ms ease;box-sizing:border-box}.numeric-input::-webkit-outer-spin-button,.numeric-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.numeric-input[type='number']{-moz-appearance:textfield}.numeric-input::selection{background-color:var(--kritzel-numeric-input-selection-background, #007AFF);color:var(--kritzel-numeric-input-selection-color, #ffffff)}.numeric-input:hover{border-color:var(--kritzel-numeric-input-hover-border-color, #cccccc)}.numeric-input:focus{border-color:var(--kritzel-numeric-input-focus-border-color, #0066ff);border-width:2px;padding:7px 35px 7px 11px}.spinner-buttons{position:absolute;right:1px;top:1px;bottom:1px;display:flex;flex-direction:column;border-left:1px solid var(--kritzel-numeric-input-border-color, #ebebeb);border-radius:0 5px 5px 0;overflow:hidden}.spinner-button{flex:1;display:flex;align-items:center;justify-content:center;width:24px;padding:0;border:none;background-color:var(--kritzel-numeric-input-spinner-background, #f5f5f5);color:var(--kritzel-numeric-input-spinner-color, #666666);cursor:pointer;transition:background-color 150ms ease}.spinner-button:hover{background-color:var(--kritzel-numeric-input-spinner-hover-background, #ebebeb)}.spinner-button:active{background-color:var(--kritzel-numeric-input-spinner-active-background, #dddddd)}.spinner-up{border-bottom:1px solid var(--kritzel-numeric-input-border-color, #ebebeb)}.spinner-icon{width:10px;height:6px}"}},[513,"kritzel-numeric-input",{value:[1026],min:[2],max:[2],step:[2],label:[1],placeholder:[1],inputValue:[32]},void 0,{value:[{onValueChange:0}]}]);function s(){"undefined"!=typeof customElements&&["kritzel-numeric-input"].forEach((e=>{"kritzel-numeric-input"===e&&(customElements.get(o(e))||customElements.define(o(e),a))}))}export{a as K,s as d}
|