kritzel-stencil 0.3.8 → 0.3.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.
Files changed (182) hide show
  1. package/dist/cjs/index.cjs.js +2 -1
  2. package/dist/cjs/kritzel-active-users_42.cjs.entry.js +301 -126
  3. package/dist/cjs/kritzel-brush-style.cjs.entry.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{schema.constants-rCfWpcBV.js → schema.constants-BNMNpzvA.js} +77 -12
  6. package/dist/cjs/stencil.cjs.js +1 -1
  7. package/dist/collection/classes/core/core.class.js +3 -0
  8. package/dist/collection/classes/handlers/context-menu.handler.js +54 -0
  9. package/dist/collection/classes/managers/theme.manager.js +47 -5
  10. package/dist/collection/classes/objects/selection-box.class.js +2 -2
  11. package/dist/collection/classes/objects/selection-group.class.js +3 -3
  12. package/dist/collection/classes/objects/text.class.js +8 -0
  13. package/dist/collection/classes/registries/icon-registry.class.js +2 -1
  14. package/dist/collection/classes/tools/text-tool.class.js +2 -0
  15. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.js +1 -1
  16. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  17. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +168 -17
  18. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +83 -1
  19. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
  20. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +1 -1
  21. package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
  22. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +8 -8
  23. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +7 -7
  24. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +7 -7
  25. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  26. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +1 -1
  27. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  28. package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
  29. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.js +2 -2
  30. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
  31. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
  32. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
  33. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
  34. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +2 -1
  35. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.js +1 -1
  36. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
  37. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +2 -2
  38. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
  39. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
  40. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  41. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
  42. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
  43. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +94 -48
  44. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +1 -1
  45. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +15 -14
  46. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +1 -1
  47. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +1 -1
  48. package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
  49. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
  50. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +1 -1
  51. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +28 -9
  52. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
  53. package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.js +6 -6
  54. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  55. package/dist/collection/constants/color-palette.constants.js +4 -1
  56. package/dist/collection/constants/version.js +1 -1
  57. package/dist/collection/index.js +2 -0
  58. package/dist/collection/themes/dark-theme.js +4 -0
  59. package/dist/collection/themes/light-theme.js +4 -0
  60. package/dist/components/index.js +1 -1
  61. package/dist/components/kritzel-active-users.js +1 -1
  62. package/dist/components/kritzel-avatar.js +1 -1
  63. package/dist/components/kritzel-awareness-cursors.js +1 -1
  64. package/dist/components/kritzel-back-to-content.js +1 -1
  65. package/dist/components/kritzel-brush-style.js +1 -1
  66. package/dist/components/kritzel-button.js +1 -1
  67. package/dist/components/kritzel-color-palette.js +1 -1
  68. package/dist/components/kritzel-color.js +1 -1
  69. package/dist/components/kritzel-context-menu.js +1 -1
  70. package/dist/components/kritzel-controls.js +1 -1
  71. package/dist/components/kritzel-current-user-dialog.js +1 -1
  72. package/dist/components/kritzel-current-user.js +1 -1
  73. package/dist/components/kritzel-cursor-trail.js +1 -1
  74. package/dist/components/kritzel-dropdown.js +1 -1
  75. package/dist/components/kritzel-editor.js +1 -1
  76. package/dist/components/kritzel-engine.js +1 -1
  77. package/dist/components/kritzel-export.js +1 -1
  78. package/dist/components/kritzel-font-family.js +1 -1
  79. package/dist/components/kritzel-font-size.js +1 -1
  80. package/dist/components/kritzel-font.js +1 -1
  81. package/dist/components/kritzel-icon.js +1 -1
  82. package/dist/components/kritzel-input.js +1 -1
  83. package/dist/components/kritzel-line-endings.js +1 -1
  84. package/dist/components/kritzel-login-dialog.js +1 -1
  85. package/dist/components/kritzel-master-detail.js +1 -1
  86. package/dist/components/kritzel-menu-item.js +1 -1
  87. package/dist/components/kritzel-menu.js +1 -1
  88. package/dist/components/kritzel-more-menu.js +1 -1
  89. package/dist/components/kritzel-numeric-input.js +1 -1
  90. package/dist/components/kritzel-opacity-slider.js +1 -1
  91. package/dist/components/kritzel-pill-tabs.js +1 -1
  92. package/dist/components/kritzel-portal.js +1 -1
  93. package/dist/components/kritzel-settings.js +1 -1
  94. package/dist/components/kritzel-shape-fill.js +1 -1
  95. package/dist/components/kritzel-share-dialog.js +1 -1
  96. package/dist/components/kritzel-slide-toggle.js +1 -1
  97. package/dist/components/kritzel-split-button.js +1 -1
  98. package/dist/components/kritzel-stroke-size.js +1 -1
  99. package/dist/components/kritzel-tool-config.js +1 -1
  100. package/dist/components/kritzel-tooltip.js +1 -1
  101. package/dist/components/kritzel-utility-panel.js +1 -1
  102. package/dist/components/kritzel-workspace-manager.js +1 -1
  103. package/dist/components/{p-CJjwjpMH.js → p-BFgWBbpu.js} +1 -1
  104. package/dist/components/{p-CqAkznU_.js → p-BI_UUiTr.js} +1 -1
  105. package/dist/components/p-BPEn0_hr.js +1 -0
  106. package/dist/components/{p-Cz2gQKbL.js → p-B_JH91jB.js} +1 -1
  107. package/dist/components/{p-BV3EJRtU.js → p-Bp3kdH4l.js} +1 -1
  108. package/dist/components/p-C0wFAtT_.js +1 -0
  109. package/dist/components/p-C8ggg-5h.js +1 -0
  110. package/dist/components/{p-B638ZH7S.js → p-CARNM9pf.js} +1 -1
  111. package/dist/components/p-CB7ynHtI.js +1 -0
  112. package/dist/components/{p-DDBaFNFi.js → p-CJ2V42sz.js} +1 -1
  113. package/dist/components/{p-A7Ult9iv.js → p-CJERvHdy.js} +1 -1
  114. package/dist/components/{p-CrSLn46K.js → p-CKY7AvGR.js} +1 -1
  115. package/dist/components/{p-C4vg_-vg.js → p-COIxq81R.js} +1 -1
  116. package/dist/components/p-CT2IjyIk.js +1 -0
  117. package/dist/components/{p-B5a3arJg.js → p-CWgI1dA0.js} +1 -1
  118. package/dist/components/{p-0cs6zQLB.js → p-CYR9wbJg.js} +1 -1
  119. package/dist/components/{p-CrmWVXea.js → p-Cr7xOsIZ.js} +1 -1
  120. package/dist/components/{p-qBqQhAmh.js → p-CxtTuKCy.js} +1 -1
  121. package/dist/components/{p-DEd2L0e3.js → p-D0aom7Yu.js} +1 -1
  122. package/dist/components/{p-DwHZN643.js → p-D15NO5kE.js} +1 -1
  123. package/dist/components/p-DH-H7om7.js +1 -0
  124. package/dist/components/{p-PMiFTdm6.js → p-DJLJfKY2.js} +1 -1
  125. package/dist/components/{p-W0nK9EQJ.js → p-DLlIaDNn.js} +2 -2
  126. package/dist/components/{p-DXO_ppUK.js → p-DRB3TZzI.js} +1 -1
  127. package/dist/components/{p-CaKSDRid.js → p-DXgUuzXW.js} +1 -1
  128. package/dist/components/{p-ihbmwmHg.js → p-DdmJquQr.js} +1 -1
  129. package/dist/components/{p-Czaea0WP.js → p-DfH7YY2C.js} +1 -1
  130. package/dist/components/{p-CTj2UdbS.js → p-DgtrNOWm.js} +1 -1
  131. package/dist/components/{p-D6KNaj_Y.js → p-DhAM4qeQ.js} +1 -1
  132. package/dist/components/{p-DMfU0hHe.js → p-DmTG0Y5h.js} +1 -1
  133. package/dist/components/{p-BMsKd6TF.js → p-Dov3qOAR.js} +1 -1
  134. package/dist/components/{p-CvCTQQcJ.js → p-Dw9sKOsb.js} +1 -1
  135. package/dist/components/{p-CSODtZrV.js → p-Dx_xz_El.js} +1 -1
  136. package/dist/components/{p-BVEYAGm1.js → p-IiG44Unz.js} +1 -1
  137. package/dist/components/{p-DsxW_miC.js → p-K7ySy791.js} +1 -1
  138. package/dist/components/{p-Bda1I4pR.js → p-KVG5rztB.js} +1 -1
  139. package/dist/components/{p-C_OSXZqJ.js → p-KjtNlFTl.js} +1 -1
  140. package/dist/components/{p-DVEfOb8T.js → p-RnuCSIt-.js} +1 -1
  141. package/dist/components/{p-Z9_amVdR.js → p-ZgZqbJ58.js} +1 -1
  142. package/dist/components/{p-C4bAtxyk.js → p-guqEWGgV.js} +1 -1
  143. package/dist/components/{p-DemKKw9U.js → p-u0b2RJAn.js} +1 -1
  144. package/dist/components/{p-BLjdzUzs.js → p-x38RbGJA.js} +1 -1
  145. package/dist/esm/index.js +2 -2
  146. package/dist/esm/kritzel-active-users_42.entry.js +301 -126
  147. package/dist/esm/kritzel-brush-style.entry.js +1 -1
  148. package/dist/esm/loader.js +1 -1
  149. package/dist/esm/{schema.constants-cuIrI5X8.js → schema.constants-CqBoZbmA.js} +77 -13
  150. package/dist/esm/stencil.js +1 -1
  151. package/dist/stencil/index.esm.js +1 -1
  152. package/dist/stencil/p-3372fb1e.entry.js +9 -0
  153. package/dist/stencil/{p-10c2b77c.entry.js → p-69298b5f.entry.js} +1 -1
  154. package/dist/stencil/p-CqBoZbmA.js +1 -0
  155. package/dist/stencil/stencil.esm.js +1 -1
  156. package/dist/types/classes/handlers/context-menu.handler.d.ts +14 -0
  157. package/dist/types/classes/managers/theme.manager.d.ts +22 -2
  158. package/dist/types/classes/objects/text.class.d.ts +1 -0
  159. package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +14 -2
  160. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +18 -1
  161. package/dist/types/components/shared/kritzel-color/kritzel-color.d.ts +3 -2
  162. package/dist/types/components/shared/kritzel-color-palette/kritzel-color-palette.d.ts +3 -2
  163. package/dist/types/components/ui/kritzel-context-menu/kritzel-context-menu.d.ts +9 -3
  164. package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +2 -2
  165. package/dist/types/components/ui/kritzel-settings/kritzel-settings.d.ts +2 -1
  166. package/dist/types/components/ui/kritzel-tool-config/kritzel-tool-config.d.ts +3 -2
  167. package/dist/types/components.d.ts +61 -18
  168. package/dist/types/constants/color-palette.constants.d.ts +4 -2
  169. package/dist/types/constants/version.d.ts +1 -1
  170. package/dist/types/helpers/color.helper.d.ts +4 -3
  171. package/dist/types/helpers/svg-export.helper.d.ts +3 -3
  172. package/dist/types/index.d.ts +2 -0
  173. package/dist/types/interfaces/theme.interface.d.ts +7 -3
  174. package/package.json +1 -1
  175. package/dist/components/p-B8wX0-3H.js +0 -1
  176. package/dist/components/p-BvgGpgKP.js +0 -1
  177. package/dist/components/p-C-sJ1r3g.js +0 -1
  178. package/dist/components/p-CBTqCoUx.js +0 -1
  179. package/dist/components/p-DdlK75Kx.js +0 -1
  180. package/dist/components/p-DjAiIBXv.js +0 -1
  181. package/dist/stencil/p-9ce67a14.entry.js +0 -9
  182. package/dist/stencil/p-cuIrI5X8.js +0 -1
