@kritzel/angular-editor 0.4.31 → 0.4.32

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 CHANGED
@@ -1,50 +1,50 @@
1
- # Software License Agreement
2
-
3
- **IMPORTANT NOTICE:** This is a source-available, non-commercial license.
4
- * **Hobbyists & Personal Use:** 100% Free. You are welcome to use, modify, and experiment with this software for personal, hobby, or educational projects.
5
- * **Commercial & Professional Use:** Strictly Prohibited. If you want to use this software in a corporate environment, for professional client work, or as part of a revenue-generating product, you must obtain a commercial license.
6
-
7
- To purchase a commercial license, please visit: https://kritzel.io
8
-
9
- ---
10
-
11
- ## PolyForm Noncommercial License 1.0.0
12
-
13
- ### Acceptance
14
- By using or distributing this software, you accept this license.
15
-
16
- ### User
17
- You is the person or organization who accepts this license. You can accept this license for only yourself or for an organization.
18
-
19
- ### Software
20
- Software is the software that includes this license text.
21
-
22
- ### Practice
23
- Practice is to use, copy, modify, distribute, or make derivative works of the Software.
24
-
25
- ### Grant
26
- You may Practice the Software for noncommercial purposes.
27
-
28
- ### Noncommercial Purposes
29
- Noncommercial purposes are purposes that are not commercial purposes.
30
-
31
- ### Commercial Purposes
32
- Commercial purposes are purposes intended for or directed toward commercial advantage or monetary compensation. Commercial purposes include, but are not limited to, using the Software to provide services to others for a fee, using the Software as part of a product sold or licensed to others, or using the Software inside a business or for professional work.
33
-
34
- ### Redistribution
35
- You may redistribute copies of the Software, with or without modification, provided that you include this license text with every copy.
36
-
37
- ### Notices
38
- You must ensure that any copy of the Software you distribute includes all copyright notices, trademark notices, and other legal notices included in the Software.
39
-
40
- ### No Other Rights
41
- This license does not grant any patent rights or trademark rights.
42
-
43
- ### Termination
44
- If you violate any term of this license, your rights under this license terminate immediately.
45
-
46
- ### Defensive Patent Claims
47
- If you make a patent claim against anyone alleging that the Software infringes a patent, your rights under this license terminate immediately.
48
-
49
- ### No Warranty
1
+ # Software License Agreement
2
+
3
+ **IMPORTANT NOTICE:** This is a source-available, non-commercial license.
4
+ * **Hobbyists & Personal Use:** 100% Free. You are welcome to use, modify, and experiment with this software for personal, hobby, or educational projects.
5
+ * **Commercial & Professional Use:** Strictly Prohibited. If you want to use this software in a corporate environment, for professional client work, or as part of a revenue-generating product, you must obtain a commercial license.
6
+
7
+ To purchase a commercial license, please visit: https://kritzel.io
8
+
9
+ ---
10
+
11
+ ## PolyForm Noncommercial License 1.0.0
12
+
13
+ ### Acceptance
14
+ By using or distributing this software, you accept this license.
15
+
16
+ ### User
17
+ You is the person or organization who accepts this license. You can accept this license for only yourself or for an organization.
18
+
19
+ ### Software
20
+ Software is the software that includes this license text.
21
+
22
+ ### Practice
23
+ Practice is to use, copy, modify, distribute, or make derivative works of the Software.
24
+
25
+ ### Grant
26
+ You may Practice the Software for noncommercial purposes.
27
+
28
+ ### Noncommercial Purposes
29
+ Noncommercial purposes are purposes that are not commercial purposes.
30
+
31
+ ### Commercial Purposes
32
+ Commercial purposes are purposes intended for or directed toward commercial advantage or monetary compensation. Commercial purposes include, but are not limited to, using the Software to provide services to others for a fee, using the Software as part of a product sold or licensed to others, or using the Software inside a business or for professional work.
33
+
34
+ ### Redistribution
35
+ You may redistribute copies of the Software, with or without modification, provided that you include this license text with every copy.
36
+
37
+ ### Notices
38
+ You must ensure that any copy of the Software you distribute includes all copyright notices, trademark notices, and other legal notices included in the Software.
39
+
40
+ ### No Other Rights
41
+ This license does not grant any patent rights or trademark rights.
42
+
43
+ ### Termination
44
+ If you violate any term of this license, your rights under this license terminate immediately.
45
+
46
+ ### Defensive Patent Claims
47
+ If you make a patent claim against anyone alleging that the Software infringes a patent, your rights under this license terminate immediately.
48
+
49
+ ### No Warranty
50
50
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -1,116 +1,116 @@
1
- # Kritzel for Angular
2
-
3
- Build infinite canvas and collaborative whiteboard experiences in Angular with Kritzel's native wrapper and TypeScript-first API.
4
-
5
- Kritzel is a framework-agnostic infinite canvas and collaborative whiteboard engine. It provides web components that work natively in any framework, with a first-class Angular wrapper for idiomatic template integration.
6
-
7
- Kritzel handles the hard parts of canvas-based applications — infinite pan/zoom, hit-testing, CRDT-based collaboration, undo/redo, and cross-browser rendering — so you can focus on your product's domain logic.
8
-
9
- **Full documentation:** [kritzel.io/docs/angular/getting-started/quick-start](https://kritzel.io/docs/angular/getting-started/quick-start)
10
-
11
- ## Installation
12
-
13
- ```bash
14
- npm install @kritzel/angular-editor
15
- ```
16
-
17
- ## Setup
18
-
19
- Register Kritzel in your application config:
20
-
21
- ```ts
22
- import { ApplicationConfig } from '@angular/core';
23
- import { provideKritzel } from '@kritzel/angular-editor';
24
-
25
- export const appConfig: ApplicationConfig = {
26
- providers: [
27
- // ... other providers
28
- provideKritzel(),
29
- ],
30
- };
31
- ```
32
-
33
- Then use the component in your template:
34
-
35
- ```ts
36
- import { Component } from '@angular/core';
37
- import { KritzelEditor } from '@kritzel/angular-editor';
38
-
39
- @Component({
40
- selector: 'app-editor',
41
- imports: [KritzelEditor],
42
- template: `<kritzel-editor></kritzel-editor>`,
43
- styles: [`kritzel-editor { display: block; width: 100%; height: 100vh; }`],
44
- })
45
- export class EditorComponent {}
46
- ```
47
-
48
- This renders the editor with the **full default toolbar** — selection, brush, eraser, line, shape, text, and image tools.
49
-
50
- ## Optional Enhancements
51
-
52
- ### Persist Canvas State
53
-
54
- By default, the editor uses an empty sync provider list, so canvas state is reset on reload. To persist objects locally across page reloads, configure `syncConfig` explicitly with `IndexedDBSyncProvider`.
55
-
56
- ```ts
57
- import { Component } from '@angular/core';
58
- import { IndexedDBSyncProvider, KritzelEditor, KritzelSyncConfig } from '@kritzel/angular-editor';
59
-
60
- @Component({
61
- selector: 'app-editor',
62
- imports: [KritzelEditor],
63
- template: `<kritzel-editor [syncConfig]="syncConfig"></kritzel-editor>`,
64
- styles: [`kritzel-editor { display: block; width: 100%; height: 100vh; }`],
65
- })
66
- export class EditorComponent {
67
- readonly syncConfig: KritzelSyncConfig = {
68
- providers: [IndexedDBSyncProvider],
69
- };
70
- }
71
- ```
72
-
73
- ### Apply Full Viewport Styling
74
-
75
- To ensure the Kritzel editor occupies the entire viewport and prevents unwanted scrolling, add the following CSS to your global stylesheet (e.g. `styles.css`):
76
-
77
- ```css
78
- html,
79
- body,
80
- app-root {
81
- width: 100dvw;
82
- height: 100dvh;
83
- margin: 0;
84
- padding: 0;
85
- overflow: hidden;
86
- display: block;
87
- }
88
- ```
89
-
90
- ### Include Mobile Viewport Meta Tag
91
-
92
- For optimal rendering and responsiveness on mobile devices, add this meta tag within the `<head>` section of your `index.html`:
93
-
94
- ```html
95
- <meta
96
- name="viewport"
97
- content="viewport-fit=cover, width=device-width, initial-scale=1.0, user-scalable=no, maximum-scale=1.0, minimum-scale=1.0, interactive-widget=resizes-content"
98
- />
99
- ```
100
-
101
- ## Fundamentals
102
-
103
- Kritzel is composed of a small set of core concepts that work together to power your canvas experience:
104
-
105
- - **Components** — Two entry points, a batteries-included editor and a headless engine, to match any integration style.
106
- - **Tools** — State-machine interaction handlers that define how users draw, select, and manipulate the canvas.
107
- - **Objects** — The visual building blocks on the canvas — paths, shapes, text, and images with shared spatial properties.
108
- - **Workspaces** — Containers that manage an entire canvas collection, view state, and editor configuration.
109
- - **Theming** — Built-in light and dark themes with full CSS variable customization to match your brand.
110
- - **Collaboration** — Real-time multi-user sync powered by Yjs CRDTs with pluggable transport providers.
111
-
112
- Learn more in the [full documentation](https://kritzel.io/docs/angular/getting-started/basic-usage).
113
-
114
- ## License
115
-
116
- See the [Kritzel License](https://kritzel.io/license). Kritzel is free for personal, hobby, and educational use. Commercial use requires a license — visit [kritzel.io](https://kritzel.io) for details.
1
+ # Kritzel for Angular
2
+
3
+ Build infinite canvas and collaborative whiteboard experiences in Angular with Kritzel's native wrapper and TypeScript-first API.
4
+
5
+ Kritzel is a framework-agnostic infinite canvas and collaborative whiteboard engine. It provides web components that work natively in any framework, with a first-class Angular wrapper for idiomatic template integration.
6
+
7
+ Kritzel handles the hard parts of canvas-based applications — infinite pan/zoom, hit-testing, CRDT-based collaboration, undo/redo, and cross-browser rendering — so you can focus on your product's domain logic.
8
+
9
+ **Full documentation:** [kritzel.io/docs/angular/getting-started/quick-start](https://kritzel.io/docs/angular/getting-started/quick-start)
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ npm install @kritzel/angular-editor
15
+ ```
16
+
17
+ ## Setup
18
+
19
+ Register Kritzel in your application config:
20
+
21
+ ```ts
22
+ import { ApplicationConfig } from '@angular/core';
23
+ import { provideKritzel } from '@kritzel/angular-editor';
24
+
25
+ export const appConfig: ApplicationConfig = {
26
+ providers: [
27
+ // ... other providers
28
+ provideKritzel(),
29
+ ],
30
+ };
31
+ ```
32
+
33
+ Then use the component in your template:
34
+
35
+ ```ts
36
+ import { Component } from '@angular/core';
37
+ import { KritzelEditor } from '@kritzel/angular-editor';
38
+
39
+ @Component({
40
+ selector: 'app-editor',
41
+ imports: [KritzelEditor],
42
+ template: `<kritzel-editor></kritzel-editor>`,
43
+ styles: [`kritzel-editor { display: block; width: 100%; height: 100vh; }`],
44
+ })
45
+ export class EditorComponent {}
46
+ ```
47
+
48
+ This renders the editor with the **full default toolbar** — selection, brush, eraser, line, shape, text, and image tools.
49
+
50
+ ## Optional Enhancements
51
+
52
+ ### Persist Canvas State
53
+
54
+ By default, the editor uses an empty sync provider list, so canvas state is reset on reload. To persist objects locally across page reloads, configure `syncConfig` explicitly with `IndexedDBSyncProvider`.
55
+
56
+ ```ts
57
+ import { Component } from '@angular/core';
58
+ import { IndexedDBSyncProvider, KritzelEditor, KritzelSyncConfig } from '@kritzel/angular-editor';
59
+
60
+ @Component({
61
+ selector: 'app-editor',
62
+ imports: [KritzelEditor],
63
+ template: `<kritzel-editor [syncConfig]="syncConfig"></kritzel-editor>`,
64
+ styles: [`kritzel-editor { display: block; width: 100%; height: 100vh; }`],
65
+ })
66
+ export class EditorComponent {
67
+ readonly syncConfig: KritzelSyncConfig = {
68
+ providers: [IndexedDBSyncProvider],
69
+ };
70
+ }
71
+ ```
72
+
73
+ ### Apply Full Viewport Styling
74
+
75
+ To ensure the Kritzel editor occupies the entire viewport and prevents unwanted scrolling, add the following CSS to your global stylesheet (e.g. `styles.css`):
76
+
77
+ ```css
78
+ html,
79
+ body,
80
+ app-root {
81
+ width: 100dvw;
82
+ height: 100dvh;
83
+ margin: 0;
84
+ padding: 0;
85
+ overflow: hidden;
86
+ display: block;
87
+ }
88
+ ```
89
+
90
+ ### Include Mobile Viewport Meta Tag
91
+
92
+ For optimal rendering and responsiveness on mobile devices, add this meta tag within the `<head>` section of your `index.html`:
93
+
94
+ ```html
95
+ <meta
96
+ name="viewport"
97
+ content="viewport-fit=cover, width=device-width, initial-scale=1.0, user-scalable=no, maximum-scale=1.0, minimum-scale=1.0, interactive-widget=resizes-content"
98
+ />
99
+ ```
100
+
101
+ ## Fundamentals
102
+
103
+ Kritzel is composed of a small set of core concepts that work together to power your canvas experience:
104
+
105
+ - **Components** — Two entry points, a batteries-included editor and a headless engine, to match any integration style.
106
+ - **Tools** — State-machine interaction handlers that define how users draw, select, and manipulate the canvas.
107
+ - **Objects** — The visual building blocks on the canvas — paths, shapes, text, and images with shared spatial properties.
108
+ - **Workspaces** — Containers that manage an entire canvas collection, view state, and editor configuration.
109
+ - **Theming** — Built-in light and dark themes with full CSS variable customization to match your brand.
110
+ - **Collaboration** — Real-time multi-user sync powered by Yjs CRDTs with pluggable transport providers.
111
+
112
+ Learn more in the [full documentation](https://kritzel.io/docs/angular/getting-started/basic-usage).
113
+
114
+ ## License
115
+
116
+ See the [Kritzel License](https://kritzel.io/license). Kritzel is free for personal, hobby, and educational use. Commercial use requires a license — visit [kritzel.io](https://kritzel.io) for details.
@@ -9,7 +9,7 @@ import { defineCustomElement as defineCustomElement$4 } from '@kritzel/editor/di
9
9
  import { defineCustomElement as defineCustomElement$5 } from '@kritzel/editor/dist/components/kritzel-split-button.js';
10
10
  import { defineCustomElement as defineCustomElement$6 } from '@kritzel/editor/dist/components/kritzel-stroke-size.js';
11
11
  import { defineCustomElements } from '@kritzel/engine/loader';
12
- export { BroadcastSyncProvider, DEFAULT_BRUSH_CONFIG, DEFAULT_TEXT_CONFIG, DE_LOCALE, EN_LOCALE, FR_LOCALE, HocuspocusSyncProvider, InMemorySyncProvider, IndexedDBSyncProvider, KritzelAlignment, KritzelBaseObject, KritzelBaseTool, KritzelBrushTool, KritzelDynamicObject, KritzelDynamicObjectRendererRegistry, KritzelEraserTool, KritzelFontRegistry, KritzelGroup, KritzelImage, KritzelImageTool, KritzelLicenseManager, KritzelLine, KritzelLineTool, KritzelLocalizationManager, KritzelPath, KritzelSelectionTool, KritzelShape, KritzelShapeTool, KritzelText, KritzelTextTool, KritzelThemeManager, KritzelWorkspace, ShapeType, WebSocketSyncProvider, darkTheme, hasRemoteSyncProvider, lightTheme } from '@kritzel/engine';
12
+ export { BroadcastSyncProvider, DEFAULT_BRUSH_CONFIG, DEFAULT_SHAPE_CONFIG, DEFAULT_TEXT_CONFIG, DE_LOCALE, EN_LOCALE, FR_LOCALE, HocuspocusSyncProvider, InMemorySyncProvider, IndexedDBSyncProvider, KritzelAlignment, KritzelBaseObject, KritzelBaseTool, KritzelBrushTool, KritzelDynamicObject, KritzelDynamicObjectRendererRegistry, KritzelEraserTool, KritzelFontRegistry, KritzelGroup, KritzelIframeObject, KritzelImage, KritzelImageTool, KritzelLicenseManager, KritzelLine, KritzelLineTool, KritzelLocalizationManager, KritzelPath, KritzelSelectionTool, KritzelShape, KritzelShapeTool, KritzelText, KritzelTextTool, KritzelThemeManager, KritzelWorkspace, ShapeType, WebSocketSyncProvider, darkTheme, hasRemoteSyncProvider, lightTheme } from '@kritzel/engine';
13
13
 
14
14
  /* eslint-disable */
15
15
  /* tslint:disable */
@@ -97,7 +97,7 @@ KritzelEditor = __decorate([
97
97
  ProxyCmp({
98
98
  defineCustomElementFn: defineCustomElement$1,
99
99
  inputs: ['activeUsers', 'activeWorkspaceId', 'assetStorageConfig', 'cursorTarget', 'customFonts', 'customSvgIcons', 'debugInfo', 'editorId', 'fallbackLocale', 'globalContextMenuItems', 'isMoreMenuVisible', 'isPanningEnabled', 'isToolbarVisible', 'isUtilityPanelVisible', 'isWorkspaceManagerVisible', 'isZoomPanelVisible', 'isZoomingEnabled', 'licenseKey', 'locale', 'locales', 'lockDrawingScale', 'loginConfig', 'moreMenuItems', 'objectContextMenuItems', 'scaleMax', 'scaleMin', 'syncConfig', 'theme', 'themes', 'toolbarItems', 'user', 'viewportBoundaryBottom', 'viewportBoundaryLeft', 'viewportBoundaryRight', 'viewportBoundaryTop', 'workspaces'],
100
- methods: ['getObjectById', 'addObject', 'addObjects', 'updateObject', 'removeObject', 'removeObjects', 'getSelectedObjects', 'selectObjects', 'selectAllObjectsInViewport', 'clearSelection', 'centerObjectInViewport', 'panToObject', 'backToContent', 'centerAllObjects', 'centerObjects', 'setViewport', 'panTo', 'zoomTo', 'zoomIn', 'zoomOut', 'getViewport', 'screenToWorld', 'worldToScreen', 'setActiveWorkspace', 'createWorkspace', 'updateWorkspace', 'deleteWorkspace', 'getWorkspaces', 'getActiveWorkspace', 'loadSharedWorkspace', 'reinitSync', 'registerTool', 'changeActiveTool', 'disable', 'enable', 'copy', 'cut', 'paste', 'delete', 'bringForward', 'sendBackward', 'bringToFront', 'sendToBack', 'alignObjects', 'group', 'ungroup', 'undo', 'redo', 'getScreenshot', 'exportViewportAsPng', 'exportViewportAsSvg', 'getSelectedObjectSupportedExportFormats', 'canExportSelectedObjectAs', 'exportSelectedObject', 'exportAsJson', 'importFromJson', 'downloadAsJson', 'importFromFile', 'loadObjectsFromJson', 'getObjectsTotalCount', 'getAllObjects', 'findObjects', 'getObjectsInViewport', 'hideContextMenu', 'openContextMenu', 'openWorkspaceManagerMenu', 'closeWorkspaceManagerMenu', 'openMoreMenu', 'closeMoreMenu', 'openUserDialog', 'closeUserDialog', 'openExportDialog', 'closeExportDialog', 'openImportDialog', 'closeImportDialog', 'openSettingsDialog', 'closeSettingsDialog', 'openShareDialog', 'closeShareDialog', 'triggerSelectionChange', 'beginSceneBootstrap', 'endSceneBootstrap', 'getDisplayableShortcuts', 'openLoginDialog', 'closeLoginDialog', 'setLoginLoading', 'setLocale', 'getLocale', 'getAvailableLocales', 'registerLocales', 'registerFonts', 't', 'triggerNotification']
100
+ methods: ['getObjectById', 'addObject', 'addObjects', 'updateObject', 'removeObject', 'removeObjects', 'getSelectedObjects', 'selectObjects', 'selectAllObjectsInViewport', 'clearSelection', 'centerObjectInViewport', 'panToObject', 'backToContent', 'centerAllObjects', 'centerObjects', 'setViewport', 'panTo', 'zoomTo', 'zoomIn', 'zoomOut', 'getViewport', 'screenToWorld', 'worldToScreen', 'setActiveWorkspace', 'createWorkspace', 'updateWorkspace', 'deleteWorkspace', 'getWorkspaces', 'getActiveWorkspace', 'loadSharedWorkspace', 'reinitSync', 'registerTool', 'setActiveTool', 'disable', 'enable', 'copy', 'cut', 'paste', 'delete', 'bringForward', 'sendBackward', 'bringToFront', 'sendToBack', 'alignObjects', 'group', 'ungroup', 'undo', 'redo', 'getScreenshot', 'exportViewportAsPng', 'exportViewportAsSvg', 'getSelectedObjectSupportedExportFormats', 'canExportSelectedObjectAs', 'exportSelectedObject', 'exportAsJson', 'importFromJson', 'downloadAsJson', 'importFromFile', 'loadObjectsFromJson', 'getObjectsTotalCount', 'getAllObjects', 'findObjects', 'getObjectsInViewport', 'hideContextMenu', 'openContextMenu', 'openWorkspaceManagerMenu', 'closeWorkspaceManagerMenu', 'openMoreMenu', 'closeMoreMenu', 'openUserDialog', 'closeUserDialog', 'openExportDialog', 'closeExportDialog', 'openImportDialog', 'closeImportDialog', 'openSettingsDialog', 'closeSettingsDialog', 'openShareDialog', 'closeShareDialog', 'triggerSelectionChange', 'beginSceneBootstrap', 'endSceneBootstrap', 'getDisplayableShortcuts', 'openLoginDialog', 'closeLoginDialog', 'setLoginLoading', 'setLocale', 'getLocale', 'getAvailableLocales', 'registerLocales', 'registerFonts', 't', 'triggerNotification']
101
101
  })
102
102
  ], KritzelEditor);
103
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: KritzelEditor, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"kritzel-angular-editor.mjs","sources":["../../../projects/lib/src/lib/angular-component-lib/utils.ts","../../../projects/lib/src/lib/proxy.ts","../../../projects/lib/src/lib/index.ts","../../../projects/lib/src/lib/provide.function.ts","../../../projects/lib/src/kritzel-angular-editor.ts"],"sourcesContent":["/* eslint-disable */\n/* tslint:disable */\nimport { fromEvent } from 'rxjs';\n\nexport const proxyInputs = (Cmp: any, inputs: string[]) => {\n const Prototype = Cmp.prototype;\n inputs.forEach((item) => {\n Object.defineProperty(Prototype, item, {\n get() {\n return this.el[item];\n },\n set(val: any) {\n this.z.runOutsideAngular(() => (this.el[item] = val));\n },\n /**\n * In the event that proxyInputs is called\n * multiple times re-defining these inputs\n * will cause an error to be thrown. As a result\n * we set configurable: true to indicate these\n * properties can be changed.\n */\n configurable: true,\n });\n });\n};\n\nexport const proxyMethods = (Cmp: any, methods: string[]) => {\n const Prototype = Cmp.prototype;\n methods.forEach((methodName) => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));\n };\n });\n};\n\nexport const proxyOutputs = (instance: any, el: any, events: string[]) => {\n events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));\n};\n\nexport const defineCustomElement = (tagName: string, customElement: any) => {\n if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n customElements.define(tagName, customElement);\n }\n};\n\n// tslint:disable-next-line: only-arrow-functions\nexport function ProxyCmp(opts: { defineCustomElementFn?: () => void; inputs?: any; methods?: any }) {\n const decorator = function (cls: any) {\n const { defineCustomElementFn, inputs, methods } = opts;\n\n if (defineCustomElementFn !== undefined) {\n defineCustomElementFn();\n }\n\n if (inputs) {\n proxyInputs(cls, inputs);\n }\n if (methods) {\n proxyMethods(cls, methods);\n }\n return cls;\n };\n return decorator;\n}\n","/* tslint:disable */\n/* auto-generated angular directive proxies */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, NgZone } from '@angular/core';\n\nimport { ProxyCmp } from './angular-component-lib/utils';\n\nimport type { Components } from '@kritzel/editor/dist/components';\n\nimport { defineCustomElement as defineKritzelEditor } from '@kritzel/editor/dist/components/kritzel-editor.js';\nimport { defineCustomElement as defineKritzelSettings } from '@kritzel/editor/dist/components/kritzel-settings.js';\nimport { defineCustomElement as defineKritzelShapeFill } from '@kritzel/editor/dist/components/kritzel-shape-fill.js';\nimport { defineCustomElement as defineKritzelShareDialog } from '@kritzel/editor/dist/components/kritzel-share-dialog.js';\nimport { defineCustomElement as defineKritzelSplitButton } from '@kritzel/editor/dist/components/kritzel-split-button.js';\nimport { defineCustomElement as defineKritzelStrokeSize } from '@kritzel/editor/dist/components/kritzel-stroke-size.js';\n@ProxyCmp({\n defineCustomElementFn: defineKritzelEditor,\n inputs: ['activeUsers', 'activeWorkspaceId', 'assetStorageConfig', 'cursorTarget', 'customFonts', 'customSvgIcons', 'debugInfo', 'editorId', 'fallbackLocale', 'globalContextMenuItems', 'isMoreMenuVisible', 'isPanningEnabled', 'isToolbarVisible', 'isUtilityPanelVisible', 'isWorkspaceManagerVisible', 'isZoomPanelVisible', 'isZoomingEnabled', 'licenseKey', 'locale', 'locales', 'lockDrawingScale', 'loginConfig', 'moreMenuItems', 'objectContextMenuItems', 'scaleMax', 'scaleMin', 'syncConfig', 'theme', 'themes', 'toolbarItems', 'user', 'viewportBoundaryBottom', 'viewportBoundaryLeft', 'viewportBoundaryRight', 'viewportBoundaryTop', 'workspaces'],\n methods: ['getObjectById', 'addObject', 'addObjects', 'updateObject', 'removeObject', 'removeObjects', 'getSelectedObjects', 'selectObjects', 'selectAllObjectsInViewport', 'clearSelection', 'centerObjectInViewport', 'panToObject', 'backToContent', 'centerAllObjects', 'centerObjects', 'setViewport', 'panTo', 'zoomTo', 'zoomIn', 'zoomOut', 'getViewport', 'screenToWorld', 'worldToScreen', 'setActiveWorkspace', 'createWorkspace', 'updateWorkspace', 'deleteWorkspace', 'getWorkspaces', 'getActiveWorkspace', 'loadSharedWorkspace', 'reinitSync', 'registerTool', 'changeActiveTool', 'disable', 'enable', 'copy', 'cut', 'paste', 'delete', 'bringForward', 'sendBackward', 'bringToFront', 'sendToBack', 'alignObjects', 'group', 'ungroup', 'undo', 'redo', 'getScreenshot', 'exportViewportAsPng', 'exportViewportAsSvg', 'getSelectedObjectSupportedExportFormats', 'canExportSelectedObjectAs', 'exportSelectedObject', 'exportAsJson', 'importFromJson', 'downloadAsJson', 'importFromFile', 'loadObjectsFromJson', 'getObjectsTotalCount', 'getAllObjects', 'findObjects', 'getObjectsInViewport', 'hideContextMenu', 'openContextMenu', 'openWorkspaceManagerMenu', 'closeWorkspaceManagerMenu', 'openMoreMenu', 'closeMoreMenu', 'openUserDialog', 'closeUserDialog', 'openExportDialog', 'closeExportDialog', 'openImportDialog', 'closeImportDialog', 'openSettingsDialog', 'closeSettingsDialog', 'openShareDialog', 'closeShareDialog', 'triggerSelectionChange', 'beginSceneBootstrap', 'endSceneBootstrap', 'getDisplayableShortcuts', 'openLoginDialog', 'closeLoginDialog', 'setLoginLoading', 'setLocale', 'getLocale', 'getAvailableLocales', 'registerLocales', 'registerFonts', 't', 'triggerNotification']\n})\n@Component({\n selector: 'kritzel-editor',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['activeUsers', 'activeWorkspaceId', 'assetStorageConfig', 'cursorTarget', 'customFonts', 'customSvgIcons', 'debugInfo', 'editorId', 'fallbackLocale', 'globalContextMenuItems', 'isMoreMenuVisible', 'isPanningEnabled', 'isToolbarVisible', 'isUtilityPanelVisible', 'isWorkspaceManagerVisible', 'isZoomPanelVisible', 'isZoomingEnabled', 'licenseKey', 'locale', 'locales', 'lockDrawingScale', 'loginConfig', 'moreMenuItems', 'objectContextMenuItems', 'scaleMax', 'scaleMin', 'syncConfig', 'theme', 'themes', 'toolbarItems', 'user', 'viewportBoundaryBottom', 'viewportBoundaryLeft', 'viewportBoundaryRight', 'viewportBoundaryTop', 'workspaces'],\n outputs: ['isReady', 'activeWorkspaceChange', 'objectsChange', 'objectsAdded', 'objectsRemoved', 'objectsUpdated', 'objectsSelectionChange', 'undoStateChange', 'themeChange', 'localeChange', 'viewportChange', 'logout', 'login', 'isPublicChange', 'awarenessChange'],\n})\nexport class KritzelEditor {\n protected el: HTMLKritzelEditorElement;\n @Output() isReady = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorEditorIsReadyEvent>>();\n @Output() activeWorkspaceChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorActiveWorkspaceChangeEvent>>();\n @Output() objectsChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelBaseObject[]>>();\n @Output() objectsAdded = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsAddedEvent>>();\n @Output() objectsRemoved = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsRemovedEvent>>();\n @Output() objectsUpdated = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsUpdatedEvent>>();\n @Output() objectsSelectionChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelBaseObject[]>>();\n @Output() undoStateChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelUndoState>>();\n @Output() themeChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorThemeName>>();\n @Output() localeChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorLocaleCode>>();\n @Output() viewportChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelViewportState>>();\n @Output() logout = new EventEmitter<KritzelEditorCustomEvent<void>>();\n @Output() login = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorLoginEvent>>();\n @Output() isPublicChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorIKritzelIsPublicChangeEvent>>();\n @Output() awarenessChange = new EventEmitter<KritzelEditorCustomEvent<Map<number, Record<string, any>>>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelEditorCustomEvent } from '@kritzel/editor/dist/components';\nimport type { EditorIsReadyEvent as IKritzelEditorEditorIsReadyEvent } from '@kritzel/editor/dist/components';\nimport type { ActiveWorkspaceChangeEvent as IKritzelEditorActiveWorkspaceChangeEvent } from '@kritzel/editor/dist/components';\nimport type { KritzelBaseObject as IKritzelEditorKritzelBaseObject } from '@kritzel/editor/dist/components';\nimport type { ObjectsAddedEvent as IKritzelEditorObjectsAddedEvent } from '@kritzel/editor/dist/components';\nimport type { ObjectsRemovedEvent as IKritzelEditorObjectsRemovedEvent } from '@kritzel/editor/dist/components';\nimport type { ObjectsUpdatedEvent as IKritzelEditorObjectsUpdatedEvent } from '@kritzel/editor/dist/components';\nimport type { KritzelUndoState as IKritzelEditorKritzelUndoState } from '@kritzel/editor/dist/components';\nimport type { ThemeName as IKritzelEditorThemeName } from '@kritzel/editor/dist/components';\nimport type { LocaleCode as IKritzelEditorLocaleCode } from '@kritzel/editor/dist/components';\nimport type { KritzelViewportState as IKritzelEditorKritzelViewportState } from '@kritzel/editor/dist/components';\nimport type { LoginEvent as IKritzelEditorLoginEvent } from '@kritzel/editor/dist/components';\nimport type { IKritzelIsPublicChangeEvent as IKritzelEditorIKritzelIsPublicChangeEvent } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelEditor extends Components.KritzelEditor {\n\n isReady: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorEditorIsReadyEvent>>;\n\n activeWorkspaceChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorActiveWorkspaceChangeEvent>>;\n\n objectsChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelBaseObject[]>>;\n\n objectsAdded: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsAddedEvent>>;\n\n objectsRemoved: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsRemovedEvent>>;\n\n objectsUpdated: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsUpdatedEvent>>;\n\n objectsSelectionChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelBaseObject[]>>;\n\n undoStateChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelUndoState>>;\n\n themeChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorThemeName>>;\n\n localeChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorLocaleCode>>;\n\n viewportChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelViewportState>>;\n\n logout: EventEmitter<KritzelEditorCustomEvent<void>>;\n\n login: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorLoginEvent>>;\n\n isPublicChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorIKritzelIsPublicChangeEvent>>;\n\n awarenessChange: EventEmitter<KritzelEditorCustomEvent<Map<number, Record<string, any>>>>;\n}\n\n\n@ProxyCmp({\n defineCustomElementFn: defineKritzelSettings,\n inputs: ['availableLocales', 'availableThemes', 'settings', 'shortcuts', 'terms'],\n methods: ['open', 'close']\n})\n@Component({\n selector: 'kritzel-settings',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['availableLocales', 'availableThemes', 'settings', 'shortcuts', 'terms'],\n outputs: ['settingsChange'],\n})\nexport class KritzelSettings {\n protected el: HTMLKritzelSettingsElement;\n @Output() settingsChange = new EventEmitter<KritzelSettingsCustomEvent<IKritzelSettingsKritzelSettingsConfig>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelSettingsCustomEvent } from '@kritzel/editor/dist/components';\nimport type { KritzelSettingsConfig as IKritzelSettingsKritzelSettingsConfig } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelSettings extends Components.KritzelSettings {\n /**\n * Emitted when settings change\n */\n settingsChange: EventEmitter<KritzelSettingsCustomEvent<IKritzelSettingsKritzelSettingsConfig>>;\n}\n\n\n@ProxyCmp({\n defineCustomElementFn: defineKritzelShapeFill,\n inputs: ['value']\n})\n@Component({\n selector: 'kritzel-shape-fill',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['value'],\n outputs: ['valueChange'],\n})\nexport class KritzelShapeFill {\n protected el: HTMLKritzelShapeFillElement;\n @Output() valueChange = new EventEmitter<KritzelShapeFillCustomEvent<IKritzelShapeFillShapeFillType>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelShapeFillCustomEvent } from '@kritzel/editor/dist/components';\nimport type { ShapeFillType as IKritzelShapeFillShapeFillType } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelShapeFill extends Components.KritzelShapeFill {\n\n valueChange: EventEmitter<KritzelShapeFillCustomEvent<IKritzelShapeFillShapeFillType>>;\n}\n\n\n@ProxyCmp({\n defineCustomElementFn: defineKritzelShareDialog,\n inputs: ['isPublic', 'terms', 'workspaceId'],\n methods: ['open', 'close']\n})\n@Component({\n selector: 'kritzel-share-dialog',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['isPublic', 'terms', 'workspaceId'],\n outputs: ['toggleIsPublic', 'dialogClosed'],\n})\nexport class KritzelShareDialog {\n protected el: HTMLKritzelShareDialogElement;\n @Output() toggleIsPublic = new EventEmitter<KritzelShareDialogCustomEvent<boolean>>();\n @Output() dialogClosed = new EventEmitter<KritzelShareDialogCustomEvent<void>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelShareDialogCustomEvent } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelShareDialog extends Components.KritzelShareDialog {\n /**\n * Emitted when the user toggles the public sharing state.\n */\n toggleIsPublic: EventEmitter<KritzelShareDialogCustomEvent<boolean>>;\n /**\n * Emitted when the dialog is closed.\n */\n dialogClosed: EventEmitter<KritzelShareDialogCustomEvent<void>>;\n}\n\n\n@ProxyCmp({\n defineCustomElementFn: defineKritzelSplitButton,\n inputs: ['buttonIcon', 'dropdownIcon', 'items', 'mainButtonDisabled', 'menuButtonDisabled'],\n methods: ['open', 'close', 'focusMenu']\n})\n@Component({\n selector: 'kritzel-split-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['buttonIcon', 'dropdownIcon', 'items', 'mainButtonDisabled', 'menuButtonDisabled'],\n outputs: ['mainButtonClick', 'itemSelect', 'itemSave', 'itemCancel', 'itemToggleChildMenu', 'itemCloseChildMenu', 'menuOpen', 'menuClose'],\n})\nexport class KritzelSplitButton {\n protected el: HTMLKritzelSplitButtonElement;\n @Output() mainButtonClick = new EventEmitter<KritzelSplitButtonCustomEvent<void>>();\n @Output() itemSelect = new EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItemSelectEvent>>();\n @Output() itemSave = new EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>();\n @Output() itemCancel = new EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>();\n @Output() itemToggleChildMenu = new EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItemToggleChildMenuEvent>>();\n @Output() itemCloseChildMenu = new EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>();\n @Output() menuOpen = new EventEmitter<KritzelSplitButtonCustomEvent<void>>();\n @Output() menuClose = new EventEmitter<KritzelSplitButtonCustomEvent<void>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelSplitButtonCustomEvent } from '@kritzel/editor/dist/components';\nimport type { IKritzelMenuItemSelectEvent as IKritzelSplitButtonIKritzelMenuItemSelectEvent } from '@kritzel/editor/dist/components';\nimport type { IKritzelMenuItem as IKritzelSplitButtonIKritzelMenuItem } from '@kritzel/editor/dist/components';\nimport type { IKritzelMenuItemToggleChildMenuEvent as IKritzelSplitButtonIKritzelMenuItemToggleChildMenuEvent } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelSplitButton extends Components.KritzelSplitButton {\n\n mainButtonClick: EventEmitter<KritzelSplitButtonCustomEvent<void>>;\n\n itemSelect: EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItemSelectEvent>>;\n\n itemSave: EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>;\n\n itemCancel: EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>;\n\n itemToggleChildMenu: EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItemToggleChildMenuEvent>>;\n\n itemCloseChildMenu: EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>;\n\n menuOpen: EventEmitter<KritzelSplitButtonCustomEvent<void>>;\n\n menuClose: EventEmitter<KritzelSplitButtonCustomEvent<void>>;\n}\n\n\n@ProxyCmp({\n defineCustomElementFn: defineKritzelStrokeSize,\n inputs: ['selectedSize', 'sizes']\n})\n@Component({\n selector: 'kritzel-stroke-size',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['selectedSize', 'sizes'],\n outputs: ['sizeChange'],\n})\nexport class KritzelStrokeSize {\n protected el: HTMLKritzelStrokeSizeElement;\n @Output() sizeChange = new EventEmitter<KritzelStrokeSizeCustomEvent<number>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelStrokeSizeCustomEvent } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelStrokeSize extends Components.KritzelStrokeSize {\n\n sizeChange: EventEmitter<KritzelStrokeSizeCustomEvent<number>>;\n}\n\n\n","\nimport * as d from './proxy';\n\nexport const DIRECTIVES = [\n d.KritzelEditor,\n d.KritzelSettings,\n d.KritzelShapeFill,\n d.KritzelShareDialog,\n d.KritzelSplitButton,\n d.KritzelStrokeSize\n];\n","import {\r\n provideAppInitializer,\r\n EnvironmentProviders,\r\n makeEnvironmentProviders,\r\n} from '@angular/core';\r\nimport { defineCustomElements } from '@kritzel/engine/loader';\r\n\r\nexport function provideKritzel(): EnvironmentProviders {\r\n return makeEnvironmentProviders([\r\n provideAppInitializer(() => {\r\n console.info('Initializing Kritzel custom elements');\r\n return defineCustomElements(window);\r\n }),\r\n ]);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defineKritzelEditor","defineKritzelSettings","defineKritzelShapeFill","defineKritzelShareDialog","defineKritzelSplitButton","defineKritzelStrokeSize","d.KritzelEditor","d.KritzelSettings","d.KritzelShapeFill","d.KritzelShareDialog","d.KritzelSplitButton","d.KritzelStrokeSize"],"mappings":"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"}
1
+ {"version":3,"file":"kritzel-angular-editor.mjs","sources":["../../../projects/lib/src/lib/angular-component-lib/utils.ts","../../../projects/lib/src/lib/proxy.ts","../../../projects/lib/src/lib/index.ts","../../../projects/lib/src/lib/provide.function.ts","../../../projects/lib/src/kritzel-angular-editor.ts"],"sourcesContent":["/* eslint-disable */\n/* tslint:disable */\nimport { fromEvent } from 'rxjs';\n\nexport const proxyInputs = (Cmp: any, inputs: string[]) => {\n const Prototype = Cmp.prototype;\n inputs.forEach((item) => {\n Object.defineProperty(Prototype, item, {\n get() {\n return this.el[item];\n },\n set(val: any) {\n this.z.runOutsideAngular(() => (this.el[item] = val));\n },\n /**\n * In the event that proxyInputs is called\n * multiple times re-defining these inputs\n * will cause an error to be thrown. As a result\n * we set configurable: true to indicate these\n * properties can be changed.\n */\n configurable: true,\n });\n });\n};\n\nexport const proxyMethods = (Cmp: any, methods: string[]) => {\n const Prototype = Cmp.prototype;\n methods.forEach((methodName) => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));\n };\n });\n};\n\nexport const proxyOutputs = (instance: any, el: any, events: string[]) => {\n events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));\n};\n\nexport const defineCustomElement = (tagName: string, customElement: any) => {\n if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n customElements.define(tagName, customElement);\n }\n};\n\n// tslint:disable-next-line: only-arrow-functions\nexport function ProxyCmp(opts: { defineCustomElementFn?: () => void; inputs?: any; methods?: any }) {\n const decorator = function (cls: any) {\n const { defineCustomElementFn, inputs, methods } = opts;\n\n if (defineCustomElementFn !== undefined) {\n defineCustomElementFn();\n }\n\n if (inputs) {\n proxyInputs(cls, inputs);\n }\n if (methods) {\n proxyMethods(cls, methods);\n }\n return cls;\n };\n return decorator;\n}\n","/* tslint:disable */\n/* auto-generated angular directive proxies */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, NgZone } from '@angular/core';\n\nimport { ProxyCmp } from './angular-component-lib/utils';\n\nimport type { Components } from '@kritzel/editor/dist/components';\n\nimport { defineCustomElement as defineKritzelEditor } from '@kritzel/editor/dist/components/kritzel-editor.js';\nimport { defineCustomElement as defineKritzelSettings } from '@kritzel/editor/dist/components/kritzel-settings.js';\nimport { defineCustomElement as defineKritzelShapeFill } from '@kritzel/editor/dist/components/kritzel-shape-fill.js';\nimport { defineCustomElement as defineKritzelShareDialog } from '@kritzel/editor/dist/components/kritzel-share-dialog.js';\nimport { defineCustomElement as defineKritzelSplitButton } from '@kritzel/editor/dist/components/kritzel-split-button.js';\nimport { defineCustomElement as defineKritzelStrokeSize } from '@kritzel/editor/dist/components/kritzel-stroke-size.js';\n@ProxyCmp({\n defineCustomElementFn: defineKritzelEditor,\n inputs: ['activeUsers', 'activeWorkspaceId', 'assetStorageConfig', 'cursorTarget', 'customFonts', 'customSvgIcons', 'debugInfo', 'editorId', 'fallbackLocale', 'globalContextMenuItems', 'isMoreMenuVisible', 'isPanningEnabled', 'isToolbarVisible', 'isUtilityPanelVisible', 'isWorkspaceManagerVisible', 'isZoomPanelVisible', 'isZoomingEnabled', 'licenseKey', 'locale', 'locales', 'lockDrawingScale', 'loginConfig', 'moreMenuItems', 'objectContextMenuItems', 'scaleMax', 'scaleMin', 'syncConfig', 'theme', 'themes', 'toolbarItems', 'user', 'viewportBoundaryBottom', 'viewportBoundaryLeft', 'viewportBoundaryRight', 'viewportBoundaryTop', 'workspaces'],\n methods: ['getObjectById', 'addObject', 'addObjects', 'updateObject', 'removeObject', 'removeObjects', 'getSelectedObjects', 'selectObjects', 'selectAllObjectsInViewport', 'clearSelection', 'centerObjectInViewport', 'panToObject', 'backToContent', 'centerAllObjects', 'centerObjects', 'setViewport', 'panTo', 'zoomTo', 'zoomIn', 'zoomOut', 'getViewport', 'screenToWorld', 'worldToScreen', 'setActiveWorkspace', 'createWorkspace', 'updateWorkspace', 'deleteWorkspace', 'getWorkspaces', 'getActiveWorkspace', 'loadSharedWorkspace', 'reinitSync', 'registerTool', 'setActiveTool', 'disable', 'enable', 'copy', 'cut', 'paste', 'delete', 'bringForward', 'sendBackward', 'bringToFront', 'sendToBack', 'alignObjects', 'group', 'ungroup', 'undo', 'redo', 'getScreenshot', 'exportViewportAsPng', 'exportViewportAsSvg', 'getSelectedObjectSupportedExportFormats', 'canExportSelectedObjectAs', 'exportSelectedObject', 'exportAsJson', 'importFromJson', 'downloadAsJson', 'importFromFile', 'loadObjectsFromJson', 'getObjectsTotalCount', 'getAllObjects', 'findObjects', 'getObjectsInViewport', 'hideContextMenu', 'openContextMenu', 'openWorkspaceManagerMenu', 'closeWorkspaceManagerMenu', 'openMoreMenu', 'closeMoreMenu', 'openUserDialog', 'closeUserDialog', 'openExportDialog', 'closeExportDialog', 'openImportDialog', 'closeImportDialog', 'openSettingsDialog', 'closeSettingsDialog', 'openShareDialog', 'closeShareDialog', 'triggerSelectionChange', 'beginSceneBootstrap', 'endSceneBootstrap', 'getDisplayableShortcuts', 'openLoginDialog', 'closeLoginDialog', 'setLoginLoading', 'setLocale', 'getLocale', 'getAvailableLocales', 'registerLocales', 'registerFonts', 't', 'triggerNotification']\n})\n@Component({\n selector: 'kritzel-editor',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['activeUsers', 'activeWorkspaceId', 'assetStorageConfig', 'cursorTarget', 'customFonts', 'customSvgIcons', 'debugInfo', 'editorId', 'fallbackLocale', 'globalContextMenuItems', 'isMoreMenuVisible', 'isPanningEnabled', 'isToolbarVisible', 'isUtilityPanelVisible', 'isWorkspaceManagerVisible', 'isZoomPanelVisible', 'isZoomingEnabled', 'licenseKey', 'locale', 'locales', 'lockDrawingScale', 'loginConfig', 'moreMenuItems', 'objectContextMenuItems', 'scaleMax', 'scaleMin', 'syncConfig', 'theme', 'themes', 'toolbarItems', 'user', 'viewportBoundaryBottom', 'viewportBoundaryLeft', 'viewportBoundaryRight', 'viewportBoundaryTop', 'workspaces'],\n outputs: ['isReady', 'activeWorkspaceChange', 'objectsChange', 'objectsAdded', 'objectsRemoved', 'objectsUpdated', 'objectsSelectionChange', 'undoStateChange', 'themeChange', 'localeChange', 'viewportChange', 'logout', 'login', 'isPublicChange', 'awarenessChange'],\n})\nexport class KritzelEditor {\n protected el: HTMLKritzelEditorElement;\n @Output() isReady = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorEditorIsReadyEvent>>();\n @Output() activeWorkspaceChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorActiveWorkspaceChangeEvent>>();\n @Output() objectsChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelBaseObject[]>>();\n @Output() objectsAdded = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsAddedEvent>>();\n @Output() objectsRemoved = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsRemovedEvent>>();\n @Output() objectsUpdated = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsUpdatedEvent>>();\n @Output() objectsSelectionChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelBaseObject[]>>();\n @Output() undoStateChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelUndoState>>();\n @Output() themeChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorThemeName>>();\n @Output() localeChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorLocaleCode>>();\n @Output() viewportChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelViewportState>>();\n @Output() logout = new EventEmitter<KritzelEditorCustomEvent<void>>();\n @Output() login = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorLoginEvent>>();\n @Output() isPublicChange = new EventEmitter<KritzelEditorCustomEvent<IKritzelEditorIKritzelIsPublicChangeEvent>>();\n @Output() awarenessChange = new EventEmitter<KritzelEditorCustomEvent<Map<number, Record<string, any>>>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelEditorCustomEvent } from '@kritzel/editor/dist/components';\nimport type { EditorIsReadyEvent as IKritzelEditorEditorIsReadyEvent } from '@kritzel/editor/dist/components';\nimport type { ActiveWorkspaceChangeEvent as IKritzelEditorActiveWorkspaceChangeEvent } from '@kritzel/editor/dist/components';\nimport type { KritzelBaseObject as IKritzelEditorKritzelBaseObject } from '@kritzel/editor/dist/components';\nimport type { ObjectsAddedEvent as IKritzelEditorObjectsAddedEvent } from '@kritzel/editor/dist/components';\nimport type { ObjectsRemovedEvent as IKritzelEditorObjectsRemovedEvent } from '@kritzel/editor/dist/components';\nimport type { ObjectsUpdatedEvent as IKritzelEditorObjectsUpdatedEvent } from '@kritzel/editor/dist/components';\nimport type { KritzelUndoState as IKritzelEditorKritzelUndoState } from '@kritzel/editor/dist/components';\nimport type { ThemeName as IKritzelEditorThemeName } from '@kritzel/editor/dist/components';\nimport type { LocaleCode as IKritzelEditorLocaleCode } from '@kritzel/editor/dist/components';\nimport type { KritzelViewportState as IKritzelEditorKritzelViewportState } from '@kritzel/editor/dist/components';\nimport type { LoginEvent as IKritzelEditorLoginEvent } from '@kritzel/editor/dist/components';\nimport type { IKritzelIsPublicChangeEvent as IKritzelEditorIKritzelIsPublicChangeEvent } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelEditor extends Components.KritzelEditor {\n\n isReady: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorEditorIsReadyEvent>>;\n\n activeWorkspaceChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorActiveWorkspaceChangeEvent>>;\n\n objectsChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelBaseObject[]>>;\n\n objectsAdded: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsAddedEvent>>;\n\n objectsRemoved: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsRemovedEvent>>;\n\n objectsUpdated: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorObjectsUpdatedEvent>>;\n\n objectsSelectionChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelBaseObject[]>>;\n\n undoStateChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelUndoState>>;\n\n themeChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorThemeName>>;\n\n localeChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorLocaleCode>>;\n\n viewportChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorKritzelViewportState>>;\n\n logout: EventEmitter<KritzelEditorCustomEvent<void>>;\n\n login: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorLoginEvent>>;\n\n isPublicChange: EventEmitter<KritzelEditorCustomEvent<IKritzelEditorIKritzelIsPublicChangeEvent>>;\n\n awarenessChange: EventEmitter<KritzelEditorCustomEvent<Map<number, Record<string, any>>>>;\n}\n\n\n@ProxyCmp({\n defineCustomElementFn: defineKritzelSettings,\n inputs: ['availableLocales', 'availableThemes', 'settings', 'shortcuts', 'terms'],\n methods: ['open', 'close']\n})\n@Component({\n selector: 'kritzel-settings',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['availableLocales', 'availableThemes', 'settings', 'shortcuts', 'terms'],\n outputs: ['settingsChange'],\n})\nexport class KritzelSettings {\n protected el: HTMLKritzelSettingsElement;\n @Output() settingsChange = new EventEmitter<KritzelSettingsCustomEvent<IKritzelSettingsKritzelSettingsConfig>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelSettingsCustomEvent } from '@kritzel/editor/dist/components';\nimport type { KritzelSettingsConfig as IKritzelSettingsKritzelSettingsConfig } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelSettings extends Components.KritzelSettings {\n /**\n * Emitted when settings change\n */\n settingsChange: EventEmitter<KritzelSettingsCustomEvent<IKritzelSettingsKritzelSettingsConfig>>;\n}\n\n\n@ProxyCmp({\n defineCustomElementFn: defineKritzelShapeFill,\n inputs: ['value']\n})\n@Component({\n selector: 'kritzel-shape-fill',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['value'],\n outputs: ['valueChange'],\n})\nexport class KritzelShapeFill {\n protected el: HTMLKritzelShapeFillElement;\n @Output() valueChange = new EventEmitter<KritzelShapeFillCustomEvent<IKritzelShapeFillShapeFillType>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelShapeFillCustomEvent } from '@kritzel/editor/dist/components';\nimport type { ShapeFillType as IKritzelShapeFillShapeFillType } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelShapeFill extends Components.KritzelShapeFill {\n\n valueChange: EventEmitter<KritzelShapeFillCustomEvent<IKritzelShapeFillShapeFillType>>;\n}\n\n\n@ProxyCmp({\n defineCustomElementFn: defineKritzelShareDialog,\n inputs: ['isPublic', 'terms', 'workspaceId'],\n methods: ['open', 'close']\n})\n@Component({\n selector: 'kritzel-share-dialog',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['isPublic', 'terms', 'workspaceId'],\n outputs: ['toggleIsPublic', 'dialogClosed'],\n})\nexport class KritzelShareDialog {\n protected el: HTMLKritzelShareDialogElement;\n @Output() toggleIsPublic = new EventEmitter<KritzelShareDialogCustomEvent<boolean>>();\n @Output() dialogClosed = new EventEmitter<KritzelShareDialogCustomEvent<void>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelShareDialogCustomEvent } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelShareDialog extends Components.KritzelShareDialog {\n /**\n * Emitted when the user toggles the public sharing state.\n */\n toggleIsPublic: EventEmitter<KritzelShareDialogCustomEvent<boolean>>;\n /**\n * Emitted when the dialog is closed.\n */\n dialogClosed: EventEmitter<KritzelShareDialogCustomEvent<void>>;\n}\n\n\n@ProxyCmp({\n defineCustomElementFn: defineKritzelSplitButton,\n inputs: ['buttonIcon', 'dropdownIcon', 'items', 'mainButtonDisabled', 'menuButtonDisabled'],\n methods: ['open', 'close', 'focusMenu']\n})\n@Component({\n selector: 'kritzel-split-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['buttonIcon', 'dropdownIcon', 'items', 'mainButtonDisabled', 'menuButtonDisabled'],\n outputs: ['mainButtonClick', 'itemSelect', 'itemSave', 'itemCancel', 'itemToggleChildMenu', 'itemCloseChildMenu', 'menuOpen', 'menuClose'],\n})\nexport class KritzelSplitButton {\n protected el: HTMLKritzelSplitButtonElement;\n @Output() mainButtonClick = new EventEmitter<KritzelSplitButtonCustomEvent<void>>();\n @Output() itemSelect = new EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItemSelectEvent>>();\n @Output() itemSave = new EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>();\n @Output() itemCancel = new EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>();\n @Output() itemToggleChildMenu = new EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItemToggleChildMenuEvent>>();\n @Output() itemCloseChildMenu = new EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>();\n @Output() menuOpen = new EventEmitter<KritzelSplitButtonCustomEvent<void>>();\n @Output() menuClose = new EventEmitter<KritzelSplitButtonCustomEvent<void>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelSplitButtonCustomEvent } from '@kritzel/editor/dist/components';\nimport type { IKritzelMenuItemSelectEvent as IKritzelSplitButtonIKritzelMenuItemSelectEvent } from '@kritzel/editor/dist/components';\nimport type { IKritzelMenuItem as IKritzelSplitButtonIKritzelMenuItem } from '@kritzel/editor/dist/components';\nimport type { IKritzelMenuItemToggleChildMenuEvent as IKritzelSplitButtonIKritzelMenuItemToggleChildMenuEvent } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelSplitButton extends Components.KritzelSplitButton {\n\n mainButtonClick: EventEmitter<KritzelSplitButtonCustomEvent<void>>;\n\n itemSelect: EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItemSelectEvent>>;\n\n itemSave: EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>;\n\n itemCancel: EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>;\n\n itemToggleChildMenu: EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItemToggleChildMenuEvent>>;\n\n itemCloseChildMenu: EventEmitter<KritzelSplitButtonCustomEvent<IKritzelSplitButtonIKritzelMenuItem>>;\n\n menuOpen: EventEmitter<KritzelSplitButtonCustomEvent<void>>;\n\n menuClose: EventEmitter<KritzelSplitButtonCustomEvent<void>>;\n}\n\n\n@ProxyCmp({\n defineCustomElementFn: defineKritzelStrokeSize,\n inputs: ['selectedSize', 'sizes']\n})\n@Component({\n selector: 'kritzel-stroke-size',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['selectedSize', 'sizes'],\n outputs: ['sizeChange'],\n})\nexport class KritzelStrokeSize {\n protected el: HTMLKritzelStrokeSizeElement;\n @Output() sizeChange = new EventEmitter<KritzelStrokeSizeCustomEvent<number>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { KritzelStrokeSizeCustomEvent } from '@kritzel/editor/dist/components';\n\nexport declare interface KritzelStrokeSize extends Components.KritzelStrokeSize {\n\n sizeChange: EventEmitter<KritzelStrokeSizeCustomEvent<number>>;\n}\n\n\n","\nimport * as d from './proxy';\n\nexport const DIRECTIVES = [\n d.KritzelEditor,\n d.KritzelSettings,\n d.KritzelShapeFill,\n d.KritzelShareDialog,\n d.KritzelSplitButton,\n d.KritzelStrokeSize\n];\n","import {\n provideAppInitializer,\n EnvironmentProviders,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { defineCustomElements } from '@kritzel/engine/loader';\n\nexport function provideKritzel(): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideAppInitializer(() => {\n console.info('Initializing Kritzel custom elements');\n return defineCustomElements(window);\n }),\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defineKritzelEditor","defineKritzelSettings","defineKritzelShapeFill","defineKritzelShareDialog","defineKritzelSplitButton","defineKritzelStrokeSize","d.KritzelEditor","d.KritzelSettings","d.KritzelShapeFill","d.KritzelShareDialog","d.KritzelSplitButton","d.KritzelStrokeSize"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kritzel/angular-editor",
3
- "version": "0.4.31",
3
+ "version": "0.4.32",
4
4
  "homepage": "https://kritzel.io/",
5
5
  "description": "Kritzel helps you build infinite canvas experiences with Angular.",
6
6
  "keywords": [
@@ -14,8 +14,8 @@
14
14
  "peerDependencies": {
15
15
  "@angular/common": "^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0",
16
16
  "@angular/core": "^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0",
17
- "@kritzel/editor": "^0.4.31",
18
- "@kritzel/engine": "^0.4.31"
17
+ "@kritzel/editor": "^0.4.32",
18
+ "@kritzel/engine": "^0.4.32"
19
19
  },
20
20
  "dependencies": {
21
21
  "tslib": "^2.3.0"
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { NgZone, EventEmitter, ChangeDetectorRef, ElementRef, EnvironmentProviders } from '@angular/core';
3
3
  import { KritzelEditorCustomEvent, EditorIsReadyEvent, ActiveWorkspaceChangeEvent, KritzelBaseObject, ObjectsAddedEvent, ObjectsRemovedEvent, ObjectsUpdatedEvent, KritzelUndoState, ThemeName, LocaleCode, KritzelViewportState, LoginEvent, IKritzelIsPublicChangeEvent, Components, KritzelSettingsCustomEvent, KritzelSettingsConfig, KritzelShapeFillCustomEvent, ShapeFillType, KritzelShareDialogCustomEvent, KritzelSplitButtonCustomEvent, IKritzelMenuItemSelectEvent, IKritzelMenuItem, IKritzelMenuItemToggleChildMenuEvent, KritzelStrokeSizeCustomEvent } from '@kritzel/editor/dist/components';
4
- export { ActiveWorkspaceChangeEvent, BroadcastSyncProvider, ContextMenuItem, DEFAULT_BRUSH_CONFIG, DEFAULT_TEXT_CONFIG, DE_LOCALE, EN_LOCALE, EditorIsReadyEvent, FR_LOCALE, HTMLKritzelEngineElement, HocuspocusSyncProvider, IKritzelIsPublicChangeEvent, IKritzelUser, InMemorySyncProvider, IndexedDBSyncProvider, KritzelAlignment, KritzelBaseObject, KritzelBaseTool, KritzelBrushTool, KritzelBrushToolConfig, KritzelDebugInfo, KritzelDynamicObject, KritzelDynamicObjectConfig, KritzelDynamicObjectRenderContext, KritzelDynamicObjectRenderer, KritzelDynamicObjectRendererRegistry, KritzelEngineState, KritzelEraserTool, KritzelExportable, KritzelFontDefinition, KritzelFontMap, KritzelFontRegistration, KritzelFontRegistry, KritzelGroup, KritzelGroupConfig, KritzelImage, KritzelImageConfig, KritzelImageTool, KritzelLicenseManager, KritzelLine, KritzelLineConfig, KritzelLineTool, KritzelLineToolConfig, KritzelLocale, KritzelLocalizationManager, KritzelLoginConfig, KritzelLoginProvider, KritzelObjectExportContext, KritzelObjectExportFormat, KritzelPath, KritzelPathConfig, KritzelRegisteredFont, KritzelSelectionTool, KritzelShape, KritzelShapeConfig, KritzelShapeTool, KritzelShapeToolConfig, KritzelSyncConfig, KritzelTermKey, KritzelTermVars, KritzelTerms, KritzelText, KritzelTextConfig, KritzelTextTool, KritzelTextToolConfig, KritzelTheme, KritzelThemeManager, KritzelToolbarItem, KritzelUndoState, KritzelViewportState, KritzelWorkspace, KritzelWorkspaceConfig, LocaleCode, LoginEvent, ObjectsAddedEvent, ObjectsInViewportChangeEvent, ObjectsRemovedEvent, ObjectsUpdatedEvent, ShapeType, ThemeAwareColor, ThemeName, WebSocketSyncProvider, darkTheme, hasRemoteSyncProvider, lightTheme } from '@kritzel/engine';
4
+ export { ActiveWorkspaceChangeEvent, BroadcastSyncProvider, ContextMenuItem, DEFAULT_BRUSH_CONFIG, DEFAULT_SHAPE_CONFIG, DEFAULT_TEXT_CONFIG, DE_LOCALE, EN_LOCALE, EditorIsReadyEvent, FR_LOCALE, HTMLKritzelEngineElement, HocuspocusSyncProvider, IKritzelIsPublicChangeEvent, IKritzelUser, InMemorySyncProvider, IndexedDBSyncProvider, KritzelAlignment, KritzelBaseObject, KritzelBaseTool, KritzelBrushTool, KritzelBrushToolConfig, KritzelDebugInfo, KritzelDynamicObject, KritzelDynamicObjectConfig, KritzelDynamicObjectRenderContext, KritzelDynamicObjectRenderer, KritzelDynamicObjectRendererRegistry, KritzelEmbeddedObject, KritzelEngineState, KritzelEraserTool, KritzelExportable, KritzelFontDefinition, KritzelFontMap, KritzelFontRegistration, KritzelFontRegistry, KritzelGroup, KritzelGroupConfig, KritzelIframeContent, KritzelIframeObject, KritzelIframeObjectConfig, KritzelIframeObjectLifecycleContext, KritzelImage, KritzelImageConfig, KritzelImageTool, KritzelLicenseManager, KritzelLine, KritzelLineConfig, KritzelLineTool, KritzelLineToolConfig, KritzelLocale, KritzelLocalizationManager, KritzelLoginConfig, KritzelLoginProvider, KritzelObjectExportContext, KritzelObjectExportFormat, KritzelPath, KritzelPathConfig, KritzelRegisteredFont, KritzelSelectionTool, KritzelShape, KritzelShapeConfig, KritzelShapeTool, KritzelShapeToolConfig, KritzelSyncConfig, KritzelTermKey, KritzelTermVars, KritzelTerms, KritzelText, KritzelTextConfig, KritzelTextTool, KritzelTextToolConfig, KritzelTheme, KritzelThemeManager, KritzelToolDefinition, KritzelToolbarItem, KritzelUndoState, KritzelViewportState, KritzelWorkspace, KritzelWorkspaceConfig, LocaleCode, LoginEvent, ObjectsAddedEvent, ObjectsInViewportChangeEvent, ObjectsRemovedEvent, ObjectsUpdatedEvent, ShapeType, ThemeAwareColor, ThemeName, WebSocketSyncProvider, darkTheme, hasRemoteSyncProvider, lightTheme } from '@kritzel/engine';
5
5
  export { HTMLKritzelEditorElement } from '@kritzel/editor';
6
6
 
7
7
  declare class KritzelEditor {