kritzel-stencil 0.0.130 → 0.0.131
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-CfXjPLHb.js → index-BwINBV6L.js} +216 -166
- package/dist/cjs/index-BwINBV6L.js.map +1 -0
- package/dist/cjs/{index-CUSIflVf.js → index-nzUNdMPh.js} +41 -15
- package/dist/cjs/index-nzUNdMPh.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/kritzel-brush-style_23.cjs.entry.js +570 -527
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +2 -2
- package/dist/cjs/stencil.cjs.js.map +1 -1
- package/dist/collection/classes/commands/add-object.command.js +1 -0
- package/dist/collection/classes/commands/add-object.command.js.map +1 -1
- package/dist/collection/classes/commands/add-selection-group.command.js +1 -0
- package/dist/collection/classes/commands/add-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/base.command.js +4 -2
- package/dist/collection/classes/commands/base.command.js.map +1 -1
- package/dist/collection/classes/commands/batch.command.js +1 -0
- package/dist/collection/classes/commands/batch.command.js.map +1 -1
- package/dist/collection/classes/commands/move-selection-group.command.js +6 -0
- package/dist/collection/classes/commands/move-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/remove-object.command.js +1 -0
- package/dist/collection/classes/commands/remove-object.command.js.map +1 -1
- package/dist/collection/classes/commands/remove-selection-group.command.js +2 -1
- package/dist/collection/classes/commands/remove-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/resize-selection-group.command.js +3 -0
- package/dist/collection/classes/commands/resize-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/rotate-selection-group.command.js +3 -0
- package/dist/collection/classes/commands/rotate-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/update-object.command.js +3 -0
- package/dist/collection/classes/commands/update-object.command.js.map +1 -1
- package/dist/collection/classes/commands/update-viewport.command.js +2 -0
- package/dist/collection/classes/commands/update-viewport.command.js.map +1 -1
- package/dist/collection/classes/database.class.js +6 -5
- package/dist/collection/classes/database.class.js.map +1 -1
- package/dist/collection/classes/handlers/base.handler.js +1 -0
- package/dist/collection/classes/handlers/base.handler.js.map +1 -1
- package/dist/collection/classes/handlers/context-menu.handler.js +2 -2
- package/dist/collection/classes/handlers/context-menu.handler.js.map +1 -1
- package/dist/collection/classes/handlers/move.handler.js +8 -3
- package/dist/collection/classes/handlers/move.handler.js.map +1 -1
- package/dist/collection/classes/handlers/resize.handler.js +6 -6
- package/dist/collection/classes/handlers/resize.handler.js.map +1 -1
- package/dist/collection/classes/handlers/rotation.handler.js +2 -2
- package/dist/collection/classes/handlers/rotation.handler.js.map +1 -1
- package/dist/collection/classes/handlers/selection.handler.js +5 -3
- package/dist/collection/classes/handlers/selection.handler.js.map +1 -1
- package/dist/collection/classes/history.class.js +4 -0
- package/dist/collection/classes/history.class.js.map +1 -1
- package/dist/collection/classes/objects/base-object.class.js +28 -15
- package/dist/collection/classes/objects/base-object.class.js.map +1 -1
- package/dist/collection/classes/objects/custom-element.class.js +3 -2
- package/dist/collection/classes/objects/custom-element.class.js.map +1 -1
- package/dist/collection/classes/objects/image.class.js +12 -12
- package/dist/collection/classes/objects/image.class.js.map +1 -1
- package/dist/collection/classes/objects/path.class.js +29 -27
- package/dist/collection/classes/objects/path.class.js.map +1 -1
- package/dist/collection/classes/objects/selection-box.class.js +2 -5
- package/dist/collection/classes/objects/selection-box.class.js.map +1 -1
- package/dist/collection/classes/objects/selection-group.class.js +7 -6
- package/dist/collection/classes/objects/selection-group.class.js.map +1 -1
- package/dist/collection/classes/objects/text.class.js +11 -11
- package/dist/collection/classes/objects/text.class.js.map +1 -1
- package/dist/collection/classes/registries/icon-registry.class.js +1 -1
- package/dist/collection/classes/registries/icon-registry.class.js.map +1 -1
- package/dist/collection/classes/registries/tool.registry.js +1 -1
- package/dist/collection/classes/registries/tool.registry.js.map +1 -1
- package/dist/collection/classes/reviver.class.js +1 -0
- package/dist/collection/classes/reviver.class.js.map +1 -1
- package/dist/collection/classes/store.class.js +9 -8
- package/dist/collection/classes/store.class.js.map +1 -1
- package/dist/collection/classes/structures/circular-buffer.structure.js +5 -3
- package/dist/collection/classes/structures/circular-buffer.structure.js.map +1 -1
- package/dist/collection/classes/structures/object-map.structure.js +1 -0
- package/dist/collection/classes/structures/object-map.structure.js.map +1 -1
- package/dist/collection/classes/tools/base-tool.class.js +3 -2
- package/dist/collection/classes/tools/base-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/brush-tool.class.js +7 -7
- package/dist/collection/classes/tools/brush-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/eraser-tool.class.js +2 -3
- package/dist/collection/classes/tools/eraser-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/image-tool.class.js +3 -4
- package/dist/collection/classes/tools/image-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/selection-tool.class.js +12 -9
- package/dist/collection/classes/tools/selection-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/text-tool.class.js +26 -27
- package/dist/collection/classes/tools/text-tool.class.js.map +1 -1
- package/dist/collection/classes/viewport.class.js +4 -3
- package/dist/collection/classes/viewport.class.js.map +1 -1
- package/dist/collection/classes/workspace.class.js +5 -0
- package/dist/collection/classes/workspace.class.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +6 -6
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js.map +1 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +91 -87
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +135 -146
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +6 -7
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js.map +1 -1
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -3
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js.map +1 -1
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +5 -6
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js.map +1 -1
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +44 -40
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js.map +1 -1
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js +3 -5
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js.map +1 -1
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +17 -17
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js.map +1 -1
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +4 -5
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js.map +1 -1
- package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js +3 -3
- package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js.map +1 -1
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +1 -1
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +34 -28
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js.map +1 -1
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +7 -0
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +37 -31
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js.map +1 -1
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +18 -19
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js.map +1 -1
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +16 -16
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +56 -47
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js.map +1 -1
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +3 -4
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js.map +1 -1
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +9 -10
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js.map +1 -1
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +5 -3
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js.map +1 -1
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +4 -4
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js.map +1 -1
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +3 -3
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js.map +1 -1
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +23 -30
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js.map +1 -1
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +3 -0
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js.map +1 -1
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +17 -15
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js.map +1 -1
- package/dist/collection/helpers/event.helper.js +2 -2
- package/dist/collection/helpers/event.helper.js.map +1 -1
- package/dist/collection/helpers/html.helper.js +1 -2
- package/dist/collection/helpers/html.helper.js.map +1 -1
- package/dist/collection/helpers/object.helper.js +2 -14
- package/dist/collection/helpers/object.helper.js.map +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/components/index.js +4 -3
- package/dist/components/index.js.map +1 -1
- package/dist/components/kritzel-brush-style.js +1 -1
- package/dist/components/kritzel-color-palette.js +1 -1
- package/dist/components/kritzel-color.js +1 -1
- package/dist/components/kritzel-context-menu.js +1 -1
- package/dist/components/kritzel-control-brush-config.js +1 -1
- package/dist/components/kritzel-control-text-config.js +1 -1
- package/dist/components/kritzel-controls.js +1 -1
- package/dist/components/kritzel-cursor-trail.js +1 -1
- package/dist/components/kritzel-dropdown.js +1 -1
- package/dist/components/kritzel-editor.js +115 -110
- package/dist/components/kritzel-editor.js.map +1 -1
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-font-family.js +1 -1
- package/dist/components/kritzel-font-size.js +1 -1
- package/dist/components/kritzel-font.js +1 -1
- package/dist/components/kritzel-icon.js +1 -1
- package/dist/components/kritzel-menu-item.js +1 -1
- package/dist/components/kritzel-menu.js +1 -1
- package/dist/components/kritzel-portal.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-tooltip.js +1 -1
- package/dist/components/kritzel-utility-panel.js +1 -1
- package/dist/components/kritzel-workspace-manager.js +1 -1
- package/dist/components/{p-BU2q3PRS.js → p-B1BLgWL1.js} +9 -6
- package/dist/components/p-B1BLgWL1.js.map +1 -0
- package/dist/components/{p-5CJxFNEE.js → p-BB0_-X42.js} +5 -4
- package/dist/components/p-BB0_-X42.js.map +1 -0
- package/dist/components/{p-D_Uh-xv_.js → p-BB5R2k1o.js} +40 -46
- package/dist/components/p-BB5R2k1o.js.map +1 -0
- package/dist/components/{p-CaPdvVd4.js → p-BPz_H-EG.js} +63 -53
- package/dist/components/p-BPz_H-EG.js.map +1 -0
- package/dist/components/{p-BqrTPNyu.js → p-BYanlgdq.js} +41 -15
- package/dist/components/p-BYanlgdq.js.map +1 -0
- package/dist/components/{p-BeVv4o5c.js → p-B_lb1FGi.js} +7 -2
- package/dist/components/p-B_lb1FGi.js.map +1 -0
- package/dist/components/{p-C-DqsDXz.js → p-BeljsQ-8.js} +78 -64
- package/dist/components/p-BeljsQ-8.js.map +1 -0
- package/dist/components/{p-_ntxNi8v.js → p-BexTdWaX.js} +21 -19
- package/dist/components/p-BexTdWaX.js.map +1 -0
- package/dist/components/{p-fyfT6A5K.js → p-BgmKrd5Z.js} +7 -4
- package/dist/components/p-BgmKrd5Z.js.map +1 -0
- package/dist/components/{p-BZ-j_4CK.js → p-BhiYvSBc.js} +6 -6
- package/dist/components/p-BhiYvSBc.js.map +1 -0
- package/dist/components/{p-26poIWa_.js → p-BrBQUN0Q.js} +12 -12
- package/dist/components/p-BrBQUN0Q.js.map +1 -0
- package/dist/components/{p-DtmZW6eP.js → p-BubxwvMA.js} +9 -7
- package/dist/components/p-BubxwvMA.js.map +1 -0
- package/dist/components/{p-jGaWxggY.js → p-BuewJQNl.js} +258 -233
- package/dist/components/p-BuewJQNl.js.map +1 -0
- package/dist/components/{p-BcQWRzsB.js → p-CGmS8wnN.js} +26 -23
- package/dist/components/p-CGmS8wnN.js.map +1 -0
- package/dist/components/{p-Crni2OI4.js → p-CHxPWeZd.js} +13 -11
- package/dist/components/p-CHxPWeZd.js.map +1 -0
- package/dist/components/{p-BGccckxP.js → p-CMJ3P0Vw.js} +7 -6
- package/dist/components/p-CMJ3P0Vw.js.map +1 -0
- package/dist/components/{p-C9-70hiF.js → p-DHSEK3rF.js} +118 -97
- package/dist/components/p-DHSEK3rF.js.map +1 -0
- package/dist/components/{p-BAPUTr3K.js → p-DMrtdhBD.js} +9 -8
- package/dist/components/p-DMrtdhBD.js.map +1 -0
- package/dist/components/p-DnUKql15.js +30 -0
- package/dist/components/p-DnUKql15.js.map +1 -0
- package/dist/components/{p-jpGLgpoq.js → p-DxTu1aoJ.js} +22 -22
- package/dist/components/p-DxTu1aoJ.js.map +1 -0
- package/dist/components/{p-BLmFBe2a.js → p-p1Jkec_q.js} +7 -5
- package/dist/components/p-p1Jkec_q.js.map +1 -0
- package/dist/components/{p-V4ui5aWj.js → p-rIRXQdie.js} +11 -10
- package/dist/components/p-rIRXQdie.js.map +1 -0
- package/dist/components/{p-Cb1IUD_g.js → p-t4NIsuX9.js} +13 -11
- package/dist/components/p-t4NIsuX9.js.map +1 -0
- package/dist/components/{p-BvlGgLAQ.js → p-trncBp_6.js} +47 -41
- package/dist/components/p-trncBp_6.js.map +1 -0
- package/dist/components/{p-BcQTDgzV.js → p-yZ48g7-u.js} +8 -7
- package/dist/components/p-yZ48g7-u.js.map +1 -0
- package/dist/esm/{index-DqqxAoZI.js → index-B-oSk-v8.js} +216 -167
- package/dist/esm/index-B-oSk-v8.js.map +1 -0
- package/dist/esm/{index-NiIEUDzj.js → index-oCOlsFCN.js} +41 -15
- package/dist/esm/index-oCOlsFCN.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/kritzel-brush-style_23.entry.js +568 -525
- package/dist/esm/loader.js +2 -2
- package/dist/esm/stencil.js +3 -3
- package/dist/esm/stencil.js.map +1 -1
- package/dist/stencil/index.esm.js +1 -1
- package/dist/stencil/p-3bb80782.entry.js +2 -0
- package/dist/stencil/p-3bb80782.entry.js.map +1 -0
- package/dist/stencil/p-B-oSk-v8.js +2 -0
- package/dist/stencil/p-B-oSk-v8.js.map +1 -0
- package/dist/stencil/p-oCOlsFCN.js +3 -0
- package/dist/stencil/p-oCOlsFCN.js.map +1 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/stencil/stencil.esm.js.map +1 -1
- package/dist/types/classes/objects/path.class.d.ts +0 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +6 -4
- package/package.json +1 -1
- package/dist/cjs/index-CUSIflVf.js.map +0 -1
- package/dist/cjs/index-CfXjPLHb.js.map +0 -1
- package/dist/components/p-26poIWa_.js.map +0 -1
- package/dist/components/p-5CJxFNEE.js.map +0 -1
- package/dist/components/p-BAPUTr3K.js.map +0 -1
- package/dist/components/p-BGccckxP.js.map +0 -1
- package/dist/components/p-BLmFBe2a.js.map +0 -1
- package/dist/components/p-BU2q3PRS.js.map +0 -1
- package/dist/components/p-BZ-j_4CK.js.map +0 -1
- package/dist/components/p-Bb6od8He.js +0 -42
- package/dist/components/p-Bb6od8He.js.map +0 -1
- package/dist/components/p-BcQTDgzV.js.map +0 -1
- package/dist/components/p-BcQWRzsB.js.map +0 -1
- package/dist/components/p-BeVv4o5c.js.map +0 -1
- package/dist/components/p-BqrTPNyu.js.map +0 -1
- package/dist/components/p-BvlGgLAQ.js.map +0 -1
- package/dist/components/p-C-DqsDXz.js.map +0 -1
- package/dist/components/p-C9-70hiF.js.map +0 -1
- package/dist/components/p-CaPdvVd4.js.map +0 -1
- package/dist/components/p-Cb1IUD_g.js.map +0 -1
- package/dist/components/p-Crni2OI4.js.map +0 -1
- package/dist/components/p-D_Uh-xv_.js.map +0 -1
- package/dist/components/p-DtmZW6eP.js.map +0 -1
- package/dist/components/p-V4ui5aWj.js.map +0 -1
- package/dist/components/p-_ntxNi8v.js.map +0 -1
- package/dist/components/p-fyfT6A5K.js.map +0 -1
- package/dist/components/p-jGaWxggY.js.map +0 -1
- package/dist/components/p-jpGLgpoq.js.map +0 -1
- package/dist/esm/index-DqqxAoZI.js.map +0 -1
- package/dist/esm/index-NiIEUDzj.js.map +0 -1
- package/dist/stencil/p-DqqxAoZI.js +0 -2
- package/dist/stencil/p-DqqxAoZI.js.map +0 -1
- package/dist/stencil/p-NiIEUDzj.js +0 -3
- package/dist/stencil/p-NiIEUDzj.js.map +0 -1
- package/dist/stencil/p-eebdbf65.entry.js +0 -2
- package/dist/stencil/p-eebdbf65.entry.js.map +0 -1
package/dist/esm/loader.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { b as bootstrapLazy } from './index-
|
|
2
|
-
export { s as setNonce } from './index-
|
|
1
|
+
import { b as bootstrapLazy } from './index-oCOlsFCN.js';
|
|
2
|
+
export { s as setNonce } from './index-oCOlsFCN.js';
|
|
3
3
|
import { g as globalScripts } from './app-globals-DQuL1Twl.js';
|
|
4
4
|
|
|
5
5
|
const defineCustomElements = async (win, options) => {
|
package/dist/esm/stencil.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { p as promiseResolve, b as bootstrapLazy } from './index-
|
|
2
|
-
export { s as setNonce } from './index-
|
|
1
|
+
import { p as promiseResolve, b as bootstrapLazy } from './index-oCOlsFCN.js';
|
|
2
|
+
export { s as setNonce } from './index-oCOlsFCN.js';
|
|
3
3
|
import { g as globalScripts } from './app-globals-DQuL1Twl.js';
|
|
4
4
|
|
|
5
5
|
/*
|
|
6
|
-
Stencil Client Patch Browser v4.37.
|
|
6
|
+
Stencil Client Patch Browser v4.37.1 | MIT Licensed | https://stenciljs.com
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
var patchBrowser = () => {
|
package/dist/esm/stencil.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stencil.js","sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.37.
|
|
1
|
+
{"version":3,"file":"stencil.js","sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.37.1 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":[],"mappings":";;;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{D as DEFAULT_BRUSH_CONFIG,e as DEFAULT_TEXT_CONFIG,K as KritzelBrushTool,d as KritzelEraserTool,
|
|
1
|
+
export{D as DEFAULT_BRUSH_CONFIG,e as DEFAULT_TEXT_CONFIG,K as KritzelBrushTool,d as KritzelEraserTool,u as KritzelImage,f as KritzelImageTool,t as KritzelPath,c as KritzelSelectionTool,s as KritzelText,a as KritzelTextTool,l as KritzelWorkspace}from"./p-B-oSk-v8.js";
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as e,h as i,H as s,g as o}from"./p-oCOlsFCN.js";import{K as n,a as r,b as a,c as l,D as h,d as c,e as d,f as u,g as f,h as b,i as p,j as g,k,l as y,O as v,m as x,R as w,n as m,B as z,A as C,o as I,p as M,U as S,q as j,r as D}from"./p-B-oSk-v8.js";const B=":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box;width:100%}.brush-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;cursor:default;border-radius:0;color:var(--control-text-color);font-weight:bold;-webkit-tap-highlight-color:transparent}.font-style-button:not(:last-child){border-right:1px solid #333333}.font-style-button:hover{background-color:var(--control-hover-bg)}.font-style-button:active{background-color:var(--control-active-bg)}.font-style-button.selected,.font-style-button.selected:hover,.font-style-button.selected:active{background-color:var(--control-selected-bg);color:var(--control-selected-color)}";const T=class{constructor(i){t(this,i);this.typeChange=e(this,"typeChange")}type="pen";brushOptions=[{value:"pen",label:"Pen"},{value:"highlighter",label:"Highlighter"}];typeChange;handleDropdownValueChange(t){this.typeChange.emit(t.detail)}render(){const t=this.brushOptions.map((t=>({value:t.value,label:t.label})));return i(s,{key:"d7af382fe6f613aa16a5146785990ad2faa17f60"},i("kritzel-dropdown",{key:"6d6d330d415c210058834b2968774b3db2ab7fc4",options:t,value:this.type,onValueChanged:t=>this.handleDropdownValueChange(t)},i("button",{key:"c9fb33795b8e25f68c1d2ae248dc82a6de29e199",class:"brush-style-button",slot:"prefix"},i("kritzel-icon",{key:"975c95b545a1c27ae2984405ac298592eec9743d",name:this.type,size:16}))))}};T.style=B;const E=":host{display:flex}.checkerboard-bg{background:repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%) 50% / 8px 8px;position:relative;overflow:hidden}.color-circle{width:24px;height:24px;border-radius:50%;box-sizing:border-box;display:block}.color-circle.white{border:1px solid var(--kritzel-color-palette-circle-border-color, #dddcdc)}";const $=class{constructor(e){t(this,e)}value;size=24;isLightColor(t){if(!t)return false;let e=0,i=0,s=0;let o=t.startsWith("#")?t.slice(1):t;if(o.length===3){e=parseInt(o[0]+o[0],16);i=parseInt(o[1]+o[1],16);s=parseInt(o[2]+o[2],16)}else if(o.length===6){e=parseInt(o.substring(0,2),16);i=parseInt(o.substring(2,4),16);s=parseInt(o.substring(4,6),16)}else{return false}if(isNaN(e)||isNaN(i)||isNaN(s)){return false}const n=.299*e+.587*i+.114*s;return n>220}render(){const t=this.isLightColor(this.value);return i(s,{key:"1468f3502f7d10d182ac72a05ce4b1e520353f8a"},i("div",{key:"d30d47667b1b72a970c4ee0da887dd59a663eae7",class:"checkerboard-bg",style:{width:`${this.size}px`,height:`${this.size}px`,borderRadius:"50%",display:"inline-block",position:"relative"}},i("div",{key:"073fd85967e53b609103a9fe47028bcda849e5ec",class:{"color-circle":true,white:t},style:{backgroundColor:this.value,width:`${this.size}px`,height:`${this.size}px`,borderRadius:"50%",position:"absolute",top:"0",left:"0",display:"inline-block"}})))}};$.style=E;const A=":host{display:flex;align-items:flex-start;gap:8px;padding:8px;width:100%;box-sizing:border-box}.color-grid{width:100%;display:grid;grid-template-columns:repeat(6, 32px);gap:8px;justify-items:center;overflow:hidden;height:40px;transition:height 0.1s ease-in-out}.color-grid.expanded{height:500px}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box}.color-container:hover{background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.color-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-color-palette-selected-background-color)}";const F=class{constructor(i){t(this,i);this.colorChange=e(this,"colorChange")}colors=[];selectedColor=null;isExpanded=false;isOpaque=false;colorChange;handleColorClick(t){this.selectedColor=t;this.colorChange.emit(t)}calculateHeight(){const t=6;const e=32;const i=8;const s=Math.ceil(this.colors.length/t);return`${s*e+(s-1)*i}px`}render(){const t=this.isExpanded?this.colors:this.colors.slice(0,6);const e=this.isExpanded?this.calculateHeight():"32px";return i(s,{key:"dddc32b0904800092d45727e833181af32eb8766"},i("div",{key:"293cbed8e9c62b5f409b7dcdca0df5de9d65b758",class:{"color-grid":true,expanded:this.isExpanded},style:{height:e}},t.map((t=>i("div",{class:{"color-container":true,selected:this.selectedColor===t},onClick:()=>this.handleColorClick(t)},i("kritzel-color",{value:t}))))))}};F.style=A;const R=":host{display:block}.menu-container{display:flex;flex-direction:column;background-color:var(--kritzel-context-menu-background-color, #ffffff);border-radius:var(--kritzel-context-menu-border-radius, 12px);box-shadow:var(--kritzel-context-menu-box-shadow, 0 1px 6px rgba(0, 0, 0, 0.12));border:var(--kritzel-context-menu-border, 1px solid #ebebeb);padding:var(--kritzel-context-menu-padding,4px)}.menu-item{display:flex;align-items:center;gap:var(--kritzel-context-menu-item-gap, 8px);background:none;border:none;text-align:left;padding:var(--kritzel-context-menu-item-padding, 8px);border-radius:var(--kritzel-context-menu-item-border-radius, 12px);cursor:pointer;font-size:var(--kritzel-context-menu-item-font-size, 14px);color:var(--kritzel-context-menu-item-color, #333333);white-space:nowrap;-webkit-tap-highlight-color:transparent}.menu-item:not(.disabled):hover{background-color:var(--kritzel-context-menu-item-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.menu-item:not(.disabled):active{background-color:var(--kritzel-context-menu-item-active-background-color, hsl(0, 0%, 0%, 8.6%))}.menu-item.disabled{color:var(--kritzel-context-menu-item-disabled-color, #aaaaaa);cursor:default}.menu-item kritzel-icon{opacity:0.8;flex-shrink:0}.menu-item.disabled kritzel-icon{opacity:0.4}.label{flex-grow:1}";const O=class{constructor(i){t(this,i);this.actionSelected=e(this,"actionSelected")}items;objects;actionSelected;get hostElement(){return o(this)}processedItems=[];componentWillLoad(){this.updateMenuItems()}onItemsChanged(){this.updateMenuItems()}handleItemClick(t,e){if(!e){this.actionSelected.emit(t)}}async evaluateProperty(t,e){if(typeof t==="boolean"){return t}if(typeof t==="function"){return await Promise.resolve(t(null,this.objects))}return e}async updateMenuItems(){const t=[];for(const e of this.items){const i=await this.evaluateProperty(e.visible,true);if(i){const i=await this.evaluateProperty(e.disabled,false);t.push({item:e,isDisabled:i})}}this.processedItems=t}render(){return i(s,{key:"96569454f806a6d17380315b4d0200236fe22550"},i("div",{key:"0e5899a2901e1e9ab9d657824e105121ce785bdc",class:"menu-container"},this.processedItems.map((({item:t,isDisabled:e},s)=>i("button",{key:`${t.label}-${s}`,class:{"menu-item":true,disabled:e},onClick:()=>this.handleItemClick(t,e),onTouchStart:()=>this.handleItemClick(t,e),disabled:e},t.icon&&i("kritzel-icon",{name:t.icon,size:16}),i("span",{class:"label"},t.label))))))}static get watchers(){return{items:["onItemsChanged"]}}};O.style=R;const W=":host{display:flex;flex-direction:column;width:100%}.expand-toggle{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:8px;color:var(--kritzel-color-palette-expand-toggle-color, #666666)}.expand-toggle:hover{color:var(--kritzel-color-palette-expand-toggle-hover-color, #333333)}";const _=class{constructor(i){t(this,i);this.toolChange=e(this,"toolChange")}tool;isExpanded=false;toolChange;palette=[];handleToolChange(t){this.palette=t.palettes[t.type]}componentWillLoad(){this.palette=this.tool.palettes[this.tool.type]}handleToggleExpand(){this.isExpanded=!this.isExpanded}handleTypeChange(t){this.palette=this.tool.palettes[t.detail];this.tool.type=t.detail;this.tool.color=this.palette[0];this.toolChange.emit(this.tool)}handleColorChange(t){this.tool.color=t.detail;this.toolChange.emit(this.tool)}handleSizeChange(t){this.tool.size=t.detail;this.toolChange.emit(this.tool)}render(){return i(s,{key:"a1f04aba4ed04e91c7b375e0f88bcff4fea1cba4"},i("div",{key:"c7cd734c96498c8cd6a27321fb6d11773e7aa8a9",style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"flex-start",width:"100%",gap:"8px"}},i("kritzel-brush-style",{key:"67958dc2a34302eb23fabbafea3c7dc7863f1984",type:this.tool.type,onTypeChange:t=>this.handleTypeChange(t)}),i("button",{key:"5c84a72d9f337dff253a161abe19acb832275272",class:"expand-toggle",onClick:()=>this.handleToggleExpand(),title:this.isExpanded?"Collapse":"Expand",style:this.palette.length>6?{visibillity:"visible"}:{visibility:"hidden"}},i("kritzel-icon",{key:"b3e0c44db35b53a584757e18b507df09f30bfa8a",name:this.isExpanded?"chevron-up":"chevron-down"}))),i("kritzel-color-palette",{key:"eb098094ae69aa5901244f9686a3eb990271c07d",colors:this.palette,selectedColor:this.tool.color,isExpanded:this.isExpanded,isOpaque:true,onColorChange:t=>this.handleColorChange(t)}),i("kritzel-stroke-size",{key:"18ae184b282ca2ec6511a6ac0065914edf66f91b",selectedSize:this.tool.size,onSizeChange:t=>this.handleSizeChange(t)}))}static get watchers(){return{tool:["handleToolChange"]}}};_.style=W;const P=":host{display:block;flex-direction:column;width:100%}.expand-toggle{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:8px;color:var(--kritzel-color-palette-expand-toggle-color, #666666)}.expand-toggle:hover{color:var(--kritzel-color-palette-expand-toggle-hover-color, #333333)}";const V=class{constructor(i){t(this,i);this.toolChange=e(this,"toolChange")}tool;isExpanded=false;toolChange;handleToggleExpand(){this.isExpanded=!this.isExpanded}handleFamilyChange(t){this.tool.fontFamily=t.detail;this.toolChange.emit(this.tool)}handleColorChange(t){this.tool.fontColor=t.detail;this.toolChange.emit(this.tool)}handleSizeChange(t){this.tool.fontSize=t.detail;this.toolChange.emit(this.tool)}render(){return i(s,{key:"a5c0e3eb4343637d758888d7d2a0843549fa0c25"},i("div",{key:"1d4d42af117ed9da1a91d1747a7d6f6531e0de9b",style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"flex-start",width:"100%",gap:"8px"}},i("kritzel-font-family",{key:"b19e1edcbc7bafb0829d3e173d33cff37d2a5959",selectedFontFamily:this.tool.fontFamily,onFontFamilyChange:t=>this.handleFamilyChange(t)}),i("button",{key:"ca3dce970ee5dd1a7c8c617127777859b45380c4",class:"expand-toggle",onClick:()=>this.handleToggleExpand(),title:this.isExpanded?"Collapse":"Expand"},i("kritzel-icon",{key:"241d82cd06db8d20794a369a4df6e6a71531131a",name:this.isExpanded?"chevron-up":"chevron-down"}))),i("kritzel-color-palette",{key:"ec82e5c09046e70e904cc1ec9716c53bec9cac2b",colors:this.tool.palette,selectedColor:this.tool.fontColor,isExpanded:this.isExpanded,onColorChange:t=>this.handleColorChange(t)}),i("kritzel-font-size",{key:"1cbddf6e6de21bd62f3803cca9e21ef9e01f15c0",selectedSize:this.tool.fontSize,fontFamily:this.tool.fontFamily,onSizeChange:t=>this.handleSizeChange(t)}))}};V.style=P;class L{static isTouchDevice(){return window.matchMedia("(any-pointer: coarse)").matches}}const N=":host{display:flex;flex-direction:column;user-select:none}:host(.mobile){--kritzel-controls-control-hover-background-color:transparent;--kritzel-controls-control-active-background-color:transparent}.kritzel-controls{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--kritzel-controls-gap, 8px);height:100%;padding:var(--kritzel-controls-padding, 8px);background-color:var(--kritzel-controls-background-color, #ffffff);border-radius:var(--kritzel-controls-border-radius, 16px);box-shadow:var(--kritzel-controls-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-controls-border, 1px solid #ebebeb);z-index:10000;position:relative}.kritzel-control{display:flex;justify-content:center;align-items:center;color:var(--kritzel-controls-control-color, #000000);border-radius:var(--kritzel-controls-control-border-radius, 12px);padding:var(--kritzel-controls-control-padding, 8px);border:none;outline:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;font-weight:bold}.kritzel-control:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-control:active{background-color:var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%))}.kritzel-control.selected,.kritzel-control.selected:hover,.kritzel-control.selected:active{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF) !important;color:var(--kritzel-controls-control-selected-color, #ffffff) !important}.kritzel-divider{width:var(--kritzel-controls-divider-width, 1px);height:var(--kritzel-controls-divider-height, 24px);background-color:var(--kritzel-controls-divider-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-config-container{position:relative;display:flex;justify-content:center;align-items:center;width:40px;height:40px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.kritzel-config{display:flex;justify-content:center;align-items:center;cursor:pointer}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.font-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.no-config{height:24px;width:24px;border-radius:50%;border:1px dashed gray}kritzel-tooltip{position:fixed;bottom:66px;left:50%;transform:translateX(-50%);z-index:10001}";const H=class{constructor(i){t(this,i);this.isControlsReady=e(this,"isControlsReady")}controls=[];activeControl=null;isUtilityPanelVisible=true;isControlsReady;firstConfig=null;isTooltipVisible=false;isTouchDevice=L.isTouchDevice();get host(){return o(this)}handleDocumentClick(t){const e=t.target;if(!this.kritzelEngine||e.closest(".kritzel-tooltip")){return}this.isTooltipVisible=false}handleKeyDown(t){if(t.key==="Escape"){t.preventDefault();this.closeTooltip();this.kritzelEngine?.enable()}}async handleActiveToolChange(t){this.activeControl=this.controls.find((e=>e.tool===t.detail))||null;await(this.kritzelEngine?.setFocus())}async closeTooltip(){this.isTooltipVisible=false}kritzelEngine=null;get activeToolAsTextTool(){return this.activeControl?.tool}get activeToolAsBrushTool(){return this.activeControl?.tool}async componentWillLoad(){await this.initializeEngine();await this.initializeTools();this.isControlsReady.emit()}async initializeEngine(){await customElements.whenDefined("kritzel-engine");this.kritzelEngine=this.host.parentElement.querySelector("kritzel-engine");if(!this.kritzelEngine){throw new Error("kritzel-engine not found in parent element.")}}async initializeTools(){for(const t of this.controls){if(t.type==="tool"&&t.tool){t.tool=await this.kritzelEngine.registerTool(t.name,t.tool,t.config)}if(t.type==="tool"&&t.isDefault&&t.tool){await this.kritzelEngine.changeActiveTool(t.tool);this.activeControl=t}if(t.type==="config"){if(this.firstConfig===null){this.firstConfig=t}else{console.warn("Only one config control is allowed. The first one will be used.")}}}}async handleControlClick(t){this.activeControl=t;if(this.activeControl.type==="tool"){await this.kritzelEngine.changeActiveTool(this.activeControl.tool)}}handleConfigClick(t){t.stopPropagation();this.isTooltipVisible=!this.isTooltipVisible;this.kritzelEngine?.disable()}async handleToolChange(t){this.activeControl={...this.activeControl,tool:t.detail};await this.kritzelEngine.changeActiveTool(this.activeControl.tool)}render(){const t=this.activeControl?.config===undefined||this.activeControl?.config===null;return i(s,{key:"7ab1f3e176848cb9a34be7e7b90e13c2a861d78b",class:{mobile:this.isTouchDevice}},this.isUtilityPanelVisible&&i("kritzel-utility-panel",{key:"f168b27cb9cc3a1a7d0028055cd58c60cec9776f",style:{position:"absolute",bottom:"56px",left:"12px"},onUndo:()=>this.kritzelEngine?.undo(),onRedo:()=>this.kritzelEngine?.redo(),onDelete:()=>this.kritzelEngine?.delete()}),i("div",{key:"9e568217b23632d73b051350d7f795f0cd7ab9ed",class:"kritzel-controls"},this.controls.map((e=>{if(e.type==="tool"){return i("button",{class:{"kritzel-control":true,selected:this.activeControl?.name===e?.name},key:e.name,onClick:t=>this.handleControlClick?.(e)},i("kritzel-icon",{name:e.icon}))}if(e.type==="divider"){return i("div",{class:"kritzel-divider",key:e.name})}if(e.type==="config"&&e.name===this.firstConfig?.name&&this.activeControl){return i("div",{class:"kritzel-config-container",key:e.name},i("kritzel-tooltip",{isVisible:this.isTooltipVisible,anchorElement:this.host.shadowRoot?.querySelector(".kritzel-config-container")},i("div",{style:{width:"294px",height:"100%"}},this.activeControl.name==="brush"&&i("kritzel-control-brush-config",{tool:this.activeToolAsBrushTool,onToolChange:t=>this.handleToolChange?.(t)}),this.activeControl.name==="text"&&i("kritzel-control-text-config",{tool:this.activeToolAsTextTool,onToolChange:t=>this.handleToolChange?.(t)}))),i("div",{class:"kritzel-config",onClick:t=>this.handleConfigClick?.(t),style:{cursor:this.activeControl.config?"pointer":"default",pointerEvents:t?"none":"auto"}},this.activeControl.tool instanceof n&&i("div",{class:"color-container"},i("kritzel-color",{value:this.activeToolAsBrushTool?.color,size:this.activeToolAsBrushTool?.size,style:{borderRadius:"50%",border:"none"}})),this.activeControl.tool instanceof r&&i("div",{class:"font-container"},i("kritzel-font",{fontFamily:this.activeToolAsTextTool?.fontFamily,size:this.activeToolAsTextTool?.fontSize,color:this.activeToolAsTextTool?.fontColor})),t&&i("div",{class:"no-config"})))}}))))}static get assetsDirs(){return["../assets"]}};H.style=N;const X=":host{display:block;position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9000}";const Y=class{constructor(e){t(this,e)}store;cursorTrailPoints=[];isLeftButtonDown=false;trailCleanupIntervalId;TRAIL_DURATION_MS=100;MAX_TRAIL_POINTS=50;componentDidLoad(){this.trailCleanupIntervalId=window.setInterval((()=>{const t=Date.now();const e=this.cursorTrailPoints.filter((e=>t-e.timestamp<this.TRAIL_DURATION_MS));if(e.length!==this.cursorTrailPoints.length){this.cursorTrailPoints=e}}),50)}disconnectedCallback(){if(this.trailCleanupIntervalId){window.clearInterval(this.trailCleanupIntervalId)}}handleMouseDown(t){if(t.pointerType==="mouse"){if(t.button===a.Left){this.isLeftButtonDown=true;this.cursorTrailPoints=[]}}if(t.pointerType==="touch"){if(this.store.state.pointers.size===1){this.isLeftButtonDown=true;this.cursorTrailPoints=[]}}}handlePointerMove(t){if(!this.isLeftButtonDown){return}const e={x:t.clientX,y:t.clientY,timestamp:Date.now()};const i=[e,...this.cursorTrailPoints];if(i.length>this.MAX_TRAIL_POINTS){this.cursorTrailPoints=i.slice(0,this.MAX_TRAIL_POINTS)}else{this.cursorTrailPoints=i}}handlePointerUp(t){if(t.pointerType==="mouse"){if(t.button===a.Left){this.isLeftButtonDown=false;this.cursorTrailPoints=[]}}if(t.pointerType==="touch"){if(this.store.state.pointers.size===0){this.isLeftButtonDown=false;this.cursorTrailPoints=[]}}}render(){return i(s,{key:"c519ab89ffb793de887a870bafe8772f7584f097"},this.cursorTrailPoints.length>1&&i("svg",{key:"db7ac0975c5a39c0b68d8fd4af4edd4d15f439f3",class:"cursor-trail-svg",xmlns:"http://www.w3.org/2000/svg",style:{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",pointerEvents:"none",opacity:"var(--kritzel-cursor-trail-opacity, 0.6)",zIndex:"9000"}},this.cursorTrailPoints.slice(1).map(((t,e)=>{const s=this.cursorTrailPoints[e];const o=Date.now();const n=o-t.timestamp;const r=Math.max(0,Math.min(1,n/this.TRAIL_DURATION_MS));if(r>=1)return null;const a=Math.max(2,15*(1-r));return i("line",{key:`trail-segment-${t.timestamp}`,x1:s.x.toString(),y1:s.y.toString(),x2:t.x.toString(),y2:t.y.toString(),stroke:"var(--kritzel-cursor-trail-color, rgb(228, 228, 228))","stroke-width":a.toString(),"stroke-linecap":"round"})}))))}};Y.style=X;const K=':host{display:inline-flex;vertical-align:middle;width:100%;}.dropdown-wrapper{display:flex;align-items:center;border:1px solid #333333;border-radius:var(--kritzel-controls-control-border-radius, 12px);overflow:hidden;height:32px;width:100%}.custom-select{padding:0 8px;padding-right:30px;height:100%;width:100%;box-sizing:border-box;border-radius:0;border:none;background-color:#fff;cursor:pointer;outline:none;font-size:inherit;color:var(--kritzel-controls-text-color, #333333);-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(\'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23333333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>\');background-size:16px 16px;background-repeat:no-repeat;background-position:right 8px center}.custom-select.has-suffix-border{border-right:1px solid #333333}.custom-select.has-prefix-border{border-left:1px solid #333333}::slotted(*){height:100%;box-sizing:border-box}';const U=class{constructor(i){t(this,i);this.valueChanged=e(this,"valueChanged")}options=[];value;width;selectStyles={};internalValue;hasSuffixContent=false;hasPrefixContent=false;valueChanged;suffixSlotElement;prefixSlotElement;componentWillLoad(){this.updateInternalValue(this.value,false);this.evaluateSuffixContent();this.evaluatePrefixContent()}externalValueChanged(t){if(t!==this.internalValue){this.updateInternalValue(t,false)}}optionsChanged(){this.updateInternalValue(this.internalValue,true)}updateInternalValue(t,e){let i=t;if(this.options&&this.options.length>0){const t=this.options.some((t=>t.value===i));if(!i||!t){i=this.options[0].value}}else{i=undefined}if(this.internalValue!==i){this.internalValue=i;if(e||t!==i&&t!==undefined){this.valueChanged.emit(this.internalValue)}}}handleSelectChange=t=>{const e=t.target.value;if(this.internalValue!==e){this.internalValue=e;this.valueChanged.emit(this.internalValue)}};evaluateSuffixContent=()=>{if(this.suffixSlotElement){const t=this.suffixSlotElement.assignedNodes({flatten:true}).length>0;if(this.hasSuffixContent!==t){this.hasSuffixContent=t}}else{if(this.hasSuffixContent!==false){this.hasSuffixContent=false}}};evaluatePrefixContent=()=>{if(this.prefixSlotElement){const t=this.prefixSlotElement.assignedNodes({flatten:true}).length>0;if(this.hasPrefixContent!==t){this.hasPrefixContent=t}}else{if(this.hasPrefixContent!==false){this.hasPrefixContent=false}}};render(){const t={"custom-select":true,"has-suffix-border":this.hasSuffixContent,"has-prefix-border":this.hasPrefixContent};return i(s,{key:"32c5f5a4f807c1e316c91b795c005b8d30ce6189"},i("div",{key:"b1cbeff18e688da4a2f7472be290b9527a619f07",class:"dropdown-wrapper"},i("slot",{key:"b3bbb7e21c6f5620cab41aa4b1c7206b6c75fd86",name:"prefix",ref:t=>this.prefixSlotElement=t,onSlotchange:this.evaluatePrefixContent}),i("select",{key:"8b2dcdc125bee59cf29fce7c980b755e78d5816e",class:t,style:{...this.selectStyles,width:this.width},onInput:this.handleSelectChange},this.options.map((t=>i("option",{value:t.value,style:t.style,selected:t.value===this.internalValue},t.label)))),i("slot",{key:"8d83f0dea41ac959bf2392948efef33bb70d0154",name:"suffix",ref:t=>this.suffixSlotElement=t,onSlotchange:this.evaluateSuffixContent})))}static get watchers(){return{value:["externalValueChanged"],options:["optionsChanged"]}}};U.style=K;class q{static registry=new Map;static register(t,e){if(this.registry.has(t)){console.warn(`[IconRegistry] Icon "${t}" is already registered. It will be overwritten.`)}this.registry.set(t,e)}static get(t){return this.registry.get(t)}static registerIcons(t){for(const e in t){if(Object.prototype.hasOwnProperty.call(t,e)){this.register(e,t[e])}}}static has(t){return this.registry.has(t)}}q.registerIcons({cursor:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z"/></svg>',pen:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/></svg>',highlighter:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-highlighter-icon lucide-highlighter"><path d="m9 11-6 6v3h9l3-3"/><path d="m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"/></svg>',eraser:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"/><path d="M22 21H7"/><path d="m5 11 9 9"/></svg>',type:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 7 4 4 20 4 20 7"/><line x1="9" x2="15" y1="20" y2="20"/><line x1="12" x2="12" y1="4" y2="20"/></svg>',image:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',"chevron-down":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>',"chevron-up":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m18 15-6-6-6 6"/></svg>',copy:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy-icon lucide-copy"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>',paste:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard-paste-icon lucide-clipboard-paste"><path d="M11 14h10"/><path d="M16 4h2a2 2 0 0 1 2 2v1.344"/><path d="m17 18 4-4-4-4"/><path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113"/><rect x="8" y="2" width="8" height="4" rx="1"/></svg>',cut:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scissors-icon lucide-scissors"><circle cx="6" cy="6" r="3"/><path d="M8.12 8.12 12 12"/><path d="M20 4 8.12 15.88"/><circle cx="6" cy="18" r="3"/><path d="M14.8 14.8 20 20"/></svg>',delete:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trash2-icon lucide-trash-2"><path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/><line x1="10" x2="10" y1="11" y2="17"/><line x1="14" x2="14" y1="11" y2="17"/></svg>',"bring-to-front":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-to-line-icon lucide-arrow-up-to-line"><path d="M5 3h14"/><path d="m18 13-6-6-6 6"/><path d="M12 7v14"/></svg>',"send-to-back":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-down-to-line-icon lucide-arrow-down-to-line"><path d="M12 17V3"/><path d="m6 11 6 6 6-6"/><path d="M19 21H5"/></svg>',"select-all":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-mouse-pointer-icon lucide-square-mouse-pointer"><path d="M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"/><path d="M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"/></svg>',download:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download-icon lucide-download"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" x2="12" y1="15" y2="3"/></svg>',undo:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-undo-icon lucide-undo"><path d="M3 7v6h6"/><path d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"/></svg>',redo:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-redo-icon lucide-redo"><path d="M21 7v6h-6"/><path d="M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"/></svg>',plus:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus-icon lucide-plus"><path d="M5 12h14"/><path d="M12 5v14"/></svg>',"ellipsis-vertical":'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ellipsis-vertical-icon lucide-ellipsis-vertical"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></svg>',x:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x-icon lucide-x"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>',check:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check-icon lucide-check"><path d="M20 6 9 17l-5-5"/></svg>'});const G=1e3;const Z=1e-4;const J="kritzel-editor{display:flex;margin:0;position:relative;overflow:hidden;width:100%;height:100%;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}kritzel-workspace-manager{position:absolute;top:14px;left:14px}kritzel-split-button{position:absolute;top:14px;left:14px;z-index:1}kritzel-controls{position:absolute;bottom:28px}";const Q=class{constructor(i){t(this,i);this.isReady=e(this,"isReady")}scaleMax=G;scaleMin=Z;controls=[{name:"selection",type:"tool",tool:l,icon:"cursor"},{name:"brush",type:"tool",tool:n,icon:"pen",isDefault:true,config:h},{name:"eraser",type:"tool",tool:c,icon:"eraser"},{name:"text",type:"tool",tool:r,icon:"type",config:d},{name:"image",type:"tool",tool:u,icon:"image"},{name:"divider",type:"divider"},{name:"config",type:"config"}];globalContextMenuItems=[{label:"Paste",icon:"paste",disabled:async()=>(await this.engineRef.getCopiedObjects()).length===0,action:t=>this.engineRef.paste(t.x,t.y)},{label:"Select All",icon:"select-all",action:()=>this.selectAllObjectsInViewport()}];objectContextMenuItems=[{label:"Edit",icon:"pen",visible:(t,e)=>e.length===1&&e[0].isEditable,action:(t,e)=>{if(e.length===1){const t=e[0];if(t.isEditable){t.edit()}}}},{label:"Copy",icon:"copy",action:()=>this.engineRef.copy()},{label:"Paste",icon:"paste",disabled:async()=>(await this.engineRef.getCopiedObjects()).length===0,action:(t,e)=>this.engineRef.paste(t.x,t.y)},{label:"Delete",icon:"delete",action:()=>this.engineRef.delete()},{label:"Bring to Front",icon:"bring-to-front",action:()=>this.engineRef.bringToFront()},{label:"Send to Back",icon:"send-to-back",action:()=>this.engineRef.sendToBack()}];customSvgIcons={};isControlsVisible=true;isUtilityPanelVisible=true;isReady;get host(){return o(this)}isEngineReady=false;isControlsReady=false;isWorkspaceManagerReady=false;workspaces=[];activeWorkspace;isVirtualKeyboardOpen=false;onIsEngineReady(t){if(t&&this.isControlsReady){this.checkIsReady()}}onIsControlsReady(t){if(t&&this.isEngineReady){this.checkIsReady()}}async getObjectById(t){return this.engineRef.getObjectById(t)}async addObject(t){return this.engineRef.addObject(t)}async updateObject(t,e){return this.engineRef.updateObject(t,e)}async removeObject(t){return this.engineRef.removeObject(t)}async getSelectedObjects(){return this.engineRef.getSelectedObjects()}async selectObjects(t){return this.engineRef.selectObjects(t)}async selectAllObjectsInViewport(){return this.engineRef.selectAllObjectsInViewport()}async clearSelection(){this.engineRef.clearSelection()}async centerObjectInViewport(t){return this.engineRef.centerObjectInViewport(t)}handleTouchStart(t){if(t.cancelable){t.preventDefault()}}engineRef;controlsRef;splitButtonRef;componentDidLoad(){this.registerCustomSvgIcons();this.listenForMobileKeyboard()}async checkIsReady(){await customElements.whenDefined("kritzel-editor");await customElements.whenDefined("kritzel-workspace-manager");await customElements.whenDefined("kritzel-controls");await customElements.whenDefined("kritzel-engine");if(!this.isEngineReady||!this.isControlsReady||!this.isWorkspaceManagerReady){return}this.isReady.emit(this.host)}onEngineReady(t){this.isEngineReady=true;this.activeWorkspace=t.detail.activeWorkspace;this.workspaces=t.detail.workspaces}registerCustomSvgIcons(){for(const[t,e]of Object.entries(this.customSvgIcons)){q.register(t,e)}}listenForMobileKeyboard(){f.onKeyboardVisibleChanged((t=>{console.log("Mobile keyboard visibility changed:",t);this.isVirtualKeyboardOpen=t}))}render(){return i(s,{key:"0f51215c0ede25bf8edfbf1420fc8d6c64175b8a"},i("kritzel-workspace-manager",{key:"14affeb4c161a401d9cca32d0681d576b67b5199",workspaces:this.workspaces,activeWorkspace:this.activeWorkspace,onWorkspaceChange:t=>this.activeWorkspace=t.detail,onIsWorkspaceManagerReady:()=>this.isWorkspaceManagerReady=true}),i("kritzel-engine",{key:"0e96fdbfbe412ea0a0bae49c693190b71e78f112",ref:t=>this.engineRef=t,workspace:this.activeWorkspace,scaleMax:this.scaleMax,scaleMin:this.scaleMin,globalContextMenuItems:this.globalContextMenuItems,objectContextMenuItems:this.objectContextMenuItems,onIsEngineReady:t=>this.onEngineReady(t),onWorkspacesChange:t=>this.workspaces=t.detail}),i("kritzel-controls",{key:"6098132ddf95b5dd4b1a1a6492b31f0ef43693c4",style:{display:this.isVirtualKeyboardOpen?"none":this.isControlsVisible?"flex":"none"},ref:t=>this.controlsRef=t,controls:this.controls,isUtilityPanelVisible:this.isUtilityPanelVisible,onIsControlsReady:()=>this.isControlsReady=true}))}static get watchers(){return{isEngineReady:["onIsEngineReady"],isControlsReady:["onIsControlsReady"]}}};Q.style=J;class tt{_store;initialTouchDistance=0;startX=0;startY=0;constructor(t,e){this._store=t;this._store.state.host=e;this._store.state.viewportWidth=e.clientWidth;this._store.state.viewportHeight=e.clientHeight;this._store.state.startX=0;this._store.state.startY=0;this._store.state.translateX=0;this._store.state.translateY=0}handleResize(){this._store.state.viewportWidth=this._store.state.host.clientWidth;this._store.state.viewportHeight=this._store.state.host.clientHeight;this._store.state.hasViewportChanged=true;this._store.rerender()}handlePointerDown(t){if(t.pointerType==="mouse"){const e=t.clientX-this._store.offsetX;const i=t.clientY-this._store.offsetY;if(t.button===a.Right){this._store.state.isPanning=true;this._store.state.startX=e;this._store.state.startY=i}}if(t.pointerType==="touch"){const t=Array.from(this._store.state.pointers.values());if(t.length===2){this._store.state.currentPath=null;this._store.state.isScaling=true;const e=t[0].clientX-this._store.offsetX;const i=t[0].clientY-this._store.offsetY;const s=t[1].clientX-this._store.offsetX;const o=t[1].clientY-this._store.offsetY;this.initialTouchDistance=Math.sqrt(Math.pow(e-s,2)+Math.pow(i-o,2));this.startX=(e+s)/2;this.startY=(i+o)/2;this._store.rerender()}}}handlePointerMove(t){if(t.pointerType==="mouse"){const e=this._store.state.host.getBoundingClientRect();const i=t.clientX-e.left;const s=t.clientY-e.top;this._store.state.pointerX=(i-this._store.state.translateX)/this._store.state.scale;this._store.state.pointerY=(s-this._store.state.translateY)/this._store.state.scale;if(this._store.state.isPanning){this._store.state.translateX-=this._store.state.startX-i;this._store.state.translateY-=this._store.state.startY-s;this._store.state.startX=i;this._store.state.startY=s;this._store.state.hasViewportChanged=true;this._store.state.skipContextMenu=true;this._store.rerender();this._store.updateWorkspaceViewport(this._store.state.translateX,this._store.state.translateY,this._store.state.scale)}}if(t.pointerType==="touch"){const e=this._store.state.host.getBoundingClientRect();const i=t.clientX-e.left;const s=t.clientY-e.top;this._store.state.pointerX=(i-this._store.state.translateX)/this._store.state.scale;this._store.state.pointerY=(s-this._store.state.translateY)/this._store.state.scale;const o=Array.from(this._store.state.pointers.values());if(o.length===2){const t=o[0].clientX-this._store.offsetX;const e=o[0].clientY-this._store.offsetY;const i=o[1].clientX-this._store.offsetX;const s=o[1].clientY-this._store.offsetY;const n=Math.sqrt(Math.pow(t-i,2)+Math.pow(e-s,2));const r=(t+i)/2;const a=(e+s)/2;const l=n/this.initialTouchDistance;const h=this._store.state.scale*l;if(h>this._store.state.scaleMax||h<this._store.state.scaleMin){this._store.state.translateX+=r-this.startX;this._store.state.translateY+=a-this.startY}else{const t=(r-this._store.state.translateX)*(l-1);const e=(a-this._store.state.translateY)*(l-1);this._store.state.translateX+=r-this.startX-t;this._store.state.translateY+=a-this.startY-e;this._store.state.scale=h;this.initialTouchDistance=n}this.startX=r;this.startY=a;this._store.state.hasViewportChanged=true;this._store.rerender();this._store.updateWorkspaceViewport(this._store.state.translateX,this._store.state.translateY,this._store.state.scale)}}}handlePointerUp(t){if(t.pointerType==="mouse"){if(this._store.state.isPanning){this._store.state.isPanning=false;this._store.rerender()}}if(t.pointerType==="touch"){this._store.state.isScaling=false;this._store.rerender()}}handleWheel(t){t.preventDefault();if(t.ctrlKey===true&&b.isMainMouseWheel(t)){this.handleZoom(t)}if(!t.ctrlKey){this.handlePan(t)}}handleZoom(t){const e=this._store.state.host.getBoundingClientRect();const i=t.clientX-e.left;const s=t.clientY-e.top;this._store.state.pointerX=(i-this._store.state.translateX)/this._store.state.scale;this._store.state.pointerY=(s-this._store.state.translateY)/this._store.state.scale;const o=t.deltaY>0?-this._store.state.scaleStep*this._store.state.scale:this._store.state.scaleStep*this._store.state.scale;const n=Math.min(this._store.state.scaleMax,Math.max(this._store.state.scaleMin,this._store.state.scale+o));const r=n/this._store.state.scale;const a=(i-this._store.state.translateX)*(r-1);const l=(s-this._store.state.translateY)*(r-1);this._store.state.scale=n;this._store.state.translateX-=a;this._store.state.translateY-=l;this._store.state.hasViewportChanged=true;this._store.rerender();this._store.updateWorkspaceViewport(this._store.state.translateX,this._store.state.translateY,this._store.state.scale)}handlePan(t){const e=.8;this._store.state.translateX-=t.deltaX*e;this._store.state.translateY-=t.deltaY*e;this._store.state.hasViewportChanged=true;this._store.rerender();this._store.updateWorkspaceViewport(this._store.state.translateX,this._store.state.translateY,this._store.state.scale)}}class et extends p{currentViewport;previousViewport;constructor(t,e,i,s=false){super(t,e,s);this.previousViewport=i;this.currentViewport={scale:this._store.state.scale,translateX:this._store.state.translateX,translateY:this._store.state.translateY}}execute(){this._store.state.scale=this.currentViewport.scale;this._store.state.translateX=this.currentViewport.translateX;this._store.state.translateY=this.currentViewport.translateY}undo(){this._store.state.scale=this.previousViewport.scale;this._store.state.translateX=this.previousViewport.translateX;this._store.state.translateY=this.previousViewport.translateY}}class it{buffer;capacity;head=0;tail=0;size=0;constructor(t){this.capacity=t;this.buffer=new Array(t).fill(null)}add(t){this.buffer[this.head]=t;this.head=(this.head+1)%this.capacity;if(this.size<this.capacity){this.size++}else{this.tail=(this.tail+1)%this.capacity}}pop(){if(this.size===0){return null}this.head=(this.head-1+this.capacity)%this.capacity;const t=this.buffer[this.head];this.buffer[this.head]=null;this.size--;return t}peek(){if(this.size===0){return null}const t=(this.head-1+this.capacity)%this.capacity;return this.buffer[t]}isEmpty(){return this.size===0}clear(){this.buffer.fill(null);this.head=0;this.tail=0;this.size=0}}class st{_store;undoStack;redoStack;previousViewport;constructor(t){this._store=t;this.undoStack=new it(this._store.state.historyBufferSize);this.redoStack=new it(this._store.state.historyBufferSize);this.previousViewport={scale:this._store.state.scale,scaleStep:this._store.state.scaleStep,translateX:this._store.state.translateX,translateY:this._store.state.translateY}}reset(){this.undoStack.clear();this.redoStack.clear();this.previousViewport={scale:this._store.state.scale,scaleStep:this._store.state.scaleStep,translateX:this._store.state.translateX,translateY:this._store.state.translateY}}executeCommand(t){if(this._store.state.hasViewportChanged){this.addUpdateViewportCommand()}t.execute();if(t.skipHistory===false){if(this._store.state.debugInfo.logCommands){console.info("add",t)}this.undoStack.add(t);if(this.redoStack.isEmpty()===false){this.redoStack.clear()}}this._store.rerender()}undo(){if(this._store.state.hasViewportChanged){const t=new et(this._store,this,this.previousViewport);t.undo();this._store.state.hasViewportChanged=false;this._store.rerender();return}const t=this.undoStack.pop();if(t){t.undo();if(this._store.state.debugInfo.logCommands)console.info("undo",t);this.redoStack.add(t)}this._store.rerender()}redo(){const t=this.redoStack.pop();if(t){t.execute();if(this._store.state.debugInfo.logCommands)console.info("redo",t);this.undoStack.add(t)}this._store.rerender()}addUpdateViewportCommand(){const t=new et(this._store,this,this.previousViewport);t.execute();this.undoStack.add(t);if(this.redoStack.isEmpty()===false){this.redoStack.clear()}this._store.state.hasViewportChanged=false;this.previousViewport={scale:this._store.state.scale,scaleStep:this._store.state.scaleStep,translateX:this._store.state.translateX,translateY:this._store.state.translateY}}}const ot={activeWorkspace:null,activeTool:null,activeText:null,currentPath:null,copiedObjects:null,objectsMap:null,selectionBox:null,selectionGroup:null,resizeHandleType:null,hasViewportChanged:false,isReady:false,isEnabled:true,isScaling:false,isPanning:false,isFocused:false,isSelecting:false,isResizing:false,isResizeHandleSelected:false,isRotating:false,isRotationHandleSelected:false,isDragging:false,isDrawing:false,isErasing:false,isWriting:false,isCtrlKeyPressed:false,isContextMenuVisible:false,contextMenuItems:[],contextMenuX:0,contextMenuY:0,skipContextMenu:false,debugInfo:{showObjectInfo:false,showViewportInfo:false,logCommands:false,logDatabase:false},host:null,pointerX:0,pointerY:0,scale:1,scaleMax:1,scaleMin:1,scaleStep:.075,startX:0,startY:0,translateX:0,translateXMax:400,translateXMin:0,translateY:0,translateYMax:400,translateYMin:0,viewportWidth:0,viewportHeight:0,historyBufferSize:1e3,longTouchTimeout:null,longTouchDelay:300,pointers:new Map,workspaces:[]};class nt{db=null;dbName;dbVersion;isLoggingEnabled;constructor(t,e,i=false){this.dbName=t;this.dbVersion=e;this.isLoggingEnabled=i}async open(t){return new Promise(((e,i)=>{if(this.db){e();return}if(this.isLoggingEnabled){console.log(`[IndexedDB] Opening database: ${this.dbName}, version: ${this.dbVersion}`)}const s=indexedDB.open(this.dbName,this.dbVersion);s.onerror=()=>{console.error("IndexedDB error:",s.error);i(s.error)};s.onsuccess=()=>{this.db=s.result;if(this.isLoggingEnabled){console.log(`[IndexedDB] Database opened successfully.`)}e()};s.onupgradeneeded=e=>{if(this.isLoggingEnabled){console.log(`[IndexedDB] Upgrade needed for database: ${this.dbName}`)}const i=e.target.result;t.forEach((t=>{if(!i.objectStoreNames.contains(t.name)){if(this.isLoggingEnabled){console.log(`[IndexedDB] Creating store: ${t.name}`)}const e=i.createObjectStore(t.name,t.options);if(t.indices){t.indices.forEach((i=>{if(this.isLoggingEnabled){console.log(`[IndexedDB] Creating index: ${i.name} on store: ${t.name}`)}e.createIndex(i.name,i.keyPath,i.options)}))}}}))}}))}close(){if(this.db){if(this.isLoggingEnabled){console.log(`[IndexedDB] Closing database: ${this.dbName}`)}this.db.close();this.db=null}}async add(t,e){if(this.isLoggingEnabled){console.log("[IndexedDB] Add:",{storeName:t,item:e})}return this.executeTransaction(t,"readwrite",(t=>t.add(e)))}async get(t,e){if(this.isLoggingEnabled){console.log("[IndexedDB] Get:",{storeName:t,key:e})}return this.executeTransaction(t,"readonly",(t=>t.get(e)))}async getAll(t){if(this.isLoggingEnabled){console.log("[IndexedDB] GetAll:",{storeName:t})}return this.executeTransaction(t,"readonly",(t=>t.getAll()))}async update(t,e){if(this.isLoggingEnabled){console.log("[IndexedDB] Update:",{storeName:t,item:e})}return this.executeTransaction(t,"readwrite",(t=>t.put(e)))}async delete(t,e){if(this.isLoggingEnabled){console.log("[IndexedDB] Delete:",{storeName:t,key:e})}return this.executeTransaction(t,"readwrite",(t=>t.delete(e)))}async deleteByRange(t,e){if(this.isLoggingEnabled){console.log("[IndexedDB] DeleteByRange:",{storeName:t,range:e})}return this.executeTransaction(t,"readwrite",(t=>t.delete(e)))}async getAllByRange(t,e){if(this.isLoggingEnabled){console.log("[IndexedDB] GetAllByRange:",{storeName:t,range:e})}return this.executeTransaction(t,"readonly",(t=>t.getAll(e)))}async getAllByIndex(t,e,i){if(this.isLoggingEnabled){console.log("[IndexedDB] GetAllByIndex:",{storeName:t,indexName:e,query:i})}return this.executeTransaction(t,"readonly",(t=>{const s=t.index(e);return s.getAll(i)}))}async executeTransaction(t,e,i){if(!this.db){throw new Error("Database is not open.")}return new Promise(((s,o)=>{const n=this.db.transaction(t,e);const r=n.objectStore(t);const a=i(r);let l;n.oncomplete=()=>{s(l)};n.onabort=()=>{o(n.error??new Error("Transaction aborted"))};n.onerror=()=>{o(n.error)};a.onsuccess=()=>{l=a.result}}))}async batch(t){if(!this.db){throw new Error("Database is not open.")}const e=await this.extractStoreNamesFromActions(t);if(this.isLoggingEnabled){console.log("[IndexedDB] Starting batch transaction:",{storeNames:e})}return new Promise(((i,s)=>{const o=this.db.transaction(e,"readwrite");const n=[];const r=[];const a={add:(t,e)=>this.add(t,e),get:(t,e)=>this.get(t,e),getAll:t=>this.getAll(t),update:(t,e)=>this.update(t,e),delete:(t,e)=>this.delete(t,e),deleteByRange:(t,e)=>this.deleteByRange(t,e),getAllByRange:(t,e)=>this.getAllByRange(t,e),getAllByIndex:(t,e,i)=>this.getAllByIndex(t,e,i),executeTransaction:(t,e,i)=>new Promise(((s,n)=>{if(this.isLoggingEnabled){console.log("[IndexedDB] Executing batch action:",{storeName:t,mode:e})}const r=o.objectStore(t);const a=i(r);a.onsuccess=()=>{if(this.isLoggingEnabled){console.log("[IndexedDB] Batch action request successful:",{result:a.result})}s(a.result)};a.onerror=()=>{console.error("[IndexedDB] Batch action request error:",a.error);n(a.error)}}))};o.oncomplete=()=>{if(this.isLoggingEnabled){console.log("[IndexedDB] Batch transaction complete.")}Promise.all(r).then((()=>i(n)))};o.onabort=()=>{console.error("[IndexedDB] Batch transaction aborted:",o.error);s(o.error??new Error("Transaction aborted"))};o.onerror=()=>{console.error("[IndexedDB] Batch transaction error:",o.error);s(o.error)};t.forEach(((t,e)=>{const i=t(a).then((t=>{n[e]=t})).catch((t=>{if(!o.error){o.abort()}s(t)}));r.push(i)}))}))}async extractStoreNamesFromActions(t){const e=new Set;const i=new Proxy(this,{get:(t,i)=>{if(["add","get","getAll","update","delete","deleteByRange","getAllByRange","getAllByIndex"].includes(i)){return t=>{e.add(t);return Promise.resolve()}}return t[i]}});await Promise.all(t.map((t=>t(i))));return Array.from(e)}}class rt{map;constructor(){this.map=new Map}reset(){this.map.clear()}insert(t){if(!t.id){return false}this.map.set(t.id,t);return true}update(t){if(!t.id||!this.map.has(t.id)){return false}this.map.set(t.id,t);return true}remove(t){for(const[e,i]of this.map){if(t(i)){this.map.delete(e)}}}filter(t){const e=[];for(const i of this.map.values()){if(t(i)){e.push(i)}}return e}allObjects(){return Array.from(this.map.values())}}class at{_kritzelEngine;_state;_history;_database;_listeners=new Map;objects=[];get history(){return this._history}get database(){return this._database}get state(){return this._state}get currentZIndex(){return this._state.objectsMap.filter((t=>!(t instanceof g)&&!(t instanceof k))).length}get allObjects(){return this._state.objectsMap.allObjects()}get selectedObjects(){return this.allObjects.filter((t=>!(t instanceof g))).filter((t=>t.isSelected))}get offsetX(){return this._state.host.getBoundingClientRect().left}get offsetY(){return this._state.host.getBoundingClientRect().top}get isDisabled(){return this._state.isEnabled===false||this._state.isReady===false||this._state.activeWorkspace===null}constructor(t){this._state=ot;this._kritzelEngine=t;this._history=new st(this);this._database=new nt("kritzelDB",1,this._state.debugInfo.logDatabase);this._state.objectsMap=new rt}async initializeDatabase(){await this._database.open([{name:"objects",options:{keyPath:["workspaceId","id"]}},{name:"workspaces",options:{keyPath:"id"}}]);this.rerender()}async initializeWorkspace(t){const e=await this.getWorkspaces();const i=[...e].sort(((t,e)=>e.updatedAt.getTime()-t.updatedAt.getTime()))[0];const s=new y(v.generateUUID(),"New Workspace");this._state.activeWorkspace=t??i??s;const o=await this.getWorkspace(this._state.activeWorkspace.id);if(o){await this.updateWorkspace(this._state.activeWorkspace)}else{await this.createWorkspace(this._state.activeWorkspace)}this._state.workspaces=await this.getWorkspaces();this.state.translateX=this._state.activeWorkspace.viewport.translateX;this.state.translateY=this._state.activeWorkspace.viewport.translateY;this.state.scale=this._state.activeWorkspace.viewport.scale;await this.initializeWorkspaceObjects(this._state.activeWorkspace.id)}async initializeWorkspaceObjects(t){this._state.objectsMap.reset();this._history.reset();const e=await this._database.getAllByRange("objects",IDBKeyRange.bound([t],[t,""]));const i=new x(this);e.forEach((t=>{const e=i.revive(t);this._state.objectsMap.insert(e)}));this.rerender()}async updateWorkspaceViewport(t,e,i){if(!this.state.activeWorkspace){throw new Error("Workspace not initialized")}this.state.activeWorkspace.viewport={translateX:t,translateY:e,scale:i};this.state.activeWorkspace.updatedAt=new Date;await this._database.update("workspaces",this.state.activeWorkspace)}async addObjectToDatabase(t){if(!this._database){throw new Error("Database not initialized")}if(!this.state.activeWorkspace){throw new Error("Workspace not initialized")}this.state.activeWorkspace.updatedAt=new Date;await this._database.batch([e=>e.add("objects",t),t=>t.update("workspaces",this.state.activeWorkspace)]).catch((t=>{console.error("Error adding object to database:",t)}))}async updateObjectInDatabase(t){if(!this._database){throw new Error("Database not initialized")}if(!this.state.activeWorkspace){throw new Error("Workspace not initialized")}this.state.activeWorkspace.updatedAt=new Date;await this._database.batch([e=>e.update("objects",t),t=>t.update("workspaces",this.state.activeWorkspace)]).catch((t=>{console.error("Error updating object in database:",t)}))}async deleteObjectFromDatabase(t){if(!this._database){throw new Error("Database not initialized")}if(!this.state.activeWorkspace){throw new Error("Workspace not initialized")}this.state.activeWorkspace.updatedAt=new Date;await this._database.batch([e=>e.delete("objects",[this.state.activeWorkspace.id,t]),t=>t.update("workspaces",this.state.activeWorkspace)]).catch((t=>{console.error("Error deleting object from database:",t)}))}getWorkspace(t){if(!this._database){throw new Error("Database not initialized")}return this._database.get("workspaces",t)}getWorkspaces(){if(!this._database){throw new Error("Database not initialized")}return this._database.getAll("workspaces")}async createWorkspace(t){if(!this._database){throw new Error("Database not initialized")}t.createdAt=new Date;t.updatedAt=new Date;await this._database.add("workspaces",t);this.state.workspaces.push(t)}async updateWorkspace(t){if(!this._database){throw new Error("Database not initialized")}t.updatedAt=new Date;await this._database.update("workspaces",t);const e=this.state.workspaces.findIndex((e=>e.id===t.id));if(e!==-1){this.state.workspaces[e]=t}}async deleteWorkspace(t){if(!this._database){throw new Error("Database not initialized")}const e=IDBKeyRange.bound([t.id],[t.id,""]);await this._database.deleteByRange("objects",e);await this._database.delete("workspaces",t.id);this.state.workspaces=this.state.workspaces.filter((e=>e.id!==t.id))}rerender(){if(this._kritzelEngine){this._kritzelEngine.forceUpdate++}}findObjectById(t){for(const e of this.allObjects){if(e.id===t){return e}}return null}deselectAllObjects(){if(this._state.selectionGroup){this._history.executeCommand(new w(this,this))}}onStateChange(t,e){if(!this._listeners.has(t)){this._listeners.set(t,new Set)}this._listeners.get(t).add(e)}setState(t,e){const i=this._state[t];if(i!==e){this._state[t]=e;if(this._listeners.has(t)){this._listeners.get(t).forEach((s=>s(e,i,String(t))))}}}delete(){if(!this.state.selectionGroup){return}const t=this.state.selectionGroup.objects.map((t=>new m(this,this.state.selectionGroup,t)));const e=new w(this,this.state.selectionGroup);const i=[...t,e];this.history.executeCommand(new z(this,this.state.selectionGroup,i))}deleteObject(t,e=false){const i=this.findObjectById(t);if(i){const t=new m(this,this,i,e);this.history.executeCommand(t)}}copy(){this.state.copiedObjects=this.state.selectionGroup.copy()}paste(t,e){this.state.copiedObjects.isSelected=true;const i=t!==undefined?t:this.state.copiedObjects.translateX+25;const s=e!==undefined?e:this.state.copiedObjects.translateY+25;this.state.copiedObjects.updatePosition(i,s);const o=[];if(this.state.selectionGroup!==null){o.push(new w(this,this.state.selectionGroup))}const n=this.state.copiedObjects.objects.map((t=>new C(this,this,t)));const r=new I(this,this,this.state.copiedObjects);o.push(...n,r);this.history.executeCommand(new z(this,this,o));this.state.isSelecting=false;this.state.copiedObjects=this.state.selectionGroup.copy();this.setState("activeTool",M.getTool("selection"))}bringForward(t){const e=this.allObjects.length+1;const i=t?[t]:this.state.selectionGroup.objects;const s=i.map((t=>{if(t.zIndex===e){return}return new S(this,this,t,{zIndex:t.zIndex+1})}));this.history.executeCommand(new z(this,this,s))}sendBackward(t){const e=0;const i=t?[t]:this.state.selectionGroup.objects;const s=i.map((t=>{if(t.zIndex===e){return}return new S(this,this,t,{zIndex:t.zIndex-1})}));this.history.executeCommand(new z(this,this,s))}bringToFront(t){const e=Math.max(...this.allObjects.map((t=>t.zIndex)))+1;const i=t?[t]:this.state.selectionGroup.objects;const s=i.map((t=>new S(this,this,t,{zIndex:e})));this.history.executeCommand(new z(this,this,s))}sendToBack(t){const e=Math.min(...this.allObjects.map((t=>t.zIndex)))-1;const i=t?[t]:this.state.selectionGroup.objects;const s=i.map((t=>new S(this,this,t,{zIndex:e})));this.history.executeCommand(new z(this,this,s))}selectObjects(t){if(t.length===0){return}const e=g.create(this);t.forEach((t=>{t.isSelected=false;e.addOrRemove(t)}));e.isSelected=true;this.state.selectionGroup=e;if(t.length===1){e.rotation=e.objects[0].rotation}this.history.executeCommand(new I(this,this,e))}selectAllObjectsInViewport(){const t=this._state.objectsMap.filter((t=>t.isInViewport())).filter((t=>!(t instanceof g)&&!(t instanceof k)&&!(t instanceof O)));if(t.length>0){const e=g.create(this);t.forEach((t=>{t.isSelected=false;e.addOrRemove(t)}));e.isSelected=true;this.state.isSelecting=false;if(t.length===1){e.rotation=e.objects[0].rotation}this.history.executeCommand(new I(this,this,e));this.setState("activeTool",M.getTool("selection"))}}clearSelection(){const t=new w(this,this.state.selectionGroup);this.history.executeCommand(t);this.state.selectionGroup=null;this.state.selectionBox=null;this.state.isSelecting=false;this.state.isResizeHandleSelected=false;this.state.isRotationHandleSelected=false}resetActiveText(){if(this.state.activeText&&this.state.activeText.value===" "){this.deleteObject(this.state.activeText.id,true)}this.state.activeText=null}getObjectFromPointerEvent(t,e=".object"){const i=this.state.host?.shadowRoot;if(!i)return null;const s=t.clientX;const o=t.clientY;const n=i.elementFromPoint(s,o);if(!n)return null;const r=n.closest(e);if(r){return this.allObjects.find((t=>r.id===t.id))}return null}getObjectsFromPointerEvent(t,e=".object"){const i=this.state.host?.shadowRoot;if(!i)return[];const s=t.clientX;const o=t.clientY;const n=i.elementsFromPoint(s,o);if(!n||n.length===0)return[];const r=new Set;n.forEach((t=>{const i=t.closest(e);if(i&&i.id){r.add(i.id)}}));if(r.size>0){return this.allObjects.filter((t=>r.has(t.id))).sort(((t,e)=>e.zIndex-t.zIndex))}return[]}getCanvasPoint(t){if(!this.state.host){return{x:0,y:0}}const e=this.state.host.getBoundingClientRect();const i=t.clientX-e.left;const s=t.clientY-e.top;const o=i-this.state.translateX;const n=s-this.state.translateY;const r=o/this.state.scale;const a=n/this.state.scale;return{x:r,y:a}}}class lt extends j{constructor(t){super(t)}handleKeyDown(t){if(this._store.state.isFocused===false){return}this._store.state.isCtrlKeyPressed=t.ctrlKey;if(this._store.state.isCtrlKeyPressed){t.preventDefault()}if(t.key==="Escape"&&this._store.state.selectionGroup){this._store.clearSelection()}if(t.key==="Delete"&&this._store.state.selectionGroup){this._store.delete()}if(t.key==="z"&&t.ctrlKey){this._store.history.undo()}if(t.key==="y"&&t.ctrlKey){this._store.history.redo()}if(t.key==="s"&&t.ctrlKey){this._store.setState("activeTool",M.getTool("selection"));this._store.deselectAllObjects()}if(t.key==="b"&&t.ctrlKey){this._store.setState("activeTool",M.getTool("brush"));this._store.deselectAllObjects()}if(t.key==="e"&&t.ctrlKey){this._store.setState("activeTool",M.getTool("eraser"));this._store.deselectAllObjects()}if(t.key==="i"&&t.ctrlKey){this._store.setState("activeTool",M.getTool("image"));this._store.deselectAllObjects()}if(t.key==="x"&&t.ctrlKey){this._store.setState("activeTool",M.getTool("text"));this._store.deselectAllObjects()}if(t.key==="c"&&t.ctrlKey&&this._store.state.selectionGroup){this._store.copy();this._store.rerender()}if(t.key==="v"&&t.ctrlKey&&this._store.state.copiedObjects){this._store.paste()}if(t.key==="+"&&t.ctrlKey&&this._store.state.selectionGroup){this._store.bringForward()}if(t.key==="-"&&t.ctrlKey&&this._store.state.selectionGroup){this._store.sendBackward()}if(t.key==="*"&&t.shiftKey&&this._store.state.selectionGroup){this._store.bringToFront()}if(t.key==="_"&&t.shiftKey&&this._store.state.selectionGroup){this._store.sendToBack()}if(t.key==="a"&&t.ctrlKey&&this._store.state.activeText){this._store.state.activeText.selectAll()}if(t.key==="v"&&t.ctrlKey&&this._store.state.activeText){this._store.state.activeText.insertFromClipboard()}}handleKeyUp(t){if(this._store.state.isFocused===false){return}this._store.state.isCtrlKeyPressed=t.ctrlKey}}class ht extends j{globalContextMenuItems=[];objectContextMenuItems=[];constructor(t,e,i){super(t);this.globalContextMenuItems=e;this.objectContextMenuItems=i}handleContextMenu(t){if(this._store.state.skipContextMenu){this._store.state.skipContextMenu=false;return}const e=this._store.getObjectFromPointerEvent(t,".object");if(e&&!(e instanceof g)){this._store.state.selectionGroup=g.create(this._store);this._store.state.selectionGroup.addOrRemove(e);this._store.state.selectionGroup.isSelected=true;this._store.state.selectionGroup.rotation=e.rotation;this._store.state.isSelecting=false;this._store.history.executeCommand(new I(this._store,this,this._store.state.selectionGroup))}this._store.state.contextMenuItems=this._store.state.selectionGroup?this.objectContextMenuItems:this.globalContextMenuItems;let i=t.clientX-this._store.offsetX;let s=t.clientY-this._store.offsetY;const o=150;const n=200;const r=10;if(i+o>window.innerWidth-r){i=window.innerWidth-o-r}if(s+n>window.innerHeight-r){s=window.innerHeight-n-r}i=Math.max(r,i);s=Math.max(r,s);this._store.state.contextMenuX=i;this._store.state.contextMenuY=s;this._store.state.isContextMenuVisible=true;this._store.state.isEnabled=false;this._store.rerender()}}class ct{static isInstanceOf(t,e){return!!t&&t.__class__===e}}const dt=":host{display:block;position:relative;height:100%;width:100%;overflow:hidden;background-color:var(--kritzel-engine-background-color, #ffffff)}:host,:host *{touch-action:none;user-select:none}.debug-panel{position:absolute;pointer-events:none;top:0;right:0}.origin{position:relative;top:0;left:0;height:0;width:0;pointer-events:none;-webkit-transform-origin:top left;-moz-transform-origin:top left;transform-origin:top left;overflow:visible}.object{overflow:visible}textarea{all:unset;box-sizing:border-box;outline:none !important;border:none !important;overflow:visible}.resize-handle-overlay.top-left,.resize-handle-overlay.bottom-right{cursor:nwse-resize}.resize-handle-overlay.top-right,.resize-handle-overlay.bottom-left{cursor:nesw-resize}.rotation-handle-overlay{cursor:grab}";const ut=class{workspace;activeTool;globalContextMenuItems;objectContextMenuItems;scaleMax=G;scaleMin=Z;isEngineReady;activeToolChange;workspacesChange;get host(){return o(this)}forceUpdate=0;onWorkspaceChange(t){if(t){this.store.initializeWorkspace(t)}}validateScaleMax(t){if(t>G){console.warn(`scaleMax cannot be greater than ${G}.`);this.scaleMax=G;this.store.state.scaleMax=this.scaleMax}else{this.store.state.scaleMax=t}}validateScaleMin(t){if(t<Z){console.warn(`scaleMin cannot be less than ${Z}.`);this.scaleMin=Z;this.store.state.scaleMin=this.scaleMin}else{this.store.state.scaleMin=t}}store;viewport;contextMenuHandler;keyHandler;contextMenuElement=null;get isSelecting(){return this.store.state.activeTool instanceof l&&this.store.state.isSelecting}get isSelectionActive(){return this.store.state.activeTool instanceof l&&this.store.state.selectionGroup!==null}constructor(i){t(this,i);this.isEngineReady=e(this,"isEngineReady");this.activeToolChange=e(this,"activeToolChange");this.workspacesChange=e(this,"workspacesChange");this.store=new at(this)}componentWillLoad(){this.validateScaleMax(this.scaleMax);this.validateScaleMin(this.scaleMin)}async componentDidLoad(){this.contextMenuHandler=new ht(this.store,this.globalContextMenuItems,this.objectContextMenuItems);this.keyHandler=new lt(this.store);this.viewport=new tt(this.store,this.host);this._registerStateChangeListeners();await this.store.initializeDatabase();await this.store.initializeWorkspace(this.workspace);if(this.store.state.isReady===false){this.store.state.isReady=true;this.isEngineReady.emit(this.store.state)}}handleWheel(t){if(this.store.isDisabled){return}if(this.store.state.isContextMenuVisible){this.hideContextMenu()}this.viewport.handleWheel(t);this.store.state?.activeTool?.handleWheel(t)}handlePointerDown(t){if(this.store.isDisabled){return}if(b.isPointerEventOnContextMenu(t)===false&&this.store.state.isContextMenuVisible){this.hideContextMenu();return}b.onLongTouchPress(t,(t=>{if(!(this.store.state.activeTool instanceof l)){return}this.contextMenuHandler.handleContextMenu(t)}));this.host.setPointerCapture(t.pointerId);this.store.state.pointers.set(t.pointerId,t);this.viewport.handlePointerDown(t);this.store.state?.activeTool?.handlePointerDown(t)}handlePointerMove(t){if(this.store.isDisabled){return}this.store.state.pointers.set(t.pointerId,t);this.viewport.handlePointerMove(t);this.store.state?.activeTool?.handlePointerMove(t)}handlePointerUp(t){if(this.store.isDisabled){return}this.store.state.pointers.delete(t.pointerId);this.host.releasePointerCapture(t.pointerId);this.viewport.handlePointerUp(t);this.store.state?.activeTool?.handlePointerUp(t)}handlePointerCancel(t){if(this.store.isDisabled){return}this.host.releasePointerCapture(t.pointerId);this.store.state.pointers.delete(t.pointerId);this.viewport.handlePointerUp(t);this.store.state?.activeTool?.handlePointerUp(t)}handleContextMenu(t){t.preventDefault();if(this.store.isDisabled){return}if(t.pointerType==="touch"){return}this.contextMenuHandler.handleContextMenu(t)}handleResize(){this.viewport.handleResize()}handleKeyDown(t){this.keyHandler.handleKeyDown(t)}handleKeyUp(t){this.keyHandler.handleKeyUp(t)}updateFocus(t){if(this.store.isDisabled){return}const e=this.store.state.host.getBoundingClientRect();const i=t.clientX>=e.left&&t.clientX<=e.right&&t.clientY>=e.top&&t.clientY<=e.bottom;const s=t.composedPath();const o=this.host.closest("kritzel-engine");const n=s.includes(o||this.host);this.store.setState("isFocused",i&&n)}handleClick(){this.enable()}async registerTool(t,e,i){if(typeof e!=="function"||!(e.prototype instanceof D)){console.error(`Failed to register tool "${t}": Tool class must be a constructor function`);return null}const s=M.registerTool(t,e,this.store);if(i){Object.entries(i).forEach((([t,e])=>{s[t]=e}))}return Promise.resolve(s)}async changeActiveTool(t){this.store.state.activeTool?.onDeactivate();this.store.setState("activeTool",t);this.store.deselectAllObjects();t?.onActivate()}async setFocus(){this.host.focus();this.store.state.isFocused=true}async disable(){this.store.state.isEnabled=false;this.forceUpdate++}async enable(){this.store.state.isEnabled=true;this.forceUpdate++}async delete(){this.store.delete()}async copy(){this.store.copy()}async paste(t,e){this.store.paste(t,e)}async bringForward(t){this.store.bringForward(t)}async sendBackward(t){this.store.sendBackward(t)}async bringToFront(t){this.store.bringToFront(t)}async sendToBack(t){this.store.sendToBack(t)}async undo(){this.store.history.undo()}async redo(){this.store.history.redo()}async hideContextMenu(){this.store.state.pointers.clear();this.store.state.isContextMenuVisible=false;this.store.state.selectionBox=null;this.store.state.isSelecting=false}async getObjectById(t){const e=this.store.objects.find((e=>e.id===t));return e||null}async addObject(t){this.store.deselectAllObjects();t.id=t.generateId();t._store=this.store;t.scale=t.scale?t.scale:this.store.state.scale;t.zIndex=this.store.currentZIndex;const e=new C(this.store,this,t);this.store.history.executeCommand(e);return t}async updateObject(t,e){this.store.deselectAllObjects();const i=new S(this.store,this,t,e);this.store.history.executeCommand(i);return t}async removeObject(t){this.store.deselectAllObjects();const e=new m(this.store,this,t);this.store.history.executeCommand(e);return t}async getSelectedObjects(){return this.store.state.selectionGroup?this.store.state.selectionGroup.objects:[]}async selectObjects(t){this.store.state.activeTool?.onDeactivate();this.store.setState("activeTool",M.getTool("selection"));this.store.deselectAllObjects();this.store.selectObjects(t)}async selectAllObjectsInViewport(){this.store.state.activeTool?.onDeactivate();this.store.setState("activeTool",M.getTool("selection"));this.store.deselectAllObjects();this.store.selectAllObjectsInViewport()}async clearSelection(){this.store.clearSelection()}async centerObjectInViewport(t){t.centerInViewport();const e=new S(this.store,this,t,t);this.store.history.executeCommand(e);return t}async getCopiedObjects(){return this.store.state.copiedObjects?.objects||[]}async createWorkspace(t){return this.store.createWorkspace(t).then((()=>{this.workspacesChange.emit(this.store.state.workspaces)}))}async updateWorkspace(t){return this.store.updateWorkspace(t).then((()=>{this.workspacesChange.emit(this.store.state.workspaces)}))}async deleteWorkspace(t){return this.store.deleteWorkspace(t).then((async()=>{this.workspacesChange.emit(this.store.state.workspaces)}))}async getWorkspaces(){return this.store.getWorkspaces()}_registerStateChangeListeners(){this.store.onStateChange("activeTool",this._handleActiveToolChange.bind(this));this.store.onStateChange("isFocused",this._handleIsFocusedChange.bind(this))}_handleActiveToolChange(t){if(!(t instanceof l)){this.store.clearSelection()}this.store.state.skipContextMenu=false;this.activeToolChange.emit(t);f.forceHideKeyboard()}_handleIsFocusedChange(t){if(!t){this.store.resetActiveText()}}render(){const t=window.getComputedStyle(this.host);const e=t.getPropertyValue("--kritzel-selection-handle-size").trim()||"6px";const o=parseFloat(e);const n=o*2<14?14:o;return i(s,{key:"fd353ff17bcde1a9ab646b6f463d1c6ce00a3dff"},i("div",{key:"45bc2af8f1a3a2bfa3aa76a478c7bf208027da0c",class:"debug-panel",style:{display:this.store.state.debugInfo.showViewportInfo?"block":"none"}},i("div",{key:"50e932febc35c7dbe852ad99d96ca4f0e0b742fc"},"ActiveWorkspaceId: ",this.store.state?.activeWorkspace?.id),i("div",{key:"af94b5061f0803588fece6cccdf540f46f13ca05"},"ActiveWorkspaceName: ",this.store.state?.activeWorkspace?.name),i("div",{key:"89c0d21ce94f4eda72153554fadbd6942e785edc"},"TranslateX: ",this.store.state?.translateX),i("div",{key:"340b5165265241972a7a940268c7940063ba8c12"},"TranslateY: ",this.store.state?.translateY),i("div",{key:"428054b3ea4a1c327f03d6b37bfe6331dea6c57b"},"ViewportWidth: ",this.store.state?.viewportWidth),i("div",{key:"d67420ef633627413066a28b8ef9ac43c520015d"},"ViewportHeight: ",this.store.state?.viewportHeight),i("div",{key:"dedf9eb89c79fa496f7b6d0df9c646898f66b3d4"},"ObjectsInViewport. ",this.store.objects.length),i("div",{key:"59bb8416941fd84305f2892f24098f6f4a084401"},"Scale: ",this.store.state?.scale),i("div",{key:"6705a4cec22e4e33f75e296e17bc2952a3d1cba7"},"ActiveTool: ",this.store.state?.activeTool?.name),i("div",{key:"ca22e0a377a11fdca851b38f1bf425648cd3b9dd"},"HasViewportChanged: ",this.store.state?.hasViewportChanged?"true":"false"),i("div",{key:"57508b9ee24a5af631e6bb1eace404c39af14f82"},"IsEnabled: ",this.store.state?.isEnabled?"true":"false"),i("div",{key:"f6cea367b5007f767afb25a033215abda734de9d"},"IsScaling: ",this.store.state?.isScaling?"true":"false"),i("div",{key:"4386ef749facd2e54da7f58aa2713b87ed76f2df"},"IsPanning: ",this.store.state?.isPanning?"true":"false"),i("div",{key:"1713185b36a50dfe0f9efa0c92394222db80a377"},"IsFocused: ",this.store.state.isFocused?"true":"false"),i("div",{key:"5104f428b808e7d843712302ad2e58b619876bee"},"IsSelecting: ",this.isSelecting?"true":"false"),i("div",{key:"2cb3b27a00627188e7082fa94169eb961a1ae6ed"},"IsSelectionActive: ",this.isSelectionActive?"true":"false"),i("div",{key:"7407656e61be665f27e706738faa6d318e2c1d04"},"IsResizeHandleSelected: ",this.store.state.isResizeHandleSelected?"true":"false"),i("div",{key:"701bf05c25cb3d3728af6602f694e6064627ea59"},"IsRotationHandleSelected: ",this.store.state.isRotationHandleSelected?"true":"false"),i("div",{key:"772c345ea9c64ef800fdbb26919f1a54ca889025"},"IsDrawing: ",this.store.state.isDrawing?"true":"false"),i("div",{key:"dc687c8ba24182b8b61979ad334b989d3be72ec6"},"IsWriting: ",this.store.state.isWriting?"true":"false"),i("div",{key:"10cbc575a7905396a76eca4e7b56be719755aeb4"},"PointerX: ",this.store.state?.pointerX),i("div",{key:"4f21199328ffadddcc58b7d6b102a89e5079f676"},"PointerY: ",this.store.state?.pointerY),i("div",{key:"ac705f38cb323b8dc8cbf95f875657c5dec5c9ae"},"SelectedObjects: ",this.store.state.selectionGroup?.objects.length||0)),i("div",{key:"2ca55c53246e64520af6720a3f87d2357295ca7f",id:"origin",class:"origin",style:{transform:`matrix(${this.store.state?.scale}, 0, 0, ${this.store.state?.scale}, ${this.store.state?.translateX}, ${this.store.state?.translateY})`}},this.store.state.objectsMap.allObjects()?.map((t=>i("div",{key:t.id,style:{display:t.isInViewport()?"block":"none",transform:t?.transformationMatrix,transformOrigin:"top left",zIndex:t.zIndex.toString(),position:"absolute"}},i("svg",{xmlns:"http://www.w3.org/2000/svg",id:t.id,class:"object",style:{height:t?.totalHeight.toString(),width:t?.totalWidth.toString(),left:"0",top:"0",position:"absolute",transform:`rotate(${t.rotationDegrees}deg)`,transformOrigin:"center",opacity:t.markedForRemoval?"0.5":t.opacity.toString(),pointerEvents:t.markedForRemoval?"none":"auto"}},i("foreignObject",{x:"0",y:"0",width:t.totalWidth.toString(),height:t.totalHeight.toString(),style:{minHeight:"0",minWidth:"0",backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:t.borderWidth+"px",borderStyle:"solid",padding:t.padding+"px",overflow:"visible"}},ct.isInstanceOf(t,"KritzelPath")&&i("svg",{ref:e=>e?t.mount(e):t.unmount(),xmlns:"http://www.w3.org/2000/svg",style:{height:t?.height.toString(),width:t?.width.toString(),position:"absolute",overflow:"visible"},viewBox:t?.viewBox},i("path",{d:t?.d,fill:t.fill,stroke:t?.stroke})),ct.isInstanceOf(t,"KritzelImage")&&i("img",{ref:e=>e?t.mount(e):t.unmount(),src:t.src,style:{width:"100%",height:"100%",userSelect:"none",pointerEvents:"none"},draggable:false,onDragStart:t=>t.preventDefault()}),ct.isInstanceOf(t,"KritzelText")&&i("textarea",{ref:e=>e?t.mount(e):t.unmount(),value:t.value,onKeyDown:e=>t.handleKeyDown(e),onInput:e=>t.handleInput(e),rows:t.rows,style:{width:"100%",height:"100%",color:t.fontColor,fontSize:t.fontSize?.toString()+"px",fontFamily:t.fontFamily,border:"none",outline:"none",resize:"none",overflow:"hidden",display:"block",padding:"1px",whiteSpace:"nowrap",pointerEvents:t.isReadonly?"none":"auto",cursor:t.isReadonly?"default":"text",caretColor:t.isReadonly?"transparent":"auto"}}),ct.isInstanceOf(t,"KritzelCustomElement")&&i("div",{ref:e=>e?t.mount(e):t.unmount(),style:{width:"100%",height:"100%",pointerEvents:"auto",overflow:"hidden",display:"block"}}),ct.isInstanceOf(t,"KritzelSelectionGroup")&&i("div",{ref:e=>e?t.mount(e):t.unmount(),style:{width:"100%",height:"100%"}}),ct.isInstanceOf(t,"KrtizelSelectionBox")&&i("div",{ref:e=>e?t.mount(e):t.unmount(),style:{width:"100%",height:"100%"}})),i("line",{x1:"0",y1:"0",x2:t.totalWidth,y2:"0",style:{stroke:"var(--kritzel-selection-border-color, #007AFF)",strokeWidth:`calc(var(--kritzel-selection-border-width, 2px) * ${t.scale} / ${this.store.state?.scale})`,strokeLinecap:"square"},visibility:t.isSelected?"visible":"hidden"}),i("line",{x1:"0",y1:"0",x2:"0",y2:t.totalHeight,style:{stroke:"var(--kritzel-selection-border-color, #007AFF)",strokeWidth:`calc(var(--kritzel-selection-border-width, 2px) * ${t.scale} / ${this.store.state?.scale})`,strokeLinecap:"square"},visibility:t.isSelected?"visible":"hidden"}),i("line",{x1:"0",y1:t.totalHeight,x2:t.totalWidth,y2:t.totalHeight,style:{stroke:"var(--kritzel-selection-border-color, #007AFF)",strokeWidth:`calc(var(--kritzel-selection-border-width, 2px) * ${t.scale} / ${this.store.state?.scale})`,strokeLinecap:"square"},visibility:t.isSelected?"visible":"hidden"}),i("line",{x1:t.totalWidth,y1:"0",x2:t.totalWidth,y2:t.totalHeight,style:{stroke:"var(--kritzel-selection-border-color, #007AFF)",strokeWidth:`calc(var(--kritzel-selection-border-width, 2px) * ${t.scale} / ${this.store.state?.scale})`,strokeLinecap:"square"},visibility:t.isSelected?"visible":"hidden"}),i("circle",{class:"resize-handle top-left",cx:"0",cy:"0",r:`${o*t.scale/this.store.state?.scale}`,style:{fill:"var(--kritzel-selection-handle-color, #000000)"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("circle",{class:"resize-handle-overlay top-left",cx:"0",cy:"0",r:`${n*t.scale/this.store.state?.scale}`,style:{fill:"transparent"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("circle",{class:"resize-handle top-right",cx:t.totalWidth,cy:"0",r:`${o*t.scale/this.store.state?.scale}`,style:{fill:"var(--kritzel-selection-handle-color, #000000)"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("circle",{class:"resize-handle-overlay top-right",cx:t.totalWidth,cy:"0",r:`${n*t.scale/this.store.state?.scale}`,style:{fill:"transparent"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("circle",{class:"resize-handle bottom-left",cx:"0",cy:t.totalHeight,r:`${o*t.scale/this.store.state?.scale}`,style:{fill:"var(--kritzel-selection-handle-color, #000000)"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("circle",{class:"resize-handle-overlay bottom-left",cx:"0",cy:t.totalHeight,r:`${n*t.scale/this.store.state?.scale}`,style:{fill:"transparent"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("circle",{class:"resize-handle bottom-right",cx:t.totalWidth,cy:t.totalHeight,r:`${o*t.scale/this.store.state?.scale}`,style:{fill:"var(--kritzel-selection-handle-color, #000000)"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("circle",{class:"resize-handle-overlay bottom-right",cx:t.totalWidth,cy:t.totalHeight,r:`${n*t.scale/this.store.state?.scale}`,style:{fill:"transparent"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("line",{x1:t.totalWidth/2,y1:"0",x2:t.totalWidth/2,y2:-(15*t.scale/this.store.state?.scale),style:{stroke:"var(--kritzel-selection-border-color, #007AFF)",strokeWidth:`calc(var(--kritzel-selection-border-width, 2px) * ${t.scale} / ${this.store.state?.scale})`},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("circle",{class:"rotation-handle",cx:t.totalWidth/2,cy:-(15*t.scale/this.store.state?.scale),r:`${o*t.scale/this.store.state?.scale}`,style:{fill:"var(--kritzel-selection-handle-color, #000000)"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("circle",{class:"rotation-handle-overlay",cx:t.totalWidth/2,cy:-(15*t.scale/this.store.state?.scale),r:`${n*t.scale/this.store.state?.scale}`,style:{fill:"transparent",cursor:"grab"},visibility:t.isSelected&&!this.isSelecting?"visible":"hidden"}),i("g",{style:{display:this.store.state.debugInfo.showObjectInfo?"block":"none",pointerEvents:"none"}},i("foreignObject",{x:t.totalWidth.toString(),y:"0",width:"400px",height:"160px",style:{minHeight:"0",minWidth:"0",display:t.isDebugInfoVisible?"block":"none"}},i("div",{style:{width:"100%",height:"100%"}},i("div",{style:{whiteSpace:"nowrap"}},"zIndex: ",t.zIndex),i("div",{style:{whiteSpace:"nowrap"}},"translateX: ",t.translateX),i("div",{style:{whiteSpace:"nowrap"}},"translateY: ",t.translateY),i("div",{style:{whiteSpace:"nowrap"}},"width: ",t.width),i("div",{style:{whiteSpace:"nowrap"}},"height: ",t.height),i("div",{style:{whiteSpace:"nowrap"}},"scale: ",t.scale),i("div",{style:{whiteSpace:"nowrap"}},"rotation: ",t.rotation),i("div",{style:{whiteSpace:"nowrap"}},"x: ",t.x),i("div",{style:{whiteSpace:"nowrap"}},"y: ",t.y)))))))),i("svg",{key:"0098f1b8233d45f49dc8bdcc13c08f20c04b65e1",class:"object",xmlns:"http://www.w3.org/2000/svg",style:{height:this.store.state.currentPath?.height.toString(),width:this.store.state.currentPath?.width.toString(),left:"0",top:"0",zIndex:this.store.state.currentPath?.zIndex.toString(),position:"absolute",transform:this.store.state.currentPath?.transformationMatrix,transformOrigin:"top left",overflow:"visible"},viewBox:this.store.state.currentPath?.viewBox},i("path",{key:"08310713fa8f2f1f695b1b61bb2b6e5a5f77f192",d:this.store.state.currentPath?.d,fill:this.store.state.currentPath?.fill,stroke:this.store.state.currentPath?.stroke}))),this.store.state.isContextMenuVisible&&i("kritzel-context-menu",{key:"2529447e26ba02689303be39cc593dfafc25b96c",class:"context-menu",ref:t=>this.contextMenuElement=t,items:this.store.state.contextMenuItems,objects:this.store.state.selectionGroup?.objects||[],style:{position:"fixed",left:`${this.store.state.contextMenuX}px`,top:`${this.store.state.contextMenuY}px`,zIndex:"10000"},onActionSelected:t=>{t.detail.action({x:(-this.store.state.translateX+this.store.state.contextMenuX)/this.store.state.scale,y:(-this.store.state.translateY+this.store.state.contextMenuY)/this.store.state.scale},this.store.state.selectionGroup?.objects);this.hideContextMenu()}}),this.store.state?.activeTool instanceof c&&!this.store.state.isScaling&&i("kritzel-cursor-trail",{key:"7c10277160eb1bc51581e4dfbdd4d0cdf626ed8c",store:this.store}))}static get watchers(){return{workspace:["onWorkspaceChange"],scaleMax:["validateScaleMax"],scaleMin:["validateScaleMin"]}}};ut.style=dt;const ft=":host{display:block}.font-preview{color:var(--kritzel-font-size-text-color, #333333);line-height:1;text-align:center;font-weight:bold}";const bt=class{constructor(e){t(this,e)}fontFamily="Arial, sans-serif";size=24;color="#000000";render(){return i(s,{key:"d318355704f1bf66468dd793e5e38da827076d3b"},i("div",{key:"447b4fba97f5d1900060859943438733667aed08",class:"font-preview",style:{fontFamily:this.fontFamily,fontSize:`${this.size}px`,color:this.color}},"A"))}};bt.style=ft;const pt=":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box;width:100%}.font-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;cursor:pointer;border-radius:0;color:var(--control-text-color);font-weight:bold;-webkit-tap-highlight-color:transparent}.font-style-button:not(:last-child){border-right:1px solid #333333}.font-style-button:hover{background-color:var(--control-hover-bg)}.font-style-button:active{background-color:var(--control-active-bg)}.font-style-button.selected,.font-style-button.selected:hover,.font-style-button.selected:active{background-color:var(--control-selected-bg);color:var(--control-selected-color)}.font-style-button.italic-text{font-style:italic}";const gt=class{constructor(i){t(this,i);this.fontFamilyChange=e(this,"fontFamilyChange")}fontOptions=[{value:"arial",label:"Arial"},{value:"verdana",label:"Verdana"},{value:"helvetica",label:"Helvetica"},{value:"tahoma",label:"Tahoma"},{value:"trebuchet ms",label:"Trebuchet MS"},{value:"times new roman",label:"Times New Roman"},{value:"georgia",label:"Georgia"},{value:"garamond",label:"Garamond"},{value:"courier new",label:"Courier New"},{value:"brush script mt",label:"Brush Script MT"}];selectedFontFamily;fontFamilyChange;componentWillLoad(){if(this.fontOptions&&this.fontOptions.length>0){const t=this.fontOptions.some((t=>t.value===this.selectedFontFamily));if(!this.selectedFontFamily||!t){this.selectedFontFamily=this.fontOptions[0].value}}}handleDropdownValueChange=t=>{this.fontFamilyChange.emit(t.detail)};render(){const t=this.fontOptions.map((t=>({value:t.value,label:t.label,style:{fontFamily:t.value}})));return i(s,{key:"801b1dbc2b7da7d00fb00ed6a8d8ee7be3e9ef17"},i("kritzel-dropdown",{key:"5f774c0b31ca16a1c8acda1c73ea3aacc2784649",options:t,value:this.selectedFontFamily,onValueChanged:this.handleDropdownValueChange,selectStyles:{fontFamily:this.selectedFontFamily}},i("button",{key:"3c101155ff08854f665750f8988fb3691a77c04a",class:"font-style-button",slot:"suffix"},"B"),i("button",{key:"48d2ead137a8a35f06fb8b5487431e2ce613c755",class:"font-style-button italic-text",slot:"suffix"},"I")))}};gt.style=pt;const kt=":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box}.size-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:4px;cursor:pointer;border:2px solid transparent;box-sizing:border-box;border-radius:50%}.size-container:hover{background-color:var(--kritzel-font-size-hover-background-color, #ebebeb)}.size-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-font-size-selected-background-color, #e0e0e0)}";const yt=class{constructor(i){t(this,i);this.sizeChange=e(this,"sizeChange")}sizes=[8,10,12,16,20,24];selectedSize=null;fontFamily="Arial";sizeChange;handleSizeClick(t){this.selectedSize=t;this.sizeChange.emit(t)}render(){return i(s,{key:"08571feed86b37208956608b170ca1f782b7fb18"},this.sizes.map((t=>i("div",{class:{"size-container":true,selected:this.selectedSize===t},onClick:()=>this.handleSizeClick(t)},i("kritzel-font",{fontFamily:this.fontFamily,size:t})))))}};yt.style=kt;const vt=":host{display:inline-flex;justify-content:center;align-items:center;}span{display:flex;align-items:center;width:100%;height:100%;}span>svg{width:100%;height:100%}";const xt=class{constructor(e){t(this,e)}name;label;size=24;render(){const t=q.get(this.name);if(!t){console.error(`[kritzel-icon] Icon "${this.name}" not found in registry.`);return i("span",{class:"error-icon","aria-label":`Error: Icon ${this.name} not found`},"?")}const e={width:`${this.size}px`,height:`${this.size}px`};return i(s,{style:e},i("span",{"aria-hidden":!this.label,role:this.label?"img":undefined,"aria-label":this.label,innerHTML:t}))}};xt.style=vt;const wt=":host{position:relative;display:flex;flex-direction:column;background-color:var(--kritzel-menu-background-color, #ffffff);width:var(--kritzel-menu-width, 180px);padding:var(--kritzel-menu-padding, 8px);border-radius:var(--kritzel-menu-border-radius, 12px);box-shadow:var(--kritzel-menu-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-menu-border, 1px solid #ebebeb);z-index:2;gap:var(--kritzel-menu-gap, 4px);overflow-y:auto;scrollbar-color:#ebebeb transparent;scrollbar-width:thin;max-height:300px}.has-open-child-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3}";const mt=class{constructor(i){t(this,i);this.itemSelect=e(this,"itemSelect");this.itemSave=e(this,"itemSave");this.itemCancel=e(this,"itemCancel");this.itemToggleChildMenu=e(this,"itemToggleChildMenu");this.itemCloseChildMenu=e(this,"itemCloseChildMenu");this.close=e(this,"close")}get host(){return o(this)}items;parent=null;itemSelect;itemSave;itemCancel;itemToggleChildMenu;itemCloseChildMenu;close;selectedIndex=null;async setFocus(){const t=this.host.querySelector("kritzel-menu-item");if(t){t.focus()}}get openChildMenuItem(){return this.items.find((t=>t.isChildMenuOpen))}get editingMenuItem(){return this.items.find((t=>t.isEditing))}onOverlayClick=t=>{t.stopPropagation();this.itemCloseChildMenu.emit(this.openChildMenuItem)};handleItemSelect=t=>{t.stopPropagation();this.itemSelect.emit(t.detail)};handleSave=t=>{t.stopPropagation();this.itemSave.emit(t.detail)};handleCancel=t=>{t.stopPropagation();this.itemCancel.emit(t.detail)};handleToggleChildMenu=t=>{t.stopPropagation();this.itemToggleChildMenu.emit(t.detail)};handleCloseChildMenu=t=>{t.stopPropagation();this.itemCloseChildMenu.emit(t.detail)};render(){return i(s,{key:"c82bde4dc70fdc79df7471bb10396394f6c3870a",onClick:t=>t.stopPropagation()},this.openChildMenuItem&&i("div",{key:"5fe0323aaa0da44abe736c6ef5e0516113c7820d",class:"has-open-child-overlay",onClick:this.onOverlayClick}),this.items.map((t=>i("kritzel-menu-item",{key:t.id,item:t,parent:this.parent,style:{pointerEvents:this.editingMenuItem&&!t.isEditing?"none":"auto"},onItemSelect:this.handleItemSelect,onItemSave:this.handleSave,onItemCancel:this.handleCancel,onItemToggleChildMenu:this.handleToggleChildMenu,onItemCloseChildMenu:this.handleCloseChildMenu}))))}};mt.style=wt;const zt=":host{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--kritzel-menu-item-padding, 8px);box-sizing:border-box;gap:16px;height:var(--kritzel-menu-item-height, 40px);min-height:var(--kritzel-menu-item-min-height, 40px);font-family:sans-serif;font-size:var(--kritzel-menu-item-font-size, 14px);border-radius:var(--kritzel-menu-item-border-radius, 12px);outline:none;cursor:default}:host(:hover) .menu-item-overlay,:host(:focus-within) .menu-item-overlay{background-color:var(--kritzel-menu-item-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.selected){background-color:var(--kritzel-menu-item-selected-bg, #007aff);color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected) .action-button{color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected.editing){background-color:var(--kritzel-menu-item-selected-bg, #007aff)}:host(.selected) .edit-input{color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected) .edit-input::selection{background-color:var(--kritzel-menu-item-input-selection-color, rgba(255, 255, 255, 0.16))}:host(.editing){background-color:var(--kritzel-menu-item-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.disabled){opacity:0.5;pointer-events:none}:host(.child-open){background-color:var(--kritzel-menu-item-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.child-open.selected){background-color:var(--kritzel-menu-item-selected-bg, #007aff)}.menu-item-overlay{position:absolute;inset:0;background-color:transparent;z-index:0;pointer-events:none;border-radius:var(--kritzel-menu-item-border-radius, 12px)}.menu-item-content{display:flex;align-items:center;gap:8px;position:relative;z-index:1;height:100%}.left{justify-content:flex-start;flex:1;min-width:0}.left>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right{justify-content:flex-end}.edit-input{flex:1;height:var(--kritzel-menu-item-input-height, 24px);padding:0;background-color:transparent;border-radius:0;border:none;border-bottom:1px solid var(--kritzel-menu-item-input-border, #ccc);font-size:var(--kritzel-context-menu-item-font-size, 14px);width:100%;min-width:0;box-sizing:border-box;outline:none}.edit-input::selection{background-color:var(--kritzel-menu-item-input-selection-color, #007bff);color:var(--kritzel-menu-item-input-selection-text-color, #ffffff)}.action-button{padding:4px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background-color:transparent;background:transparent;outline:none;-webkit-tap-highlight-color:transparent}.action-button:hover,.action-button:focus{background-color:var(--kritzel-menu-item-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.action-button.disabled{pointer-events:none;opacity:0.5}";const Ct=class{constructor(i){t(this,i);this.itemSelect=e(this,"itemSelect");this.itemSave=e(this,"itemSave");this.itemCancel=e(this,"itemCancel");this.itemToggleChildMenu=e(this,"itemToggleChildMenu");this.itemCloseChildMenu=e(this,"itemCloseChildMenu")}get host(){return o(this)}item;onItemChange(t,e){if(t!==e){this.isDirty=false}}parent=null;itemSelect;itemSave;itemCancel;itemToggleChildMenu;itemCloseChildMenu;isDirty=false;inputRef;componentDidLoad(){if(this.item.isEditing&&this.inputRef&&!this.isDirty){this.inputRef.focus();this.inputRef.select()}}componentDidUpdate(){if(this.item.isEditing&&this.inputRef&&!this.isDirty){this.inputRef.focus();this.inputRef.select()}}handleItemSelect=t=>{t.stopPropagation();this.itemSelect.emit({item:this.item,parent:this.parent})};handleInputChange=t=>{t.stopPropagation();const e=t.target;this.item.label=e.value;this.isDirty=true};handleSave=t=>{t.stopPropagation();this.host.focus();this.itemSave.emit(this.item)};handleCancel=t=>{t.stopPropagation();this.host.focus();this.itemCancel.emit(this.item)};handleMenuToggle=t=>{t.stopPropagation();this.itemToggleChildMenu.emit({item:this.item,childMenuAnchor:t.target})};handleMenuClose=()=>{this.itemCloseChildMenu.emit(this.item)};renderViewMode(){return[i("div",{class:"menu-item-content left"},i("div",null,this.item.label)),i("div",{class:"menu-item-content right"},this.item.children&&this.item.children.length>0&&[i("button",{id:"child-menu-toggle",class:"action-button",onClick:this.handleMenuToggle,disabled:this.item.isDisabled},i("kritzel-icon",{name:"ellipsis-vertical",size:16})),i("kritzel-portal",{anchor:this.item.childMenuAnchor,offsetY:4,onClose:this.handleMenuClose},i("kritzel-menu",{items:this.item.children,parent:this.item,onItemSelect:t=>this.itemSelect.emit(t.detail),onItemSave:t=>this.itemSave.emit(t.detail),onItemCancel:t=>this.itemCancel.emit(t.detail),onClose:this.handleMenuClose}))])]}renderEditMode(){return[i("div",{class:"menu-item-content left"},i("input",{ref:t=>this.inputRef=t,type:"text",class:"edit-input",value:this.item.label,onInput:this.handleInputChange})),i("div",{class:"menu-item-content right"},i("div",{tabIndex:!this.isDirty&&!this.item.isNewItem?-1:0,class:{"action-button":true,disabled:!this.isDirty&&!this.item.isNewItem},onClick:this.handleSave},i("kritzel-icon",{name:"check",size:16})),i("div",{tabIndex:0,class:"action-button",onClick:this.handleCancel},i("kritzel-icon",{name:"x",size:16})))]}render(){return i(s,{key:"5440ed43726d00ab65e7f423f065c1a3fa74e39e",tabIndex:0,class:{selected:this.item.isSelected,editing:this.item.isEditing,disabled:this.item.isDisabled,"child-open":this.item.isChildMenuOpen},onClick:this.handleItemSelect},i("div",{key:"69542710179216a1df47bde5d474a72e4a07aa5b",class:"menu-item-overlay"}),this.item.isEditing?this.renderEditMode():this.renderViewMode())}static get watchers(){return{item:["onItemChange"]}}};Ct.style=zt;const It=class{constructor(i){t(this,i);this.close=e(this,"close")}get host(){return o(this)}anchor;anchorChanged(t){if(t){this.openPortal();this.calculatePosition();if(this.autoFocus){this.focusFirstElement()}}else{this.closePortal()}}offsetX;offsetY;autoFocus=true;close;handleOutsideClick(t){t.stopPropagation();const e=this.lastAddedPortal===this.portal;if(!e)return;const i=t.target;if(!this.host.contains(i)){this.close.emit();this.closePortal()}}handleKeyDown(t){t.stopPropagation();const e=this.lastAddedPortal===this.portal;if(!e)return;if(t.key==="Escape"){this.anchor.focus();this.close.emit();this.closePortal()}if(t.key==="Tab"){this.trapFocus(t)}if(t.key==="Enter"){const e=this.getDeepActiveElement();if(e?.click){t.preventDefault();e.click()}}}handleResize(){this.calculatePosition()}portal;id=`portal-${v.generateUUID()}`;defaultOffset=0;minLeft=0;focusFirstElement(){requestAnimationFrame((()=>{this.firstFocusableElement?.focus?.()}))}getDeepActiveElement(){let t=document.activeElement;while(t?.shadowRoot?.activeElement){t=t.shadowRoot.activeElement}return t}trapFocus(t){const e=this.getFocusableElements(this.host);if(e.length===0)return;const i=e[0];const s=e[e.length-1];const o=this.getDeepActiveElement();if(t.shiftKey){if(o===i){s.focus();t.preventDefault()}}else{if(o===s){i.focus();t.preventDefault()}}}getFocusableElements(t){if(!t)return[];const e=[];const i='a[href], button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), details, [tabindex]:not([tabindex="-1"])';const s=t=>t.offsetParent!==null;if(t.matches(i)&&!t.hasAttribute("disabled")&&s(t)){e.push(t)}const o=t=>{if(t.shadowRoot){Array.from(t.shadowRoot.querySelectorAll(i)).forEach((t=>{if(s(t)){e.push(t)}}));Array.from(t.shadowRoot.children).forEach(o)}Array.from(t.querySelectorAll(i)).forEach((t=>{if(!e.includes(t)&&s(t)){e.push(t)}}));if(t.tagName==="SLOT"){t.assignedElements({flatten:true}).forEach((t=>o(t)))}Array.from(t.children).forEach(o)};o(t);return[...new Set(e)]}get firstFocusableElement(){const t=this.host.shadowRoot?.querySelector("slot");const e=t?.assignedElements({flatten:true})[0];if(!e)return null;const i=this.getFocusableElements(e);return i[0]??e}get lastAddedPortal(){const t=Array.from(document.querySelectorAll('[id^="portal-"]'));return t.length?t[t.length-1]:null}calculateLeft(){if(!this.anchor||!this.portal)return 0;const t=this.anchor.getBoundingClientRect();const e=this.portal.getBoundingClientRect();const i=this.offsetX??this.defaultOffset;let s=t.left+i;const o=window.innerWidth-e.width-this.minLeft;if(s<this.minLeft)s=this.minLeft;if(s>o)s=o;return Math.round(s+window.scrollX)}calculateTop(){if(!this.anchor||!this.portal)return 0;const t=this.anchor.getBoundingClientRect();const e=this.portal.getBoundingClientRect();const i=this.offsetY??this.defaultOffset;let s=t.bottom+i;if(s+e.height>window.innerHeight){s=t.top-e.height-i}return Math.round(s+window.scrollY)}openPortal(){this.portal=document.createElement("div");this.portal.setAttribute("id",this.id);this.portal.style.zIndex="1";this.portal.style.position="absolute";this.portal.style.top="0px";this.portal.style.left="0px";this.portal.appendChild(this.host);document.body.append(this.portal)}closePortal(){const t=document.getElementById(this.id);if(!t)return;document.body.removeChild(t);this.host.remove()}calculatePosition(){if(!this.anchor||!this.portal)return;const t=this.calculateTop();const e=this.calculateLeft();this.portal.style.top=`${t}px`;this.portal.style.left=`${e}px`}render(){return i(s,{key:"968f0360b9396da16f5b970293ba20f8a1dcc09a",style:{display:this.anchor?"block":"none"}},i("slot",{key:"0fe1569bde60a834e9226d7c838d113a64151164"}))}static get watchers(){return{anchor:["anchorChanged"]}}};const Mt=":host{position:relative;display:flex;align-items:center;font-family:sans-serif;z-index:1;padding:var(--kritzel-split-button-padding, 4px);background-color:var(--kritzel-split-button-background-color, #ffffff);border-radius:var(--kritzel-split-button-border-radius, 12px);box-shadow:var(--kritzel-split-button-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-split-button-border, 1px solid #ebebeb);gap:var(--kritzel-split-button-gap, 4px)}:host(:focus){outline:none}:host(.mobile){--kritzel-split-button-hover-background-color:transparent}button{border:none;background-color:transparent;padding:0;margin:0;font-family:inherit;font-size:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center;pointer-events:all;-webkit-tap-highlight-color:transparent}.split-main-button,.split-menu-button{height:auto;display:flex;align-items:center;padding:var(--kritzel-split-button-padding, 8px);background-color:var(--kritzel-split-button-background-color, #ffffff);border-radius:var(--kritzel-split-button-border-radius, 12px);font-size:var(--kritzel-split-button-font-size, 14px)}.split-main-button:hover,.split-menu-button:hover{background-color:var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.split-main-button:focus,.split-menu-button:focus{outline:none;background-color:var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.split-main-button{gap:var(--kritzel-split-button-gap, 4px)}.split-menu-button{border-left:none;justify-content:center}.split-divider{width:var(--kritzel-split-button-divider-width, 1px);height:24px;background-color:var(--kritzel-split-button-divider-background-color, hsl(0, 0%, 0%, 4.3%))}:disabled{pointer-events:none;opacity:0.5}";const St=class{constructor(i){t(this,i);this.buttonClick=e(this,"buttonClick");this.itemSelect=e(this,"itemSelect");this.itemSave=e(this,"itemSave");this.itemCancel=e(this,"itemCancel");this.itemToggleChildMenu=e(this,"itemToggleChildMenu");this.itemCloseChildMenu=e(this,"itemCloseChildMenu");this.close=e(this,"close")}get host(){return o(this)}buttonIcon="plus";dropdownIcon="chevron-down";items=[];mainButtonDisabled=false;menuButtonDisabled=false;buttonClick;itemSelect;itemSave;itemCancel;itemToggleChildMenu;itemCloseChildMenu;close;isMenuOpen=false;isTouchDevice=L.isTouchDevice();anchorElement;splitMenuButtonRef;menuRef;async open(){if(this.isMenuOpen)return;this.openMenu(new MouseEvent("click"))}handleButtonClick=t=>{t.stopPropagation();this.buttonClick.emit()};toggleMenu=t=>{t.stopPropagation();if(this.isMenuOpen){this.closeMenu()}else{this.openMenu(t)}};openMenu=t=>{t.stopPropagation();this.isMenuOpen=true;this.anchorElement=this.host};closeMenu=()=>{this.isMenuOpen=false;this.anchorElement=null;this.close.emit()};handleItemSelect=t=>{this.itemSelect.emit(t.detail)};handleItemSave=t=>{this.itemSave.emit(t.detail)};handleItemCancel=t=>{this.itemCancel.emit(t.detail)};handleItemToggleChildMenu=t=>{this.itemToggleChildMenu.emit(t.detail)};handleItemCloseChildMenu=t=>{this.itemCloseChildMenu.emit(t.detail)};render(){return i(s,{key:"be79d702d2c400d1feedeb89eca6fc78559f30f3",class:{mobile:this.isTouchDevice}},i("button",{key:"e4a74c56c122ea617f44f1d7e31672d1f913de46",class:"split-main-button",tabIndex:0,onClick:this.handleButtonClick,disabled:this.mainButtonDisabled},this.buttonIcon&&i("kritzel-icon",{key:"44bd79270e7cc4a17b45133b5c513642013e5a66",name:this.buttonIcon})),i("div",{key:"2392e8c6f75510c529585a69c861b2fcafdef5ce",class:"split-divider"}),i("button",{key:"bcdf61c2a195271771479de385db3b4982f6cad2",ref:t=>this.splitMenuButtonRef=t,class:"split-menu-button",tabIndex:0,onClick:this.toggleMenu,disabled:this.menuButtonDisabled},i("kritzel-icon",{key:"90383a8690111c97054fb8ac93b91cb6644de137",name:this.dropdownIcon})),i("kritzel-portal",{key:"c6a4c32ab731fede13e1382bff9dbd68794b1103",anchor:this.anchorElement,offsetY:4,onClose:this.closeMenu},i("kritzel-menu",{key:"8b792c9a2d4af60ba464bb80551c5358e21bfa96",ref:t=>this.menuRef=t,items:this.items,onItemSelect:this.handleItemSelect,onItemSave:this.handleItemSave,onItemCancel:this.handleItemCancel,onItemToggleChildMenu:this.handleItemToggleChildMenu,onItemCloseChildMenu:this.handleItemCloseChildMenu,onClose:this.closeMenu})))}};St.style=Mt;const jt=":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box}.size-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box}.size-container:hover{background-color:var(--kritzel-stroke-size-hover-background-color, #ebebeb)}.size-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-stroke-size-selected-background-color, #ebebeb)}";const Dt=class{constructor(i){t(this,i);this.sizeChange=e(this,"sizeChange")}sizes=[4,6,8,12,16,24];selectedSize=null;sizeChange;handleSizeClick(t){this.selectedSize=t;this.sizeChange.emit(t)}render(){return i(s,{key:"f9f0fe49963655a2beeffe5c369ccbe018c8aa5e"},this.sizes.map((t=>i("div",{class:{"size-container":true,selected:this.selectedSize===t},onClick:()=>this.handleSizeClick(t)},i("kritzel-color",{value:"#000000",size:t})))))}};Dt.style=jt;const Bt=":host{width:auto}.tooltip-content{position:relative;padding:8px 12px;border-radius:4px;width:fit-content;background-color:var(--kritzel-controls-tooltip-background-color, #ffffff);color:var(--kritzel-controls-tooltip-color, #000000);padding:var(--kritzel-controls-tooltip-padding, 8px);border-radius:var(--kritzel-controls-tooltip-border-radius, 16px);white-space:nowrap;box-shadow:var(--kritzel-controls-tooltip-box-shadow, 0 1px 6px rgba(0, 0, 0, 0.12))}";const Tt=768;const Et=class{constructor(e){t(this,e)}isVisible=false;anchorElement;arrowSize=8;offsetY=24;get el(){return o(this)}positionX=0;arrowOffset="0px";isMobileView=window.innerWidth<Tt;handleWindowResize(){this.isMobileView=window.innerWidth<Tt;this.calculateAdjustedPosition()}componentWillLoad(){this.isMobileView=window.innerWidth<Tt;this.calculateAdjustedPosition()}componentWillUpdate(){this.calculateAdjustedPosition()}calculateAdjustedPosition(){if(this.isVisible&&this.anchorElement){const t=this.anchorElement.getBoundingClientRect();const e=this.el.shadowRoot?.querySelector(".tooltip-content");if(!this.isMobileView){this.positionX=t.left+t.width/2;this.arrowOffset=`calc(${50}% - ${this.arrowSize}px)`}else{const i=e.getBoundingClientRect();this.positionX=t.left+t.width/2-i.width/2;this.arrowOffset=`${t.left+t.width/2-i.left-this.arrowSize}px`}}}render(){return i(s,{key:"6eb67bcfd08234affe3724dff4d94ddf7907a1a7",style:{position:"fixed",zIndex:"9999",transition:"opacity 0.3s ease-in-out, transform 0.3s ease-in-out",visibility:this.isVisible?"visible":"hidden",left:!this.isMobileView?`${this.positionX}px`:"50%",marginBottom:`${this.offsetY+this.arrowSize}px`}},i("div",{key:"9314b30b71200776e3728027b2ac7332cf4ab669",class:"tooltip-content",onClick:t=>t.stopPropagation()},i("slot",{key:"80cb8d0a8a91d9c816580cedc02fc9382fb07f8c"}),i("div",{key:"87fb2399463a0eb7beb1ca0f2c2867d8ff033f3a",class:"tooltip-arrow-wrapper",style:{position:"fixed",left:this.arrowOffset,bottom:`-${this.arrowSize*2}px`}},i("div",{key:"fc3953ad9b6aa5a4b2228653573fc3a7e37c0487",class:"tooltip-arrow",style:{borderLeft:`${this.arrowSize}px solid transparent`,borderRight:`${this.arrowSize}px solid transparent`,borderTop:`${this.arrowSize}px solid var(--kritzel-controls-tooltip-background-color, #ffffff)`,filter:"drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))"}}),i("div",{key:"5b8e4e3eb90c4c47c47fa47dc96e4149794e1732",class:"tooltip-arrow-rect",style:{position:"relative",width:`${this.arrowSize*2}px`,height:`${this.arrowSize}px`,backgroundColor:"var(--kritzel-controls-tooltip-background-color, #ffffff)",bottom:`${this.arrowSize*2}px`}}))))}};Et.style=Bt;const $t=":host{display:flex;flex-direction:row;align-items:center;padding:4px;gap:8px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:rgb(226, 226, 226);width:fit-content;user-select:none}.utility-button{display:flex;justify-content:center;align-items:center;width:28px;height:28px;padding:8px 4px;border:none;outline:none;background:none;cursor:pointer;color:#333333;-webkit-tap-highlight-color:transparent}.utility-separator{width:1px;height:16px;background-color:hsl(0, 0%, 0%, 4.3%)}";const At=class{constructor(i){t(this,i);this.undo=e(this,"undo");this.redo=e(this,"redo");this.delete=e(this,"delete")}undo;redo;delete;handleUndo(t){if(t.cancelable){t.preventDefault();t.stopPropagation();this.undo.emit()}}handleRedo(t){t.preventDefault();t.stopPropagation();this.redo.emit()}render(){return i(s,{key:"134058928a840d11fdc39849b35f08b21840fc0c"},i("button",{key:"8d80cb496983b0709c06bacb12ca6819789aa47d",class:"utility-button",onClick:t=>this.handleUndo(t)},i("kritzel-icon",{key:"c6733ef61ab6a272f80a580243fdd15063b8bf0c",name:"undo"})),i("button",{key:"dc6147152bccd43ea54b9af20d019d305e550987",class:"utility-button",onClick:t=>this.handleRedo(t)},i("kritzel-icon",{key:"3ab8bced0f398a8d5f053cb0f388199fd2148bfc",name:"redo"})),i("div",{key:"ebbfd25fb69faf2b669de20dc74a3dcabc01f489",class:"utility-separator"}),i("button",{key:"d86caf8a7f2c2bc899b09871f555973137693eb9",class:"utility-button"},i("kritzel-icon",{key:"e1b4e9eef3d3ab2a2ddd1688818d4bcd2d7226c1",name:"delete",onClick:()=>this.delete.emit()})))}};At.style=$t;const Ft=":host{display:flex;flex-direction:column;z-index:1}";const Rt=class{constructor(i){t(this,i);this.isWorkspaceManagerReady=e(this,"isWorkspaceManagerReady");this.workspaceChange=e(this,"workspaceChange")}get host(){return o(this)}activeWorkspace;workspaces=[];isWorkspaceManagerReady;workspaceChange;childMenuAnchor=null;openChildMenuItem=null;newWorkspace=null;editingItemId=null;kritzelEngineRef=null;splitButtonRef;get sortedWorkspaces(){return[this.newWorkspace,...this.workspaces].filter((t=>t!=null)).sort(((t,e)=>e.createdAt.getTime()-t.createdAt.getTime()))}async componentWillLoad(){await this.initializeEngine();this.isWorkspaceManagerReady.emit()}async initializeEngine(){await customElements.whenDefined("kritzel-engine");this.kritzelEngineRef=this.host.parentElement.querySelector("kritzel-engine");if(!this.kritzelEngineRef){throw new Error("kritzel-engine not found in parent element.")}}async select(t,e){if(this.editingItemId){return}if(t.action){t.action(t,e);return}this.workspaceChange.emit(t.value)}async add(){this.newWorkspace=new y(v.generateUUID(),"New Workspace");this.editingItemId=this.newWorkspace.id;await this.splitButtonRef.open()}edit(t){this.openChildMenuItem=null;this.childMenuAnchor=null;requestAnimationFrame((()=>{this.editingItemId=t.id}))}async save(t){if(this.newWorkspace){await this.kritzelEngineRef.createWorkspace({...t.value,name:t.label});this.workspaceChange.emit(this.newWorkspace)}else{await this.kritzelEngineRef.updateWorkspace({...t.value,name:t.label})}this.editingItemId=null;this.newWorkspace=null}cancel(){this.newWorkspace=null;this.editingItemId=null}async delete(t){this.openChildMenuItem=null;this.childMenuAnchor=null;await this.kritzelEngineRef.deleteWorkspace(t.value)}toggleChildMenu(t,e){this.openChildMenuItem=t;this.childMenuAnchor=e}closeChildMenu(){this.openChildMenuItem=null;this.childMenuAnchor=null}closeMenu(){this.cancel();this.closeChildMenu()}render(){console.log("render workspace manager");const t=this.sortedWorkspaces.sort(((t,e)=>e.createdAt.getTime()-t.createdAt.getTime())).filter((t=>t!==null)).map((t=>({id:t.id,label:t.name,value:t,isEditing:this.editingItemId===t.id,isSelected:this.activeWorkspace?.id===t.id,isNewItem:this.newWorkspace?.id===t.id,isChildMenuOpen:this.openChildMenuItem?.id===t.id,childMenuAnchor:this.openChildMenuItem?.id===t.id?this.childMenuAnchor:null,children:[{id:`${t.id}-rename`,label:"Rename",value:"rename",action:(t,e)=>this.edit(e)},{id:`${t.id}-delete`,label:"Delete",value:"delete",action:(t,e)=>this.delete(e)}]})));return i(s,null,i("kritzel-split-button",{ref:t=>this.splitButtonRef=t,items:t,mainButtonDisabled:this.editingItemId!=null,onButtonClick:()=>this.add(),onItemSelect:t=>this.select(t.detail.item,t.detail.parent),onItemToggleChildMenu:t=>this.toggleChildMenu(t.detail.item,t.detail.childMenuAnchor),onItemSave:t=>this.save(t.detail),onItemCancel:()=>this.cancel(),onItemCloseChildMenu:()=>this.closeChildMenu(),onClose:()=>{this.closeMenu()}}))}};Rt.style=Ft;export{T as kritzel_brush_style,$ as kritzel_color,F as kritzel_color_palette,O as kritzel_context_menu,_ as kritzel_control_brush_config,V as kritzel_control_text_config,H as kritzel_controls,Y as kritzel_cursor_trail,U as kritzel_dropdown,Q as kritzel_editor,ut as kritzel_engine,bt as kritzel_font,gt as kritzel_font_family,yt as kritzel_font_size,xt as kritzel_icon,mt as kritzel_menu,Ct as kritzel_menu_item,It as kritzel_portal,St as kritzel_split_button,Dt as kritzel_stroke_size,Et as kritzel_tooltip,At as kritzel_utility_panel,Rt as kritzel_workspace_manager};
|
|
2
|
+
//# sourceMappingURL=p-3bb80782.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["registerInstance","createEvent","h","Host","getElement","KritzelBrushTool","KritzelTextTool","KritzelMouseButton","KritzelSelectionTool","DEFAULT_BRUSH_CONFIG","KritzelEraserTool","DEFAULT_TEXT_CONFIG","KritzelImageTool","KritzelKeyboardHelper","KritzelEventHelper","KritzelBaseCommand","KritzelSelectionGroup","KrtizelSelectionBox","KritzelWorkspace","ObjectHelper","KritzelReviver","RemoveSelectionGroupCommand","RemoveObjectCommand","BatchCommand","AddObjectCommand","AddSelectionGroupCommand","KritzelToolRegistry","UpdateObjectCommand","KritzelBaseHandler","KritzelBaseTool","kritzelBrushStyleCss","KritzelBrushStyle","constructor","hostRef","this","typeChange","type","brushOptions","value","label","handleDropdownValueChange","event","emit","detail","render","dropdownOptions","map","option","key","options","onValueChanged","class","slot","name","size","style","kritzelColorCss","KritzelColor","isLightColor","hexColor","r","g","b","sanitizedHex","startsWith","slice","length","parseInt","substring","isNaN","luminance","isColorVeryLight","width","height","borderRadius","display","position","white","backgroundColor","top","left","kritzelColorPaletteCss","KritzelColorPalette","colorChange","colors","selectedColor","isExpanded","isOpaque","handleColorClick","color","calculateHeight","colorsPerRow","rowHeight","gap","rowCount","Math","ceil","displayedColors","expandedHeight","expanded","selected","onClick","kritzelContextMenuCss","KritzelContextMenu","actionSelected","items","objects","hostElement","processedItems","componentWillLoad","updateMenuItems","onItemsChanged","handleItemClick","item","isDisabled","evaluateProperty","defaultValue","Promise","resolve","processed","isVisible","visible","disabled","push","index","onTouchStart","icon","watchers","kritzelControlBrushConfigCss","KritzelControlBrushConfig","toolChange","tool","palette","handleToolChange","newTool","palettes","handleToggleExpand","handleTypeChange","handleColorChange","handleSizeChange","flexDirection","alignItems","justifyContent","onTypeChange","title","visibillity","visibility","onColorChange","selectedSize","onSizeChange","kritzelControlTextConfigCss","KritzelControlTextConfig","handleFamilyChange","fontFamily","fontColor","fontSize","selectedFontFamily","onFontFamilyChange","KritzelDevicesHelper","isTouchDevice","window","matchMedia","matches","kritzelControlsCss","KritzelControls","isControlsReady","controls","activeControl","isUtilityPanelVisible","firstConfig","isTooltipVisible","host","handleDocumentClick","element","target","kritzelEngine","closest","handleKeyDown","preventDefault","closeTooltip","enable","handleActiveToolChange","find","control","setFocus","activeToolAsTextTool","activeToolAsBrushTool","initializeEngine","initializeTools","customElements","whenDefined","parentElement","querySelector","Error","c","registerTool","config","isDefault","changeActiveTool","console","warn","handleControlClick","handleConfigClick","stopPropagation","disable","hasNoConfig","undefined","mobile","bottom","onUndo","undo","onRedo","redo","onDelete","delete","_event","anchorElement","shadowRoot","onToolChange","cursor","pointerEvents","border","assetsDirs","kritzelCursorTrailCss","KritzelCursorTrail","store","cursorTrailPoints","isLeftButtonDown","trailCleanupIntervalId","TRAIL_DURATION_MS","MAX_TRAIL_POINTS","componentDidLoad","setInterval","now","Date","newTrailPoints","filter","p","timestamp","disconnectedCallback","clearInterval","handleMouseDown","ev","pointerType","button","Left","state","pointers","handlePointerMove","newPoint","x","clientX","y","clientY","updatedTrail","handlePointerUp","xmlns","opacity","zIndex","point","prevPoint","age","progress","max","min","baseStrokeWidth","x1","toString","y1","x2","y2","stroke","kritzelDropdownCss","KritzelDropdown","valueChanged","selectStyles","internalValue","hasSuffixContent","hasPrefixContent","suffixSlotElement","prefixSlotElement","updateInternalValue","evaluateSuffixContent","evaluatePrefixContent","externalValueChanged","newValue","optionsChanged","proposedValue","emitChange","finalValue","isValidValue","some","opt","handleSelectChange","newHasContent","assignedNodes","flatten","selectClasses","ref","el","onSlotchange","onInput","KritzelIconRegistry","static","Map","register","svgContent","registry","has","set","get","registerIcons","icons","Object","prototype","hasOwnProperty","call","pen","highlighter","eraser","image","copy","paste","cut","download","plus","check","ABSOLUTE_SCALE_MAX","ABSOLUTE_SCALE_MIN","kritzelEditorCss","KritzelEditor","isReady","scaleMax","scaleMin","globalContextMenuItems","async","engineRef","getCopiedObjects","action","menu","selectAllObjectsInViewport","objectContextMenuItems","_","isEditable","object","edit","bringToFront","sendToBack","customSvgIcons","isControlsVisible","isEngineReady","isWorkspaceManagerReady","workspaces","activeWorkspace","isVirtualKeyboardOpen","onIsEngineReady","checkIsReady","onIsControlsReady","getObjectById","id","addObject","updateObject","updatedProperties","removeObject","getSelectedObjects","selectObjects","clearSelection","centerObjectInViewport","handleTouchStart","cancelable","controlsRef","splitButtonRef","registerCustomSvgIcons","listenForMobileKeyboard","onEngineReady","svg","entries","onKeyboardVisibleChanged","isOpen","log","onWorkspaceChange","onIsWorkspaceManagerReady","workspace","onWorkspacesChange","KritzelViewport","_store","initialTouchDistance","startX","startY","viewportWidth","clientWidth","viewportHeight","clientHeight","translateX","translateY","handleResize","hasViewportChanged","rerender","handlePointerDown","adjustedClientX","offsetX","adjustedClientY","offsetY","Right","isPanning","activePointers","Array","from","values","currentPath","isScaling","firstTouchX","firstTouchY","secondTouchX","secondTouchY","sqrt","pow","hostRect","getBoundingClientRect","xRelativeToHost","yRelativeToHost","pointerX","scale","pointerY","skipContextMenu","updateWorkspaceViewport","currentTouchDistance","midpointX","midpointY","scaleRatio","newScale","translateXAdjustment","translateYAdjustment","handleWheel","ctrlKey","isMainMouseWheel","handleZoom","handlePan","rect","delta","deltaY","scaleStep","panSpeed","deltaX","UpdateViewportCommand","currentViewport","previousViewport","initiator","skipHistory","super","execute","KritzelCircularBuffer","buffer","capacity","head","tail","fill","add","pop","peek","lastIndex","isEmpty","clear","KritzelHistory","undoStack","redoStack","historyBufferSize","reset","executeCommand","command","addUpdateViewportCommand","debugInfo","logCommands","info","DEFAULT_ENGINE_STATE","activeTool","activeText","copiedObjects","objectsMap","selectionBox","selectionGroup","resizeHandleType","isEnabled","isFocused","isSelecting","isResizing","isResizeHandleSelected","isRotating","isRotationHandleSelected","isDragging","isDrawing","isErasing","isWriting","isCtrlKeyPressed","isContextMenuVisible","contextMenuItems","contextMenuX","contextMenuY","showObjectInfo","showViewportInfo","logDatabase","translateXMax","translateXMin","translateYMax","translateYMin","longTouchTimeout","longTouchDelay","KritzelDatabase","db","dbName","dbVersion","isLoggingEnabled","open","stores","reject","request","indexedDB","onerror","error","onsuccess","result","onupgradeneeded","forEach","storeConfig","objectStoreNames","contains","createObjectStore","indices","createIndex","keyPath","close","storeName","executeTransaction","getAll","update","put","deleteByRange","range","getAllByRange","getAllByIndex","indexName","query","mode","transaction","objectStore","requestResult","oncomplete","onabort","batch","actions","storeNames","extractStoreNamesFromActions","results","promises","tempDbInstance","resolveRequest","rejectRequest","all","then","promise","catch","err","abort","storeNamesSet","Set","storeNameCollector","Proxy","prop","includes","KritzelObjectMap","insert","remove","predicate","allObjects","KritzelStore","_kritzelEngine","_state","_history","_database","_listeners","history","database","currentZIndex","o","selectedObjects","isSelected","initializeDatabase","initializeWorkspace","getWorkspaces","mostRecentWorkspace","sort","a","updatedAt","getTime","fallbackWorkspace","generateUUID","isExistingWorkspace","getWorkspace","updateWorkspace","createWorkspace","viewport","initializeWorkspaceObjects","workspaceId","objectsFromDb","IDBKeyRange","bound","reviver","revivedObject","revive","addObjectToDatabase","updateObjectInDatabase","deleteObjectFromDatabase","objectId","createdAt","findIndex","w","deleteWorkspace","objectRange","ws","forceUpdate","findObjectById","deselectAllObjects","onStateChange","property","listener","setState","oldValue","String","deleteSelectedObjectsCommand","obj","removeSelectionGroupCommand","commands","deleteObject","removeObjectCommand","adjustedX","adjustedY","updatePosition","addCopiedObjectsCommands","addCopiedObjectsAsSelectionGroupCommand","getTool","bringForward","increaseZIndexCommands","sendBackward","decreaseZIndexCommands","create","addOrRemove","rotation","objectsInViewport","isInViewport","resetActiveText","getObjectFromPointerEvent","selector","elementAtPoint","elementFromPoint","selectedObject","getObjectsFromPointerEvent","elementsAtPoint","elementsFromPoint","objectIds","getCanvasPoint","xWithoutTranslate","yWithoutTranslate","worldX","worldY","KritzelKeyHandler","shiftKey","selectAll","insertFromClipboard","handleKeyUp","KritzelContextMenuHandler","handleContextMenu","menuWidthEstimate","menuHeightEstimate","margin","innerWidth","innerHeight","KritzelClassHelper","isInstanceOf","className","__class__","kritzelEngineCss","KritzelEngine","activeToolChange","workspacesChange","newWorkspace","validateScaleMax","validateScaleMin","contextMenuHandler","keyHandler","contextMenuElement","isSelectionActive","_registerStateChangeListeners","hideContextMenu","isPointerEventOnContextMenu","onLongTouchPress","setPointerCapture","pointerId","releasePointerCapture","handlePointerCancel","updateFocus","isInside","right","path","composedPath","kritzelEngineElement","isInKritzelEngine","handleClick","toolName","toolClass","toolConfig","registeredTool","onDeactivate","onActivate","focus","generateId","centerInViewport","_handleActiveToolChange","bind","_handleIsFocusedChange","forceHideKeyboard","computedStyle","getComputedStyle","baseHandleSizePx","getPropertyValue","trim","baseHandleSize","parseFloat","baseHandleTouchSize","transform","transformationMatrix","transformOrigin","totalHeight","totalWidth","rotationDegrees","markedForRemoval","minHeight","minWidth","borderColor","borderWidth","borderStyle","padding","overflow","mount","unmount","viewBox","d","src","userSelect","draggable","onDragStart","e","onKeyDown","handleInput","rows","outline","resize","whiteSpace","isReadonly","caretColor","strokeWidth","strokeLinecap","cx","cy","isDebugInfoVisible","onActionSelected","kritzelFontCss","KritzelFont","kritzelFontFamilyCss","KritzelFontFamily","fontFamilyChange","fontOptions","isValidCurrentFont","kritzelFontSizeCss","KritzelFontSize","sizeChange","sizes","handleSizeClick","kritzelIconCss","KritzelIcon","styles","role","innerHTML","kritzelMenuCss","KritzelMenu","itemSelect","itemSave","itemCancel","itemToggleChildMenu","itemCloseChildMenu","parent","selectedIndex","firstItem","openChildMenuItem","isChildMenuOpen","editingMenuItem","isEditing","onOverlayClick","handleItemSelect","handleSave","handleCancel","handleToggleChildMenu","handleCloseChildMenu","onItemSelect","onItemSave","onItemCancel","onItemToggleChildMenu","onItemCloseChildMenu","kritzelMenuItemCss","KritzelMenuItem","onItemChange","isDirty","inputRef","select","componentDidUpdate","handleInputChange","handleMenuToggle","childMenuAnchor","handleMenuClose","renderViewMode","children","anchor","onClose","renderEditMode","tabIndex","isNewItem","editing","KritzelPortal","anchorChanged","openPortal","calculatePosition","autoFocus","focusFirstElement","closePortal","handleOutsideClick","isLastPortal","lastAddedPortal","portal","trapFocus","activeElement","getDeepActiveElement","click","defaultOffset","minLeft","requestAnimationFrame","firstFocusableElement","activeEl","document","focusableElements","getFocusableElements","firstFocusable","lastFocusable","root","focusableSelector","offsetParent","hasAttribute","findFocusable","querySelectorAll","tagName","assignedElements","slotEl","firstAssigned","focusable","portals","calculateLeft","refRect","portalRect","offset","maxLeft","round","scrollX","calculateTop","scrollY","createElement","setAttribute","appendChild","body","append","getElementById","removeChild","kritzelSplitButtonCss","KritzelSplitButton","buttonClick","buttonIcon","dropdownIcon","mainButtonDisabled","menuButtonDisabled","isMenuOpen","splitMenuButtonRef","menuRef","openMenu","MouseEvent","handleButtonClick","toggleMenu","closeMenu","handleItemSave","handleItemCancel","handleItemToggleChildMenu","handleItemCloseChildMenu","kritzelStrokeSizeCss","KritzelStrokeSize","kritzelTooltipCss","MOBILE_BREAKPOINT","KritzelTooltip","arrowSize","positionX","arrowOffset","isMobileView","handleWindowResize","calculateAdjustedPosition","componentWillUpdate","anchorRect","tooltipContent","tooltipRect","transition","marginBottom","borderLeft","borderRight","borderTop","kritzelUtilityPanelCss","KritzelUtilityPanel","handleUndo","handleRedo","kritzelWorkspaceManagerCss","KritzelWorkspaceManager","workspaceChange","editingItemId","kritzelEngineRef","sortedWorkspaces","save","cancel","toggleChildMenu","closeChildMenu","menuItems","_item","onButtonClick"],"sources":["0"],"mappings":"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","ignoreList":[]}
|