@@ -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-9ce67a14",[[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],"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],"currentTheme":[32],"shortcuts":[32],"currentIsPublic":[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],"downloadAsJson":[64],"importFromFile":[64],"loadObjectsFromJson":[64],"getObjectsTotalCount":[64],"getAllObjects":[64],"findObjects":[64],"getCopiedObjects":[64],"getObjectsInViewport":[64],"hideContextMenu":[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}],"currentTheme":[{"onCurrentThemeChange":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-export",{"workspaceName":[1,"workspace-name"],"isDialogOpen":[32],"previewUrl":[32],"isLoading":[32],"activeTab":[32],"exportFilename":[32],"viewportExportFormat":[32],"open":[64]}],[513,"kritzel-settings",{"shortcuts":[16],"settings":[16],"isDialogOpen":[32],"selectedCategoryId":[32],"scaleMin":[32],"scaleMax":[32],"lockDrawingScale":[32],"currentTheme":[32],"viewportBoundaryLeft":[32],"viewportBoundaryRight":[32],"viewportBoundaryTop":[32],"viewportBoundaryBottom":[32],"debugInfo":[32],"open":[64]},null,{"settings":[{"onSettingsPropChange":0}]}],[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],"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],"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}],"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],"openSubmenuIndex":[32],"submenuPosition":[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-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}]}],[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}]}],[513,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["p-10c2b77c",[[513,"kritzel-brush-style",{"type":[1],"brushOptions":[16]}]]]]'),e))));
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-3372fb1e",[[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))));
@@ -37,4 +37,18 @@ export declare class KritzelContextMenuHandler extends KritzelBaseHandler {
37
37
  * @returns void - This method does not return a value; it updates state and triggers a rerender.
38
38
  */
39
39
  handleContextMenu(event: PointerEvent): void;
40
+ /**
41
+ * Programmatically opens the context menu at a specified world-coordinate position.
42
+ * If an objectId is provided and found, the object context menu is shown for that object.
43
+ * If no objectId is provided but a selection group exists, the object context menu is shown.
44
+ * Otherwise, the global context menu is shown.
45
+ * @param options.x - The X position in world (canvas) coordinates.
46
+ * @param options.y - The Y position in world (canvas) coordinates.
47
+ * @param options.objectId - Optional ID of an object to select and show the object context menu for.
48
+ */
49
+ open(options: {
50
+ x: number;
51
+ y: number;
52
+ objectId?: string;
53
+ }): void;
40
54
  }
