kritzel-stencil 0.1.78 → 0.1.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/kritzel-active-users_42.cjs.entry.js +144 -42
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +70 -11
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +21 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +137 -38
- package/dist/collection/configs/default-engine-config.js +2 -2
- package/dist/collection/constants/version.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/kritzel-editor.js +1 -1
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-settings.js +1 -1
- package/dist/components/p-DgJe5Rhg.js +9 -0
- package/dist/components/{p-DaGZEV0R.js → p-w0rCqxfU.js} +1 -1
- package/dist/esm/kritzel-active-users_42.entry.js +144 -42
- package/dist/esm/loader.js +1 -1
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/p-10451eb6.entry.js +9 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +7 -5
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +10 -4
- package/dist/types/components.d.ts +33 -11
- package/dist/types/constants/version.d.ts +1 -1
- package/dist/types/interfaces/engine-state.interface.d.ts +10 -10
- package/package.json +1 -1
- package/dist/components/p-Ban3OlgZ.js +0 -9
- package/dist/stencil/p-4a4b38e4.entry.js +0 -9
|
@@ -2049,6 +2049,8 @@ const KritzelEditor = class {
|
|
|
2049
2049
|
}
|
|
2050
2050
|
]
|
|
2051
2051
|
};
|
|
2052
|
+
/** Whether the editor is in a loading state. When true, a loading overlay is displayed. */
|
|
2053
|
+
isLoading = false;
|
|
2052
2054
|
/** Optional unique identifier for namespacing storage keys across multiple editor instances. */
|
|
2053
2055
|
editorId;
|
|
2054
2056
|
/** Optional workspace ID to set as active. If provided, the editor will automatically activate the workspace with this ID. */
|
|
@@ -2088,9 +2090,10 @@ const KritzelEditor = class {
|
|
|
2088
2090
|
}
|
|
2089
2091
|
}
|
|
2090
2092
|
onWorkspacesChange(newWorkspaces) {
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2093
|
+
const activeWorkspace = this.activeWorkspace;
|
|
2094
|
+
if (activeWorkspace) {
|
|
2095
|
+
const updatedActiveWorkspace = newWorkspaces.find(ws => ws.id === activeWorkspace.id);
|
|
2096
|
+
if (updatedActiveWorkspace && updatedActiveWorkspace !== activeWorkspace) {
|
|
2094
2097
|
this.activeWorkspace = updatedActiveWorkspace;
|
|
2095
2098
|
}
|
|
2096
2099
|
}
|
|
@@ -2317,7 +2320,7 @@ const KritzelEditor = class {
|
|
|
2317
2320
|
await customElements.whenDefined('kritzel-workspace-manager');
|
|
2318
2321
|
await customElements.whenDefined('kritzel-controls');
|
|
2319
2322
|
await customElements.whenDefined('kritzel-engine');
|
|
2320
|
-
if (!this.isEngineReady || !this.isControlsReady || !this.isWorkspaceManagerReady) {
|
|
2323
|
+
if (!this.isEngineReady || !this.isControlsReady || !this.isWorkspaceManagerReady || !this.activeWorkspace) {
|
|
2321
2324
|
return;
|
|
2322
2325
|
}
|
|
2323
2326
|
const { id, name, isPublic, createdAt, updatedAt } = this.activeWorkspace;
|
|
@@ -2336,6 +2339,9 @@ const KritzelEditor = class {
|
|
|
2336
2339
|
}
|
|
2337
2340
|
async onEngineReady(event) {
|
|
2338
2341
|
this.isEngineReady = true;
|
|
2342
|
+
if (!event.detail.activeWorkspace) {
|
|
2343
|
+
return;
|
|
2344
|
+
}
|
|
2339
2345
|
this.activeWorkspace = event.detail.activeWorkspace;
|
|
2340
2346
|
this.workspaces = event.detail.workspaces;
|
|
2341
2347
|
this.currentIsPublic = await this.engineRef.getIsPublic();
|
|
@@ -2418,7 +2424,7 @@ const KritzelEditor = class {
|
|
|
2418
2424
|
icon: 'upload',
|
|
2419
2425
|
action: async () => {
|
|
2420
2426
|
const preview = await this.engineRef.getScreenshot('png');
|
|
2421
|
-
this.exportRef.open(preview);
|
|
2427
|
+
this.exportRef.open(preview ?? undefined);
|
|
2422
2428
|
},
|
|
2423
2429
|
},
|
|
2424
2430
|
{
|
|
@@ -2449,7 +2455,7 @@ const KritzelEditor = class {
|
|
|
2449
2455
|
activeWorkspace.isPublic = isPublic;
|
|
2450
2456
|
await this.engineRef.updateWorkspace(activeWorkspace);
|
|
2451
2457
|
this.activeWorkspace = activeWorkspace.clone();
|
|
2452
|
-
this.isPublicChange.emit({ isPublic, workspaceId:
|
|
2458
|
+
this.isPublicChange.emit({ isPublic, workspaceId: activeWorkspace.id });
|
|
2453
2459
|
};
|
|
2454
2460
|
/**
|
|
2455
2461
|
* Updates the currentIsPublic state from the active workspace and emits the isPublicChange event.
|
|
@@ -2458,6 +2464,9 @@ const KritzelEditor = class {
|
|
|
2458
2464
|
const isPublic = this.activeWorkspace?.isPublic ?? false;
|
|
2459
2465
|
const workspaceId = this.activeWorkspace?.id;
|
|
2460
2466
|
this.currentIsPublic = isPublic;
|
|
2467
|
+
if (!workspaceId) {
|
|
2468
|
+
return;
|
|
2469
|
+
}
|
|
2461
2470
|
this.isPublicChange.emit({ isPublic, workspaceId });
|
|
2462
2471
|
}
|
|
2463
2472
|
handleProviderLogin = (event) => {
|
|
@@ -2562,7 +2571,31 @@ const KritzelEditor = class {
|
|
|
2562
2571
|
const isLoggedIn = this.isLoggedIn;
|
|
2563
2572
|
const shouldShowCurrentUser = isLoggedIn;
|
|
2564
2573
|
const shouldShowLoginButton = !!this.loginConfig && !isLoggedIn;
|
|
2565
|
-
return (index.h(index.Host, { key: '
|
|
2574
|
+
return (index.h(index.Host, { key: '1e3c220506d14f276ca246365c2bda79110c6c35' }, index.h("div", { key: '154b45141b995f749adb52a11dc3363ab2989475', class: "top-left-buttons" }, index.h("kritzel-workspace-manager", { key: '22519269ea7227a1a7a05d2f282bbcd2466edf5d', workspaces: this.workspaces, activeWorkspace: this.activeWorkspace, onWorkspaceChange: event => (this.activeWorkspace = event.detail), onIsWorkspaceManagerReady: () => (this.isWorkspaceManagerReady = true) }), index.h("kritzel-back-to-content", { key: 'e89f0609dfd031cb040fd80a1f60ecb56d56734c', visible: this.isBackToContentButtonVisible, onBackToContent: () => this.backToContent() })), index.h("kritzel-engine", { key: '0b3acdf827d48c9589fb8170b49a602beb273684', ref: el => {
|
|
2575
|
+
if (el) {
|
|
2576
|
+
this.engineRef = el;
|
|
2577
|
+
}
|
|
2578
|
+
}, workspace: this.activeWorkspace, activeWorkspaceId: this.activeWorkspaceId, editorId: this.editorId, syncConfig: this.syncConfig, user: this.user, scaleMax: this.scaleMax, lockDrawingScale: this.lockDrawingScale, scaleMin: this.scaleMin, isLoading: this.isLoading, viewportBoundaryLeft: this.viewportBoundaryLeft, viewportBoundaryRight: this.viewportBoundaryRight, viewportBoundaryTop: this.viewportBoundaryTop, viewportBoundaryBottom: this.viewportBoundaryBottom, wheelEnabled: this.wheelEnabled, theme: this.currentTheme, debugInfo: this.debugInfo, globalContextMenuItems: this.globalContextMenuItems, objectContextMenuItems: this.objectContextMenuItems, onIsEngineReady: event => this.onEngineReady(event), onWorkspacesChange: event => this.handleWorkspacesChange(event), onActiveWorkspaceChange: event => this.handleActiveWorkspaceChange(event), onObjectsChange: event => this.handleObjectsChange(event), onObjectsAdded: event => this.handleObjectsAdded(event), onObjectsRemoved: event => this.handleObjectsRemoved(event), onObjectsUpdated: event => this.handleObjectsUpdated(event), onUndoStateChange: event => this.handleUndoStateChange(event), onObjectsInViewportChange: event => this.handleObjectsInViewportChange(event), onViewportChange: event => this.handleViewportChange(event), onAwarenessChange: event => this.handleAwarenessChange(event) }), index.h("kritzel-controls", { key: '324ba00f982938abc7a3f4dc47368f3b9bad665e', class: { 'keyboard-open': this.isVirtualKeyboardOpen }, style: { display: this.isControlsVisible ? 'flex' : 'none' }, ref: el => {
|
|
2579
|
+
if (el) {
|
|
2580
|
+
this.controlsRef = el;
|
|
2581
|
+
}
|
|
2582
|
+
}, controls: this.controls, isUtilityPanelVisible: this.isUtilityPanelVisible, undoState: this.undoState ?? undefined, theme: this.currentTheme, onIsControlsReady: () => (this.isControlsReady = true) }), index.h("div", { key: '0c4662e92cbe90a958f8704e6db0375915d9c634', class: "top-right-buttons" }, index.h("kritzel-settings", { key: 'e0422c1a02bc895bafd4b777d4d593afcfdf335b', ref: el => {
|
|
2583
|
+
if (el) {
|
|
2584
|
+
this.settingsRef = el;
|
|
2585
|
+
}
|
|
2586
|
+
}, shortcuts: this.shortcuts, editorId: this.editorId, onSettingsChange: event => this.handleSettingsChange(event) }), index.h("kritzel-export", { key: '72f59ec2eab76d753bb64475f199f0fa33e935d4', ref: el => {
|
|
2587
|
+
if (el) {
|
|
2588
|
+
this.exportRef = el;
|
|
2589
|
+
}
|
|
2590
|
+
}, workspaceName: this.activeWorkspace?.name || 'workspace', onExportPng: () => this.engineRef.exportViewportAsPng(), onExportSvg: () => this.engineRef.exportViewportAsSvg(), onExportJson: event => this.engineRef.downloadAsJson(event.detail) }), index.h("kritzel-active-users", { key: 'c60411370947fc408b5e9d7adade3e28210b8d47', users: this.activeUsers }), shouldShowCurrentUser && index.h("kritzel-current-user", { key: '4783940d3d4f9c2a7e8156c0713f29cb8b043125', user: this.user }), shouldShowLoginButton && index.h("kritzel-button", { key: 'bdb727d5641f8cda3711856086e1b9aa8533a5a6', onButtonClick: () => this.loginDialogRef?.open() }, "Sign in"), index.h("kritzel-more-menu", { key: '3afa57ea46636c92cc7232dfe22a27cace85766e', items: this.moreMenuItems }), index.h("kritzel-share-dialog", { key: '852f9980fa3b89ceb5b6d8bde1bdd5598d3dc6e4', ref: el => {
|
|
2591
|
+
if (el) {
|
|
2592
|
+
this.shareDialogRef = el;
|
|
2593
|
+
}
|
|
2594
|
+
}, isPublic: this.currentIsPublic, workspaceId: this.activeWorkspace?.id, onToggleIsPublic: this.handleToggleIsPublic }), this.loginConfig && (index.h("kritzel-login-dialog", { key: 'cdccbb7ef0b9932c0747545a18071f22e5683d8c', ref: el => {
|
|
2595
|
+
if (el) {
|
|
2596
|
+
this.loginDialogRef = el;
|
|
2597
|
+
}
|
|
2598
|
+
}, providers: this.loginConfig.providers, dialogTitle: this.loginConfig.title, subtitle: this.loginConfig.subtitle, onProviderLogin: this.handleProviderLogin })))));
|
|
2566
2599
|
}
|
|
2567
2600
|
static get watchers() { return {
|
|
2568
2601
|
"isEngineReady": [{
|
|
@@ -20900,7 +20933,7 @@ class KritzelReviver {
|
|
|
20900
20933
|
}
|
|
20901
20934
|
|
|
20902
20935
|
const DEFAULT_ENGINE_CONFIG = {
|
|
20903
|
-
activeWorkspace:
|
|
20936
|
+
activeWorkspace: undefined,
|
|
20904
20937
|
activeTool: null,
|
|
20905
20938
|
copiedObjects: null,
|
|
20906
20939
|
objects: null,
|
|
@@ -20926,7 +20959,7 @@ const DEFAULT_ENGINE_CONFIG = {
|
|
|
20926
20959
|
isDrawing: false,
|
|
20927
20960
|
isErasing: false,
|
|
20928
20961
|
isWriting: false,
|
|
20929
|
-
|
|
20962
|
+
isLoading: false,
|
|
20930
20963
|
isCtrlKeyPressed: false,
|
|
20931
20964
|
isContextMenuVisible: false,
|
|
20932
20965
|
contextMenuItems: [],
|
|
@@ -25506,7 +25539,7 @@ async function toPng(node, options = {}) {
|
|
|
25506
25539
|
return canvas.toDataURL();
|
|
25507
25540
|
}
|
|
25508
25541
|
|
|
25509
|
-
const kritzelEngineCss = () => `:host{display:block;position:relative;height:100%;width:100%;overflow:hidden;background-color:var(--kritzel-engine-background-color, #ffffff)}:host,:host *{touch-action:none;user-select:none}.ProseMirror{outline:none}p,h1,h2,h3,h4,h5,h6,blockquote,pre{margin:0;padding:0}.workspace-loading-overlay{position:absolute;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:var(--kritzel-loading-overlay-background, rgba(255, 255, 255, 0.6));color:var(--kritzel-loading-overlay-color, #333);font-size:1.25rem;pointer-events:all;animation:workspace-loading-fade-in var(--kritzel-loading-overlay-delay, 300ms)
|
|
25542
|
+
const kritzelEngineCss = () => `:host{display:block;position:relative;height:100%;width:100%;overflow:hidden;background-color:var(--kritzel-engine-background-color, #ffffff)}:host,:host *{touch-action:none;user-select:none}.ProseMirror{outline:none}p,h1,h2,h3,h4,h5,h6,blockquote,pre{margin:0;padding:0}.workspace-loading-overlay{position:absolute;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:10px;background-color:var(--kritzel-loading-overlay-background, rgba(255, 255, 255, 0.6));color:var(--kritzel-loading-overlay-color, #333);font-family:var(--kritzel-font-family, sans-serif);font-size:1.25rem;pointer-events:all;animation:workspace-loading-fade-in 200ms ease-out var(--kritzel-loading-overlay-delay, 300ms) forwards;opacity:0}.workspace-loading-spinner{width:20px;height:20px;box-sizing:border-box;display:block;flex-shrink:0;border:2px solid var(--kritzel-loading-overlay-spinner-color, #cccccc);border-top-color:var(--kritzel-loading-overlay-spinner-active-color, #333333);border-radius:50%;animation:workspace-loading-spin 0.6s linear infinite}@keyframes workspace-loading-spin{to{transform:rotate(360deg)}}@keyframes workspace-loading-fade-in{to{opacity:1}}.debug-panel{position:absolute;pointer-events:none;top:0;right:0}.origin{position:relative;top:0;left:0;height:0;width:0;pointer-events:none;-webkit-transform-origin:top left;-moz-transform-origin:top left;transform-origin:top left;overflow:visible}.object{overflow:visible}.PlaygroundEditorTheme__quote{margin:0;margin-left:20px;margin-bottom:10px;font-size:15px;color:rgb(101, 103, 107);border-left-color:rgb(206, 208, 212);border-left-width:4px;border-left-style:solid;padding-left:16px}`;
|
|
25510
25543
|
|
|
25511
25544
|
const KritzelEngine = class {
|
|
25512
25545
|
get host() { return index.getElement(this); }
|
|
@@ -25625,6 +25658,11 @@ const KritzelEngine = class {
|
|
|
25625
25658
|
}
|
|
25626
25659
|
/** When false, wheel events will not trigger viewport pan/zoom. The event still propagates to parent elements. */
|
|
25627
25660
|
wheelEnabled = true;
|
|
25661
|
+
/** External loading state. Combined with internal workspace-loading state to drive the overlay. */
|
|
25662
|
+
isLoading = false;
|
|
25663
|
+
onIsLoadingChange() {
|
|
25664
|
+
this.syncLoadingState();
|
|
25665
|
+
}
|
|
25628
25666
|
/** Emitted when the engine has fully initialized and is ready for interaction. */
|
|
25629
25667
|
isEngineReady;
|
|
25630
25668
|
/** Emitted when the active drawing tool changes. */
|
|
@@ -25916,9 +25954,9 @@ const KritzelEngine = class {
|
|
|
25916
25954
|
async hideContextMenu() {
|
|
25917
25955
|
this.core.store.state.pointers.clear();
|
|
25918
25956
|
this.core.store.state.isContextMenuVisible = false;
|
|
25919
|
-
this.core.store.state.objects
|
|
25957
|
+
this.core.store.state.objects?.remove(o => o instanceof workspace_migrations.KritzelSelectionBox);
|
|
25920
25958
|
this.core.store.setSelectionBox(null);
|
|
25921
|
-
this.core.store.state.objects
|
|
25959
|
+
this.core.store.state.objects?.clearLocalSelectionBox();
|
|
25922
25960
|
this.core.store.state.isSelecting = false;
|
|
25923
25961
|
this.core.store.state.isEnabled = true;
|
|
25924
25962
|
this.core.rerender();
|
|
@@ -26047,8 +26085,12 @@ const KritzelEngine = class {
|
|
|
26047
26085
|
* @returns The removed object.
|
|
26048
26086
|
*/
|
|
26049
26087
|
async removeObject(object) {
|
|
26088
|
+
const objectsMap = this.core.store.state.objects;
|
|
26089
|
+
if (!objectsMap) {
|
|
26090
|
+
return null;
|
|
26091
|
+
}
|
|
26050
26092
|
this.core.deselectAllObjects();
|
|
26051
|
-
|
|
26093
|
+
objectsMap.remove(o => o.id === object.id);
|
|
26052
26094
|
this.core.rerender();
|
|
26053
26095
|
this.emitObjectsRemoved([object]);
|
|
26054
26096
|
return object;
|
|
@@ -26067,15 +26109,23 @@ const KritzelEngine = class {
|
|
|
26067
26109
|
* @param objects - The objects to select.
|
|
26068
26110
|
*/
|
|
26069
26111
|
async selectObjects(objects) {
|
|
26112
|
+
const selectionTool = workspace_migrations.KritzelToolRegistry.getTool('selection');
|
|
26113
|
+
if (!selectionTool) {
|
|
26114
|
+
return;
|
|
26115
|
+
}
|
|
26070
26116
|
this.core.store.state.activeTool?.onDeactivate();
|
|
26071
|
-
this.core.store.setState('activeTool',
|
|
26117
|
+
this.core.store.setState('activeTool', selectionTool);
|
|
26072
26118
|
this.core.deselectAllObjects();
|
|
26073
26119
|
this.core.selectObjects(objects);
|
|
26074
26120
|
}
|
|
26075
26121
|
/** Selects all objects currently visible in the viewport. Switches to the selection tool automatically. */
|
|
26076
26122
|
async selectAllObjectsInViewport() {
|
|
26123
|
+
const selectionTool = workspace_migrations.KritzelToolRegistry.getTool('selection');
|
|
26124
|
+
if (!selectionTool) {
|
|
26125
|
+
return;
|
|
26126
|
+
}
|
|
26077
26127
|
this.core.store.state.activeTool?.onDeactivate();
|
|
26078
|
-
this.core.store.setState('activeTool',
|
|
26128
|
+
this.core.store.setState('activeTool', selectionTool);
|
|
26079
26129
|
this.core.deselectAllObjects();
|
|
26080
26130
|
this.core.selectAllObjectsInViewport();
|
|
26081
26131
|
}
|
|
@@ -26233,6 +26283,10 @@ const KritzelEngine = class {
|
|
|
26233
26283
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
26234
26284
|
const filename = `${activeWorkspaceName}-${timestamp}.png`;
|
|
26235
26285
|
const dataUrl = await this.getScreenshot('png');
|
|
26286
|
+
if (!dataUrl) {
|
|
26287
|
+
console.error('Failed to export viewport as PNG: screenshot could not be generated');
|
|
26288
|
+
return;
|
|
26289
|
+
}
|
|
26236
26290
|
const link = document.createElement('a');
|
|
26237
26291
|
link.download = filename;
|
|
26238
26292
|
link.href = dataUrl;
|
|
@@ -26250,6 +26304,10 @@ const KritzelEngine = class {
|
|
|
26250
26304
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
26251
26305
|
const filename = `${activeWorkspaceName}-${timestamp}.svg`;
|
|
26252
26306
|
const dataUrl = await this.getScreenshot('svg');
|
|
26307
|
+
if (!dataUrl) {
|
|
26308
|
+
console.error('Failed to export viewport as SVG: screenshot could not be generated');
|
|
26309
|
+
return;
|
|
26310
|
+
}
|
|
26253
26311
|
const link = document.createElement('a');
|
|
26254
26312
|
link.download = filename;
|
|
26255
26313
|
link.href = dataUrl;
|
|
@@ -26373,6 +26431,9 @@ const KritzelEngine = class {
|
|
|
26373
26431
|
*/
|
|
26374
26432
|
async exportAsJson() {
|
|
26375
26433
|
const workspace = this.core.store.state.activeWorkspace;
|
|
26434
|
+
if (!workspace) {
|
|
26435
|
+
throw new Error('Cannot export workspace: no active workspace is loaded');
|
|
26436
|
+
}
|
|
26376
26437
|
const serialized = workspace.serialize({ includeObjects: true });
|
|
26377
26438
|
return JSON.stringify(serialized, null, 2);
|
|
26378
26439
|
}
|
|
@@ -26445,7 +26506,11 @@ const KritzelEngine = class {
|
|
|
26445
26506
|
if (data.version && data.version !== workspace_migrations.WORKSPACE_EXPORT_VERSION) {
|
|
26446
26507
|
console.warn(`Workspace version mismatch: expected ${workspace_migrations.WORKSPACE_EXPORT_VERSION}, got ${data.version}`);
|
|
26447
26508
|
}
|
|
26448
|
-
const
|
|
26509
|
+
const activeWorkspace = this.core.store.state.activeWorkspace;
|
|
26510
|
+
if (!activeWorkspace) {
|
|
26511
|
+
throw new Error('Cannot load objects: no active workspace is loaded');
|
|
26512
|
+
}
|
|
26513
|
+
const currentWorkspaceId = activeWorkspace.id;
|
|
26449
26514
|
let loadedCount = 0;
|
|
26450
26515
|
// Revive and add objects to the current workspace
|
|
26451
26516
|
if (data.objects && Array.isArray(data.objects)) {
|
|
@@ -26581,7 +26646,11 @@ const KritzelEngine = class {
|
|
|
26581
26646
|
}
|
|
26582
26647
|
/** Returns the currently active workspace. */
|
|
26583
26648
|
async getActiveWorkspace() {
|
|
26584
|
-
|
|
26649
|
+
const activeWorkspace = this.core.store.state.activeWorkspace;
|
|
26650
|
+
if (!activeWorkspace) {
|
|
26651
|
+
throw new Error('No active workspace is loaded');
|
|
26652
|
+
}
|
|
26653
|
+
return activeWorkspace;
|
|
26585
26654
|
}
|
|
26586
26655
|
/**
|
|
26587
26656
|
* Gets whether the active workspace is publicly accessible.
|
|
@@ -26639,6 +26708,16 @@ const KritzelEngine = class {
|
|
|
26639
26708
|
_workspaceInitializationTargetKey = null;
|
|
26640
26709
|
_syncInitPromise = null;
|
|
26641
26710
|
_syncConfigRevision = 0;
|
|
26711
|
+
_isWorkspaceLoading = false;
|
|
26712
|
+
_defaultUndoState = {
|
|
26713
|
+
canUndo: false,
|
|
26714
|
+
canRedo: false,
|
|
26715
|
+
undoStackSize: 0,
|
|
26716
|
+
redoStackSize: 0,
|
|
26717
|
+
};
|
|
26718
|
+
syncLoadingState() {
|
|
26719
|
+
this.core.store.state.isLoading = this._isWorkspaceLoading || this.isLoading;
|
|
26720
|
+
}
|
|
26642
26721
|
get isSelecting() {
|
|
26643
26722
|
return this.core.store.state.activeTool instanceof workspace_migrations.KritzelSelectionTool && this.core.store.state.isSelecting;
|
|
26644
26723
|
}
|
|
@@ -26687,6 +26766,8 @@ const KritzelEngine = class {
|
|
|
26687
26766
|
this.core.store.state.viewportBoundaryRight = this.viewportBoundaryRight;
|
|
26688
26767
|
this.core.store.state.viewportBoundaryTop = this.viewportBoundaryTop;
|
|
26689
26768
|
this.core.store.state.viewportBoundaryBottom = this.viewportBoundaryBottom;
|
|
26769
|
+
this._isWorkspaceLoading = true;
|
|
26770
|
+
this.syncLoadingState();
|
|
26690
26771
|
}
|
|
26691
26772
|
async componentDidLoad() {
|
|
26692
26773
|
setTimeout(async () => {
|
|
@@ -26695,7 +26776,9 @@ const KritzelEngine = class {
|
|
|
26695
26776
|
this.viewport = new KritzelViewport(this.core, this.host);
|
|
26696
26777
|
// Initialize cursor manager with target element and shadow root
|
|
26697
26778
|
this.core.cursorManager.setTargetElement(this.cursorTarget || document.body);
|
|
26698
|
-
|
|
26779
|
+
if (this.host.shadowRoot) {
|
|
26780
|
+
this.core.cursorManager.setShadowRoot(this.host.shadowRoot);
|
|
26781
|
+
}
|
|
26699
26782
|
// Initialize theme manager with kritzel-editor as target element
|
|
26700
26783
|
const editorElement = this.host.closest('kritzel-editor');
|
|
26701
26784
|
this.core.themeManager.setTargetElement(editorElement || this.host);
|
|
@@ -26818,7 +26901,8 @@ const KritzelEngine = class {
|
|
|
26818
26901
|
await this._workspaceInitializationPromise;
|
|
26819
26902
|
return;
|
|
26820
26903
|
}
|
|
26821
|
-
this.
|
|
26904
|
+
this._isWorkspaceLoading = true;
|
|
26905
|
+
this.syncLoadingState();
|
|
26822
26906
|
const initializationPromise = this.core.initializeWorkspace(workspace, options);
|
|
26823
26907
|
this._workspaceInitializationPromise = initializationPromise;
|
|
26824
26908
|
this._workspaceInitializationTargetKey = targetKey;
|
|
@@ -26830,12 +26914,23 @@ const KritzelEngine = class {
|
|
|
26830
26914
|
this._workspaceInitializationPromise = null;
|
|
26831
26915
|
this._workspaceInitializationTargetKey = null;
|
|
26832
26916
|
}
|
|
26833
|
-
this.
|
|
26917
|
+
this._isWorkspaceLoading = false;
|
|
26918
|
+
this.syncLoadingState();
|
|
26834
26919
|
}
|
|
26835
26920
|
}
|
|
26836
26921
|
emitObjectsChange() {
|
|
26922
|
+
const objectsMap = this.core.store.state.objects;
|
|
26923
|
+
if (!objectsMap) {
|
|
26924
|
+
this.objectsChange.emit([]);
|
|
26925
|
+
this.undoStateChange.emit(this._defaultUndoState);
|
|
26926
|
+
if (this._lastHadSelectionGroup) {
|
|
26927
|
+
this._lastHadSelectionGroup = false;
|
|
26928
|
+
this.objectsSelectionChange.emit();
|
|
26929
|
+
}
|
|
26930
|
+
return;
|
|
26931
|
+
}
|
|
26837
26932
|
const objects = this.core.store.allObjects;
|
|
26838
|
-
const undoState =
|
|
26933
|
+
const undoState = objectsMap.undoState;
|
|
26839
26934
|
const hasSelectionGroup = this.core.store.selectionGroup !== null;
|
|
26840
26935
|
this.objectsChange.emit(objects);
|
|
26841
26936
|
this.undoStateChange.emit(undoState);
|
|
@@ -26866,22 +26961,24 @@ const KritzelEngine = class {
|
|
|
26866
26961
|
_handleActiveToolChange(activeTool) {
|
|
26867
26962
|
if (!(activeTool instanceof workspace_migrations.KritzelSelectionTool)) {
|
|
26868
26963
|
this.core.clearSelection();
|
|
26869
|
-
this.core.store.state.objects
|
|
26964
|
+
this.core.store.state.objects?.remove(o => o instanceof workspace_migrations.KritzelSelectionBox);
|
|
26870
26965
|
this.core.store.setSelectionBox(null);
|
|
26871
|
-
this.core.store.state.objects
|
|
26966
|
+
this.core.store.state.objects?.clearLocalSelectionBox();
|
|
26872
26967
|
this.core.store.state.isSelecting = false;
|
|
26873
26968
|
this.core.store.state.isResizeHandleSelected = false;
|
|
26874
26969
|
this.core.store.state.isRotationHandleSelected = false;
|
|
26875
26970
|
}
|
|
26876
26971
|
this.core.store.state.skipContextMenu = false;
|
|
26877
|
-
this.core.store.state.copiedObjects =
|
|
26878
|
-
|
|
26972
|
+
this.core.store.state.copiedObjects = undefined;
|
|
26973
|
+
if (activeTool) {
|
|
26974
|
+
this.activeToolChange.emit(activeTool);
|
|
26975
|
+
}
|
|
26879
26976
|
workspace_migrations.KritzelKeyboardHelper.forceHideKeyboard();
|
|
26880
26977
|
this.core.rerender();
|
|
26881
26978
|
}
|
|
26882
26979
|
render() {
|
|
26883
26980
|
if (!this.viewport) {
|
|
26884
|
-
return null;
|
|
26981
|
+
return (index.h(index.Host, null, this.core.store.state.isLoading && (index.h("div", { class: "workspace-loading-overlay" }, index.h("span", { class: "workspace-loading-spinner" }), "Loading..."))));
|
|
26885
26982
|
}
|
|
26886
26983
|
const currentTheme = this.core.themeManager.getStoredTheme();
|
|
26887
26984
|
const computedStyle = window.getComputedStyle(this.host);
|
|
@@ -26898,7 +26995,7 @@ const KritzelEngine = class {
|
|
|
26898
26995
|
this.emitObjectsInViewportChange();
|
|
26899
26996
|
}
|
|
26900
26997
|
}
|
|
26901
|
-
return (index.h(index.Host, null, this.core.store.state.
|
|
26998
|
+
return (index.h(index.Host, null, this.core.store.state.isLoading && (index.h("div", { class: "workspace-loading-overlay" }, index.h("span", { class: "workspace-loading-spinner" }), "Loading...")), this.core.store.state.debugInfo.showViewportInfo && (index.h("div", { class: "debug-panel" }, index.h("div", null, "ActiveWorkspaceId: ", this.core.store.state?.activeWorkspace?.id), index.h("div", null, "ActiveWorkspaceName: ", this.core.store.state?.activeWorkspace?.name), index.h("div", null, "TranslateX: ", this.core.store.state?.translateX), index.h("div", null, "TranslateY: ", this.core.store.state?.translateY), index.h("div", null, "ViewportWidth: ", this.core.store.state?.viewportWidth), index.h("div", null, "ViewportHeight: ", this.core.store.state?.viewportHeight), index.h("div", null, "PointerCount: ", this.core.store.state.pointers.size), index.h("div", null, "Scale: ", this.core.store.state?.scale), index.h("div", null, "ActiveTool: ", this.core.store.state?.activeTool?.name), index.h("div", null, "HasViewportChanged: ", this.core.store.state?.hasViewportChanged ? 'true' : 'false'), index.h("div", null, "IsEnabled: ", this.core.store.state?.isEnabled ? 'true' : 'false'), index.h("div", null, "IsScaling: ", this.core.store.state?.isScaling ? 'true' : 'false'), index.h("div", null, "IsPanning: ", this.core.store.state?.isPanning ? 'true' : 'false'), index.h("div", null, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), index.h("div", null, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), index.h("div", null, "IsResizeHandleSelected: ", this.core.store.state.isResizeHandleSelected ? 'true' : 'false'), index.h("div", null, "IsRotationHandleSelected: ", this.core.store.state.isRotationHandleSelected ? 'true' : 'false'), index.h("div", null, "IsRotationHandleHovered: ", this.core.store.state.isRotationHandleHovered ? 'true' : 'false'), index.h("div", null, "IsDrawing: ", this.core.store.state.isDrawing ? 'true' : 'false'), index.h("div", null, "IsWriting: ", this.core.store.state.isWriting ? 'true' : 'false'), index.h("div", null, "IsPointerDown: ", this.core.store.isPointerDown ? 'true' : 'false'), index.h("div", null, "PointerX: ", this.core.store.state?.pointerX), index.h("div", null, "PointerY: ", this.core.store.state?.pointerY), index.h("div", null, "TotalObjects: ", this.core.store.totalObjectCount), index.h("div", null, "ObjectsInViewport: ", this.core.store.objectsInViewport.length), index.h("div", null, "SelectedObjects: ", this.core.store.selectionGroup?.objects.length || 0), index.h("div", null, "ViewportCenter: (", viewportCenterX.toFixed(2), ", ", viewportCenterY.toFixed(2), ")"))), index.h("div", { id: "origin", class: "origin", style: {
|
|
26902
26999
|
transform: `matrix(${this.core.store.state?.scale}, 0, 0, ${this.core.store.state?.scale}, ${this.core.store.state?.translateX}, ${this.core.store.state?.translateY})`,
|
|
26903
27000
|
} }, visibleObjects?.map(object => {
|
|
26904
27001
|
return (index.h("div", { key: object.id, id: object.id, class: "object", style: {
|
|
@@ -26907,7 +27004,7 @@ const KritzelEngine = class {
|
|
|
26907
27004
|
position: 'absolute',
|
|
26908
27005
|
zIndex: object.zIndex.toString(),
|
|
26909
27006
|
pointerEvents: this.core.store.state.isScaling ? 'none' : 'auto',
|
|
26910
|
-
} }, workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelPath') && (index.h("svg", { ref: el => object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: {
|
|
27007
|
+
} }, workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelPath') && (index.h("svg", { ref: el => el && object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: {
|
|
26911
27008
|
height: object?.totalHeight + 'px',
|
|
26912
27009
|
width: object?.totalWidth + 'px',
|
|
26913
27010
|
left: '0',
|
|
@@ -26918,7 +27015,7 @@ const KritzelEngine = class {
|
|
|
26918
27015
|
opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
|
|
26919
27016
|
pointerEvents: object.markedForRemoval ? 'none' : 'auto',
|
|
26920
27017
|
overflow: 'visible',
|
|
26921
|
-
}, viewBox: object?.viewBox }, index.h("path", { d: object?.d, fill: workspace_migrations.KritzelColorHelper.resolveThemeColor(object.fill, currentTheme), stroke: workspace_migrations.KritzelColorHelper.resolveThemeColor(object?.stroke, currentTheme), "shape-rendering": object.isLowRes() ? 'optimizeSpeed' : 'auto' }))), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelLine') && (index.h("svg", { ref: el => object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: {
|
|
27018
|
+
}, viewBox: object?.viewBox }, index.h("path", { d: object?.d, fill: workspace_migrations.KritzelColorHelper.resolveThemeColor(object.fill, currentTheme), stroke: workspace_migrations.KritzelColorHelper.resolveThemeColor(object?.stroke, currentTheme), "shape-rendering": object.isLowRes() ? 'optimizeSpeed' : 'auto' }))), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelLine') && (index.h("svg", { ref: el => el && object.mount(el), xmlns: "http://www.w3.org/2000/svg", style: {
|
|
26922
27019
|
height: object?.totalHeight + 'px',
|
|
26923
27020
|
width: object?.totalWidth + 'px',
|
|
26924
27021
|
left: '0',
|
|
@@ -26929,7 +27026,7 @@ const KritzelEngine = class {
|
|
|
26929
27026
|
opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
|
|
26930
27027
|
pointerEvents: object.markedForRemoval ? 'none' : 'auto',
|
|
26931
27028
|
overflow: 'visible',
|
|
26932
|
-
}, viewBox: object?.viewBox }, (object.hasStartArrow || object.hasEndArrow) && (index.h("defs", null, object.hasStartArrow && (index.h("marker", { id: object.startMarkerId, markerWidth: object.getArrowSize('start'), markerHeight: object.getArrowSize('start'), refX: 0, refY: object.getArrowSize('start') / 2, orient: "auto-start-reverse", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.start?.style), fill: object.getArrowFill('start'), transform: `scale(${object.getArrowSize('start') / 10})` }))), object.hasEndArrow && (index.h("marker", { id: object.endMarkerId, markerWidth: object.getArrowSize('end'), markerHeight: object.getArrowSize('end'), refX: 0, refY: object.getArrowSize('end') / 2, orient: "auto", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.end?.style), fill: object.getArrowFill('end'), transform: `scale(${object.getArrowSize('end') / 10})` }))))), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: "transparent", "stroke-width": Math.max(object?.strokeWidth || 0, 10), "stroke-linecap": "round" }), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: workspace_migrations.KritzelColorHelper.resolveThemeColor(object?.stroke, currentTheme), "stroke-width": object?.strokeWidth, "stroke-linecap": "round", "marker-start": object.hasStartArrow ? `url(#${object.startMarkerId})` : undefined, "marker-end": object.hasEndArrow ? `url(#${object.endMarkerId})` : undefined }))), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && (index.h("img", { ref: el => object.mount(el), src: object.src, style: {
|
|
27029
|
+
}, viewBox: object?.viewBox }, (object.hasStartArrow || object.hasEndArrow) && (index.h("defs", null, object.hasStartArrow && (index.h("marker", { id: object.startMarkerId, markerWidth: object.getArrowSize('start'), markerHeight: object.getArrowSize('start'), refX: 0, refY: object.getArrowSize('start') / 2, orient: "auto-start-reverse", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.start?.style), fill: object.getArrowFill('start'), transform: `scale(${object.getArrowSize('start') / 10})` }))), object.hasEndArrow && (index.h("marker", { id: object.endMarkerId, markerWidth: object.getArrowSize('end'), markerHeight: object.getArrowSize('end'), refX: 0, refY: object.getArrowSize('end') / 2, orient: "auto", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.end?.style), fill: object.getArrowFill('end'), transform: `scale(${object.getArrowSize('end') / 10})` }))))), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: "transparent", "stroke-width": Math.max(object?.strokeWidth || 0, 10), "stroke-linecap": "round" }), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: workspace_migrations.KritzelColorHelper.resolveThemeColor(object?.stroke, currentTheme), "stroke-width": object?.strokeWidth, "stroke-linecap": "round", "marker-start": object.hasStartArrow ? `url(#${object.startMarkerId})` : undefined, "marker-end": object.hasEndArrow ? `url(#${object.endMarkerId})` : undefined }))), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && (index.h("img", { ref: el => el && object.mount(el), src: object.src, style: {
|
|
26933
27030
|
position: 'absolute',
|
|
26934
27031
|
left: '0',
|
|
26935
27032
|
top: '0',
|
|
@@ -26947,7 +27044,7 @@ const KritzelEngine = class {
|
|
|
26947
27044
|
overflow: 'visible',
|
|
26948
27045
|
userSelect: 'none',
|
|
26949
27046
|
imageRendering: this.core.store.state.isScaling || this.core.store.state.isPanning ? 'pixelated' : 'auto',
|
|
26950
|
-
}, draggable: false, onDragStart: e => e.preventDefault() })), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (index.h("div", { ref: el => object.mount(el), style: {
|
|
27047
|
+
}, draggable: false, onDragStart: e => e.preventDefault() })), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (index.h("div", { ref: el => el && object.mount(el), style: {
|
|
26951
27048
|
position: 'absolute',
|
|
26952
27049
|
left: '0',
|
|
26953
27050
|
top: '0',
|
|
@@ -26964,7 +27061,7 @@ const KritzelEngine = class {
|
|
|
26964
27061
|
padding: object.padding + 'px',
|
|
26965
27062
|
overflow: 'hidden',
|
|
26966
27063
|
display: 'block',
|
|
26967
|
-
} })), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionGroup') && !this.core.displaySelectionLineUI(object) && (index.h("div", { ref: el => object.mount(el), style: {
|
|
27064
|
+
} })), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionGroup') && !this.core.displaySelectionLineUI(object) && (index.h("div", { ref: el => el && object.mount(el), style: {
|
|
26968
27065
|
position: 'absolute',
|
|
26969
27066
|
left: '0',
|
|
26970
27067
|
top: '0',
|
|
@@ -26974,7 +27071,7 @@ const KritzelEngine = class {
|
|
|
26974
27071
|
transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
|
|
26975
27072
|
opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
|
|
26976
27073
|
pointerEvents: object.markedForRemoval ? 'none' : 'auto',
|
|
26977
|
-
} })), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionBox') && (index.h("div", { ref: el => object.mount(el), style: {
|
|
27074
|
+
} })), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelSelectionBox') && (index.h("div", { ref: el => el && object.mount(el), style: {
|
|
26978
27075
|
position: 'absolute',
|
|
26979
27076
|
left: '0',
|
|
26980
27077
|
top: '0',
|
|
@@ -26998,7 +27095,7 @@ const KritzelEngine = class {
|
|
|
26998
27095
|
transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
|
|
26999
27096
|
opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
|
|
27000
27097
|
pointerEvents: object.markedForRemoval ? 'none' : 'auto',
|
|
27001
|
-
} }, index.h("div", { id: "text-object", ref: el => object.mount(el), onPointerDown: e => object.handlePointerDown(e), onPointerMove: e => object.handlePointerMove(e), onPointerUp: e => object.handlePointerUp(e), style: {
|
|
27098
|
+
} }, index.h("div", { id: "text-object", ref: el => el && object.mount(el), onPointerDown: e => object.handlePointerDown(e), onPointerMove: e => object.handlePointerMove(e), onPointerUp: e => object.handlePointerUp(e), style: {
|
|
27002
27099
|
minWidth: object.initialWidth + 'px',
|
|
27003
27100
|
minHeight: object.initialHeight + 'px',
|
|
27004
27101
|
maxWidth: '500px',
|
|
@@ -27008,7 +27105,7 @@ const KritzelEngine = class {
|
|
|
27008
27105
|
transform: `scale(${object.scaleFactor})`,
|
|
27009
27106
|
backgroundColor: workspace_migrations.KritzelColorHelper.resolveThemeColor(object.backgroundColor, currentTheme),
|
|
27010
27107
|
overflow: 'visible',
|
|
27011
|
-
} }))), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelShape') && (index.h("div", { ref: el => object.mount(el), onPointerDown: e => object.handlePointerDown(e), onPointerMove: e => object.handlePointerMove(e), onPointerUp: e => object.handlePointerUp(e), style: {
|
|
27108
|
+
} }))), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelShape') && (index.h("div", { ref: el => el && object.mount(el), onPointerDown: e => object.handlePointerDown(e), onPointerMove: e => object.handlePointerMove(e), onPointerUp: e => object.handlePointerUp(e), style: {
|
|
27012
27109
|
position: 'absolute',
|
|
27013
27110
|
left: '0',
|
|
27014
27111
|
top: '0',
|
|
@@ -27027,7 +27124,7 @@ const KritzelEngine = class {
|
|
|
27027
27124
|
height: '100%',
|
|
27028
27125
|
overflow: 'visible',
|
|
27029
27126
|
pointerEvents: 'none',
|
|
27030
|
-
}, viewBox: object.viewBox, preserveAspectRatio: "none" }, index.h("path", { d: object.getSvgPath(), fill: workspace_migrations.KritzelColorHelper.resolveThemeColor(object.fillColor, currentTheme), stroke: workspace_migrations.KritzelColorHelper.resolveThemeColor(object.strokeColor, currentTheme), "stroke-width": object.strokeWidth })), index.h("div", { ref: el => object.mountTextEditor(el), style: {
|
|
27127
|
+
}, viewBox: object.viewBox, preserveAspectRatio: "none" }, index.h("path", { d: object.getSvgPath(), fill: workspace_migrations.KritzelColorHelper.resolveThemeColor(object.fillColor, currentTheme), stroke: workspace_migrations.KritzelColorHelper.resolveThemeColor(object.strokeColor, currentTheme), "stroke-width": object.strokeWidth })), index.h("div", { ref: el => el && object.mountTextEditor(el), style: {
|
|
27031
27128
|
position: 'absolute',
|
|
27032
27129
|
top: '0',
|
|
27033
27130
|
left: '0',
|
|
@@ -27277,16 +27374,18 @@ const KritzelEngine = class {
|
|
|
27277
27374
|
stroke: 'var(--kritzel-snap-indicator-stroke, #007bff)',
|
|
27278
27375
|
strokeWidth: data.indicatorStrokeWidth,
|
|
27279
27376
|
} }))));
|
|
27280
|
-
})()), this.core.store.state.isContextMenuVisible && (index.h("kritzel-context-menu", { class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.core.store.state.contextMenuItems, objects: this.core.store.selectionGroup?.objects || [], style: {
|
|
27377
|
+
})()), this.core.store.state.isContextMenuVisible && (index.h("kritzel-context-menu", { class: "context-menu", ref: el => (this.contextMenuElement = el ?? null), items: this.core.store.state.contextMenuItems, objects: this.core.store.selectionGroup?.objects || [], style: {
|
|
27281
27378
|
position: 'fixed',
|
|
27282
27379
|
left: `${this.core.store.state.contextMenuX}px`,
|
|
27283
27380
|
top: `${this.core.store.state.contextMenuY}px`,
|
|
27284
27381
|
zIndex: '10002',
|
|
27285
27382
|
}, onActionSelected: event => {
|
|
27286
|
-
event.detail.action
|
|
27287
|
-
|
|
27288
|
-
|
|
27289
|
-
|
|
27383
|
+
if (event.detail.action) {
|
|
27384
|
+
event.detail.action({
|
|
27385
|
+
x: (-this.core.store.state.translateX + this.core.store.state.contextMenuX) / this.core.store.state.scale,
|
|
27386
|
+
y: (-this.core.store.state.translateY + this.core.store.state.contextMenuY) / this.core.store.state.scale,
|
|
27387
|
+
}, this.core.store.selectionGroup?.objects || []);
|
|
27388
|
+
}
|
|
27290
27389
|
this.hideContextMenu();
|
|
27291
27390
|
}, onClose: () => this.hideContextMenu() })), this.core.store.state.objects?.hasAwareness && index.h("kritzel-awareness-cursors", { core: this.core }), this.core.store.state?.activeTool instanceof workspace_migrations.KritzelEraserTool && !this.core.store.state.isScaling && index.h("kritzel-cursor-trail", { core: this.core })));
|
|
27292
27391
|
}
|
|
@@ -27332,6 +27431,9 @@ const KritzelEngine = class {
|
|
|
27332
27431
|
}],
|
|
27333
27432
|
"debugInfo": [{
|
|
27334
27433
|
"onDebugInfoChange": 0
|
|
27434
|
+
}],
|
|
27435
|
+
"isLoading": [{
|
|
27436
|
+
"onIsLoadingChange": 0
|
|
27335
27437
|
}]
|
|
27336
27438
|
}; }
|
|
27337
27439
|
};
|
|
@@ -28559,7 +28661,7 @@ const KritzelPortal = class {
|
|
|
28559
28661
|
* This file is auto-generated by the version bump scripts.
|
|
28560
28662
|
* Do not modify manually.
|
|
28561
28663
|
*/
|
|
28562
|
-
const KRITZEL_VERSION = '0.1.
|
|
28664
|
+
const KRITZEL_VERSION = '0.1.79';
|
|
28563
28665
|
|
|
28564
28666
|
const kritzelSettingsCss = () => `:host{display:contents}kritzel-dialog{--kritzel-dialog-body-padding:0;--kritzel-dialog-width-large:800px;--kritzel-dialog-height-large:500px}.footer-button{padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px}.cancel-button{border:1px solid #ebebeb;background:#fff;color:inherit}.cancel-button:hover{background:#f5f5f5}.settings-content{padding:0}.settings-content h3{margin:0 0 16px 0;font-size:18px;font-weight:600;color:var(--kritzel-settings-content-heading-color, #333333)}.settings-content p{margin:0;font-size:14px;color:var(--kritzel-settings-content-text-color, #666666);line-height:1.5}.settings-group{display:flex;flex-direction:column;gap:24px}.settings-item{display:flex;flex-direction:column;gap:8px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-label{font-size:14px;font-weight:600;color:var(--kritzel-settings-label-color, #333333);margin:0 0 4px 0}.settings-description{font-size:12px;color:var(--kritzel-settings-description-color, #888888);margin:0;line-height:1.4}.shortcuts-list{display:flex;flex-direction:column;gap:24px}.shortcuts-category{display:flex;flex-direction:column;gap:8px}.shortcuts-category-title{font-size:14px;font-weight:600;color:var(--kritzel-settings-label-color, #333333);margin:0 0 4px 0}.shortcuts-group{display:flex;flex-direction:column;gap:4px}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:4px;background:var(--kritzel-settings-shortcut-item-bg, rgba(0, 0, 0, 0.02))}.shortcut-label{font-size:14px;color:var(--kritzel-settings-content-text-color, #666666)}.shortcut-key{font-family:monospace;font-size:12px;padding:2px 8px;border-radius:4px;background:var(--kritzel-settings-shortcut-key-bg, #f0f0f0);color:var(--kritzel-settings-shortcut-key-color, #333333);border:1px solid var(--kritzel-settings-shortcut-key-border, #ddd)}`;
|
|
28565
28667
|
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -6,7 +6,7 @@ var appGlobals = require('./app-globals-V2Kpy_OQ.js');
|
|
|
6
6
|
const defineCustomElements = async (win, options) => {
|
|
7
7
|
if (typeof window === 'undefined') return undefined;
|
|
8
8
|
await appGlobals.globalScripts();
|
|
9
|
-
return index.bootstrapLazy(JSON.parse("[[\"kritzel-active-users_42.cjs\",[[512,\"kritzel-editor\",{\"scaleMax\":[1026,\"scale-max\"],\"scaleMin\":[1026,\"scale-min\"],\"lockDrawingScale\":[1028,\"lock-drawing-scale\"],\"viewportBoundaryLeft\":[1026,\"viewport-boundary-left\"],\"viewportBoundaryRight\":[1026,\"viewport-boundary-right\"],\"viewportBoundaryTop\":[1026,\"viewport-boundary-top\"],\"viewportBoundaryBottom\":[1026,\"viewport-boundary-bottom\"],\"wheelEnabled\":[1028,\"wheel-enabled\"],\"debugInfo\":[1040],\"user\":[16],\"activeUsers\":[16],\"controls\":[16],\"globalContextMenuItems\":[16],\"objectContextMenuItems\":[16],\"customSvgIcons\":[16],\"isControlsVisible\":[4,\"is-controls-visible\"],\"isUtilityPanelVisible\":[4,\"is-utility-panel-visible\"],\"syncConfig\":[16],\"loginConfig\":[16],\"editorId\":[1,\"editor-id\"],\"activeWorkspaceId\":[1,\"active-workspace-id\"],\"isEngineReady\":[32],\"isControlsReady\":[32],\"isWorkspaceManagerReady\":[32],\"workspaces\":[32],\"activeWorkspace\":[32],\"isVirtualKeyboardOpen\":[32],\"undoState\":[32],\"isBackToContentButtonVisible\":[32],\"currentTheme\":[32],\"shortcuts\":[32],\"currentIsPublic\":[32],\"getObjectById\":[64],\"addObject\":[64],\"updateObject\":[64],\"removeObject\":[64],\"getSelectedObjects\":[64],\"selectObjects\":[64],\"selectAllObjectsInViewport\":[64],\"clearSelection\":[64],\"centerObjectInViewport\":[64],\"backToContent\":[64],\"centerAllObjects\":[64],\"setViewport\":[64],\"panTo\":[64],\"zoomTo\":[64],\"getViewport\":[64],\"screenToWorld\":[64],\"worldToScreen\":[64],\"createWorkspace\":[64],\"updateWorkspace\":[64],\"deleteWorkspace\":[64],\"getWorkspaces\":[64],\"getActiveWorkspace\":[64],\"loadSharedWorkspace\":[64],\"reinitSync\":[64],\"registerTool\":[64],\"changeActiveTool\":[64],\"disable\":[64],\"enable\":[64],\"copy\":[64],\"paste\":[64],\"delete\":[64],\"bringForward\":[64],\"sendBackward\":[64],\"bringToFront\":[64],\"sendToBack\":[64],\"alignObjects\":[64],\"group\":[64],\"ungroup\":[64],\"undo\":[64],\"redo\":[64],\"getScreenshot\":[64],\"exportViewportAsPng\":[64],\"exportViewportAsSvg\":[64],\"downloadAsJson\":[64],\"importFromFile\":[64],\"loadObjectsFromJson\":[64],\"getObjectsTotalCount\":[64],\"getAllObjects\":[64],\"findObjects\":[64],\"getCopiedObjects\":[64],\"getObjectsInViewport\":[64],\"hideContextMenu\":[64],\"triggerSelectionChange\":[64],\"getDisplayableShortcuts\":[64],\"openLoginDialog\":[64],\"setLoginLoading\":[64]},[[0,\"dblclick\",\"onTouchStart\"]],{\"isEngineReady\":[{\"onIsEngineReady\":0}],\"isControlsReady\":[{\"onIsControlsReady\":0}],\"workspaces\":[{\"onWorkspacesChange\":0}],\"activeWorkspace\":[{\"onActiveWorkspaceChange\":0}],\"activeWorkspaceId\":[{\"onActiveWorkspaceIdChange\":0}],\"currentTheme\":[{\"onCurrentThemeChange\":0}]}],[513,\"kritzel-controls\",{\"controls\":[16],\"activeControl\":[1040],\"isUtilityPanelVisible\":[4,\"is-utility-panel-visible\"],\"undoState\":[16],\"theme\":[1],\"firstConfig\":[32],\"isTouchDevice\":[32],\"selectedSubOptions\":[32],\"canScrollLeft\":[32],\"canScrollRight\":[32],\"needsScrolling\":[32],\"displayValues\":[32],\"closeTooltip\":[64]},[[8,\"keydown\",\"handleKeyDown\"],[4,\"activeToolChange\",\"handleActiveToolChange\"],[4,\"objectsSelectionChange\",\"handleSelectionChange\"]],{\"theme\":[{\"onThemeChange\":0}]}],[513,\"kritzel-export\",{\"workspaceName\":[1,\"workspace-name\"],\"isDialogOpen\":[32],\"previewUrl\":[32],\"isLoading\":[32],\"activeTab\":[32],\"exportFilename\":[32],\"viewportExportFormat\":[32],\"open\":[64]}],[513,\"kritzel-settings\",{\"shortcuts\":[16],\"editorId\":[1,\"editor-id\"],\"isDialogOpen\":[32],\"selectedCategoryId\":[32],\"scaleMin\":[32],\"scaleMax\":[32],\"lockDrawingScale\":[32],\"currentTheme\":[32],\"viewportBoundaryLeft\":[32],\"viewportBoundaryRight\":[32],\"viewportBoundaryTop\":[32],\"viewportBoundaryBottom\":[32],\"debugInfo\":[32],\"open\":[64]}],[513,\"kritzel-workspace-manager\",{\"activeWorkspace\":[1040],\"workspaces\":[16],\"childMenuAnchor\":[32],\"openChildMenuItem\":[32],\"newWorkspace\":[32],\"editingItemId\":[32]},[[8,\"wheel\",\"handleWheel\"]]],[513,\"kritzel-engine\",{\"workspace\":[16],\"editorId\":[1,\"editor-id\"],\"activeWorkspaceId\":[1,\"active-workspace-id\"],\"syncConfig\":[16],\"user\":[16],\"globalContextMenuItems\":[16],\"objectContextMenuItems\":[16],\"scaleMax\":[1026,\"scale-max\"],\"scaleMin\":[1026,\"scale-min\"],\"cursorTarget\":[16],\"lockDrawingScale\":[4,\"lock-drawing-scale\"],\"theme\":[1],\"viewportBoundaryLeft\":[2,\"viewport-boundary-left\"],\"viewportBoundaryRight\":[2,\"viewport-boundary-right\"],\"viewportBoundaryTop\":[2,\"viewport-boundary-top\"],\"viewportBoundaryBottom\":[2,\"viewport-boundary-bottom\"],\"debugInfo\":[16],\"wheelEnabled\":[4,\"wheel-enabled\"],\"forceUpdate\":[32],\"triggerSelectionChange\":[64],\"registerTool\":[64],\"changeActiveTool\":[64],\"disable\":[64],\"enable\":[64],\"delete\":[64],\"copy\":[64],\"paste\":[64],\"bringForward\":[64],\"sendBackward\":[64],\"bringToFront\":[64],\"sendToBack\":[64],\"alignObjects\":[64],\"group\":[64],\"ungroup\":[64],\"undo\":[64],\"redo\":[64],\"hideContextMenu\":[64],\"getObjectById\":[64],\"getAllObjects\":[64],\"findObjects\":[64],\"getObjectsTotalCount\":[64],\"addObject\":[64],\"updateObject\":[64],\"removeObject\":[64],\"getSelectedObjects\":[64],\"getDisplayableShortcuts\":[64],\"selectObjects\":[64],\"selectAllObjectsInViewport\":[64],\"clearSelection\":[64],\"centerObjectInViewport\":[64],\"backToContent\":[64],\"centerAllObjects\":[64],\"setViewport\":[64],\"panTo\":[64],\"zoomTo\":[64],\"getViewport\":[64],\"screenToWorld\":[64],\"worldToScreen\":[64],\"getCopiedObjects\":[64],\"getObjectsInViewport\":[64],\"getScreenshot\":[64],\"exportViewportAsPng\":[64],\"exportViewportAsSvg\":[64],\"getSelectedObjectsAsSvgString\":[64],\"exportSelectedObjectsAsSvg\":[64],\"getSelectedObjectsAsPngDataUrl\":[64],\"exportSelectedObjectsAsPng\":[64],\"exportAsJson\":[64],\"importFromJson\":[64],\"loadObjectsFromJson\":[64],\"downloadAsJson\":[64],\"importFromFile\":[64],\"createWorkspace\":[64],\"updateWorkspace\":[64],\"deleteWorkspace\":[64],\"getWorkspaces\":[64],\"getActiveWorkspace\":[64],\"getIsPublic\":[64],\"loadSharedWorkspace\":[64],\"reinitSync\":[64]},[[1,\"wheel\",\"handleWheel\"],[0,\"pointerdown\",\"handlePointerDown\"],[0,\"pointermove\",\"handlePointerMove\"],[0,\"pointerup\",\"handlePointerUp\"],[0,\"pointercancel\",\"handlePointerCancel\"],[1,\"pointerleave\",\"handlePointerLeave\"],[1,\"longpress\",\"handleLongPress\"],[0,\"contextmenu\",\"handleContextMenu\"],[9,\"resize\",\"handleResize\"],[8,\"keydown\",\"handleKeyDown\"],[8,\"keyup\",\"handleKeyUp\"],[4,\"dblclick\",\"preventDoubleTapZoomOnTouchDevices\"]],{\"workspace\":[{\"onWorkspaceChange\":0}],\"activeWorkspaceId\":[{\"onActiveWorkspaceIdChange\":0}],\"syncConfig\":[{\"onSyncConfigChange\":0}],\"user\":[{\"onUserChange\":0}],\"scaleMax\":[{\"validateScaleMax\":0}],\"scaleMin\":[{\"validateScaleMin\":0}],\"cursorTarget\":[{\"onCursorTargetChange\":0}],\"lockDrawingScale\":[{\"onLockDrawingScaleChange\":0}],\"theme\":[{\"onThemeChange\":0}],\"viewportBoundaryLeft\":[{\"onViewportBoundaryLeftChange\":0}],\"viewportBoundaryRight\":[{\"onViewportBoundaryRightChange\":0}],\"viewportBoundaryTop\":[{\"onViewportBoundaryTopChange\":0}],\"viewportBoundaryBottom\":[{\"onViewportBoundaryBottomChange\":0}],\"debugInfo\":[{\"onDebugInfoChange\":0}]}],[513,\"kritzel-more-menu\",{\"items\":[16],\"icon\":[1],\"iconSize\":[2,\"icon-size\"],\"offsetY\":[2,\"offset-y\"],\"menuAnchor\":[32],\"isTouchDevice\":[32]}],[513,\"kritzel-current-user\",{\"user\":[16],\"avatarSize\":[2,\"avatar-size\"]}],[513,\"kritzel-share-dialog\",{\"isPublic\":[4,\"is-public\"],\"workspaceId\":[1,\"workspace-id\"],\"isDialogOpen\":[32],\"internalIsPublic\":[32],\"copySuccess\":[32],\"open\":[64],\"close\":[64]},null,{\"isPublic\":[{\"onIsPublicChange\":0}]}],[513,\"kritzel-login-dialog\",{\"providers\":[16],\"dialogTitle\":[1,\"dialog-title\"],\"subtitle\":[1],\"isDialogOpen\":[32],\"loadingProvider\":[32],\"open\":[64],\"close\":[64],\"setLoading\":[64]}],[513,\"kritzel-active-users\",{\"users\":[16],\"avatarSize\":[2,\"avatar-size\"],\"maxVisible\":[2,\"max-visible\"],\"overlap\":[2]}],[513,\"kritzel-back-to-content\",{\"visible\":[4],\"text\":[1]}],[769,\"kritzel-button\",{\"variant\":[1],\"disabled\":[4],\"type\":[1]}],[513,\"kritzel-tool-config\",{\"tool\":[1040],\"isExpanded\":[1028,\"is-expanded\"],\"theme\":[1],\"config\":[32],\"palette\":[32],\"currentOpacity\":[32],\"updateTrigger\":[32]},[[4,\"objectsSelectionChange\",\"handleSelectionChange\"]],{\"tool\":[{\"handleToolChange\":0}],\"theme\":[{\"onThemeChange\":0}]}],[513,\"kritzel-split-button\",{\"buttonIcon\":[1,\"button-icon\"],\"dropdownIcon\":[1,\"dropdown-icon\"],\"items\":[16],\"mainButtonDisabled\":[4,\"main-button-disabled\"],\"menuButtonDisabled\":[4,\"menu-button-disabled\"],\"isMenuOpen\":[32],\"isTouchDevice\":[32],\"anchorElement\":[32],\"menuScrollTop\":[32],\"open\":[64],\"focusMenu\":[64]}],[513,\"kritzel-current-user-dialog\",{\"user\":[16],\"isDialogOpen\":[32],\"open\":[64],\"close\":[64]}],[513,\"kritzel-context-menu\",{\"items\":[16],\"objects\":[16],\"processedItems\":[32],\"openSubmenuIndex\":[32],\"submenuPosition\":[32]},[[9,\"pointerdown\",\"handleOutsideClick\"]],{\"items\":[{\"onItemsChanged\":0}]}],[769,\"kritzel-master-detail\",{\"items\":[16],\"selectedItemId\":[1,\"selected-item-id\"],\"focusedIndex\":[32],\"showMobileDetail\":[32]},null,{\"selectedItemId\":[{\"watchSelectedItemId\":0}]}],[513,\"kritzel-pill-tabs\",{\"tabs\":[16],\"value\":[1025]}],[513,\"kritzel-utility-panel\",{\"undoState\":[16]}],[513,\"kritzel-awareness-cursors\",{\"core\":[16],\"showEdgeIndicators\":[4,\"show-edge-indicators\"],\"edgeIndicatorPadding\":[2,\"edge-indicator-padding\"],\"remoteCursors\":[32],\"objectVersion\":[32]}],[513,\"kritzel-cursor-trail\",{\"core\":[16],\"cursorTrailPoints\":[32],\"isLeftButtonDown\":[32]},[[9,\"pointerdown\",\"handleMouseDown\"],[9,\"pointermove\",\"handlePointerMove\"],[9,\"pointerup\",\"handlePointerUp\"]]],[513,\"kritzel-input\",{\"value\":[1025],\"label\":[1],\"placeholder\":[1],\"suffix\":[1],\"type\":[1],\"disabled\":[4],\"inputValue\":[32]},null,{\"value\":[{\"onValueChange\":0}]}],[513,\"kritzel-numeric-input\",{\"value\":[1026],\"min\":[2],\"max\":[2],\"step\":[2],\"label\":[1],\"placeholder\":[1],\"inputValue\":[32]},null,{\"value\":[{\"onValueChange\":0}]}],[769,\"kritzel-tooltip\",{\"isVisible\":[1028,\"is-visible\"],\"anchorElement\":[16],\"triggerElement\":[16],\"offsetY\":[2,\"offset-y\"],\"positionX\":[32],\"positionY\":[32],\"open\":[64],\"close\":[64],\"toggle\":[64],\"focusContent\":[64]},[[4,\"click\",\"handleOutsideClick\"],[6,\"pointerdown\",\"handleOutsidePointerDown\"],[4,\"kritzelTooltipCloseAll\",\"handleCloseAll\"],[9,\"resize\",\"handleWindowResize\"]],{\"triggerElement\":[{\"handleTriggerElementChange\":0}],\"isVisible\":[{\"handleVisibilityChange\":0}]}],[513,\"kritzel-color-palette\",{\"colors\":[16],\"selectedColor\":[1040],\"isExpanded\":[4,\"is-expanded\"],\"isOpaque\":[4,\"is-opaque\"],\"opacity\":[2],\"theme\":[1]}],[513,\"kritzel-font-family\",{\"fontOptions\":[16],\"selectedFontFamily\":[1025,\"selected-font-family\"]}],[513,\"kritzel-font-size\",{\"sizes\":[16],\"selectedSize\":[1026,\"selected-size\"],\"fontFamily\":[1,\"font-family\"]}],[513,\"kritzel-stroke-size\",{\"sizes\":[16],\"selectedSize\":[1026,\"selected-size\"]}],[513,\"kritzel-line-endings\",{\"styles\":[16],\"value\":[1040]}],[513,\"kritzel-opacity-slider\",{\"value\":[1026],\"min\":[2],\"max\":[2],\"step\":[2],\"previewColor\":[1,\"preview-color\"]}],[513,\"kritzel-shape-fill\",{\"value\":[1025]}],[513,\"kritzel-slide-toggle\",{\"checked\":[1028],\"disabled\":[4],\"label\":[1]}],[513,\"kritzel-avatar\",{\"user\":[16],\"name\":[1],\"size\":[2],\"color\":[1],\"imageError\":[32]},null,{\"user\":[{\"userChanged\":0}],\"profileImageUrl\":[{\"profileImageUrlChanged\":0}]}],[513,\"kritzel-font\",{\"fontFamily\":[1,\"font-family\"],\"size\":[2],\"color\":[1]}],[513,\"kritzel-color\",{\"value\":[1],\"theme\":[1],\"size\":[2]}],[513,\"kritzel-menu\",{\"items\":[16],\"parent\":[16],\"selectedIndex\":[32],\"setScrollTop\":[64],\"setFocus\":[64]}],[513,\"kritzel-menu-item\",{\"item\":[16],\"parent\":[16],\"isDirty\":[32]},null,{\"item\":[{\"onItemChange\":0}]}],[769,\"kritzel-dropdown\",{\"options\":[16],\"value\":[1],\"width\":[1],\"selectStyles\":[16],\"forceOpenDirection\":[1,\"force-open-direction\"],\"internalValue\":[32],\"hasSuffixContent\":[32],\"hasPrefixContent\":[32],\"isOpen\":[32],\"focusedIndex\":[32],\"openDirection\":[32]},[[4,\"click\",\"handleDocumentClick\"],[4,\"keydown\",\"handleDocumentKeydown\"]],{\"options\":[{\"optionsChanged\":0}],\"value\":[{\"externalValueChanged\":0}]}],[769,\"kritzel-portal\",{\"anchor\":[16],\"offsetX\":[2,\"offset-x\"],\"offsetY\":[2,\"offset-y\"],\"autoFocus\":[4,\"auto-focus\"]},[[8,\"kritzel-dismiss-menus\",\"handleDismissMenus\"],[8,\"click\",\"handleOutsideClick\"],[8,\"keydown\",\"handleKeyDown\"],[11,\"resize\",\"handleResize\"],[11,\"scroll\",\"handleWindowScroll\"]],{\"anchor\":[{\"anchorChanged\":0}]}],[769,\"kritzel-dialog\",{\"isOpen\":[516,\"is-open\"],\"dialogTitle\":[1,\"dialog-title\"],\"closable\":[4],\"closeOnBackdrop\":[4,\"close-on-backdrop\"],\"closeOnEscape\":[4,\"close-on-escape\"],\"autoFocus\":[4,\"auto-focus\"],\"trapFocus\":[4,\"trap-focus\"],\"size\":[1],\"fullscreenOnMobile\":[4,\"fullscreen-on-mobile\"],\"isAnimating\":[32],\"mobileLockedHeight\":[32],\"open\":[64],\"close\":[64],\"focusFirstElement\":[64]},[[8,\"keydown\",\"handleKeyDown\"]],{\"isOpen\":[{\"handleIsOpenChange\":0}]}],[513,\"kritzel-icon\",{\"name\":[1],\"label\":[1],\"size\":[2]}]]],[\"kritzel-brush-style.cjs\",[[513,\"kritzel-brush-style\",{\"type\":[1],\"brushOptions\":[16]}]]]]"), options);
|
|
9
|
+
return index.bootstrapLazy(JSON.parse("[[\"kritzel-active-users_42.cjs\",[[512,\"kritzel-editor\",{\"scaleMax\":[1026,\"scale-max\"],\"scaleMin\":[1026,\"scale-min\"],\"lockDrawingScale\":[1028,\"lock-drawing-scale\"],\"viewportBoundaryLeft\":[1026,\"viewport-boundary-left\"],\"viewportBoundaryRight\":[1026,\"viewport-boundary-right\"],\"viewportBoundaryTop\":[1026,\"viewport-boundary-top\"],\"viewportBoundaryBottom\":[1026,\"viewport-boundary-bottom\"],\"wheelEnabled\":[1028,\"wheel-enabled\"],\"debugInfo\":[1040],\"user\":[16],\"activeUsers\":[16],\"controls\":[16],\"globalContextMenuItems\":[16],\"objectContextMenuItems\":[16],\"customSvgIcons\":[16],\"isControlsVisible\":[4,\"is-controls-visible\"],\"isUtilityPanelVisible\":[4,\"is-utility-panel-visible\"],\"syncConfig\":[16],\"loginConfig\":[16],\"isLoading\":[4,\"is-loading\"],\"editorId\":[1,\"editor-id\"],\"activeWorkspaceId\":[1,\"active-workspace-id\"],\"isEngineReady\":[32],\"isControlsReady\":[32],\"isWorkspaceManagerReady\":[32],\"workspaces\":[32],\"activeWorkspace\":[32],\"isVirtualKeyboardOpen\":[32],\"undoState\":[32],\"isBackToContentButtonVisible\":[32],\"currentTheme\":[32],\"shortcuts\":[32],\"currentIsPublic\":[32],\"getObjectById\":[64],\"addObject\":[64],\"updateObject\":[64],\"removeObject\":[64],\"getSelectedObjects\":[64],\"selectObjects\":[64],\"selectAllObjectsInViewport\":[64],\"clearSelection\":[64],\"centerObjectInViewport\":[64],\"backToContent\":[64],\"centerAllObjects\":[64],\"setViewport\":[64],\"panTo\":[64],\"zoomTo\":[64],\"getViewport\":[64],\"screenToWorld\":[64],\"worldToScreen\":[64],\"createWorkspace\":[64],\"updateWorkspace\":[64],\"deleteWorkspace\":[64],\"getWorkspaces\":[64],\"getActiveWorkspace\":[64],\"loadSharedWorkspace\":[64],\"reinitSync\":[64],\"registerTool\":[64],\"changeActiveTool\":[64],\"disable\":[64],\"enable\":[64],\"copy\":[64],\"paste\":[64],\"delete\":[64],\"bringForward\":[64],\"sendBackward\":[64],\"bringToFront\":[64],\"sendToBack\":[64],\"alignObjects\":[64],\"group\":[64],\"ungroup\":[64],\"undo\":[64],\"redo\":[64],\"getScreenshot\":[64],\"exportViewportAsPng\":[64],\"exportViewportAsSvg\":[64],\"downloadAsJson\":[64],\"importFromFile\":[64],\"loadObjectsFromJson\":[64],\"getObjectsTotalCount\":[64],\"getAllObjects\":[64],\"findObjects\":[64],\"getCopiedObjects\":[64],\"getObjectsInViewport\":[64],\"hideContextMenu\":[64],\"triggerSelectionChange\":[64],\"getDisplayableShortcuts\":[64],\"openLoginDialog\":[64],\"setLoginLoading\":[64]},[[0,\"dblclick\",\"onTouchStart\"]],{\"isEngineReady\":[{\"onIsEngineReady\":0}],\"isControlsReady\":[{\"onIsControlsReady\":0}],\"workspaces\":[{\"onWorkspacesChange\":0}],\"activeWorkspace\":[{\"onActiveWorkspaceChange\":0}],\"activeWorkspaceId\":[{\"onActiveWorkspaceIdChange\":0}],\"currentTheme\":[{\"onCurrentThemeChange\":0}]}],[513,\"kritzel-controls\",{\"controls\":[16],\"activeControl\":[1040],\"isUtilityPanelVisible\":[4,\"is-utility-panel-visible\"],\"undoState\":[16],\"theme\":[1],\"firstConfig\":[32],\"isTouchDevice\":[32],\"selectedSubOptions\":[32],\"canScrollLeft\":[32],\"canScrollRight\":[32],\"needsScrolling\":[32],\"displayValues\":[32],\"closeTooltip\":[64]},[[8,\"keydown\",\"handleKeyDown\"],[4,\"activeToolChange\",\"handleActiveToolChange\"],[4,\"objectsSelectionChange\",\"handleSelectionChange\"]],{\"theme\":[{\"onThemeChange\":0}]}],[513,\"kritzel-export\",{\"workspaceName\":[1,\"workspace-name\"],\"isDialogOpen\":[32],\"previewUrl\":[32],\"isLoading\":[32],\"activeTab\":[32],\"exportFilename\":[32],\"viewportExportFormat\":[32],\"open\":[64]}],[513,\"kritzel-settings\",{\"shortcuts\":[16],\"editorId\":[1,\"editor-id\"],\"isDialogOpen\":[32],\"selectedCategoryId\":[32],\"scaleMin\":[32],\"scaleMax\":[32],\"lockDrawingScale\":[32],\"currentTheme\":[32],\"viewportBoundaryLeft\":[32],\"viewportBoundaryRight\":[32],\"viewportBoundaryTop\":[32],\"viewportBoundaryBottom\":[32],\"debugInfo\":[32],\"open\":[64]}],[513,\"kritzel-workspace-manager\",{\"activeWorkspace\":[1040],\"workspaces\":[16],\"childMenuAnchor\":[32],\"openChildMenuItem\":[32],\"newWorkspace\":[32],\"editingItemId\":[32]},[[8,\"wheel\",\"handleWheel\"]]],[513,\"kritzel-engine\",{\"workspace\":[16],\"editorId\":[1,\"editor-id\"],\"activeWorkspaceId\":[1,\"active-workspace-id\"],\"syncConfig\":[16],\"user\":[16],\"globalContextMenuItems\":[16],\"objectContextMenuItems\":[16],\"scaleMax\":[1026,\"scale-max\"],\"scaleMin\":[1026,\"scale-min\"],\"cursorTarget\":[16],\"lockDrawingScale\":[4,\"lock-drawing-scale\"],\"theme\":[1],\"viewportBoundaryLeft\":[2,\"viewport-boundary-left\"],\"viewportBoundaryRight\":[2,\"viewport-boundary-right\"],\"viewportBoundaryTop\":[2,\"viewport-boundary-top\"],\"viewportBoundaryBottom\":[2,\"viewport-boundary-bottom\"],\"debugInfo\":[16],\"wheelEnabled\":[4,\"wheel-enabled\"],\"isLoading\":[4,\"is-loading\"],\"forceUpdate\":[32],\"triggerSelectionChange\":[64],\"registerTool\":[64],\"changeActiveTool\":[64],\"disable\":[64],\"enable\":[64],\"delete\":[64],\"copy\":[64],\"paste\":[64],\"bringForward\":[64],\"sendBackward\":[64],\"bringToFront\":[64],\"sendToBack\":[64],\"alignObjects\":[64],\"group\":[64],\"ungroup\":[64],\"undo\":[64],\"redo\":[64],\"hideContextMenu\":[64],\"getObjectById\":[64],\"getAllObjects\":[64],\"findObjects\":[64],\"getObjectsTotalCount\":[64],\"addObject\":[64],\"updateObject\":[64],\"removeObject\":[64],\"getSelectedObjects\":[64],\"getDisplayableShortcuts\":[64],\"selectObjects\":[64],\"selectAllObjectsInViewport\":[64],\"clearSelection\":[64],\"centerObjectInViewport\":[64],\"backToContent\":[64],\"centerAllObjects\":[64],\"setViewport\":[64],\"panTo\":[64],\"zoomTo\":[64],\"getViewport\":[64],\"screenToWorld\":[64],\"worldToScreen\":[64],\"getCopiedObjects\":[64],\"getObjectsInViewport\":[64],\"getScreenshot\":[64],\"exportViewportAsPng\":[64],\"exportViewportAsSvg\":[64],\"getSelectedObjectsAsSvgString\":[64],\"exportSelectedObjectsAsSvg\":[64],\"getSelectedObjectsAsPngDataUrl\":[64],\"exportSelectedObjectsAsPng\":[64],\"exportAsJson\":[64],\"importFromJson\":[64],\"loadObjectsFromJson\":[64],\"downloadAsJson\":[64],\"importFromFile\":[64],\"createWorkspace\":[64],\"updateWorkspace\":[64],\"deleteWorkspace\":[64],\"getWorkspaces\":[64],\"getActiveWorkspace\":[64],\"getIsPublic\":[64],\"loadSharedWorkspace\":[64],\"reinitSync\":[64]},[[1,\"wheel\",\"handleWheel\"],[0,\"pointerdown\",\"handlePointerDown\"],[0,\"pointermove\",\"handlePointerMove\"],[0,\"pointerup\",\"handlePointerUp\"],[0,\"pointercancel\",\"handlePointerCancel\"],[1,\"pointerleave\",\"handlePointerLeave\"],[1,\"longpress\",\"handleLongPress\"],[0,\"contextmenu\",\"handleContextMenu\"],[9,\"resize\",\"handleResize\"],[8,\"keydown\",\"handleKeyDown\"],[8,\"keyup\",\"handleKeyUp\"],[4,\"dblclick\",\"preventDoubleTapZoomOnTouchDevices\"]],{\"workspace\":[{\"onWorkspaceChange\":0}],\"activeWorkspaceId\":[{\"onActiveWorkspaceIdChange\":0}],\"syncConfig\":[{\"onSyncConfigChange\":0}],\"user\":[{\"onUserChange\":0}],\"scaleMax\":[{\"validateScaleMax\":0}],\"scaleMin\":[{\"validateScaleMin\":0}],\"cursorTarget\":[{\"onCursorTargetChange\":0}],\"lockDrawingScale\":[{\"onLockDrawingScaleChange\":0}],\"theme\":[{\"onThemeChange\":0}],\"viewportBoundaryLeft\":[{\"onViewportBoundaryLeftChange\":0}],\"viewportBoundaryRight\":[{\"onViewportBoundaryRightChange\":0}],\"viewportBoundaryTop\":[{\"onViewportBoundaryTopChange\":0}],\"viewportBoundaryBottom\":[{\"onViewportBoundaryBottomChange\":0}],\"debugInfo\":[{\"onDebugInfoChange\":0}],\"isLoading\":[{\"onIsLoadingChange\":0}]}],[513,\"kritzel-more-menu\",{\"items\":[16],\"icon\":[1],\"iconSize\":[2,\"icon-size\"],\"offsetY\":[2,\"offset-y\"],\"menuAnchor\":[32],\"isTouchDevice\":[32]}],[513,\"kritzel-current-user\",{\"user\":[16],\"avatarSize\":[2,\"avatar-size\"]}],[513,\"kritzel-share-dialog\",{\"isPublic\":[4,\"is-public\"],\"workspaceId\":[1,\"workspace-id\"],\"isDialogOpen\":[32],\"internalIsPublic\":[32],\"copySuccess\":[32],\"open\":[64],\"close\":[64]},null,{\"isPublic\":[{\"onIsPublicChange\":0}]}],[513,\"kritzel-login-dialog\",{\"providers\":[16],\"dialogTitle\":[1,\"dialog-title\"],\"subtitle\":[1],\"isDialogOpen\":[32],\"loadingProvider\":[32],\"open\":[64],\"close\":[64],\"setLoading\":[64]}],[513,\"kritzel-active-users\",{\"users\":[16],\"avatarSize\":[2,\"avatar-size\"],\"maxVisible\":[2,\"max-visible\"],\"overlap\":[2]}],[513,\"kritzel-back-to-content\",{\"visible\":[4],\"text\":[1]}],[769,\"kritzel-button\",{\"variant\":[1],\"disabled\":[4],\"type\":[1]}],[513,\"kritzel-tool-config\",{\"tool\":[1040],\"isExpanded\":[1028,\"is-expanded\"],\"theme\":[1],\"config\":[32],\"palette\":[32],\"currentOpacity\":[32],\"updateTrigger\":[32]},[[4,\"objectsSelectionChange\",\"handleSelectionChange\"]],{\"tool\":[{\"handleToolChange\":0}],\"theme\":[{\"onThemeChange\":0}]}],[513,\"kritzel-split-button\",{\"buttonIcon\":[1,\"button-icon\"],\"dropdownIcon\":[1,\"dropdown-icon\"],\"items\":[16],\"mainButtonDisabled\":[4,\"main-button-disabled\"],\"menuButtonDisabled\":[4,\"menu-button-disabled\"],\"isMenuOpen\":[32],\"isTouchDevice\":[32],\"anchorElement\":[32],\"menuScrollTop\":[32],\"open\":[64],\"focusMenu\":[64]}],[513,\"kritzel-current-user-dialog\",{\"user\":[16],\"isDialogOpen\":[32],\"open\":[64],\"close\":[64]}],[513,\"kritzel-context-menu\",{\"items\":[16],\"objects\":[16],\"processedItems\":[32],\"openSubmenuIndex\":[32],\"submenuPosition\":[32]},[[9,\"pointerdown\",\"handleOutsideClick\"]],{\"items\":[{\"onItemsChanged\":0}]}],[769,\"kritzel-master-detail\",{\"items\":[16],\"selectedItemId\":[1,\"selected-item-id\"],\"focusedIndex\":[32],\"showMobileDetail\":[32]},null,{\"selectedItemId\":[{\"watchSelectedItemId\":0}]}],[513,\"kritzel-pill-tabs\",{\"tabs\":[16],\"value\":[1025]}],[513,\"kritzel-utility-panel\",{\"undoState\":[16]}],[513,\"kritzel-awareness-cursors\",{\"core\":[16],\"showEdgeIndicators\":[4,\"show-edge-indicators\"],\"edgeIndicatorPadding\":[2,\"edge-indicator-padding\"],\"remoteCursors\":[32],\"objectVersion\":[32]}],[513,\"kritzel-cursor-trail\",{\"core\":[16],\"cursorTrailPoints\":[32],\"isLeftButtonDown\":[32]},[[9,\"pointerdown\",\"handleMouseDown\"],[9,\"pointermove\",\"handlePointerMove\"],[9,\"pointerup\",\"handlePointerUp\"]]],[513,\"kritzel-input\",{\"value\":[1025],\"label\":[1],\"placeholder\":[1],\"suffix\":[1],\"type\":[1],\"disabled\":[4],\"inputValue\":[32]},null,{\"value\":[{\"onValueChange\":0}]}],[513,\"kritzel-numeric-input\",{\"value\":[1026],\"min\":[2],\"max\":[2],\"step\":[2],\"label\":[1],\"placeholder\":[1],\"inputValue\":[32]},null,{\"value\":[{\"onValueChange\":0}]}],[769,\"kritzel-tooltip\",{\"isVisible\":[1028,\"is-visible\"],\"anchorElement\":[16],\"triggerElement\":[16],\"offsetY\":[2,\"offset-y\"],\"positionX\":[32],\"positionY\":[32],\"open\":[64],\"close\":[64],\"toggle\":[64],\"focusContent\":[64]},[[4,\"click\",\"handleOutsideClick\"],[6,\"pointerdown\",\"handleOutsidePointerDown\"],[4,\"kritzelTooltipCloseAll\",\"handleCloseAll\"],[9,\"resize\",\"handleWindowResize\"]],{\"triggerElement\":[{\"handleTriggerElementChange\":0}],\"isVisible\":[{\"handleVisibilityChange\":0}]}],[513,\"kritzel-color-palette\",{\"colors\":[16],\"selectedColor\":[1040],\"isExpanded\":[4,\"is-expanded\"],\"isOpaque\":[4,\"is-opaque\"],\"opacity\":[2],\"theme\":[1]}],[513,\"kritzel-font-family\",{\"fontOptions\":[16],\"selectedFontFamily\":[1025,\"selected-font-family\"]}],[513,\"kritzel-font-size\",{\"sizes\":[16],\"selectedSize\":[1026,\"selected-size\"],\"fontFamily\":[1,\"font-family\"]}],[513,\"kritzel-stroke-size\",{\"sizes\":[16],\"selectedSize\":[1026,\"selected-size\"]}],[513,\"kritzel-line-endings\",{\"styles\":[16],\"value\":[1040]}],[513,\"kritzel-opacity-slider\",{\"value\":[1026],\"min\":[2],\"max\":[2],\"step\":[2],\"previewColor\":[1,\"preview-color\"]}],[513,\"kritzel-shape-fill\",{\"value\":[1025]}],[513,\"kritzel-slide-toggle\",{\"checked\":[1028],\"disabled\":[4],\"label\":[1]}],[513,\"kritzel-avatar\",{\"user\":[16],\"name\":[1],\"size\":[2],\"color\":[1],\"imageError\":[32]},null,{\"user\":[{\"userChanged\":0}],\"profileImageUrl\":[{\"profileImageUrlChanged\":0}]}],[513,\"kritzel-font\",{\"fontFamily\":[1,\"font-family\"],\"size\":[2],\"color\":[1]}],[513,\"kritzel-color\",{\"value\":[1],\"theme\":[1],\"size\":[2]}],[513,\"kritzel-menu\",{\"items\":[16],\"parent\":[16],\"selectedIndex\":[32],\"setScrollTop\":[64],\"setFocus\":[64]}],[513,\"kritzel-menu-item\",{\"item\":[16],\"parent\":[16],\"isDirty\":[32]},null,{\"item\":[{\"onItemChange\":0}]}],[769,\"kritzel-dropdown\",{\"options\":[16],\"value\":[1],\"width\":[1],\"selectStyles\":[16],\"forceOpenDirection\":[1,\"force-open-direction\"],\"internalValue\":[32],\"hasSuffixContent\":[32],\"hasPrefixContent\":[32],\"isOpen\":[32],\"focusedIndex\":[32],\"openDirection\":[32]},[[4,\"click\",\"handleDocumentClick\"],[4,\"keydown\",\"handleDocumentKeydown\"]],{\"options\":[{\"optionsChanged\":0}],\"value\":[{\"externalValueChanged\":0}]}],[769,\"kritzel-portal\",{\"anchor\":[16],\"offsetX\":[2,\"offset-x\"],\"offsetY\":[2,\"offset-y\"],\"autoFocus\":[4,\"auto-focus\"]},[[8,\"kritzel-dismiss-menus\",\"handleDismissMenus\"],[8,\"click\",\"handleOutsideClick\"],[8,\"keydown\",\"handleKeyDown\"],[11,\"resize\",\"handleResize\"],[11,\"scroll\",\"handleWindowScroll\"]],{\"anchor\":[{\"anchorChanged\":0}]}],[769,\"kritzel-dialog\",{\"isOpen\":[516,\"is-open\"],\"dialogTitle\":[1,\"dialog-title\"],\"closable\":[4],\"closeOnBackdrop\":[4,\"close-on-backdrop\"],\"closeOnEscape\":[4,\"close-on-escape\"],\"autoFocus\":[4,\"auto-focus\"],\"trapFocus\":[4,\"trap-focus\"],\"size\":[1],\"fullscreenOnMobile\":[4,\"fullscreen-on-mobile\"],\"isAnimating\":[32],\"mobileLockedHeight\":[32],\"open\":[64],\"close\":[64],\"focusFirstElement\":[64]},[[8,\"keydown\",\"handleKeyDown\"]],{\"isOpen\":[{\"handleIsOpenChange\":0}]}],[513,\"kritzel-icon\",{\"name\":[1],\"label\":[1],\"size\":[2]}]]],[\"kritzel-brush-style.cjs\",[[513,\"kritzel-brush-style\",{\"type\":[1],\"brushOptions\":[16]}]]]]"), options);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
exports.setNonce = index.setNonce;
|