@kritzel/engine 0.4.31
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/LICENSE.md +50 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
- package/dist/cjs/engine.constants-CakmdKMW.js +28206 -0
- package/dist/cjs/index-BbbWU2aN.js +1742 -0
- package/dist/cjs/index.cjs.js +4232 -0
- package/dist/cjs/kritzel-awareness-cursors_5.cjs.entry.js +28004 -0
- package/dist/cjs/loader.cjs.js +13 -0
- package/dist/cjs/stencil.cjs.js +25 -0
- package/dist/collection/classes/core/core.class.js +1389 -0
- package/dist/collection/classes/core/reviver.class.js +124 -0
- package/dist/collection/classes/core/store.class.js +337 -0
- package/dist/collection/classes/core/viewport.class.js +794 -0
- package/dist/collection/classes/core/workspace.class.js +112 -0
- package/dist/collection/classes/handlers/base.handler.js +20 -0
- package/dist/collection/classes/handlers/context-menu.handler.js +170 -0
- package/dist/collection/classes/handlers/hover.handler.js +35 -0
- package/dist/collection/classes/handlers/key.handler.js +162 -0
- package/dist/collection/classes/handlers/line-handle.handler.js +475 -0
- package/dist/collection/classes/handlers/move.handler.js +295 -0
- package/dist/collection/classes/handlers/resize.handler.js +327 -0
- package/dist/collection/classes/handlers/rotation.handler.js +174 -0
- package/dist/collection/classes/handlers/selection.handler.js +526 -0
- package/dist/collection/classes/managers/anchor.manager.js +1476 -0
- package/dist/collection/classes/managers/browser-permission.manager.js +64 -0
- package/dist/collection/classes/managers/clipboard.manager.js +346 -0
- package/dist/collection/classes/managers/clipboard.types.js +1 -0
- package/dist/collection/classes/managers/cursor.manager.js +139 -0
- package/dist/collection/classes/managers/license.manager.js +341 -0
- package/dist/collection/classes/managers/localization.manager.js +227 -0
- package/dist/collection/classes/managers/theme.manager.js +206 -0
- package/dist/collection/classes/objects/base-object.class.js +462 -0
- package/dist/collection/classes/objects/dynamic-object.class.js +437 -0
- package/dist/collection/classes/objects/group.class.js +590 -0
- package/dist/collection/classes/objects/image.class.js +500 -0
- package/dist/collection/classes/objects/line.class.js +789 -0
- package/dist/collection/classes/objects/path.class.js +578 -0
- package/dist/collection/classes/objects/selection-box.class.js +32 -0
- package/dist/collection/classes/objects/selection-group.class.js +752 -0
- package/dist/collection/classes/objects/shape.class.js +628 -0
- package/dist/collection/classes/objects/text.class.js +461 -0
- package/dist/collection/classes/providers/assets/asset-resolver.class.js +536 -0
- package/dist/collection/classes/providers/assets/http-asset-provider.class.js +111 -0
- package/dist/collection/classes/providers/assets/indexeddb-asset-provider.class.js +241 -0
- package/dist/collection/classes/providers/assets/presigned-asset-provider.class.js +86 -0
- package/dist/collection/classes/providers/paste-intent/event-paste-intent.provider.js +48 -0
- package/dist/collection/classes/providers/paste-intent/ios-paste-intent.provider.js +16 -0
- package/dist/collection/classes/providers/paste-intent/navigator-paste-intent.provider.js +86 -0
- package/dist/collection/classes/providers/sync/broadcast-sync-provider.class.js +100 -0
- package/dist/collection/classes/providers/sync/hocuspocus-sync-provider.class.js +333 -0
- package/dist/collection/classes/providers/sync/in-memory-sync-provider.class.js +69 -0
- package/dist/collection/classes/providers/sync/indexeddb-sync-provider.class.js +39 -0
- package/dist/collection/classes/providers/sync/websocket-sync-provider.class.js +110 -0
- package/dist/collection/classes/registries/dynamic-object-renderer.registry.js +52 -0
- package/dist/collection/classes/registries/font-registry.class.js +161 -0
- package/dist/collection/classes/registries/icon-registry.class.js +118 -0
- package/dist/collection/classes/registries/paste-intent-provider.registry.js +26 -0
- package/dist/collection/classes/registries/tool.registry.js +69 -0
- package/dist/collection/classes/structures/app-state-map.structure.js +461 -0
- package/dist/collection/classes/structures/object-map.structure.js +1103 -0
- package/dist/collection/classes/structures/quadtree.structure.js +251 -0
- package/dist/collection/classes/tools/base-tool.class.js +88 -0
- package/dist/collection/classes/tools/brush-tool.class.js +236 -0
- package/dist/collection/classes/tools/eraser-tool.class.js +133 -0
- package/dist/collection/classes/tools/image-tool.class.js +152 -0
- package/dist/collection/classes/tools/line-tool.class.js +249 -0
- package/dist/collection/classes/tools/selection-tool.class.js +611 -0
- package/dist/collection/classes/tools/shape-tool.class.js +251 -0
- package/dist/collection/classes/tools/text-tool.class.js +179 -0
- package/dist/collection/collection-manifest.json +17 -0
- package/dist/collection/components/kritzel-awareness-cursors/kritzel-awareness-cursors.css +115 -0
- package/dist/collection/components/kritzel-awareness-cursors/kritzel-awareness-cursors.js +380 -0
- package/dist/collection/components/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -0
- package/dist/collection/components/kritzel-cursor-trail/kritzel-cursor-trail.js +153 -0
- package/dist/collection/components/kritzel-engine/kritzel-engine.css +81 -0
- package/dist/collection/components/kritzel-engine/kritzel-engine.js +6345 -0
- package/dist/collection/components/kritzel-icon/kritzel-icon.css +18 -0
- package/dist/collection/components/kritzel-icon/kritzel-icon.js +93 -0
- package/dist/collection/components/kritzel-watermark/kritzel-watermark.css +29 -0
- package/dist/collection/components/kritzel-watermark/kritzel-watermark.js +83 -0
- package/dist/collection/configs/default-asset-storage.config.js +9 -0
- package/dist/collection/configs/default-brush-tool.config.js +9 -0
- package/dist/collection/configs/default-engine-config.js +73 -0
- package/dist/collection/configs/default-line-tool.config.js +12 -0
- package/dist/collection/configs/default-shape-tool.config.js +15 -0
- package/dist/collection/configs/default-sync.config.js +6 -0
- package/dist/collection/configs/default-text-tool.config.js +12 -0
- package/dist/collection/constants/color-palette.constants.js +40 -0
- package/dist/collection/constants/core.constants.js +1 -0
- package/dist/collection/constants/engine.constants.js +4 -0
- package/dist/collection/constants/license.constants.js +25 -0
- package/dist/collection/constants/schema.constants.js +4 -0
- package/dist/collection/constants/storage.constants.js +1 -0
- package/dist/collection/constants/stroke-size.constants.js +2 -0
- package/dist/collection/constants/text-tool-fonts.constants.js +18 -0
- package/dist/collection/constants/version.js +6 -0
- package/dist/collection/enums/alignment.enum.js +9 -0
- package/dist/collection/enums/event-button.enum.js +6 -0
- package/dist/collection/enums/handle-type.enum.js +7 -0
- package/dist/collection/enums/shape-type.enum.js +6 -0
- package/dist/collection/events/active-workspace-change.event.js +1 -0
- package/dist/collection/events/editor-is-ready.event.js +1 -0
- package/dist/collection/events/login.event.js +1 -0
- package/dist/collection/helpers/alignment.helper.js +73 -0
- package/dist/collection/helpers/class.helper.js +5 -0
- package/dist/collection/helpers/color.helper.js +106 -0
- package/dist/collection/helpers/cursor.helper.js +57 -0
- package/dist/collection/helpers/devices.helper.js +28 -0
- package/dist/collection/helpers/event.helper.js +58 -0
- package/dist/collection/helpers/geometry.helper.js +149 -0
- package/dist/collection/helpers/html.helper.js +116 -0
- package/dist/collection/helpers/image-file.helper.js +6 -0
- package/dist/collection/helpers/keyboard.helper.js +55 -0
- package/dist/collection/helpers/localization.helper.js +25 -0
- package/dist/collection/helpers/math.helper.js +8 -0
- package/dist/collection/helpers/migration.helper.js +45 -0
- package/dist/collection/helpers/object.helper.js +29 -0
- package/dist/collection/helpers/svg-export.helper.js +655 -0
- package/dist/collection/helpers/theme.helper.js +77 -0
- package/dist/collection/helpers/tool-config.helper.js +63 -0
- package/dist/collection/helpers/wheel.helper.js +113 -0
- package/dist/collection/index.js +107 -0
- package/dist/collection/interfaces/anchor.interface.js +1 -0
- package/dist/collection/interfaces/arrow-head.interface.js +1 -0
- package/dist/collection/interfaces/asset-provider.interface.js +1 -0
- package/dist/collection/interfaces/asset-storage-config.interface.js +1 -0
- package/dist/collection/interfaces/asset.interface.js +1 -0
- package/dist/collection/interfaces/bounding-box.interface.js +1 -0
- package/dist/collection/interfaces/clonable.interface.js +1 -0
- package/dist/collection/interfaces/context-menu-item.interface.js +1 -0
- package/dist/collection/interfaces/context-menu-state.interface.js +1 -0
- package/dist/collection/interfaces/debug-info.interface.js +1 -0
- package/dist/collection/interfaces/dialog.interface.js +1 -0
- package/dist/collection/interfaces/document-metadata.interface.js +1 -0
- package/dist/collection/interfaces/dynamic-object-renderer.interface.js +1 -0
- package/dist/collection/interfaces/engine-state.interface.js +1 -0
- package/dist/collection/interfaces/font.interface.js +1 -0
- package/dist/collection/interfaces/localization.interface.js +1 -0
- package/dist/collection/interfaces/login-config.interface.js +1 -0
- package/dist/collection/interfaces/master-detail.interface.js +1 -0
- package/dist/collection/interfaces/menu-item.interface.js +1 -0
- package/dist/collection/interfaces/migration.interface.js +1 -0
- package/dist/collection/interfaces/notification.interface.js +1 -0
- package/dist/collection/interfaces/object-change-event.interface.js +1 -0
- package/dist/collection/interfaces/object-export.interface.js +1 -0
- package/dist/collection/interfaces/object.interface.js +1 -0
- package/dist/collection/interfaces/paste-intent-provider.interface.js +1 -0
- package/dist/collection/interfaces/point.interface.js +1 -0
- package/dist/collection/interfaces/polygon.interface.js +1 -0
- package/dist/collection/interfaces/remote-cursor.interface.js +1 -0
- package/dist/collection/interfaces/selection-state.interface.js +1 -0
- package/dist/collection/interfaces/serializable.interface.js +1 -0
- package/dist/collection/interfaces/settings.interface.js +1 -0
- package/dist/collection/interfaces/share.interface.js +1 -0
- package/dist/collection/interfaces/shortcut.interface.js +1 -0
- package/dist/collection/interfaces/sync-config.interface.js +21 -0
- package/dist/collection/interfaces/sync-provider.interface.js +1 -0
- package/dist/collection/interfaces/theme.interface.js +1 -0
- package/dist/collection/interfaces/tool-config.interface.js +1 -0
- package/dist/collection/interfaces/tool-type.interface.js +1 -0
- package/dist/collection/interfaces/tool.interface.js +1 -0
- package/dist/collection/interfaces/toolbar-item.interface.js +1 -0
- package/dist/collection/interfaces/undo-state.interface.js +1 -0
- package/dist/collection/interfaces/user.interface.js +1 -0
- package/dist/collection/interfaces/viewport-state.interface.js +1 -0
- package/dist/collection/locales/de-locale.js +119 -0
- package/dist/collection/locales/en-locale.js +120 -0
- package/dist/collection/locales/fr-locale.js +119 -0
- package/dist/collection/migrations/app-state.migrations.js +47 -0
- package/dist/collection/migrations/workspace.migrations.js +67 -0
- package/dist/collection/themes/dark-theme.js +340 -0
- package/dist/collection/themes/light-theme.js +346 -0
- package/dist/collection/types/deep-readonly.type.js +1 -0
- package/dist/collection/types/state.types.js +1 -0
- package/dist/components/index.d.ts +47 -0
- package/dist/components/index.js +4143 -0
- package/dist/components/kritzel-awareness-cursors.d.ts +11 -0
- package/dist/components/kritzel-awareness-cursors.js +6 -0
- package/dist/components/kritzel-cursor-trail.d.ts +11 -0
- package/dist/components/kritzel-cursor-trail.js +6 -0
- package/dist/components/kritzel-engine.d.ts +11 -0
- package/dist/components/kritzel-engine.js +52641 -0
- package/dist/components/kritzel-icon.d.ts +11 -0
- package/dist/components/kritzel-icon.js +6 -0
- package/dist/components/kritzel-watermark.d.ts +11 -0
- package/dist/components/kritzel-watermark.js +6 -0
- package/dist/components/p-B2Htv9ou.js +49 -0
- package/dist/components/p-BvRGQvVI.js +3456 -0
- package/dist/components/p-CfSx6HU_.js +1469 -0
- package/dist/components/p-YP8wAcF4.js +122 -0
- package/dist/components/p-fx6msYHJ.js +167 -0
- package/dist/esm/app-globals-DQuL1Twl.js +3 -0
- package/dist/esm/engine.constants-Bl5-pbq-.js +28143 -0
- package/dist/esm/index-BU9Mv7y0.js +1715 -0
- package/dist/esm/index.js +4134 -0
- package/dist/esm/kritzel-awareness-cursors_5.entry.js +27978 -0
- package/dist/esm/loader.js +11 -0
- package/dist/esm/stencil.js +21 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/stencil/index.esm.js +4134 -0
- package/dist/stencil/p-BU9Mv7y0.js +1702 -0
- package/dist/stencil/p-Bl5-pbq-.js +28143 -0
- package/dist/stencil/p-DQuL1Twl.js +3 -0
- package/dist/stencil/p-f0a8b7af.entry.js +27978 -0
- package/dist/stencil/stencil.esm.js +21 -0
- package/dist/types/classes/core/core.class.d.ts +532 -0
- package/dist/types/classes/core/reviver.class.d.ts +32 -0
- package/dist/types/classes/core/store.class.d.ts +198 -0
- package/dist/types/classes/core/viewport.class.d.ts +256 -0
- package/dist/types/classes/core/workspace.class.d.ts +95 -0
- package/dist/types/classes/handlers/base.handler.d.ts +18 -0
- package/dist/types/classes/handlers/context-menu.handler.d.ts +67 -0
- package/dist/types/classes/handlers/hover.handler.d.ts +23 -0
- package/dist/types/classes/handlers/key.handler.d.ts +44 -0
- package/dist/types/classes/handlers/line-handle.handler.d.ts +115 -0
- package/dist/types/classes/handlers/move.handler.d.ts +94 -0
- package/dist/types/classes/handlers/resize.handler.d.ts +95 -0
- package/dist/types/classes/handlers/rotation.handler.d.ts +50 -0
- package/dist/types/classes/handlers/selection.handler.d.ts +153 -0
- package/dist/types/classes/managers/anchor.manager.d.ts +513 -0
- package/dist/types/classes/managers/browser-permission.manager.d.ts +41 -0
- package/dist/types/classes/managers/clipboard.manager.d.ts +71 -0
- package/dist/types/classes/managers/clipboard.types.d.ts +23 -0
- package/dist/types/classes/managers/cursor.manager.d.ts +66 -0
- package/dist/types/classes/managers/license.manager.d.ts +147 -0
- package/dist/types/classes/managers/localization.manager.d.ts +145 -0
- package/dist/types/classes/managers/theme.manager.d.ts +112 -0
- package/dist/types/classes/objects/base-object.class.d.ts +266 -0
- package/dist/types/classes/objects/dynamic-object.class.d.ts +148 -0
- package/dist/types/classes/objects/group.class.d.ts +231 -0
- package/dist/types/classes/objects/image.class.d.ts +246 -0
- package/dist/types/classes/objects/line.class.d.ts +285 -0
- package/dist/types/classes/objects/path.class.d.ts +220 -0
- package/dist/types/classes/objects/selection-box.class.d.ts +19 -0
- package/dist/types/classes/objects/selection-group.class.d.ts +267 -0
- package/dist/types/classes/objects/shape.class.d.ts +322 -0
- package/dist/types/classes/objects/text.class.d.ts +197 -0
- package/dist/types/classes/providers/assets/asset-resolver.class.d.ts +141 -0
- package/dist/types/classes/providers/assets/http-asset-provider.class.d.ts +79 -0
- package/dist/types/classes/providers/assets/indexeddb-asset-provider.class.d.ts +69 -0
- package/dist/types/classes/providers/assets/presigned-asset-provider.class.d.ts +69 -0
- package/dist/types/classes/providers/paste-intent/event-paste-intent.provider.d.ts +8 -0
- package/dist/types/classes/providers/paste-intent/ios-paste-intent.provider.d.ts +6 -0
- package/dist/types/classes/providers/paste-intent/navigator-paste-intent.provider.d.ts +9 -0
- package/dist/types/classes/providers/sync/broadcast-sync-provider.class.d.ts +23 -0
- package/dist/types/classes/providers/sync/hocuspocus-sync-provider.class.d.ts +163 -0
- package/dist/types/classes/providers/sync/in-memory-sync-provider.class.d.ts +39 -0
- package/dist/types/classes/providers/sync/indexeddb-sync-provider.class.d.ts +25 -0
- package/dist/types/classes/providers/sync/websocket-sync-provider.class.d.ts +63 -0
- package/dist/types/classes/registries/dynamic-object-renderer.registry.d.ts +32 -0
- package/dist/types/classes/registries/font-registry.class.d.ts +19 -0
- package/dist/types/classes/registries/icon-registry.class.d.ts +39 -0
- package/dist/types/classes/registries/paste-intent-provider.registry.d.ts +10 -0
- package/dist/types/classes/registries/tool.registry.d.ts +53 -0
- package/dist/types/classes/structures/app-state-map.structure.d.ts +171 -0
- package/dist/types/classes/structures/object-map.structure.d.ts +403 -0
- package/dist/types/classes/structures/quadtree.structure.d.ts +128 -0
- package/dist/types/classes/tools/base-tool.class.d.ts +72 -0
- package/dist/types/classes/tools/brush-tool.class.d.ts +68 -0
- package/dist/types/classes/tools/eraser-tool.class.d.ts +38 -0
- package/dist/types/classes/tools/image-tool.class.d.ts +74 -0
- package/dist/types/classes/tools/line-tool.class.d.ts +63 -0
- package/dist/types/classes/tools/selection-tool.class.d.ts +188 -0
- package/dist/types/classes/tools/shape-tool.class.d.ts +90 -0
- package/dist/types/classes/tools/text-tool.class.d.ts +66 -0
- package/dist/types/components/kritzel-awareness-cursors/kritzel-awareness-cursors.d.ts +29 -0
- package/dist/types/components/kritzel-cursor-trail/kritzel-cursor-trail.d.ts +19 -0
- package/dist/types/components/kritzel-engine/kritzel-engine.d.ts +695 -0
- package/dist/types/components/kritzel-icon/kritzel-icon.d.ts +6 -0
- package/dist/types/components/kritzel-watermark/kritzel-watermark.d.ts +20 -0
- package/dist/types/components.d.ts +981 -0
- package/dist/types/configs/default-asset-storage.config.d.ts +8 -0
- package/dist/types/configs/default-brush-tool.config.d.ts +2 -0
- package/dist/types/configs/default-engine-config.d.ts +2 -0
- package/dist/types/configs/default-line-tool.config.d.ts +2 -0
- package/dist/types/configs/default-shape-tool.config.d.ts +2 -0
- package/dist/types/configs/default-sync.config.d.ts +5 -0
- package/dist/types/configs/default-text-tool.config.d.ts +2 -0
- package/dist/types/constants/color-palette.constants.d.ts +31 -0
- package/dist/types/constants/core.constants.d.ts +0 -0
- package/dist/types/constants/engine.constants.d.ts +4 -0
- package/dist/types/constants/license.constants.d.ts +25 -0
- package/dist/types/constants/schema.constants.d.ts +4 -0
- package/dist/types/constants/storage.constants.d.ts +1 -0
- package/dist/types/constants/stroke-size.constants.d.ts +2 -0
- package/dist/types/constants/text-tool-fonts.constants.d.ts +3 -0
- package/dist/types/constants/version.d.ts +6 -0
- package/dist/types/enums/alignment.enum.d.ts +8 -0
- package/dist/types/enums/event-button.enum.d.ts +5 -0
- package/dist/types/enums/handle-type.enum.d.ts +6 -0
- package/dist/types/enums/shape-type.enum.d.ts +5 -0
- package/dist/types/events/active-workspace-change.event.d.ts +7 -0
- package/dist/types/events/editor-is-ready.event.d.ts +18 -0
- package/dist/types/events/login.event.d.ts +3 -0
- package/dist/types/helpers/alignment.helper.d.ts +21 -0
- package/dist/types/helpers/class.helper.d.ts +3 -0
- package/dist/types/helpers/color.helper.d.ts +34 -0
- package/dist/types/helpers/cursor.helper.d.ts +22 -0
- package/dist/types/helpers/devices.helper.d.ts +8 -0
- package/dist/types/helpers/event.helper.d.ts +6 -0
- package/dist/types/helpers/geometry.helper.d.ts +38 -0
- package/dist/types/helpers/html.helper.d.ts +8 -0
- package/dist/types/helpers/image-file.helper.d.ts +3 -0
- package/dist/types/helpers/keyboard.helper.d.ts +6 -0
- package/dist/types/helpers/localization.helper.d.ts +18 -0
- package/dist/types/helpers/math.helper.d.ts +4 -0
- package/dist/types/helpers/migration.helper.d.ts +30 -0
- package/dist/types/helpers/object.helper.d.ts +9 -0
- package/dist/types/helpers/svg-export.helper.d.ts +231 -0
- package/dist/types/helpers/theme.helper.d.ts +42 -0
- package/dist/types/helpers/tool-config.helper.d.ts +4 -0
- package/dist/types/helpers/wheel.helper.d.ts +9 -0
- package/dist/types/index.d.ts +109 -0
- package/dist/types/interfaces/anchor.interface.d.ts +147 -0
- package/dist/types/interfaces/arrow-head.interface.d.ts +27 -0
- package/dist/types/interfaces/asset-provider.interface.d.ts +88 -0
- package/dist/types/interfaces/asset-storage-config.interface.d.ts +40 -0
- package/dist/types/interfaces/asset.interface.d.ts +43 -0
- package/dist/types/interfaces/bounding-box.interface.d.ts +8 -0
- package/dist/types/interfaces/clonable.interface.d.ts +3 -0
- package/dist/types/interfaces/context-menu-item.interface.d.ts +25 -0
- package/dist/types/interfaces/context-menu-state.interface.d.ts +16 -0
- package/dist/types/interfaces/debug-info.interface.d.ts +7 -0
- package/dist/types/interfaces/dialog.interface.d.ts +4 -0
- package/dist/types/interfaces/document-metadata.interface.d.ts +6 -0
- package/dist/types/interfaces/dynamic-object-renderer.interface.d.ts +40 -0
- package/dist/types/interfaces/engine-state.interface.d.ts +82 -0
- package/dist/types/interfaces/font.interface.d.ts +15 -0
- package/dist/types/interfaces/localization.interface.d.ts +143 -0
- package/dist/types/interfaces/login-config.interface.d.ts +24 -0
- package/dist/types/interfaces/master-detail.interface.d.ts +14 -0
- package/dist/types/interfaces/menu-item.interface.d.ts +27 -0
- package/dist/types/interfaces/migration.interface.d.ts +16 -0
- package/dist/types/interfaces/notification.interface.d.ts +10 -0
- package/dist/types/interfaces/object-change-event.interface.d.ts +31 -0
- package/dist/types/interfaces/object-export.interface.d.ts +20 -0
- package/dist/types/interfaces/object.interface.d.ts +53 -0
- package/dist/types/interfaces/paste-intent-provider.interface.d.ts +10 -0
- package/dist/types/interfaces/point.interface.d.ts +4 -0
- package/dist/types/interfaces/polygon.interface.d.ts +7 -0
- package/dist/types/interfaces/remote-cursor.interface.d.ts +18 -0
- package/dist/types/interfaces/selection-state.interface.d.ts +7 -0
- package/dist/types/interfaces/serializable.interface.d.ts +5 -0
- package/dist/types/interfaces/settings.interface.d.ts +25 -0
- package/dist/types/interfaces/share.interface.d.ts +9 -0
- package/dist/types/interfaces/shortcut.interface.d.ts +10 -0
- package/dist/types/interfaces/sync-config.interface.d.ts +41 -0
- package/dist/types/interfaces/sync-provider.interface.d.ts +66 -0
- package/dist/types/interfaces/theme.interface.d.ts +553 -0
- package/dist/types/interfaces/tool-config.interface.d.ts +24 -0
- package/dist/types/interfaces/tool-type.interface.d.ts +1 -0
- package/dist/types/interfaces/tool.interface.d.ts +8 -0
- package/dist/types/interfaces/toolbar-item.interface.d.ts +66 -0
- package/dist/types/interfaces/undo-state.interface.d.ts +6 -0
- package/dist/types/interfaces/user.interface.d.ts +22 -0
- package/dist/types/interfaces/viewport-state.interface.d.ts +7 -0
- package/dist/types/locales/de-locale.d.ts +5 -0
- package/dist/types/locales/en-locale.d.ts +6 -0
- package/dist/types/locales/fr-locale.d.ts +5 -0
- package/dist/types/migrations/app-state.migrations.d.ts +11 -0
- package/dist/types/migrations/workspace.migrations.d.ts +11 -0
- package/dist/types/stencil-public-runtime.d.ts +1873 -0
- package/dist/types/themes/dark-theme.d.ts +5 -0
- package/dist/types/themes/light-theme.d.ts +5 -0
- package/dist/types/types/deep-readonly.type.d.ts +7 -0
- package/dist/types/types/state.types.d.ts +3 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +101 -0
- package/readme.md +11 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { KritzelBaseTool } from './base-tool.class';
|
|
2
|
+
import { KritzelCore } from '../core/core.class';
|
|
3
|
+
import { ShapeType } from '../../enums/shape-type.enum';
|
|
4
|
+
import { ThemeAwareColor } from '../../constants/color-palette.constants';
|
|
5
|
+
/**
|
|
6
|
+
* Shape tool for drawing geometric shapes (rectangles, ellipses, etc.) on the canvas.
|
|
7
|
+
* Creates shapes by tracking a drag gesture to define the bounding box.
|
|
8
|
+
* Supports configurable shape type, fill color, stroke color, stroke width, opacity, and text properties.
|
|
9
|
+
* Automatically switches to selection tool after shape completion.
|
|
10
|
+
*/
|
|
11
|
+
export declare class KritzelShapeTool extends KritzelBaseTool {
|
|
12
|
+
toolType: "shape";
|
|
13
|
+
/** The type of shape to create (rectangle, ellipse, etc.) */
|
|
14
|
+
shapeType: ShapeType;
|
|
15
|
+
/** The fill color of the shape (supports theme-aware light/dark colors) */
|
|
16
|
+
fillColor: ThemeAwareColor;
|
|
17
|
+
/** The stroke color of the shape border */
|
|
18
|
+
strokeColor: ThemeAwareColor;
|
|
19
|
+
/** The stroke width of the shape border in pixels */
|
|
20
|
+
strokeWidth: number;
|
|
21
|
+
/** The opacity of the shape (0-1) */
|
|
22
|
+
opacity: number;
|
|
23
|
+
/** The font family for text inside the shape */
|
|
24
|
+
fontFamily: string;
|
|
25
|
+
/** The font size for text inside the shape in pixels */
|
|
26
|
+
fontSize: number;
|
|
27
|
+
/** The font color for text inside the shape */
|
|
28
|
+
fontColor: ThemeAwareColor;
|
|
29
|
+
/** Available color palette for the shape tool */
|
|
30
|
+
palette: ThemeAwareColor[];
|
|
31
|
+
/** Available stroke size presets for the shape tool */
|
|
32
|
+
sizes: number[];
|
|
33
|
+
/** X coordinate where the shape drawing started */
|
|
34
|
+
private startX;
|
|
35
|
+
/** Y coordinate where the shape drawing started */
|
|
36
|
+
private startY;
|
|
37
|
+
/** Whether currently drawing a shape */
|
|
38
|
+
private isDrawing;
|
|
39
|
+
/** Reference to the shape being drawn */
|
|
40
|
+
private currentShape;
|
|
41
|
+
/**
|
|
42
|
+
* Creates a new instance of KritzelShapeTool.
|
|
43
|
+
* @param core - The KritzelCore instance that provides access to application state and functionality
|
|
44
|
+
*/
|
|
45
|
+
constructor(core: KritzelCore);
|
|
46
|
+
/**
|
|
47
|
+
* Handles pointer down events to start drawing a new shape or edit an existing one.
|
|
48
|
+
* If clicking on an existing shape, enters edit mode to modify its text content.
|
|
49
|
+
* Otherwise, begins drawing a new shape at the pointer position.
|
|
50
|
+
* @param event - The PointerEvent containing pointer position and input type information
|
|
51
|
+
*/
|
|
52
|
+
handlePointerDown(event: PointerEvent): void;
|
|
53
|
+
/**
|
|
54
|
+
* Handles pointer move events to update the shape size while drawing.
|
|
55
|
+
* Updates the current shape's dimensions based on the distance from the start point.
|
|
56
|
+
* Only processes events when actively drawing a shape.
|
|
57
|
+
* @param event - The PointerEvent containing the current pointer position
|
|
58
|
+
*/
|
|
59
|
+
handlePointerMove(event: PointerEvent): void;
|
|
60
|
+
/**
|
|
61
|
+
* Handles pointer up events to complete the shape drawing.
|
|
62
|
+
* Finalizes the shape if large enough, or removes it if too small (accidental click).
|
|
63
|
+
* Switches to selection tool with the shape selected after completion.
|
|
64
|
+
* @param event - The PointerEvent indicating the end of the drawing gesture
|
|
65
|
+
*/
|
|
66
|
+
handlePointerUp(event: PointerEvent): void;
|
|
67
|
+
/**
|
|
68
|
+
* Initializes the shape drawing process at the given screen coordinates.
|
|
69
|
+
* Creates a new KritzelShape object with initial dimensions of 1x1 pixel.
|
|
70
|
+
* Follows the same coordinate pattern as LineTool/BrushTool for consistency.
|
|
71
|
+
* @param clientX - The X coordinate in screen/client space
|
|
72
|
+
* @param clientY - The Y coordinate in screen/client space
|
|
73
|
+
*/
|
|
74
|
+
private startDrawing;
|
|
75
|
+
/**
|
|
76
|
+
* Updates the shape's dimensions based on the current pointer position.
|
|
77
|
+
* Calculates the bounding box from start point to current point and updates
|
|
78
|
+
* the shape's position and size accordingly. Handles negative drag directions.
|
|
79
|
+
* @param clientX - The current X coordinate in screen/client space
|
|
80
|
+
* @param clientY - The current Y coordinate in screen/client space
|
|
81
|
+
*/
|
|
82
|
+
private updateShapeSize;
|
|
83
|
+
/**
|
|
84
|
+
* Completes the shape drawing process.
|
|
85
|
+
* Removes shapes smaller than 10x10 pixels (accidental clicks).
|
|
86
|
+
* For valid shapes, assigns z-index, updates the store, emits change event,
|
|
87
|
+
* selects the shape, and switches to selection tool.
|
|
88
|
+
*/
|
|
89
|
+
private finishDrawing;
|
|
90
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { KritzelBaseTool } from './base-tool.class';
|
|
2
|
+
import { KritzelCore } from '../core/core.class';
|
|
3
|
+
import { ThemeAwareColor } from '../../constants/color-palette.constants';
|
|
4
|
+
import { KritzelFontRegistration } from '../../interfaces/font.interface';
|
|
5
|
+
/**
|
|
6
|
+
* Text tool for creating and editing text objects on the canvas.
|
|
7
|
+
* Clicking creates a new text object at the pointer position and enters edit mode.
|
|
8
|
+
* Clicking on an existing text object enters edit mode for that object.
|
|
9
|
+
* Supports configurable font family, size, color, and opacity.
|
|
10
|
+
*/
|
|
11
|
+
export declare class KritzelTextTool extends KritzelBaseTool {
|
|
12
|
+
toolType: "text";
|
|
13
|
+
/** Backing field for {@link fontFamily}. */
|
|
14
|
+
private _fontFamily;
|
|
15
|
+
/** Backing field for {@link fontSize}. */
|
|
16
|
+
private _fontSize;
|
|
17
|
+
/** Backing field for {@link fontColor}. */
|
|
18
|
+
private _fontColor;
|
|
19
|
+
/** Backing field for {@link opacity}. */
|
|
20
|
+
private _opacity;
|
|
21
|
+
/** The font family for new text objects. */
|
|
22
|
+
get fontFamily(): string;
|
|
23
|
+
set fontFamily(value: string);
|
|
24
|
+
/** The font size for new text objects in pixels. */
|
|
25
|
+
get fontSize(): number;
|
|
26
|
+
set fontSize(value: number);
|
|
27
|
+
/** The font color for new text objects (supports theme-aware light/dark colors). */
|
|
28
|
+
get fontColor(): ThemeAwareColor;
|
|
29
|
+
set fontColor(value: ThemeAwareColor);
|
|
30
|
+
/** The opacity of new text objects (0-1). */
|
|
31
|
+
get opacity(): number;
|
|
32
|
+
set opacity(value: number);
|
|
33
|
+
/** Available color palette for the text tool */
|
|
34
|
+
palette: ThemeAwareColor[];
|
|
35
|
+
/** Available font size presets for the text tool */
|
|
36
|
+
sizes: number[];
|
|
37
|
+
/** Optional custom font options supplied through tool config. */
|
|
38
|
+
availableFonts?: KritzelFontRegistration[];
|
|
39
|
+
/**
|
|
40
|
+
* Creates a new instance of KritzelTextTool.
|
|
41
|
+
* @param core - The KritzelCore instance that provides access to application state and functionality
|
|
42
|
+
*/
|
|
43
|
+
constructor(core: KritzelCore);
|
|
44
|
+
/**
|
|
45
|
+
* Propagates a property change to the text object that is currently being edited, if any.
|
|
46
|
+
* Mirrors the selection tool pattern of pushing tool-config changes down to live objects,
|
|
47
|
+
* but scoped to the single text in edit mode rather than the current selection.
|
|
48
|
+
*/
|
|
49
|
+
private applyToActiveText;
|
|
50
|
+
/**
|
|
51
|
+
* Handles pointer down events for text creation and editing.
|
|
52
|
+
* If clicking on an existing text object, enters edit mode for that object.
|
|
53
|
+
* If there's an active text being edited and clicking elsewhere, saves the active text
|
|
54
|
+
* and switches to selection tool. If clicking on empty space, creates a new text object
|
|
55
|
+
* at that position and enters edit mode.
|
|
56
|
+
* @param event - The PointerEvent containing pointer position and input type information
|
|
57
|
+
*/
|
|
58
|
+
handlePointerDown(event: PointerEvent): void;
|
|
59
|
+
/**
|
|
60
|
+
* Handles pointer up events for text editing focus management.
|
|
61
|
+
* If there's an active text that is mounted but doesn't have focus,
|
|
62
|
+
* focuses the text editor at the pointer position to allow typing.
|
|
63
|
+
* @param event - The PointerEvent containing the pointer position for focus placement
|
|
64
|
+
*/
|
|
65
|
+
handlePointerUp(event: PointerEvent): void;
|
|
66
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { KritzelCore } from '../../classes/core/core.class';
|
|
2
|
+
import { KritzelRemoteCursorState } from '../../interfaces/remote-cursor.interface';
|
|
3
|
+
export declare class KritzelAwarenessCursors {
|
|
4
|
+
core: KritzelCore;
|
|
5
|
+
showEdgeIndicators: boolean;
|
|
6
|
+
edgeIndicatorPadding: number;
|
|
7
|
+
remoteCursors: Map<number, KritzelRemoteCursorState>;
|
|
8
|
+
objectVersion: number;
|
|
9
|
+
private cleanupIntervalId;
|
|
10
|
+
private objectChangeRafId;
|
|
11
|
+
private removeAwarenessChangeListener;
|
|
12
|
+
private removeObjectsChangeListener;
|
|
13
|
+
componentDidLoad(): void;
|
|
14
|
+
disconnectedCallback(): void;
|
|
15
|
+
private handleAwarenessChange;
|
|
16
|
+
private cleanupStaleCursors;
|
|
17
|
+
private isStale;
|
|
18
|
+
private hasActiveDrawingCursors;
|
|
19
|
+
private handleRemoteObjectChange;
|
|
20
|
+
private getActiveObjectTip;
|
|
21
|
+
private worldToScreen;
|
|
22
|
+
private isInViewport;
|
|
23
|
+
private clampToEdge;
|
|
24
|
+
private getUserDisplayName;
|
|
25
|
+
private getInitials;
|
|
26
|
+
render(): any;
|
|
27
|
+
private renderCursor;
|
|
28
|
+
private renderEdgeIndicator;
|
|
29
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { KritzelCore } from '../../classes/core/core.class';
|
|
2
|
+
export declare class KritzelCursorTrail {
|
|
3
|
+
core: KritzelCore;
|
|
4
|
+
cursorTrailPoints: Array<{
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
timestamp: number;
|
|
8
|
+
}>;
|
|
9
|
+
isLeftButtonDown: boolean;
|
|
10
|
+
handleMouseDown(ev: PointerEvent): void;
|
|
11
|
+
handlePointerMove(ev: PointerEvent): void;
|
|
12
|
+
handlePointerUp(ev: PointerEvent): void;
|
|
13
|
+
private trailCleanupIntervalId;
|
|
14
|
+
private readonly TRAIL_DURATION_MS;
|
|
15
|
+
private readonly MAX_TRAIL_POINTS;
|
|
16
|
+
componentDidLoad(): void;
|
|
17
|
+
disconnectedCallback(): void;
|
|
18
|
+
render(): any;
|
|
19
|
+
}
|