kritzel-stencil 0.0.131 → 0.0.133
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-BwINBV6L.js → index-DCHCVnOl.js} +755 -701
- package/dist/cjs/index-DCHCVnOl.js.map +1 -0
- package/dist/cjs/index-nzUNdMPh.js +6 -2
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kritzel-brush-style.cjs.entry.js +32 -0
- package/dist/cjs/kritzel-brush-style.entry.cjs.js.map +1 -0
- package/dist/cjs/{kritzel-brush-style_23.cjs.entry.js → kritzel-color_22.cjs.entry.js} +1046 -874
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/classes/commands/add-object.command.js +6 -7
- package/dist/collection/classes/commands/add-object.command.js.map +1 -1
- package/dist/collection/classes/commands/add-selection-group.command.js +9 -9
- package/dist/collection/classes/commands/add-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/base.command.js +3 -3
- package/dist/collection/classes/commands/base.command.js.map +1 -1
- package/dist/collection/classes/commands/batch.command.js +2 -2
- package/dist/collection/classes/commands/batch.command.js.map +1 -1
- package/dist/collection/classes/commands/move-selection-group.command.js +15 -7
- package/dist/collection/classes/commands/move-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/remove-object.command.js +8 -9
- package/dist/collection/classes/commands/remove-object.command.js.map +1 -1
- package/dist/collection/classes/commands/remove-selection-group.command.js +7 -7
- package/dist/collection/classes/commands/remove-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/resize-selection-group.command.js +15 -7
- package/dist/collection/classes/commands/resize-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/rotate-selection-group.command.js +14 -12
- package/dist/collection/classes/commands/rotate-selection-group.command.js.map +1 -1
- package/dist/collection/classes/commands/update-object.command.js +6 -5
- package/dist/collection/classes/commands/update-object.command.js.map +1 -1
- package/dist/collection/classes/commands/update-viewport.command.js +11 -11
- package/dist/collection/classes/commands/update-viewport.command.js.map +1 -1
- package/dist/collection/classes/{store.class.js → core/core.class.js} +116 -145
- package/dist/collection/classes/core/core.class.js.map +1 -0
- package/dist/collection/classes/{database.class.js → core/database.class.js} +28 -20
- package/dist/collection/classes/core/database.class.js.map +1 -0
- package/dist/collection/classes/core/history.class.js +88 -0
- package/dist/collection/classes/core/history.class.js.map +1 -0
- package/dist/collection/classes/{reviver.class.js → core/reviver.class.js} +27 -23
- package/dist/collection/classes/core/reviver.class.js.map +1 -0
- package/dist/collection/classes/core/store.class.js +51 -0
- package/dist/collection/classes/core/store.class.js.map +1 -0
- package/dist/collection/classes/core/viewport.class.js +165 -0
- package/dist/collection/classes/core/viewport.class.js.map +1 -0
- package/dist/collection/classes/core/workspace.class.js +42 -0
- package/dist/collection/classes/core/workspace.class.js.map +1 -0
- package/dist/collection/classes/handlers/base.handler.js +4 -4
- package/dist/collection/classes/handlers/base.handler.js.map +1 -1
- package/dist/collection/classes/handlers/context-menu.handler.js +29 -19
- package/dist/collection/classes/handlers/context-menu.handler.js.map +1 -1
- package/dist/collection/classes/handlers/hover.handler.js +5 -5
- package/dist/collection/classes/handlers/hover.handler.js.map +1 -1
- package/dist/collection/classes/handlers/key.handler.js +38 -44
- package/dist/collection/classes/handlers/key.handler.js.map +1 -1
- package/dist/collection/classes/handlers/move.handler.js +49 -44
- package/dist/collection/classes/handlers/move.handler.js.map +1 -1
- package/dist/collection/classes/handlers/resize.handler.js +55 -60
- package/dist/collection/classes/handlers/resize.handler.js.map +1 -1
- package/dist/collection/classes/handlers/rotation.handler.js +59 -69
- package/dist/collection/classes/handlers/rotation.handler.js.map +1 -1
- package/dist/collection/classes/handlers/selection.handler.js +73 -72
- package/dist/collection/classes/handlers/selection.handler.js.map +1 -1
- package/dist/collection/classes/objects/base-object.class.js +30 -17
- package/dist/collection/classes/objects/base-object.class.js.map +1 -1
- package/dist/collection/classes/objects/custom-element.class.js +3 -3
- package/dist/collection/classes/objects/custom-element.class.js.map +1 -1
- package/dist/collection/classes/objects/image.class.js +5 -5
- package/dist/collection/classes/objects/image.class.js.map +1 -1
- package/dist/collection/classes/objects/path.class.js +7 -7
- package/dist/collection/classes/objects/path.class.js.map +1 -1
- package/dist/collection/classes/objects/selection-box.class.js +4 -4
- package/dist/collection/classes/objects/selection-box.class.js.map +1 -1
- package/dist/collection/classes/objects/selection-group.class.js +19 -20
- package/dist/collection/classes/objects/selection-group.class.js.map +1 -1
- package/dist/collection/classes/objects/text.class.js +13 -13
- package/dist/collection/classes/objects/text.class.js.map +1 -1
- package/dist/collection/classes/registries/tool.registry.js +2 -2
- package/dist/collection/classes/registries/tool.registry.js.map +1 -1
- package/dist/collection/classes/tools/base-tool.class.js +11 -5
- package/dist/collection/classes/tools/base-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/brush-tool.class.js +57 -53
- package/dist/collection/classes/tools/brush-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/eraser-tool.class.js +26 -26
- package/dist/collection/classes/tools/eraser-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/image-tool.class.js +11 -11
- package/dist/collection/classes/tools/image-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/selection-tool.class.js +39 -37
- package/dist/collection/classes/tools/selection-tool.class.js.map +1 -1
- package/dist/collection/classes/tools/text-tool.class.js +37 -37
- package/dist/collection/classes/tools/text-tool.class.js.map +1 -1
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +28 -28
- 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 -9
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +177 -7
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +237 -232
- 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 +1 -1
- 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 -2
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js.map +1 -1
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +5 -0
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +3 -3
- 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 +12 -12
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js.map +1 -1
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js.map +1 -1
- package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +1 -0
- package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js.map +1 -1
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +5 -1
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +2 -2
- 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 +18 -7
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +24 -9
- 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 +4 -42
- 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 +0 -4
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +52 -10
- 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.css +4 -0
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
- 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 +79 -7
- 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 +47 -15
- 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.css +4 -0
- 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 +2 -2
- 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.css +12 -1
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +23 -7
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js.map +1 -1
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +5 -0
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -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 +25 -15
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js.map +1 -1
- package/dist/collection/configs/default-engine-state.js +0 -1
- package/dist/collection/configs/default-engine-state.js.map +1 -1
- package/dist/collection/helpers/devices.helper.js +20 -0
- package/dist/collection/helpers/devices.helper.js.map +1 -1
- package/dist/collection/helpers/event.helper.js +1 -5
- package/dist/collection/helpers/event.helper.js.map +1 -1
- package/dist/collection/helpers/html.helper.js +29 -0
- package/dist/collection/helpers/html.helper.js.map +1 -1
- package/dist/collection/helpers/object.helper.js +0 -14
- package/dist/collection/helpers/object.helper.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/interfaces/clonable.interface.js +2 -0
- package/dist/collection/interfaces/clonable.interface.js.map +1 -0
- package/dist/collection/interfaces/engine-state.interface.js.map +1 -1
- package/dist/collection/interfaces/serializable.interface.js.map +1 -1
- package/dist/collection/types/deep-readonly.type.js +2 -0
- package/dist/collection/types/deep-readonly.type.js.map +1 -0
- package/dist/components/index.js +3 -3
- package/dist/components/kritzel-brush-style.js +59 -1
- package/dist/components/kritzel-brush-style.js.map +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 +80 -37
- 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-CMJ3P0Vw.js → p-0iJh9Z6m.js} +5 -5
- package/dist/components/p-0iJh9Z6m.js.map +1 -0
- package/dist/components/p-B0kd2rUI.js +16 -0
- package/dist/components/p-B0kd2rUI.js.map +1 -0
- package/dist/components/{p-BB5R2k1o.js → p-B3LGnqFz.js} +41 -31
- package/dist/components/p-B3LGnqFz.js.map +1 -0
- package/dist/components/{p-BB0_-X42.js → p-B7kZ1_RH.js} +4 -4
- package/dist/components/{p-BB0_-X42.js.map → p-B7kZ1_RH.js.map} +1 -1
- package/dist/components/{p-t4NIsuX9.js → p-B7w19kIk.js} +15 -27
- package/dist/components/p-B7w19kIk.js.map +1 -0
- package/dist/components/{p-B1BLgWL1.js → p-BGdsAz54.js} +27 -18
- package/dist/components/p-BGdsAz54.js.map +1 -0
- package/dist/components/{p-CGmS8wnN.js → p-BKvOO7NT.js} +26 -16
- package/dist/components/p-BKvOO7NT.js.map +1 -0
- package/dist/components/{p-BhiYvSBc.js → p-BM9IjvnD.js} +3 -3
- package/dist/components/p-BM9IjvnD.js.map +1 -0
- package/dist/components/{p-BrBQUN0Q.js → p-BPsQrpzN.js} +40 -11
- package/dist/components/p-BPsQrpzN.js.map +1 -0
- package/dist/components/p-C6qB08BS.js +68 -0
- package/dist/components/p-C6qB08BS.js.map +1 -0
- package/dist/components/{p-BPz_H-EG.js → p-CM8KdFZI.js} +28 -16
- package/dist/components/p-CM8KdFZI.js.map +1 -0
- package/dist/components/{p-DHSEK3rF.js → p-CNTK3JOp.js} +174 -153
- package/dist/components/p-CNTK3JOp.js.map +1 -0
- package/dist/components/{p-DMrtdhBD.js → p-CsyM5q2M.js} +7 -7
- package/dist/components/p-CsyM5q2M.js.map +1 -0
- package/dist/components/{p-BuewJQNl.js → p-CwH-bwjb.js} +1187 -1141
- package/dist/components/p-CwH-bwjb.js.map +1 -0
- package/dist/components/{p-BgmKrd5Z.js → p-DCx3703u.js} +5 -5
- package/dist/components/p-DCx3703u.js.map +1 -0
- package/dist/components/{p-trncBp_6.js → p-DFO-6kuA.js} +15 -15
- package/dist/components/p-DFO-6kuA.js.map +1 -0
- package/dist/components/{p-BubxwvMA.js → p-Db3kxVe2.js} +24 -24
- package/dist/components/p-Db3kxVe2.js.map +1 -0
- package/dist/components/{p-BexTdWaX.js → p-Ddlbt3Bj.js} +4 -4
- package/dist/components/p-Ddlbt3Bj.js.map +1 -0
- package/dist/components/{p-CHxPWeZd.js → p-DjU7p3od.js} +11 -11
- package/dist/components/{p-CHxPWeZd.js.map → p-DjU7p3od.js.map} +1 -1
- package/dist/components/{p-BeljsQ-8.js → p-Dw4n-4zp.js} +32 -17
- package/dist/components/p-Dw4n-4zp.js.map +1 -0
- package/dist/components/{p-DxTu1aoJ.js → p-NP1Htol7.js} +7 -45
- package/dist/components/p-NP1Htol7.js.map +1 -0
- package/dist/components/p-YqK8ch2R.js +46 -0
- package/dist/components/p-YqK8ch2R.js.map +1 -0
- package/dist/components/p-l10It7Nm.js +30 -0
- package/dist/components/p-l10It7Nm.js.map +1 -0
- package/dist/components/{p-p1Jkec_q.js → p-sq9jgfX0.js} +3 -3
- package/dist/components/p-sq9jgfX0.js.map +1 -0
- package/dist/components/{p-yZ48g7-u.js → p-sreNwi0N.js} +4 -4
- package/dist/components/{p-yZ48g7-u.js.map → p-sreNwi0N.js.map} +1 -1
- package/dist/esm/{index-B-oSk-v8.js → index-DY3KqYWc.js} +756 -702
- package/dist/esm/index-DY3KqYWc.js.map +1 -0
- package/dist/esm/index-oCOlsFCN.js +6 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/kritzel-brush-style.entry.js +30 -0
- package/dist/esm/kritzel-brush-style.entry.js.map +1 -0
- package/dist/esm/{kritzel-brush-style_23.entry.js → kritzel-color_22.entry.js} +1048 -875
- package/dist/esm/loader.js +1 -1
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/index.esm.js +1 -1
- package/dist/stencil/kritzel-brush-style.entry.esm.js.map +1 -0
- package/dist/stencil/p-25d1e040.entry.js +2 -0
- package/dist/stencil/p-25d1e040.entry.js.map +1 -0
- package/dist/stencil/p-DY3KqYWc.js +2 -0
- package/dist/stencil/p-DY3KqYWc.js.map +1 -0
- package/dist/stencil/p-dc534b01.entry.js +2 -0
- package/dist/stencil/p-dc534b01.entry.js.map +1 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/commands/add-object.command.d.ts +2 -2
- package/dist/types/classes/commands/add-selection-group.command.d.ts +2 -1
- package/dist/types/classes/commands/base.command.d.ts +3 -3
- package/dist/types/classes/commands/batch.command.d.ts +2 -1
- package/dist/types/classes/commands/move-selection-group.command.d.ts +2 -1
- package/dist/types/classes/commands/remove-object.command.d.ts +2 -2
- package/dist/types/classes/commands/remove-selection-group.command.d.ts +2 -2
- package/dist/types/classes/commands/resize-selection-group.command.d.ts +2 -1
- package/dist/types/classes/commands/rotate-selection-group.command.d.ts +2 -1
- package/dist/types/classes/commands/update-object.command.d.ts +2 -2
- package/dist/types/classes/commands/update-viewport.command.d.ts +2 -1
- package/dist/types/classes/{store.class.d.ts → core/core.class.d.ts} +9 -19
- package/dist/types/classes/{database.class.d.ts → core/database.class.d.ts} +3 -2
- package/dist/types/classes/{history.class.d.ts → core/history.class.d.ts} +5 -5
- package/dist/types/classes/core/reviver.class.d.ts +6 -0
- package/dist/types/classes/core/store.class.d.ts +17 -0
- package/dist/types/classes/{viewport.class.d.ts → core/viewport.class.d.ts} +3 -3
- package/dist/types/classes/core/workspace.class.d.ts +24 -0
- package/dist/types/classes/handlers/base.handler.d.ts +3 -3
- package/dist/types/classes/handlers/context-menu.handler.d.ts +2 -2
- package/dist/types/classes/handlers/hover.handler.d.ts +2 -2
- package/dist/types/classes/handlers/key.handler.d.ts +2 -2
- package/dist/types/classes/handlers/move.handler.d.ts +4 -2
- package/dist/types/classes/handlers/resize.handler.d.ts +3 -2
- package/dist/types/classes/handlers/rotation.handler.d.ts +6 -2
- package/dist/types/classes/handlers/selection.handler.d.ts +2 -2
- package/dist/types/classes/objects/base-object.class.d.ts +8 -5
- package/dist/types/classes/objects/custom-element.class.d.ts +2 -2
- package/dist/types/classes/objects/image.class.d.ts +2 -2
- package/dist/types/classes/objects/path.class.d.ts +2 -2
- package/dist/types/classes/objects/selection-box.class.d.ts +2 -2
- package/dist/types/classes/objects/selection-group.class.d.ts +2 -2
- package/dist/types/classes/objects/text.class.d.ts +2 -2
- package/dist/types/classes/registries/tool.registry.d.ts +2 -2
- package/dist/types/classes/tools/base-tool.class.d.ts +8 -4
- package/dist/types/classes/tools/brush-tool.class.d.ts +2 -2
- package/dist/types/classes/tools/eraser-tool.class.d.ts +2 -2
- package/dist/types/classes/tools/image-tool.class.d.ts +2 -2
- package/dist/types/classes/tools/selection-tool.class.d.ts +2 -2
- package/dist/types/classes/tools/text-tool.class.d.ts +2 -2
- package/dist/types/components/core/kritzel-cursor-trail/kritzel-cursor-trail.d.ts +5 -5
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +13 -3
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +21 -22
- package/dist/types/components/shared/kritzel-dropdown/kritzel-dropdown.d.ts +2 -2
- package/dist/types/components/shared/kritzel-menu-item/kritzel-menu-item.d.ts +2 -0
- package/dist/types/components/shared/kritzel-portal/kritzel-portal.d.ts +0 -1
- package/dist/types/components/shared/kritzel-split-button/kritzel-split-button.d.ts +4 -2
- package/dist/types/components/shared/kritzel-tooltip/kritzel-tooltip.d.ts +8 -2
- package/dist/types/components/ui/kritzel-context-menu/kritzel-context-menu.d.ts +5 -3
- package/dist/types/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.d.ts +1 -1
- package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +3 -1
- package/dist/types/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.d.ts +3 -2
- package/dist/types/components.d.ts +41 -12
- package/dist/types/helpers/devices.helper.d.ts +4 -0
- package/dist/types/helpers/event.helper.d.ts +1 -1
- package/dist/types/helpers/html.helper.d.ts +1 -0
- package/dist/types/helpers/object.helper.d.ts +0 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interfaces/clonable.interface.d.ts +3 -0
- package/dist/types/interfaces/engine-state.interface.d.ts +1 -2
- package/dist/types/interfaces/serializable.interface.d.ts +2 -1
- package/dist/types/types/deep-readonly.type.d.ts +7 -0
- package/package.json +3 -2
- package/dist/cjs/index-BwINBV6L.js.map +0 -1
- package/dist/collection/classes/database.class.js.map +0 -1
- package/dist/collection/classes/history.class.js +0 -88
- package/dist/collection/classes/history.class.js.map +0 -1
- package/dist/collection/classes/reviver.class.js.map +0 -1
- package/dist/collection/classes/store.class.js.map +0 -1
- package/dist/collection/classes/viewport.class.js +0 -153
- package/dist/collection/classes/viewport.class.js.map +0 -1
- package/dist/collection/classes/workspace.class.js +0 -15
- package/dist/collection/classes/workspace.class.js.map +0 -1
- package/dist/components/p-B1BLgWL1.js.map +0 -1
- package/dist/components/p-BB5R2k1o.js.map +0 -1
- package/dist/components/p-BPz_H-EG.js.map +0 -1
- package/dist/components/p-B_lb1FGi.js +0 -19
- package/dist/components/p-B_lb1FGi.js.map +0 -1
- package/dist/components/p-BeljsQ-8.js.map +0 -1
- package/dist/components/p-BexTdWaX.js.map +0 -1
- package/dist/components/p-BgmKrd5Z.js.map +0 -1
- package/dist/components/p-BhiYvSBc.js.map +0 -1
- package/dist/components/p-BrBQUN0Q.js.map +0 -1
- package/dist/components/p-BubxwvMA.js.map +0 -1
- package/dist/components/p-BuewJQNl.js.map +0 -1
- package/dist/components/p-CGmS8wnN.js.map +0 -1
- package/dist/components/p-CJKA5zIE.js +0 -10
- package/dist/components/p-CJKA5zIE.js.map +0 -1
- package/dist/components/p-CMJ3P0Vw.js.map +0 -1
- package/dist/components/p-DHSEK3rF.js.map +0 -1
- package/dist/components/p-DMrtdhBD.js.map +0 -1
- package/dist/components/p-DnUKql15.js +0 -30
- package/dist/components/p-DnUKql15.js.map +0 -1
- package/dist/components/p-DxTu1aoJ.js.map +0 -1
- package/dist/components/p-p1Jkec_q.js.map +0 -1
- package/dist/components/p-rIRXQdie.js +0 -64
- package/dist/components/p-rIRXQdie.js.map +0 -1
- package/dist/components/p-t4NIsuX9.js.map +0 -1
- package/dist/components/p-trncBp_6.js.map +0 -1
- package/dist/esm/index-B-oSk-v8.js.map +0 -1
- package/dist/stencil/p-3bb80782.entry.js +0 -2
- package/dist/stencil/p-3bb80782.entry.js.map +0 -1
- package/dist/stencil/p-B-oSk-v8.js +0 -2
- package/dist/stencil/p-B-oSk-v8.js.map +0 -1
- package/dist/types/classes/reviver.class.d.ts +0 -6
- package/dist/types/classes/workspace.class.d.ts +0 -16
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { O as ObjectHelper } from './p-DnUKql15.js';
|
|
2
1
|
import { K as KritzelMouseButton } from './p-D8W6LE-c.js';
|
|
2
|
+
import { O as ObjectHelper } from './p-B0kd2rUI.js';
|
|
3
3
|
|
|
4
4
|
class KritzelBaseCommand {
|
|
5
|
-
|
|
5
|
+
_core;
|
|
6
6
|
initiator;
|
|
7
7
|
skipHistory;
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
8
|
+
constructor(core, initiator, skipHistory = false) {
|
|
9
|
+
this._core = core;
|
|
10
10
|
this.initiator = initiator?.constructor?.name ?? 'Unknown';
|
|
11
11
|
this.skipHistory = skipHistory;
|
|
12
12
|
}
|
|
@@ -22,8 +22,8 @@ class UpdateObjectCommand extends KritzelBaseCommand {
|
|
|
22
22
|
object;
|
|
23
23
|
updatedProperties;
|
|
24
24
|
previousProperties;
|
|
25
|
-
constructor(
|
|
26
|
-
super(
|
|
25
|
+
constructor(core, initiator, object, updatedProperties, skipHistory = false) {
|
|
26
|
+
super(core, initiator, skipHistory);
|
|
27
27
|
this.object = object;
|
|
28
28
|
this.updatedProperties = updatedProperties;
|
|
29
29
|
this.previousProperties = {};
|
|
@@ -39,7 +39,8 @@ class UpdateObjectCommand extends KritzelBaseCommand {
|
|
|
39
39
|
this.object[key] = this.updatedProperties[key];
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
this.
|
|
42
|
+
this._core.store.state.objectsMap.update(this.object);
|
|
43
|
+
this._core.updateObjectInDatabase(this.object);
|
|
43
44
|
}
|
|
44
45
|
undo() {
|
|
45
46
|
for (const key in this.previousProperties) {
|
|
@@ -47,14 +48,15 @@ class UpdateObjectCommand extends KritzelBaseCommand {
|
|
|
47
48
|
this.object[key] = this.previousProperties[key];
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
|
-
this.
|
|
51
|
+
this._core.store.state.objectsMap.update(this.object);
|
|
52
|
+
this._core.updateObjectInDatabase(this.object);
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
class KritzelToolRegistry {
|
|
55
57
|
static registry = {};
|
|
56
|
-
static registerTool(toolName, constructor,
|
|
57
|
-
const toolInstance = new constructor(
|
|
58
|
+
static registerTool(toolName, constructor, core) {
|
|
59
|
+
const toolInstance = new constructor(core);
|
|
58
60
|
toolInstance.name = toolName;
|
|
59
61
|
this.registry[toolName] = toolInstance;
|
|
60
62
|
return toolInstance;
|
|
@@ -72,9 +74,9 @@ class KritzelToolRegistry {
|
|
|
72
74
|
class KritzelBaseTool {
|
|
73
75
|
__class__ = this.constructor.name;
|
|
74
76
|
name = 'base-tool';
|
|
75
|
-
|
|
76
|
-
constructor(
|
|
77
|
-
this.
|
|
77
|
+
_core;
|
|
78
|
+
constructor(core) {
|
|
79
|
+
this._core = core;
|
|
78
80
|
}
|
|
79
81
|
onActivate() {
|
|
80
82
|
// default implementation
|
|
@@ -94,7 +96,13 @@ class KritzelBaseTool {
|
|
|
94
96
|
handleWheel(_event) {
|
|
95
97
|
// default implementation
|
|
96
98
|
}
|
|
97
|
-
|
|
99
|
+
serialize() {
|
|
100
|
+
return {
|
|
101
|
+
__class__: this.__class__,
|
|
102
|
+
name: this.name,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
deserialize(object) {
|
|
98
106
|
Object.assign(this, object);
|
|
99
107
|
return this;
|
|
100
108
|
}
|
|
@@ -102,17 +110,17 @@ class KritzelBaseTool {
|
|
|
102
110
|
|
|
103
111
|
class AddObjectCommand extends KritzelBaseCommand {
|
|
104
112
|
object;
|
|
105
|
-
constructor(
|
|
106
|
-
super(
|
|
113
|
+
constructor(core, initiator, object, skipHistory = false) {
|
|
114
|
+
super(core, initiator, skipHistory);
|
|
107
115
|
this.object = object;
|
|
108
116
|
}
|
|
109
117
|
execute() {
|
|
110
|
-
this.
|
|
111
|
-
this.
|
|
118
|
+
this._core.store.state.objectsMap.insert(this.object);
|
|
119
|
+
this._core.addObjectToDatabase(this.object);
|
|
112
120
|
}
|
|
113
121
|
undo() {
|
|
114
|
-
this.
|
|
115
|
-
this.
|
|
122
|
+
this._core.store.state.objectsMap.remove(object => object.id === this.object.id);
|
|
123
|
+
this._core.deleteObjectFromDatabase(this.object.id);
|
|
116
124
|
}
|
|
117
125
|
}
|
|
118
126
|
|
|
@@ -131,11 +139,7 @@ class KritzelEventHelper {
|
|
|
131
139
|
const contextMenu = path.find(element => element.classList && element.classList.contains('context-menu'));
|
|
132
140
|
return !!contextMenu;
|
|
133
141
|
}
|
|
134
|
-
static
|
|
135
|
-
if (event.pointerType !== 'touch') {
|
|
136
|
-
onCancel?.();
|
|
137
|
-
return () => { };
|
|
138
|
-
}
|
|
142
|
+
static onLongPress(event, onSuccess, onCancel) {
|
|
139
143
|
const longPressTimeout = 400;
|
|
140
144
|
const moveThreshold = 10;
|
|
141
145
|
const startX = event.clientX;
|
|
@@ -243,8 +247,8 @@ class KritzelTextTool extends KritzelBaseTool {
|
|
|
243
247
|
'#808000',
|
|
244
248
|
'#800080',
|
|
245
249
|
];
|
|
246
|
-
constructor(
|
|
247
|
-
super(
|
|
250
|
+
constructor(core) {
|
|
251
|
+
super(core);
|
|
248
252
|
}
|
|
249
253
|
handlePointerDown(event) {
|
|
250
254
|
if (event.cancelable) {
|
|
@@ -253,66 +257,66 @@ class KritzelTextTool extends KritzelBaseTool {
|
|
|
253
257
|
if (event.pointerType === 'mouse') {
|
|
254
258
|
const path = event.composedPath().slice(1);
|
|
255
259
|
const objectElement = path.find(element => element.classList && element.classList.contains('object'));
|
|
256
|
-
const object = this.
|
|
257
|
-
if (this.
|
|
258
|
-
this.
|
|
260
|
+
const object = this._core.findObjectById(objectElement?.id);
|
|
261
|
+
if (this._core.store.state.activeText === null && object && object instanceof KritzelText) {
|
|
262
|
+
this._core.store.setState('activeText', object);
|
|
259
263
|
object.focus();
|
|
260
264
|
return;
|
|
261
265
|
}
|
|
262
|
-
if (this.
|
|
266
|
+
if (this._core.store.state.activeText !== null && object instanceof KritzelText) {
|
|
263
267
|
object.focus();
|
|
264
268
|
return;
|
|
265
269
|
}
|
|
266
|
-
if (this.
|
|
267
|
-
this.
|
|
268
|
-
this.
|
|
270
|
+
if (this._core.store.state.activeText !== null) {
|
|
271
|
+
this._core.resetActiveText();
|
|
272
|
+
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('selection'));
|
|
269
273
|
return;
|
|
270
274
|
}
|
|
271
275
|
if (KritzelEventHelper.isLeftClick(event) === false) {
|
|
272
276
|
return;
|
|
273
277
|
}
|
|
274
|
-
const clientX = event.clientX - this.
|
|
275
|
-
const clientY = event.clientY - this.
|
|
276
|
-
const text = KritzelText.create(this.
|
|
278
|
+
const clientX = event.clientX - this._core.store.offsetX;
|
|
279
|
+
const clientY = event.clientY - this._core.store.offsetY;
|
|
280
|
+
const text = KritzelText.create(this._core, this.fontSize, this.fontFamily);
|
|
277
281
|
text.fontColor = this.fontColor;
|
|
278
|
-
text.translateX = (clientX - this.
|
|
279
|
-
text.translateY = (clientY - this.
|
|
280
|
-
text.zIndex = this.
|
|
281
|
-
this.
|
|
282
|
-
this.
|
|
282
|
+
text.translateX = (clientX - this._core.store.state.translateX) / this._core.store.state.scale;
|
|
283
|
+
text.translateY = (clientY - this._core.store.state.translateY) / this._core.store.state.scale;
|
|
284
|
+
text.zIndex = this._core.store.currentZIndex;
|
|
285
|
+
this._core.store.setState('activeText', text);
|
|
286
|
+
this._core.history.executeCommand(new AddObjectCommand(this._core, this, text));
|
|
283
287
|
}
|
|
284
288
|
if (event.pointerType === 'touch') {
|
|
285
|
-
const activePointers = Array.from(this.
|
|
289
|
+
const activePointers = Array.from(this._core.store.state.pointers.values());
|
|
286
290
|
const path = event.composedPath().slice(1);
|
|
287
291
|
const objectElement = path.find(element => element.classList && element.classList.contains('object'));
|
|
288
|
-
const object = this.
|
|
289
|
-
if (this.
|
|
290
|
-
this.
|
|
292
|
+
const object = this._core.findObjectById(objectElement?.id);
|
|
293
|
+
if (this._core.store.state.activeText === null && object && object instanceof KritzelText) {
|
|
294
|
+
this._core.store.setState('activeText', object);
|
|
291
295
|
object.focus();
|
|
292
296
|
return;
|
|
293
297
|
}
|
|
294
|
-
if (this.
|
|
298
|
+
if (this._core.store.state.activeText !== null && object instanceof KritzelText) {
|
|
295
299
|
object.focus();
|
|
296
300
|
return;
|
|
297
301
|
}
|
|
298
|
-
if (this.
|
|
299
|
-
this.
|
|
300
|
-
this.
|
|
302
|
+
if (this._core.store.state.activeText !== null) {
|
|
303
|
+
this._core.resetActiveText();
|
|
304
|
+
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('selection'));
|
|
301
305
|
return;
|
|
302
306
|
}
|
|
303
307
|
if (activePointers.length > 1) {
|
|
304
308
|
return;
|
|
305
309
|
}
|
|
306
310
|
KritzelKeyboardHelper.disableInteractiveWidget();
|
|
307
|
-
const clientX = Math.round(activePointers[0].clientX - this.
|
|
308
|
-
const clientY = Math.round(activePointers[0].clientY - this.
|
|
309
|
-
const text = KritzelText.create(this.
|
|
311
|
+
const clientX = Math.round(activePointers[0].clientX - this._core.store.offsetX);
|
|
312
|
+
const clientY = Math.round(activePointers[0].clientY - this._core.store.offsetY);
|
|
313
|
+
const text = KritzelText.create(this._core, this.fontSize, this.fontFamily);
|
|
310
314
|
text.fontColor = this.fontColor;
|
|
311
|
-
text.translateX = (clientX - this.
|
|
312
|
-
text.translateY = (clientY - this.
|
|
313
|
-
text.zIndex = this.
|
|
314
|
-
this.
|
|
315
|
-
this.
|
|
315
|
+
text.translateX = (clientX - this._core.store.state.translateX) / this._core.store.state.scale;
|
|
316
|
+
text.translateY = (clientY - this._core.store.state.translateY) / this._core.store.state.scale;
|
|
317
|
+
text.zIndex = this._core.store.currentZIndex;
|
|
318
|
+
this._core.store.setState('activeText', text);
|
|
319
|
+
this._core.history.executeCommand(new AddObjectCommand(this._core, this, text));
|
|
316
320
|
}
|
|
317
321
|
}
|
|
318
322
|
handlePointerUp(event) {
|
|
@@ -320,12 +324,12 @@ class KritzelTextTool extends KritzelBaseTool {
|
|
|
320
324
|
event.preventDefault();
|
|
321
325
|
}
|
|
322
326
|
if (event.pointerType === 'mouse') {
|
|
323
|
-
this.
|
|
324
|
-
this.
|
|
327
|
+
this._core.store.state.activeText?.updateTextareaDimensions();
|
|
328
|
+
this._core.store.state.activeText?.focus();
|
|
325
329
|
}
|
|
326
330
|
if (event.pointerType === 'touch') {
|
|
327
|
-
this.
|
|
328
|
-
this.
|
|
331
|
+
this._core.store.state.activeText?.updateTextareaDimensions();
|
|
332
|
+
this._core.store.state.activeText?.focus();
|
|
329
333
|
KritzelKeyboardHelper.enableInteractiveWidget();
|
|
330
334
|
}
|
|
331
335
|
}
|
|
@@ -386,7 +390,7 @@ class KritzelGeometryHelper {
|
|
|
386
390
|
|
|
387
391
|
class KritzelBaseObject {
|
|
388
392
|
__class__ = 'KritzelBaseObject';
|
|
389
|
-
|
|
393
|
+
_core;
|
|
390
394
|
_elementRef;
|
|
391
395
|
id;
|
|
392
396
|
workspaceId;
|
|
@@ -500,11 +504,11 @@ class KritzelBaseObject {
|
|
|
500
504
|
constructor() {
|
|
501
505
|
this.id = this.generateId();
|
|
502
506
|
}
|
|
503
|
-
static create(
|
|
507
|
+
static create(core) {
|
|
504
508
|
const object = new KritzelBaseObject();
|
|
505
|
-
object.
|
|
506
|
-
object.zIndex = store.currentZIndex;
|
|
507
|
-
object.workspaceId = store.state.activeWorkspace.id;
|
|
509
|
+
object._core = core;
|
|
510
|
+
object.zIndex = core.store.currentZIndex;
|
|
511
|
+
object.workspaceId = core.store.state.activeWorkspace.id;
|
|
508
512
|
return object;
|
|
509
513
|
}
|
|
510
514
|
mount(element) {
|
|
@@ -531,23 +535,23 @@ class KritzelBaseObject {
|
|
|
531
535
|
}
|
|
532
536
|
isInViewport() {
|
|
533
537
|
const viewportBounds = {
|
|
534
|
-
x: -this.
|
|
535
|
-
y: -this.
|
|
536
|
-
width: this.
|
|
537
|
-
height: this.
|
|
538
|
+
x: -this._core.store.state.translateX / this._core.store.state.scale,
|
|
539
|
+
y: -this._core.store.state.translateY / this._core.store.state.scale,
|
|
540
|
+
width: this._core.store.state.viewportWidth / this._core.store.state.scale,
|
|
541
|
+
height: this._core.store.state.viewportHeight / this._core.store.state.scale};
|
|
538
542
|
return (this.boundingBox.x < viewportBounds.x + viewportBounds.width &&
|
|
539
543
|
this.boundingBox.x + this.boundingBox.width > viewportBounds.x &&
|
|
540
544
|
this.boundingBox.y < viewportBounds.y + viewportBounds.height &&
|
|
541
545
|
this.boundingBox.y + this.boundingBox.height > viewportBounds.y);
|
|
542
546
|
}
|
|
543
547
|
centerInViewport() {
|
|
544
|
-
const scale = this.
|
|
545
|
-
this.translateX = (this.
|
|
546
|
-
this.translateY = (this.
|
|
548
|
+
const scale = this._core.store.state.scale;
|
|
549
|
+
this.translateX = (this._core.store.state.viewportWidth / 2 - this.totalWidth / 2 - this._core.store.state.translateX) / scale;
|
|
550
|
+
this.translateY = (this._core.store.state.viewportHeight / 2 - this.totalHeight / 2 - this._core.store.state.translateY) / scale;
|
|
547
551
|
}
|
|
548
552
|
move(startX, startY, endX, endY) {
|
|
549
|
-
const deltaX = (startX - endX) / this.
|
|
550
|
-
const deltaY = (startY - endY) / this.
|
|
553
|
+
const deltaX = (startX - endX) / this._core.store.state.scale;
|
|
554
|
+
const deltaY = (startY - endY) / this._core.store.state.scale;
|
|
551
555
|
this.translateX += deltaX;
|
|
552
556
|
this.translateY += deltaY;
|
|
553
557
|
}
|
|
@@ -563,6 +567,11 @@ class KritzelBaseObject {
|
|
|
563
567
|
rotate(value) {
|
|
564
568
|
this.rotation = value;
|
|
565
569
|
}
|
|
570
|
+
clone() {
|
|
571
|
+
const clone = new KritzelBaseObject();
|
|
572
|
+
Object.assign(clone, this);
|
|
573
|
+
return clone;
|
|
574
|
+
}
|
|
566
575
|
copy() {
|
|
567
576
|
const copiedObject = Object.create(Object.getPrototypeOf(this));
|
|
568
577
|
Object.assign(copiedObject, this);
|
|
@@ -573,7 +582,15 @@ class KritzelBaseObject {
|
|
|
573
582
|
onSelectedClick() {
|
|
574
583
|
// This method can be overridden by subclasses to handle click events when the object is selected.
|
|
575
584
|
}
|
|
576
|
-
|
|
585
|
+
serialize() {
|
|
586
|
+
const { _core, _elementRef, element, totalWidth, totalHeight, ...remainingProps } = this;
|
|
587
|
+
const clonedProps = structuredClone(remainingProps);
|
|
588
|
+
if (element && typeof element === 'object' && 'nodeType' in element && element.nodeType === 1) {
|
|
589
|
+
clonedProps.element = element.cloneNode(true);
|
|
590
|
+
}
|
|
591
|
+
return clonedProps;
|
|
592
|
+
}
|
|
593
|
+
deserialize(object) {
|
|
577
594
|
Object.assign(this, object);
|
|
578
595
|
return this;
|
|
579
596
|
}
|
|
@@ -593,7 +610,7 @@ class KritzelBaseObject {
|
|
|
593
610
|
updatePosition(x, y) {
|
|
594
611
|
this.translateX = x;
|
|
595
612
|
this.translateY = y;
|
|
596
|
-
this.
|
|
613
|
+
this._core.store.state.objectsMap.update(this);
|
|
597
614
|
}
|
|
598
615
|
}
|
|
599
616
|
|
|
@@ -609,7 +626,7 @@ class KritzelText extends KritzelBaseObject {
|
|
|
609
626
|
isEditable = true;
|
|
610
627
|
rows = 1;
|
|
611
628
|
get isReadonly() {
|
|
612
|
-
return !(this.
|
|
629
|
+
return !(this._core.store.state.activeTool instanceof KritzelTextTool);
|
|
613
630
|
}
|
|
614
631
|
constructor(config) {
|
|
615
632
|
super();
|
|
@@ -625,22 +642,22 @@ class KritzelText extends KritzelBaseObject {
|
|
|
625
642
|
this.scale = config.scale || 1;
|
|
626
643
|
}
|
|
627
644
|
}
|
|
628
|
-
static create(
|
|
645
|
+
static create(core, fontSize, fontFamily) {
|
|
629
646
|
const object = new KritzelText();
|
|
630
|
-
object.
|
|
647
|
+
object._core = core;
|
|
631
648
|
object.id = object.generateId();
|
|
632
|
-
object.workspaceId = store.state.activeWorkspace.id;
|
|
649
|
+
object.workspaceId = core.store.state.activeWorkspace.id;
|
|
633
650
|
object.fontSize = fontSize;
|
|
634
651
|
object.fontFamily = fontFamily;
|
|
635
652
|
object.translateX = 0;
|
|
636
653
|
object.translateY = 0;
|
|
637
|
-
object.width = object.initialWidth / (object.
|
|
638
|
-
object.height = (object.fontSize * 1.2) / (object.
|
|
654
|
+
object.width = object.initialWidth / (object._core.store.state.scale < 0 ? object._core.store.state.scale : 1);
|
|
655
|
+
object.height = (object.fontSize * 1.2) / (object._core.store.state.scale < 0 ? object._core.store.state.scale : 1);
|
|
639
656
|
object.padding = 5;
|
|
640
657
|
object.backgroundColor = 'transparent';
|
|
641
|
-
object.scale = object.
|
|
658
|
+
object.scale = object._core.store.state.scale;
|
|
642
659
|
object.value = ' ';
|
|
643
|
-
object.zIndex = store.currentZIndex;
|
|
660
|
+
object.zIndex = core.store.currentZIndex;
|
|
644
661
|
return object;
|
|
645
662
|
}
|
|
646
663
|
mount(element) {
|
|
@@ -694,7 +711,7 @@ class KritzelText extends KritzelBaseObject {
|
|
|
694
711
|
document.body.removeChild(span);
|
|
695
712
|
this.width = textWidth;
|
|
696
713
|
this.height = textHeight;
|
|
697
|
-
this.
|
|
714
|
+
this._core.history.executeCommand(new UpdateObjectCommand(this._core, this, this, { ...this }));
|
|
698
715
|
}
|
|
699
716
|
}
|
|
700
717
|
focus() {
|
|
@@ -727,10 +744,10 @@ class KritzelText extends KritzelBaseObject {
|
|
|
727
744
|
}
|
|
728
745
|
}
|
|
729
746
|
edit() {
|
|
730
|
-
this.
|
|
731
|
-
this.
|
|
732
|
-
this.
|
|
733
|
-
this.
|
|
747
|
+
this._core.store.setState('activeTool', KritzelToolRegistry.getTool('text'));
|
|
748
|
+
this._core.store.setState('selectionGroup', null);
|
|
749
|
+
this._core.store.setState('selectionBox', null);
|
|
750
|
+
this._core.store.setState('activeText', this);
|
|
734
751
|
setTimeout(() => {
|
|
735
752
|
this.focus();
|
|
736
753
|
}, 300);
|
|
@@ -790,11 +807,11 @@ class KritzelPath extends KritzelBaseObject {
|
|
|
790
807
|
this.d = this.generateSvgPath();
|
|
791
808
|
this.updateDimensions();
|
|
792
809
|
}
|
|
793
|
-
static create(
|
|
810
|
+
static create(core, options) {
|
|
794
811
|
const object = new KritzelPath();
|
|
795
|
-
object.
|
|
812
|
+
object._core = core;
|
|
796
813
|
object.id = object.generateId();
|
|
797
|
-
object.workspaceId = store.state.activeWorkspace.id;
|
|
814
|
+
object.workspaceId = core.store.state.activeWorkspace.id;
|
|
798
815
|
object.options = options;
|
|
799
816
|
object.points = options?.points ?? [];
|
|
800
817
|
object.translateX = options?.translateX ?? 0;
|
|
@@ -802,7 +819,7 @@ class KritzelPath extends KritzelBaseObject {
|
|
|
802
819
|
object.scale = options?.scale ?? 1;
|
|
803
820
|
object.strokeWidth = options?.strokeWidth ?? 8;
|
|
804
821
|
object.fill = options?.fill ?? '#000000';
|
|
805
|
-
object.zIndex = store.currentZIndex;
|
|
822
|
+
object.zIndex = core.store.currentZIndex;
|
|
806
823
|
object.d = object.generateSvgPath();
|
|
807
824
|
object.updateDimensions();
|
|
808
825
|
return object;
|
|
@@ -830,8 +847,8 @@ class KritzelPath extends KritzelBaseObject {
|
|
|
830
847
|
this._adjustedPoints = null;
|
|
831
848
|
}
|
|
832
849
|
move(startX, startY, endX, endY) {
|
|
833
|
-
const deltaX = (startX - endX) / this.
|
|
834
|
-
const deltaY = (startY - endY) / this.
|
|
850
|
+
const deltaX = (startX - endX) / this._core.store.state.scale;
|
|
851
|
+
const deltaY = (startY - endY) / this._core.store.state.scale;
|
|
835
852
|
this.translateX += deltaX;
|
|
836
853
|
this.translateY += deltaY;
|
|
837
854
|
this._adjustedPoints = null;
|
|
@@ -910,7 +927,7 @@ class KritzelPath extends KritzelBaseObject {
|
|
|
910
927
|
this.translateX = x;
|
|
911
928
|
this.translateY = y;
|
|
912
929
|
this._adjustedPoints = null;
|
|
913
|
-
this.
|
|
930
|
+
this._core.store.state.objectsMap.update(this);
|
|
914
931
|
}
|
|
915
932
|
computeAdjustedPoints() {
|
|
916
933
|
if (!this.points?.length) {
|
|
@@ -1033,8 +1050,8 @@ class KritzelBrushTool extends KritzelBaseTool {
|
|
|
1033
1050
|
pen: ['#000000', '#FFFFFF', '#FF0000', '#00FF00', '#0000FF', '#FFFF00', '#FF00FF', '#00FFFF', '#808080', '#C0C0C0', '#800000', '#008000', '#000080', '#808000', '#800080'],
|
|
1034
1051
|
highlighter: ['#ffff00', '#ffb347', '#b4ffb4'],
|
|
1035
1052
|
};
|
|
1036
|
-
constructor(
|
|
1037
|
-
super(
|
|
1053
|
+
constructor(core) {
|
|
1054
|
+
super(core);
|
|
1038
1055
|
}
|
|
1039
1056
|
handlePointerDown(event) {
|
|
1040
1057
|
if (event.cancelable) {
|
|
@@ -1042,34 +1059,34 @@ class KritzelBrushTool extends KritzelBaseTool {
|
|
|
1042
1059
|
}
|
|
1043
1060
|
if (event.pointerType === 'mouse') {
|
|
1044
1061
|
if (KritzelEventHelper.isLeftClick(event)) {
|
|
1045
|
-
this.
|
|
1046
|
-
const x = event.clientX - this.
|
|
1047
|
-
const y = event.clientY - this.
|
|
1048
|
-
this.
|
|
1062
|
+
this._core.store.setState('isDrawing', true);
|
|
1063
|
+
const x = event.clientX - this._core.store.offsetX;
|
|
1064
|
+
const y = event.clientY - this._core.store.offsetY;
|
|
1065
|
+
this._core.store.setState('currentPath', KritzelPath.create(this._core, {
|
|
1049
1066
|
points: [[x, y]],
|
|
1050
|
-
translateX: -this.
|
|
1051
|
-
translateY: -this.
|
|
1052
|
-
scale: this.
|
|
1067
|
+
translateX: -this._core.store.state.translateX,
|
|
1068
|
+
translateY: -this._core.store.state.translateY,
|
|
1069
|
+
scale: this._core.store.state.scale,
|
|
1053
1070
|
fill: this.color,
|
|
1054
1071
|
strokeWidth: this.size,
|
|
1055
|
-
});
|
|
1072
|
+
}));
|
|
1056
1073
|
}
|
|
1057
1074
|
}
|
|
1058
1075
|
if (event.pointerType === 'touch') {
|
|
1059
|
-
const activePointers = Array.from(this.
|
|
1076
|
+
const activePointers = Array.from(this._core.store.state.pointers.values());
|
|
1060
1077
|
if (activePointers.length === 1) {
|
|
1061
|
-
const x = Math.round(activePointers[0].clientX - this.
|
|
1062
|
-
const y = Math.round(activePointers[0].clientY - this.
|
|
1063
|
-
this.
|
|
1064
|
-
this.
|
|
1078
|
+
const x = Math.round(activePointers[0].clientX - this._core.store.offsetX);
|
|
1079
|
+
const y = Math.round(activePointers[0].clientY - this._core.store.offsetY);
|
|
1080
|
+
this._core.store.setState('isDrawing', true);
|
|
1081
|
+
this._core.store.setState('currentPath', KritzelPath.create(this._core, {
|
|
1065
1082
|
points: [[x, y]],
|
|
1066
|
-
translateX: -this.
|
|
1067
|
-
translateY: -this.
|
|
1068
|
-
scale: this.
|
|
1083
|
+
translateX: -this._core.store.state.translateX,
|
|
1084
|
+
translateY: -this._core.store.state.translateY,
|
|
1085
|
+
scale: this._core.store.state.scale,
|
|
1069
1086
|
fill: this.color,
|
|
1070
1087
|
strokeWidth: this.size,
|
|
1071
|
-
});
|
|
1072
|
-
this.
|
|
1088
|
+
}));
|
|
1089
|
+
this._core.rerender();
|
|
1073
1090
|
}
|
|
1074
1091
|
}
|
|
1075
1092
|
}
|
|
@@ -1078,34 +1095,34 @@ class KritzelBrushTool extends KritzelBaseTool {
|
|
|
1078
1095
|
event.preventDefault();
|
|
1079
1096
|
}
|
|
1080
1097
|
if (event.pointerType === 'mouse') {
|
|
1081
|
-
if (this.
|
|
1082
|
-
const x = event.clientX - this.
|
|
1083
|
-
const y = event.clientY - this.
|
|
1084
|
-
this.
|
|
1085
|
-
points: [...this.
|
|
1086
|
-
translateX: -this.
|
|
1087
|
-
translateY: -this.
|
|
1088
|
-
scale: this.
|
|
1098
|
+
if (this._core.store.state.isDrawing) {
|
|
1099
|
+
const x = event.clientX - this._core.store.offsetX;
|
|
1100
|
+
const y = event.clientY - this._core.store.offsetY;
|
|
1101
|
+
this._core.store.setState('currentPath', KritzelPath.create(this._core, {
|
|
1102
|
+
points: [...this._core.store.state.currentPath.points, [x, y]],
|
|
1103
|
+
translateX: -this._core.store.state.translateX,
|
|
1104
|
+
translateY: -this._core.store.state.translateY,
|
|
1105
|
+
scale: this._core.store.state.scale,
|
|
1089
1106
|
fill: this.color,
|
|
1090
1107
|
strokeWidth: this.size,
|
|
1091
|
-
});
|
|
1092
|
-
this.
|
|
1108
|
+
}));
|
|
1109
|
+
this._core.rerender();
|
|
1093
1110
|
}
|
|
1094
1111
|
}
|
|
1095
1112
|
if (event.pointerType === 'touch') {
|
|
1096
|
-
const activePointers = Array.from(this.
|
|
1113
|
+
const activePointers = Array.from(this._core.store.state.pointers.values());
|
|
1097
1114
|
if (activePointers.length === 1) {
|
|
1098
|
-
const x = Math.round(activePointers[0].clientX - this.
|
|
1099
|
-
const y = Math.round(activePointers[0].clientY - this.
|
|
1100
|
-
this.
|
|
1101
|
-
points: [...this.
|
|
1102
|
-
translateX: -this.
|
|
1103
|
-
translateY: -this.
|
|
1104
|
-
scale: this.
|
|
1115
|
+
const x = Math.round(activePointers[0].clientX - this._core.store.offsetX);
|
|
1116
|
+
const y = Math.round(activePointers[0].clientY - this._core.store.offsetY);
|
|
1117
|
+
this._core.store.setState('currentPath', KritzelPath.create(this._core, {
|
|
1118
|
+
points: [...this._core.store.state.currentPath.points, [x, y]],
|
|
1119
|
+
translateX: -this._core.store.state.translateX,
|
|
1120
|
+
translateY: -this._core.store.state.translateY,
|
|
1121
|
+
scale: this._core.store.state.scale,
|
|
1105
1122
|
fill: this.color,
|
|
1106
1123
|
strokeWidth: this.size,
|
|
1107
|
-
});
|
|
1108
|
-
this.
|
|
1124
|
+
}));
|
|
1125
|
+
this._core.rerender();
|
|
1109
1126
|
}
|
|
1110
1127
|
}
|
|
1111
1128
|
}
|
|
@@ -1114,30 +1131,34 @@ class KritzelBrushTool extends KritzelBaseTool {
|
|
|
1114
1131
|
event.preventDefault();
|
|
1115
1132
|
}
|
|
1116
1133
|
if (event.pointerType === 'mouse') {
|
|
1117
|
-
if (this.
|
|
1118
|
-
this.
|
|
1119
|
-
if (this.
|
|
1120
|
-
|
|
1121
|
-
|
|
1134
|
+
if (this._core.store.state.isDrawing) {
|
|
1135
|
+
this._core.store.setState('isDrawing', false);
|
|
1136
|
+
if (this._core.store.state.currentPath) {
|
|
1137
|
+
const currentPath = this._core.store.state.currentPath;
|
|
1138
|
+
currentPath.zIndex = this._core.store.currentZIndex;
|
|
1139
|
+
this._core.store.setState('currentPath', currentPath);
|
|
1140
|
+
this._core.history.executeCommand(new AddObjectCommand(this._core, this, this._core.store.state.currentPath));
|
|
1122
1141
|
}
|
|
1123
|
-
this.
|
|
1142
|
+
this._core.store.setState('currentPath', undefined);
|
|
1124
1143
|
}
|
|
1125
1144
|
}
|
|
1126
1145
|
if (event.pointerType === 'touch') {
|
|
1127
|
-
if (this.
|
|
1128
|
-
this.
|
|
1129
|
-
if (this.
|
|
1130
|
-
|
|
1131
|
-
|
|
1146
|
+
if (this._core.store.state.isDrawing) {
|
|
1147
|
+
this._core.store.setState('isDrawing', false);
|
|
1148
|
+
if (this._core.store.state.currentPath) {
|
|
1149
|
+
const currentPath = this._core.store.state.currentPath;
|
|
1150
|
+
currentPath.zIndex = this._core.store.currentZIndex;
|
|
1151
|
+
this._core.store.setState('currentPath', currentPath);
|
|
1152
|
+
this._core.history.executeCommand(new AddObjectCommand(this._core, this, currentPath));
|
|
1132
1153
|
}
|
|
1133
|
-
this.
|
|
1134
|
-
this.
|
|
1154
|
+
this._core.store.setState('currentPath', undefined);
|
|
1155
|
+
this._core.rerender();
|
|
1135
1156
|
}
|
|
1136
1157
|
}
|
|
1137
1158
|
}
|
|
1138
1159
|
}
|
|
1139
1160
|
|
|
1140
1161
|
export { AddObjectCommand as A, KritzelText as K, UpdateObjectCommand as U, KritzelPath as a, KritzelBrushTool as b, KritzelTextTool as c, KritzelKeyboardHelper as d, KritzelBaseObject as e, KritzelBaseCommand as f, KritzelBaseTool as g, KritzelEventHelper as h, KritzelToolRegistry as i };
|
|
1141
|
-
//# sourceMappingURL=p-
|
|
1162
|
+
//# sourceMappingURL=p-CNTK3JOp.js.map
|
|
1142
1163
|
|
|
1143
|
-
//# sourceMappingURL=p-
|
|
1164
|
+
//# sourceMappingURL=p-CNTK3JOp.js.map
|