kritzel-stencil 0.4.20 → 0.4.22
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 +21 -21
- package/LICENSE.md +49 -49
- package/dist/cjs/{index-Dn19mGl-.js → index-Xav9JFHg.js} +11 -47
- package/dist/cjs/index.cjs.js +51 -2
- package/dist/cjs/kritzel-active-users_47.cjs.entry.js +268 -139
- package/dist/cjs/kritzel-brush-style.cjs.entry.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{schema.constants-CY0WWJYd.js → schema.constants-CjN-B633.js} +20 -44
- package/dist/cjs/stencil.cjs.js +2 -2
- package/dist/collection/classes/providers/sync/hocuspocus-sync-provider.class.js +21 -0
- package/dist/collection/classes/providers/sync/websocket-sync-provider.class.js +29 -1
- package/dist/collection/classes/structures/app-state-map.structure.js +19 -6
- package/dist/collection/classes/structures/object-map.structure.js +66 -4
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.css +115 -115
- package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.js +1 -1
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -10
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +160 -160
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +51 -18
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +80 -80
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +87 -38
- package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.css +29 -29
- package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.js +2 -2
- package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.css +58 -58
- package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.css +42 -42
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +3 -3
- package/dist/collection/components/shared/kritzel-button/kritzel-button.css +73 -73
- package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
- package/dist/collection/components/shared/kritzel-color/kritzel-color.css +24 -24
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +46 -46
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
- package/dist/collection/components/shared/kritzel-dialog/kritzel-dialog.css +209 -209
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +190 -190
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +2 -2
- package/dist/collection/components/shared/kritzel-font/kritzel-font.css +10 -10
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.css +48 -48
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +2 -2
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +30 -30
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
- package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +18 -18
- package/dist/collection/components/shared/kritzel-input/kritzel-input.css +69 -69
- package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
- package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.css +60 -60
- package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.js +3 -3
- package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.css +190 -190
- package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +34 -34
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +166 -166
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
- package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.css +102 -102
- package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
- package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.css +85 -85
- package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
- package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.css +68 -68
- package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.js +2 -2
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
- package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.css +47 -47
- package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +4 -4
- package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.css +48 -48
- package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +78 -78
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +37 -37
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
- package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.css +50 -50
- package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.js +1 -1
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.css +18 -18
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
- package/dist/collection/components/ui/kritzel-active-users/kritzel-active-users.css +65 -65
- package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.css +42 -42
- package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +112 -112
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +331 -331
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +6 -6
- package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.css +11 -11
- package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +1 -1
- package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.css +39 -39
- package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +1 -1
- package/dist/collection/components/ui/kritzel-export/kritzel-export.css +89 -89
- package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
- package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.css +50 -50
- package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
- package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.css +98 -98
- package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
- package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.css +58 -58
- package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +2 -2
- package/dist/collection/components/ui/kritzel-notification-card/kritzel-notification-card.css +101 -101
- package/dist/collection/components/ui/kritzel-settings/kritzel-settings.css +137 -137
- package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
- package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.css +150 -150
- package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
- package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.css +38 -38
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +45 -45
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.css +16 -16
- package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.css +72 -72
- package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +1 -1
- package/dist/collection/constants/version.js +1 -1
- package/dist/collection/helpers/cursor.helper.js +6 -6
- package/dist/collection/helpers/svg-export.helper.js +41 -41
- package/dist/components/index.js +53 -4
- package/dist/components/kritzel-active-users.js +1 -1
- package/dist/components/kritzel-avatar.js +1 -1
- package/dist/components/kritzel-awareness-cursors.js +1 -1
- package/dist/components/kritzel-back-to-content.js +1 -1
- package/dist/components/kritzel-brush-style.js +4 -4
- package/dist/components/kritzel-button.js +1 -1
- package/dist/components/kritzel-color-palette.js +1 -1
- package/dist/components/kritzel-color.js +1 -1
- package/dist/components/kritzel-context-menu.js +1 -1
- package/dist/components/kritzel-controls.js +1 -1
- package/dist/components/kritzel-current-user-dialog.js +1 -1
- package/dist/components/kritzel-current-user.js +1 -1
- package/dist/components/kritzel-cursor-trail.js +1 -1
- package/dist/components/kritzel-dialog.js +1 -1
- package/dist/components/kritzel-dropdown.js +1 -1
- package/dist/components/kritzel-editor.js +61 -56
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-export.js +1 -1
- package/dist/components/kritzel-font-family.js +1 -1
- package/dist/components/kritzel-font-size.js +1 -1
- package/dist/components/kritzel-font.js +1 -1
- package/dist/components/kritzel-icon.js +1 -1
- package/dist/components/kritzel-input.js +1 -1
- package/dist/components/kritzel-line-endings.js +1 -1
- package/dist/components/kritzel-loading-overlay.js +1 -1
- package/dist/components/kritzel-login-dialog.js +1 -1
- package/dist/components/kritzel-master-detail.js +1 -1
- package/dist/components/kritzel-menu-item.js +1 -1
- package/dist/components/kritzel-menu.js +1 -1
- package/dist/components/kritzel-more-menu.js +1 -1
- package/dist/components/kritzel-notification-card.js +1 -1
- package/dist/components/kritzel-numeric-input.js +1 -1
- package/dist/components/kritzel-opacity-slider.js +1 -1
- package/dist/components/kritzel-pill-tabs.js +1 -1
- package/dist/components/kritzel-portal.js +1 -1
- package/dist/components/kritzel-settings.js +1 -1
- package/dist/components/kritzel-shape-fill.js +1 -1
- package/dist/components/kritzel-share-dialog.js +1 -1
- package/dist/components/kritzel-slide-toggle.js +1 -1
- package/dist/components/kritzel-split-button.js +1 -1
- package/dist/components/kritzel-stroke-size.js +1 -1
- package/dist/components/kritzel-sync-indicator.js +1 -1
- package/dist/components/kritzel-tool-config.js +1 -1
- package/dist/components/kritzel-tooltip.js +1 -1
- package/dist/components/kritzel-utility-panel.js +1 -1
- package/dist/components/kritzel-watermark.js +1 -1
- package/dist/components/kritzel-workspace-manager.js +1 -1
- package/dist/components/kritzel-zoom-panel.js +1 -1
- package/dist/components/{p-CLAz6RJc.js → p-2WiGyky4.js} +3 -3
- package/dist/components/{p-zG-WUBGF.js → p-4SPnZZkH.js} +4 -4
- package/dist/components/{p-MhQxGUvY.js → p-B-585egz.js} +3 -3
- package/dist/components/{p-C9_yBEoX.js → p-B43upypT.js} +10 -30
- package/dist/components/{p-CSKToqUl.js → p-B5SWPDuq.js} +4 -4
- package/dist/components/{p-Covorf4C.js → p-BFYtCsZu.js} +3 -3
- package/dist/components/{p-Csxx9TbU.js → p-BNeE3SiZ.js} +216 -116
- package/dist/components/{p-DYPA7jpg.js → p-BPsKYMH6.js} +2 -2
- package/dist/components/{p-Cx-L_28S.js → p-BoN700-O.js} +3 -3
- package/dist/components/{p-ME1sDz3f.js → p-BozrueXV.js} +2 -2
- package/dist/components/{p-D2VcPEtL.js → p-BrNsOp2v.js} +6 -6
- package/dist/components/{p-BXUx_C0N.js → p-BsLI_BWq.js} +2 -2
- package/dist/components/{p-dAXnRkjA.js → p-C98Eb3_R.js} +5 -5
- package/dist/components/{p-Bxi-Bm49.js → p-CAoN_STZ.js} +2 -2
- package/dist/components/{p-CSWCmyzb.js → p-CF8pLc07.js} +5 -5
- package/dist/components/{p-D3BzgkIE.js → p-CSPYkLLH.js} +2 -2
- package/dist/components/{p-Ck-87E2G.js → p-CSuU8frA.js} +1 -1
- package/dist/components/{p-Di--2boB.js → p-CXpv9Rxe.js} +3 -3
- package/dist/components/{p-o3NYKrVL.js → p-CaBbajU2.js} +3 -3
- package/dist/components/{p-3tBE7SyG.js → p-Cm33td2O.js} +2 -2
- package/dist/components/{p-vDCa_ZDm.js → p-CrHvaLRV.js} +3 -3
- package/dist/components/{p-DT_WBwsw.js → p-CwZ3KKFq.js} +6 -6
- package/dist/components/{p-BZZ3KRPk.js → p-CzW58DHM.js} +3 -3
- package/dist/components/{p-BrqSjRJN.js → p-Czhdc844.js} +3 -3
- package/dist/components/{p-BkXQL5Dl.js → p-D1rjfWgJ.js} +5 -5
- package/dist/components/{p-DPsbNStn.js → p-DB58Oa5V.js} +2 -2
- package/dist/components/{p-DafP9PAA.js → p-DBqoPgev.js} +2 -2
- package/dist/components/{p-BrA9NBEE.js → p-DDTMGbtA.js} +21 -21
- package/dist/components/{p-Dznwo6oc.js → p-DKGg-76-.js} +2 -2
- package/dist/components/{p-Dp1CD4gK.js → p-DVXTPI71.js} +2 -2
- package/dist/components/{p-QSyeAy8R.js → p-DX2nriaq.js} +2 -2
- package/dist/components/{p-CHoOe3FD.js → p-Df3BwVGy.js} +3 -3
- package/dist/components/{p-DcUIO14-.js → p-Dt7-I2Xz.js} +4 -4
- package/dist/components/{p-BShrnlam.js → p-DtnMdWWB.js} +2 -2
- package/dist/components/{p-Ch-KG9To.js → p-DwMqCX2P.js} +3 -3
- package/dist/components/{p-25ExYYPf.js → p-Dx5NfJ0U.js} +9 -9
- package/dist/components/{p-fSV6KVTC.js → p-GKmqCI8r.js} +3 -3
- package/dist/components/{p-CWAChRD5.js → p-HoO86l1o.js} +12 -12
- package/dist/components/{p-Qdo3E8dr.js → p-PjPPCHVL.js} +2 -2
- package/dist/components/{p-D6JycG-I.js → p-bAacqNHq.js} +3 -3
- package/dist/components/{p-DjXQxw9R.js → p-djJSnjAX.js} +3 -3
- package/dist/components/{p-b0J2ktAm.js → p-dsxHDlQ3.js} +7 -7
- package/dist/components/{p-BppcoKoo.js → p-eZXIu4yK.js} +5 -5
- package/dist/components/{p-BFYT03fw.js → p-fL9rl200.js} +3 -3
- package/dist/components/{p-1Q4VnThv.js → p-jIKskj3S.js} +3 -3
- package/dist/components/{p-D0Trc3IQ.js → p-vqEUQ-4Q.js} +5 -5
- package/dist/esm/{index-2va1Pk9z.js → index-Dhio9uis.js} +11 -47
- package/dist/esm/index.js +52 -3
- package/dist/esm/kritzel-active-users_47.entry.js +268 -139
- package/dist/esm/kritzel-brush-style.entry.js +2 -2
- package/dist/esm/loader.js +2 -2
- package/dist/esm/{schema.constants-DBvUmuDH.js → schema.constants-DfvqHmxc.js} +20 -44
- package/dist/esm/stencil.js +3 -3
- package/dist/stencil/index.esm.js +52 -3
- package/dist/stencil/{p-DBvUmuDH.js → p-DfvqHmxc.js} +20 -44
- package/dist/stencil/{p-2va1Pk9z.js → p-Dhio9uis.js} +11 -47
- package/dist/stencil/{p-d19d1b82.entry.js → p-ab5c4292.entry.js} +268 -139
- package/dist/stencil/{p-df06ca3a.entry.js → p-fb32cd8f.entry.js} +2 -2
- package/dist/stencil/stencil.esm.js +4 -4
- package/dist/types/classes/providers/sync/hocuspocus-sync-provider.class.d.ts +5 -0
- package/dist/types/classes/providers/sync/websocket-sync-provider.class.d.ts +6 -0
- package/dist/types/classes/structures/app-state-map.structure.d.ts +6 -0
- package/dist/types/classes/structures/object-map.structure.d.ts +26 -2
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +3 -0
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +14 -1
- package/dist/types/components.d.ts +8 -1
- package/dist/types/constants/version.d.ts +1 -1
- package/dist/types/interfaces/sync-provider.interface.d.ts +13 -0
- package/dist/types/stencil-public-runtime.d.ts +0 -12
- package/loader/index.d.ts +1 -1
- package/package.json +1 -1
- package/readme.md +10 -10
package/dist/components/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { g as getAssetPath, r as render, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-
|
|
2
|
-
export { K as KritzelBaseObject, b as KritzelLine, a as KritzelPath } from './p-
|
|
3
|
-
export { u as APP_STATE_MIGRATIONS, A as AssetNotFoundError, D as DE_LOCALE, E as EN_LOCALE, F as FR_LOCALE, I as IndexedDBAssetProvider, s as KritzelAlignment, o as KritzelAnchorManager, n as KritzelAssetResolver, e as KritzelBaseTool, f as KritzelBrushTool, l as KritzelCursorHelper, d as KritzelCustomElement, r as KritzelCustomElementRendererRegistry, h as KritzelEraserTool, b as KritzelGroup, a as KritzelImage, i as KritzelImageTool, q as KritzelLicenseManager, g as KritzelLineTool, p as KritzelLocalizationManager, m as KritzelSelectionTool, c as KritzelShape, k as KritzelShapeTool, K as KritzelText, j as KritzelTextTool, S as ShapeType, W as WORKSPACE_MIGRATIONS, t as runMigrations } from './p-
|
|
1
|
+
export { g as getAssetPath, r as render, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-B43upypT.js';
|
|
2
|
+
export { K as KritzelBaseObject, b as KritzelLine, a as KritzelPath } from './p-bAacqNHq.js';
|
|
3
|
+
export { u as APP_STATE_MIGRATIONS, A as AssetNotFoundError, D as DE_LOCALE, E as EN_LOCALE, F as FR_LOCALE, I as IndexedDBAssetProvider, s as KritzelAlignment, o as KritzelAnchorManager, n as KritzelAssetResolver, e as KritzelBaseTool, f as KritzelBrushTool, l as KritzelCursorHelper, d as KritzelCustomElement, r as KritzelCustomElementRendererRegistry, h as KritzelEraserTool, b as KritzelGroup, a as KritzelImage, i as KritzelImageTool, q as KritzelLicenseManager, g as KritzelLineTool, p as KritzelLocalizationManager, m as KritzelSelectionTool, c as KritzelShape, k as KritzelShapeTool, K as KritzelText, j as KritzelTextTool, S as ShapeType, W as WORKSPACE_MIGRATIONS, t as runMigrations } from './p-BNeE3SiZ.js';
|
|
4
4
|
import * as Y from 'yjs';
|
|
5
5
|
import { IndexeddbPersistence } from 'y-indexeddb';
|
|
6
6
|
import { WebsocketProvider } from 'y-websocket';
|
|
@@ -603,9 +603,15 @@ class WebSocketSyncProvider {
|
|
|
603
603
|
provider;
|
|
604
604
|
isConnected = false;
|
|
605
605
|
_quiet = false;
|
|
606
|
+
_isSynced = false;
|
|
607
|
+
_syncedResolvers = [];
|
|
606
608
|
get awareness() {
|
|
607
609
|
return this.provider.awareness;
|
|
608
610
|
}
|
|
611
|
+
/** y-websocket applies remote updates with the underlying provider as the Yjs transaction origin. */
|
|
612
|
+
get updateOrigin() {
|
|
613
|
+
return this.provider;
|
|
614
|
+
}
|
|
609
615
|
constructor(docName, doc, options) {
|
|
610
616
|
const url = options?.url || 'ws://localhost:1234';
|
|
611
617
|
const roomName = options?.roomName || docName;
|
|
@@ -652,11 +658,29 @@ class WebSocketSyncProvider {
|
|
|
652
658
|
}
|
|
653
659
|
});
|
|
654
660
|
this.provider.on('sync', (synced) => {
|
|
655
|
-
if (synced
|
|
661
|
+
if (!synced) {
|
|
662
|
+
return;
|
|
663
|
+
}
|
|
664
|
+
this._isSynced = true;
|
|
665
|
+
this.releaseSyncedWaiters();
|
|
666
|
+
if (!this._quiet) {
|
|
656
667
|
console.info('WebSocket synced');
|
|
657
668
|
}
|
|
658
669
|
});
|
|
659
670
|
}
|
|
671
|
+
releaseSyncedWaiters() {
|
|
672
|
+
const resolvers = this._syncedResolvers;
|
|
673
|
+
this._syncedResolvers = [];
|
|
674
|
+
resolvers.forEach(resolve => resolve());
|
|
675
|
+
}
|
|
676
|
+
async whenSynced() {
|
|
677
|
+
if (this._isSynced || this.provider.synced) {
|
|
678
|
+
return;
|
|
679
|
+
}
|
|
680
|
+
return new Promise(resolve => {
|
|
681
|
+
this._syncedResolvers.push(resolve);
|
|
682
|
+
});
|
|
683
|
+
}
|
|
660
684
|
async connect() {
|
|
661
685
|
if (this.isConnected) {
|
|
662
686
|
return;
|
|
@@ -688,6 +712,8 @@ class WebSocketSyncProvider {
|
|
|
688
712
|
this.provider.disconnect();
|
|
689
713
|
}
|
|
690
714
|
this.isConnected = false;
|
|
715
|
+
this._isSynced = false;
|
|
716
|
+
this.releaseSyncedWaiters();
|
|
691
717
|
}
|
|
692
718
|
async reconnect() {
|
|
693
719
|
this.disconnect();
|
|
@@ -698,6 +724,8 @@ class WebSocketSyncProvider {
|
|
|
698
724
|
this.provider.destroy();
|
|
699
725
|
}
|
|
700
726
|
this.isConnected = false;
|
|
727
|
+
this._isSynced = false;
|
|
728
|
+
this.releaseSyncedWaiters();
|
|
701
729
|
}
|
|
702
730
|
}
|
|
703
731
|
|
|
@@ -719,9 +747,14 @@ class HocuspocusSyncProvider {
|
|
|
719
747
|
_connectionStatus = 'disconnected';
|
|
720
748
|
visibilityHandler = null;
|
|
721
749
|
onlineHandler = null;
|
|
750
|
+
syncedResolvers = [];
|
|
722
751
|
get awareness() {
|
|
723
752
|
return this.provider.awareness;
|
|
724
753
|
}
|
|
754
|
+
/** HocuspocusProvider applies remote updates with itself as the Yjs transaction origin. */
|
|
755
|
+
get updateOrigin() {
|
|
756
|
+
return this.provider;
|
|
757
|
+
}
|
|
725
758
|
get connectionStatus() {
|
|
726
759
|
return this._connectionStatus;
|
|
727
760
|
}
|
|
@@ -778,6 +811,7 @@ class HocuspocusSyncProvider {
|
|
|
778
811
|
}
|
|
779
812
|
this.isSynced = true;
|
|
780
813
|
this._connectionStatus = 'synced';
|
|
814
|
+
this.releaseSyncedWaiters();
|
|
781
815
|
if (!options?.quiet) {
|
|
782
816
|
console.info(`Hocuspocus synced: ${name}`);
|
|
783
817
|
}
|
|
@@ -988,6 +1022,19 @@ class HocuspocusSyncProvider {
|
|
|
988
1022
|
this.disconnect();
|
|
989
1023
|
return this.connect();
|
|
990
1024
|
}
|
|
1025
|
+
releaseSyncedWaiters() {
|
|
1026
|
+
const resolvers = this.syncedResolvers;
|
|
1027
|
+
this.syncedResolvers = [];
|
|
1028
|
+
resolvers.forEach(resolve => resolve());
|
|
1029
|
+
}
|
|
1030
|
+
async whenSynced() {
|
|
1031
|
+
if (this.isSynced || this.isDestroyed || this.provider.isSynced) {
|
|
1032
|
+
return;
|
|
1033
|
+
}
|
|
1034
|
+
return new Promise(resolve => {
|
|
1035
|
+
this.syncedResolvers.push(resolve);
|
|
1036
|
+
});
|
|
1037
|
+
}
|
|
991
1038
|
disconnect() {
|
|
992
1039
|
// Cancel any pending connection attempt
|
|
993
1040
|
if (this.connectTimeout) {
|
|
@@ -1009,6 +1056,7 @@ class HocuspocusSyncProvider {
|
|
|
1009
1056
|
this.isConnected = false;
|
|
1010
1057
|
this.isSynced = false;
|
|
1011
1058
|
this._connectionStatus = 'disconnected';
|
|
1059
|
+
this.releaseSyncedWaiters();
|
|
1012
1060
|
}
|
|
1013
1061
|
destroy() {
|
|
1014
1062
|
// Mark as destroyed first to prevent any callbacks from doing work
|
|
@@ -1028,6 +1076,7 @@ class HocuspocusSyncProvider {
|
|
|
1028
1076
|
this.isConnected = false;
|
|
1029
1077
|
this.isSynced = false;
|
|
1030
1078
|
this._connectionStatus = 'disconnected';
|
|
1079
|
+
this.releaseSyncedWaiters();
|
|
1031
1080
|
}
|
|
1032
1081
|
}
|
|
1033
1082
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelActiveUsers$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelActiveUsers$1, d as defineCustomElement$1 } from './p-DBqoPgev.js';
|
|
2
2
|
|
|
3
3
|
const KritzelActiveUsers = KritzelActiveUsers$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as KritzelAwarenessCursors$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { c as KritzelAwarenessCursors$1, d as defineCustomElement$1 } from './p-bAacqNHq.js';
|
|
2
2
|
|
|
3
3
|
const KritzelAwarenessCursors = KritzelAwarenessCursors$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelBackToContent$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelBackToContent$1, d as defineCustomElement$1 } from './p-Czhdc844.js';
|
|
2
2
|
|
|
3
3
|
const KritzelBackToContent = KritzelBackToContent$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-
|
|
2
|
-
import { d as defineCustomElement$3 } from './p-
|
|
3
|
-
import { d as defineCustomElement$2 } from './p-
|
|
1
|
+
import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-B43upypT.js';
|
|
2
|
+
import { d as defineCustomElement$3 } from './p-Df3BwVGy.js';
|
|
3
|
+
import { d as defineCustomElement$2 } from './p-CSuU8frA.js';
|
|
4
4
|
|
|
5
5
|
const kritzelBrushStyleCss = () => `:host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box;width:100%}.brush-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;border-radius:0;color:var(--control-text-color);font-weight:bold;-webkit-tap-highlight-color:transparent}.font-style-button:not(:last-child){border-right:1px solid #333333}.font-style-button:hover{background-color:var(--control-hover-bg)}.font-style-button:active{background-color:var(--control-active-bg)}.font-style-button.selected,.font-style-button.selected:hover,.font-style-button.selected:active{background-color:var(--control-selected-bg);color:var(--control-selected-color)}`;
|
|
6
6
|
|
|
@@ -27,7 +27,7 @@ const KritzelBrushStyle$1 = /*@__PURE__*/ proxyCustomElement(class KritzelBrushS
|
|
|
27
27
|
value: option.value,
|
|
28
28
|
label: option.label,
|
|
29
29
|
}));
|
|
30
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: '7b05e93ce8d28c23503e4ca358a487165169f1ad' }, h("kritzel-dropdown", { key: 'a8f2f30762b339411cd3995482c3bc658855f749', options: dropdownOptions, value: this.type, onValueChanged: event => this.handleDropdownValueChange(event) }, h("button", { key: 'ac06462897a0fbd5011533095fafb7491a75508a', class: "brush-style-button", slot: "prefix" }, h("kritzel-icon", { key: 'caee4c657c7fee478b1038ebd2ef3b502cf73e5e', name: this.type, size: 16 })))));
|
|
31
31
|
}
|
|
32
32
|
static get style() { return kritzelBrushStyleCss(); }
|
|
33
33
|
}, [513, "kritzel-brush-style", {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelColorPalette$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelColorPalette$1, d as defineCustomElement$1 } from './p-B-585egz.js';
|
|
2
2
|
|
|
3
3
|
const KritzelColorPalette = KritzelColorPalette$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelColorComponent, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelColorComponent, d as defineCustomElement$1 } from './p-Dt7-I2Xz.js';
|
|
2
2
|
|
|
3
3
|
const KritzelColor = KritzelColorComponent;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelContextMenu$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelContextMenu$1, d as defineCustomElement$1 } from './p-CSPYkLLH.js';
|
|
2
2
|
|
|
3
3
|
const KritzelContextMenu = KritzelContextMenu$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelControls$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelControls$1, d as defineCustomElement$1 } from './p-DDTMGbtA.js';
|
|
2
2
|
|
|
3
3
|
const KritzelControls = KritzelControls$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelCurrentUserDialog$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelCurrentUserDialog$1, d as defineCustomElement$1 } from './p-vqEUQ-4Q.js';
|
|
2
2
|
|
|
3
3
|
const KritzelCurrentUserDialog = KritzelCurrentUserDialog$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelCurrentUser$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelCurrentUser$1, d as defineCustomElement$1 } from './p-DwMqCX2P.js';
|
|
2
2
|
|
|
3
3
|
const KritzelCurrentUser = KritzelCurrentUser$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelCursorTrail$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelCursorTrail$1, d as defineCustomElement$1 } from './p-Cm33td2O.js';
|
|
2
2
|
|
|
3
3
|
const KritzelCursorTrail = KritzelCursorTrail$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelDropdown$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelDropdown$1, d as defineCustomElement$1 } from './p-Df3BwVGy.js';
|
|
2
2
|
|
|
3
3
|
const KritzelDropdown = KritzelDropdown$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-
|
|
2
|
-
import { K as KritzelIconRegistry, d as defineCustomElement$s } from './p-
|
|
3
|
-
import { v as DEFAULT_STROKE_SIZES, w as DEFAULT_FONT_SIZES, S as ShapeType, m as KritzelSelectionTool, f as KritzelBrushTool, h as KritzelEraserTool, g as KritzelLineTool, k as KritzelShapeTool, j as KritzelTextTool, i as KritzelImageTool, s as KritzelAlignment, x as DEFAULT_SYNC_CONFIG, y as KritzelSelectionGroup, z as KritzelSelectionBox, B as KritzelKeyboardHelper, C as defineCustomElement$x } from './p-
|
|
1
|
+
import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-B43upypT.js';
|
|
2
|
+
import { K as KritzelIconRegistry, d as defineCustomElement$s } from './p-CSuU8frA.js';
|
|
3
|
+
import { v as DEFAULT_STROKE_SIZES, w as DEFAULT_FONT_SIZES, S as ShapeType, m as KritzelSelectionTool, f as KritzelBrushTool, h as KritzelEraserTool, g as KritzelLineTool, k as KritzelShapeTool, j as KritzelTextTool, i as KritzelImageTool, s as KritzelAlignment, x as DEFAULT_SYNC_CONFIG, y as KritzelSelectionGroup, z as KritzelSelectionBox, B as KritzelKeyboardHelper, C as defineCustomElement$x } from './p-BNeE3SiZ.js';
|
|
4
4
|
import { D as DEFAULT_COLOR_PALETTE, T as ThemeHelper, d as darkTheme, l as lightTheme } from './p-7I4Uzjrw.js';
|
|
5
5
|
import { D as DEFAULT_TEXT_TOOL_AVAILABLE_FONTS, r as resolveTextToolAvailableFonts, K as KritzelFontRegistry } from './p-DJkKlUyZ.js';
|
|
6
|
-
import { A as ABSOLUTE_SCALE_MAX, a as ABSOLUTE_SCALE_MIN, d as defineCustomElement$4 } from './p-
|
|
6
|
+
import { A as ABSOLUTE_SCALE_MAX, a as ABSOLUTE_SCALE_MIN, d as defineCustomElement$4 } from './p-DtnMdWWB.js';
|
|
7
7
|
import { K as KritzelDevicesHelper } from './p-jGOpkGDl.js';
|
|
8
8
|
import { O as ObjectHelper } from './p-DPONTran.js';
|
|
9
|
-
import { d as defineCustomElement$J } from './p-
|
|
9
|
+
import { d as defineCustomElement$J } from './p-bAacqNHq.js';
|
|
10
10
|
import * as Y from 'yjs';
|
|
11
11
|
import 'y-indexeddb';
|
|
12
12
|
import 'y-websocket';
|
|
13
|
-
import { d as defineCustomElement$L } from './p-
|
|
14
|
-
import { d as defineCustomElement$K } from './p-
|
|
15
|
-
import { d as defineCustomElement$I } from './p-
|
|
16
|
-
import { d as defineCustomElement$H } from './p-
|
|
17
|
-
import { d as defineCustomElement$G } from './p-
|
|
18
|
-
import { d as defineCustomElement$F } from './p-
|
|
19
|
-
import { d as defineCustomElement$E } from './p-
|
|
20
|
-
import { d as defineCustomElement$D } from './p-
|
|
21
|
-
import { d as defineCustomElement$C } from './p-
|
|
22
|
-
import { d as defineCustomElement$B } from './p-
|
|
23
|
-
import { d as defineCustomElement$A } from './p-
|
|
24
|
-
import { d as defineCustomElement$z } from './p-
|
|
25
|
-
import { d as defineCustomElement$y } from './p-
|
|
26
|
-
import { d as defineCustomElement$w } from './p-
|
|
27
|
-
import { d as defineCustomElement$v } from './p-
|
|
28
|
-
import { d as defineCustomElement$u } from './p-
|
|
29
|
-
import { d as defineCustomElement$t } from './p-
|
|
30
|
-
import { d as defineCustomElement$r } from './p-
|
|
31
|
-
import { d as defineCustomElement$q } from './p-
|
|
32
|
-
import { d as defineCustomElement$p } from './p-
|
|
33
|
-
import { d as defineCustomElement$o } from './p-
|
|
34
|
-
import { d as defineCustomElement$n } from './p-
|
|
35
|
-
import { d as defineCustomElement$l, a as defineCustomElement$m } from './p-
|
|
36
|
-
import { d as defineCustomElement$k } from './p-
|
|
37
|
-
import { d as defineCustomElement$j } from './p-
|
|
38
|
-
import { d as defineCustomElement$i } from './p-
|
|
39
|
-
import { d as defineCustomElement$h } from './p-
|
|
40
|
-
import { d as defineCustomElement$g } from './p-
|
|
41
|
-
import { d as defineCustomElement$f } from './p-
|
|
42
|
-
import { d as defineCustomElement$e } from './p-
|
|
43
|
-
import { d as defineCustomElement$d } from './p-
|
|
44
|
-
import { d as defineCustomElement$c } from './p-
|
|
45
|
-
import { d as defineCustomElement$b } from './p-
|
|
46
|
-
import { d as defineCustomElement$a } from './p-
|
|
47
|
-
import { d as defineCustomElement$9 } from './p-
|
|
48
|
-
import { d as defineCustomElement$8 } from './p-
|
|
49
|
-
import { d as defineCustomElement$7 } from './p-
|
|
50
|
-
import { d as defineCustomElement$6 } from './p-
|
|
51
|
-
import { d as defineCustomElement$5 } from './p-
|
|
52
|
-
import { d as defineCustomElement$3 } from './p-
|
|
53
|
-
import { d as defineCustomElement$2 } from './p-
|
|
13
|
+
import { d as defineCustomElement$L } from './p-DBqoPgev.js';
|
|
14
|
+
import { d as defineCustomElement$K } from './p-4SPnZZkH.js';
|
|
15
|
+
import { d as defineCustomElement$I } from './p-Czhdc844.js';
|
|
16
|
+
import { d as defineCustomElement$H } from './p-BoN700-O.js';
|
|
17
|
+
import { d as defineCustomElement$G } from './p-Dt7-I2Xz.js';
|
|
18
|
+
import { d as defineCustomElement$F } from './p-B-585egz.js';
|
|
19
|
+
import { d as defineCustomElement$E } from './p-CSPYkLLH.js';
|
|
20
|
+
import { d as defineCustomElement$D } from './p-DDTMGbtA.js';
|
|
21
|
+
import { d as defineCustomElement$C } from './p-DwMqCX2P.js';
|
|
22
|
+
import { d as defineCustomElement$B } from './p-vqEUQ-4Q.js';
|
|
23
|
+
import { d as defineCustomElement$A } from './p-Cm33td2O.js';
|
|
24
|
+
import { d as defineCustomElement$z } from './p-DX2nriaq.js';
|
|
25
|
+
import { d as defineCustomElement$y } from './p-Df3BwVGy.js';
|
|
26
|
+
import { d as defineCustomElement$w } from './p-dsxHDlQ3.js';
|
|
27
|
+
import { d as defineCustomElement$v } from './p-DVXTPI71.js';
|
|
28
|
+
import { d as defineCustomElement$u } from './p-djJSnjAX.js';
|
|
29
|
+
import { d as defineCustomElement$t } from './p-2WiGyky4.js';
|
|
30
|
+
import { d as defineCustomElement$r } from './p-PjPPCHVL.js';
|
|
31
|
+
import { d as defineCustomElement$q } from './p-CXpv9Rxe.js';
|
|
32
|
+
import { d as defineCustomElement$p } from './p-DB58Oa5V.js';
|
|
33
|
+
import { d as defineCustomElement$o } from './p-B5SWPDuq.js';
|
|
34
|
+
import { d as defineCustomElement$n } from './p-CF8pLc07.js';
|
|
35
|
+
import { d as defineCustomElement$l, a as defineCustomElement$m } from './p-BrNsOp2v.js';
|
|
36
|
+
import { d as defineCustomElement$k } from './p-eZXIu4yK.js';
|
|
37
|
+
import { d as defineCustomElement$j } from './p-BsLI_BWq.js';
|
|
38
|
+
import { d as defineCustomElement$i } from './p-DKGg-76-.js';
|
|
39
|
+
import { d as defineCustomElement$h } from './p-CrHvaLRV.js';
|
|
40
|
+
import { d as defineCustomElement$g } from './p-jIKskj3S.js';
|
|
41
|
+
import { d as defineCustomElement$f } from './p-BPsKYMH6.js';
|
|
42
|
+
import { d as defineCustomElement$e } from './p-Dx5NfJ0U.js';
|
|
43
|
+
import { d as defineCustomElement$d } from './p-BFYtCsZu.js';
|
|
44
|
+
import { d as defineCustomElement$c } from './p-CwZ3KKFq.js';
|
|
45
|
+
import { d as defineCustomElement$b } from './p-BozrueXV.js';
|
|
46
|
+
import { d as defineCustomElement$a } from './p-C98Eb3_R.js';
|
|
47
|
+
import { d as defineCustomElement$9 } from './p-GKmqCI8r.js';
|
|
48
|
+
import { d as defineCustomElement$8 } from './p-CAoN_STZ.js';
|
|
49
|
+
import { d as defineCustomElement$7 } from './p-HoO86l1o.js';
|
|
50
|
+
import { d as defineCustomElement$6 } from './p-CaBbajU2.js';
|
|
51
|
+
import { d as defineCustomElement$5 } from './p-CzW58DHM.js';
|
|
52
|
+
import { d as defineCustomElement$3 } from './p-D1rjfWgJ.js';
|
|
53
|
+
import { d as defineCustomElement$2 } from './p-fL9rl200.js';
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* Common Math expressions.
|
|
@@ -2935,7 +2935,7 @@ const DEFAULT_SHAPE_CONFIG = {
|
|
|
2935
2935
|
sizes: [...DEFAULT_STROKE_SIZES],
|
|
2936
2936
|
};
|
|
2937
2937
|
|
|
2938
|
-
const kritzelEditorCss = () => `kritzel-editor{display:flex;margin:0;position:relative;container-type:inline-size;overflow:hidden;width:100%;height:100%;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:start;line-height:normal}.editor-content{position:absolute;inset:0}.editor-content>kritzel-engine{position:absolute;inset:0;z-index:0}kritzel-controls{position:absolute;z-index:1;left:0;right:0;margin-inline:auto;width:max-content;max-width:calc(100% - 16px);bottom:var(--kritzel-editor-controls-bottom, 14px);transition:transform var(--kritzel-editor-controls-transition-duration, 0.1s) var(--kritzel-editor-controls-transition, ease-in-out)}kritzel-controls.keyboard-open{transform:var(--kritzel-editor-controls-transform, translateY(300%))}.top-left-buttons{position:absolute;z-index:1;top:var(--kritzel-editor-top-left-buttons-top, 14px);left:var(--kritzel-editor-top-left-buttons-left, 14px);display:flex;align-items:flex-start;gap:8px}.top-center-notification-layer{position:absolute;top:var(--kritzel-editor-top-center-notification-top, 14px);left:0;right:0;z-index:var(--kritzel-editor-top-center-notification-z-index, 10001);display:flex;justify-content:center;pointer-events:none}.top-center-notification-container{width:min(90vw, 420px);pointer-events:auto;animation:kritzel-notification-slide-in var(--kritzel-editor-notification-animation-duration, 220ms)
|
|
2938
|
+
const kritzelEditorCss = () => `kritzel-editor{display:flex;margin:0;position:relative;container-type:inline-size;overflow:hidden;width:100%;height:100%;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:start;line-height:normal}.editor-content{position:absolute;inset:0}.editor-content>kritzel-engine{position:absolute;inset:0;z-index:0}kritzel-controls{position:absolute;z-index:1;left:0;right:0;margin-inline:auto;width:max-content;max-width:calc(100% - 16px);bottom:var(--kritzel-editor-controls-bottom, 14px);transition:transform var(--kritzel-editor-controls-transition-duration, 0.1s) var(--kritzel-editor-controls-transition, ease-in-out)}kritzel-controls.keyboard-open{transform:var(--kritzel-editor-controls-transform, translateY(300%))}.top-left-buttons{position:absolute;z-index:1;top:var(--kritzel-editor-top-left-buttons-top, 14px);left:var(--kritzel-editor-top-left-buttons-left, 14px);display:flex;align-items:flex-start;gap:8px}.top-center-notification-layer{position:absolute;top:var(--kritzel-editor-top-center-notification-top, 14px);left:0;right:0;z-index:var(--kritzel-editor-top-center-notification-z-index, 10001);display:flex;justify-content:center;pointer-events:none}.top-center-notification-container{width:min(90vw, 420px);pointer-events:auto;animation:kritzel-notification-slide-in var(--kritzel-editor-notification-animation-duration, 220ms) var(--kritzel-editor-notification-animation-easing, cubic-bezier(0.22, 1, 0.36, 1))}.top-center-notification-container.is-dismissing{animation:kritzel-notification-fade-out var(--kritzel-editor-notification-dismiss-animation-duration, 180ms) var(--kritzel-editor-notification-dismiss-animation-easing, ease-in) forwards}@keyframes kritzel-notification-slide-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes kritzel-notification-fade-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion: reduce){.top-center-notification-container{animation:none}}.top-right-buttons{position:absolute;z-index:1;top:var(--kritzel-editor-top-right-buttons-top, 14px);right:var(--kritzel-editor-top-right-buttons-right, 14px);display:flex;align-items:center;gap:8px}.bottom-left-buttons{position:absolute;z-index:1;left:var(--kritzel-editor-top-left-buttons-left, 14px);bottom:var(--kritzel-editor-controls-bottom, 14px);display:flex;align-items:flex-end}@container (max-width: 767px){.bottom-left-buttons{display:none}}.top-right-button{display:flex;align-items:center;justify-content:center;width:50px;height:50px;padding:0;border:var(--kritzel-split-button-border, 1px solid #ebebeb);border-radius:var(--kritzel-split-button-border-radius, 12px);background-color:var(--kritzel-split-button-background-color, #ffffff);cursor:var(--kritzel-global-pointer-cursor, pointer);box-shadow:var(--kritzel-split-button-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));transition:background-color 150ms ease;-webkit-tap-highlight-color:transparent}.top-right-button:hover{background-color:#f5f5f5}.top-right-button:active{background-color:#ebebeb}`;
|
|
2939
2939
|
|
|
2940
2940
|
const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor extends H {
|
|
2941
2941
|
constructor(registerHost) {
|
|
@@ -2957,6 +2957,8 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
|
|
|
2957
2957
|
this.login = createEvent(this, "login");
|
|
2958
2958
|
this.isPublicChange = createEvent(this, "isPublicChange");
|
|
2959
2959
|
this.awarenessChange = createEvent(this, "awarenessChange");
|
|
2960
|
+
this.syncingChange = createEvent(this, "syncingChange");
|
|
2961
|
+
this.loadingChange = createEvent(this, "loadingChange");
|
|
2960
2962
|
}
|
|
2961
2963
|
get host() { return this; }
|
|
2962
2964
|
scaleMax = ABSOLUTE_SCALE_MAX;
|
|
@@ -3196,6 +3198,9 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
|
|
|
3196
3198
|
login;
|
|
3197
3199
|
isPublicChange;
|
|
3198
3200
|
awarenessChange;
|
|
3201
|
+
/** Emitted while remote changes are being applied to the active workspace. Stays silent when the remote holds nothing new. */
|
|
3202
|
+
syncingChange;
|
|
3203
|
+
loadingChange;
|
|
3199
3204
|
isEngineReady = false;
|
|
3200
3205
|
isControlsReady = false;
|
|
3201
3206
|
isWorkspaceManagerReady = false;
|
|
@@ -4014,40 +4019,40 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
|
|
|
4014
4019
|
const isLoggedIn = this.isLoggedIn;
|
|
4015
4020
|
const shouldShowCurrentUser = isLoggedIn;
|
|
4016
4021
|
const shouldShowLoginButton = this.isReady && !!this.loginConfig && !isLoggedIn;
|
|
4017
|
-
return (h(Host, { key: '
|
|
4022
|
+
return (h(Host, { key: 'ff7d505697bd4c4bd840dadcb04a934b7e243a01' }, h("div", { key: 'b40076c3c79ad3f879e80c58b412b79266de2ea8', class: "editor-content", style: {
|
|
4018
4023
|
opacity: this.isEditorVisible ? '1' : '0',
|
|
4019
4024
|
visibility: this.isEditorVisible ? 'visible' : 'hidden',
|
|
4020
4025
|
transition: 'opacity 0.2s ease-in-out, visibility 0.2s ease-in-out',
|
|
4021
|
-
} }, h("div", { key: '
|
|
4026
|
+
} }, h("div", { key: '1b1171eea60a36ad06da55a3da564bc356526266', class: "top-left-buttons" }, h("kritzel-workspace-manager", { key: '48b59f3f57ace57debc19a295d4fb642e8c3b23d', visible: this.isWorkspaceManagerVisible, workspaces: this.workspaces, activeWorkspace: this.activeWorkspace, terms: this.resolvedTerms, onWorkspaceChange: event => (this.activeWorkspace = event.detail), onIsWorkspaceManagerReady: () => (this.isWorkspaceManagerReady = true) }), h("kritzel-back-to-content", { key: 'c66a6faae8bf7115dcce47630ad820af9ba76eb0', visible: this.isBackToContentButtonVisible, text: this.resolvedTerms['backToContent.label'] ?? 'Back to content', onBackToContent: () => this.backToContent() })), this.activeNotification && (h("div", { key: '834baedc5f20328deb4ee586f693313306895a71', class: "top-center-notification-layer", role: "presentation" }, h("div", { key: 'f800508a2e076ee3e89820ffff4df81842b175b3', class: { 'top-center-notification-container': true, 'is-dismissing': this.isNotificationDismissing }, role: "presentation" }, h("kritzel-notification-card", { key: '2835ea84e8fa92c41637adaa29d9005f209b2da9', notification: this.activeNotification, locale: this.locale, onDismiss: this.dismissNotification, onHoverChange: event => this.handleNotificationHoverChange(event) })))), this.contextMenuState && this.contextMenuState.items.length > 0 && (h("kritzel-context-menu", { key: '6c49e899b7f933d3f06cd1f8696a590d542214a7', class: "context-menu", items: this.contextMenuState.items, objects: this.contextMenuState.objects, style: {
|
|
4022
4027
|
position: 'absolute',
|
|
4023
4028
|
left: `${this.contextMenuState.position.x}px`,
|
|
4024
4029
|
top: `${this.contextMenuState.position.y}px`,
|
|
4025
4030
|
zIndex: '10002',
|
|
4026
|
-
}, onActionSelected: event => this.handleContextMenuActionSelected(event), onClose: () => this.hideContextMenu() })), h("kritzel-sync-indicator", { key: '
|
|
4031
|
+
}, onActionSelected: event => this.handleContextMenuActionSelected(event), onClose: () => this.hideContextMenu() })), h("kritzel-sync-indicator", { key: '9622af1634a939d6689d5a133496d536f5d7865f', visible: this.isSyncing, text: "Syncing..." }), h("kritzel-loading-overlay", { key: '00f142a3eb8b23fbd0bdb6ec53ae95855434516c', visible: this.isLoadingOverlayVisible, text: this.resolvedTerms['editor.loading'] ?? 'Loading...' }), h("kritzel-engine", { key: '39b1d7bfce0a5347fec60cd135d6db8fb4250bfa', ref: el => {
|
|
4027
4032
|
if (el) {
|
|
4028
4033
|
this.engineRef = el;
|
|
4029
4034
|
}
|
|
4030
|
-
}, workspace: this.activeWorkspace, activeWorkspaceId: this.activeWorkspaceId, editorId: this.editorId, syncConfig: this.syncConfig, assetStorageConfig: this.assetStorageConfig, user: this.user, scaleMax: this.scaleMax, lockDrawingScale: this.lockDrawingScale, isObjectDistanceFadingActive: this.isObjectDistanceFadingActive, scaleMin: this.scaleMin, cursorTarget: this.cursorTarget, isLoading: this.isLoading, viewportBoundaryLeft: this.viewportBoundaryLeft, viewportBoundaryRight: this.viewportBoundaryRight, viewportBoundaryTop: this.viewportBoundaryTop, viewportBoundaryBottom: this.viewportBoundaryBottom, isPanningEnabled: this.isPanningEnabled, isZoomingEnabled: this.isZoomingEnabled, theme: this.theme, themes: this.themes, licenseKey: this.licenseKey, locale: this.locale, locales: this.locales, fallbackLocale: this.fallbackLocale, 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), onNotificationsChange: event => this.handleNotificationsChange(event), onContextMenuStateChange: event => this.handleContextMenuStateChange(event), onSyncingChange: event => (this.isSyncing = event.detail), onLoadingChange: event => (this.isLoadingOverlayVisible = event.detail) }), h("kritzel-controls", { key: '
|
|
4035
|
+
}, workspace: this.activeWorkspace, activeWorkspaceId: this.activeWorkspaceId, editorId: this.editorId, syncConfig: this.syncConfig, assetStorageConfig: this.assetStorageConfig, user: this.user, scaleMax: this.scaleMax, lockDrawingScale: this.lockDrawingScale, isObjectDistanceFadingActive: this.isObjectDistanceFadingActive, scaleMin: this.scaleMin, cursorTarget: this.cursorTarget, isLoading: this.isLoading, viewportBoundaryLeft: this.viewportBoundaryLeft, viewportBoundaryRight: this.viewportBoundaryRight, viewportBoundaryTop: this.viewportBoundaryTop, viewportBoundaryBottom: this.viewportBoundaryBottom, isPanningEnabled: this.isPanningEnabled, isZoomingEnabled: this.isZoomingEnabled, theme: this.theme, themes: this.themes, licenseKey: this.licenseKey, locale: this.locale, locales: this.locales, fallbackLocale: this.fallbackLocale, 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), onNotificationsChange: event => this.handleNotificationsChange(event), onContextMenuStateChange: event => this.handleContextMenuStateChange(event), onSyncingChange: event => (this.isSyncing = event.detail), onLoadingChange: event => (this.isLoadingOverlayVisible = event.detail) }), h("kritzel-controls", { key: '9a708f21ab92ecc6953a35f5db8001b2403f330e', visible: this.isControlsVisible, class: { 'keyboard-open': this.isVirtualKeyboardOpen }, ref: el => {
|
|
4031
4036
|
if (el) {
|
|
4032
4037
|
this.controlsRef = el;
|
|
4033
4038
|
}
|
|
4034
|
-
}, controls: this.normalizedControls, isUtilityPanelVisible: this.isUtilityPanelVisible, undoState: this.undoState ?? undefined, theme: this.theme, terms: this.resolvedTerms, onIsControlsReady: () => (this.isControlsReady = true) }), h("div", { key: '
|
|
4039
|
+
}, controls: this.normalizedControls, isUtilityPanelVisible: this.isUtilityPanelVisible, undoState: this.undoState ?? undefined, theme: this.theme, terms: this.resolvedTerms, onIsControlsReady: () => (this.isControlsReady = true) }), h("div", { key: '6a2b1cd72099db86952ac31aad9655693d0a6a0d', class: "bottom-left-buttons" }, h("kritzel-zoom-panel", { key: 'b3756514bf8de6de8ac7586c626f9759da7f231d', visible: this.isZoomPanelVisible, disabled: !this.isZoomingEnabled, zoomPercent: this.currentZoomPercent, terms: this.resolvedTerms, onZoomIn: () => this.zoomIn(), onZoomOut: () => this.zoomOut() })), h("div", { key: 'd5e118bc4d60b867006bac287c5516baf3aa890e', class: "top-right-buttons" }, h("kritzel-settings", { key: 'e4065d36beb9283cdbbf3ae9800f4f8011c0b4f0', ref: el => {
|
|
4035
4040
|
if (el) {
|
|
4036
4041
|
this.settingsRef = el;
|
|
4037
4042
|
}
|
|
4038
|
-
}, shortcuts: this.shortcuts, availableThemes: this.themes && this.themes.length > 0 ? this.themes.map(t => t.name) : ['light', 'dark'], availableLocales: this.availableLocaleOptions, settings: this.currentSettingsConfig, terms: this.resolvedTerms, onSettingsChange: event => this.handleSettingsChange(event) }), h("kritzel-export", { key: '
|
|
4043
|
+
}, shortcuts: this.shortcuts, availableThemes: this.themes && this.themes.length > 0 ? this.themes.map(t => t.name) : ['light', 'dark'], availableLocales: this.availableLocaleOptions, settings: this.currentSettingsConfig, terms: this.resolvedTerms, onSettingsChange: event => this.handleSettingsChange(event) }), h("kritzel-export", { key: '4e18d9b42c9e7fef9433577b983c508559461da2', ref: el => {
|
|
4039
4044
|
if (el) {
|
|
4040
4045
|
this.exportRef = el;
|
|
4041
4046
|
}
|
|
4042
|
-
}, workspaceName: this.activeWorkspace?.name || 'workspace', terms: this.resolvedTerms, onExportPng: () => this.engineRef.exportViewportAsPng(), onExportSvg: () => this.engineRef.exportViewportAsSvg(), onExportJson: event => this.engineRef.downloadAsJson(event.detail) }), h("kritzel-active-users", { key: '
|
|
4047
|
+
}, workspaceName: this.activeWorkspace?.name || 'workspace', terms: this.resolvedTerms, onExportPng: () => this.engineRef.exportViewportAsPng(), onExportSvg: () => this.engineRef.exportViewportAsSvg(), onExportJson: event => this.engineRef.downloadAsJson(event.detail) }), h("kritzel-active-users", { key: '56e6b29c9c3dcd7b68af4a1ef7d34224d592ce34', users: this.activeUsers }), shouldShowCurrentUser && h("kritzel-current-user", { key: '3b90bcc7e583fcf3c6845d222ad181ccf234a423', user: this.user, terms: this.resolvedTerms, onClick: () => this.currentUserDialogRef?.open() }), shouldShowCurrentUser && (h("kritzel-current-user-dialog", { key: 'f87702c5a708b6afdb2bc3760895e3e3650a4cb5', ref: el => {
|
|
4043
4048
|
if (el) {
|
|
4044
4049
|
this.currentUserDialogRef = el;
|
|
4045
4050
|
}
|
|
4046
|
-
}, user: this.user, terms: this.resolvedTerms, onLogoutRequest: this.handleCurrentUserLogout })), shouldShowLoginButton && h("kritzel-button", { key: '
|
|
4051
|
+
}, user: this.user, terms: this.resolvedTerms, onLogoutRequest: this.handleCurrentUserLogout })), shouldShowLoginButton && h("kritzel-button", { key: '015bc0f4c66352136de66d35d28c20070366933f', onButtonClick: () => this.loginDialogRef?.open() }, this.resolvedTerms['login.dialogTitle'] ?? 'Sign in'), h("kritzel-more-menu", { key: 'b3fdf9fdb2a34508002e82dfdef9e9bdbbe57ecc', items: this.resolvedMoreMenuItems, visible: this.isMoreMenuVisible, terms: this.resolvedTerms }), h("kritzel-share-dialog", { key: 'bac4fbbfa04c261e2b128e766cc43c1062aec2ff', ref: el => {
|
|
4047
4052
|
if (el) {
|
|
4048
4053
|
this.shareDialogRef = el;
|
|
4049
4054
|
}
|
|
4050
|
-
}, isPublic: this.currentIsPublic, workspaceId: this.activeWorkspace?.id, terms: this.resolvedTerms, onToggleIsPublic: this.handleToggleIsPublic }), this.loginConfig && (h("kritzel-login-dialog", { key: '
|
|
4055
|
+
}, isPublic: this.currentIsPublic, workspaceId: this.activeWorkspace?.id, terms: this.resolvedTerms, onToggleIsPublic: this.handleToggleIsPublic }), this.loginConfig && (h("kritzel-login-dialog", { key: 'a7d52bad9e752ad546adf80d257c6a46de031e76', ref: el => {
|
|
4051
4056
|
if (el) {
|
|
4052
4057
|
this.loginDialogRef = el;
|
|
4053
4058
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelFontFamily$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelFontFamily$1, d as defineCustomElement$1 } from './p-djJSnjAX.js';
|
|
2
2
|
|
|
3
3
|
const KritzelFontFamily = KritzelFontFamily$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelFontSize$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelFontSize$1, d as defineCustomElement$1 } from './p-2WiGyky4.js';
|
|
2
2
|
|
|
3
3
|
const KritzelFontSize = KritzelFontSize$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelLineEndings$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelLineEndings$1, d as defineCustomElement$1 } from './p-CXpv9Rxe.js';
|
|
2
2
|
|
|
3
3
|
const KritzelLineEndings = KritzelLineEndings$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelLoadingOverlay$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelLoadingOverlay$1, d as defineCustomElement$1 } from './p-DB58Oa5V.js';
|
|
2
2
|
|
|
3
3
|
const KritzelLoadingOverlay = KritzelLoadingOverlay$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelLoginDialog$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelLoginDialog$1, d as defineCustomElement$1 } from './p-B5SWPDuq.js';
|
|
2
2
|
|
|
3
3
|
const KritzelLoginDialog = KritzelLoginDialog$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelMasterDetail$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelMasterDetail$1, d as defineCustomElement$1 } from './p-CF8pLc07.js';
|
|
2
2
|
|
|
3
3
|
const KritzelMasterDetail = KritzelMasterDetail$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as KritzelMenuItem$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { b as KritzelMenuItem$1, d as defineCustomElement$1 } from './p-BrNsOp2v.js';
|
|
2
2
|
|
|
3
3
|
const KritzelMenuItem = KritzelMenuItem$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelMoreMenu$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelMoreMenu$1, d as defineCustomElement$1 } from './p-eZXIu4yK.js';
|
|
2
2
|
|
|
3
3
|
const KritzelMoreMenu = KritzelMoreMenu$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelNotificationCard$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelNotificationCard$1, d as defineCustomElement$1 } from './p-BsLI_BWq.js';
|
|
2
2
|
|
|
3
3
|
const KritzelNotificationCard = KritzelNotificationCard$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelNumericInput$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelNumericInput$1, d as defineCustomElement$1 } from './p-DKGg-76-.js';
|
|
2
2
|
|
|
3
3
|
const KritzelNumericInput = KritzelNumericInput$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelOpacitySlider$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelOpacitySlider$1, d as defineCustomElement$1 } from './p-CrHvaLRV.js';
|
|
2
2
|
|
|
3
3
|
const KritzelOpacitySlider = KritzelOpacitySlider$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelPillTabs$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelPillTabs$1, d as defineCustomElement$1 } from './p-jIKskj3S.js';
|
|
2
2
|
|
|
3
3
|
const KritzelPillTabs = KritzelPillTabs$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|