kritzel-stencil 0.3.11 → 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 +344 -138
- package/dist/cjs/kritzel-brush-style.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{schema.constants-BNMNpzvA.js → schema.constants-CMFOYyBj.js} +26 -43
- 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 +3 -2
- 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 +166 -22
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +408 -37
- 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-controls/kritzel-controls.js +27 -6
- 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-brush-tool.config.js +1 -0
- package/dist/collection/configs/default-line-tool.config.js +1 -0
- package/dist/collection/configs/default-shape-tool.config.js +1 -0
- package/dist/collection/configs/default-sync.config.js +2 -5
- package/dist/collection/configs/default-text-tool.config.js +1 -0
- 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-CVzH1Oil.js +1 -0
- 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-B0VnbmWu.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 +344 -138
- package/dist/esm/kritzel-brush-style.entry.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{schema.constants-CqBoZbmA.js → schema.constants-NrtFvKER.js} +27 -43
- 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/objects/base-object.class.d.ts +1 -1
- package/dist/types/classes/objects/shape.class.d.ts +1 -1
- 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 +5 -0
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +48 -0
- package/dist/types/components/ui/kritzel-context-menu/kritzel-context-menu.d.ts +1 -0
- package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +1 -0
- package/dist/types/components.d.ts +69 -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/object.interface.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/interfaces/toolbar-control.interface.d.ts +4 -0
- package/dist/types/stencil-public-runtime.d.ts +1 -0
- package/package.json +1 -1
- package/dist/components/p-BFgWBbpu.js +0 -1
- package/dist/components/p-C0wFAtT_.js +0 -1
- package/dist/components/p-CB7ynHtI.js +0 -1
- package/dist/components/p-CWgI1dA0.js +0 -1
- package/dist/components/p-D15NO5kE.js +0 -1
- package/dist/components/p-DH-H7om7.js +0 -1
- package/dist/components/p-DLlIaDNn.js +0 -9
- package/dist/components/p-IiG44Unz.js +0 -1
- package/dist/components/p-K7ySy791.js +0 -1
- package/dist/stencil/p-94992a11.entry.js +0 -9
- package/dist/stencil/p-CqBoZbmA.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-94992a11",[[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"],"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],"updateObject":[64],"removeObject":[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",{"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"],"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],"updateObject":[64],"removeObject":[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}],"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.
|
|
@@ -17,7 +17,7 @@ export declare class KritzelShape extends KritzelBaseObject<HTMLDivElement> {
|
|
|
17
17
|
x: number;
|
|
18
18
|
/** Screen-space y coordinate of the shape's top-left corner (like Path.y) */
|
|
19
19
|
y: number;
|
|
20
|
-
scale
|
|
20
|
+
scale?: number;
|
|
21
21
|
scaleFactor: number;
|
|
22
22
|
isDebugInfoVisible: boolean;
|
|
23
23
|
isEditable: boolean;
|
|
@@ -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}. */
|
|
@@ -43,6 +43,7 @@ export declare class KritzelEditor {
|
|
|
43
43
|
isUtilityPanelVisible: boolean;
|
|
44
44
|
isWorkspaceManagerVisible: boolean;
|
|
45
45
|
isMoreMenuVisible: boolean;
|
|
46
|
+
isObjectDistanceFadingActive: boolean;
|
|
46
47
|
syncConfig?: KritzelSyncConfig;
|
|
47
48
|
assetStorageConfig?: KritzelAssetStorageConfig;
|
|
48
49
|
/** The element to use as the target for the cursor. Defaults to the editor container if not set. */
|
|
@@ -89,15 +90,19 @@ export declare class KritzelEditor {
|
|
|
89
90
|
onTouchStart(event: MouseEvent): void;
|
|
90
91
|
getObjectById<T extends KritzelBaseObject>(id: string): Promise<T | null>;
|
|
91
92
|
addObject<T extends KritzelBaseObject>(object: T): Promise<T | null>;
|
|
93
|
+
addObjects<T extends KritzelBaseObject>(objects: T[]): Promise<T[]>;
|
|
92
94
|
updateObject<T extends KritzelBaseObject>(object: T, updatedProperties: Partial<T>): Promise<T | null>;
|
|
93
95
|
removeObject<T extends KritzelBaseObject>(object: T): Promise<T | null>;
|
|
96
|
+
removeObjects<T extends KritzelBaseObject>(objects: T[]): Promise<T[]>;
|
|
94
97
|
getSelectedObjects(): Promise<KritzelBaseObject[]>;
|
|
95
98
|
selectObjects(objects: KritzelBaseObject[]): Promise<void>;
|
|
96
99
|
selectAllObjectsInViewport(): Promise<void>;
|
|
97
100
|
clearSelection(): Promise<void>;
|
|
98
101
|
centerObjectInViewport(object: KritzelBaseObject): Promise<KritzelBaseObject<HTMLElement | SVGElement>>;
|
|
102
|
+
panToObject(object: KritzelBaseObject): Promise<void>;
|
|
99
103
|
backToContent(): Promise<boolean>;
|
|
100
104
|
centerAllObjects(animate?: boolean): Promise<boolean>;
|
|
105
|
+
centerObjects(objects: KritzelBaseObject[], animate?: boolean): Promise<boolean>;
|
|
101
106
|
setViewport(x: number, y: number, scale: number): Promise<void>;
|
|
102
107
|
panTo(x: number, y: number): Promise<void>;
|
|
103
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;
|
|
@@ -63,6 +65,9 @@ export declare class KritzelEngine {
|
|
|
63
65
|
/** When true, objects are drawn at a fixed visual size regardless of zoom level */
|
|
64
66
|
lockDrawingScale: boolean;
|
|
65
67
|
onLockDrawingScaleChange(newValue: boolean): void;
|
|
68
|
+
/** When true, objects fade based on distance to the viewport center. */
|
|
69
|
+
isObjectDistanceFadingActive: boolean;
|
|
70
|
+
onIsObjectDistanceFadingActiveChange(): void;
|
|
66
71
|
/** The current theme to apply to the editor */
|
|
67
72
|
theme: ThemeName;
|
|
68
73
|
onThemeChange(newValue: ThemeName): void;
|
|
@@ -261,6 +266,15 @@ export declare class KritzelEngine {
|
|
|
261
266
|
* @returns The added object.
|
|
262
267
|
*/
|
|
263
268
|
addObject<T extends KritzelBaseObject>(object: T): Promise<T | null>;
|
|
269
|
+
/**
|
|
270
|
+
* Adds multiple objects to the canvas in a single batch operation.
|
|
271
|
+
* All objects are inserted within one Yjs transaction (single undo step),
|
|
272
|
+
* triggering only one rerender cycle. Intended for programmatic streaming
|
|
273
|
+
* scenarios where per-object overhead would cause stutter.
|
|
274
|
+
* @param objects - The object instances to add.
|
|
275
|
+
* @returns The added objects.
|
|
276
|
+
*/
|
|
277
|
+
addObjects<T extends KritzelBaseObject>(objects: T[]): Promise<T[]>;
|
|
264
278
|
/**
|
|
265
279
|
* Updates properties of an existing canvas object.
|
|
266
280
|
* @param object - The object to update.
|
|
@@ -274,6 +288,15 @@ export declare class KritzelEngine {
|
|
|
274
288
|
* @returns The removed object.
|
|
275
289
|
*/
|
|
276
290
|
removeObject<T extends KritzelBaseObject>(object: T): Promise<T | null>;
|
|
291
|
+
/**
|
|
292
|
+
* Removes multiple objects from the canvas in a single batch operation.
|
|
293
|
+
* All removals happen within one Yjs transaction (single undo step),
|
|
294
|
+
* triggering only one rerender cycle. Intended for programmatic streaming
|
|
295
|
+
* scenarios where per-object overhead would cause stutter.
|
|
296
|
+
* @param objects - The objects to remove.
|
|
297
|
+
* @returns The removed objects.
|
|
298
|
+
*/
|
|
299
|
+
removeObjects<T extends KritzelBaseObject>(objects: T[]): Promise<T[]>;
|
|
277
300
|
/** Returns the currently selected objects. Returns an empty array if nothing is selected. */
|
|
278
301
|
getSelectedObjects(): Promise<KritzelBaseObject<any>[]>;
|
|
279
302
|
/** Returns all registered keyboard shortcuts (without action/condition) for display in a help UI. */
|
|
@@ -293,6 +316,12 @@ export declare class KritzelEngine {
|
|
|
293
316
|
* @returns The centered object.
|
|
294
317
|
*/
|
|
295
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>;
|
|
296
325
|
/**
|
|
297
326
|
* Pans and zooms the viewport to fit the nearest content, with padding.
|
|
298
327
|
* Useful when the user has panned away from all objects.
|
|
@@ -306,6 +335,14 @@ export declare class KritzelEngine {
|
|
|
306
335
|
* @returns `true` if objects were found and the viewport was adjusted, `false` otherwise.
|
|
307
336
|
*/
|
|
308
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>;
|
|
309
346
|
/**
|
|
310
347
|
* Sets the viewport to center on the given world coordinates at the specified scale.
|
|
311
348
|
* @param x - X position in world coordinates to center on.
|
|
@@ -506,6 +543,12 @@ export declare class KritzelEngine {
|
|
|
506
543
|
private _assetStorageConfigRevision;
|
|
507
544
|
private _isWorkspaceLoading;
|
|
508
545
|
private readonly _defaultUndoState;
|
|
546
|
+
private readonly _objectDistanceFadeNearScale;
|
|
547
|
+
private readonly _objectDistanceFadeFarScale;
|
|
548
|
+
private readonly _objectDistanceFadeMinOpacity;
|
|
549
|
+
private readonly _objectDistanceFadeCloseStartScale;
|
|
550
|
+
private readonly _objectDistanceFadeCloseMaxScale;
|
|
551
|
+
private readonly _objectDistanceFadeCloseMinOpacity;
|
|
509
552
|
private syncLoadingState;
|
|
510
553
|
private applyToolConfig;
|
|
511
554
|
get isSelecting(): boolean;
|
|
@@ -537,5 +580,10 @@ export declare class KritzelEngine {
|
|
|
537
580
|
emitObjectsInViewportChange(): void;
|
|
538
581
|
private _registerStateChangeListeners;
|
|
539
582
|
private _handleActiveToolChange;
|
|
583
|
+
private getObjectDistanceFadeMultiplier;
|
|
584
|
+
private getFarDistanceFadeMultiplier;
|
|
585
|
+
private getCloseDistanceFadeMultiplier;
|
|
586
|
+
private shouldApplyDistanceFade;
|
|
587
|
+
private getObjectEffectiveOpacity;
|
|
540
588
|
render(): any;
|
|
541
589
|
}
|
|
@@ -10,6 +10,7 @@ import { ThemeName } from '../../../interfaces/theme.interface';
|
|
|
10
10
|
type ToolConfig = Record<string, any>;
|
|
11
11
|
export declare class KritzelControls {
|
|
12
12
|
host: HTMLElement;
|
|
13
|
+
visible: boolean;
|
|
13
14
|
controls: KritzelToolbarControl[];
|
|
14
15
|
activeControl: KritzelToolbarControl | null;
|
|
15
16
|
isUtilityPanelVisible: boolean;
|
|
@@ -230,6 +230,10 @@ export namespace Components {
|
|
|
230
230
|
* @default null
|
|
231
231
|
*/
|
|
232
232
|
"undoState": KritzelUndoState;
|
|
233
|
+
/**
|
|
234
|
+
* @default true
|
|
235
|
+
*/
|
|
236
|
+
"visible": boolean;
|
|
233
237
|
}
|
|
234
238
|
interface KritzelCurrentUser {
|
|
235
239
|
/**
|
|
@@ -327,9 +331,10 @@ export namespace Components {
|
|
|
327
331
|
*/
|
|
328
332
|
"activeWorkspaceId"?: string;
|
|
329
333
|
"addObject": <T extends KritzelBaseObject>(object: T) => Promise<T | null>;
|
|
334
|
+
"addObjects": <T extends KritzelBaseObject>(objects: T[]) => Promise<T[]>;
|
|
330
335
|
"alignObjects": (alignment: KritzelAlignment) => Promise<void>;
|
|
331
336
|
/**
|
|
332
|
-
* @default
|
|
337
|
+
* @default { providers: [], }
|
|
333
338
|
*/
|
|
334
339
|
"assetStorageConfig"?: KritzelAssetStorageConfig;
|
|
335
340
|
"backToContent": () => Promise<boolean>;
|
|
@@ -337,6 +342,7 @@ export namespace Components {
|
|
|
337
342
|
"bringToFront": (object?: KritzelBaseObject<any>) => Promise<void>;
|
|
338
343
|
"centerAllObjects": (animate?: boolean) => Promise<boolean>;
|
|
339
344
|
"centerObjectInViewport": (object: KritzelBaseObject) => Promise<KritzelBaseObject<HTMLElement | SVGElement>>;
|
|
345
|
+
"centerObjects": (objects: KritzelBaseObject[], animate?: boolean) => Promise<boolean>;
|
|
340
346
|
"changeActiveTool": (tool: KritzelBaseTool) => Promise<void>;
|
|
341
347
|
"changeActiveToolByName": (toolName: string) => Promise<void>;
|
|
342
348
|
"clearSelection": () => Promise<void>;
|
|
@@ -404,6 +410,10 @@ export namespace Components {
|
|
|
404
410
|
* @default true
|
|
405
411
|
*/
|
|
406
412
|
"isMoreMenuVisible": boolean;
|
|
413
|
+
/**
|
|
414
|
+
* @default false
|
|
415
|
+
*/
|
|
416
|
+
"isObjectDistanceFadingActive": boolean;
|
|
407
417
|
/**
|
|
408
418
|
* @default true
|
|
409
419
|
*/
|
|
@@ -420,7 +430,6 @@ export namespace Components {
|
|
|
420
430
|
"lockDrawingScale": boolean;
|
|
421
431
|
/**
|
|
422
432
|
* Optional login configuration. When provided, a "Sign in" button is shown that opens a login dialog with the configured providers.
|
|
423
|
-
* @default { providers: [ { label: 'Sign in with Google', icon: 'google', name: 'Google', }, ], }
|
|
424
433
|
*/
|
|
425
434
|
"loginConfig"?: KritzelLoginConfig;
|
|
426
435
|
/**
|
|
@@ -430,17 +439,19 @@ export namespace Components {
|
|
|
430
439
|
"openContextMenu": (options: { x: number; y: number; objectId?: string; }) => Promise<void>;
|
|
431
440
|
"openLoginDialog": () => Promise<void>;
|
|
432
441
|
"panTo": (x: number, y: number) => Promise<void>;
|
|
442
|
+
"panToObject": (object: KritzelBaseObject) => Promise<void>;
|
|
433
443
|
"paste": (x: number, y: number) => Promise<void>;
|
|
434
444
|
"redo": () => Promise<void>;
|
|
435
445
|
"registerTool": (toolName: string, toolClass: any, toolConfig?: KritzelTextToolConfig | KritzelBrushToolConfig | KritzelLineToolConfig | KritzelShapeToolConfig) => Promise<KritzelBaseTool | null>;
|
|
436
446
|
"reinitSync": () => Promise<void>;
|
|
437
447
|
"removeObject": <T extends KritzelBaseObject>(object: T) => Promise<T | null>;
|
|
448
|
+
"removeObjects": <T extends KritzelBaseObject>(objects: T[]) => Promise<T[]>;
|
|
438
449
|
/**
|
|
439
|
-
* @default
|
|
450
|
+
* @default 1000
|
|
440
451
|
*/
|
|
441
452
|
"scaleMax": number;
|
|
442
453
|
/**
|
|
443
|
-
* @default
|
|
454
|
+
* @default 0.0001
|
|
444
455
|
*/
|
|
445
456
|
"scaleMin": number;
|
|
446
457
|
"screenToWorld": (x: number, y: number) => Promise<{ x: number; y: number; }>;
|
|
@@ -451,7 +462,7 @@ export namespace Components {
|
|
|
451
462
|
"setLoginLoading": (provider: string | null) => Promise<void>;
|
|
452
463
|
"setViewport": (x: number, y: number, scale: number) => Promise<void>;
|
|
453
464
|
/**
|
|
454
|
-
* @default
|
|
465
|
+
* @default { providers: [], }
|
|
455
466
|
*/
|
|
456
467
|
"syncConfig"?: KritzelSyncConfig;
|
|
457
468
|
/**
|
|
@@ -499,6 +510,12 @@ export namespace Components {
|
|
|
499
510
|
* @returns The added object.
|
|
500
511
|
*/
|
|
501
512
|
"addObject": <T extends KritzelBaseObject>(object: T) => Promise<T | null>;
|
|
513
|
+
/**
|
|
514
|
+
* Adds multiple objects to the canvas in a single batch operation. All objects are inserted within one Yjs transaction (single undo step), triggering only one rerender cycle. Intended for programmatic streaming scenarios where per-object overhead would cause stutter.
|
|
515
|
+
* @param objects - The object instances to add.
|
|
516
|
+
* @returns The added objects.
|
|
517
|
+
*/
|
|
518
|
+
"addObjects": <T extends KritzelBaseObject>(objects: T[]) => Promise<T[]>;
|
|
502
519
|
/**
|
|
503
520
|
* Aligns the currently selected objects according to the specified alignment.
|
|
504
521
|
* @param alignment - The alignment direction (e.g., `CenterHorizontal`, `StartVertical`).
|
|
@@ -535,6 +552,13 @@ export namespace Components {
|
|
|
535
552
|
* @returns The centered object.
|
|
536
553
|
*/
|
|
537
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>;
|
|
538
562
|
/**
|
|
539
563
|
* Switches the active drawing tool. Deactivates the current tool and clears any selection.
|
|
540
564
|
* @param tool - The tool instance to activate.
|
|
@@ -721,6 +745,11 @@ export namespace Components {
|
|
|
721
745
|
* @default false
|
|
722
746
|
*/
|
|
723
747
|
"isLoading": boolean;
|
|
748
|
+
/**
|
|
749
|
+
* When true, objects fade based on distance to the viewport center.
|
|
750
|
+
* @default false
|
|
751
|
+
*/
|
|
752
|
+
"isObjectDistanceFadingActive": boolean;
|
|
724
753
|
/**
|
|
725
754
|
* Loads objects from a workspace JSON string into the current workspace. Unlike importFromJson, this does not create a new workspace - it adds objects to the existing one. Useful for initializing a workspace with pre-existing content after the editor is ready.
|
|
726
755
|
* @param json - A JSON string containing workspace data (from exportAsJson).
|
|
@@ -760,6 +789,11 @@ export namespace Components {
|
|
|
760
789
|
* @param y - Y position in world coordinates to center on.
|
|
761
790
|
*/
|
|
762
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>;
|
|
763
797
|
/**
|
|
764
798
|
* Pastes previously copied objects at the specified world coordinates.
|
|
765
799
|
* @param x - X position in world coordinates.
|
|
@@ -788,6 +822,12 @@ export namespace Components {
|
|
|
788
822
|
* @returns The removed object.
|
|
789
823
|
*/
|
|
790
824
|
"removeObject": <T extends KritzelBaseObject>(object: T) => Promise<T | null>;
|
|
825
|
+
/**
|
|
826
|
+
* Removes multiple objects from the canvas in a single batch operation. All removals happen within one Yjs transaction (single undo step), triggering only one rerender cycle. Intended for programmatic streaming scenarios where per-object overhead would cause stutter.
|
|
827
|
+
* @param objects - The objects to remove.
|
|
828
|
+
* @returns The removed objects.
|
|
829
|
+
*/
|
|
830
|
+
"removeObjects": <T extends KritzelBaseObject>(objects: T[]) => Promise<T[]>;
|
|
791
831
|
/**
|
|
792
832
|
* Persists the given settings object to localStorage using the namespaced storage key.
|
|
793
833
|
* @param settings - The settings configuration to persist.
|
|
@@ -795,12 +835,12 @@ export namespace Components {
|
|
|
795
835
|
"saveSettings": (settings: KritzelSettingsConfig) => Promise<void>;
|
|
796
836
|
/**
|
|
797
837
|
* Maximum zoom scale allowed. Clamped to the absolute maximum defined by the engine.
|
|
798
|
-
* @default
|
|
838
|
+
* @default 1000
|
|
799
839
|
*/
|
|
800
840
|
"scaleMax": number;
|
|
801
841
|
/**
|
|
802
842
|
* Minimum zoom scale allowed. Clamped to the absolute minimum defined by the engine.
|
|
803
|
-
* @default
|
|
843
|
+
* @default 0.0001
|
|
804
844
|
*/
|
|
805
845
|
"scaleMin": number;
|
|
806
846
|
/**
|
|
@@ -2360,6 +2400,10 @@ declare namespace LocalJSX {
|
|
|
2360
2400
|
* @default null
|
|
2361
2401
|
*/
|
|
2362
2402
|
"undoState"?: KritzelUndoState;
|
|
2403
|
+
/**
|
|
2404
|
+
* @default true
|
|
2405
|
+
*/
|
|
2406
|
+
"visible"?: boolean;
|
|
2363
2407
|
}
|
|
2364
2408
|
interface KritzelCurrentUser {
|
|
2365
2409
|
/**
|
|
@@ -2461,7 +2505,7 @@ declare namespace LocalJSX {
|
|
|
2461
2505
|
*/
|
|
2462
2506
|
"activeWorkspaceId"?: string;
|
|
2463
2507
|
/**
|
|
2464
|
-
* @default
|
|
2508
|
+
* @default { providers: [], }
|
|
2465
2509
|
*/
|
|
2466
2510
|
"assetStorageConfig"?: KritzelAssetStorageConfig;
|
|
2467
2511
|
/**
|
|
@@ -2501,6 +2545,10 @@ declare namespace LocalJSX {
|
|
|
2501
2545
|
* @default true
|
|
2502
2546
|
*/
|
|
2503
2547
|
"isMoreMenuVisible"?: boolean;
|
|
2548
|
+
/**
|
|
2549
|
+
* @default false
|
|
2550
|
+
*/
|
|
2551
|
+
"isObjectDistanceFadingActive"?: boolean;
|
|
2504
2552
|
/**
|
|
2505
2553
|
* @default true
|
|
2506
2554
|
*/
|
|
@@ -2515,7 +2563,6 @@ declare namespace LocalJSX {
|
|
|
2515
2563
|
"lockDrawingScale"?: boolean;
|
|
2516
2564
|
/**
|
|
2517
2565
|
* Optional login configuration. When provided, a "Sign in" button is shown that opens a login dialog with the configured providers.
|
|
2518
|
-
* @default { providers: [ { label: 'Sign in with Google', icon: 'google', name: 'Google', }, ], }
|
|
2519
2566
|
*/
|
|
2520
2567
|
"loginConfig"?: KritzelLoginConfig;
|
|
2521
2568
|
/**
|
|
@@ -2536,15 +2583,15 @@ declare namespace LocalJSX {
|
|
|
2536
2583
|
"onUndoStateChange"?: (event: KritzelEditorCustomEvent<KritzelUndoState1>) => void;
|
|
2537
2584
|
"onViewportChange"?: (event: KritzelEditorCustomEvent<KritzelViewportState>) => void;
|
|
2538
2585
|
/**
|
|
2539
|
-
* @default
|
|
2586
|
+
* @default 1000
|
|
2540
2587
|
*/
|
|
2541
2588
|
"scaleMax"?: number;
|
|
2542
2589
|
/**
|
|
2543
|
-
* @default
|
|
2590
|
+
* @default 0.0001
|
|
2544
2591
|
*/
|
|
2545
2592
|
"scaleMin"?: number;
|
|
2546
2593
|
/**
|
|
2547
|
-
* @default
|
|
2594
|
+
* @default { providers: [], }
|
|
2548
2595
|
*/
|
|
2549
2596
|
"syncConfig"?: KritzelSyncConfig;
|
|
2550
2597
|
/**
|
|
@@ -2604,6 +2651,11 @@ declare namespace LocalJSX {
|
|
|
2604
2651
|
* @default false
|
|
2605
2652
|
*/
|
|
2606
2653
|
"isLoading"?: boolean;
|
|
2654
|
+
/**
|
|
2655
|
+
* When true, objects fade based on distance to the viewport center.
|
|
2656
|
+
* @default false
|
|
2657
|
+
*/
|
|
2658
|
+
"isObjectDistanceFadingActive"?: boolean;
|
|
2607
2659
|
/**
|
|
2608
2660
|
* When true, objects are drawn at a fixed visual size regardless of zoom level
|
|
2609
2661
|
* @default true
|
|
@@ -2671,12 +2723,12 @@ declare namespace LocalJSX {
|
|
|
2671
2723
|
"onWorkspacesChange"?: (event: KritzelEngineCustomEvent<KritzelWorkspace[]>) => void;
|
|
2672
2724
|
/**
|
|
2673
2725
|
* Maximum zoom scale allowed. Clamped to the absolute maximum defined by the engine.
|
|
2674
|
-
* @default
|
|
2726
|
+
* @default 1000
|
|
2675
2727
|
*/
|
|
2676
2728
|
"scaleMax"?: number;
|
|
2677
2729
|
/**
|
|
2678
2730
|
* Minimum zoom scale allowed. Clamped to the absolute minimum defined by the engine.
|
|
2679
|
-
* @default
|
|
2731
|
+
* @default 0.0001
|
|
2680
2732
|
*/
|
|
2681
2733
|
"scaleMin"?: number;
|
|
2682
2734
|
/**
|
|
@@ -3217,6 +3269,7 @@ declare namespace LocalJSX {
|
|
|
3217
3269
|
"theme": ThemeName;
|
|
3218
3270
|
}
|
|
3219
3271
|
interface KritzelControlsAttributes {
|
|
3272
|
+
"visible": boolean;
|
|
3220
3273
|
"isUtilityPanelVisible": boolean;
|
|
3221
3274
|
"theme": ThemeName;
|
|
3222
3275
|
}
|
|
@@ -3254,6 +3307,7 @@ declare namespace LocalJSX {
|
|
|
3254
3307
|
"isUtilityPanelVisible": boolean;
|
|
3255
3308
|
"isWorkspaceManagerVisible": boolean;
|
|
3256
3309
|
"isMoreMenuVisible": boolean;
|
|
3310
|
+
"isObjectDistanceFadingActive": boolean;
|
|
3257
3311
|
"isLoading": boolean;
|
|
3258
3312
|
"editorId": string;
|
|
3259
3313
|
"activeWorkspaceId": string;
|
|
@@ -3264,6 +3318,7 @@ declare namespace LocalJSX {
|
|
|
3264
3318
|
"scaleMax": number;
|
|
3265
3319
|
"scaleMin": number;
|
|
3266
3320
|
"lockDrawingScale": boolean;
|
|
3321
|
+
"isObjectDistanceFadingActive": boolean;
|
|
3267
3322
|
"theme": ThemeName;
|
|
3268
3323
|
"viewportBoundaryLeft": number;
|
|
3269
3324
|
"viewportBoundaryRight": number;
|