@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,77 @@
|
|
|
1
|
+
export class ThemeHelper {
|
|
2
|
+
static appliedVariableNames = new WeakMap();
|
|
3
|
+
/**
|
|
4
|
+
* Converts a camelCase string to kebab-case.
|
|
5
|
+
* @example ThemeHelper.camelToKebab('controlHoverBackgroundColor') → 'control-hover-background-color'
|
|
6
|
+
* @example ThemeHelper.camelToKebab('backgroundColor') → 'background-color'
|
|
7
|
+
* @example ThemeHelper.camelToKebab('gap') → 'gap'
|
|
8
|
+
*/
|
|
9
|
+
static camelToKebab(str) {
|
|
10
|
+
return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Recursively flattens a theme object into a map of CSS variable names to values.
|
|
14
|
+
* Skips the 'name' property at the root level since it's the theme identifier, not a CSS value.
|
|
15
|
+
*
|
|
16
|
+
* @param theme - The theme object to flatten
|
|
17
|
+
* @param prefix - The CSS variable prefix (default: '--kritzel')
|
|
18
|
+
* @returns A Map of CSS variable names to their values
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ThemeHelper.flattenThemeToVariables(lightTheme)
|
|
22
|
+
* // Returns Map {
|
|
23
|
+
* // '--kritzel-global-pointer-cursor' => 'pointer',
|
|
24
|
+
* // '--kritzel-toolbar-gap' => '8px',
|
|
25
|
+
* // ...
|
|
26
|
+
* // }
|
|
27
|
+
*/
|
|
28
|
+
static flattenThemeToVariables(theme, prefix = '--kritzel') {
|
|
29
|
+
const variables = new Map();
|
|
30
|
+
const recurse = (obj, currentPrefix, isRoot = false) => {
|
|
31
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
32
|
+
// Skip the 'name' property at the root level
|
|
33
|
+
if (isRoot && key === 'name') {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const kebabKey = ThemeHelper.camelToKebab(key);
|
|
37
|
+
const variableName = `${currentPrefix}-${kebabKey}`;
|
|
38
|
+
if (typeof value === 'object' && value !== null) {
|
|
39
|
+
recurse(value, variableName);
|
|
40
|
+
}
|
|
41
|
+
else if (typeof value === 'string') {
|
|
42
|
+
variables.set(variableName, value);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
recurse(theme, prefix, true);
|
|
47
|
+
return variables;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Applies a map of CSS variables to an HTML element.
|
|
51
|
+
*
|
|
52
|
+
* @param element - The target HTML element
|
|
53
|
+
* @param variables - A Map of CSS variable names to values
|
|
54
|
+
*/
|
|
55
|
+
static applyVariablesToElement(element, variables) {
|
|
56
|
+
for (const [name, value] of variables) {
|
|
57
|
+
element.style.setProperty(name, value);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Convenience method that flattens a theme and applies it to an element in one call.
|
|
62
|
+
*
|
|
63
|
+
* @param element - The target HTML element
|
|
64
|
+
* @param theme - The theme object to apply
|
|
65
|
+
*/
|
|
66
|
+
static applyThemeToElement(element, theme) {
|
|
67
|
+
const variables = ThemeHelper.flattenThemeToVariables(theme);
|
|
68
|
+
const previousVariableNames = ThemeHelper.appliedVariableNames.get(element);
|
|
69
|
+
for (const name of previousVariableNames ?? []) {
|
|
70
|
+
if (!variables.has(name)) {
|
|
71
|
+
element.style.removeProperty(name);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
ThemeHelper.applyVariablesToElement(element, variables);
|
|
75
|
+
ThemeHelper.appliedVariableNames.set(element, new Set(variables.keys()));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export class KritzelToolConfigHelper {
|
|
2
|
+
static getToolConfig(tool) {
|
|
3
|
+
switch (tool?.toolType) {
|
|
4
|
+
case 'selection':
|
|
5
|
+
return 'getToolConfig' in tool && typeof tool.getToolConfig === 'function'
|
|
6
|
+
? tool.getToolConfig()
|
|
7
|
+
: null;
|
|
8
|
+
case 'brush':
|
|
9
|
+
return {
|
|
10
|
+
type: 'brush',
|
|
11
|
+
colorProperty: 'color',
|
|
12
|
+
sizeProperty: 'size',
|
|
13
|
+
opacityProperty: 'opacity',
|
|
14
|
+
paletteSource: 'palette',
|
|
15
|
+
sizesSource: 'sizes',
|
|
16
|
+
controls: [
|
|
17
|
+
{ type: 'stroke-size', propertyName: 'size' },
|
|
18
|
+
],
|
|
19
|
+
};
|
|
20
|
+
case 'line':
|
|
21
|
+
return {
|
|
22
|
+
type: 'line',
|
|
23
|
+
colorProperty: 'color',
|
|
24
|
+
sizeProperty: 'size',
|
|
25
|
+
opacityProperty: 'opacity',
|
|
26
|
+
paletteSource: 'palette',
|
|
27
|
+
sizesSource: 'sizes',
|
|
28
|
+
controls: [
|
|
29
|
+
{ type: 'stroke-size', propertyName: 'size' },
|
|
30
|
+
{ type: 'line-endings', propertyName: 'arrows', additionalProps: {} },
|
|
31
|
+
],
|
|
32
|
+
};
|
|
33
|
+
case 'shape':
|
|
34
|
+
return {
|
|
35
|
+
type: 'shape',
|
|
36
|
+
colorProperty: 'strokeColor',
|
|
37
|
+
sizeProperty: 'strokeWidth',
|
|
38
|
+
opacityProperty: 'opacity',
|
|
39
|
+
paletteSource: 'palette',
|
|
40
|
+
sizesSource: 'sizes',
|
|
41
|
+
controls: [
|
|
42
|
+
{ type: 'stroke-size', propertyName: 'strokeWidth' },
|
|
43
|
+
{ type: 'shape-fill', propertyName: 'fillColor', additionalProps: {} },
|
|
44
|
+
],
|
|
45
|
+
};
|
|
46
|
+
case 'text':
|
|
47
|
+
return {
|
|
48
|
+
type: 'text',
|
|
49
|
+
colorProperty: 'fontColor',
|
|
50
|
+
sizeProperty: 'fontSize',
|
|
51
|
+
opacityProperty: 'opacity',
|
|
52
|
+
paletteSource: 'palette',
|
|
53
|
+
sizesSource: 'sizes',
|
|
54
|
+
controls: [
|
|
55
|
+
{ type: 'font-size', propertyName: 'fontSize', additionalProps: {} },
|
|
56
|
+
{ type: 'font-family', propertyName: 'fontFamily' },
|
|
57
|
+
],
|
|
58
|
+
};
|
|
59
|
+
default:
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
export class KritzelWheelHelper {
|
|
2
|
+
static shouldKeepWheelInDynamicObject(ev, dynamicObject) {
|
|
3
|
+
// Keep Ctrl+wheel available for viewport zoom gestures.
|
|
4
|
+
if (ev.ctrlKey || dynamicObject.isSelected !== true) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
const path = typeof ev.composedPath === 'function' ? ev.composedPath() : [];
|
|
8
|
+
const scrollContainer = this.getScrollableContainerFromEventPath(path, dynamicObject);
|
|
9
|
+
// No scroll container found inside the dynamic object: let the wheel
|
|
10
|
+
// event pass through so the viewport can continue handling it.
|
|
11
|
+
if (!scrollContainer) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
return this.canElementConsumeWheel(scrollContainer, ev.deltaX, ev.deltaY);
|
|
15
|
+
}
|
|
16
|
+
static getScrollableContainerFromEventPath(path, dynamicObject) {
|
|
17
|
+
const potentialRoots = [];
|
|
18
|
+
if (dynamicObject.element instanceof HTMLElement) {
|
|
19
|
+
potentialRoots.push(dynamicObject.element);
|
|
20
|
+
}
|
|
21
|
+
if (dynamicObject.elementRef instanceof HTMLElement) {
|
|
22
|
+
potentialRoots.push(dynamicObject.elementRef);
|
|
23
|
+
}
|
|
24
|
+
const legacyElementRef = dynamicObject.elmeentRef;
|
|
25
|
+
if (legacyElementRef instanceof HTMLElement) {
|
|
26
|
+
potentialRoots.push(legacyElementRef);
|
|
27
|
+
}
|
|
28
|
+
for (const root of potentialRoots) {
|
|
29
|
+
const rootIndex = path.findIndex(entry => entry === root);
|
|
30
|
+
if (rootIndex === -1) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
for (const entry of path.slice(0, rootIndex + 1)) {
|
|
34
|
+
if (!(entry instanceof HTMLElement)) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (this.isScrollableElement(entry)) {
|
|
38
|
+
return entry;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Fallback for synthetic/custom wheel events where composedPath is absent
|
|
43
|
+
// or does not include the dynamic-object subtree.
|
|
44
|
+
for (const root of potentialRoots) {
|
|
45
|
+
if (this.isScrollableElement(root)) {
|
|
46
|
+
return root;
|
|
47
|
+
}
|
|
48
|
+
const firstChild = root.firstElementChild;
|
|
49
|
+
if (firstChild instanceof HTMLElement && this.isScrollableElement(firstChild)) {
|
|
50
|
+
return firstChild;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
static isScrollableElement(element) {
|
|
56
|
+
const canScrollVertically = element.scrollHeight - element.clientHeight > 0;
|
|
57
|
+
const canScrollHorizontally = element.scrollWidth - element.clientWidth > 0;
|
|
58
|
+
if (!canScrollVertically && !canScrollHorizontally) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
const computedStyle = window.getComputedStyle(element);
|
|
62
|
+
const overflowX = computedStyle.overflowX;
|
|
63
|
+
const overflowY = computedStyle.overflowY;
|
|
64
|
+
const allowsVerticalScroll = overflowY !== 'visible' && overflowY !== 'clip';
|
|
65
|
+
const allowsHorizontalScroll = overflowX !== 'visible' && overflowX !== 'clip';
|
|
66
|
+
return (canScrollVertically && allowsVerticalScroll) || (canScrollHorizontally && allowsHorizontalScroll);
|
|
67
|
+
}
|
|
68
|
+
static canElementConsumeWheel(element, deltaX, deltaY) {
|
|
69
|
+
const canConsumeVertical = this.canElementConsumeVerticalWheel(element, deltaY);
|
|
70
|
+
const canConsumeHorizontal = this.canElementConsumeHorizontalWheel(element, deltaX);
|
|
71
|
+
// Keep wheel events inside the dynamic object whenever at least one
|
|
72
|
+
// requested axis can still be consumed by its scroll container.
|
|
73
|
+
return canConsumeVertical || canConsumeHorizontal;
|
|
74
|
+
}
|
|
75
|
+
static canElementConsumeVerticalWheel(element, deltaY) {
|
|
76
|
+
if (deltaY === 0) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
const maxScrollTop = Math.max(0, element.scrollHeight - element.clientHeight);
|
|
80
|
+
if (maxScrollTop === 0) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
const epsilon = 1;
|
|
84
|
+
const scrollingDown = deltaY > 0;
|
|
85
|
+
const scrollingUp = deltaY < 0;
|
|
86
|
+
if (scrollingDown) {
|
|
87
|
+
return element.scrollTop < maxScrollTop - epsilon;
|
|
88
|
+
}
|
|
89
|
+
if (scrollingUp) {
|
|
90
|
+
return element.scrollTop > epsilon;
|
|
91
|
+
}
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
static canElementConsumeHorizontalWheel(element, deltaX) {
|
|
95
|
+
if (deltaX === 0) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
const maxScrollLeft = Math.max(0, element.scrollWidth - element.clientWidth);
|
|
99
|
+
if (maxScrollLeft === 0) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
const epsilon = 1;
|
|
103
|
+
const scrollingRight = deltaX > 0;
|
|
104
|
+
const scrollingLeft = deltaX < 0;
|
|
105
|
+
if (scrollingRight) {
|
|
106
|
+
return element.scrollLeft < maxScrollLeft - epsilon;
|
|
107
|
+
}
|
|
108
|
+
if (scrollingLeft) {
|
|
109
|
+
return element.scrollLeft > epsilon;
|
|
110
|
+
}
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview entry point for your component library
|
|
3
|
+
*
|
|
4
|
+
* This is the entry point for your component library. Use this file to export utilities,
|
|
5
|
+
* constants or data structure that accompany your components.
|
|
6
|
+
*
|
|
7
|
+
* DO NOT use this file to export your components. Instead, use the recommended approaches
|
|
8
|
+
* to consume components of this package as outlined in the `README.md`.
|
|
9
|
+
*/
|
|
10
|
+
export * from './classes/objects/base-object.class';
|
|
11
|
+
export * from './classes/objects/text.class';
|
|
12
|
+
export * from './classes/objects/path.class';
|
|
13
|
+
export * from './classes/objects/image.class';
|
|
14
|
+
export * from './classes/objects/line.class';
|
|
15
|
+
export * from './classes/objects/group.class';
|
|
16
|
+
export * from './classes/objects/shape.class';
|
|
17
|
+
export * from './classes/objects/dynamic-object.class';
|
|
18
|
+
export * from './classes/objects/selection-group.class';
|
|
19
|
+
export * from './classes/objects/selection-box.class';
|
|
20
|
+
export * from './classes/tools/base-tool.class';
|
|
21
|
+
export * from './classes/tools/brush-tool.class';
|
|
22
|
+
export * from './classes/tools/line-tool.class';
|
|
23
|
+
export * from './classes/tools/eraser-tool.class';
|
|
24
|
+
export * from './classes/tools/image-tool.class';
|
|
25
|
+
export * from './classes/tools/text-tool.class';
|
|
26
|
+
export * from './classes/tools/shape-tool.class';
|
|
27
|
+
export * from './helpers/cursor.helper';
|
|
28
|
+
export * from './helpers/keyboard.helper';
|
|
29
|
+
export * from './helpers/devices.helper';
|
|
30
|
+
export * from './helpers/theme.helper';
|
|
31
|
+
export * from './helpers/object.helper';
|
|
32
|
+
export * from './helpers/color.helper';
|
|
33
|
+
export * from './helpers/html.helper';
|
|
34
|
+
export * from './helpers/tool-config.helper';
|
|
35
|
+
export * from './classes/tools/selection-tool.class';
|
|
36
|
+
export * from './classes/providers/sync/broadcast-sync-provider.class';
|
|
37
|
+
export * from './classes/providers/sync/in-memory-sync-provider.class';
|
|
38
|
+
export * from './classes/providers/sync/indexeddb-sync-provider.class';
|
|
39
|
+
export * from './classes/providers/sync/websocket-sync-provider.class';
|
|
40
|
+
export * from './classes/providers/sync/hocuspocus-sync-provider.class';
|
|
41
|
+
export * from './classes/providers/assets/asset-resolver.class';
|
|
42
|
+
export * from './classes/providers/assets/indexeddb-asset-provider.class';
|
|
43
|
+
export * from './classes/providers/assets/http-asset-provider.class';
|
|
44
|
+
export * from './classes/providers/assets/presigned-asset-provider.class';
|
|
45
|
+
export * from './classes/core/workspace.class';
|
|
46
|
+
export * from './classes/managers/anchor.manager';
|
|
47
|
+
export * from './classes/managers/theme.manager';
|
|
48
|
+
export * from './classes/managers/localization.manager';
|
|
49
|
+
export * from './classes/managers/license.manager';
|
|
50
|
+
export * from './classes/registries/dynamic-object-renderer.registry';
|
|
51
|
+
export * from './classes/registries/font-registry.class';
|
|
52
|
+
export * from './classes/registries/icon-registry.class';
|
|
53
|
+
export * from './interfaces/toolbar-item.interface';
|
|
54
|
+
export * from './interfaces/menu-item.interface';
|
|
55
|
+
export * from './interfaces/object-export.interface';
|
|
56
|
+
export * from './interfaces/object-change-event.interface';
|
|
57
|
+
export * from './interfaces/dynamic-object-renderer.interface';
|
|
58
|
+
export * from './interfaces/sync-provider.interface';
|
|
59
|
+
export * from './interfaces/sync-config.interface';
|
|
60
|
+
export * from './interfaces/asset.interface';
|
|
61
|
+
export * from './interfaces/asset-provider.interface';
|
|
62
|
+
export * from './interfaces/asset-storage-config.interface';
|
|
63
|
+
export * from './interfaces/login-config.interface';
|
|
64
|
+
export * from './interfaces/document-metadata.interface';
|
|
65
|
+
export * from './interfaces/anchor.interface';
|
|
66
|
+
export * from './interfaces/viewport-state.interface';
|
|
67
|
+
export * from './interfaces/context-menu-state.interface';
|
|
68
|
+
export * from './interfaces/user.interface';
|
|
69
|
+
export * from './interfaces/theme.interface';
|
|
70
|
+
export * from './interfaces/localization.interface';
|
|
71
|
+
export * from './interfaces/shortcut.interface';
|
|
72
|
+
export * from './interfaces/share.interface';
|
|
73
|
+
export * from './interfaces/engine-state.interface';
|
|
74
|
+
export * from './interfaces/debug-info.interface';
|
|
75
|
+
export * from './interfaces/bounding-box.interface';
|
|
76
|
+
export * from './interfaces/polygon.interface';
|
|
77
|
+
export * from './interfaces/font.interface';
|
|
78
|
+
export * from './interfaces/settings.interface';
|
|
79
|
+
export * from './interfaces/dialog.interface';
|
|
80
|
+
export * from './interfaces/master-detail.interface';
|
|
81
|
+
export * from './interfaces/tool-config.interface';
|
|
82
|
+
export * from './interfaces/arrow-head.interface';
|
|
83
|
+
export * from './events/active-workspace-change.event';
|
|
84
|
+
export * from './events/editor-is-ready.event';
|
|
85
|
+
export * from './events/login.event';
|
|
86
|
+
export * from './configs/default-brush-tool.config';
|
|
87
|
+
export * from './configs/default-text-tool.config';
|
|
88
|
+
export * from './configs/default-line-tool.config';
|
|
89
|
+
export * from './configs/default-shape-tool.config';
|
|
90
|
+
export * from './configs/default-asset-storage.config';
|
|
91
|
+
export * from './configs/default-sync.config';
|
|
92
|
+
export * from './themes/light-theme';
|
|
93
|
+
export * from './themes/dark-theme';
|
|
94
|
+
export * from './locales/en-locale';
|
|
95
|
+
export * from './locales/de-locale';
|
|
96
|
+
export * from './locales/fr-locale';
|
|
97
|
+
export * from './enums/alignment.enum';
|
|
98
|
+
export * from './enums/shape-type.enum';
|
|
99
|
+
export * from './interfaces/migration.interface';
|
|
100
|
+
export * from './helpers/migration.helper';
|
|
101
|
+
export * from './migrations/app-state.migrations';
|
|
102
|
+
export * from './migrations/workspace.migrations';
|
|
103
|
+
export * from './constants/schema.constants';
|
|
104
|
+
export * from './constants/color-palette.constants';
|
|
105
|
+
export * from './constants/text-tool-fonts.constants';
|
|
106
|
+
export * from './constants/engine.constants';
|
|
107
|
+
export * from './constants/version';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the provider type (`'local'` or `'network'`) for a given provider config entry.
|
|
3
|
+
* Works for both class constructors (via a static `type` property) and
|
|
4
|
+
* factory objects (via an optional `type` property on the factory).
|
|
5
|
+
*/
|
|
6
|
+
function getProviderConfigType(config) {
|
|
7
|
+
if (typeof config === 'function') {
|
|
8
|
+
return config.type;
|
|
9
|
+
}
|
|
10
|
+
return config.type;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Returns `true` when the given sync configuration contains at least one remote
|
|
14
|
+
* (network) provider, meaning the share option should be available in the UI.
|
|
15
|
+
*/
|
|
16
|
+
export function hasRemoteSyncProvider(syncConfig) {
|
|
17
|
+
if (!syncConfig?.providers?.length) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return syncConfig.providers.some(p => getProviderConfigType(p) === 'network');
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|