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,167 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-BqrTPNyu.js';
|
|
2
|
+
|
|
3
|
+
class KritzelHTMLHelper {
|
|
4
|
+
static getNumericValueFromStyle(element, property) {
|
|
5
|
+
const value = window.getComputedStyle(element).getPropertyValue(property);
|
|
6
|
+
return parseFloat(value) || 0;
|
|
7
|
+
}
|
|
8
|
+
static getScrollableParent(element) {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
if (!element) {
|
|
11
|
+
return window;
|
|
12
|
+
}
|
|
13
|
+
const parent = (_b = (_a = element.parentNode) === null || _a === void 0 ? void 0 : _a.host) !== null && _b !== void 0 ? _b : element.parentElement;
|
|
14
|
+
if (!parent || parent.tagName === 'BODY') {
|
|
15
|
+
return window;
|
|
16
|
+
}
|
|
17
|
+
const style = window.getComputedStyle(parent);
|
|
18
|
+
if (style.overflow === 'auto' || style.overflowY === 'auto' || style.overflow === 'scroll' || style.overflowY === 'scroll') {
|
|
19
|
+
return parent;
|
|
20
|
+
}
|
|
21
|
+
return this.getScrollableParent(parent);
|
|
22
|
+
}
|
|
23
|
+
static isElementInViewport(element) {
|
|
24
|
+
if (!element) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
const scrollableParent = this.getScrollableParent(element);
|
|
28
|
+
const rect = element.getBoundingClientRect();
|
|
29
|
+
if (scrollableParent === window) {
|
|
30
|
+
const viewportHeight = window.innerHeight || document.documentElement.clientHeight;
|
|
31
|
+
const viewportWidth = window.innerWidth || document.documentElement.clientWidth;
|
|
32
|
+
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= viewportHeight && rect.right <= viewportWidth;
|
|
33
|
+
}
|
|
34
|
+
const parentRect = scrollableParent.getBoundingClientRect();
|
|
35
|
+
return rect.top >= parentRect.top && rect.left >= parentRect.left && rect.bottom <= parentRect.bottom && rect.right <= parentRect.right;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const DEFAULT_OFFSET = 0;
|
|
40
|
+
const MIN_LEFT_POSITION = 0;
|
|
41
|
+
const Z_INDEX = '9005';
|
|
42
|
+
const ID_PORTAL = 'portal';
|
|
43
|
+
const KritzelPortal = /*@__PURE__*/ proxyCustomElement(class KritzelPortal extends H {
|
|
44
|
+
constructor(registerHost) {
|
|
45
|
+
super();
|
|
46
|
+
if (registerHost !== false) {
|
|
47
|
+
this.__registerHost();
|
|
48
|
+
}
|
|
49
|
+
this.__attachShadow();
|
|
50
|
+
this.close = createEvent(this, "close");
|
|
51
|
+
this.autoFocus = true;
|
|
52
|
+
this.moved = false;
|
|
53
|
+
this.handleScroll = () => {
|
|
54
|
+
const isAnchorInViewport = KritzelHTMLHelper.isElementInViewport(this.anchor);
|
|
55
|
+
if (!isAnchorInViewport) {
|
|
56
|
+
this.close.emit();
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
this.calculatePosition();
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
anchorChanged(newValue) {
|
|
63
|
+
if (newValue) {
|
|
64
|
+
this.calculatePosition();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
handleResize() {
|
|
68
|
+
this.calculatePosition();
|
|
69
|
+
}
|
|
70
|
+
calculateLeft() {
|
|
71
|
+
var _a;
|
|
72
|
+
if (!this.anchor || !this.portal)
|
|
73
|
+
return 0;
|
|
74
|
+
const refRect = this.anchor.getBoundingClientRect();
|
|
75
|
+
const portalRect = this.portal.getBoundingClientRect();
|
|
76
|
+
const offset = (_a = this.offsetX) !== null && _a !== void 0 ? _a : DEFAULT_OFFSET;
|
|
77
|
+
let left = refRect.left + offset;
|
|
78
|
+
const maxLeft = window.innerWidth - portalRect.width - MIN_LEFT_POSITION;
|
|
79
|
+
if (left < MIN_LEFT_POSITION)
|
|
80
|
+
left = MIN_LEFT_POSITION;
|
|
81
|
+
if (left > maxLeft)
|
|
82
|
+
left = maxLeft;
|
|
83
|
+
return Math.round(left + window.scrollX);
|
|
84
|
+
}
|
|
85
|
+
calculateTop() {
|
|
86
|
+
var _a;
|
|
87
|
+
if (!this.anchor || !this.portal)
|
|
88
|
+
return 0;
|
|
89
|
+
const refRect = this.anchor.getBoundingClientRect();
|
|
90
|
+
const portalRect = this.portal.getBoundingClientRect();
|
|
91
|
+
const offset = (_a = this.offsetY) !== null && _a !== void 0 ? _a : DEFAULT_OFFSET;
|
|
92
|
+
let top = refRect.bottom + offset;
|
|
93
|
+
if (top + portalRect.height > window.innerHeight) {
|
|
94
|
+
top = refRect.top - portalRect.height - offset;
|
|
95
|
+
}
|
|
96
|
+
return Math.round(top + window.scrollY);
|
|
97
|
+
}
|
|
98
|
+
createPortal() {
|
|
99
|
+
this.portal = document.createElement('div');
|
|
100
|
+
this.portal.setAttribute('id', ID_PORTAL);
|
|
101
|
+
this.portal.style.zIndex = Z_INDEX;
|
|
102
|
+
this.portal.style.position = 'absolute';
|
|
103
|
+
this.portal.style.top = '0px';
|
|
104
|
+
this.portal.style.left = '0px';
|
|
105
|
+
document.body.append(this.portal);
|
|
106
|
+
}
|
|
107
|
+
moveElementToPortal() {
|
|
108
|
+
this.portal.appendChild(this.element);
|
|
109
|
+
this.moved = true;
|
|
110
|
+
}
|
|
111
|
+
calculatePosition() {
|
|
112
|
+
if (!this.anchor || !this.portal)
|
|
113
|
+
return;
|
|
114
|
+
const top = this.calculateTop();
|
|
115
|
+
const left = this.calculateLeft();
|
|
116
|
+
this.portal.style.top = `${top}px`;
|
|
117
|
+
this.portal.style.left = `${left}px`;
|
|
118
|
+
}
|
|
119
|
+
componentWillLoad() {
|
|
120
|
+
this.createPortal();
|
|
121
|
+
}
|
|
122
|
+
componentDidLoad() {
|
|
123
|
+
var _a;
|
|
124
|
+
this.moveElementToPortal();
|
|
125
|
+
if (this.anchor) {
|
|
126
|
+
this.calculatePosition();
|
|
127
|
+
this.scrollableParent = KritzelHTMLHelper.getScrollableParent(this.anchor);
|
|
128
|
+
(_a = this.scrollableParent) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', this.handleScroll);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
disconnectedCallback() {
|
|
132
|
+
var _a;
|
|
133
|
+
this.moved ? this.portal.remove() : (this.moved = true);
|
|
134
|
+
(_a = this.scrollableParent) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', this.handleScroll);
|
|
135
|
+
}
|
|
136
|
+
render() {
|
|
137
|
+
return (h(Host, { key: 'e39525c3e9ddbf738b63ac0c08d8c1e2264783b1', ref: el => (this.element = el) }, h("slot", { key: '95202c5bea32c77dc1dde0a12a58ac9bcebd8812' })));
|
|
138
|
+
}
|
|
139
|
+
static get watchers() { return {
|
|
140
|
+
"anchor": ["anchorChanged"]
|
|
141
|
+
}; }
|
|
142
|
+
}, [257, "kritzel-portal", {
|
|
143
|
+
"anchor": [16],
|
|
144
|
+
"offsetX": [2, "offset-x"],
|
|
145
|
+
"offsetY": [2, "offset-y"],
|
|
146
|
+
"autoFocus": [4, "auto-focus"]
|
|
147
|
+
}, [[11, "resize", "handleResize"]], {
|
|
148
|
+
"anchor": ["anchorChanged"]
|
|
149
|
+
}]);
|
|
150
|
+
function defineCustomElement() {
|
|
151
|
+
if (typeof customElements === "undefined") {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const components = ["kritzel-portal"];
|
|
155
|
+
components.forEach(tagName => { switch (tagName) {
|
|
156
|
+
case "kritzel-portal":
|
|
157
|
+
if (!customElements.get(tagName)) {
|
|
158
|
+
customElements.define(tagName, KritzelPortal);
|
|
159
|
+
}
|
|
160
|
+
break;
|
|
161
|
+
} });
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export { KritzelPortal as K, defineCustomElement as d };
|
|
165
|
+
//# sourceMappingURL=p-BmJbJwkH.js.map
|
|
166
|
+
|
|
167
|
+
//# sourceMappingURL=p-BmJbJwkH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-BmJbJwkH.js","mappings":";;MAAa,iBAAiB,CAAA;AAC7B,IAAA,OAAO,wBAAwB,CAAC,OAAoB,EAAE,QAAgB,EAAA;AACpE,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AACzE,QAAA,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;;IAG/B,OAAO,mBAAmB,CAAC,OAAoB,EAAA;;QAC5C,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,MAAM;;QAGf,MAAM,MAAM,GAAG,CAAC,EAAA,GAAA,CAAA,EAAA,GAAC,OAAO,CAAC,UAAyB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,OAAO,CAAC,aAAa;QAEjG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE;AACxC,YAAA,OAAO,MAAM;;QAGf,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC7C,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE;AAC1H,YAAA,OAAO,MAAM;;AAGf,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;;IAGzC,OAAO,mBAAmB,CAAC,OAAoB,EAAA;QAC7C,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,KAAK;;QAGd,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;AAC1D,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE;AAE5C,QAAA,IAAI,gBAAgB,KAAK,MAAM,EAAE;YAC/B,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY;YAClF,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW;YAE/E,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,cAAc,IAAI,IAAI,CAAC,KAAK,IAAI,aAAa;;AAGxG,QAAA,MAAM,UAAU,GAAI,gBAAgC,CAAC,qBAAqB,EAAE;AAE5E,QAAA,OAAO,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK;;AAE1I;;ACzCD,MAAM,cAAc,GAAG,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC;AAC3B,MAAM,OAAO,GAAG,MAAM;AACtB,MAAM,SAAS,GAAG,QAAQ;MAMb,aAAa,iBAAAA,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAJ1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;AAsBE,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI;AASjB,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK;AAStB,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;YAC1B,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;YAE7E,IAAI,CAAC,kBAAkB,EAAE;AACvB,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACjB;;YAGF,IAAI,CAAC,iBAAiB,EAAE;AAC1B,SAAC;AAgFF;AAxHC,IAAA,aAAa,CAAC,QAAqB,EAAA;QACjC,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,iBAAiB,EAAE;;;IAyB5B,YAAY,GAAA;QACV,IAAI,CAAC,iBAAiB,EAAE;;IAclB,aAAa,GAAA;;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QAEtD,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,cAAc;AAC7C,QAAA,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM;QAEhC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,GAAG,iBAAiB;QACxE,IAAI,IAAI,GAAG,iBAAiB;YAAE,IAAI,GAAG,iBAAiB;QACtD,IAAI,IAAI,GAAG,OAAO;YAAE,IAAI,GAAG,OAAO;QAElC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;;IAGlC,YAAY,GAAA;;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QACtD,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,cAAc;AAE7C,QAAA,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM;QAEjC,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE;YAChD,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,MAAM;;QAGhD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;;IAGjC,YAAY,GAAA;QAClB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK;QAC9B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;;IAG3B,mBAAmB,GAAA;QACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;AACrC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;;IAGX,iBAAiB,GAAA;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE;AAC/B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI;;IAGtC,iBAAiB,GAAA;QACf,IAAI,CAAC,YAAY,EAAE;;IAGrB,gBAAgB,GAAA;;QACd,IAAI,CAAC,mBAAmB,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1E,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;;;IAIxE,oBAAoB,GAAA;;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACvD,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;;IAGzE,MAAM,GAAA;AACJ,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAAA,EAClC,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/helpers/html.helper.ts","src/components/shared/kritzel-portal/kritzel-portal.tsx"],"sourcesContent":["export class KritzelHTMLHelper {\r\n static getNumericValueFromStyle(element: HTMLElement, property: string): number {\r\n const value = window.getComputedStyle(element).getPropertyValue(property);\r\n return parseFloat(value) || 0;\r\n }\r\n\r\n static getScrollableParent(element: HTMLElement): HTMLElement | Window {\r\n if (!element) {\r\n return window;\r\n }\r\n\r\n const parent = ((element.parentNode as ShadowRoot)?.host as HTMLElement) ?? element.parentElement;\r\n\r\n if (!parent || parent.tagName === 'BODY') {\r\n return window;\r\n }\r\n\r\n const style = window.getComputedStyle(parent);\r\n if (style.overflow === 'auto' || style.overflowY === 'auto' || style.overflow === 'scroll' || style.overflowY === 'scroll') {\r\n return parent;\r\n }\r\n\r\n return this.getScrollableParent(parent);\r\n }\r\n\r\n static isElementInViewport(element: HTMLElement): boolean {\r\n if (!element) {\r\n return false;\r\n }\r\n\r\n const scrollableParent = this.getScrollableParent(element);\r\n const rect = element.getBoundingClientRect();\r\n\r\n if (scrollableParent === window) {\r\n const viewportHeight = window.innerHeight || document.documentElement.clientHeight;\r\n const viewportWidth = window.innerWidth || document.documentElement.clientWidth;\r\n\r\n return rect.top >= 0 && rect.left >= 0 && rect.bottom <= viewportHeight && rect.right <= viewportWidth;\r\n }\r\n\r\n const parentRect = (scrollableParent as HTMLElement).getBoundingClientRect();\r\n\r\n return rect.top >= parentRect.top && rect.left >= parentRect.left && rect.bottom <= parentRect.bottom && rect.right <= parentRect.right;\r\n }\r\n}","import { Component, Host, Listen, Prop, Watch, h, Event, EventEmitter } from '@stencil/core';\r\nimport { KritzelHTMLHelper } from '../../../helpers/html.helper';\r\n\r\nconst DEFAULT_OFFSET = 0;\r\nconst MIN_LEFT_POSITION = 0;\r\nconst Z_INDEX = '9005';\r\nconst ID_PORTAL = 'portal';\r\n\r\n@Component({\r\n tag: 'kritzel-portal',\r\n shadow: true,\r\n})\r\nexport class KritzelPortal {\r\n @Prop()\r\n anchor: HTMLElement;\r\n\r\n @Watch('anchor')\r\n anchorChanged(newValue: HTMLElement) {\r\n if (newValue) {\r\n this.calculatePosition();\r\n }\r\n }\r\n\r\n @Prop()\r\n offsetX: number;\r\n\r\n @Prop()\r\n offsetY: number;\r\n\r\n @Prop()\r\n autoFocus: boolean = true;\r\n\r\n @Event()\r\n close: EventEmitter<void>;\r\n\r\n private portal: HTMLElement;\r\n\r\n private element: HTMLElement;\r\n\r\n private moved: boolean = false;\r\n\r\n private scrollableParent: HTMLElement | Window;\r\n\r\n @Listen('resize', { target: 'window', capture: true })\r\n handleResize() {\r\n this.calculatePosition();\r\n }\r\n\r\n private handleScroll = () => {\r\n const isAnchorInViewport = KritzelHTMLHelper.isElementInViewport(this.anchor);\r\n\r\n if (!isAnchorInViewport) {\r\n this.close.emit();\r\n return;\r\n }\r\n\r\n this.calculatePosition();\r\n };\r\n\r\n private calculateLeft() {\r\n if (!this.anchor || !this.portal) return 0;\r\n const refRect = this.anchor.getBoundingClientRect();\r\n const portalRect = this.portal.getBoundingClientRect();\r\n\r\n const offset = this.offsetX ?? DEFAULT_OFFSET;\r\n let left = refRect.left + offset;\r\n\r\n const maxLeft = window.innerWidth - portalRect.width - MIN_LEFT_POSITION;\r\n if (left < MIN_LEFT_POSITION) left = MIN_LEFT_POSITION;\r\n if (left > maxLeft) left = maxLeft;\r\n\r\n return Math.round(left + window.scrollX);\r\n }\r\n\r\n private calculateTop() {\r\n if (!this.anchor || !this.portal) return 0;\r\n const refRect = this.anchor.getBoundingClientRect();\r\n const portalRect = this.portal.getBoundingClientRect();\r\n const offset = this.offsetY ?? DEFAULT_OFFSET;\r\n\r\n let top = refRect.bottom + offset;\r\n\r\n if (top + portalRect.height > window.innerHeight) {\r\n top = refRect.top - portalRect.height - offset;\r\n }\r\n\r\n return Math.round(top + window.scrollY);\r\n }\r\n\r\n private createPortal() {\r\n this.portal = document.createElement('div');\r\n this.portal.setAttribute('id', ID_PORTAL);\r\n this.portal.style.zIndex = Z_INDEX;\r\n this.portal.style.position = 'absolute';\r\n this.portal.style.top = '0px';\r\n this.portal.style.left = '0px';\r\n document.body.append(this.portal);\r\n }\r\n\r\n private moveElementToPortal() {\r\n this.portal.appendChild(this.element);\r\n this.moved = true;\r\n }\r\n\r\n private calculatePosition() {\r\n if (!this.anchor || !this.portal) return;\r\n const top = this.calculateTop();\r\n const left = this.calculateLeft();\r\n this.portal.style.top = `${top}px`;\r\n this.portal.style.left = `${left}px`;\r\n }\r\n\r\n componentWillLoad() {\r\n this.createPortal();\r\n }\r\n\r\n componentDidLoad() {\r\n this.moveElementToPortal();\r\n if (this.anchor) {\r\n this.calculatePosition();\r\n this.scrollableParent = KritzelHTMLHelper.getScrollableParent(this.anchor);\r\n this.scrollableParent?.addEventListener('scroll', this.handleScroll);\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.moved ? this.portal.remove() : (this.moved = true);\r\n this.scrollableParent?.removeEventListener('scroll', this.handleScroll);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host ref={el => (this.element = el)}>\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}"],"version":3}
|