kritzel-stencil 0.0.126 → 0.0.128
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/app-globals-V2Kpy_OQ.js +8 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
- package/dist/cjs/index-C7Read21.js +2638 -0
- package/dist/cjs/index-C7Read21.js.map +1 -0
- package/dist/cjs/index-CUSIflVf.js +1597 -0
- package/dist/cjs/index-CUSIflVf.js.map +1 -0
- package/dist/cjs/index.cjs.js +17 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/kritzel-brush-style_22.cjs.entry.js +3133 -0
- package/dist/cjs/loader.cjs.js +14 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/stencil.cjs.js +26 -0
- package/dist/cjs/stencil.cjs.js.map +1 -0
- package/dist/collection/classes/commands/add-object.command.js +17 -0
- package/dist/collection/classes/commands/add-object.command.js.map +1 -0
- package/dist/collection/classes/commands/add-selection-group.command.js +20 -0
- package/dist/collection/classes/commands/add-selection-group.command.js.map +1 -0
- package/dist/collection/classes/commands/base.command.js +15 -0
- package/dist/collection/classes/commands/base.command.js.map +1 -0
- package/dist/collection/classes/commands/batch.command.js +14 -0
- package/dist/collection/classes/commands/batch.command.js.map +1 -0
- package/dist/collection/classes/commands/move-selection-group.command.js +25 -0
- package/dist/collection/classes/commands/move-selection-group.command.js.map +1 -0
- package/dist/collection/classes/commands/remove-object.command.js +20 -0
- package/dist/collection/classes/commands/remove-object.command.js.map +1 -0
- package/dist/collection/classes/commands/remove-selection-group.command.js +18 -0
- package/dist/collection/classes/commands/remove-selection-group.command.js.map +1 -0
- package/dist/collection/classes/commands/resize-selection-group.command.js +18 -0
- package/dist/collection/classes/commands/resize-selection-group.command.js.map +1 -0
- package/dist/collection/classes/commands/rotate-selection-group.command.js +24 -0
- package/dist/collection/classes/commands/rotate-selection-group.command.js.map +1 -0
- package/dist/collection/classes/commands/update-object.command.js +32 -0
- package/dist/collection/classes/commands/update-object.command.js.map +1 -0
- package/dist/collection/classes/commands/update-viewport.command.js +23 -0
- package/dist/collection/classes/commands/update-viewport.command.js.map +1 -0
- package/dist/collection/classes/database.class.js +227 -0
- package/dist/collection/classes/database.class.js.map +1 -0
- package/dist/collection/classes/handlers/base.handler.js +7 -0
- package/dist/collection/classes/handlers/base.handler.js.map +1 -0
- package/dist/collection/classes/handlers/context-menu.handler.js +47 -0
- package/dist/collection/classes/handlers/context-menu.handler.js.map +1 -0
- package/dist/collection/classes/handlers/hover.handler.js +19 -0
- package/dist/collection/classes/handlers/hover.handler.js.map +1 -0
- package/dist/collection/classes/handlers/key.handler.js +80 -0
- package/dist/collection/classes/handlers/key.handler.js.map +1 -0
- package/dist/collection/classes/handlers/move.handler.js +100 -0
- package/dist/collection/classes/handlers/move.handler.js.map +1 -0
- package/dist/collection/classes/handlers/resize.handler.js +158 -0
- package/dist/collection/classes/handlers/resize.handler.js.map +1 -0
- package/dist/collection/classes/handlers/rotation.handler.js +118 -0
- package/dist/collection/classes/handlers/rotation.handler.js.map +1 -0
- package/dist/collection/classes/handlers/selection.handler.js +200 -0
- package/dist/collection/classes/handlers/selection.handler.js.map +1 -0
- package/dist/collection/classes/history.class.js +84 -0
- package/dist/collection/classes/history.class.js.map +1 -0
- package/dist/collection/classes/objects/base-object.class.js +205 -0
- package/dist/collection/classes/objects/base-object.class.js.map +1 -0
- package/dist/collection/classes/objects/custom-element.class.js +53 -0
- package/dist/collection/classes/objects/custom-element.class.js.map +1 -0
- package/dist/collection/classes/objects/image.class.js +54 -0
- package/dist/collection/classes/objects/image.class.js.map +1 -0
- package/dist/collection/classes/objects/path.class.js +269 -0
- package/dist/collection/classes/objects/path.class.js.map +1 -0
- package/dist/collection/classes/objects/selection-box.class.js +23 -0
- package/dist/collection/classes/objects/selection-box.class.js.map +1 -0
- package/dist/collection/classes/objects/selection-group.class.js +158 -0
- package/dist/collection/classes/objects/selection-group.class.js.map +1 -0
- package/dist/collection/classes/objects/text.class.js +144 -0
- package/dist/collection/classes/objects/text.class.js.map +1 -0
- package/dist/{stencil/icon-registry.class-Bw5YkOTi.js → collection/classes/registries/icon-registry.class.js} +7 -7
- package/dist/collection/classes/registries/icon-registry.class.js.map +1 -0
- package/dist/collection/classes/registries/tool.registry.js +18 -0
- package/dist/collection/classes/registries/tool.registry.js.map +1 -0
- package/dist/collection/classes/reviver.class.js +66 -0
- package/dist/collection/classes/reviver.class.js.map +1 -0
- package/dist/collection/classes/store.class.js +410 -0
- package/dist/collection/classes/store.class.js.map +1 -0
- package/dist/collection/classes/structures/circular-buffer.structure.js +46 -0
- package/dist/collection/classes/structures/circular-buffer.structure.js.map +1 -0
- package/dist/collection/classes/structures/octree.structure.js +115 -0
- package/dist/collection/classes/structures/octree.structure.js.map +1 -0
- package/dist/collection/classes/tools/base-tool.class.js +31 -0
- package/dist/collection/classes/tools/base-tool.class.js.map +1 -0
- package/dist/collection/classes/tools/brush-tool.class.js +116 -0
- package/dist/collection/classes/tools/brush-tool.class.js.map +1 -0
- package/dist/collection/classes/tools/eraser-tool.class.js +86 -0
- package/dist/collection/classes/tools/eraser-tool.class.js.map +1 -0
- package/dist/collection/classes/tools/image-tool.class.js +91 -0
- package/dist/collection/classes/tools/image-tool.class.js.map +1 -0
- package/dist/collection/classes/tools/selection-tool.class.js +156 -0
- package/dist/collection/classes/tools/selection-tool.class.js.map +1 -0
- package/dist/collection/classes/tools/text-tool.class.js +116 -0
- package/dist/collection/classes/tools/text-tool.class.js.map +1 -0
- package/dist/collection/classes/viewport.class.js +152 -0
- package/dist/collection/classes/viewport.class.js.map +1 -0
- package/dist/collection/classes/workspace.class.js +10 -0
- package/dist/collection/classes/workspace.class.js.map +1 -0
- package/dist/collection/collection-manifest.json +33 -0
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -0
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +154 -0
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js.map +1 -0
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +29 -0
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +670 -0
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -0
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +60 -0
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +1483 -0
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -0
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.css +44 -0
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +100 -0
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js.map +1 -0
- package/dist/collection/components/shared/kritzel-color/kritzel-color.css +21 -0
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js +108 -0
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js.map +1 -0
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +46 -0
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +147 -0
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js.map +1 -0
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +53 -0
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +215 -0
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js.map +1 -0
- package/dist/collection/components/shared/kritzel-font/kritzel-font.css +10 -0
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js +92 -0
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js.map +1 -0
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.css +48 -0
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +115 -0
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js.map +1 -0
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +30 -0
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +112 -0
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js.map +1 -0
- package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +17 -0
- package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js +94 -0
- package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js.map +1 -0
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +166 -0
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +272 -0
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js.map +1 -0
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +218 -0
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js.map +1 -0
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +74 -0
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +324 -0
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js.map +1 -0
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +28 -0
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +91 -0
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js.map +1 -0
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.css +17 -0
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +181 -0
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js.map +1 -0
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +55 -0
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +141 -0
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js.map +1 -0
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.css +19 -0
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +136 -0
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js.map +1 -0
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.css +19 -0
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +116 -0
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js.map +1 -0
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +124 -0
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +280 -0
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js.map +1 -0
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +33 -0
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +79 -0
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js.map +1 -0
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.css +5 -0
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +209 -0
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js.map +1 -0
- package/dist/{stencil/default-text-tool.config-DvOZmpuR.js → collection/configs/default-brush-tool.config.js} +2 -38
- package/dist/collection/configs/default-brush-tool.config.js.map +1 -0
- package/dist/collection/configs/default-engine-state.js +61 -0
- package/dist/collection/configs/default-engine-state.js.map +1 -0
- package/dist/collection/configs/default-text-tool.config.js +32 -0
- package/dist/collection/configs/default-text-tool.config.js.map +1 -0
- package/dist/collection/constants/engine.constants.js +3 -0
- package/dist/collection/constants/engine.constants.js.map +1 -0
- package/dist/collection/enums/event-button.enum.js +7 -0
- package/dist/collection/enums/event-button.enum.js.map +1 -0
- package/dist/collection/enums/handle-type.enum.js +8 -0
- package/dist/collection/enums/handle-type.enum.js.map +1 -0
- package/dist/collection/helpers/class.helper.js +6 -0
- package/dist/collection/helpers/class.helper.js.map +1 -0
- package/dist/collection/helpers/devices.helper.js +6 -0
- package/dist/collection/helpers/devices.helper.js.map +1 -0
- package/dist/collection/helpers/event.helper.js +58 -0
- package/dist/collection/helpers/event.helper.js.map +1 -0
- package/dist/collection/helpers/geometry.helper.js +53 -0
- package/dist/collection/helpers/geometry.helper.js.map +1 -0
- package/dist/collection/helpers/html.helper.js +36 -0
- package/dist/collection/helpers/html.helper.js.map +1 -0
- package/dist/collection/helpers/keyboard.helper.js +31 -0
- package/dist/collection/helpers/keyboard.helper.js.map +1 -0
- package/dist/collection/helpers/math.helper.js +6 -0
- package/dist/collection/helpers/math.helper.js.map +1 -0
- package/dist/collection/helpers/object.helper.js +38 -0
- package/dist/collection/helpers/object.helper.js.map +1 -0
- package/dist/collection/index.js +21 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/interfaces/bounding-box.interface.js +2 -0
- package/dist/collection/interfaces/bounding-box.interface.js.map +1 -0
- package/dist/collection/interfaces/command.interface.js +2 -0
- package/dist/collection/interfaces/command.interface.js.map +1 -0
- package/dist/collection/interfaces/context-menu-item.interface.js +2 -0
- package/dist/collection/interfaces/context-menu-item.interface.js.map +1 -0
- package/dist/collection/interfaces/debug-info.interface.js +2 -0
- package/dist/collection/interfaces/debug-info.interface.js.map +1 -0
- package/dist/collection/interfaces/engine-state.interface.js +2 -0
- package/dist/collection/interfaces/engine-state.interface.js.map +1 -0
- package/dist/collection/interfaces/menu-item.interface.js +2 -0
- package/dist/collection/interfaces/menu-item.interface.js.map +1 -0
- package/dist/collection/interfaces/object.interface.js +2 -0
- package/dist/collection/interfaces/object.interface.js.map +1 -0
- package/dist/collection/interfaces/path-options.interface.js +2 -0
- package/dist/collection/interfaces/path-options.interface.js.map +1 -0
- package/dist/collection/interfaces/point.interface.js +2 -0
- package/dist/collection/interfaces/point.interface.js.map +1 -0
- package/dist/collection/interfaces/polygon.interface.js +2 -0
- package/dist/collection/interfaces/polygon.interface.js.map +1 -0
- package/dist/collection/interfaces/selection-state.interface.js +2 -0
- package/dist/collection/interfaces/selection-state.interface.js.map +1 -0
- package/dist/collection/interfaces/serializable.interface.js +2 -0
- package/dist/collection/interfaces/serializable.interface.js.map +1 -0
- package/dist/collection/interfaces/tool.interface.js +2 -0
- package/dist/collection/interfaces/tool.interface.js.map +1 -0
- package/dist/collection/interfaces/toolbar-control.interface.js +2 -0
- package/dist/collection/interfaces/toolbar-control.interface.js.map +1 -0
- package/dist/collection/types/state.types.js +2 -0
- package/dist/collection/types/state.types.js.map +1 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.js +28 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/kritzel-brush-style.js +9 -0
- package/dist/components/kritzel-brush-style.js.map +1 -0
- package/dist/components/kritzel-color-palette.js +9 -0
- package/dist/components/kritzel-color-palette.js.map +1 -0
- package/dist/components/kritzel-color.js +9 -0
- package/dist/components/kritzel-color.js.map +1 -0
- package/dist/components/kritzel-context-menu.js +9 -0
- package/dist/components/kritzel-context-menu.js.map +1 -0
- package/dist/components/kritzel-control-brush-config.js +9 -0
- package/dist/components/kritzel-control-brush-config.js.map +1 -0
- package/dist/components/kritzel-control-text-config.js +9 -0
- package/dist/components/kritzel-control-text-config.js.map +1 -0
- package/dist/components/kritzel-controls.js +9 -0
- package/dist/components/kritzel-controls.js.map +1 -0
- package/dist/components/kritzel-cursor-trail.js +9 -0
- package/dist/components/kritzel-cursor-trail.js.map +1 -0
- package/dist/components/kritzel-dropdown.js +9 -0
- package/dist/components/kritzel-dropdown.js.map +1 -0
- package/dist/components/kritzel-editor.js +439 -0
- package/dist/components/kritzel-editor.js.map +1 -0
- package/dist/components/kritzel-engine.js +9 -0
- package/dist/components/kritzel-engine.js.map +1 -0
- package/dist/components/kritzel-font-family.js +9 -0
- package/dist/components/kritzel-font-family.js.map +1 -0
- package/dist/components/kritzel-font-size.js +9 -0
- package/dist/components/kritzel-font-size.js.map +1 -0
- package/dist/components/kritzel-font.js +9 -0
- package/dist/components/kritzel-font.js.map +1 -0
- package/dist/components/kritzel-icon.js +9 -0
- package/dist/components/kritzel-icon.js.map +1 -0
- package/dist/components/kritzel-menu.d.ts +11 -0
- package/dist/components/kritzel-menu.js +9 -0
- package/dist/components/kritzel-menu.js.map +1 -0
- package/dist/components/kritzel-portal.d.ts +11 -0
- package/dist/components/kritzel-portal.js +9 -0
- package/dist/components/kritzel-portal.js.map +1 -0
- package/dist/components/kritzel-split-button.d.ts +11 -0
- package/dist/components/kritzel-split-button.js +9 -0
- package/dist/components/kritzel-split-button.js.map +1 -0
- package/dist/components/kritzel-stroke-size.js +9 -0
- package/dist/components/kritzel-stroke-size.js.map +1 -0
- package/dist/components/kritzel-tooltip.js +9 -0
- package/dist/components/kritzel-tooltip.js.map +1 -0
- package/dist/components/kritzel-utility-panel.js +9 -0
- package/dist/components/kritzel-utility-panel.js.map +1 -0
- package/dist/components/kritzel-workspace-manager.d.ts +11 -0
- package/dist/components/kritzel-workspace-manager.js +9 -0
- package/dist/components/kritzel-workspace-manager.js.map +1 -0
- package/dist/{stencil/kritzel-color.entry.js → components/p-5CJxFNEE.js} +31 -11
- package/dist/components/p-5CJxFNEE.js.map +1 -0
- package/dist/{stencil/brush-tool.class-D1U3x9_Y.js → components/p-B7VrEdgP.js} +77 -110
- package/dist/components/p-B7VrEdgP.js.map +1 -0
- package/dist/{stencil/kritzel-color-palette.entry.js → components/p-BAPUTr3K.js} +40 -12
- package/dist/components/p-BAPUTr3K.js.map +1 -0
- package/dist/{stencil/kritzel-controls.entry.js → components/p-BB22cVkU.js} +135 -27
- package/dist/components/p-BB22cVkU.js.map +1 -0
- package/dist/components/p-BLmFBe2a.js +96 -0
- package/dist/components/p-BLmFBe2a.js.map +1 -0
- package/dist/components/p-BU2q3PRS.js +84 -0
- package/dist/components/p-BU2q3PRS.js.map +1 -0
- package/dist/components/p-BZ-j_4CK.js +46 -0
- package/dist/components/p-BZ-j_4CK.js.map +1 -0
- package/dist/components/p-BaKb8ZLg.js +104 -0
- package/dist/components/p-BaKb8ZLg.js.map +1 -0
- package/dist/components/p-Bb6od8He.js +42 -0
- package/dist/components/p-Bb6od8He.js.map +1 -0
- package/dist/components/p-BcQTDgzV.js +56 -0
- package/dist/components/p-BcQTDgzV.js.map +1 -0
- package/dist/components/p-BeVv4o5c.js +14 -0
- package/dist/components/p-BeVv4o5c.js.map +1 -0
- package/dist/components/p-BmJbJwkH.js +167 -0
- package/dist/components/p-BmJbJwkH.js.map +1 -0
- package/dist/components/p-BqrTPNyu.js +1330 -0
- package/dist/components/p-BqrTPNyu.js.map +1 -0
- package/dist/{stencil/kritzel-dropdown.entry.js → components/p-BvlGgLAQ.js} +39 -11
- package/dist/components/p-BvlGgLAQ.js.map +1 -0
- package/dist/components/p-BzSz74Ci.js +56 -0
- package/dist/components/p-BzSz74Ci.js.map +1 -0
- package/dist/components/p-D-zg05gA.js +3148 -0
- package/dist/components/p-D-zg05gA.js.map +1 -0
- package/dist/{stencil/event-button.enum-D8W6LE-c.js → components/p-D8W6LE-c.js} +2 -2
- package/dist/components/p-D8W6LE-c.js.map +1 -0
- package/dist/components/p-DV4ERZv5.js +112 -0
- package/dist/components/p-DV4ERZv5.js.map +1 -0
- package/dist/{stencil/kritzel-cursor-trail.entry.js → components/p-DtmZW6eP.js} +32 -11
- package/dist/components/p-DtmZW6eP.js.map +1 -0
- package/dist/components/p-V4ui5aWj.js +63 -0
- package/dist/components/p-V4ui5aWj.js.map +1 -0
- package/dist/{stencil/kritzel-font-family.entry.js → components/p-_ntxNi8v.js} +37 -11
- package/dist/components/p-_ntxNi8v.js.map +1 -0
- package/dist/components/p-a7KmQzo4.js +113 -0
- package/dist/components/p-a7KmQzo4.js.map +1 -0
- package/dist/components/p-hSuNJiIq.js +152 -0
- package/dist/components/p-hSuNJiIq.js.map +1 -0
- package/dist/{stencil/kritzel-tooltip.entry.js → components/p-jG1e48OE.js} +39 -14
- package/dist/components/p-jG1e48OE.js.map +1 -0
- package/dist/components/p-rQeWFfPG.js +54 -0
- package/dist/components/p-rQeWFfPG.js.map +1 -0
- package/dist/components/p-sQmW5NRu.js +156 -0
- package/dist/components/p-sQmW5NRu.js.map +1 -0
- package/dist/esm/app-globals-DQuL1Twl.js +6 -0
- package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
- package/dist/esm/index-J4NpPimy.js +2611 -0
- package/dist/esm/index-J4NpPimy.js.map +1 -0
- package/dist/esm/index-NiIEUDzj.js +1570 -0
- package/dist/esm/index-NiIEUDzj.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/kritzel-brush-style_22.entry.js +3110 -0
- package/dist/esm/loader.js +12 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/stencil.js +22 -0
- package/dist/esm/stencil.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/stencil/index.esm.js +1 -16
- package/dist/stencil/index.esm.js.map +1 -1
- package/dist/stencil/loader.esm.js.map +1 -1
- package/dist/stencil/p-4a0009e7.entry.js +2 -0
- package/dist/stencil/p-4a0009e7.entry.js.map +1 -0
- package/dist/stencil/p-DQuL1Twl.js +2 -0
- package/dist/stencil/p-DQuL1Twl.js.map +1 -0
- package/dist/stencil/p-J4NpPimy.js +2 -0
- package/dist/stencil/p-J4NpPimy.js.map +1 -0
- package/dist/stencil/p-NiIEUDzj.js +3 -0
- package/dist/stencil/p-NiIEUDzj.js.map +1 -0
- package/dist/stencil/stencil.esm.js +1 -49
- package/dist/stencil/stencil.esm.js.map +1 -1
- package/dist/types/classes/commands/add-object.command.d.ts +1 -1
- package/dist/types/classes/commands/add-selection-group.command.d.ts +1 -1
- package/dist/types/classes/commands/base.command.d.ts +2 -2
- package/dist/types/classes/commands/batch.command.d.ts +1 -1
- package/dist/types/classes/commands/move-selection-group.command.d.ts +1 -1
- package/dist/types/classes/commands/remove-object.command.d.ts +1 -1
- package/dist/types/classes/commands/remove-selection-group.command.d.ts +1 -1
- package/dist/types/classes/commands/resize-selection-group.command.d.ts +1 -1
- package/dist/types/classes/commands/rotate-selection-group.command.d.ts +1 -1
- package/dist/types/classes/commands/update-object.command.d.ts +1 -1
- package/dist/types/classes/commands/update-viewport.command.d.ts +1 -1
- package/dist/types/classes/database.class.d.ts +28 -0
- package/dist/types/classes/history.class.d.ts +1 -0
- package/dist/types/classes/objects/base-object.class.d.ts +2 -0
- package/dist/types/classes/objects/path.class.d.ts +1 -0
- package/dist/types/classes/objects/text.class.d.ts +1 -1
- package/dist/types/classes/store.class.d.ts +19 -2
- package/dist/types/classes/structures/octree.structure.d.ts +1 -0
- package/dist/types/classes/workspace.class.d.ts +16 -0
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +6 -1
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +12 -2
- package/dist/types/components/shared/kritzel-menu/kritzel-menu.d.ts +24 -0
- package/dist/types/components/shared/kritzel-portal/kritzel-portal.d.ts +24 -0
- package/dist/types/components/shared/kritzel-split-button/kritzel-split-button.d.ts +24 -0
- package/dist/types/components/ui/kritzel-context-menu/kritzel-context-menu.d.ts +3 -4
- package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +2 -1
- package/dist/types/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.d.ts +25 -0
- package/dist/types/components.d.ts +250 -2
- package/dist/types/helpers/html.helper.d.ts +3 -1
- package/dist/types/interfaces/command.interface.d.ts +1 -1
- package/dist/types/interfaces/debug-info.interface.d.ts +1 -0
- package/dist/types/interfaces/engine-state.interface.d.ts +3 -0
- package/dist/types/interfaces/menu-item.interface.d.ts +9 -0
- package/dist/types/interfaces/object.interface.d.ts +2 -0
- package/dist/types/stencil-public-runtime.d.ts +21 -0
- package/package.json +63 -62
- package/dist/stencil/brush-tool.class-D1U3x9_Y.js.map +0 -1
- package/dist/stencil/default-text-tool.config-DvOZmpuR.js.map +0 -1
- package/dist/stencil/engine.constants-DsjjAmnl.js +0 -7
- package/dist/stencil/engine.constants-DsjjAmnl.js.map +0 -1
- package/dist/stencil/event-button.enum-D8W6LE-c.js.map +0 -1
- package/dist/stencil/icon-registry.class-Bw5YkOTi.js.map +0 -1
- package/dist/stencil/image-tool.class-uKAmXFSl.js +0 -1341
- package/dist/stencil/image-tool.class-uKAmXFSl.js.map +0 -1
- package/dist/stencil/index-Df69oUcb.js +0 -4334
- package/dist/stencil/index-Df69oUcb.js.map +0 -1
- package/dist/stencil/kritzel-brush-style.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-brush-style.entry.js +0 -31
- package/dist/stencil/kritzel-brush-style.entry.js.map +0 -1
- package/dist/stencil/kritzel-color-palette.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-color-palette.entry.js.map +0 -1
- package/dist/stencil/kritzel-color.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-color.entry.js.map +0 -1
- package/dist/stencil/kritzel-context-menu-B2p1_Ffh.js +0 -91
- package/dist/stencil/kritzel-context-menu-B2p1_Ffh.js.map +0 -1
- package/dist/stencil/kritzel-context-menu-DPHV6MRm.js +0 -91
- package/dist/stencil/kritzel-context-menu-DPHV6MRm.js.map +0 -1
- package/dist/stencil/kritzel-context-menu.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-context-menu.entry.js +0 -5
- package/dist/stencil/kritzel-context-menu.entry.js.map +0 -1
- package/dist/stencil/kritzel-control-brush-config.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-control-brush-config.entry.js +0 -54
- package/dist/stencil/kritzel-control-brush-config.entry.js.map +0 -1
- package/dist/stencil/kritzel-control-text-config.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-control-text-config.entry.js +0 -42
- package/dist/stencil/kritzel-control-text-config.entry.js.map +0 -1
- package/dist/stencil/kritzel-controls.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-controls.entry.js.map +0 -1
- package/dist/stencil/kritzel-cursor-trail.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-cursor-trail.entry.js.map +0 -1
- package/dist/stencil/kritzel-dropdown.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-dropdown.entry.js.map +0 -1
- package/dist/stencil/kritzel-editor.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-editor.entry.js +0 -180
- package/dist/stencil/kritzel-editor.entry.js.map +0 -1
- package/dist/stencil/kritzel-engine.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-engine.entry.js +0 -1318
- package/dist/stencil/kritzel-engine.entry.js.map +0 -1
- package/dist/stencil/kritzel-font-family.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-font-family.entry.js.map +0 -1
- package/dist/stencil/kritzel-font-size.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-font-size.entry.js +0 -29
- package/dist/stencil/kritzel-font-size.entry.js.map +0 -1
- package/dist/stencil/kritzel-font.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-font.entry.js +0 -25
- package/dist/stencil/kritzel-font.entry.js.map +0 -1
- package/dist/stencil/kritzel-icon.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-icon.entry.js +0 -29
- package/dist/stencil/kritzel-icon.entry.js.map +0 -1
- package/dist/stencil/kritzel-stroke-size.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-stroke-size.entry.js +0 -28
- package/dist/stencil/kritzel-stroke-size.entry.js.map +0 -1
- package/dist/stencil/kritzel-tooltip.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-tooltip.entry.js.map +0 -1
- package/dist/stencil/kritzel-utility-panel.entry.esm.js.map +0 -1
- package/dist/stencil/kritzel-utility-panel.entry.js +0 -33
- package/dist/stencil/kritzel-utility-panel.entry.js.map +0 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
export class KritzelFontSize {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.sizes = [8, 10, 12, 16, 20, 24];
|
|
5
|
+
this.selectedSize = null;
|
|
6
|
+
this.fontFamily = 'Arial';
|
|
7
|
+
}
|
|
8
|
+
handleSizeClick(size) {
|
|
9
|
+
this.selectedSize = size;
|
|
10
|
+
this.sizeChange.emit(size);
|
|
11
|
+
}
|
|
12
|
+
render() {
|
|
13
|
+
return (h(Host, { key: '08571feed86b37208956608b170ca1f782b7fb18' }, this.sizes.map(size => (h("div", { class: {
|
|
14
|
+
'size-container': true,
|
|
15
|
+
'selected': this.selectedSize === size,
|
|
16
|
+
}, onClick: () => this.handleSizeClick(size) }, h("kritzel-font", { fontFamily: this.fontFamily, size: size }))))));
|
|
17
|
+
}
|
|
18
|
+
static get is() { return "kritzel-font-size"; }
|
|
19
|
+
static get encapsulation() { return "shadow"; }
|
|
20
|
+
static get originalStyleUrls() {
|
|
21
|
+
return {
|
|
22
|
+
"$": ["kritzel-font-size.css"]
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
static get styleUrls() {
|
|
26
|
+
return {
|
|
27
|
+
"$": ["kritzel-font-size.css"]
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
static get properties() {
|
|
31
|
+
return {
|
|
32
|
+
"sizes": {
|
|
33
|
+
"type": "unknown",
|
|
34
|
+
"attribute": "sizes",
|
|
35
|
+
"mutable": false,
|
|
36
|
+
"complexType": {
|
|
37
|
+
"original": "number[]",
|
|
38
|
+
"resolved": "number[]",
|
|
39
|
+
"references": {}
|
|
40
|
+
},
|
|
41
|
+
"required": false,
|
|
42
|
+
"optional": false,
|
|
43
|
+
"docs": {
|
|
44
|
+
"tags": [],
|
|
45
|
+
"text": ""
|
|
46
|
+
},
|
|
47
|
+
"getter": false,
|
|
48
|
+
"setter": false,
|
|
49
|
+
"defaultValue": "[8, 10, 12, 16, 20, 24]"
|
|
50
|
+
},
|
|
51
|
+
"selectedSize": {
|
|
52
|
+
"type": "number",
|
|
53
|
+
"attribute": "selected-size",
|
|
54
|
+
"mutable": true,
|
|
55
|
+
"complexType": {
|
|
56
|
+
"original": "number | null",
|
|
57
|
+
"resolved": "number",
|
|
58
|
+
"references": {}
|
|
59
|
+
},
|
|
60
|
+
"required": false,
|
|
61
|
+
"optional": false,
|
|
62
|
+
"docs": {
|
|
63
|
+
"tags": [],
|
|
64
|
+
"text": ""
|
|
65
|
+
},
|
|
66
|
+
"getter": false,
|
|
67
|
+
"setter": false,
|
|
68
|
+
"reflect": false,
|
|
69
|
+
"defaultValue": "null"
|
|
70
|
+
},
|
|
71
|
+
"fontFamily": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"attribute": "font-family",
|
|
74
|
+
"mutable": false,
|
|
75
|
+
"complexType": {
|
|
76
|
+
"original": "string",
|
|
77
|
+
"resolved": "string",
|
|
78
|
+
"references": {}
|
|
79
|
+
},
|
|
80
|
+
"required": false,
|
|
81
|
+
"optional": false,
|
|
82
|
+
"docs": {
|
|
83
|
+
"tags": [],
|
|
84
|
+
"text": ""
|
|
85
|
+
},
|
|
86
|
+
"getter": false,
|
|
87
|
+
"setter": false,
|
|
88
|
+
"reflect": false,
|
|
89
|
+
"defaultValue": "'Arial'"
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
static get events() {
|
|
94
|
+
return [{
|
|
95
|
+
"method": "sizeChange",
|
|
96
|
+
"name": "sizeChange",
|
|
97
|
+
"bubbles": true,
|
|
98
|
+
"cancelable": true,
|
|
99
|
+
"composed": true,
|
|
100
|
+
"docs": {
|
|
101
|
+
"tags": [],
|
|
102
|
+
"text": ""
|
|
103
|
+
},
|
|
104
|
+
"complexType": {
|
|
105
|
+
"original": "number",
|
|
106
|
+
"resolved": "number",
|
|
107
|
+
"references": {}
|
|
108
|
+
}
|
|
109
|
+
}];
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=kritzel-font-size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kritzel-font-size.js","sourceRoot":"","sources":["../../../../src/components/shared/kritzel-font-size/kritzel-font-size.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAO9E,MAAM,OAAO,eAAe;IAL5B;QAOE,UAAK,GAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAG1C,iBAAY,GAAkB,IAAI,CAAC;QAGnC,eAAU,GAAW,OAAO,CAAC;KA2B9B;IAtBS,eAAe,CAAC,IAAY;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,uDACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACtB,WACE,KAAK,EAAE;gBACL,gBAAgB,EAAE,IAAI;gBACtB,UAAU,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI;aACvC,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAEzC,oBAAc,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,GAAiB,CAClE,CACP,CAAC,CACG,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'kritzel-font-size',\r\n styleUrl: 'kritzel-font-size.css',\r\n shadow: true,\r\n})\r\nexport class KritzelFontSize {\r\n @Prop()\r\n sizes: number[] = [8, 10, 12, 16, 20, 24];\r\n\r\n @Prop({ mutable: true })\r\n selectedSize: number | null = null;\r\n\r\n @Prop()\r\n fontFamily: string = 'Arial';\r\n\r\n @Event()\r\n sizeChange: EventEmitter<number>;\r\n\r\n private handleSizeClick(size: number) {\r\n this.selectedSize = size;\r\n this.sizeChange.emit(size);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n {this.sizes.map(size => (\r\n <div\r\n class={{\r\n 'size-container': true,\r\n 'selected': this.selectedSize === size,\r\n }}\r\n onClick={() => this.handleSizeClick(size)}\r\n >\r\n <kritzel-font fontFamily={this.fontFamily} size={size}></kritzel-font>\r\n </div>\r\n ))}\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: inline-flex; /* Changed from block to inline-flex for better alignment */
|
|
3
|
+
justify-content: center; /* Center content horizontally */
|
|
4
|
+
align-items: center; /* Center content vertically */
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
span {
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
width: 100%; /* Make span fill host width */
|
|
11
|
+
height: 100%; /* Make span fill host height */
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
span > svg { /* Ensure SVG scales within the span */
|
|
15
|
+
width: 100%;
|
|
16
|
+
height: 100%;
|
|
17
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
import { KritzelIconRegistry } from "../../../classes/registries/icon-registry.class";
|
|
3
|
+
export class KritzelIcon {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.size = 24;
|
|
6
|
+
}
|
|
7
|
+
render() {
|
|
8
|
+
const svgContent = KritzelIconRegistry.get(this.name);
|
|
9
|
+
if (!svgContent) {
|
|
10
|
+
console.error(`[kritzel-icon] Icon "${this.name}" not found in registry.`);
|
|
11
|
+
return h("span", { class: "error-icon", "aria-label": `Error: Icon ${this.name} not found` }, "?");
|
|
12
|
+
}
|
|
13
|
+
const styles = {
|
|
14
|
+
width: `${this.size}px`,
|
|
15
|
+
height: `${this.size}px`,
|
|
16
|
+
};
|
|
17
|
+
return (h(Host, { style: styles }, h("span", { "aria-hidden": !this.label, role: this.label ? 'img' : undefined, "aria-label": this.label, innerHTML: svgContent })));
|
|
18
|
+
}
|
|
19
|
+
static get is() { return "kritzel-icon"; }
|
|
20
|
+
static get encapsulation() { return "shadow"; }
|
|
21
|
+
static get originalStyleUrls() {
|
|
22
|
+
return {
|
|
23
|
+
"$": ["kritzel-icon.css"]
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static get styleUrls() {
|
|
27
|
+
return {
|
|
28
|
+
"$": ["kritzel-icon.css"]
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
static get properties() {
|
|
32
|
+
return {
|
|
33
|
+
"name": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"attribute": "name",
|
|
36
|
+
"mutable": false,
|
|
37
|
+
"complexType": {
|
|
38
|
+
"original": "string",
|
|
39
|
+
"resolved": "string",
|
|
40
|
+
"references": {}
|
|
41
|
+
},
|
|
42
|
+
"required": false,
|
|
43
|
+
"optional": false,
|
|
44
|
+
"docs": {
|
|
45
|
+
"tags": [],
|
|
46
|
+
"text": ""
|
|
47
|
+
},
|
|
48
|
+
"getter": false,
|
|
49
|
+
"setter": false,
|
|
50
|
+
"reflect": false
|
|
51
|
+
},
|
|
52
|
+
"label": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"attribute": "label",
|
|
55
|
+
"mutable": false,
|
|
56
|
+
"complexType": {
|
|
57
|
+
"original": "string",
|
|
58
|
+
"resolved": "string",
|
|
59
|
+
"references": {}
|
|
60
|
+
},
|
|
61
|
+
"required": false,
|
|
62
|
+
"optional": true,
|
|
63
|
+
"docs": {
|
|
64
|
+
"tags": [],
|
|
65
|
+
"text": ""
|
|
66
|
+
},
|
|
67
|
+
"getter": false,
|
|
68
|
+
"setter": false,
|
|
69
|
+
"reflect": false
|
|
70
|
+
},
|
|
71
|
+
"size": {
|
|
72
|
+
"type": "number",
|
|
73
|
+
"attribute": "size",
|
|
74
|
+
"mutable": false,
|
|
75
|
+
"complexType": {
|
|
76
|
+
"original": "number",
|
|
77
|
+
"resolved": "number",
|
|
78
|
+
"references": {}
|
|
79
|
+
},
|
|
80
|
+
"required": false,
|
|
81
|
+
"optional": false,
|
|
82
|
+
"docs": {
|
|
83
|
+
"tags": [],
|
|
84
|
+
"text": ""
|
|
85
|
+
},
|
|
86
|
+
"getter": false,
|
|
87
|
+
"setter": false,
|
|
88
|
+
"reflect": false,
|
|
89
|
+
"defaultValue": "24"
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=kritzel-icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kritzel-icon.js","sourceRoot":"","sources":["../../../../src/components/shared/kritzel-icon/kritzel-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAOtF,MAAM,OAAO,WAAW;IALxB;QAaE,SAAI,GAAW,EAAE,CAAC;KA0BnB;IAxBC,MAAM;QACJ,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,IAAI,0BAA0B,CAAC,CAAC;YAC3E,OAAO,YAAM,KAAK,EAAC,YAAY,gBAAa,eAAe,IAAI,CAAC,IAAI,YAAY,QAAU,CAAC;QAC7F,CAAC;QAED,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI;SACzB,CAAC;QAEF,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAE,MAAM;YACjB,2BACe,CAAC,IAAI,CAAC,KAAK,EACxB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,gBACxB,IAAI,CAAC,KAAK,EACtB,SAAS,EAAE,UAAU,GACf,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\r\nimport { KritzelIconRegistry } from '../../../classes/registries/icon-registry.class';\r\n\r\n@Component({\r\n tag: 'kritzel-icon',\r\n styleUrl: 'kritzel-icon.css',\r\n shadow: true,\r\n})\r\nexport class KritzelIcon {\r\n @Prop()\r\n name: string;\r\n\r\n @Prop()\r\n label?: string;\r\n\r\n @Prop()\r\n size: number = 24;\r\n\r\n render() {\r\n const svgContent = KritzelIconRegistry.get(this.name);\r\n\r\n if (!svgContent) {\r\n console.error(`[kritzel-icon] Icon \"${this.name}\" not found in registry.`);\r\n return <span class=\"error-icon\" aria-label={`Error: Icon ${this.name} not found`}>?</span>;\r\n }\r\n\r\n const styles = {\r\n width: `${this.size}px`,\r\n height: `${this.size}px`,\r\n };\r\n\r\n return (\r\n <Host style={styles}>\r\n <span\r\n aria-hidden={!this.label}\r\n role={this.label ? 'img' : undefined}\r\n aria-label={this.label}\r\n innerHTML={svgContent}\r\n ></span>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
min-width: 180px;
|
|
5
|
+
padding: var(--kritzel-controls-padding, 8px);
|
|
6
|
+
background-color: var(--kritzel-controls-background-color, #ffffff);
|
|
7
|
+
border-radius: var(--kritzel-controls-border-radius, 12px);
|
|
8
|
+
box-shadow: var(--kritzel-controls-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));
|
|
9
|
+
border: var(--kritzel-controls-border, 1px solid #ebebeb);
|
|
10
|
+
z-index: 2;
|
|
11
|
+
gap: var(--kritzel-menu-item-gap, 4px);
|
|
12
|
+
overflow-y: auto;
|
|
13
|
+
scrollbar-color: #ebebeb transparent;
|
|
14
|
+
scrollbar-width: thin;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
button {
|
|
18
|
+
all: unset;
|
|
19
|
+
background: transparent;
|
|
20
|
+
border: 0;
|
|
21
|
+
padding: 0;
|
|
22
|
+
margin: 0;
|
|
23
|
+
font: inherit;
|
|
24
|
+
color: inherit;
|
|
25
|
+
line-height: inherit;
|
|
26
|
+
text-align: inherit;
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
appearance: none;
|
|
29
|
+
-webkit-appearance: none;
|
|
30
|
+
-moz-appearance: none;
|
|
31
|
+
border-radius: 0;
|
|
32
|
+
-webkit-tap-highlight-color: transparent;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
button:focus {
|
|
36
|
+
outline: none;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
:host(:focus) {
|
|
40
|
+
outline: none;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.menu-item {
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
justify-content: space-between;
|
|
47
|
+
padding: var(--kritzel-context-menu-item-padding, 8px);
|
|
48
|
+
border-radius: var(--kritzel-context-menu-item-border-radius, 12px);
|
|
49
|
+
cursor: pointer;
|
|
50
|
+
font-family: sans-serif;
|
|
51
|
+
font-size: var(--kritzel-context-menu-item-font-size, 14px);
|
|
52
|
+
color: var(--kritzel-context-menu-item-color, #333333);
|
|
53
|
+
gap: var(--kritzel-context-menu-item-gap, 12px);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.menu-item:focus,
|
|
57
|
+
.menu-item:focus-within {
|
|
58
|
+
outline: none;
|
|
59
|
+
background-color: var(--kritzel-context-menu-item-hover-background-color, hsl(0, 0%, 0%, 4.3%));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.menu-item-label {
|
|
63
|
+
white-space: nowrap;
|
|
64
|
+
overflow: hidden;
|
|
65
|
+
text-overflow: ellipsis;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.menu-item:not(.disabled):not(.inactive):not(.active):hover {
|
|
69
|
+
background-color: var(--kritzel-context-menu-item-hover-background-color, hsl(0, 0%, 0%, 4.3%));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.menu-item:not(.disabled):not(.inactive):not(.active):active {
|
|
73
|
+
background-color: var(--kritzel-context-menu-item-active-background-color, hsl(0, 0%, 0%, 8.6%));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.menu-item.active {
|
|
77
|
+
color: var(--kritzel-controls-background-color, #ffffff);
|
|
78
|
+
background-color: var(--kritzel-controls-control-selected-background-color, #007aff);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.menu-item.active kritzel-icon {
|
|
82
|
+
filter: brightness(0) invert(1);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.menu-item.active:hover {
|
|
86
|
+
background-color: var(--kritzel-controls-control-selected-hover-background-color, #0075f1);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.menu-item.disabled {
|
|
90
|
+
color: var(--kritzel-context-menu-item-disabled-color, #aaaaaa);
|
|
91
|
+
background-color: transparent;
|
|
92
|
+
cursor: default;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.menu-item.child-open {
|
|
96
|
+
background-color: var(--kritzel-context-menu-item-hover-background-color, hsl(0, 0%, 0%, 4.3%)) !important;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.menu-item.active.menu-item.child-open {
|
|
100
|
+
background-color: var(--kritzel-controls-control-selected-active-background-color, #0075f1) !important;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.menu-item kritzel-icon {
|
|
104
|
+
opacity: 0.8;
|
|
105
|
+
flex-shrink: 0;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.menu-item.disabled kritzel-icon {
|
|
109
|
+
opacity: 0.4;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.menu-item.edit-mode input {
|
|
113
|
+
background: transparent;
|
|
114
|
+
border: none;
|
|
115
|
+
outline: none;
|
|
116
|
+
font-size: inherit;
|
|
117
|
+
font-family: inherit;
|
|
118
|
+
color: inherit;
|
|
119
|
+
padding: 0;
|
|
120
|
+
width: 100%;
|
|
121
|
+
padding: 2px 0px;
|
|
122
|
+
border-bottom: 1px solid var(--kritzel-context-menu-item-color, #333333);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.menu-item.active.edit-mode input {
|
|
126
|
+
border-bottom: 1px solid var(--kritzel-controls-background-color, #ffffff);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.menu-item.edit-mode input::selection {
|
|
130
|
+
background-color: var(--kritzel-controls-control-selected-background-color, #007aff);
|
|
131
|
+
border-radius: 4px;
|
|
132
|
+
color: var(--kritzel-controls-background-color, #ffffff);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.menu-item.active.edit-mode input::selection {
|
|
136
|
+
background-color: var(--kritzel-menu-item-selected-input-background-color, #ffffff34);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.menu-item-button {
|
|
140
|
+
background: transparent;
|
|
141
|
+
border: none;
|
|
142
|
+
outline: none;
|
|
143
|
+
cursor: pointer;
|
|
144
|
+
padding: 4px;
|
|
145
|
+
border-radius: 8px;
|
|
146
|
+
display: flex;
|
|
147
|
+
align-items: center;
|
|
148
|
+
justify-content: center;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.menu-item-button:hover {
|
|
152
|
+
background-color: var(--kritzel-context-menu-item-hover-background-color, hsl(0, 0%, 0%, 4.3%));
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.menu-item-button:focus {
|
|
156
|
+
background-color: var(--kritzel-context-menu-item-hover-background-color, hsl(0, 0%, 0%, 4.3%));
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.edit-container,
|
|
160
|
+
.view-container {
|
|
161
|
+
width: 100%;
|
|
162
|
+
display: flex;
|
|
163
|
+
align-items: center;
|
|
164
|
+
justify-content: space-between;
|
|
165
|
+
gap: var(--kritzel-context-menu-item-gap, 4px);
|
|
166
|
+
}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
export class KritzelMenu {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.items = [];
|
|
5
|
+
this.parentIndex = null;
|
|
6
|
+
this.parent = null;
|
|
7
|
+
this.activeItemIndex = null;
|
|
8
|
+
this.editingIndex = null;
|
|
9
|
+
this.openChildMenuIndex = null;
|
|
10
|
+
this.childMenuAnchor = null;
|
|
11
|
+
this.cancelButton = null;
|
|
12
|
+
this.saveButton = null;
|
|
13
|
+
}
|
|
14
|
+
onEditingIndexChange(newValue) {
|
|
15
|
+
if (newValue === null) {
|
|
16
|
+
this.openChildMenuIndex = null;
|
|
17
|
+
this.editInput = undefined;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
handleWindowClick(event) {
|
|
22
|
+
if (this.openChildMenuIndex === null) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const target = event.target;
|
|
26
|
+
if (!this.host.contains(target)) {
|
|
27
|
+
this.openChildMenuIndex = null;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
handleEscape(event) {
|
|
31
|
+
var _a;
|
|
32
|
+
if (event.key === 'Escape') {
|
|
33
|
+
if (this.openChildMenuIndex !== null) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (this.editingIndex !== null) {
|
|
37
|
+
(_a = this.cancelButton) === null || _a === void 0 ? void 0 : _a.click();
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this.close.emit();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
handleEnter(event) {
|
|
44
|
+
var _a;
|
|
45
|
+
if (event.key === 'Enter') {
|
|
46
|
+
if (this.editingIndex !== null) {
|
|
47
|
+
(_a = this.saveButton) === null || _a === void 0 ? void 0 : _a.click();
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
componentDidLoad() {
|
|
53
|
+
requestAnimationFrame(() => {
|
|
54
|
+
this.host.focus();
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
isViewMode(index) {
|
|
58
|
+
return this.editingIndex !== index;
|
|
59
|
+
}
|
|
60
|
+
handleSelect(item) {
|
|
61
|
+
var _a;
|
|
62
|
+
if (item.disabled || this.editingIndex !== null || this.openChildMenuIndex !== null) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
(_a = item.select) === null || _a === void 0 ? void 0 : _a.call(item, item);
|
|
66
|
+
}
|
|
67
|
+
render() {
|
|
68
|
+
return (h(Host, { key: '6d98c1d40c1af36b7b36c45ddc96fb89ab6ebdca', tabIndex: 0 }, this.items.map((item, index) => (h("button", { tabIndex: 0, class: {
|
|
69
|
+
'menu-item': true,
|
|
70
|
+
'disabled': item.disabled,
|
|
71
|
+
'inactive': this.openChildMenuIndex !== null && this.openChildMenuIndex !== index,
|
|
72
|
+
'child-open': this.openChildMenuIndex === index,
|
|
73
|
+
'edit-mode': this.editingIndex === index,
|
|
74
|
+
'active': this.activeItemIndex === index,
|
|
75
|
+
}, onClick: () => this.handleSelect(item) }, this.isViewMode(index) === true && (h("div", { class: "view-container" }, h("span", { class: "menu-item-label" }, item.label), h("div", null, item.children && item.children.length > 0 && (h("button", { class: "menu-item-button", tabIndex: 0, onClick: event => {
|
|
76
|
+
if (this.editingIndex !== null)
|
|
77
|
+
return;
|
|
78
|
+
event.stopPropagation();
|
|
79
|
+
this.childMenuAnchor = this.openChildMenuIndex === index ? null : event.currentTarget;
|
|
80
|
+
this.openChildMenuIndex = this.openChildMenuIndex === index ? null : index;
|
|
81
|
+
} }, h("kritzel-icon", { name: "ellipsis-vertical", size: 16 }))), this.openChildMenuIndex === index && (h("kritzel-portal", { anchor: this.childMenuAnchor, offsetY: 4, onClose: () => this.openChildMenuIndex = null }, h("kritzel-menu", { style: { minWidth: '100px' }, items: item.children, parentIndex: index, parent: item, onClose: () => {
|
|
82
|
+
var _a;
|
|
83
|
+
this.openChildMenuIndex = null;
|
|
84
|
+
(_a = this.childMenuAnchor) === null || _a === void 0 ? void 0 : _a.focus();
|
|
85
|
+
} })))))), this.isViewMode(index) === false && (h("div", { class: "edit-container" }, h("input", { tabIndex: 0, ref: el => {
|
|
86
|
+
this.editInput = el;
|
|
87
|
+
requestAnimationFrame(() => {
|
|
88
|
+
var _a, _b;
|
|
89
|
+
(_a = this.editInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
90
|
+
(_b = this.editInput) === null || _b === void 0 ? void 0 : _b.select();
|
|
91
|
+
});
|
|
92
|
+
}, type: "text", name: 'menu-item-' + index, value: item.label, onInput: e => (item.label = e.target.value) }), h("div", { style: { display: 'flex', gap: '8px' } }, h("button", { ref: el => (this.cancelButton = el), class: "menu-item-button", tabIndex: 0, onClick: () => { var _a; return (_a = item.cancel) === null || _a === void 0 ? void 0 : _a.call(item, item); } }, h("kritzel-icon", { name: "x", size: 16 })), h("button", { ref: el => (this.saveButton = el), class: "menu-item-button", tabIndex: 0, onClick: () => { var _a; return (_a = item.save) === null || _a === void 0 ? void 0 : _a.call(item, item); } }, h("kritzel-icon", { name: "check", size: 16 }))))))))));
|
|
93
|
+
}
|
|
94
|
+
static get is() { return "kritzel-menu"; }
|
|
95
|
+
static get encapsulation() { return "shadow"; }
|
|
96
|
+
static get originalStyleUrls() {
|
|
97
|
+
return {
|
|
98
|
+
"$": ["kritzel-menu.css"]
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
static get styleUrls() {
|
|
102
|
+
return {
|
|
103
|
+
"$": ["kritzel-menu.css"]
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
static get properties() {
|
|
107
|
+
return {
|
|
108
|
+
"items": {
|
|
109
|
+
"type": "unknown",
|
|
110
|
+
"attribute": "items",
|
|
111
|
+
"mutable": false,
|
|
112
|
+
"complexType": {
|
|
113
|
+
"original": "KritzelMenuItem[]",
|
|
114
|
+
"resolved": "KritzelMenuItem<any>[]",
|
|
115
|
+
"references": {
|
|
116
|
+
"KritzelMenuItem": {
|
|
117
|
+
"location": "import",
|
|
118
|
+
"path": "../../../interfaces/menu-item.interface",
|
|
119
|
+
"id": "src/interfaces/menu-item.interface.ts::KritzelMenuItem"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"required": false,
|
|
124
|
+
"optional": false,
|
|
125
|
+
"docs": {
|
|
126
|
+
"tags": [],
|
|
127
|
+
"text": ""
|
|
128
|
+
},
|
|
129
|
+
"getter": false,
|
|
130
|
+
"setter": false,
|
|
131
|
+
"defaultValue": "[]"
|
|
132
|
+
},
|
|
133
|
+
"parentIndex": {
|
|
134
|
+
"type": "number",
|
|
135
|
+
"attribute": "parent-index",
|
|
136
|
+
"mutable": false,
|
|
137
|
+
"complexType": {
|
|
138
|
+
"original": "number | null",
|
|
139
|
+
"resolved": "number",
|
|
140
|
+
"references": {}
|
|
141
|
+
},
|
|
142
|
+
"required": false,
|
|
143
|
+
"optional": false,
|
|
144
|
+
"docs": {
|
|
145
|
+
"tags": [],
|
|
146
|
+
"text": ""
|
|
147
|
+
},
|
|
148
|
+
"getter": false,
|
|
149
|
+
"setter": false,
|
|
150
|
+
"reflect": false,
|
|
151
|
+
"defaultValue": "null"
|
|
152
|
+
},
|
|
153
|
+
"parent": {
|
|
154
|
+
"type": "unknown",
|
|
155
|
+
"attribute": "parent",
|
|
156
|
+
"mutable": false,
|
|
157
|
+
"complexType": {
|
|
158
|
+
"original": "KritzelMenuItem",
|
|
159
|
+
"resolved": "KritzelMenuItem<any>",
|
|
160
|
+
"references": {
|
|
161
|
+
"KritzelMenuItem": {
|
|
162
|
+
"location": "import",
|
|
163
|
+
"path": "../../../interfaces/menu-item.interface",
|
|
164
|
+
"id": "src/interfaces/menu-item.interface.ts::KritzelMenuItem"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"required": false,
|
|
169
|
+
"optional": false,
|
|
170
|
+
"docs": {
|
|
171
|
+
"tags": [],
|
|
172
|
+
"text": ""
|
|
173
|
+
},
|
|
174
|
+
"getter": false,
|
|
175
|
+
"setter": false,
|
|
176
|
+
"defaultValue": "null"
|
|
177
|
+
},
|
|
178
|
+
"activeItemIndex": {
|
|
179
|
+
"type": "number",
|
|
180
|
+
"attribute": "active-item-index",
|
|
181
|
+
"mutable": false,
|
|
182
|
+
"complexType": {
|
|
183
|
+
"original": "number | null",
|
|
184
|
+
"resolved": "number",
|
|
185
|
+
"references": {}
|
|
186
|
+
},
|
|
187
|
+
"required": false,
|
|
188
|
+
"optional": false,
|
|
189
|
+
"docs": {
|
|
190
|
+
"tags": [],
|
|
191
|
+
"text": ""
|
|
192
|
+
},
|
|
193
|
+
"getter": false,
|
|
194
|
+
"setter": false,
|
|
195
|
+
"reflect": false,
|
|
196
|
+
"defaultValue": "null"
|
|
197
|
+
},
|
|
198
|
+
"editingIndex": {
|
|
199
|
+
"type": "number",
|
|
200
|
+
"attribute": "editing-index",
|
|
201
|
+
"mutable": false,
|
|
202
|
+
"complexType": {
|
|
203
|
+
"original": "number | null",
|
|
204
|
+
"resolved": "number",
|
|
205
|
+
"references": {}
|
|
206
|
+
},
|
|
207
|
+
"required": false,
|
|
208
|
+
"optional": false,
|
|
209
|
+
"docs": {
|
|
210
|
+
"tags": [],
|
|
211
|
+
"text": ""
|
|
212
|
+
},
|
|
213
|
+
"getter": false,
|
|
214
|
+
"setter": false,
|
|
215
|
+
"reflect": false,
|
|
216
|
+
"defaultValue": "null"
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
static get states() {
|
|
221
|
+
return {
|
|
222
|
+
"openChildMenuIndex": {}
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
static get events() {
|
|
226
|
+
return [{
|
|
227
|
+
"method": "close",
|
|
228
|
+
"name": "close",
|
|
229
|
+
"bubbles": true,
|
|
230
|
+
"cancelable": true,
|
|
231
|
+
"composed": true,
|
|
232
|
+
"docs": {
|
|
233
|
+
"tags": [],
|
|
234
|
+
"text": ""
|
|
235
|
+
},
|
|
236
|
+
"complexType": {
|
|
237
|
+
"original": "void",
|
|
238
|
+
"resolved": "void",
|
|
239
|
+
"references": {}
|
|
240
|
+
}
|
|
241
|
+
}];
|
|
242
|
+
}
|
|
243
|
+
static get elementRef() { return "host"; }
|
|
244
|
+
static get watchers() {
|
|
245
|
+
return [{
|
|
246
|
+
"propName": "editingIndex",
|
|
247
|
+
"methodName": "onEditingIndexChange"
|
|
248
|
+
}];
|
|
249
|
+
}
|
|
250
|
+
static get listeners() {
|
|
251
|
+
return [{
|
|
252
|
+
"name": "click",
|
|
253
|
+
"method": "handleWindowClick",
|
|
254
|
+
"target": "window",
|
|
255
|
+
"capture": false,
|
|
256
|
+
"passive": false
|
|
257
|
+
}, {
|
|
258
|
+
"name": "keydown",
|
|
259
|
+
"method": "handleEscape",
|
|
260
|
+
"target": "window",
|
|
261
|
+
"capture": false,
|
|
262
|
+
"passive": false
|
|
263
|
+
}, {
|
|
264
|
+
"name": "keydown",
|
|
265
|
+
"method": "handleEnter",
|
|
266
|
+
"target": "window",
|
|
267
|
+
"capture": false,
|
|
268
|
+
"passive": false
|
|
269
|
+
}];
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=kritzel-menu.js.map
|