kritzel-stencil 0.1.72 → 0.1.74
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/index-Dc7LOVhs.js +2 -2
- package/dist/cjs/index.cjs.js +58 -18
- package/dist/cjs/{kritzel-active-users_41.cjs.entry.js → kritzel-active-users_42.cjs.entry.js} +586 -172
- package/dist/cjs/kritzel-brush-style.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/cjs/{workspace.migrations-DcwqsqPC.js → workspace.migrations-Dyt35LBC.js} +58 -5
- package/dist/collection/classes/core/core.class.js +9 -3
- package/dist/collection/classes/core/store.class.js +20 -6
- package/dist/collection/classes/handlers/selection.handler.js +15 -2
- package/dist/collection/classes/objects/base-object.class.js +2 -0
- package/dist/collection/classes/objects/custom-element.class.js +1 -0
- package/dist/collection/classes/objects/group.class.js +1 -0
- package/dist/collection/classes/objects/image.class.js +1 -0
- package/dist/collection/classes/objects/line.class.js +1 -0
- package/dist/collection/classes/objects/path.class.js +1 -0
- package/dist/collection/classes/objects/selection-box.class.js +1 -0
- package/dist/collection/classes/objects/selection-group.class.js +13 -1
- package/dist/collection/classes/objects/shape.class.js +1 -0
- package/dist/collection/classes/objects/text.class.js +1 -0
- package/dist/collection/classes/providers/hocuspocus-sync-provider.class.js +57 -17
- package/dist/collection/classes/structures/object-map.structure.js +102 -7
- package/dist/collection/classes/tools/brush-tool.class.js +4 -0
- package/dist/collection/classes/tools/line-tool.class.js +4 -0
- package/dist/collection/classes/tools/shape-tool.class.js +2 -0
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.css +110 -0
- package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.js +347 -0
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +3 -3
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +150 -109
- package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +1 -1
- package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +1 -1
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
- package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
- package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
- 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.js +1 -1
- package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
- 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.js +1 -1
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
- 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.js +1 -1
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +5 -5
- 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.js +1 -1
- package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
- 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.js +1 -1
- package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
- package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
- package/dist/collection/constants/schema.constants.js +1 -1
- package/dist/collection/constants/version.js +1 -1
- package/dist/collection/interfaces/remote-cursor.interface.js +1 -0
- package/dist/collection/migrations/workspace.migrations.js +10 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -1
- package/dist/components/kritzel-active-users.js +1 -1
- package/dist/components/kritzel-avatar.js +1 -1
- package/dist/components/kritzel-awareness-cursors.d.ts +11 -0
- package/dist/components/kritzel-awareness-cursors.js +1 -0
- package/dist/components/kritzel-back-to-content.js +1 -1
- package/dist/components/kritzel-brush-style.js +1 -1
- 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-dropdown.js +1 -1
- package/dist/components/kritzel-editor.js +1 -1
- 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-input.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-numeric-input.js +1 -1
- package/dist/components/kritzel-opacity-slider.js +1 -1
- package/dist/components/kritzel-portal.js +1 -1
- package/dist/components/kritzel-settings.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-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-workspace-manager.js +1 -1
- package/dist/components/{p-Dp8idtVD.js → p-0kShCfeb.js} +1 -1
- package/dist/components/{p-B47JuZiD.js → p-2OYw6GJ7.js} +1 -1
- package/dist/components/p-7o2FWtFx.js +1 -0
- package/dist/components/{p-dR_q96Q3.js → p-B4Oqnl55.js} +1 -1
- package/dist/components/{p-C5KuV1pK.js → p-BA0ayKqO.js} +1 -1
- package/dist/components/{p-NbNVTRk6.js → p-BEJQ2kP7.js} +1 -1
- package/dist/components/p-BSipRoFx.js +1 -0
- package/dist/components/{p-CDadAOMw.js → p-BeFUNGEI.js} +1 -1
- package/dist/components/{p-35nrk8s0.js → p-BiByyU2C.js} +1 -1
- package/dist/components/{p-CCAWSyDD.js → p-BiouZo1q.js} +1 -1
- package/dist/components/{p-CSExtYKI.js → p-ByR0VXeU.js} +1 -1
- package/dist/components/{p-1MGcXTLv.js → p-C1uR_ZNW.js} +1 -1
- package/dist/components/{p-x8PzaMuD.js → p-C69Stayh.js} +1 -1
- package/dist/components/{p-Ch0UlFwq.js → p-C7SBI_0T.js} +1 -1
- package/dist/components/{p-DEzfXrGX.js → p-CAIGuV2J.js} +1 -1
- package/dist/components/p-CJ2eHeoV.js +1 -0
- package/dist/components/p-CW-VyJgK.js +1 -0
- package/dist/components/{p-DW4ADV9w.js → p-CZhyKp-f.js} +1 -1
- package/dist/components/p-CsR4owzk.js +1 -0
- package/dist/components/{p-BG1IxseV.js → p-CsoDfhD5.js} +1 -1
- package/dist/components/{p-DpFu5yAt.js → p-D1O7DxL4.js} +1 -1
- package/dist/components/{p-B5ouV8EQ.js → p-DRbG92F9.js} +1 -1
- package/dist/components/{p-C3eaM9TB.js → p-DS0xx1eT.js} +1 -1
- package/dist/components/{p-jx8VOz7S.js → p-DSzQ6H2j.js} +1 -1
- package/dist/components/{p-DsIlDGDO.js → p-DXjuuVq9.js} +1 -1
- package/dist/components/p-DXpYcAnT.js +1 -0
- package/dist/components/{p-DiFVw6IQ.js → p-Da46jw3N.js} +1 -1
- package/dist/components/{p-C6kZf91d.js → p-Dj_Qjga5.js} +1 -1
- package/dist/components/{p-Do0Q5-iC.js → p-DvIEvoZu.js} +1 -1
- package/dist/components/{p-CnVzLD5e.js → p-GYI7sDxr.js} +1 -1
- package/dist/components/{p-CcBM_ClD.js → p-HLbqRJGs.js} +1 -1
- package/dist/components/{p-VHyNcODZ.js → p-KQzWumjB.js} +1 -1
- package/dist/components/p-RJWe82kG.js +9 -0
- package/dist/components/{p-VAkeZOZL.js → p-TyR-YTXm.js} +1 -1
- package/dist/components/{p-CHtn5xr6.js → p-b4gyXoju.js} +1 -1
- package/dist/components/p-iRL0wQHQ.js +1 -0
- package/dist/components/{p-CqLaHE27.js → p-kj9wbLY8.js} +1 -1
- package/dist/components/{p-DaHq4iG1.js → p-xM-_OeRO.js} +1 -1
- package/dist/esm/index-MV-81ybv.js +2 -2
- package/dist/esm/index.js +59 -19
- package/dist/esm/{kritzel-active-users_41.entry.js → kritzel-active-users_42.entry.js} +586 -173
- package/dist/esm/kritzel-brush-style.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/stencil.js +1 -1
- package/dist/esm/{workspace.migrations-BGixvB76.js → workspace.migrations-B99F1MdT.js} +58 -5
- package/dist/stencil/index.esm.js +1 -1
- package/dist/stencil/p-2a60e1bc.entry.js +9 -0
- package/dist/stencil/p-B99F1MdT.js +1 -0
- package/dist/stencil/{p-016ad76a.entry.js → p-fc21e29c.entry.js} +1 -1
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/core/store.class.d.ts +10 -2
- package/dist/types/classes/objects/base-object.class.d.ts +1 -0
- package/dist/types/classes/objects/selection-group.class.d.ts +5 -0
- package/dist/types/classes/providers/hocuspocus-sync-provider.class.d.ts +3 -0
- package/dist/types/classes/structures/object-map.structure.d.ts +41 -0
- package/dist/types/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.d.ts +26 -0
- package/dist/types/components.d.ts +39 -4
- package/dist/types/constants/schema.constants.d.ts +1 -1
- package/dist/types/constants/version.d.ts +1 -1
- package/dist/types/interfaces/object.interface.d.ts +1 -0
- package/dist/types/interfaces/remote-cursor.interface.d.ts +17 -0
- package/dist/types/interfaces/theme.interface.d.ts +7 -0
- package/package.json +1 -1
- package/dist/components/p-B2vjbWy-.js +0 -9
- package/dist/components/p-BvToKcu1.js +0 -1
- package/dist/components/p-CNro30tB.js +0 -1
- package/dist/components/p-Duv3EM3w.js +0 -1
- package/dist/components/p-KFsLHwYm.js +0 -1
- package/dist/components/p-hCORwbZh.js +0 -1
- package/dist/stencil/p-BGixvB76.js +0 -1
- package/dist/stencil/p-a0f5c4ad.entry.js +0 -9
|
@@ -132,10 +132,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
132
132
|
}
|
|
133
133
|
switch(bundleId) {
|
|
134
134
|
|
|
135
|
-
case 'kritzel-active-
|
|
135
|
+
case 'kritzel-active-users_42.cjs':
|
|
136
136
|
return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
|
|
137
137
|
/* webpackMode: "lazy" */
|
|
138
|
-
'./kritzel-active-
|
|
138
|
+
'./kritzel-active-users_42.cjs.entry.js')); }).then(processMod, consoleError);
|
|
139
139
|
case 'kritzel-brush-style.cjs':
|
|
140
140
|
return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
|
|
141
141
|
/* webpackMode: "lazy" */
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var workspace_migrations = require('./workspace.migrations-
|
|
3
|
+
var workspace_migrations = require('./workspace.migrations-Dyt35LBC.js');
|
|
4
4
|
var Y = require('yjs');
|
|
5
5
|
var yWebsocket = require('y-websocket');
|
|
6
6
|
require('y-indexeddb');
|
|
@@ -556,6 +556,9 @@ class HocuspocusSyncProvider {
|
|
|
556
556
|
isConnected = false;
|
|
557
557
|
isSynced = false;
|
|
558
558
|
usesSharedSocket = false;
|
|
559
|
+
isDestroyed = false;
|
|
560
|
+
connectTimeout = null;
|
|
561
|
+
pendingConnectReject = null;
|
|
559
562
|
get awareness() {
|
|
560
563
|
return this.provider.awareness;
|
|
561
564
|
}
|
|
@@ -574,8 +577,13 @@ class HocuspocusSyncProvider {
|
|
|
574
577
|
name,
|
|
575
578
|
document: doc,
|
|
576
579
|
token: options?.token || null,
|
|
580
|
+
onStatus: (data) => {
|
|
581
|
+
if (options?.onStatus) {
|
|
582
|
+
options.onStatus(data);
|
|
583
|
+
}
|
|
584
|
+
},
|
|
577
585
|
onConnect: () => {
|
|
578
|
-
if (this.isConnected) {
|
|
586
|
+
if (this.isConnected || this.isDestroyed) {
|
|
579
587
|
return;
|
|
580
588
|
}
|
|
581
589
|
this.isConnected = true;
|
|
@@ -587,7 +595,7 @@ class HocuspocusSyncProvider {
|
|
|
587
595
|
}
|
|
588
596
|
},
|
|
589
597
|
onDisconnect: () => {
|
|
590
|
-
if (!this.isConnected && !this.isSynced) {
|
|
598
|
+
if (this.isDestroyed || (!this.isConnected && !this.isSynced)) {
|
|
591
599
|
return;
|
|
592
600
|
}
|
|
593
601
|
this.isConnected = false;
|
|
@@ -600,7 +608,7 @@ class HocuspocusSyncProvider {
|
|
|
600
608
|
}
|
|
601
609
|
},
|
|
602
610
|
onSynced: () => {
|
|
603
|
-
if (this.isSynced) {
|
|
611
|
+
if (this.isSynced || this.isDestroyed) {
|
|
604
612
|
return;
|
|
605
613
|
}
|
|
606
614
|
this.isSynced = true;
|
|
@@ -619,9 +627,6 @@ class HocuspocusSyncProvider {
|
|
|
619
627
|
if (options?.onAuthenticationFailed) {
|
|
620
628
|
config.onAuthenticationFailed = options.onAuthenticationFailed;
|
|
621
629
|
}
|
|
622
|
-
if (options?.onStatus) {
|
|
623
|
-
config.onStatus = options.onStatus;
|
|
624
|
-
}
|
|
625
630
|
this.provider = new workspace_migrations.HocuspocusProvider(config);
|
|
626
631
|
// Must call attach() explicitly when using shared socket
|
|
627
632
|
this.provider.attach();
|
|
@@ -637,8 +642,14 @@ class HocuspocusSyncProvider {
|
|
|
637
642
|
name,
|
|
638
643
|
document: doc,
|
|
639
644
|
token: options?.token || null,
|
|
645
|
+
autoConnect: false,
|
|
646
|
+
onStatus: (data) => {
|
|
647
|
+
if (options?.onStatus) {
|
|
648
|
+
options.onStatus(data);
|
|
649
|
+
}
|
|
650
|
+
},
|
|
640
651
|
onConnect: () => {
|
|
641
|
-
if (this.isConnected) {
|
|
652
|
+
if (this.isConnected || this.isDestroyed) {
|
|
642
653
|
return;
|
|
643
654
|
}
|
|
644
655
|
this.isConnected = true;
|
|
@@ -650,7 +661,7 @@ class HocuspocusSyncProvider {
|
|
|
650
661
|
}
|
|
651
662
|
},
|
|
652
663
|
onDisconnect: () => {
|
|
653
|
-
if (!this.isConnected && !this.isSynced) {
|
|
664
|
+
if (this.isDestroyed || (!this.isConnected && !this.isSynced)) {
|
|
654
665
|
return;
|
|
655
666
|
}
|
|
656
667
|
this.isConnected = false;
|
|
@@ -663,7 +674,7 @@ class HocuspocusSyncProvider {
|
|
|
663
674
|
}
|
|
664
675
|
},
|
|
665
676
|
onSynced: () => {
|
|
666
|
-
if (this.isSynced) {
|
|
677
|
+
if (this.isSynced || this.isDestroyed) {
|
|
667
678
|
return;
|
|
668
679
|
}
|
|
669
680
|
this.isSynced = true;
|
|
@@ -682,9 +693,6 @@ class HocuspocusSyncProvider {
|
|
|
682
693
|
if (options?.onAuthenticationFailed) {
|
|
683
694
|
config.onAuthenticationFailed = options.onAuthenticationFailed;
|
|
684
695
|
}
|
|
685
|
-
if (options?.onStatus) {
|
|
686
|
-
config.onStatus = options.onStatus;
|
|
687
|
-
}
|
|
688
696
|
if (options?.WebSocketPolyfill) {
|
|
689
697
|
config.WebSocketPolyfill = options.WebSocketPolyfill;
|
|
690
698
|
}
|
|
@@ -752,22 +760,36 @@ class HocuspocusSyncProvider {
|
|
|
752
760
|
};
|
|
753
761
|
}
|
|
754
762
|
async connect() {
|
|
755
|
-
if (this.isSynced) {
|
|
763
|
+
if (this.isSynced || this.isDestroyed) {
|
|
756
764
|
return;
|
|
757
765
|
}
|
|
758
766
|
return new Promise((resolve, reject) => {
|
|
759
|
-
|
|
767
|
+
// Store reject function so we can cancel the connection if destroyed
|
|
768
|
+
this.pendingConnectReject = reject;
|
|
769
|
+
this.connectTimeout = setTimeout(() => {
|
|
770
|
+
this.pendingConnectReject = null;
|
|
771
|
+
this.connectTimeout = null;
|
|
760
772
|
reject(new Error('Hocuspocus connection timeout'));
|
|
761
773
|
}, 10000); // 10 second timeout
|
|
762
774
|
const syncHandler = () => {
|
|
763
|
-
|
|
775
|
+
if (this.connectTimeout) {
|
|
776
|
+
clearTimeout(this.connectTimeout);
|
|
777
|
+
this.connectTimeout = null;
|
|
778
|
+
}
|
|
779
|
+
this.pendingConnectReject = null;
|
|
764
780
|
this.provider.off('synced', syncHandler);
|
|
765
|
-
|
|
781
|
+
if (!this.isDestroyed) {
|
|
782
|
+
resolve();
|
|
783
|
+
}
|
|
766
784
|
};
|
|
767
785
|
this.provider.on('synced', syncHandler);
|
|
768
786
|
// If already synced, resolve immediately
|
|
769
787
|
if (this.provider.isSynced) {
|
|
770
|
-
|
|
788
|
+
if (this.connectTimeout) {
|
|
789
|
+
clearTimeout(this.connectTimeout);
|
|
790
|
+
this.connectTimeout = null;
|
|
791
|
+
}
|
|
792
|
+
this.pendingConnectReject = null;
|
|
771
793
|
this.provider.off('synced', syncHandler);
|
|
772
794
|
resolve();
|
|
773
795
|
return;
|
|
@@ -779,6 +801,14 @@ class HocuspocusSyncProvider {
|
|
|
779
801
|
});
|
|
780
802
|
}
|
|
781
803
|
disconnect() {
|
|
804
|
+
// Cancel any pending connection attempt
|
|
805
|
+
if (this.connectTimeout) {
|
|
806
|
+
clearTimeout(this.connectTimeout);
|
|
807
|
+
this.connectTimeout = null;
|
|
808
|
+
}
|
|
809
|
+
if (this.pendingConnectReject) {
|
|
810
|
+
this.pendingConnectReject = null; // Don't reject, just abandon the promise
|
|
811
|
+
}
|
|
782
812
|
if (this.provider) {
|
|
783
813
|
if (this.usesSharedSocket) {
|
|
784
814
|
// Detach from shared socket instead of disconnecting
|
|
@@ -792,6 +822,16 @@ class HocuspocusSyncProvider {
|
|
|
792
822
|
this.isSynced = false;
|
|
793
823
|
}
|
|
794
824
|
destroy() {
|
|
825
|
+
// Mark as destroyed first to prevent any callbacks from doing work
|
|
826
|
+
this.isDestroyed = true;
|
|
827
|
+
// Cancel any pending connection attempt
|
|
828
|
+
if (this.connectTimeout) {
|
|
829
|
+
clearTimeout(this.connectTimeout);
|
|
830
|
+
this.connectTimeout = null;
|
|
831
|
+
}
|
|
832
|
+
if (this.pendingConnectReject) {
|
|
833
|
+
this.pendingConnectReject = null; // Don't reject, just abandon the promise
|
|
834
|
+
}
|
|
795
835
|
if (this.provider) {
|
|
796
836
|
this.provider.destroy();
|
|
797
837
|
}
|