@@ -15,6 +15,7 @@ export declare class KritzelThemeManager {
15
15
  private _currentTheme;
16
16
  private _targetElement;
17
17
  private readonly _storageKey;
18
+ private _themeRegistry;
18
19
  /**
19
20
  * Creates a new KritzelThemeManager instance.
20
21
  * Initializes the current theme from the settings object in localStorage or uses the default theme.
@@ -43,12 +44,31 @@ export declare class KritzelThemeManager {
43
44
  getTargetElement(): HTMLElement | null;
44
45
  /**
45
46
  * Gets the theme configuration object by its name.
46
- * Returns the corresponding theme object containing all CSS variable values.
47
+ * Falls back to the first registered theme if the requested name is not found.
47
48
  *
48
- * @param themeName - The name of the theme to retrieve ('light' or 'dark')
49
+ * @param themeName - The name of the theme to retrieve
49
50
  * @returns The KritzelTheme object containing all theme CSS variable values
50
51
  */
51
52
  getThemeByName(themeName: ThemeName): KritzelTheme;
53
+ /**
54
+ * Registers the provided themes to this theme manager instance.
55
+ *
56
+ * @param themes - The complete list of themes to make available
57
+ */
58
+ registerThemes(themes: KritzelTheme[]): void;
59
+ /**
60
+ * Pre-emptively applies the stored theme's CSS variables to the closest editor or document.
61
+ * This prevents a "Flash of Unstyled Content" (FOUC) while Stencil web components are hydrating.
62
+ *
63
+ * @param element - The HTML element to apply the theme to
64
+ */
65
+ injectThemeEarly(element?: HTMLElement): void;
66
+ /**
67
+ * Gets all registered themes.
68
+ *
69
+ * @returns An array of all registered theme objects
70
+ */
71
+ getAllThemes(): KritzelTheme[];
52
72
  /**
53
73
  * Gets the stored theme name from the settings object in localStorage using this instance's namespaced key.
54
74
  *
@@ -18,6 +18,7 @@ export declare class KritzelText extends KritzelBaseObject<HTMLDivElement> {
18
18
  isDebugInfoVisible: boolean;
19
19
  isEditable: boolean;
20
20
  isEditing: boolean;
21
+ isNewlyCreated: boolean;
21
22
  editor: EditorView | null;
22
23
  content: any;
23
24
  private readonly _schema;
@@ -12,7 +12,7 @@ import { KritzelAssetStorageConfig } from '../../../interfaces/asset-storage-con
12
12
  import { KritzelBaseTool } from '../../../classes/tools/base-tool.class';
13
13
  import { KritzelBrushToolConfig, KritzelLineToolConfig, KritzelShapeToolConfig, KritzelTextToolConfig } from '../../../interfaces/toolbar-control.interface';
14
14
  import { ActiveWorkspaceChangeEvent, EditorIsReadyEvent, KritzelUndoState } from '../../..';
15
- import { ThemeName } from '../../../interfaces/theme.interface';
15
+ import { ThemeName, KritzelTheme } from '../../../interfaces/theme.interface';
16
16
  import { KritzelShortcut } from '../../../interfaces/shortcut.interface';
17
17
  import { KritzelViewportState } from '../../../interfaces/viewport-state.interface';
18
18
  import { ObjectsAddedEvent, ObjectsRemovedEvent, ObjectsUpdatedEvent } from '../../../interfaces/object-change-event.interface';
@@ -36,6 +36,8 @@ export declare class KritzelEditor {
36
36
  controls: KritzelToolbarControl[];
37
37
  globalContextMenuItems: ContextMenuItem[];
38
38
  objectContextMenuItems: ContextMenuItem[];
39
+ themes?: KritzelTheme[];
40
+ theme: ThemeName;
39
41
  customSvgIcons: Record<string, string>;
40
42
  isControlsVisible: boolean;
41
43
  isUtilityPanelVisible: boolean;
@@ -74,15 +76,16 @@ export declare class KritzelEditor {
74
76
  isVirtualKeyboardOpen: boolean;
75
77
  undoState: KritzelUndoState | null;
76
78
  isBackToContentButtonVisible: boolean;
77
- currentTheme: ThemeName;
78
79
  shortcuts: Omit<KritzelShortcut, 'action' | 'condition'>[];
79
80
  currentIsPublic: boolean;
81
+ isEditorVisible: boolean;
80
82
  onIsEngineReady(newValue: boolean): void;
81
83
  onIsControlsReady(newValue: boolean): void;
82
84
  onWorkspacesChange(newWorkspaces: KritzelWorkspace[]): void;
83
85
  onActiveWorkspaceChange(): void;
84
86
  onActiveWorkspaceIdChange(newId?: string): void;
85
87
  onCurrentThemeChange(): void;
88
+ onThemesChange(): void;
86
89
  onTouchStart(event: MouseEvent): void;
87
90
  getObjectById<T extends KritzelBaseObject>(id: string): Promise<T | null>;
88
91
  addObject<T extends KritzelBaseObject>(object: T): Promise<T | null>;
@@ -135,6 +138,8 @@ export declare class KritzelEditor {
135
138
  getScreenshot(format?: 'png' | 'svg'): Promise<string | null>;
136
139
  exportViewportAsPng(): Promise<void>;
137
140
  exportViewportAsSvg(): Promise<void>;
141
+ exportSelectedObjectsAsPng(): Promise<void>;
142
+ exportSelectedObjectsAsSvg(): Promise<void>;
138
143
  downloadAsJson(filename?: string): Promise<void>;
139
144
  importFromFile(): Promise<void>;
140
145
  loadObjectsFromJson(json: string): Promise<number>;
@@ -144,6 +149,11 @@ export declare class KritzelEditor {
144
149
  getCopiedObjects(): Promise<KritzelBaseObject[]>;
145
150
  getObjectsInViewport(): Promise<KritzelBaseObject[]>;
146
151
  hideContextMenu(): Promise<void>;
152
+ openContextMenu(options: {
153
+ x: number;
154
+ y: number;
155
+ objectId?: string;
156
+ }): Promise<void>;
147
157
  triggerSelectionChange(): Promise<void>;
148
158
  getDisplayableShortcuts(): Promise<Omit<KritzelShortcut, 'action' | 'condition'>[]>;
149
159
  engineRef: HTMLKritzelEngineElement;
@@ -154,6 +164,8 @@ export declare class KritzelEditor {
154
164
  shareDialogRef: HTMLKritzelShareDialogElement;
155
165
  loginDialogRef: HTMLKritzelLoginDialogElement;
156
166
  componentWillLoad(): void;
167
+ private applyTheme;
168
+ private resolveThemeObject;
157
169
  componentDidLoad(): void;
158
170
  checkIsReady(): Promise<void>;
159
171
  onEngineReady(event: CustomEvent<KritzelEngineState>): Promise<void>;
@@ -14,7 +14,7 @@ import { KritzelCore } from '../../../classes/core/core.class';
14
14
  import { KritzelSyncConfig } from '../../../interfaces/sync-config.interface';
15
15
  import { KritzelAssetStorageConfig } from '../../../interfaces/asset-storage-config.interface';
16
16
  import { KritzelUndoState } from '../../../interfaces/undo-state.interface';
17
- import { ThemeName } from '../../../interfaces/theme.interface';
17
+ import { KritzelTheme, ThemeName } from '../../../interfaces/theme.interface';
18
18
  import { KritzelShortcut } from '../../../interfaces/shortcut.interface';
19
19
  import { KritzelAlignment } from '../../../enums/alignment.enum';
20
20
  import { KritzelViewportState } from '../../../interfaces/viewport-state.interface';
@@ -66,6 +66,9 @@ export declare class KritzelEngine {
66
66
  /** The current theme to apply to the editor */
67
67
  theme: ThemeName;
68
68
  onThemeChange(newValue: ThemeName): void;
69
+ /** An array of available themes for the editor. */
70
+ themes?: KritzelTheme[];
71
+ onThemesChange(newValue?: KritzelTheme[]): void;
69
72
  /** Left boundary of the viewport in world coordinates. Objects beyond this X position cannot be panned to. */
70
73
  viewportBoundaryLeft: number;
71
74
  onViewportBoundaryLeftChange(newValue: number): void;
@@ -209,6 +212,20 @@ export declare class KritzelEngine {
209
212
  redo(): Promise<void>;
210
213
  /** Hides the context menu and resets any associated selection state. */
211
214
  hideContextMenu(): Promise<void>;
215
+ /**
216
+ * Programmatically opens the context menu at a specified world-coordinate position.
217
+ * If `objectId` is provided and found, the object context menu is shown for that object.
218
+ * If no `objectId` is provided but a selection group already exists, the object context menu is shown.
219
+ * Otherwise, the global context menu is shown.
220
+ * @param options.x - The X position in world (canvas) coordinates.
221
+ * @param options.y - The Y position in world (canvas) coordinates.
222
+ * @param options.objectId - Optional ID of an object to select and show the object context menu for.
223
+ */
224
+ openContextMenu(options: {
225
+ x: number;
226
+ y: number;
227
+ objectId?: string;
228
+ }): Promise<void>;
212
229
  /**
213
230
  * Retrieves a canvas object by its unique ID.
214
231
  * @param id - The object's unique identifier.
@@ -1,7 +1,8 @@
1
- import { ThemeAwareColor, ThemeMode } from '../../../constants/color-palette.constants';
1
+ import { ThemeAwareColor } from '../../../constants/color-palette.constants';
2
+ import { ThemeName } from '../../../interfaces/theme.interface';
2
3
  export declare class KritzelColorComponent {
3
4
  value: string | ThemeAwareColor;
4
- theme: ThemeMode;
5
+ theme: ThemeName;
5
6
  size: number;
6
7
  private resolveColor;
7
8
  private isLightColor;
@@ -1,12 +1,13 @@
1
1
  import { EventEmitter } from '../../../stencil-public-runtime';
2
- import { ThemeAwareColor, ThemeMode } from '../../../constants/color-palette.constants';
2
+ import { ThemeAwareColor } from '../../../constants/color-palette.constants';
3
+ import { ThemeName } from '../../../interfaces/theme.interface';
3
4
  export declare class KritzelColorPalette {
4
5
  colors: ThemeAwareColor[];
5
6
  selectedColor: ThemeAwareColor | null;
6
7
  isExpanded: boolean;
7
8
  isOpaque: boolean;
8
9
  opacity: number;
9
- theme: ThemeMode;
10
+ theme: ThemeName;
10
11
  colorChange: EventEmitter<ThemeAwareColor>;
11
12
  private handleColorClick;
12
13
  private handleKeyDown;
@@ -9,8 +9,9 @@ export declare class KritzelContextMenu {
9
9
  actionSelected: EventEmitter<ContextMenuItem>;
10
10
  close: EventEmitter<void>;
11
11
  private processedItems;
12
- private openSubmenuIndex;
13
- private submenuPosition;
12
+ /** Current open submenu path (e.g. '0.2.1'). Empty if none. */
13
+ private openSubmenuPath;
14
+ private submenuPositions;
14
15
  private submenuTimer;
15
16
  private submenuRefs;
16
17
  private menuItemWrapperRefs;
@@ -20,7 +21,11 @@ export declare class KritzelContextMenu {
20
21
  componentDidUpdate(): void;
21
22
  disconnectedCallback(): void;
22
23
  private adjustPositionToViewport;
23
- private adjustSubmenuPosition;
24
+ private adjustSubmenuPositions;
25
+ private getOpenSubmenuPaths;
26
+ private isSubmenuOpen;
27
+ private getParentPath;
28
+ private pruneStaleRefs;
24
29
  private handleItemClick;
25
30
  private handleItemMouseEnter;
26
31
  private handleSubmenuMouseEnter;
@@ -28,6 +33,7 @@ export declare class KritzelContextMenu {
28
33
  private updateMenuItems;
29
34
  private processItems;
30
35
  private evaluateProperty;
36
+ private renderItems;
31
37
  private renderSubmenu;
32
38
  render(): any;
33
39
  }
@@ -6,7 +6,7 @@ import { KritzelTextTool } from '../../../classes/tools/text-tool.class';
6
6
  import { KritzelToolbarControl, KritzelToolbarSubOption } from '../../../interfaces/toolbar-control.interface';
7
7
  import { KritzelUndoState } from '../../../interfaces/undo-state.interface';
8
8
  import { ToolDisplayValues } from '../../../interfaces/tool-config.interface';
9
- import { ThemeMode } from '../../../constants/color-palette.constants';
9
+ import { ThemeName } from '../../../interfaces/theme.interface';
10
10
  type ToolConfig = Record<string, any>;
11
11
  export declare class KritzelControls {
12
12
  host: HTMLElement;
@@ -14,7 +14,7 @@ export declare class KritzelControls {
14
14
  activeControl: KritzelToolbarControl | null;
15
15
  isUtilityPanelVisible: boolean;
16
16
  undoState: KritzelUndoState;
17
- theme: ThemeMode;
17
+ theme: ThemeName;
18
18
  isControlsReady: EventEmitter<void>;
19
19
  firstConfig: ToolConfig | null;
20
20
  isTouchDevice: boolean;
@@ -6,6 +6,7 @@ import { KritzelShortcut } from '../../../interfaces/shortcut.interface';
6
6
  export declare class KritzelSettings {
7
7
  host: HTMLElement;
8
8
  /** Keyboard shortcuts to display in the settings dialog */
9
+ availableThemes: string[];
9
10
  shortcuts: Omit<KritzelShortcut, 'action' | 'condition'>[];
10
11
  /** Current settings values. Used to initialize and sync the component's internal state. */
11
12
  settings?: Partial<KritzelSettingsConfig>;
@@ -15,7 +16,7 @@ export declare class KritzelSettings {
15
16
  scaleMin: number;
16
17
  scaleMax: number;
17
18
  lockDrawingScale: boolean;
18
- currentTheme: ThemeName;
19
+ theme: ThemeName;
19
20
  viewportBoundaryLeft: number;
20
21
  viewportBoundaryRight: number;
21
22
  viewportBoundaryTop: number;
@@ -1,11 +1,12 @@
1
1
  import { EventEmitter } from '../../../stencil-public-runtime';
2
2
  import { ConfigurableTool, ToolConfigDefinition, ToolDisplayValues } from '../../../interfaces/tool-config.interface';
3
- import { ThemeAwareColor, ThemeMode } from '../../../constants/color-palette.constants';
3
+ import { ThemeAwareColor } from '../../../constants/color-palette.constants';
4
+ import { ThemeName } from '../../../interfaces/theme.interface';
4
5
  export declare class KritzelToolConfig {
5
6
  tool: ConfigurableTool;
6
7
  handleToolChange(newTool: ConfigurableTool, oldTool: ConfigurableTool): void;
7
8
  isExpanded: boolean;
8
- theme: ThemeMode;
9
+ theme: ThemeName;
9
10
  engine: HTMLElement;
10
11
  private handleSelectionChangeBound;
11
12
  onThemeChange(): void;