kritzel-stencil 0.0.129 → 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-C7Read21.js → index-BwINBV6L.js} +259 -191
- package/dist/cjs/index-BwINBV6L.js.map +1 -0
- package/dist/cjs/{index-CUSIflVf.js → index-nzUNdMPh.js} +43 -17
- 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_22.cjs.entry.js → kritzel-brush-style_23.cjs.entry.js} +930 -841
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/stencil.cjs.js +3 -3
- package/dist/cjs/stencil.cjs.js.map +1 -1
- package/dist/collection/classes/commands/add-object.command.js +3 -2
- package/dist/collection/classes/commands/add-object.command.js.map +1 -1
- package/dist/collection/classes/commands/add-selection-group.command.js +4 -3
- 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 +5 -4
- package/dist/collection/classes/commands/remove-object.command.js.map +1 -1
- package/dist/collection/classes/commands/remove-selection-group.command.js +3 -2
- 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 +5 -2
- 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 +10 -8
- 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 +29 -16
- 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 +30 -28
- 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 +13 -12
- 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 +18 -30
- 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 +43 -0
- package/dist/collection/classes/structures/object-map.structure.js.map +1 -0
- 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 +2 -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.css +7 -0
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +102 -88
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +137 -148
- 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 +16 -169
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +176 -196
- 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 +136 -0
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +267 -0
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js.map +1 -0
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +164 -48
- 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 +83 -78
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +160 -130
- 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 +4 -5
- 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 +13 -14
- 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 +6 -6
- 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 +5 -5
- 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 +25 -32
- 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 +4 -1
- 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 +116 -95
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js.map +1 -1
- package/dist/collection/configs/default-engine-state.js +1 -1
- package/dist/collection/configs/default-engine-state.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/keyboard.helper.js +18 -0
- package/dist/collection/helpers/keyboard.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 +2 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/interfaces/engine-state.interface.js.map +1 -1
- package/dist/collection/interfaces/menu-item.interface.js.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +5 -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 +145 -126
- 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.d.ts +11 -0
- package/dist/components/kritzel-menu-item.js +9 -0
- package/dist/components/kritzel-menu-item.js.map +1 -0
- 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-yZFrTtMQ.js → p-BB5R2k1o.js} +42 -48
- package/dist/components/p-BB5R2k1o.js.map +1 -0
- package/dist/components/p-BPz_H-EG.js +137 -0
- 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-BeljsQ-8.js +252 -0
- 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-BzSz74Ci.js → p-BgmKrd5Z.js} +8 -5
- 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-jG1e48OE.js → p-BrBQUN0Q.js} +16 -16
- 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-D-zg05gA.js → p-BuewJQNl.js} +332 -393
- package/dist/components/p-BuewJQNl.js.map +1 -0
- package/dist/components/p-CGmS8wnN.js +186 -0
- package/dist/components/p-CGmS8wnN.js.map +1 -0
- package/dist/components/{p-BaKb8ZLg.js → p-CHxPWeZd.js} +15 -13
- package/dist/components/p-CHxPWeZd.js.map +1 -0
- package/dist/components/{p-rQeWFfPG.js → p-CMJ3P0Vw.js} +8 -7
- package/dist/components/p-CMJ3P0Vw.js.map +1 -0
- package/dist/components/{p-B7VrEdgP.js → p-DHSEK3rF.js} +141 -102
- 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-DxTu1aoJ.js +237 -0
- 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-a7KmQzo4.js → p-t4NIsuX9.js} +15 -13
- 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-J4NpPimy.js → index-B-oSk-v8.js} +259 -192
- package/dist/esm/index-B-oSk-v8.js.map +1 -0
- package/dist/esm/{index-NiIEUDzj.js → index-oCOlsFCN.js} +43 -17
- package/dist/esm/index-oCOlsFCN.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/{kritzel-brush-style_22.entry.js → kritzel-brush-style_23.entry.js} +929 -841
- package/dist/esm/loader.js +3 -3
- package/dist/esm/stencil.js +4 -4
- 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/classes/structures/object-map.structure.d.ts +11 -0
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +3 -0
- package/dist/types/components/shared/kritzel-menu/kritzel-menu.d.ts +18 -20
- package/dist/types/components/shared/kritzel-menu-item/kritzel-menu-item.d.ts +26 -0
- package/dist/types/components/shared/kritzel-portal/kritzel-portal.d.ts +15 -10
- package/dist/types/components/shared/kritzel-split-button/kritzel-split-button.d.ts +23 -15
- package/dist/types/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.d.ts +18 -14
- package/dist/types/components.d.ts +90 -61
- package/dist/types/helpers/keyboard.helper.d.ts +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/interfaces/engine-state.interface.d.ts +2 -2
- package/dist/types/interfaces/menu-item.interface.d.ts +21 -7
- package/dist/types/stencil-public-runtime.d.ts +6 -4
- package/package.json +1 -1
- package/dist/cjs/index-C7Read21.js.map +0 -1
- package/dist/cjs/index-CUSIflVf.js.map +0 -1
- package/dist/collection/classes/structures/octree.structure.js +0 -115
- package/dist/collection/classes/structures/octree.structure.js.map +0 -1
- package/dist/components/p-5CJxFNEE.js.map +0 -1
- package/dist/components/p-B7VrEdgP.js.map +0 -1
- package/dist/components/p-BAPUTr3K.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-BaKb8ZLg.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-BeVv4o5c.js.map +0 -1
- package/dist/components/p-BmJbJwkH.js +0 -167
- package/dist/components/p-BmJbJwkH.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-BzSz74Ci.js.map +0 -1
- package/dist/components/p-C6OxvITm.js +0 -168
- package/dist/components/p-C6OxvITm.js.map +0 -1
- package/dist/components/p-D-zg05gA.js.map +0 -1
- package/dist/components/p-Dozs0Zfn.js +0 -115
- package/dist/components/p-Dozs0Zfn.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-a7KmQzo4.js.map +0 -1
- package/dist/components/p-aaxf-h5S.js +0 -159
- package/dist/components/p-aaxf-h5S.js.map +0 -1
- package/dist/components/p-jG1e48OE.js.map +0 -1
- package/dist/components/p-rQeWFfPG.js.map +0 -1
- package/dist/components/p-yZFrTtMQ.js.map +0 -1
- package/dist/esm/index-J4NpPimy.js.map +0 -1
- package/dist/esm/index-NiIEUDzj.js.map +0 -1
- package/dist/stencil/p-43202395.entry.js +0 -2
- package/dist/stencil/p-43202395.entry.js.map +0 -1
- package/dist/stencil/p-J4NpPimy.js +0 -2
- package/dist/stencil/p-J4NpPimy.js.map +0 -1
- package/dist/stencil/p-NiIEUDzj.js +0 -3
- package/dist/stencil/p-NiIEUDzj.js.map +0 -1
- package/dist/types/classes/structures/octree.structure.d.ts +0 -18
|
@@ -15,6 +15,17 @@ import { KritzelEventHelper } from "../../../helpers/event.helper";
|
|
|
15
15
|
import { KritzelClassHelper } from "../../../helpers/class.helper";
|
|
16
16
|
import { ABSOLUTE_SCALE_MAX, ABSOLUTE_SCALE_MIN } from "../../../constants/engine.constants";
|
|
17
17
|
export class KritzelEngine {
|
|
18
|
+
workspace;
|
|
19
|
+
activeTool;
|
|
20
|
+
globalContextMenuItems;
|
|
21
|
+
objectContextMenuItems;
|
|
22
|
+
scaleMax = ABSOLUTE_SCALE_MAX;
|
|
23
|
+
scaleMin = ABSOLUTE_SCALE_MIN;
|
|
24
|
+
isEngineReady;
|
|
25
|
+
activeToolChange;
|
|
26
|
+
workspacesChange;
|
|
27
|
+
host;
|
|
28
|
+
forceUpdate = 0;
|
|
18
29
|
onWorkspaceChange(newWorkspace) {
|
|
19
30
|
if (newWorkspace) {
|
|
20
31
|
this.store.initializeWorkspace(newWorkspace);
|
|
@@ -40,6 +51,11 @@ export class KritzelEngine {
|
|
|
40
51
|
this.store.state.scaleMin = newValue;
|
|
41
52
|
}
|
|
42
53
|
}
|
|
54
|
+
store;
|
|
55
|
+
viewport;
|
|
56
|
+
contextMenuHandler;
|
|
57
|
+
keyHandler;
|
|
58
|
+
contextMenuElement = null;
|
|
43
59
|
get isSelecting() {
|
|
44
60
|
return this.store.state.activeTool instanceof KritzelSelectionTool && this.store.state.isSelecting;
|
|
45
61
|
}
|
|
@@ -47,10 +63,6 @@ export class KritzelEngine {
|
|
|
47
63
|
return this.store.state.activeTool instanceof KritzelSelectionTool && this.store.state.selectionGroup !== null;
|
|
48
64
|
}
|
|
49
65
|
constructor() {
|
|
50
|
-
this.scaleMax = ABSOLUTE_SCALE_MAX;
|
|
51
|
-
this.scaleMin = ABSOLUTE_SCALE_MIN;
|
|
52
|
-
this.forceUpdate = 0;
|
|
53
|
-
this.contextMenuElement = null;
|
|
54
66
|
this.store = new KritzelStore(this);
|
|
55
67
|
}
|
|
56
68
|
componentWillLoad() {
|
|
@@ -70,7 +82,6 @@ export class KritzelEngine {
|
|
|
70
82
|
}
|
|
71
83
|
}
|
|
72
84
|
handleWheel(ev) {
|
|
73
|
-
var _a, _b;
|
|
74
85
|
if (this.store.isDisabled) {
|
|
75
86
|
return;
|
|
76
87
|
}
|
|
@@ -78,10 +89,9 @@ export class KritzelEngine {
|
|
|
78
89
|
this.hideContextMenu();
|
|
79
90
|
}
|
|
80
91
|
this.viewport.handleWheel(ev);
|
|
81
|
-
|
|
92
|
+
this.store.state?.activeTool?.handleWheel(ev);
|
|
82
93
|
}
|
|
83
94
|
handlePointerDown(ev) {
|
|
84
|
-
var _a, _b;
|
|
85
95
|
if (this.store.isDisabled) {
|
|
86
96
|
return;
|
|
87
97
|
}
|
|
@@ -98,36 +108,33 @@ export class KritzelEngine {
|
|
|
98
108
|
this.host.setPointerCapture(ev.pointerId);
|
|
99
109
|
this.store.state.pointers.set(ev.pointerId, ev);
|
|
100
110
|
this.viewport.handlePointerDown(ev);
|
|
101
|
-
|
|
111
|
+
this.store.state?.activeTool?.handlePointerDown(ev);
|
|
102
112
|
}
|
|
103
113
|
handlePointerMove(ev) {
|
|
104
|
-
var _a, _b;
|
|
105
114
|
if (this.store.isDisabled) {
|
|
106
115
|
return;
|
|
107
116
|
}
|
|
108
117
|
this.store.state.pointers.set(ev.pointerId, ev);
|
|
109
118
|
this.viewport.handlePointerMove(ev);
|
|
110
|
-
|
|
119
|
+
this.store.state?.activeTool?.handlePointerMove(ev);
|
|
111
120
|
}
|
|
112
121
|
handlePointerUp(ev) {
|
|
113
|
-
var _a, _b;
|
|
114
122
|
if (this.store.isDisabled) {
|
|
115
123
|
return;
|
|
116
124
|
}
|
|
117
125
|
this.store.state.pointers.delete(ev.pointerId);
|
|
118
126
|
this.host.releasePointerCapture(ev.pointerId);
|
|
119
127
|
this.viewport.handlePointerUp(ev);
|
|
120
|
-
|
|
128
|
+
this.store.state?.activeTool?.handlePointerUp(ev);
|
|
121
129
|
}
|
|
122
130
|
handlePointerCancel(ev) {
|
|
123
|
-
var _a, _b;
|
|
124
131
|
if (this.store.isDisabled) {
|
|
125
132
|
return;
|
|
126
133
|
}
|
|
127
134
|
this.host.releasePointerCapture(ev.pointerId);
|
|
128
135
|
this.store.state.pointers.delete(ev.pointerId);
|
|
129
136
|
this.viewport.handlePointerUp(ev);
|
|
130
|
-
|
|
137
|
+
this.store.state?.activeTool?.handlePointerUp(ev);
|
|
131
138
|
}
|
|
132
139
|
handleContextMenu(ev) {
|
|
133
140
|
ev.preventDefault();
|
|
@@ -176,11 +183,10 @@ export class KritzelEngine {
|
|
|
176
183
|
return Promise.resolve(registeredTool);
|
|
177
184
|
}
|
|
178
185
|
async changeActiveTool(tool) {
|
|
179
|
-
|
|
180
|
-
(_a = this.store.state.activeTool) === null || _a === void 0 ? void 0 : _a.onDeactivate();
|
|
186
|
+
this.store.state.activeTool?.onDeactivate();
|
|
181
187
|
this.store.setState('activeTool', tool);
|
|
182
188
|
this.store.deselectAllObjects();
|
|
183
|
-
tool
|
|
189
|
+
tool?.onActivate();
|
|
184
190
|
}
|
|
185
191
|
async setFocus() {
|
|
186
192
|
this.host.focus();
|
|
@@ -257,15 +263,13 @@ export class KritzelEngine {
|
|
|
257
263
|
return this.store.state.selectionGroup ? this.store.state.selectionGroup.objects : [];
|
|
258
264
|
}
|
|
259
265
|
async selectObjects(objects) {
|
|
260
|
-
|
|
261
|
-
(_a = this.store.state.activeTool) === null || _a === void 0 ? void 0 : _a.onDeactivate();
|
|
266
|
+
this.store.state.activeTool?.onDeactivate();
|
|
262
267
|
this.store.setState('activeTool', KritzelToolRegistry.getTool('selection'));
|
|
263
268
|
this.store.deselectAllObjects();
|
|
264
269
|
this.store.selectObjects(objects);
|
|
265
270
|
}
|
|
266
271
|
async selectAllObjectsInViewport() {
|
|
267
|
-
|
|
268
|
-
(_a = this.store.state.activeTool) === null || _a === void 0 ? void 0 : _a.onDeactivate();
|
|
272
|
+
this.store.state.activeTool?.onDeactivate();
|
|
269
273
|
this.store.setState('activeTool', KritzelToolRegistry.getTool('selection'));
|
|
270
274
|
this.store.deselectAllObjects();
|
|
271
275
|
this.store.selectAllObjectsInViewport();
|
|
@@ -280,8 +284,7 @@ export class KritzelEngine {
|
|
|
280
284
|
return object;
|
|
281
285
|
}
|
|
282
286
|
async getCopiedObjects() {
|
|
283
|
-
|
|
284
|
-
return ((_a = this.store.state.copiedObjects) === null || _a === void 0 ? void 0 : _a.objects) || [];
|
|
287
|
+
return this.store.state.copiedObjects?.objects || [];
|
|
285
288
|
}
|
|
286
289
|
async createWorkspace(workspace) {
|
|
287
290
|
return this.store.createWorkspace(workspace).then(() => {
|
|
@@ -294,8 +297,8 @@ export class KritzelEngine {
|
|
|
294
297
|
});
|
|
295
298
|
}
|
|
296
299
|
async deleteWorkspace(workspace) {
|
|
297
|
-
return this.store.deleteWorkspace(workspace).then(() => {
|
|
298
|
-
this.workspacesChange.emit(this.store.state.workspaces
|
|
300
|
+
return this.store.deleteWorkspace(workspace).then(async () => {
|
|
301
|
+
this.workspacesChange.emit(this.store.state.workspaces);
|
|
299
302
|
});
|
|
300
303
|
}
|
|
301
304
|
async getWorkspaces() {
|
|
@@ -319,147 +322,133 @@ export class KritzelEngine {
|
|
|
319
322
|
}
|
|
320
323
|
}
|
|
321
324
|
render() {
|
|
322
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
|
|
323
325
|
const computedStyle = window.getComputedStyle(this.host);
|
|
324
326
|
const baseHandleSizePx = computedStyle.getPropertyValue('--kritzel-selection-handle-size').trim() || '6px';
|
|
325
327
|
const baseHandleSize = parseFloat(baseHandleSizePx);
|
|
326
328
|
const baseHandleTouchSize = baseHandleSize * 2 < 14 ? 14 : baseHandleSize;
|
|
327
|
-
return (h(Host, { key: '
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("line", { x1: object.totalWidth / 2, y1: "0", x2: object.totalWidth / 2, y2: -((15 * object.scale) / ((_p = this.store.state) === null || _p === void 0 ? void 0 : _p.scale)), style: {
|
|
432
|
-
stroke: 'var(--kritzel-selection-border-color, #007AFF)',
|
|
433
|
-
strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${(_q = this.store.state) === null || _q === void 0 ? void 0 : _q.scale})`,
|
|
434
|
-
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "rotation-handle", cx: object.totalWidth / 2, cy: -((15 * object.scale) / ((_r = this.store.state) === null || _r === void 0 ? void 0 : _r.scale)), r: `${(baseHandleSize * object.scale) / ((_s = this.store.state) === null || _s === void 0 ? void 0 : _s.scale)}`, style: {
|
|
435
|
-
fill: 'var(--kritzel-selection-handle-color, #000000)',
|
|
436
|
-
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "rotation-handle-overlay", cx: object.totalWidth / 2, cy: -((15 * object.scale) / ((_t = this.store.state) === null || _t === void 0 ? void 0 : _t.scale)), r: `${(baseHandleTouchSize * object.scale) / ((_u = this.store.state) === null || _u === void 0 ? void 0 : _u.scale)}`, style: {
|
|
437
|
-
fill: 'transparent',
|
|
438
|
-
cursor: 'grab',
|
|
439
|
-
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("g", { style: { display: this.store.state.debugInfo.showObjectInfo ? 'block' : 'none', pointerEvents: 'none' } }, h("foreignObject", { x: object.totalWidth.toString(), y: "0", width: "400px", height: "160px", style: { minHeight: '0', minWidth: '0', display: object.isDebugInfoVisible ? 'block' : 'none' } }, h("div", { style: { width: '100%', height: '100%' } }, h("div", { style: { whiteSpace: 'nowrap' } }, "zIndex: ", object.zIndex), h("div", { style: { whiteSpace: 'nowrap' } }, "translateX: ", object.translateX), h("div", { style: { whiteSpace: 'nowrap' } }, "translateY: ", object.translateY), h("div", { style: { whiteSpace: 'nowrap' } }, "width: ", object.width), h("div", { style: { whiteSpace: 'nowrap' } }, "height: ", object.height), h("div", { style: { whiteSpace: 'nowrap' } }, "scale: ", object.scale), h("div", { style: { whiteSpace: 'nowrap' } }, "rotation: ", object.rotation), h("div", { style: { whiteSpace: 'nowrap' } }, "x: ", object.x), h("div", { style: { whiteSpace: 'nowrap' } }, "y: ", object.y)))))));
|
|
440
|
-
}), h("svg", { key: '86f9a08bea3ac2d261b14b2eec471fafd20ca11f', class: "object", xmlns: "http://www.w3.org/2000/svg", style: {
|
|
441
|
-
height: (_z = this.store.state.currentPath) === null || _z === void 0 ? void 0 : _z.height.toString(),
|
|
442
|
-
width: (_0 = this.store.state.currentPath) === null || _0 === void 0 ? void 0 : _0.width.toString(),
|
|
329
|
+
return (h(Host, { key: 'fd353ff17bcde1a9ab646b6f463d1c6ce00a3dff' }, h("div", { key: '45bc2af8f1a3a2bfa3aa76a478c7bf208027da0c', class: "debug-panel", style: { display: this.store.state.debugInfo.showViewportInfo ? 'block' : 'none' } }, h("div", { key: '50e932febc35c7dbe852ad99d96ca4f0e0b742fc' }, "ActiveWorkspaceId: ", this.store.state?.activeWorkspace?.id), h("div", { key: 'af94b5061f0803588fece6cccdf540f46f13ca05' }, "ActiveWorkspaceName: ", this.store.state?.activeWorkspace?.name), h("div", { key: '89c0d21ce94f4eda72153554fadbd6942e785edc' }, "TranslateX: ", this.store.state?.translateX), h("div", { key: '340b5165265241972a7a940268c7940063ba8c12' }, "TranslateY: ", this.store.state?.translateY), h("div", { key: '428054b3ea4a1c327f03d6b37bfe6331dea6c57b' }, "ViewportWidth: ", this.store.state?.viewportWidth), h("div", { key: 'd67420ef633627413066a28b8ef9ac43c520015d' }, "ViewportHeight: ", this.store.state?.viewportHeight), h("div", { key: 'dedf9eb89c79fa496f7b6d0df9c646898f66b3d4' }, "ObjectsInViewport. ", this.store.objects.length), h("div", { key: '59bb8416941fd84305f2892f24098f6f4a084401' }, "Scale: ", this.store.state?.scale), h("div", { key: '6705a4cec22e4e33f75e296e17bc2952a3d1cba7' }, "ActiveTool: ", this.store.state?.activeTool?.name), h("div", { key: 'ca22e0a377a11fdca851b38f1bf425648cd3b9dd' }, "HasViewportChanged: ", this.store.state?.hasViewportChanged ? 'true' : 'false'), h("div", { key: '57508b9ee24a5af631e6bb1eace404c39af14f82' }, "IsEnabled: ", this.store.state?.isEnabled ? 'true' : 'false'), h("div", { key: 'f6cea367b5007f767afb25a033215abda734de9d' }, "IsScaling: ", this.store.state?.isScaling ? 'true' : 'false'), h("div", { key: '4386ef749facd2e54da7f58aa2713b87ed76f2df' }, "IsPanning: ", this.store.state?.isPanning ? 'true' : 'false'), h("div", { key: '1713185b36a50dfe0f9efa0c92394222db80a377' }, "IsFocused: ", this.store.state.isFocused ? 'true' : 'false'), h("div", { key: '5104f428b808e7d843712302ad2e58b619876bee' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), h("div", { key: '2cb3b27a00627188e7082fa94169eb961a1ae6ed' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), h("div", { key: '7407656e61be665f27e706738faa6d318e2c1d04' }, "IsResizeHandleSelected: ", this.store.state.isResizeHandleSelected ? 'true' : 'false'), h("div", { key: '701bf05c25cb3d3728af6602f694e6064627ea59' }, "IsRotationHandleSelected: ", this.store.state.isRotationHandleSelected ? 'true' : 'false'), h("div", { key: '772c345ea9c64ef800fdbb26919f1a54ca889025' }, "IsDrawing: ", this.store.state.isDrawing ? 'true' : 'false'), h("div", { key: 'dc687c8ba24182b8b61979ad334b989d3be72ec6' }, "IsWriting: ", this.store.state.isWriting ? 'true' : 'false'), h("div", { key: '10cbc575a7905396a76eca4e7b56be719755aeb4' }, "PointerX: ", this.store.state?.pointerX), h("div", { key: '4f21199328ffadddcc58b7d6b102a89e5079f676' }, "PointerY: ", this.store.state?.pointerY), h("div", { key: 'ac705f38cb323b8dc8cbf95f875657c5dec5c9ae' }, "SelectedObjects: ", this.store.state.selectionGroup?.objects.length || 0)), h("div", { key: '2ca55c53246e64520af6720a3f87d2357295ca7f', id: "origin", class: "origin", style: {
|
|
330
|
+
transform: `matrix(${this.store.state?.scale}, 0, 0, ${this.store.state?.scale}, ${this.store.state?.translateX}, ${this.store.state?.translateY})`,
|
|
331
|
+
} }, this.store.state.objectsMap.allObjects()?.map(object => {
|
|
332
|
+
return (h("div", { key: object.id, style: { display: object.isInViewport() ? 'block' : 'none', transform: object?.transformationMatrix, transformOrigin: 'top left', zIndex: object.zIndex.toString(), position: 'absolute' } }, h("svg", { xmlns: "http://www.w3.org/2000/svg", id: object.id, class: "object", style: {
|
|
333
|
+
height: object?.totalHeight.toString(),
|
|
334
|
+
width: object?.totalWidth.toString(),
|
|
335
|
+
left: '0',
|
|
336
|
+
top: '0',
|
|
337
|
+
position: 'absolute',
|
|
338
|
+
transform: `rotate(${object.rotationDegrees}deg)`,
|
|
339
|
+
transformOrigin: 'center',
|
|
340
|
+
opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
|
|
341
|
+
pointerEvents: object.markedForRemoval ? 'none' : 'auto',
|
|
342
|
+
} }, h("foreignObject", { x: "0", y: "0", width: object.totalWidth.toString(), height: object.totalHeight.toString(), style: {
|
|
343
|
+
minHeight: '0',
|
|
344
|
+
minWidth: '0',
|
|
345
|
+
backgroundColor: object.backgroundColor,
|
|
346
|
+
borderColor: object.borderColor,
|
|
347
|
+
borderWidth: object.borderWidth + 'px',
|
|
348
|
+
borderStyle: 'solid',
|
|
349
|
+
padding: object.padding + 'px',
|
|
350
|
+
overflow: 'visible',
|
|
351
|
+
} }, KritzelClassHelper.isInstanceOf(object, 'KritzelPath') && (h("svg", { ref: el => (el ? object.mount(el) : object.unmount()), xmlns: "http://www.w3.org/2000/svg", style: {
|
|
352
|
+
height: object?.height.toString(),
|
|
353
|
+
width: object?.width.toString(),
|
|
354
|
+
position: 'absolute',
|
|
355
|
+
overflow: 'visible',
|
|
356
|
+
}, viewBox: object?.viewBox }, h("path", { d: object?.d, fill: object.fill, stroke: object?.stroke }))), KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && (h("img", { ref: el => (el ? object.mount(el) : object.unmount()), src: object.src, style: {
|
|
357
|
+
width: '100%',
|
|
358
|
+
height: '100%',
|
|
359
|
+
userSelect: 'none',
|
|
360
|
+
pointerEvents: 'none',
|
|
361
|
+
}, draggable: false, onDragStart: e => e.preventDefault() })), KritzelClassHelper.isInstanceOf(object, 'KritzelText') && (h("textarea", { ref: el => (el ? object.mount(el) : object.unmount()), value: object.value, onKeyDown: event => object.handleKeyDown(event), onInput: event => object.handleInput(event), rows: object.rows, style: {
|
|
362
|
+
width: '100%',
|
|
363
|
+
height: '100%',
|
|
364
|
+
color: object.fontColor,
|
|
365
|
+
fontSize: object.fontSize?.toString() + 'px',
|
|
366
|
+
fontFamily: object.fontFamily,
|
|
367
|
+
border: 'none',
|
|
368
|
+
outline: 'none',
|
|
369
|
+
resize: 'none',
|
|
370
|
+
overflow: 'hidden',
|
|
371
|
+
display: 'block',
|
|
372
|
+
padding: '1px',
|
|
373
|
+
whiteSpace: 'nowrap',
|
|
374
|
+
pointerEvents: object.isReadonly ? 'none' : 'auto',
|
|
375
|
+
cursor: object.isReadonly ? 'default' : 'text',
|
|
376
|
+
caretColor: object.isReadonly ? 'transparent' : 'auto',
|
|
377
|
+
} })), KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (h("div", { ref: el => (el ? object.mount(el) : object.unmount()), style: {
|
|
378
|
+
width: '100%',
|
|
379
|
+
height: '100%',
|
|
380
|
+
pointerEvents: 'auto',
|
|
381
|
+
overflow: 'hidden',
|
|
382
|
+
display: 'block',
|
|
383
|
+
} })), KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionGroup') && (h("div", { ref: el => (el ? object.mount(el) : object.unmount()), style: {
|
|
384
|
+
width: '100%',
|
|
385
|
+
height: '100%',
|
|
386
|
+
} })), KritzelClassHelper.isInstanceOf(object, 'KrtizelSelectionBox') && (h("div", { ref: el => (el ? object.mount(el) : object.unmount()), style: {
|
|
387
|
+
width: '100%',
|
|
388
|
+
height: '100%',
|
|
389
|
+
} }))), h("line", { x1: "0", y1: "0", x2: object.totalWidth, y2: "0", style: {
|
|
390
|
+
stroke: 'var(--kritzel-selection-border-color, #007AFF)',
|
|
391
|
+
strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${this.store.state?.scale})`,
|
|
392
|
+
strokeLinecap: 'square',
|
|
393
|
+
}, visibility: object.isSelected ? 'visible' : 'hidden' }), h("line", { x1: "0", y1: "0", x2: "0", y2: object.totalHeight, style: {
|
|
394
|
+
stroke: 'var(--kritzel-selection-border-color, #007AFF)',
|
|
395
|
+
strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${this.store.state?.scale})`,
|
|
396
|
+
strokeLinecap: 'square',
|
|
397
|
+
}, visibility: object.isSelected ? 'visible' : 'hidden' }), h("line", { x1: "0", y1: object.totalHeight, x2: object.totalWidth, y2: object.totalHeight, style: {
|
|
398
|
+
stroke: 'var(--kritzel-selection-border-color, #007AFF)',
|
|
399
|
+
strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${this.store.state?.scale})`,
|
|
400
|
+
strokeLinecap: 'square',
|
|
401
|
+
}, visibility: object.isSelected ? 'visible' : 'hidden' }), h("line", { x1: object.totalWidth, y1: "0", x2: object.totalWidth, y2: object.totalHeight, style: {
|
|
402
|
+
stroke: 'var(--kritzel-selection-border-color, #007AFF)',
|
|
403
|
+
strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${this.store.state?.scale})`,
|
|
404
|
+
strokeLinecap: 'square',
|
|
405
|
+
}, visibility: object.isSelected ? 'visible' : 'hidden' }), h("circle", { class: "resize-handle top-left", cx: "0", cy: "0", r: `${(baseHandleSize * object.scale) / this.store.state?.scale}`, style: {
|
|
406
|
+
fill: 'var(--kritzel-selection-handle-color, #000000)',
|
|
407
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "resize-handle-overlay top-left", cx: "0", cy: "0", r: `${(baseHandleTouchSize * object.scale) / this.store.state?.scale}`, style: {
|
|
408
|
+
fill: 'transparent',
|
|
409
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "resize-handle top-right", cx: object.totalWidth, cy: "0", r: `${(baseHandleSize * object.scale) / this.store.state?.scale}`, style: {
|
|
410
|
+
fill: 'var(--kritzel-selection-handle-color, #000000)',
|
|
411
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "resize-handle-overlay top-right", cx: object.totalWidth, cy: "0", r: `${(baseHandleTouchSize * object.scale) / this.store.state?.scale}`, style: {
|
|
412
|
+
fill: 'transparent',
|
|
413
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "resize-handle bottom-left", cx: "0", cy: object.totalHeight, r: `${(baseHandleSize * object.scale) / this.store.state?.scale}`, style: {
|
|
414
|
+
fill: 'var(--kritzel-selection-handle-color, #000000)',
|
|
415
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "resize-handle-overlay bottom-left", cx: "0", cy: object.totalHeight, r: `${(baseHandleTouchSize * object.scale) / this.store.state?.scale}`, style: {
|
|
416
|
+
fill: 'transparent',
|
|
417
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "resize-handle bottom-right", cx: object.totalWidth, cy: object.totalHeight, r: `${(baseHandleSize * object.scale) / this.store.state?.scale}`, style: {
|
|
418
|
+
fill: 'var(--kritzel-selection-handle-color, #000000)',
|
|
419
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "resize-handle-overlay bottom-right", cx: object.totalWidth, cy: object.totalHeight, r: `${(baseHandleTouchSize * object.scale) / this.store.state?.scale}`, style: {
|
|
420
|
+
fill: 'transparent',
|
|
421
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("line", { x1: object.totalWidth / 2, y1: "0", x2: object.totalWidth / 2, y2: -((15 * object.scale) / this.store.state?.scale), style: {
|
|
422
|
+
stroke: 'var(--kritzel-selection-border-color, #007AFF)',
|
|
423
|
+
strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${this.store.state?.scale})`,
|
|
424
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "rotation-handle", cx: object.totalWidth / 2, cy: -((15 * object.scale) / this.store.state?.scale), r: `${(baseHandleSize * object.scale) / this.store.state?.scale}`, style: {
|
|
425
|
+
fill: 'var(--kritzel-selection-handle-color, #000000)',
|
|
426
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("circle", { class: "rotation-handle-overlay", cx: object.totalWidth / 2, cy: -((15 * object.scale) / this.store.state?.scale), r: `${(baseHandleTouchSize * object.scale) / this.store.state?.scale}`, style: {
|
|
427
|
+
fill: 'transparent',
|
|
428
|
+
cursor: 'grab',
|
|
429
|
+
}, visibility: object.isSelected && !this.isSelecting ? 'visible' : 'hidden' }), h("g", { style: { display: this.store.state.debugInfo.showObjectInfo ? 'block' : 'none', pointerEvents: 'none' } }, h("foreignObject", { x: object.totalWidth.toString(), y: "0", width: "400px", height: "160px", style: { minHeight: '0', minWidth: '0', display: object.isDebugInfoVisible ? 'block' : 'none' } }, h("div", { style: { width: '100%', height: '100%' } }, h("div", { style: { whiteSpace: 'nowrap' } }, "zIndex: ", object.zIndex), h("div", { style: { whiteSpace: 'nowrap' } }, "translateX: ", object.translateX), h("div", { style: { whiteSpace: 'nowrap' } }, "translateY: ", object.translateY), h("div", { style: { whiteSpace: 'nowrap' } }, "width: ", object.width), h("div", { style: { whiteSpace: 'nowrap' } }, "height: ", object.height), h("div", { style: { whiteSpace: 'nowrap' } }, "scale: ", object.scale), h("div", { style: { whiteSpace: 'nowrap' } }, "rotation: ", object.rotation), h("div", { style: { whiteSpace: 'nowrap' } }, "x: ", object.x), h("div", { style: { whiteSpace: 'nowrap' } }, "y: ", object.y)))))));
|
|
430
|
+
}), h("svg", { key: '0098f1b8233d45f49dc8bdcc13c08f20c04b65e1', class: "object", xmlns: "http://www.w3.org/2000/svg", style: {
|
|
431
|
+
height: this.store.state.currentPath?.height.toString(),
|
|
432
|
+
width: this.store.state.currentPath?.width.toString(),
|
|
443
433
|
left: '0',
|
|
444
434
|
top: '0',
|
|
445
|
-
zIndex:
|
|
435
|
+
zIndex: this.store.state.currentPath?.zIndex.toString(),
|
|
446
436
|
position: 'absolute',
|
|
447
|
-
transform:
|
|
437
|
+
transform: this.store.state.currentPath?.transformationMatrix,
|
|
448
438
|
transformOrigin: 'top left',
|
|
449
439
|
overflow: 'visible',
|
|
450
|
-
}, viewBox:
|
|
440
|
+
}, viewBox: this.store.state.currentPath?.viewBox }, h("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 && (h("kritzel-context-menu", { key: '2529447e26ba02689303be39cc593dfafc25b96c', class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.store.state.contextMenuItems, objects: this.store.state.selectionGroup?.objects || [], style: {
|
|
451
441
|
position: 'fixed',
|
|
452
442
|
left: `${this.store.state.contextMenuX}px`,
|
|
453
443
|
top: `${this.store.state.contextMenuY}px`,
|
|
454
444
|
zIndex: '10000',
|
|
455
445
|
}, onActionSelected: event => {
|
|
456
|
-
var _a;
|
|
457
446
|
event.detail.action({
|
|
458
447
|
x: (-this.store.state.translateX + this.store.state.contextMenuX) / this.store.state.scale,
|
|
459
448
|
y: (-this.store.state.translateY + this.store.state.contextMenuY) / this.store.state.scale,
|
|
460
|
-
},
|
|
449
|
+
}, this.store.state.selectionGroup?.objects);
|
|
461
450
|
this.hideContextMenu();
|
|
462
|
-
} })),
|
|
451
|
+
} })), this.store.state?.activeTool instanceof KritzelEraserTool && !this.store.state.isScaling && h("kritzel-cursor-trail", { key: '7c10277160eb1bc51581e4dfbdd4d0cdf626ed8c', store: this.store })));
|
|
463
452
|
}
|
|
464
453
|
static get is() { return "kritzel-engine"; }
|
|
465
454
|
static get encapsulation() { return "shadow"; }
|