kritzel-stencil 0.4.8 → 0.4.10
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.cjs.js +9 -1
- package/dist/cjs/kritzel-active-users_47.cjs.entry.js +1427 -1289
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{schema.constants-gDeS7USU.js → schema.constants-C6PknABJ.js} +81 -6
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/classes/objects/image.class.js +9 -0
- package/dist/collection/classes/objects/path.class.js +9 -0
- package/dist/collection/classes/objects/shape.class.js +9 -0
- package/dist/collection/classes/providers/sync/broadcast-sync-provider.class.js +1 -0
- package/dist/collection/classes/providers/sync/hocuspocus-sync-provider.class.js +2 -0
- package/dist/collection/classes/providers/sync/in-memory-sync-provider.class.js +1 -0
- package/dist/collection/classes/providers/sync/indexeddb-sync-provider.class.js +1 -0
- package/dist/collection/classes/providers/sync/websocket-sync-provider.class.js +2 -0
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +201 -67
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +137 -170
- package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.js +1 -1
- package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
- package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
- package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
- package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
- package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
- package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
- package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
- package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.css +5 -5
- package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.js +1 -1
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
- package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +7 -7
- package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +2 -2
- package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +2 -2
- package/dist/collection/components/ui/kritzel-export/kritzel-export.js +2 -2
- package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.css +6 -6
- package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
- package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
- package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +91 -5
- package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +2 -2
- package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +3 -3
- package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.js +1 -1
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +2 -2
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +1 -1
- package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +2 -2
- package/dist/collection/constants/version.js +1 -1
- package/dist/collection/helpers/object.helper.js +11 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/interfaces/object-export.interface.js +1 -0
- package/dist/collection/interfaces/sync-config.interface.js +21 -1
- package/dist/collection/locales/de-locale.js +2 -2
- package/dist/collection/locales/en-locale.js +2 -2
- package/dist/collection/locales/fr-locale.js +2 -2
- package/dist/collection/themes/dark-theme.js +7 -0
- package/dist/collection/themes/light-theme.js +7 -0
- package/dist/components/index.js +11 -4
- 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-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-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-editor.js +200 -99
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-export.js +1 -1
- package/dist/components/kritzel-font-size.js +1 -1
- package/dist/components/kritzel-font.js +1 -1
- package/dist/components/kritzel-input.js +1 -1
- package/dist/components/kritzel-loading-overlay.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-portal.js +1 -1
- package/dist/components/kritzel-settings.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-sync-indicator.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-watermark.js +1 -1
- package/dist/components/kritzel-workspace-manager.js +1 -1
- package/dist/components/kritzel-zoom-panel.js +1 -1
- package/dist/components/{p-8xkoVMfO.js → p-2WiGyky4.js} +2 -2
- package/dist/components/{p-D8TOEhPY.js → p-30g2W_Gx.js} +3 -3
- package/dist/components/{p-DXcjIb_a.js → p-4SPnZZkH.js} +3 -3
- package/dist/components/{p-CURiiQfq.js → p-7I4Uzjrw.js} +14 -0
- package/dist/components/{p-9m1cAVwG.js → p-B-585egz.js} +3 -3
- package/dist/components/{p-COjsYPir.js → p-BP6Fo3rt.js} +2 -2
- package/dist/components/{p-BLOPBDUF.js → p-BPsKYMH6.js} +2 -2
- package/dist/components/{p-DkY7pIg5.js → p-BX1aRLEi.js} +95 -6
- package/dist/components/{p-BMRln59F.js → p-B_lZQo3s.js} +3 -3
- package/dist/components/{p-oGAPPwAL.js → p-BoN700-O.js} +2 -2
- package/dist/components/{p-BzJEwFtn.js → p-BozrueXV.js} +1 -1
- package/dist/components/{p-DwY5pghH.js → p-Bvv1pGFD.js} +1 -1
- package/dist/components/{p-D8bHNNEm.js → p-C6e7eOEb.js} +1238 -1241
- package/dist/components/{p-CM1duewg.js → p-CAoN_STZ.js} +2 -2
- package/dist/components/{p-CVhcOiEA.js → p-CM65T33m.js} +3 -3
- package/dist/components/{p-BknTMcbz.js → p-COylwYw1.js} +16 -16
- package/dist/components/{p-BYO6pz8T.js → p-CZ99VWQc.js} +1 -1
- package/dist/components/{p-DrQRChp3.js → p-CaBbajU2.js} +2 -2
- package/dist/components/{p-BzrxIesp.js → p-CrHvaLRV.js} +1 -1
- package/dist/components/{p-BKOsmXB5.js → p-D-UkGru5.js} +4 -4
- package/dist/components/{p-BVEGQLBD.js → p-DB58Oa5V.js} +2 -2
- package/dist/components/{p-yD_3Z3K1.js → p-DBqoPgev.js} +1 -1
- package/dist/components/{p-DIMNEOTW.js → p-DKGg-76-.js} +1 -1
- package/dist/components/{p-Dd-pMvlr.js → p-DPONTran.js} +11 -0
- package/dist/components/{p-DgnK50xO.js → p-DVXTPI71.js} +1 -1
- package/dist/components/{p-DgA865Tp.js → p-DdabFzSa.js} +5 -5
- package/dist/components/{p-CMZ09rB1.js → p-Dt7-I2Xz.js} +3 -3
- package/dist/components/{p-CwuGA058.js → p-DtnMdWWB.js} +1 -1
- package/dist/components/{p-7Rt7ml3v.js → p-Dv4pZx8G.js} +1 -1
- package/dist/components/{p-BO9BvTtK.js → p-DwMqCX2P.js} +2 -2
- package/dist/components/{p-Cr2z2UBL.js → p-Dy3uucl_.js} +7 -7
- package/dist/components/{p-Ckm1Aq0V.js → p-GKmqCI8r.js} +2 -2
- package/dist/components/{p-DSOc0eIT.js → p-PjPPCHVL.js} +1 -1
- package/dist/components/{p-OLfoATNk.js → p-ShJrZeyt.js} +1 -1
- package/dist/components/{p-0H4HOJjy.js → p-bAacqNHq.js} +11 -2
- package/dist/components/{p-BU-FZuj0.js → p-vqEUQ-4Q.js} +3 -3
- package/dist/components/{p-DDbO5q-e.js → p-x3z0Cz1B.js} +4 -4
- package/dist/esm/index.js +9 -2
- package/dist/esm/kritzel-active-users_47.entry.js +1427 -1289
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{schema.constants-Rpm1NA9u.js → schema.constants-C-oQbvCY.js} +81 -7
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/index.esm.js +9 -2
- package/dist/stencil/{p-Rpm1NA9u.js → p-C-oQbvCY.js} +81 -7
- package/dist/stencil/{p-8c1b7b08.entry.js → p-be87f9d3.entry.js} +1427 -1289
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/objects/image.class.d.ts +3 -0
- package/dist/types/classes/objects/path.class.d.ts +3 -0
- package/dist/types/classes/objects/shape.class.d.ts +3 -0
- package/dist/types/classes/providers/sync/broadcast-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/hocuspocus-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/in-memory-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/indexeddb-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/websocket-sync-provider.class.d.ts +1 -0
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +17 -3
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +16 -34
- package/dist/types/components/ui/kritzel-more-menu/kritzel-more-menu.d.ts +10 -1
- package/dist/types/components.d.ts +27 -26
- package/dist/types/constants/version.d.ts +1 -1
- package/dist/types/helpers/object.helper.d.ts +4 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interfaces/localization.interface.d.ts +1 -1
- package/dist/types/interfaces/menu-item.interface.d.ts +1 -1
- package/dist/types/interfaces/object-export.interface.d.ts +20 -0
- package/dist/types/interfaces/sync-config.interface.d.ts +5 -0
- package/dist/types/interfaces/sync-provider.interface.d.ts +5 -0
- package/dist/types/interfaces/theme.interface.d.ts +11 -5
- package/package.json +1 -1
|
@@ -17,5 +17,5 @@ var patchBrowser = () => {
|
|
|
17
17
|
|
|
18
18
|
patchBrowser().then(async (options) => {
|
|
19
19
|
await globalScripts();
|
|
20
|
-
return bootstrapLazy(JSON.parse("[[\"p-8c1b7b08\",[[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\"],\"debugInfo\":[1040],\"user\":[16],\"activeUsers\":[16],\"controls\":[16],\"globalContextMenuItems\":[16],\"objectContextMenuItems\":[16],\"themes\":[16],\"theme\":[1025],\"licenseKey\":[1,\"license-key\"],\"locale\":[1025],\"locales\":[16],\"fallbackLocale\":[1,\"fallback-locale\"],\"customSvgIcons\":[16],\"customFonts\":[16],\"isPanningEnabled\":[1028,\"is-panning-enabled\"],\"isZoomingEnabled\":[1028,\"is-zooming-enabled\"],\"isControlsVisible\":[4,\"is-controls-visible\"],\"isUtilityPanelVisible\":[4,\"is-utility-panel-visible\"],\"isWorkspaceManagerVisible\":[4,\"is-workspace-manager-visible\"],\"isMoreMenuVisible\":[4,\"is-more-menu-visible\"],\"isZoomPanelVisible\":[4,\"is-zoom-panel-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],\"resolvedTerms\":[32],\"availableLocaleOptions\":[32],\"currentZoomPercent\":[32],\"shortcuts\":[32],\"currentIsPublic\":[32],\"isEditorVisible\":[32],\"activeNotification\":[32],\"isNotificationDismissing\":[32],\"contextMenuState\":[32],\"normalizedControls\":[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],\"zoomIn\":[64],\"zoomOut\":[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],\"getObjectsInViewport\":[64],\"hideContextMenu\":[64],\"openContextMenu\":[64],\"triggerSelectionChange\":[64],\"beginSceneBootstrap\":[64],\"endSceneBootstrap\":[64],\"getDisplayableShortcuts\":[64],\"triggerNotification\":[64],\"openLoginDialog\":[64],\"setLoginLoading\":[64],\"setLocale\":[64],\"getLocale\":[64],\"getAvailableLocales\":[64],\"registerLocales\":[64],\"registerFonts\":[64],\"t\":[64]},[[0,\"dblclick\",\"onTouchStart\"]],{\"isEngineReady\":[{\"onIsEngineReady\":0}],\"isControlsReady\":[{\"onIsControlsReady\":0}],\"workspaces\":[{\"onWorkspacesChange\":0}],\"activeWorkspace\":[{\"onActiveWorkspaceChange\":0}],\"customFonts\":[{\"onCustomFontsChange\":0}],\"controls\":[{\"onControlsChange\":0}],\"activeWorkspaceId\":[{\"onActiveWorkspaceIdChange\":0}],\"theme\":[{\"onCurrentThemeChange\":0}],\"themes\":[{\"onThemesChange\":0}],\"locale\":[{\"onLocaleChange\":0}]}],[513,\"kritzel-controls\",{\"visible\":[4],\"controls\":[16],\"activeControl\":[1040],\"isUtilityPanelVisible\":[4,\"is-utility-panel-visible\"],\"undoState\":[16],\"theme\":[1],\"terms\":[16],\"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-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],\"licenseKey\":[1,\"license-key\"],\"themes\":[16],\"locale\":[1],\"locales\":[16],\"fallbackLocale\":[1,\"fallback-locale\"],\"viewportBoundaryLeft\":[2,\"viewport-boundary-left\"],\"viewportBoundaryRight\":[2,\"viewport-boundary-right\"],\"viewportBoundaryTop\":[2,\"viewport-boundary-top\"],\"viewportBoundaryBottom\":[2,\"viewport-boundary-bottom\"],\"debugInfo\":[16],\"isPanningEnabled\":[4,\"is-panning-enabled\"],\"isZoomingEnabled\":[4,\"is-zooming-enabled\"],\"isLoading\":[4,\"is-loading\"],\"forceUpdate\":[32],\"isSyncing\":[32],\"triggerSelectionChange\":[64],\"beginSceneBootstrap\":[64],\"endSceneBootstrap\":[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],\"zoomIn\":[64],\"zoomOut\":[64],\"getViewport\":[64],\"screenToWorld\":[64],\"worldToScreen\":[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],\"registerLocales\":[64],\"setLocale\":[64],\"getLocale\":[64],\"getAvailableLocales\":[64],\"getAvailableLocaleOptions\":[64],\"t\":[64],\"getResolvedTerms\":[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\"],[8,\"copy\",\"handleCopy\"],[8,\"cut\",\"handleCut\"],[8,\"paste\",\"handlePaste\"],[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}],\"licenseKey\":[{\"onLicenseKeyChange\":0}],\"themes\":[{\"onThemesChange\":0}],\"locale\":[{\"onLocaleChange\":0}],\"locales\":[{\"onLocalesChange\":0}],\"fallbackLocale\":[{\"onFallbackLocaleChange\":0}],\"viewportBoundaryLeft\":[{\"onViewportBoundaryLeftChange\":0}],\"viewportBoundaryRight\":[{\"onViewportBoundaryRightChange\":0}],\"viewportBoundaryTop\":[{\"onViewportBoundaryTopChange\":0}],\"viewportBoundaryBottom\":[{\"onViewportBoundaryBottomChange\":0}],\"debugInfo\":[{\"onDebugInfoChange\":0}],\"isLoading\":[{\"onIsLoadingChange\":0}]}],[513,\"kritzel-settings\",{\"availableThemes\":[16],\"availableLocales\":[16],\"shortcuts\":[16],\"terms\":[16],\"settings\":[16],\"isDialogOpen\":[32],\"selectedCategoryId\":[32],\"scaleMin\":[32],\"scaleMax\":[32],\"lockDrawingScale\":[32],\"theme\":[32],\"locale\":[32],\"viewportBoundaryLeft\":[32],\"viewportBoundaryRight\":[32],\"viewportBoundaryTop\":[32],\"viewportBoundaryBottom\":[32],\"debugInfo\":[32],\"open\":[64]},null,{\"settings\":[{\"onSettingsPropChange\":0}]}],[513,\"kritzel-export\",{\"workspaceName\":[1,\"workspace-name\"],\"terms\":[16],\"isDialogOpen\":[32],\"previewUrl\":[32],\"isLoading\":[32],\"activeTab\":[32],\"exportFilename\":[32],\"viewportExportFormat\":[32],\"open\":[64]}],[513,\"kritzel-workspace-manager\",{\"visible\":[4],\"activeWorkspace\":[1040],\"workspaces\":[16],\"terms\":[16],\"childMenuAnchor\":[32],\"openChildMenuItem\":[32],\"newWorkspace\":[32],\"editingItemId\":[32]},[[8,\"wheel\",\"handleWheel\"]]],[513,\"kritzel-more-menu\",{\"visible\":[4],\"items\":[16],\"icon\":[1],\"iconSize\":[2,\"icon-size\"],\"offsetY\":[2,\"offset-y\"],\"terms\":[16],\"menuAnchor\":[32],\"isTouchDevice\":[32]}],[513,\"kritzel-current-user-dialog\",{\"user\":[16],\"terms\":[16],\"isDialogOpen\":[32],\"open\":[64],\"close\":[64]}],[513,\"kritzel-share-dialog\",{\"isPublic\":[4,\"is-public\"],\"workspaceId\":[1,\"workspace-id\"],\"terms\":[16],\"isDialogOpen\":[32],\"internalIsPublic\":[32],\"copySuccess\":[32],\"qrCodeDataUrl\":[32],\"open\":[64],\"close\":[64]},null,{\"isPublic\":[{\"onIsPublicChange\":0}],\"workspaceId\":[{\"onWorkspaceIdChange\":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]}],[513,\"kritzel-context-menu\",{\"items\":[16],\"objects\":[16],\"processedItems\":[32],\"openSubmenuPath\":[32],\"submenuPositions\":[32]},[[9,\"pointerdown\",\"handleOutsideClick\"]],{\"items\":[{\"onItemsChanged\":0}]}],[513,\"kritzel-current-user\",{\"user\":[16],\"avatarSize\":[2,\"avatar-size\"],\"terms\":[16]}],[513,\"kritzel-notification-card\",{\"notification\":[16],\"showTimestamp\":[4,\"show-timestamp\"],\"locale\":[1]}],[513,\"kritzel-zoom-panel\",{\"visible\":[4],\"disabled\":[4],\"zoomPercent\":[2,\"zoom-percent\"],\"terms\":[16]}],[513,\"kritzel-tool-config\",{\"tool\":[1040],\"isExpanded\":[1028,\"is-expanded\"],\"theme\":[1],\"engine\":[16],\"terms\":[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]}],[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],\"terms\":[16]}],[513,\"kritzel-awareness-cursors\",{\"core\":[16],\"showEdgeIndicators\":[4,\"show-edge-indicators\"],\"edgeIndicatorPadding\":[2,\"edge-indicator-padding\"],\"remoteCursors\":[32],\"objectVersion\":[32]}],[769,\"kritzel-button\",{\"variant\":[1],\"disabled\":[4],\"type\":[1]}],[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-loading-overlay\",{\"visible\":[4],\"text\":[1]}],[513,\"kritzel-numeric-input\",{\"value\":[1026],\"min\":[2],\"max\":[2],\"step\":[2],\"label\":[1],\"placeholder\":[1],\"inputValue\":[32]},null,{\"value\":[{\"onValueChange\":0}]}],[513,\"kritzel-sync-indicator\",{\"visible\":[4],\"text\":[1]}],[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-watermark\",{\"core\":[16],\"label\":[1]}],[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\"]},null,{\"fontOptions\":[{\"handleFontOptionsChange\":0}]}],[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-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-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-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]}]]]]"), options);
|
|
20
|
+
return bootstrapLazy(JSON.parse("[[\"p-be87f9d3\",[[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\"],\"debugInfo\":[1040],\"user\":[16],\"activeUsers\":[16],\"controls\":[16],\"globalContextMenuItems\":[16],\"objectContextMenuItems\":[16],\"moreMenuItems\":[16],\"themes\":[16],\"theme\":[1025],\"licenseKey\":[1,\"license-key\"],\"locale\":[1025],\"locales\":[16],\"fallbackLocale\":[1,\"fallback-locale\"],\"customSvgIcons\":[16],\"customFonts\":[16],\"isPanningEnabled\":[1028,\"is-panning-enabled\"],\"isZoomingEnabled\":[1028,\"is-zooming-enabled\"],\"isControlsVisible\":[4,\"is-controls-visible\"],\"isUtilityPanelVisible\":[4,\"is-utility-panel-visible\"],\"isWorkspaceManagerVisible\":[4,\"is-workspace-manager-visible\"],\"isMoreMenuVisible\":[4,\"is-more-menu-visible\"],\"isZoomPanelVisible\":[4,\"is-zoom-panel-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],\"resolvedTerms\":[32],\"availableLocaleOptions\":[32],\"currentZoomPercent\":[32],\"shortcuts\":[32],\"currentIsPublic\":[32],\"isEditorVisible\":[32],\"activeNotification\":[32],\"isNotificationDismissing\":[32],\"contextMenuState\":[32],\"normalizedControls\":[32],\"resolvedMoreMenuItems\":[32],\"isSyncing\":[32],\"isLoadingOverlayVisible\":[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],\"zoomIn\":[64],\"zoomOut\":[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],\"getSelectedObjectSupportedExportFormats\":[64],\"canExportSelectedObjectAs\":[64],\"exportSelectedObject\":[64],\"downloadAsJson\":[64],\"importFromFile\":[64],\"loadObjectsFromJson\":[64],\"getObjectsTotalCount\":[64],\"getAllObjects\":[64],\"findObjects\":[64],\"getObjectsInViewport\":[64],\"hideContextMenu\":[64],\"openContextMenu\":[64],\"triggerSelectionChange\":[64],\"beginSceneBootstrap\":[64],\"endSceneBootstrap\":[64],\"getDisplayableShortcuts\":[64],\"triggerNotification\":[64],\"openLoginDialog\":[64],\"setLoginLoading\":[64],\"setLocale\":[64],\"getLocale\":[64],\"getAvailableLocales\":[64],\"registerLocales\":[64],\"registerFonts\":[64],\"t\":[64]},[[0,\"dblclick\",\"onTouchStart\"]],{\"isEngineReady\":[{\"onIsEngineReady\":0}],\"isControlsReady\":[{\"onIsControlsReady\":0}],\"workspaces\":[{\"onWorkspacesChange\":0}],\"activeWorkspace\":[{\"onActiveWorkspaceChange\":0}],\"customFonts\":[{\"onCustomFontsChange\":0}],\"controls\":[{\"onControlsChange\":0}],\"moreMenuItems\":[{\"onMoreMenuItemsChange\":0}],\"syncConfig\":[{\"onSyncConfigChange\":0}],\"loginConfig\":[{\"onLoginConfigChange\":0}],\"user\":[{\"onUserChange\":0}],\"activeWorkspaceId\":[{\"onActiveWorkspaceIdChange\":0}],\"theme\":[{\"onCurrentThemeChange\":0}],\"themes\":[{\"onThemesChange\":0}],\"locale\":[{\"onLocaleChange\":0}]}],[513,\"kritzel-controls\",{\"visible\":[4],\"controls\":[16],\"activeControl\":[1040],\"isUtilityPanelVisible\":[4,\"is-utility-panel-visible\"],\"undoState\":[16],\"theme\":[1],\"terms\":[16],\"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],\"availableLocales\":[16],\"shortcuts\":[16],\"terms\":[16],\"settings\":[16],\"isDialogOpen\":[32],\"selectedCategoryId\":[32],\"scaleMin\":[32],\"scaleMax\":[32],\"lockDrawingScale\":[32],\"theme\":[32],\"locale\":[32],\"viewportBoundaryLeft\":[32],\"viewportBoundaryRight\":[32],\"viewportBoundaryTop\":[32],\"viewportBoundaryBottom\":[32],\"debugInfo\":[32],\"open\":[64]},null,{\"settings\":[{\"onSettingsPropChange\":0}]}],[513,\"kritzel-export\",{\"workspaceName\":[1,\"workspace-name\"],\"terms\":[16],\"isDialogOpen\":[32],\"previewUrl\":[32],\"isLoading\":[32],\"activeTab\":[32],\"exportFilename\":[32],\"viewportExportFormat\":[32],\"open\":[64]}],[513,\"kritzel-workspace-manager\",{\"visible\":[4],\"activeWorkspace\":[1040],\"workspaces\":[16],\"terms\":[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],\"licenseKey\":[1,\"license-key\"],\"themes\":[16],\"locale\":[1],\"locales\":[16],\"fallbackLocale\":[1,\"fallback-locale\"],\"viewportBoundaryLeft\":[2,\"viewport-boundary-left\"],\"viewportBoundaryRight\":[2,\"viewport-boundary-right\"],\"viewportBoundaryTop\":[2,\"viewport-boundary-top\"],\"viewportBoundaryBottom\":[2,\"viewport-boundary-bottom\"],\"debugInfo\":[16],\"isPanningEnabled\":[4,\"is-panning-enabled\"],\"isZoomingEnabled\":[4,\"is-zooming-enabled\"],\"isLoading\":[4,\"is-loading\"],\"forceUpdate\":[32],\"isSyncing\":[32],\"triggerSelectionChange\":[64],\"beginSceneBootstrap\":[64],\"endSceneBootstrap\":[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],\"zoomIn\":[64],\"zoomOut\":[64],\"getViewport\":[64],\"screenToWorld\":[64],\"worldToScreen\":[64],\"getObjectsInViewport\":[64],\"getScreenshot\":[64],\"exportViewportAsPng\":[64],\"exportViewportAsSvg\":[64],\"getSelectedObjectSupportedExportFormats\":[64],\"canExportSelectedObjectAs\":[64],\"exportSelectedObject\":[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],\"registerLocales\":[64],\"setLocale\":[64],\"getLocale\":[64],\"getAvailableLocales\":[64],\"getAvailableLocaleOptions\":[64],\"t\":[64],\"getResolvedTerms\":[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\"],[8,\"copy\",\"handleCopy\"],[8,\"cut\",\"handleCut\"],[8,\"paste\",\"handlePaste\"],[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}],\"licenseKey\":[{\"onLicenseKeyChange\":0}],\"themes\":[{\"onThemesChange\":0}],\"locale\":[{\"onLocaleChange\":0}],\"locales\":[{\"onLocalesChange\":0}],\"fallbackLocale\":[{\"onFallbackLocaleChange\":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\"],\"terms\":[16],\"menuAnchor\":[32],\"isTouchDevice\":[32],\"visibleItems\":[32]},null,{\"items\":[{\"onItemsChange\":0}]}],[513,\"kritzel-current-user-dialog\",{\"user\":[16],\"terms\":[16],\"isDialogOpen\":[32],\"open\":[64],\"close\":[64]}],[513,\"kritzel-share-dialog\",{\"isPublic\":[4,\"is-public\"],\"workspaceId\":[1,\"workspace-id\"],\"terms\":[16],\"isDialogOpen\":[32],\"internalIsPublic\":[32],\"copySuccess\":[32],\"qrCodeDataUrl\":[32],\"open\":[64],\"close\":[64]},null,{\"isPublic\":[{\"onIsPublicChange\":0}],\"workspaceId\":[{\"onWorkspaceIdChange\":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]}],[513,\"kritzel-context-menu\",{\"items\":[16],\"objects\":[16],\"processedItems\":[32],\"openSubmenuPath\":[32],\"submenuPositions\":[32]},[[9,\"pointerdown\",\"handleOutsideClick\"]],{\"items\":[{\"onItemsChanged\":0}]}],[513,\"kritzel-current-user\",{\"user\":[16],\"avatarSize\":[2,\"avatar-size\"],\"terms\":[16]}],[513,\"kritzel-notification-card\",{\"notification\":[16],\"showTimestamp\":[4,\"show-timestamp\"],\"locale\":[1]}],[513,\"kritzel-zoom-panel\",{\"visible\":[4],\"disabled\":[4],\"zoomPercent\":[2,\"zoom-percent\"],\"terms\":[16]}],[513,\"kritzel-loading-overlay\",{\"visible\":[4],\"text\":[1]}],[513,\"kritzel-sync-indicator\",{\"visible\":[4],\"text\":[1]}],[513,\"kritzel-tool-config\",{\"tool\":[1040],\"isExpanded\":[1028,\"is-expanded\"],\"theme\":[1],\"engine\":[16],\"terms\":[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]}],[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],\"terms\":[16]}],[513,\"kritzel-awareness-cursors\",{\"core\":[16],\"showEdgeIndicators\":[4,\"show-edge-indicators\"],\"edgeIndicatorPadding\":[2,\"edge-indicator-padding\"],\"remoteCursors\":[32],\"objectVersion\":[32]}],[769,\"kritzel-button\",{\"variant\":[1],\"disabled\":[4],\"type\":[1]}],[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-watermark\",{\"core\":[16],\"label\":[1]}],[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\"]},null,{\"fontOptions\":[{\"handleFontOptionsChange\":0}]}],[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-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-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-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]}]]]]"), options);
|
|
21
21
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { KritzelCore } from '../core/core.class';
|
|
2
2
|
import { KritzelAssetLoadState } from '../../interfaces/asset.interface';
|
|
3
3
|
import { KritzelBaseObject } from './base-object.class';
|
|
4
|
+
import { KritzelObjectExportContext, KritzelObjectExportFormat } from '../../interfaces/object-export.interface';
|
|
4
5
|
/**
|
|
5
6
|
* Represents an image object on the canvas.
|
|
6
7
|
*
|
|
@@ -221,4 +222,6 @@ export declare class KritzelImage extends KritzelBaseObject<HTMLImageElement> {
|
|
|
221
222
|
scaledWidth: number;
|
|
222
223
|
scaledHeight: number;
|
|
223
224
|
};
|
|
225
|
+
getSupportedExportFormats(): KritzelObjectExportFormat[];
|
|
226
|
+
exportAs(format: KritzelObjectExportFormat, context: KritzelObjectExportContext): Promise<string | null>;
|
|
224
227
|
}
|
|
@@ -4,6 +4,7 @@ import { KritzelPolygon } from '../../interfaces/polygon.interface';
|
|
|
4
4
|
import { KritzelPoint } from '../../interfaces/point.interface';
|
|
5
5
|
import { KritzelCore } from '../core/core.class';
|
|
6
6
|
import { ThemeAwareColor } from '../../constants/color-palette.constants';
|
|
7
|
+
import { KritzelObjectExportContext, KritzelObjectExportFormat } from '../../interfaces/object-export.interface';
|
|
7
8
|
export declare class KritzelPath extends KritzelBaseObject<SVGElement> {
|
|
8
9
|
__class__: string;
|
|
9
10
|
points: number[][];
|
|
@@ -208,4 +209,6 @@ export declare class KritzelPath extends KritzelBaseObject<SVGElement> {
|
|
|
208
209
|
* @returns The intersection point on the stroke edge, or null if no intersection found
|
|
209
210
|
*/
|
|
210
211
|
getClipPoint(outsidePoint: KritzelPoint): KritzelPoint | null;
|
|
212
|
+
getSupportedExportFormats(): KritzelObjectExportFormat[];
|
|
213
|
+
exportAs(format: KritzelObjectExportFormat, context: KritzelObjectExportContext): Promise<string | null>;
|
|
211
214
|
}
|
|
@@ -4,6 +4,7 @@ import { ShapeType } from '../../enums/shape-type.enum';
|
|
|
4
4
|
import { KritzelPoint } from '../../interfaces/point.interface';
|
|
5
5
|
import { EditorView } from 'prosemirror-view';
|
|
6
6
|
import { ThemeAwareColor } from '../../constants/color-palette.constants';
|
|
7
|
+
import { KritzelObjectExportContext, KritzelObjectExportFormat } from '../../interfaces/object-export.interface';
|
|
7
8
|
export declare class KritzelShape extends KritzelBaseObject<HTMLDivElement> {
|
|
8
9
|
__class__: string;
|
|
9
10
|
shapeType: ShapeType;
|
|
@@ -312,4 +313,6 @@ export declare class KritzelShape extends KritzelBaseObject<HTMLDivElement> {
|
|
|
312
313
|
* @returns An SVG path data string (d attribute) for the shape
|
|
313
314
|
*/
|
|
314
315
|
getSvgPath(): string;
|
|
316
|
+
getSupportedExportFormats(): KritzelObjectExportFormat[];
|
|
317
|
+
exportAs(format: KritzelObjectExportFormat, context: KritzelObjectExportContext): Promise<string | null>;
|
|
315
318
|
}
|
|
@@ -5,6 +5,7 @@ import { ISyncProvider } from '../../../interfaces/sync-provider.interface';
|
|
|
5
5
|
* This is a lightweight alternative to y-webrtc for browser-tab-only sync
|
|
6
6
|
*/
|
|
7
7
|
export declare class BroadcastSyncProvider implements ISyncProvider {
|
|
8
|
+
static readonly type: "local";
|
|
8
9
|
readonly type = "local";
|
|
9
10
|
private readonly doc;
|
|
10
11
|
private readonly channel;
|
|
@@ -117,6 +117,7 @@ export type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'sy
|
|
|
117
117
|
* Supports multiplexing - multiple documents can share the same WebSocket connection
|
|
118
118
|
*/
|
|
119
119
|
export declare class HocuspocusSyncProvider implements ISyncProvider {
|
|
120
|
+
static readonly type: "network";
|
|
120
121
|
readonly type = "network";
|
|
121
122
|
private provider;
|
|
122
123
|
private isConnected;
|
|
@@ -13,6 +13,7 @@ export interface IndexedDBOptions {
|
|
|
13
13
|
* IndexedDB sync provider for local persistence
|
|
14
14
|
*/
|
|
15
15
|
export declare class IndexedDBSyncProvider implements ISyncProvider {
|
|
16
|
+
static readonly type: "local";
|
|
16
17
|
readonly type = "local";
|
|
17
18
|
private provider;
|
|
18
19
|
private isConnected;
|
|
@@ -42,6 +42,7 @@ export interface WebSocketOptions {
|
|
|
42
42
|
* WebSocket sync provider for real-time collaboration
|
|
43
43
|
*/
|
|
44
44
|
export declare class WebSocketSyncProvider implements ISyncProvider {
|
|
45
|
+
static readonly type: "network";
|
|
45
46
|
readonly type = "network";
|
|
46
47
|
private provider;
|
|
47
48
|
private isConnected;
|
|
@@ -6,6 +6,7 @@ import { ContextMenuItem } from '../../../interfaces/context-menu-item.interface
|
|
|
6
6
|
import { KritzelEngineState } from '../../../interfaces/engine-state.interface';
|
|
7
7
|
import { KritzelSettingsConfig } from '../../../interfaces/settings.interface';
|
|
8
8
|
import { KritzelDebugInfo } from '../../../interfaces/debug-info.interface';
|
|
9
|
+
import { IKritzelMenuItem } from '../../../interfaces/menu-item.interface';
|
|
9
10
|
import { KritzelWorkspace } from '../../../classes/core/workspace.class';
|
|
10
11
|
import { KritzelSyncConfig } from '../../../interfaces/sync-config.interface';
|
|
11
12
|
import { KritzelAssetStorageConfig } from '../../../interfaces/asset-storage-config.interface';
|
|
@@ -24,6 +25,7 @@ import { LoginEvent } from '../../../events/login.event';
|
|
|
24
25
|
import { KritzelNotification } from '../../../interfaces/notification.interface';
|
|
25
26
|
import { KritzelFontMap } from '../../../interfaces/font.interface';
|
|
26
27
|
import { KritzelContextMenuState } from '../../../interfaces/context-menu-state.interface';
|
|
28
|
+
import { KritzelObjectExportFormat } from '../../../interfaces/object-export.interface';
|
|
27
29
|
export declare class KritzelEditor {
|
|
28
30
|
host: HTMLElement;
|
|
29
31
|
scaleMax: number;
|
|
@@ -39,6 +41,7 @@ export declare class KritzelEditor {
|
|
|
39
41
|
controls: KritzelToolbarControl[];
|
|
40
42
|
globalContextMenuItems: ContextMenuItem[];
|
|
41
43
|
objectContextMenuItems: ContextMenuItem[];
|
|
44
|
+
moreMenuItems?: IKritzelMenuItem[];
|
|
42
45
|
themes?: KritzelTheme[];
|
|
43
46
|
theme: ThemeName;
|
|
44
47
|
/** License key that, when valid, removes the "Powered by Kritzel" watermark. */
|
|
@@ -112,6 +115,9 @@ export declare class KritzelEditor {
|
|
|
112
115
|
isNotificationDismissing: boolean;
|
|
113
116
|
contextMenuState?: KritzelContextMenuState;
|
|
114
117
|
normalizedControls: KritzelToolbarControl[];
|
|
118
|
+
resolvedMoreMenuItems: IKritzelMenuItem[];
|
|
119
|
+
isSyncing: boolean;
|
|
120
|
+
isLoadingOverlayVisible: boolean;
|
|
115
121
|
private notificationDismissTimeout?;
|
|
116
122
|
private notificationDismissAnimationTimeout?;
|
|
117
123
|
private readonly notificationDisplayDurationMs;
|
|
@@ -125,6 +131,10 @@ export declare class KritzelEditor {
|
|
|
125
131
|
onActiveWorkspaceChange(): void;
|
|
126
132
|
onCustomFontsChange(newValue: KritzelFontMap): void;
|
|
127
133
|
onControlsChange(newValue: KritzelToolbarControl[]): void;
|
|
134
|
+
onMoreMenuItemsChange(): void;
|
|
135
|
+
onSyncConfigChange(): void;
|
|
136
|
+
onLoginConfigChange(): void;
|
|
137
|
+
onUserChange(): void;
|
|
128
138
|
onActiveWorkspaceIdChange(newId?: string): void;
|
|
129
139
|
onCurrentThemeChange(): void;
|
|
130
140
|
onThemesChange(): void;
|
|
@@ -199,8 +209,9 @@ export declare class KritzelEditor {
|
|
|
199
209
|
exportViewportAsSvg(options?: {
|
|
200
210
|
includeBackground?: boolean;
|
|
201
211
|
}): Promise<void>;
|
|
202
|
-
|
|
203
|
-
|
|
212
|
+
getSelectedObjectSupportedExportFormats(): Promise<KritzelObjectExportFormat[]>;
|
|
213
|
+
canExportSelectedObjectAs(format: KritzelObjectExportFormat): Promise<boolean>;
|
|
214
|
+
exportSelectedObject(format: KritzelObjectExportFormat): Promise<void>;
|
|
204
215
|
downloadAsJson(filename?: string): Promise<void>;
|
|
205
216
|
importFromFile(): Promise<void>;
|
|
206
217
|
loadObjectsFromJson(json: string): Promise<number>;
|
|
@@ -234,6 +245,7 @@ export declare class KritzelEditor {
|
|
|
234
245
|
componentWillLoad(): void;
|
|
235
246
|
private isTextToolConfig;
|
|
236
247
|
private normalizeControls;
|
|
248
|
+
private recomputeMoreMenuItems;
|
|
237
249
|
private applyTheme;
|
|
238
250
|
private resolveThemeObject;
|
|
239
251
|
componentDidLoad(): void;
|
|
@@ -260,7 +272,6 @@ export declare class KritzelEditor {
|
|
|
260
272
|
private clearNotificationDismissAnimationTimer;
|
|
261
273
|
private dismissNotification;
|
|
262
274
|
handleSettingsChange(event: CustomEvent<KritzelSettingsConfig>): void;
|
|
263
|
-
private get moreMenuItems();
|
|
264
275
|
private handleToggleIsPublic;
|
|
265
276
|
/**
|
|
266
277
|
* Updates the currentIsPublic state from the active workspace and emits the isPublicChange event.
|
|
@@ -269,6 +280,9 @@ export declare class KritzelEditor {
|
|
|
269
280
|
private handleProviderLogin;
|
|
270
281
|
private handleCurrentUserLogout;
|
|
271
282
|
private get isLoggedIn();
|
|
283
|
+
private canExportObjectsAs;
|
|
284
|
+
private canExportObjects;
|
|
285
|
+
private getPreferredExportFormat;
|
|
272
286
|
openLoginDialog(): Promise<void>;
|
|
273
287
|
setLoginLoading(provider: string | null): Promise<void>;
|
|
274
288
|
/**
|
|
@@ -23,6 +23,7 @@ import { ObjectsAddedEvent, ObjectsRemovedEvent, ObjectsUpdatedEvent, ObjectsInV
|
|
|
23
23
|
import { IKritzelUser } from '../../../interfaces/user.interface';
|
|
24
24
|
import { KritzelNotification } from '../../../interfaces/notification.interface';
|
|
25
25
|
import { KritzelContextMenuState } from '../../../interfaces/context-menu-state.interface';
|
|
26
|
+
import { KritzelObjectExportFormat } from '../../../interfaces/object-export.interface';
|
|
26
27
|
export declare class KritzelEngine {
|
|
27
28
|
host: HTMLElement;
|
|
28
29
|
/** The workspace to load and display. Changing this prop switches the active workspace. */
|
|
@@ -465,45 +466,20 @@ export declare class KritzelEngine {
|
|
|
465
466
|
includeBackground?: boolean;
|
|
466
467
|
}): Promise<void>;
|
|
467
468
|
/**
|
|
468
|
-
*
|
|
469
|
-
*
|
|
470
|
-
* @param options - Optional export settings (theme, padding, raster-safe mode for canvas export).
|
|
471
|
-
* @returns SVG markup string, or null if no objects are selected.
|
|
469
|
+
* Returns export formats supported by the currently selected object.
|
|
470
|
+
* Only returns formats when exactly one object is selected.
|
|
472
471
|
*/
|
|
473
|
-
|
|
474
|
-
theme?: 'light' | 'dark';
|
|
475
|
-
padding?: number;
|
|
476
|
-
rasterSafeForCanvas?: boolean;
|
|
477
|
-
}): Promise<string | null>;
|
|
478
|
-
/**
|
|
479
|
-
* Exports the currently selected objects as an SVG file and triggers a browser download.
|
|
480
|
-
* Creates clean, standards-compliant SVG markup suitable for import into vector editors.
|
|
481
|
-
* @param options - Optional export settings (theme, padding).
|
|
482
|
-
*/
|
|
483
|
-
exportSelectedObjectsAsSvg(options?: {
|
|
484
|
-
theme?: 'light' | 'dark';
|
|
485
|
-
padding?: number;
|
|
486
|
-
}): Promise<void>;
|
|
472
|
+
getSelectedObjectSupportedExportFormats(): Promise<KritzelObjectExportFormat[]>;
|
|
487
473
|
/**
|
|
488
|
-
*
|
|
489
|
-
*
|
|
490
|
-
* @param options - Optional export settings (theme, padding, scale for resolution).
|
|
491
|
-
* @returns PNG data URL string, or null if no objects are selected.
|
|
474
|
+
* Checks whether the currently selected object supports a specific export format.
|
|
475
|
+
* Returns false when none or multiple objects are selected.
|
|
492
476
|
*/
|
|
493
|
-
|
|
494
|
-
theme?: 'light' | 'dark';
|
|
495
|
-
padding?: number;
|
|
496
|
-
scale?: number;
|
|
497
|
-
}): Promise<string | null>;
|
|
477
|
+
canExportSelectedObjectAs(format: KritzelObjectExportFormat): Promise<boolean>;
|
|
498
478
|
/**
|
|
499
|
-
* Exports the currently selected
|
|
500
|
-
*
|
|
479
|
+
* Exports the currently selected object in the requested format and triggers a file download.
|
|
480
|
+
* Only supports single selection.
|
|
501
481
|
*/
|
|
502
|
-
|
|
503
|
-
theme?: 'light' | 'dark';
|
|
504
|
-
padding?: number;
|
|
505
|
-
scale?: number;
|
|
506
|
-
}): Promise<void>;
|
|
482
|
+
exportSelectedObject(format: KritzelObjectExportFormat): Promise<void>;
|
|
507
483
|
/**
|
|
508
484
|
* Exports the current workspace and all its objects as a JSON string.
|
|
509
485
|
* The exported data includes workspace metadata (id, name, viewport) and all canvas objects.
|
|
@@ -531,6 +507,12 @@ export declare class KritzelEngine {
|
|
|
531
507
|
private restorePortableAssets;
|
|
532
508
|
private blobToDataUrl;
|
|
533
509
|
private dataUrlToBlob;
|
|
510
|
+
private triggerDataUrlDownload;
|
|
511
|
+
private getSingleSelectedExportableObject;
|
|
512
|
+
private getObjectExportContext;
|
|
513
|
+
private getObjectAsSvgMarkup;
|
|
514
|
+
private svgMarkupToDataUrl;
|
|
515
|
+
private svgMarkupToPngDataUrl;
|
|
534
516
|
private getImportedWorkspaceName;
|
|
535
517
|
private getImportedWorkspaceViewport;
|
|
536
518
|
/**
|
|
@@ -36,9 +36,18 @@ export declare class KritzelMoreMenu {
|
|
|
36
36
|
}>;
|
|
37
37
|
menuAnchor: HTMLElement;
|
|
38
38
|
isTouchDevice: boolean;
|
|
39
|
+
visibleItems: IKritzelMenuItem[];
|
|
40
|
+
private visibilityResolveVersion;
|
|
41
|
+
onItemsChange(): void;
|
|
42
|
+
componentWillLoad(): void;
|
|
39
43
|
private toggleMenu;
|
|
40
44
|
private closeMenu;
|
|
41
|
-
private
|
|
45
|
+
private evaluateVisibility;
|
|
46
|
+
private evaluateVisibilitySync;
|
|
47
|
+
private filterVisibleItemsSync;
|
|
48
|
+
private filterVisibleItems;
|
|
49
|
+
private resolveVisibleItems;
|
|
50
|
+
private resolveMenuLabels;
|
|
42
51
|
private handleMenuItemSelect;
|
|
43
52
|
render(): any;
|
|
44
53
|
}
|
|
@@ -18,6 +18,7 @@ import { KritzelLocale, KritzelTermKey, KritzelTermVars, LocaleCode } from "./in
|
|
|
18
18
|
import { IKritzelDialogCloseEvent, KritzelDialogCloseReason } from "./interfaces/dialog.interface";
|
|
19
19
|
import { DropdownOption } from "./components/shared/kritzel-dropdown/kritzel-dropdown";
|
|
20
20
|
import { KritzelDebugInfo } from "./interfaces/debug-info.interface";
|
|
21
|
+
import { IKritzelMenuItem, IKritzelMenuItemSelectEvent, IKritzelMenuItemToggleChildMenuEvent } from "./interfaces/menu-item.interface";
|
|
21
22
|
import { KritzelFontMap } from "./interfaces/font.interface";
|
|
22
23
|
import { KritzelSyncConfig } from "./interfaces/sync-config.interface";
|
|
23
24
|
import { KritzelAssetStorageConfig } from "./interfaces/asset-storage-config.interface";
|
|
@@ -30,6 +31,7 @@ import { IKritzelIsPublicChangedEvent } from "./interfaces/share.interface";
|
|
|
30
31
|
import { KritzelWorkspace } from "./classes/core/workspace.class";
|
|
31
32
|
import { KritzelBaseTool } from "./classes/tools/base-tool.class";
|
|
32
33
|
import { KritzelAlignment } from "./enums/alignment.enum";
|
|
34
|
+
import { KritzelObjectExportFormat } from "./interfaces/object-export.interface";
|
|
33
35
|
import { Element, Event } from "./stencil-public-runtime";
|
|
34
36
|
import { KritzelShortcut } from "./interfaces/shortcut.interface";
|
|
35
37
|
import { KritzelNotification } from "./interfaces/notification.interface";
|
|
@@ -44,7 +46,6 @@ import { FontOption } from "./components/shared/kritzel-font-family/kritzel-font
|
|
|
44
46
|
import { LineEndingType } from "./components/shared/kritzel-line-endings/kritzel-line-endings";
|
|
45
47
|
import { LineArrowConfig } from "./interfaces/arrow-head.interface";
|
|
46
48
|
import { IKritzelMasterDetailItem, IKritzelMasterDetailSelectEvent } from "./interfaces/master-detail.interface";
|
|
47
|
-
import { IKritzelMenuItem, IKritzelMenuItemSelectEvent, IKritzelMenuItemToggleChildMenuEvent } from "./interfaces/menu-item.interface";
|
|
48
49
|
import { KritzelPillTab } from "./components/shared/kritzel-pill-tabs/kritzel-pill-tabs";
|
|
49
50
|
import { ShapeFillType } from "./components/shared/kritzel-shape-fill/kritzel-shape-fill";
|
|
50
51
|
import { ConfigurableTool, ToolDisplayValues } from "./interfaces/tool-config.interface";
|
|
@@ -61,6 +62,7 @@ export { KritzelLocale, KritzelTermKey, KritzelTermVars, LocaleCode } from "./in
|
|
|
61
62
|
export { IKritzelDialogCloseEvent, KritzelDialogCloseReason } from "./interfaces/dialog.interface";
|
|
62
63
|
export { DropdownOption } from "./components/shared/kritzel-dropdown/kritzel-dropdown";
|
|
63
64
|
export { KritzelDebugInfo } from "./interfaces/debug-info.interface";
|
|
65
|
+
export { IKritzelMenuItem, IKritzelMenuItemSelectEvent, IKritzelMenuItemToggleChildMenuEvent } from "./interfaces/menu-item.interface";
|
|
64
66
|
export { KritzelFontMap } from "./interfaces/font.interface";
|
|
65
67
|
export { KritzelSyncConfig } from "./interfaces/sync-config.interface";
|
|
66
68
|
export { KritzelAssetStorageConfig } from "./interfaces/asset-storage-config.interface";
|
|
@@ -73,6 +75,7 @@ export { IKritzelIsPublicChangedEvent } from "./interfaces/share.interface";
|
|
|
73
75
|
export { KritzelWorkspace } from "./classes/core/workspace.class";
|
|
74
76
|
export { KritzelBaseTool } from "./classes/tools/base-tool.class";
|
|
75
77
|
export { KritzelAlignment } from "./enums/alignment.enum";
|
|
78
|
+
export { KritzelObjectExportFormat } from "./interfaces/object-export.interface";
|
|
76
79
|
export { Element, Event } from "./stencil-public-runtime";
|
|
77
80
|
export { KritzelShortcut } from "./interfaces/shortcut.interface";
|
|
78
81
|
export { KritzelNotification } from "./interfaces/notification.interface";
|
|
@@ -87,7 +90,6 @@ export { FontOption } from "./components/shared/kritzel-font-family/kritzel-font
|
|
|
87
90
|
export { LineEndingType } from "./components/shared/kritzel-line-endings/kritzel-line-endings";
|
|
88
91
|
export { LineArrowConfig } from "./interfaces/arrow-head.interface";
|
|
89
92
|
export { IKritzelMasterDetailItem, IKritzelMasterDetailSelectEvent } from "./interfaces/master-detail.interface";
|
|
90
|
-
export { IKritzelMenuItem, IKritzelMenuItemSelectEvent, IKritzelMenuItemToggleChildMenuEvent } from "./interfaces/menu-item.interface";
|
|
91
93
|
export { KritzelPillTab } from "./components/shared/kritzel-pill-tabs/kritzel-pill-tabs";
|
|
92
94
|
export { ShapeFillType } from "./components/shared/kritzel-shape-fill/kritzel-shape-fill";
|
|
93
95
|
export { ConfigurableTool, ToolDisplayValues } from "./interfaces/tool-config.interface";
|
|
@@ -366,6 +368,7 @@ export namespace Components {
|
|
|
366
368
|
"beginSceneBootstrap": () => Promise<void>;
|
|
367
369
|
"bringForward": (object?: KritzelBaseObject<any>) => Promise<void>;
|
|
368
370
|
"bringToFront": (object?: KritzelBaseObject<any>) => Promise<void>;
|
|
371
|
+
"canExportSelectedObjectAs": (format: KritzelObjectExportFormat) => Promise<boolean>;
|
|
369
372
|
"centerAllObjects": (animate?: boolean) => Promise<boolean>;
|
|
370
373
|
"centerObjectInViewport": (object: KritzelBaseObject) => Promise<KritzelBaseObject<HTMLElement | SVGElement>>;
|
|
371
374
|
"centerObjects": (objects: KritzelBaseObject[], animate?: boolean) => Promise<boolean>;
|
|
@@ -406,8 +409,7 @@ export namespace Components {
|
|
|
406
409
|
"editorId"?: string;
|
|
407
410
|
"enable": () => Promise<void>;
|
|
408
411
|
"endSceneBootstrap": () => Promise<void>;
|
|
409
|
-
"
|
|
410
|
-
"exportSelectedObjectsAsSvg": () => Promise<void>;
|
|
412
|
+
"exportSelectedObject": (format: KritzelObjectExportFormat) => Promise<void>;
|
|
411
413
|
"exportViewportAsPng": (options?: { includeBackground?: boolean; }) => Promise<void>;
|
|
412
414
|
"exportViewportAsSvg": (options?: { includeBackground?: boolean; }) => Promise<void>;
|
|
413
415
|
/**
|
|
@@ -431,6 +433,7 @@ export namespace Components {
|
|
|
431
433
|
"getObjectsInViewport": () => Promise<KritzelBaseObject[]>;
|
|
432
434
|
"getObjectsTotalCount": () => Promise<number>;
|
|
433
435
|
"getScreenshot": (format?: "png" | "svg", options?: { includeBackground?: boolean; }) => Promise<string | null>;
|
|
436
|
+
"getSelectedObjectSupportedExportFormats": () => Promise<KritzelObjectExportFormat[]>;
|
|
434
437
|
"getSelectedObjects": () => Promise<KritzelBaseObject[]>;
|
|
435
438
|
"getViewport": () => Promise<KritzelViewportState>;
|
|
436
439
|
"getWorkspaces": () => Promise<KritzelWorkspace[]>;
|
|
@@ -502,7 +505,11 @@ export namespace Components {
|
|
|
502
505
|
*/
|
|
503
506
|
"loginConfig"?: KritzelLoginConfig;
|
|
504
507
|
/**
|
|
505
|
-
* @default [ {
|
|
508
|
+
* @default [ { id: 'share', label: 'menu.share', icon: 'share', isVisible: async () => hasRemoteSyncProvider(this.syncConfig), action: () => { if (!this.isLoggedIn && this.loginConfig) { this.openLoginDialog(); return; } this.shareDialogRef.open(); }, }, { id: 'export', label: 'menu.export', icon: 'upload', action: async () => { const preview = await this.engineRef.getScreenshot('png'); this.exportRef.open(preview ?? undefined); }, }, { id: 'import', label: 'menu.import', icon: 'download', action: () => this.engineRef.importFromFile(), }, { id: 'settings', label: 'menu.settings', icon: 'settings', action: () => this.settingsRef.open(), }, ]
|
|
509
|
+
*/
|
|
510
|
+
"moreMenuItems"?: IKritzelMenuItem[];
|
|
511
|
+
/**
|
|
512
|
+
* @default [ { label: 'menu.copy', icon: 'copy', group: 'clipboard', action: () => this.engineRef.copy() }, { label: 'menu.cut', icon: 'cut', group: 'clipboard', action: () => this.engineRef.cut() }, { label: 'menu.paste', icon: 'paste', group: 'clipboard', action: (menu, _) => this.engineRef.paste(menu.x, menu.y), }, { label: 'menu.export', icon: 'upload', group: 'clipboard', visible: (_, objects) => this.canExportObjects(objects), action: (_, objects) => { const format = this.getPreferredExportFormat(objects); if (!format) { return; } void this.engineRef.exportSelectedObject(format); }, }, { label: 'menu.order', icon: 'ordering', group: 'other', children: [ { label: 'menu.bringToFront', icon: 'bring-to-front', action: () => this.engineRef.bringToFront() }, { label: 'menu.sendToBack', icon: 'send-to-back', action: () => this.engineRef.sendToBack() }, { label: 'menu.moveUp', icon: 'arrow-up-from-dot', action: () => this.engineRef.bringForward() }, { label: 'menu.moveDown', icon: 'arrow-down-from-dot', action: () => this.engineRef.sendBackward() }, ], }, { label: 'menu.align', icon: 'align', group: 'other', children: [ { label: 'menu.alignLeft', icon: 'align-start-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.StartHorizontal) }, { label: 'menu.alignCenterHorizontal', icon: 'align-center-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterHorizontal) }, { label: 'menu.alignRight', icon: 'align-end-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.EndHorizontal) }, { label: 'menu.alignTop', icon: 'align-start-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.StartVertical) }, { label: 'menu.alignCenterVertical', icon: 'align-center-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterVertical) }, { label: 'menu.alignBottom', icon: 'align-end-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.EndVertical) }, ], }, { label: 'menu.group', icon: 'group', group: 'other', children: [ { label: 'menu.group', icon: 'group', action: () => this.engineRef.group(), }, { label: 'menu.ungroup', icon: 'ungroup', action: () => this.engineRef.ungroup(), }, ], }, { label: 'menu.delete', icon: 'delete', group: 'edit', action: () => this.engineRef.delete() }, ]
|
|
506
513
|
*/
|
|
507
514
|
"objectContextMenuItems": ContextMenuItem[];
|
|
508
515
|
"openContextMenu": (options: { x: number; y: number; objectId?: string; }) => Promise<void>;
|
|
@@ -638,6 +645,10 @@ export namespace Components {
|
|
|
638
645
|
* @param object - The object to move. If omitted, applies to the current selection.
|
|
639
646
|
*/
|
|
640
647
|
"bringToFront": (object?: KritzelBaseObject<any>) => Promise<void>;
|
|
648
|
+
/**
|
|
649
|
+
* Checks whether the currently selected object supports a specific export format. Returns false when none or multiple objects are selected.
|
|
650
|
+
*/
|
|
651
|
+
"canExportSelectedObjectAs": (format: KritzelObjectExportFormat) => Promise<boolean>;
|
|
641
652
|
/**
|
|
642
653
|
* Pans and zooms the viewport to fit ALL objects on the canvas, including those not currently rendered. Calculates the combined bounding box of all objects and centers the viewport to show them.
|
|
643
654
|
* @param animate - Whether to animate the viewport transition (default: true).
|
|
@@ -729,15 +740,9 @@ export namespace Components {
|
|
|
729
740
|
*/
|
|
730
741
|
"exportAsJson": () => Promise<string>;
|
|
731
742
|
/**
|
|
732
|
-
* Exports the currently selected
|
|
733
|
-
* @param options - Optional export settings (theme, padding, scale for resolution).
|
|
734
|
-
*/
|
|
735
|
-
"exportSelectedObjectsAsPng": (options?: { theme?: "light" | "dark"; padding?: number; scale?: number; }) => Promise<void>;
|
|
736
|
-
/**
|
|
737
|
-
* Exports the currently selected objects as an SVG file and triggers a browser download. Creates clean, standards-compliant SVG markup suitable for import into vector editors.
|
|
738
|
-
* @param options - Optional export settings (theme, padding).
|
|
743
|
+
* Exports the currently selected object in the requested format and triggers a file download. Only supports single selection.
|
|
739
744
|
*/
|
|
740
|
-
"
|
|
745
|
+
"exportSelectedObject": (format: KritzelObjectExportFormat) => Promise<void>;
|
|
741
746
|
/**
|
|
742
747
|
* Exports the current viewport as a PNG file and triggers a browser download.
|
|
743
748
|
* @param options - Optional export settings.
|
|
@@ -818,21 +823,13 @@ export namespace Components {
|
|
|
818
823
|
*/
|
|
819
824
|
"getScreenshot": (format?: "png" | "svg", options?: { includeBackground?: boolean; }) => Promise<string | null>;
|
|
820
825
|
/**
|
|
821
|
-
* Returns the currently selected
|
|
822
|
-
*/
|
|
823
|
-
"getSelectedObjects": () => Promise<KritzelBaseObject<any>[]>;
|
|
824
|
-
/**
|
|
825
|
-
* Generates a PNG data URL from the currently selected objects. Converts the SVG representation to a rasterized PNG image.
|
|
826
|
-
* @param options - Optional export settings (theme, padding, scale for resolution).
|
|
827
|
-
* @returns PNG data URL string, or null if no objects are selected.
|
|
826
|
+
* Returns export formats supported by the currently selected object. Only returns formats when exactly one object is selected.
|
|
828
827
|
*/
|
|
829
|
-
"
|
|
828
|
+
"getSelectedObjectSupportedExportFormats": () => Promise<KritzelObjectExportFormat[]>;
|
|
830
829
|
/**
|
|
831
|
-
*
|
|
832
|
-
* @param options - Optional export settings (theme, padding, raster-safe mode for canvas export).
|
|
833
|
-
* @returns SVG markup string, or null if no objects are selected.
|
|
830
|
+
* Returns the currently selected objects. Returns an empty array if nothing is selected.
|
|
834
831
|
*/
|
|
835
|
-
"
|
|
832
|
+
"getSelectedObjects": () => Promise<KritzelBaseObject<any>[]>;
|
|
836
833
|
/**
|
|
837
834
|
* Returns the current viewport state including position, scale, and dimensions.
|
|
838
835
|
* @returns The current viewport state.
|
|
@@ -3003,7 +3000,11 @@ declare namespace LocalJSX {
|
|
|
3003
3000
|
*/
|
|
3004
3001
|
"loginConfig"?: KritzelLoginConfig;
|
|
3005
3002
|
/**
|
|
3006
|
-
* @default [ {
|
|
3003
|
+
* @default [ { id: 'share', label: 'menu.share', icon: 'share', isVisible: async () => hasRemoteSyncProvider(this.syncConfig), action: () => { if (!this.isLoggedIn && this.loginConfig) { this.openLoginDialog(); return; } this.shareDialogRef.open(); }, }, { id: 'export', label: 'menu.export', icon: 'upload', action: async () => { const preview = await this.engineRef.getScreenshot('png'); this.exportRef.open(preview ?? undefined); }, }, { id: 'import', label: 'menu.import', icon: 'download', action: () => this.engineRef.importFromFile(), }, { id: 'settings', label: 'menu.settings', icon: 'settings', action: () => this.settingsRef.open(), }, ]
|
|
3004
|
+
*/
|
|
3005
|
+
"moreMenuItems"?: IKritzelMenuItem[];
|
|
3006
|
+
/**
|
|
3007
|
+
* @default [ { label: 'menu.copy', icon: 'copy', group: 'clipboard', action: () => this.engineRef.copy() }, { label: 'menu.cut', icon: 'cut', group: 'clipboard', action: () => this.engineRef.cut() }, { label: 'menu.paste', icon: 'paste', group: 'clipboard', action: (menu, _) => this.engineRef.paste(menu.x, menu.y), }, { label: 'menu.export', icon: 'upload', group: 'clipboard', visible: (_, objects) => this.canExportObjects(objects), action: (_, objects) => { const format = this.getPreferredExportFormat(objects); if (!format) { return; } void this.engineRef.exportSelectedObject(format); }, }, { label: 'menu.order', icon: 'ordering', group: 'other', children: [ { label: 'menu.bringToFront', icon: 'bring-to-front', action: () => this.engineRef.bringToFront() }, { label: 'menu.sendToBack', icon: 'send-to-back', action: () => this.engineRef.sendToBack() }, { label: 'menu.moveUp', icon: 'arrow-up-from-dot', action: () => this.engineRef.bringForward() }, { label: 'menu.moveDown', icon: 'arrow-down-from-dot', action: () => this.engineRef.sendBackward() }, ], }, { label: 'menu.align', icon: 'align', group: 'other', children: [ { label: 'menu.alignLeft', icon: 'align-start-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.StartHorizontal) }, { label: 'menu.alignCenterHorizontal', icon: 'align-center-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterHorizontal) }, { label: 'menu.alignRight', icon: 'align-end-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.EndHorizontal) }, { label: 'menu.alignTop', icon: 'align-start-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.StartVertical) }, { label: 'menu.alignCenterVertical', icon: 'align-center-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterVertical) }, { label: 'menu.alignBottom', icon: 'align-end-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.EndVertical) }, ], }, { label: 'menu.group', icon: 'group', group: 'other', children: [ { label: 'menu.group', icon: 'group', action: () => this.engineRef.group(), }, { label: 'menu.ungroup', icon: 'ungroup', action: () => this.engineRef.ungroup(), }, ], }, { label: 'menu.delete', icon: 'delete', group: 'edit', action: () => this.engineRef.delete() }, ]
|
|
3007
3008
|
*/
|
|
3008
3009
|
"objectContextMenuItems"?: ContextMenuItem[];
|
|
3009
3010
|
"onActiveWorkspaceChange"?: (event: KritzelEditorCustomEvent<ActiveWorkspaceChangeEvent>) => void;
|
|
@@ -2,4 +2,8 @@ export declare class ObjectHelper {
|
|
|
2
2
|
static generateUUID(length?: number): string;
|
|
3
3
|
static isEmpty(obj: any): boolean;
|
|
4
4
|
static isClass<T>(object: unknown, className: string): object is T;
|
|
5
|
+
static isKritzelExportable(object: unknown): object is {
|
|
6
|
+
getSupportedExportFormats(): string[];
|
|
7
|
+
exportAs(format: string, context: unknown): Promise<string | null>;
|
|
8
|
+
};
|
|
5
9
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -45,6 +45,7 @@ export * from './classes/registries/custom-element-renderer.registry';
|
|
|
45
45
|
export * from './classes/registries/font-registry.class';
|
|
46
46
|
export * from './interfaces/toolbar-control.interface';
|
|
47
47
|
export * from './interfaces/menu-item.interface';
|
|
48
|
+
export * from './interfaces/object-export.interface';
|
|
48
49
|
export * from './interfaces/object-change-event.interface';
|
|
49
50
|
export * from './interfaces/custom-element-renderer.interface';
|
|
50
51
|
export * from './interfaces/sync-provider.interface';
|