@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,8 @@
|
|
|
1
|
+
import { KritzelAssetStorageConfig } from '../interfaces/asset-storage-config.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Default asset storage configuration. Stores bytes in IndexedDB only,
|
|
4
|
+
* which provides offline-friendly behavior out of the box. Applications
|
|
5
|
+
* that sync Yjs over the network should also configure a remote provider
|
|
6
|
+
* (e.g. HttpAssetProvider) so images are available across devices.
|
|
7
|
+
*/
|
|
8
|
+
export declare const DEFAULT_ASSET_STORAGE_CONFIG: KritzelAssetStorageConfig;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ThemeName } from '../interfaces/theme.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Supported theme modes for color variations
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Color definition with different values per theme
|
|
7
|
+
*/
|
|
8
|
+
export interface ThemeAwareColor {
|
|
9
|
+
/** Color value for light theme */
|
|
10
|
+
light: string;
|
|
11
|
+
/** Color value for dark theme */
|
|
12
|
+
dark: string;
|
|
13
|
+
/** Custom colors based on new themes */
|
|
14
|
+
[key: string]: string | undefined;
|
|
15
|
+
/** Optional semantic label for the color */
|
|
16
|
+
label?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Type for a color palette with theme-aware colors only
|
|
20
|
+
*/
|
|
21
|
+
export type ColorPalette = readonly ThemeAwareColor[];
|
|
22
|
+
/**
|
|
23
|
+
* Helper function to resolve a color value for a specific theme
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveColor(color: ThemeAwareColor, theme: ThemeName): string;
|
|
26
|
+
/**
|
|
27
|
+
* Default color palette shared across all tool configurations.
|
|
28
|
+
* This ensures consistency in color options throughout the application.
|
|
29
|
+
* All colors support theme-specific variations.
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEFAULT_COLOR_PALETTE: ColorPalette;
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* License verification constants.
|
|
3
|
+
*
|
|
4
|
+
* Kritzel licenses are offline Ed25519 signed tokens. The owner signs each
|
|
5
|
+
* customer's token with a private key that never leaves their machine
|
|
6
|
+
* (see scripts/license/); the library verifies tokens against the public key
|
|
7
|
+
* below. The public key is safe to ship — it can only *verify* signatures,
|
|
8
|
+
* never forge them.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Token format version prefix. A valid license key looks like:
|
|
12
|
+
*
|
|
13
|
+
* KRTZL1.<base64url(payload JSON)>.<base64url(ed25519 signature)>
|
|
14
|
+
*
|
|
15
|
+
* Bump the version (and this prefix) if the token scheme ever changes.
|
|
16
|
+
*/
|
|
17
|
+
export declare const KRITZEL_LICENSE_TOKEN_PREFIX = "KRTZL1.";
|
|
18
|
+
/**
|
|
19
|
+
* Raw 32-byte Ed25519 public key (base64url) used to verify license tokens.
|
|
20
|
+
*
|
|
21
|
+
* Generate the matching key pair with `npm run license:keygen` and paste the
|
|
22
|
+
* printed public key here. Replacing this value invalidates every license
|
|
23
|
+
* signed with the previous key.
|
|
24
|
+
*/
|
|
25
|
+
export declare const KRITZEL_LICENSE_PUBLIC_KEY = "2IwZDin-qV3kOt8SEQCqdaJsGT9S7tAGapUYJVnVGQo";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Current schema version for the app-state Y.Doc (workspace list & settings). */
|
|
2
|
+
export declare const CURRENT_APP_STATE_SCHEMA_VERSION = 2;
|
|
3
|
+
/** Current schema version for workspace Y.Docs (drawable objects). */
|
|
4
|
+
export declare const CURRENT_WORKSPACE_SCHEMA_VERSION = 3;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const APP_STATE_INSTANCE_ID_STORAGE_KEY = "kritzel-app-state-instance-id";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { KritzelFontRegistration } from '../interfaces/font.interface';
|
|
2
|
+
export declare const DEFAULT_TEXT_TOOL_AVAILABLE_FONTS: KritzelFontRegistration[];
|
|
3
|
+
export declare const resolveTextToolAvailableFonts: (availableFonts?: KritzelFontRegistration[]) => KritzelFontRegistration[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { KritzelAssetStorageConfig } from '../interfaces/asset-storage-config.interface';
|
|
2
|
+
import { KritzelLoginConfig } from '../interfaces/login-config.interface';
|
|
3
|
+
import { KritzelSyncConfig } from '../interfaces/sync-config.interface';
|
|
4
|
+
import { ThemeName } from '../interfaces/theme.interface';
|
|
5
|
+
export interface EditorIsReadyEvent {
|
|
6
|
+
host: HTMLElement;
|
|
7
|
+
activeWorkspace: {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
isPublic: boolean;
|
|
11
|
+
createdAt: Date;
|
|
12
|
+
updatedAt: Date;
|
|
13
|
+
};
|
|
14
|
+
syncConfig: KritzelSyncConfig;
|
|
15
|
+
assetStorageConfig?: KritzelAssetStorageConfig;
|
|
16
|
+
loginConfig: KritzelLoginConfig;
|
|
17
|
+
theme: ThemeName;
|
|
18
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { KritzelBaseObject } from '../classes/objects/base-object.class';
|
|
2
|
+
import { KritzelAlignment } from '../enums/alignment.enum';
|
|
3
|
+
/**
|
|
4
|
+
* Helper class for aligning objects within a selection group.
|
|
5
|
+
*/
|
|
6
|
+
export declare class AlignmentHelper {
|
|
7
|
+
/**
|
|
8
|
+
* Calculates the selection bounds from all objects' rotated bounding boxes.
|
|
9
|
+
*/
|
|
10
|
+
private static calculateSelectionBounds;
|
|
11
|
+
/**
|
|
12
|
+
* Calculates the new translate positions for each object based on the alignment type.
|
|
13
|
+
* @param objects The objects to align
|
|
14
|
+
* @param alignment The alignment type
|
|
15
|
+
* @returns A map of object IDs to their new translateX and translateY values
|
|
16
|
+
*/
|
|
17
|
+
static calculateAlignedPositions(objects: KritzelBaseObject[], alignment: KritzelAlignment): Map<string, {
|
|
18
|
+
translateX: number;
|
|
19
|
+
translateY: number;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ThemeAwareColor } from '../constants/color-palette.constants';
|
|
2
|
+
import { ThemeName } from '../interfaces/theme.interface';
|
|
3
|
+
export declare class KritzelColorHelper {
|
|
4
|
+
/**
|
|
5
|
+
* Resolves a color value based on the current theme.
|
|
6
|
+
* Handles both simple string colors and theme-aware color objects.
|
|
7
|
+
* @param color - The color to resolve (string or ThemeAwareColor)
|
|
8
|
+
* @param theme - Optional theme to use. If not provided, uses current theme from ThemeManager
|
|
9
|
+
* @returns The resolved hex color string, or empty string if color is undefined
|
|
10
|
+
*/
|
|
11
|
+
static resolveThemeColor(color: ThemeAwareColor | undefined, theme?: ThemeName): string;
|
|
12
|
+
/**
|
|
13
|
+
* Applies opacity to a theme-aware color and returns an rgba string.
|
|
14
|
+
* @param color - The theme-aware color object or a hex color string
|
|
15
|
+
* @param opacity - The opacity value between 0 and 1
|
|
16
|
+
* @param theme - Optional theme to use. If not provided, uses current theme from ThemeManager
|
|
17
|
+
* @returns The color as an rgba string, or the resolved hex if opacity is 1
|
|
18
|
+
*/
|
|
19
|
+
static applyOpacity(color: ThemeAwareColor | string | undefined, opacity: number, theme?: ThemeName): string;
|
|
20
|
+
/**
|
|
21
|
+
* Determines the appropriate contrast color (black or white) based on the luminance of the given hex color.
|
|
22
|
+
* Uses the relative luminance formula: 0.299*R + 0.587*G + 0.114*B
|
|
23
|
+
* @param hexColor - The hex color string (with or without #)
|
|
24
|
+
* @returns '#000000' for light backgrounds, '#ffffff' for dark backgrounds
|
|
25
|
+
*/
|
|
26
|
+
static getContrastColor(hexColor: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Determines the appropriate text color for both light and dark themes based on the fill color.
|
|
29
|
+
* Returns default theme-appropriate colors if the fill is transparent.
|
|
30
|
+
* @param fillColor - The theme-aware fill color
|
|
31
|
+
* @returns A theme-aware color object with appropriate text colors for both themes
|
|
32
|
+
*/
|
|
33
|
+
static determineTextColor(fillColor: ThemeAwareColor): ThemeAwareColor;
|
|
34
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare class KritzelCursorHelper {
|
|
2
|
+
private static _pointerCursor;
|
|
3
|
+
/**
|
|
4
|
+
* Returns the custom pointer cursor CSS value.
|
|
5
|
+
* This can be used instead of `cursor: pointer` for consistent styling.
|
|
6
|
+
*/
|
|
7
|
+
static getPointerCursor(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Returns a custom cursor CSS value with support for rotation.
|
|
10
|
+
* The icon is retrieved from the KritzelIconRegistry.
|
|
11
|
+
*/
|
|
12
|
+
static getCursor(options: {
|
|
13
|
+
iconName: string;
|
|
14
|
+
rotation?: number;
|
|
15
|
+
color?: string;
|
|
16
|
+
size?: number;
|
|
17
|
+
hotspot?: {
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
};
|
|
21
|
+
}): string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare class KritzelEventHelper {
|
|
2
|
+
static isRightClick(ev: MouseEvent): boolean;
|
|
3
|
+
static isLeftClick(ev: MouseEvent): boolean;
|
|
4
|
+
static isPointerEventOnContextMenu(event: PointerEvent): boolean;
|
|
5
|
+
static onLongPress(event: PointerEvent, onSuccess: (event: PointerEvent) => void, onCancel?: () => void): () => void;
|
|
6
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { KritzelPoint } from "../interfaces/point.interface";
|
|
2
|
+
import { KritzelPolygon } from "../interfaces/polygon.interface";
|
|
3
|
+
export declare class KritzelGeometryHelper {
|
|
4
|
+
static doPolygonsIntersect(polygon1: KritzelPolygon, polygon2: KritzelPolygon): boolean;
|
|
5
|
+
static isPointInPolygon(point: KritzelPoint, polygon: KritzelPoint[]): boolean;
|
|
6
|
+
static intersectLines(p1a: KritzelPoint, p1b: KritzelPoint, p2a: KritzelPoint, p2b: KritzelPoint): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Finds the intersection point between a line segment and a line segment.
|
|
9
|
+
* Returns the intersection point or null if no intersection.
|
|
10
|
+
*/
|
|
11
|
+
static getLineIntersectionPoint(p1a: KritzelPoint, p1b: KritzelPoint, p2a: KritzelPoint, p2b: KritzelPoint): KritzelPoint | null;
|
|
12
|
+
/**
|
|
13
|
+
* Finds the closest intersection point between a line segment (from lineStart to lineEnd)
|
|
14
|
+
* and a polygon. Returns the intersection point closest to lineStart, or null if no intersection.
|
|
15
|
+
*/
|
|
16
|
+
static getLinePolygonIntersection(lineStart: KritzelPoint, lineEnd: KritzelPoint, polygon: KritzelPolygon): KritzelPoint | null;
|
|
17
|
+
/**
|
|
18
|
+
* Generates a polygon approximation of an ellipse.
|
|
19
|
+
* @param centerX - X coordinate of ellipse center
|
|
20
|
+
* @param centerY - Y coordinate of ellipse center
|
|
21
|
+
* @param rx - Horizontal radius
|
|
22
|
+
* @param ry - Vertical radius
|
|
23
|
+
* @param segments - Number of segments (more = smoother approximation)
|
|
24
|
+
* @param rotation - Optional rotation angle in radians
|
|
25
|
+
*/
|
|
26
|
+
static getEllipsePolygonApproximation(centerX: number, centerY: number, rx: number, ry: number, segments?: number, rotation?: number): KritzelPoint[];
|
|
27
|
+
/**
|
|
28
|
+
* Finds the closest intersection point between a line segment and a polygon
|
|
29
|
+
* defined as an array of points. Returns the intersection closest to lineStart,
|
|
30
|
+
* or null if no intersection.
|
|
31
|
+
*/
|
|
32
|
+
static getLinePointsArrayIntersection(lineStart: KritzelPoint, lineEnd: KritzelPoint, polygonPoints: KritzelPoint[]): KritzelPoint | null;
|
|
33
|
+
/**
|
|
34
|
+
* Checks if a point is inside a polygon defined as an array of points.
|
|
35
|
+
* This is a convenience wrapper that works with arbitrary polygon point arrays.
|
|
36
|
+
*/
|
|
37
|
+
static isPointInPolygonPoints(point: KritzelPoint, polygonPoints: KritzelPoint[]): boolean;
|
|
38
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class KritzelHTMLHelper {
|
|
2
|
+
static getNumericValueFromStyle(element: HTMLElement, property: string): number;
|
|
3
|
+
static isScrollableElement(element: Element): element is HTMLElement;
|
|
4
|
+
static findScrollableElement(root: Element | null | undefined): HTMLElement | null;
|
|
5
|
+
static getScrollableParent(element: HTMLElement): HTMLElement | Window;
|
|
6
|
+
static isElementInViewport(element: HTMLElement): boolean;
|
|
7
|
+
static getFocusableElements(root: HTMLElement): HTMLElement[];
|
|
8
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { KritzelTermVars } from '../interfaces/localization.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Pure static utilities for localization term resolution.
|
|
4
|
+
*/
|
|
5
|
+
export declare class LocalizationHelper {
|
|
6
|
+
/**
|
|
7
|
+
* Interpolates `{placeholder}` tokens in a term template with the provided
|
|
8
|
+
* variables. Tokens without a matching variable are left untouched.
|
|
9
|
+
*
|
|
10
|
+
* @param template - The raw term string, e.g. `'Expires {date}'`
|
|
11
|
+
* @param vars - Map of placeholder names to replacement values
|
|
12
|
+
* @returns The interpolated string
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* LocalizationHelper.interpolate('Hello {name}', { name: 'Ada' }); // 'Hello Ada'
|
|
16
|
+
*/
|
|
17
|
+
static interpolate(template: string, vars?: KritzelTermVars): string;
|
|
18
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as Y from 'yjs';
|
|
2
|
+
import { KritzelMigration } from '../interfaces/migration.interface';
|
|
3
|
+
export interface KritzelMigrationResult {
|
|
4
|
+
migrated: boolean;
|
|
5
|
+
fromVersion: number;
|
|
6
|
+
toVersion: number;
|
|
7
|
+
}
|
|
8
|
+
export interface KritzelMigrationOptions {
|
|
9
|
+
quiet?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Runs pending schema migrations on a Y.Doc.
|
|
13
|
+
*
|
|
14
|
+
* Reads the current `schemaVersion` from the metadata map (defaults to 0 for
|
|
15
|
+
* documents that predate the migration system), filters and sorts pending
|
|
16
|
+
* migrations, and executes them in a single `'migration'`-origin transaction.
|
|
17
|
+
*
|
|
18
|
+
* The `'migration'` origin is:
|
|
19
|
+
* - NOT tracked by the UndoManager (which only tracks `'local'` and `'temporary'`)
|
|
20
|
+
* - Distinguishable in observers so they can skip re-processing migration writes
|
|
21
|
+
*
|
|
22
|
+
* @param ydoc - The Y.Doc to migrate
|
|
23
|
+
* @param metadataMap - The metadata Y.Map that stores the schemaVersion
|
|
24
|
+
* @param maps - Named Y.Maps available for migration logic (e.g. `{ workspaces }` or `{ objects }`)
|
|
25
|
+
* @param migrations - The ordered array of migration definitions
|
|
26
|
+
* @param currentVersion - The target schema version defined in code
|
|
27
|
+
* @param options - Optional configuration (e.g. `{ quiet: true }` to suppress console logs)
|
|
28
|
+
* @returns A result object indicating whether migrations ran and the version range
|
|
29
|
+
*/
|
|
30
|
+
export declare function runMigrations(ydoc: Y.Doc, metadataMap: Y.Map<any>, maps: Record<string, Y.Map<any>>, migrations: KritzelMigration[], currentVersion: number, options?: KritzelMigrationOptions): KritzelMigrationResult;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class ObjectHelper {
|
|
2
|
+
static generateUUID(length?: number): string;
|
|
3
|
+
static isEmpty(obj: any): boolean;
|
|
4
|
+
static isClass<T>(object: unknown, className: string): object is T;
|
|
5
|
+
static isKritzelExportable(object: unknown): object is {
|
|
6
|
+
getSupportedExportFormats(): string[];
|
|
7
|
+
exportAs(format: string, context: unknown): Promise<string | null>;
|
|
8
|
+
};
|
|
9
|
+
}
|