kritzel-stencil 0.4.25 → 0.4.27

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.
Files changed (138) hide show
  1. package/dist/cjs/index-Xav9JFHg.js +2 -2
  2. package/dist/cjs/index.cjs.js +3 -42
  3. package/dist/cjs/{kritzel-active-users_47.cjs.entry.js → kritzel-active-users_46.cjs.entry.js} +119 -191
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{schema.constants-CjN-B633.js → schema.constants-CcvqL5nJ.js} +41 -0
  6. package/dist/cjs/stencil.cjs.js +1 -1
  7. package/dist/collection/classes/core/core.class.js +0 -4
  8. package/dist/collection/classes/structures/object-map.structure.js +0 -65
  9. package/dist/collection/collection-manifest.json +0 -1
  10. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +4 -4
  11. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +58 -77
  12. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +16 -72
  13. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.js +1 -1
  14. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
  15. package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
  16. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  17. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  18. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  19. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  20. package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
  21. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
  22. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
  23. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
  24. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
  25. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
  26. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
  27. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
  28. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
  29. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  30. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
  31. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
  32. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +6 -6
  33. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +1 -1
  34. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +1 -1
  35. package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
  36. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.css +13 -9
  37. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
  38. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
  39. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +1 -1
  40. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
  41. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
  42. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  43. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +1 -1
  44. package/dist/collection/configs/default-sync.config.js +2 -1
  45. package/dist/collection/constants/version.js +1 -1
  46. package/dist/components/index.d.ts +0 -2
  47. package/dist/components/index.js +2 -43
  48. package/dist/components/kritzel-active-users.js +1 -1
  49. package/dist/components/kritzel-avatar.js +1 -1
  50. package/dist/components/kritzel-back-to-content.js +1 -1
  51. package/dist/components/kritzel-button.js +1 -1
  52. package/dist/components/kritzel-color-palette.js +1 -1
  53. package/dist/components/kritzel-color.js +1 -1
  54. package/dist/components/kritzel-controls.js +1 -1
  55. package/dist/components/kritzel-current-user-dialog.js +1 -1
  56. package/dist/components/kritzel-current-user.js +1 -1
  57. package/dist/components/kritzel-editor.js +140 -113
  58. package/dist/components/kritzel-engine.js +1 -1
  59. package/dist/components/kritzel-export.js +1 -1
  60. package/dist/components/kritzel-font-size.js +1 -1
  61. package/dist/components/kritzel-font.js +1 -1
  62. package/dist/components/kritzel-input.js +1 -1
  63. package/dist/components/kritzel-loading-overlay.js +1 -1
  64. package/dist/components/kritzel-login-dialog.js +1 -1
  65. package/dist/components/kritzel-master-detail.js +1 -1
  66. package/dist/components/kritzel-menu-item.js +1 -1
  67. package/dist/components/kritzel-menu.js +1 -1
  68. package/dist/components/kritzel-more-menu.js +1 -1
  69. package/dist/components/kritzel-numeric-input.js +1 -1
  70. package/dist/components/kritzel-opacity-slider.js +1 -1
  71. package/dist/components/kritzel-portal.js +1 -1
  72. package/dist/components/kritzel-settings.js +1 -1
  73. package/dist/components/kritzel-share-dialog.js +1 -1
  74. package/dist/components/kritzel-slide-toggle.js +1 -1
  75. package/dist/components/kritzel-split-button.js +1 -1
  76. package/dist/components/kritzel-stroke-size.js +1 -1
  77. package/dist/components/kritzel-tool-config.js +1 -1
  78. package/dist/components/kritzel-tooltip.js +1 -1
  79. package/dist/components/kritzel-utility-panel.js +1 -1
  80. package/dist/components/kritzel-watermark.js +1 -1
  81. package/dist/components/kritzel-workspace-manager.js +1 -1
  82. package/dist/components/kritzel-zoom-panel.js +1 -1
  83. package/dist/components/p-4uoSa0Xl.js +43 -0
  84. package/dist/components/{p-fL9rl200.js → p-B38_9BJg.js} +1 -1
  85. package/dist/components/{p-eZXIu4yK.js → p-BPzdPKWE.js} +3 -3
  86. package/dist/components/{p-0fhjWRmT.js → p-BTo2cQZ9.js} +5 -5
  87. package/dist/components/{p-BoN700-O.js → p-Ba0c-tu2.js} +2 -2
  88. package/dist/components/{p-B-585egz.js → p-BeSKOETx.js} +2 -2
  89. package/dist/components/{p-2WiGyky4.js → p-BprEDRpA.js} +2 -2
  90. package/dist/components/{p-B5SWPDuq.js → p-C0FEC_gS.js} +1 -1
  91. package/dist/components/{p-BrNsOp2v.js → p-CAXR5-S9.js} +4 -4
  92. package/dist/components/{p-BPsKYMH6.js → p-CBrn5AIB.js} +1 -1
  93. package/dist/components/{p-gJcH-huF.js → p-CYwoBiqy.js} +57 -112
  94. package/dist/components/{p-C98Eb3_R.js → p-Ce1j1-Hg.js} +3 -3
  95. package/dist/components/{p-DDTMGbtA.js → p-CeffYwAK.js} +15 -15
  96. package/dist/components/{p-CwZ3KKFq.js → p-ChPs27Fd.js} +3 -3
  97. package/dist/components/{p-D1rjfWgJ.js → p-CoXN583u.js} +3 -3
  98. package/dist/components/{p-DwMqCX2P.js → p-CucCT7Qn.js} +2 -2
  99. package/dist/components/{p-vqEUQ-4Q.js → p-D0Ed8epW.js} +3 -3
  100. package/dist/components/{p-DBqoPgev.js → p-DFMZEarE.js} +1 -1
  101. package/dist/components/{p-DtnMdWWB.js → p-DK0anxtL.js} +1 -1
  102. package/dist/components/{p-4SPnZZkH.js → p-DN9p3G9K.js} +3 -3
  103. package/dist/components/{p-Dt7-I2Xz.js → p-DOTdJ3JQ.js} +2 -2
  104. package/dist/components/{p-HoO86l1o.js → p-DOl-95VY.js} +6 -6
  105. package/dist/components/{p-DKGg-76-.js → p-DTB3ykgO.js} +1 -1
  106. package/dist/components/{p-CzW58DHM.js → p-DUmLsjKb.js} +1 -1
  107. package/dist/components/{p-Czhdc844.js → p-D_cyY7Nd.js} +1 -1
  108. package/dist/components/{p-CF8pLc07.js → p-DhabvHJM.js} +3 -3
  109. package/dist/components/{p-CaBbajU2.js → p-DkHYY72B.js} +2 -2
  110. package/dist/components/{p-CrHvaLRV.js → p-DnmVD1Mz.js} +1 -1
  111. package/dist/components/{p-GKmqCI8r.js → p-DoxFuOy1.js} +2 -2
  112. package/dist/components/{p-dsxHDlQ3.js → p-Dpm75DfV.js} +2 -2
  113. package/dist/components/{p-BozrueXV.js → p-Dvn6ad4a.js} +1 -1
  114. package/dist/components/{p-PjPPCHVL.js → p-NOWtUeeQ.js} +1 -1
  115. package/dist/components/{p-DVXTPI71.js → p-OUl5CA4Y.js} +1 -1
  116. package/dist/esm/index-Dhio9uis.js +2 -2
  117. package/dist/esm/index.js +4 -43
  118. package/dist/esm/{kritzel-active-users_47.entry.js → kritzel-active-users_46.entry.js} +120 -191
  119. package/dist/esm/loader.js +1 -1
  120. package/dist/esm/{schema.constants-DfvqHmxc.js → schema.constants-De_S50eB.js} +41 -1
  121. package/dist/esm/stencil.js +1 -1
  122. package/dist/stencil/index.esm.js +4 -43
  123. package/dist/stencil/{p-DfvqHmxc.js → p-De_S50eB.js} +41 -1
  124. package/dist/stencil/{p-dc5783ee.entry.js → p-f91efb01.entry.js} +120 -191
  125. package/dist/stencil/stencil.esm.js +1 -1
  126. package/dist/types/classes/structures/object-map.structure.d.ts +0 -14
  127. package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +8 -6
  128. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +3 -10
  129. package/dist/types/components.d.ts +5 -80
  130. package/dist/types/constants/version.d.ts +1 -1
  131. package/package.json +1 -1
  132. package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.css +0 -50
  133. package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.js +0 -66
  134. package/dist/components/kritzel-sync-indicator.d.ts +0 -11
  135. package/dist/components/kritzel-sync-indicator.js +0 -6
  136. package/dist/components/p-CAoN_STZ.js +0 -39
  137. package/dist/components/p-DB58Oa5V.js +0 -43
  138. package/dist/types/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.d.ts +0 -7
@@ -1,56 +1,55 @@
1
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-gJcH-huF.js';
2
+ import { K as KritzelIconRegistry, d as defineCustomElement$r } from './p-CSuU8frA.js';
3
+ import { w as DEFAULT_STROKE_SIZES, x 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, t as KritzelAlignment, y as DEFAULT_SYNC_CONFIG, z as KritzelSelectionGroup, B as KritzelSelectionBox, C as KritzelKeyboardHelper, G as defineCustomElement$w } from './p-CYwoBiqy.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-DtnMdWWB.js';
6
+ import { A as ABSOLUTE_SCALE_MAX, a as ABSOLUTE_SCALE_MIN, d as defineCustomElement$4 } from './p-DK0anxtL.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-bAacqNHq.js';
9
+ import { d as defineCustomElement$I } 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-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-0fhjWRmT.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';
13
+ import { d as defineCustomElement$K } from './p-DFMZEarE.js';
14
+ import { d as defineCustomElement$J } from './p-DN9p3G9K.js';
15
+ import { d as defineCustomElement$H } from './p-D_cyY7Nd.js';
16
+ import { d as defineCustomElement$G } from './p-Ba0c-tu2.js';
17
+ import { d as defineCustomElement$F } from './p-DOTdJ3JQ.js';
18
+ import { d as defineCustomElement$E } from './p-BeSKOETx.js';
19
+ import { d as defineCustomElement$D } from './p-CSPYkLLH.js';
20
+ import { d as defineCustomElement$C } from './p-CeffYwAK.js';
21
+ import { d as defineCustomElement$B } from './p-CucCT7Qn.js';
22
+ import { d as defineCustomElement$A } from './p-D0Ed8epW.js';
23
+ import { d as defineCustomElement$z } from './p-Cm33td2O.js';
24
+ import { d as defineCustomElement$y } from './p-DX2nriaq.js';
25
+ import { d as defineCustomElement$x } from './p-Df3BwVGy.js';
26
+ import { d as defineCustomElement$v } from './p-Dpm75DfV.js';
27
+ import { d as defineCustomElement$u } from './p-OUl5CA4Y.js';
28
+ import { d as defineCustomElement$t } from './p-djJSnjAX.js';
29
+ import { d as defineCustomElement$s } from './p-BprEDRpA.js';
30
+ import { d as defineCustomElement$q } from './p-NOWtUeeQ.js';
31
+ import { d as defineCustomElement$p } from './p-CXpv9Rxe.js';
32
+ import { d as defineCustomElement$o } from './p-4uoSa0Xl.js';
33
+ import { d as defineCustomElement$n } from './p-C0FEC_gS.js';
34
+ import { d as defineCustomElement$m } from './p-DhabvHJM.js';
35
+ import { d as defineCustomElement$k, a as defineCustomElement$l } from './p-CAXR5-S9.js';
36
+ import { d as defineCustomElement$j } from './p-BPzdPKWE.js';
37
+ import { d as defineCustomElement$i } from './p-BsLI_BWq.js';
38
+ import { d as defineCustomElement$h } from './p-DTB3ykgO.js';
39
+ import { d as defineCustomElement$g } from './p-DnmVD1Mz.js';
40
+ import { d as defineCustomElement$f } from './p-jIKskj3S.js';
41
+ import { d as defineCustomElement$e } from './p-CBrn5AIB.js';
42
+ import { d as defineCustomElement$d } from './p-BTo2cQZ9.js';
43
+ import { d as defineCustomElement$c } from './p-BFYtCsZu.js';
44
+ import { d as defineCustomElement$b } from './p-ChPs27Fd.js';
45
+ import { d as defineCustomElement$a } from './p-Dvn6ad4a.js';
46
+ import { d as defineCustomElement$9 } from './p-Ce1j1-Hg.js';
47
+ import { d as defineCustomElement$8 } from './p-DoxFuOy1.js';
48
+ import { d as defineCustomElement$7 } from './p-DOl-95VY.js';
49
+ import { d as defineCustomElement$6 } from './p-DkHYY72B.js';
50
+ import { d as defineCustomElement$5 } from './p-DUmLsjKb.js';
51
+ import { d as defineCustomElement$3 } from './p-CoXN583u.js';
52
+ import { d as defineCustomElement$2 } from './p-B38_9BJg.js';
54
53
 
55
54
  /**
56
55
  * Common Math expressions.
@@ -2935,7 +2934,7 @@ const DEFAULT_SHAPE_CONFIG = {
2935
2934
  sizes: [...DEFAULT_STROKE_SIZES],
2936
2935
  };
2937
2936
 
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}`;
2937
+ 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:2;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:2;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:2;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:2;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
2938
 
2940
2939
  const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor extends H {
2941
2940
  constructor(registerHost) {
@@ -2957,7 +2956,6 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
2957
2956
  this.login = createEvent(this, "login");
2958
2957
  this.isPublicChange = createEvent(this, "isPublicChange");
2959
2958
  this.awarenessChange = createEvent(this, "awarenessChange");
2960
- this.isSyncing = createEvent(this, "isSyncing");
2961
2959
  }
2962
2960
  get host() { return this; }
2963
2961
  scaleMax = ABSOLUTE_SCALE_MAX;
@@ -3170,15 +3168,12 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
3170
3168
  isWorkspaceManagerVisible = true;
3171
3169
  isMoreMenuVisible = true;
3172
3170
  isZoomPanelVisible = true;
3173
- isObjectDistanceFadingActive = false;
3174
3171
  syncConfig = DEFAULT_SYNC_CONFIG;
3175
3172
  assetStorageConfig = DEFAULT_ASSET_STORAGE_CONFIG;
3176
3173
  /** The element to use as the target for the cursor. Defaults to the editor container if not set. */
3177
3174
  cursorTarget;
3178
3175
  /** Optional login configuration. When provided, a "Sign in" button is shown that opens a login dialog with the configured providers. */
3179
3176
  loginConfig;
3180
- /** Whether the editor is in a loading state. When true, a loading overlay is displayed. */
3181
- isLoading = false;
3182
3177
  /** Optional unique identifier for namespacing storage keys across multiple editor instances. */
3183
3178
  editorId;
3184
3179
  /** Optional workspace ID to set as active. If provided, the editor will automatically activate the workspace with this ID. */
@@ -3197,7 +3192,6 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
3197
3192
  login;
3198
3193
  isPublicChange;
3199
3194
  awarenessChange;
3200
- isSyncing;
3201
3195
  isEngineReady = false;
3202
3196
  isControlsReady = false;
3203
3197
  isWorkspaceManagerReady = false;
@@ -3220,7 +3214,11 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
3220
3214
  normalizedControls = [];
3221
3215
  resolvedMoreMenuItems = [];
3222
3216
  isLoadingOverlayVisible = false;
3223
- isSyncingIndicatorVisible = false;
3217
+ loadingOverlayShowTimeout;
3218
+ loadingOverlayHideTimeout;
3219
+ loadingOverlayShownTimestamp;
3220
+ loadingOverlayDelayMs = 300;
3221
+ loadingOverlayMinDisplayDurationMs = 400;
3224
3222
  notificationDismissTimeout;
3225
3223
  notificationDismissAnimationTimeout;
3226
3224
  notificationDisplayDurationMs = 5000;
@@ -3600,6 +3598,8 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
3600
3598
  this.setOsSpecificCssVariables();
3601
3599
  }
3602
3600
  disconnectedCallback() {
3601
+ this.clearLoadingOverlayShowTimer();
3602
+ this.clearLoadingOverlayHideTimer();
3603
3603
  this.clearNotificationDismissTimer();
3604
3604
  this.clearNotificationDismissAnimationTimer();
3605
3605
  }
@@ -3703,11 +3703,6 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
3703
3703
  event.stopPropagation();
3704
3704
  this.awarenessChange.emit(event.detail);
3705
3705
  }
3706
- handleIsSyncingChange(event) {
3707
- event.stopPropagation();
3708
- this.isSyncingIndicatorVisible = event.detail;
3709
- this.isSyncing.emit(event.detail);
3710
- }
3711
3706
  handleNotificationsChange(event) {
3712
3707
  event.stopPropagation();
3713
3708
  this.clearNotificationDismissAnimationTimer();
@@ -3720,6 +3715,46 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
3720
3715
  event.stopPropagation();
3721
3716
  this.contextMenuState = event.detail.isVisible ? event.detail : undefined;
3722
3717
  }
3718
+ handleIsLoadingChange(event) {
3719
+ console.log('isLoadingChange event:', event.detail);
3720
+ event.stopPropagation();
3721
+ this.clearLoadingOverlayShowTimer();
3722
+ this.clearLoadingOverlayHideTimer();
3723
+ if (event.detail) {
3724
+ this.loadingOverlayShowTimeout = setTimeout(() => {
3725
+ this.isLoadingOverlayVisible = true;
3726
+ this.loadingOverlayShownTimestamp = Date.now();
3727
+ this.loadingOverlayShowTimeout = undefined;
3728
+ }, this.loadingOverlayDelayMs);
3729
+ return;
3730
+ }
3731
+ if (this.isLoadingOverlayVisible && this.loadingOverlayShownTimestamp !== undefined) {
3732
+ const elapsed = Date.now() - this.loadingOverlayShownTimestamp;
3733
+ const remaining = this.loadingOverlayMinDisplayDurationMs - elapsed;
3734
+ if (remaining > 0) {
3735
+ this.loadingOverlayHideTimeout = setTimeout(() => {
3736
+ this.isLoadingOverlayVisible = false;
3737
+ this.loadingOverlayShownTimestamp = undefined;
3738
+ this.loadingOverlayHideTimeout = undefined;
3739
+ }, remaining);
3740
+ return;
3741
+ }
3742
+ }
3743
+ this.isLoadingOverlayVisible = false;
3744
+ this.loadingOverlayShownTimestamp = undefined;
3745
+ }
3746
+ clearLoadingOverlayShowTimer() {
3747
+ if (this.loadingOverlayShowTimeout) {
3748
+ clearTimeout(this.loadingOverlayShowTimeout);
3749
+ this.loadingOverlayShowTimeout = undefined;
3750
+ }
3751
+ }
3752
+ clearLoadingOverlayHideTimer() {
3753
+ if (this.loadingOverlayHideTimeout) {
3754
+ clearTimeout(this.loadingOverlayHideTimeout);
3755
+ this.loadingOverlayHideTimeout = undefined;
3756
+ }
3757
+ }
3723
3758
  handleContextMenuActionSelected(event) {
3724
3759
  const contextMenuState = this.contextMenuState;
3725
3760
  if (!contextMenuState || !event.detail.action) {
@@ -4021,40 +4056,40 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
4021
4056
  const isLoggedIn = this.isLoggedIn;
4022
4057
  const shouldShowCurrentUser = isLoggedIn;
4023
4058
  const shouldShowLoginButton = this.isReady && !!this.loginConfig && !isLoggedIn;
4024
- return (h(Host, { key: 'a24350a0c12d99ccb0d0ec3ab5975d0f1bf7f861' }, h("div", { key: 'bd7029567aeef8cba5290c2bf9937db1af113475', class: "editor-content", style: {
4059
+ return (h(Host, { key: '247f9ad977943d29333094737c8904253ccab5c7' }, h("div", { key: 'e14e57a04ca7138690a4893f2ac14140e0532fd2', class: "editor-content", style: {
4025
4060
  opacity: this.isEditorVisible ? '1' : '0',
4026
4061
  visibility: this.isEditorVisible ? 'visible' : 'hidden',
4027
4062
  transition: 'opacity 0.2s ease-in-out, visibility 0.2s ease-in-out',
4028
- } }, h("div", { key: 'f628dbd94d88c9bdb313a59d73ce86302c90e375', class: "top-left-buttons" }, h("kritzel-workspace-manager", { key: '5a82d054da31e47d3f8b5c6c403949a5fb97b9dd', 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: 'a5bccef36c8a49ef2cb7ec029def1c7ba71d1c31', visible: this.isBackToContentButtonVisible, text: this.resolvedTerms['backToContent.label'] ?? 'Back to content', onBackToContent: () => this.backToContent() })), this.activeNotification && (h("div", { key: 'c5c359b199528dd7b1b64a6a32ef349037357c5a', class: "top-center-notification-layer", role: "presentation" }, h("div", { key: 'a41cd6c67c56626c2b6f0eb12193af1f80d6a254', class: { 'top-center-notification-container': true, 'is-dismissing': this.isNotificationDismissing }, role: "presentation" }, h("kritzel-notification-card", { key: 'fb49769368ddf0fc74998a96dd26dc446ff2b386', 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: '56f38790f477d08761d7542ed3794c52f1f73815', class: "context-menu", items: this.contextMenuState.items, objects: this.contextMenuState.objects, style: {
4063
+ } }, h("div", { key: 'd9304408c6336c4b742b0e44d4a6d4dda5b2fad6', class: "top-left-buttons" }, h("kritzel-workspace-manager", { key: 'f44ca859cd70828c77a92607cbe5b9c26fd4a203', 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: '1c65e5fbcc34dd43b7986f6177b8eab2bd709ad8', visible: this.isBackToContentButtonVisible, text: this.resolvedTerms['backToContent.label'] ?? 'Back to content', onBackToContent: () => this.backToContent() })), this.activeNotification && (h("div", { key: '2f7715f5c7c128ec63f2fe60c508543db7dd571c', class: "top-center-notification-layer", role: "presentation" }, h("div", { key: '357014e172134af3a3d35af9978d14d23fadf7e3', class: { 'top-center-notification-container': true, 'is-dismissing': this.isNotificationDismissing }, role: "presentation" }, h("kritzel-notification-card", { key: '3962a562a8fc10b2bbdc1c8dd741a057e9e6df29', 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: '669e6dae09d52e87dc22aa536f6f564f725f6c34', class: "context-menu", items: this.contextMenuState.items, objects: this.contextMenuState.objects, style: {
4029
4064
  position: 'absolute',
4030
4065
  left: `${this.contextMenuState.position.x}px`,
4031
4066
  top: `${this.contextMenuState.position.y}px`,
4032
4067
  zIndex: '10002',
4033
- }, onActionSelected: event => this.handleContextMenuActionSelected(event), onClose: () => this.hideContextMenu() })), h("kritzel-sync-indicator", { key: '4957b8bae0d7087d586c9d0c6da82cae905d7d08', visible: this.isSyncingIndicatorVisible, text: "Syncing..." }), h("kritzel-loading-overlay", { key: 'e2e99dc452245a2edf7a575ea5fb60aa91be20df', visible: this.isLoadingOverlayVisible, text: this.resolvedTerms['editor.loading'] ?? 'Loading...' }), h("kritzel-engine", { key: 'fcebe1cc1237c8649461f03679f9c76c05dde9c4', ref: el => {
4068
+ }, onActionSelected: event => this.handleContextMenuActionSelected(event), onClose: () => this.hideContextMenu() })), h("kritzel-loading-overlay", { key: '40a32849c45b9b8240b3be427579cb6a6c63fa97', visible: this.isLoadingOverlayVisible, text: this.resolvedTerms['editor.loading'] ?? 'Loading...' }), h("kritzel-engine", { key: '424ec83a0e8e9c8174cd12439fff2b49898b8016', ref: el => {
4034
4069
  if (el) {
4035
4070
  this.engineRef = el;
4036
4071
  }
4037
- }, 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), onIsSyncing: event => this.handleIsSyncingChange(event), onNotificationsChange: event => this.handleNotificationsChange(event), onContextMenuStateChange: event => this.handleContextMenuStateChange(event), onLoadingChange: event => (this.isLoadingOverlayVisible = event.detail) }), h("kritzel-controls", { key: '72b1a3f80bfedb3843d0d54159ad47793db69977', visible: this.isControlsVisible, class: { 'keyboard-open': this.isVirtualKeyboardOpen }, ref: el => {
4072
+ }, workspace: this.activeWorkspace, activeWorkspaceId: this.activeWorkspaceId, editorId: this.editorId, syncConfig: this.syncConfig, assetStorageConfig: this.assetStorageConfig, user: this.user, scaleMax: this.scaleMax, lockDrawingScale: this.lockDrawingScale, scaleMin: this.scaleMin, cursorTarget: this.cursorTarget, 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), onIsLoadingChange: event => this.handleIsLoadingChange(event) }), h("kritzel-controls", { key: 'e224d9cde14effc67b07f1f18597f45e3dc6d808', visible: this.isControlsVisible, class: { 'keyboard-open': this.isVirtualKeyboardOpen }, ref: el => {
4038
4073
  if (el) {
4039
4074
  this.controlsRef = el;
4040
4075
  }
4041
- }, controls: this.normalizedControls, isUtilityPanelVisible: this.isUtilityPanelVisible, undoState: this.undoState ?? undefined, theme: this.theme, terms: this.resolvedTerms, onIsControlsReady: () => (this.isControlsReady = true) }), h("div", { key: '1684a320f1806ae9fdfcfcff115d01f5788737e7', class: "bottom-left-buttons" }, h("kritzel-zoom-panel", { key: '8e85652ded70df043d79c9cd73b226aaefa5d6d4', visible: this.isZoomPanelVisible, disabled: !this.isZoomingEnabled, zoomPercent: this.currentZoomPercent, terms: this.resolvedTerms, onZoomIn: () => this.zoomIn(), onZoomOut: () => this.zoomOut() })), h("div", { key: 'a836056bdae11324f4ce79da4b991281c1985358', class: "top-right-buttons" }, h("kritzel-settings", { key: 'e68f4e79bc053e03dc37c18ee153758d284b0d34', ref: el => {
4076
+ }, controls: this.normalizedControls, isUtilityPanelVisible: this.isUtilityPanelVisible, undoState: this.undoState ?? undefined, theme: this.theme, terms: this.resolvedTerms, onIsControlsReady: () => (this.isControlsReady = true) }), h("div", { key: '767b369fd2b55329d953d8c55ea897c35b921584', class: "bottom-left-buttons" }, h("kritzel-zoom-panel", { key: 'abaa0a55d433fa1740071f32f8dfc1854c6ed157', visible: this.isZoomPanelVisible, disabled: !this.isZoomingEnabled, zoomPercent: this.currentZoomPercent, terms: this.resolvedTerms, onZoomIn: () => this.zoomIn(), onZoomOut: () => this.zoomOut() })), h("div", { key: 'eb9e71d97b2b4663f02a17022494d353fa4f877e', class: "top-right-buttons" }, h("kritzel-settings", { key: '10ef2f68f90a6ceb3ce0a3110245c58da7ee2492', ref: el => {
4042
4077
  if (el) {
4043
4078
  this.settingsRef = el;
4044
4079
  }
4045
- }, 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: 'f1e9ea467d11b55dbe75d8b0252fd7f5ed37a1a2', ref: el => {
4080
+ }, 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: 'd72b5006a608570c26a2981d03f4d15e9b0c8b30', ref: el => {
4046
4081
  if (el) {
4047
4082
  this.exportRef = el;
4048
4083
  }
4049
- }, 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: '01bb56bd37bc22e82be5a1175f597cdf724c4834', users: this.activeUsers }), shouldShowCurrentUser && h("kritzel-current-user", { key: '5470ef356a4d6332b380e8c75f02f0fccbe861cc', user: this.user, terms: this.resolvedTerms, onClick: () => this.currentUserDialogRef?.open() }), shouldShowCurrentUser && (h("kritzel-current-user-dialog", { key: '229551b18f0443944a96f7b8e833ff1aefb001f4', ref: el => {
4084
+ }, 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: 'cceafd7ae3f289edb351af4e614afca2385e196a', users: this.activeUsers }), shouldShowCurrentUser && h("kritzel-current-user", { key: '042fc9ce8487ea463f0ee77a5749786ed2931f07', user: this.user, terms: this.resolvedTerms, onClick: () => this.currentUserDialogRef?.open() }), shouldShowCurrentUser && (h("kritzel-current-user-dialog", { key: '7cce7677fbae0a1b897b2135f50e017df5409d32', ref: el => {
4050
4085
  if (el) {
4051
4086
  this.currentUserDialogRef = el;
4052
4087
  }
4053
- }, user: this.user, terms: this.resolvedTerms, onLogoutRequest: this.handleCurrentUserLogout })), shouldShowLoginButton && h("kritzel-button", { key: '3d9a8ebbe62084e94348265f1f883bc80e625d9c', onButtonClick: () => this.loginDialogRef?.open() }, this.resolvedTerms['login.dialogTitle'] ?? 'Sign in'), h("kritzel-more-menu", { key: '9f7f763c330b27068bc371d98eb22a80adbf359e', items: this.resolvedMoreMenuItems, visible: this.isMoreMenuVisible, terms: this.resolvedTerms }), h("kritzel-share-dialog", { key: 'c60b860e22394a44270285dea45f02305a05c545', ref: el => {
4088
+ }, user: this.user, terms: this.resolvedTerms, onLogoutRequest: this.handleCurrentUserLogout })), shouldShowLoginButton && h("kritzel-button", { key: '97cf48d83804dfa5220ce38500af3f96687354d2', onButtonClick: () => this.loginDialogRef?.open() }, this.resolvedTerms['login.dialogTitle'] ?? 'Sign in'), h("kritzel-more-menu", { key: '40a757fe355666e9306f2224d9ed9bf2c9b58f7a', items: this.resolvedMoreMenuItems, visible: this.isMoreMenuVisible, terms: this.resolvedTerms }), h("kritzel-share-dialog", { key: 'abb85b65a9d6196be701d35cbdf8bc3003d36bfe', ref: el => {
4054
4089
  if (el) {
4055
4090
  this.shareDialogRef = el;
4056
4091
  }
4057
- }, isPublic: this.currentIsPublic, workspaceId: this.activeWorkspace?.id, terms: this.resolvedTerms, onToggleIsPublic: this.handleToggleIsPublic }), this.loginConfig && (h("kritzel-login-dialog", { key: '84d0fab11722a7be1d5824b3284f000502277dfc', ref: el => {
4092
+ }, isPublic: this.currentIsPublic, workspaceId: this.activeWorkspace?.id, terms: this.resolvedTerms, onToggleIsPublic: this.handleToggleIsPublic }), this.loginConfig && (h("kritzel-login-dialog", { key: '6e8c86420a447b182bcbc23415d64a7fcb32a4a8', ref: el => {
4058
4093
  if (el) {
4059
4094
  this.loginDialogRef = el;
4060
4095
  }
@@ -4135,12 +4170,10 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
4135
4170
  "isWorkspaceManagerVisible": [4, "is-workspace-manager-visible"],
4136
4171
  "isMoreMenuVisible": [4, "is-more-menu-visible"],
4137
4172
  "isZoomPanelVisible": [4, "is-zoom-panel-visible"],
4138
- "isObjectDistanceFadingActive": [4, "is-object-distance-fading-active"],
4139
4173
  "syncConfig": [16],
4140
4174
  "assetStorageConfig": [16],
4141
4175
  "cursorTarget": [16],
4142
4176
  "loginConfig": [16],
4143
- "isLoading": [4, "is-loading"],
4144
4177
  "editorId": [1, "editor-id"],
4145
4178
  "activeWorkspaceId": [1, "active-workspace-id"],
4146
4179
  "isEngineReady": [32],
@@ -4163,7 +4196,6 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
4163
4196
  "normalizedControls": [32],
4164
4197
  "resolvedMoreMenuItems": [32],
4165
4198
  "isLoadingOverlayVisible": [32],
4166
- "isSyncingIndicatorVisible": [32],
4167
4199
  "getObjectById": [64],
4168
4200
  "addObject": [64],
4169
4201
  "addObjects": [64],
@@ -4288,7 +4320,7 @@ function defineCustomElement$1() {
4288
4320
  if (typeof customElements === "undefined") {
4289
4321
  return;
4290
4322
  }
4291
- const components = ["kritzel-editor", "kritzel-active-users", "kritzel-avatar", "kritzel-awareness-cursors", "kritzel-back-to-content", "kritzel-button", "kritzel-color", "kritzel-color-palette", "kritzel-context-menu", "kritzel-controls", "kritzel-current-user", "kritzel-current-user-dialog", "kritzel-cursor-trail", "kritzel-dialog", "kritzel-dropdown", "kritzel-engine", "kritzel-export", "kritzel-font", "kritzel-font-family", "kritzel-font-size", "kritzel-icon", "kritzel-input", "kritzel-line-endings", "kritzel-loading-overlay", "kritzel-login-dialog", "kritzel-master-detail", "kritzel-menu", "kritzel-menu-item", "kritzel-more-menu", "kritzel-notification-card", "kritzel-numeric-input", "kritzel-opacity-slider", "kritzel-pill-tabs", "kritzel-portal", "kritzel-settings", "kritzel-shape-fill", "kritzel-share-dialog", "kritzel-slide-toggle", "kritzel-split-button", "kritzel-stroke-size", "kritzel-sync-indicator", "kritzel-tool-config", "kritzel-tooltip", "kritzel-utility-panel", "kritzel-watermark", "kritzel-workspace-manager", "kritzel-zoom-panel"];
4323
+ const components = ["kritzel-editor", "kritzel-active-users", "kritzel-avatar", "kritzel-awareness-cursors", "kritzel-back-to-content", "kritzel-button", "kritzel-color", "kritzel-color-palette", "kritzel-context-menu", "kritzel-controls", "kritzel-current-user", "kritzel-current-user-dialog", "kritzel-cursor-trail", "kritzel-dialog", "kritzel-dropdown", "kritzel-engine", "kritzel-export", "kritzel-font", "kritzel-font-family", "kritzel-font-size", "kritzel-icon", "kritzel-input", "kritzel-line-endings", "kritzel-loading-overlay", "kritzel-login-dialog", "kritzel-master-detail", "kritzel-menu", "kritzel-menu-item", "kritzel-more-menu", "kritzel-notification-card", "kritzel-numeric-input", "kritzel-opacity-slider", "kritzel-pill-tabs", "kritzel-portal", "kritzel-settings", "kritzel-shape-fill", "kritzel-share-dialog", "kritzel-slide-toggle", "kritzel-split-button", "kritzel-stroke-size", "kritzel-tool-config", "kritzel-tooltip", "kritzel-utility-panel", "kritzel-watermark", "kritzel-workspace-manager", "kritzel-zoom-panel"];
4292
4324
  components.forEach(tagName => { switch (tagName) {
4293
4325
  case "kritzel-editor":
4294
4326
  if (!customElements.get(transformTag(tagName))) {
@@ -4296,201 +4328,196 @@ function defineCustomElement$1() {
4296
4328
  }
4297
4329
  break;
4298
4330
  case "kritzel-active-users":
4299
- if (!customElements.get(transformTag(tagName))) {
4300
- defineCustomElement$L();
4301
- }
4302
- break;
4303
- case "kritzel-avatar":
4304
4331
  if (!customElements.get(transformTag(tagName))) {
4305
4332
  defineCustomElement$K();
4306
4333
  }
4307
4334
  break;
4308
- case "kritzel-awareness-cursors":
4335
+ case "kritzel-avatar":
4309
4336
  if (!customElements.get(transformTag(tagName))) {
4310
4337
  defineCustomElement$J();
4311
4338
  }
4312
4339
  break;
4313
- case "kritzel-back-to-content":
4340
+ case "kritzel-awareness-cursors":
4314
4341
  if (!customElements.get(transformTag(tagName))) {
4315
4342
  defineCustomElement$I();
4316
4343
  }
4317
4344
  break;
4318
- case "kritzel-button":
4345
+ case "kritzel-back-to-content":
4319
4346
  if (!customElements.get(transformTag(tagName))) {
4320
4347
  defineCustomElement$H();
4321
4348
  }
4322
4349
  break;
4323
- case "kritzel-color":
4350
+ case "kritzel-button":
4324
4351
  if (!customElements.get(transformTag(tagName))) {
4325
4352
  defineCustomElement$G();
4326
4353
  }
4327
4354
  break;
4328
- case "kritzel-color-palette":
4355
+ case "kritzel-color":
4329
4356
  if (!customElements.get(transformTag(tagName))) {
4330
4357
  defineCustomElement$F();
4331
4358
  }
4332
4359
  break;
4333
- case "kritzel-context-menu":
4360
+ case "kritzel-color-palette":
4334
4361
  if (!customElements.get(transformTag(tagName))) {
4335
4362
  defineCustomElement$E();
4336
4363
  }
4337
4364
  break;
4338
- case "kritzel-controls":
4365
+ case "kritzel-context-menu":
4339
4366
  if (!customElements.get(transformTag(tagName))) {
4340
4367
  defineCustomElement$D();
4341
4368
  }
4342
4369
  break;
4343
- case "kritzel-current-user":
4370
+ case "kritzel-controls":
4344
4371
  if (!customElements.get(transformTag(tagName))) {
4345
4372
  defineCustomElement$C();
4346
4373
  }
4347
4374
  break;
4348
- case "kritzel-current-user-dialog":
4375
+ case "kritzel-current-user":
4349
4376
  if (!customElements.get(transformTag(tagName))) {
4350
4377
  defineCustomElement$B();
4351
4378
  }
4352
4379
  break;
4353
- case "kritzel-cursor-trail":
4380
+ case "kritzel-current-user-dialog":
4354
4381
  if (!customElements.get(transformTag(tagName))) {
4355
4382
  defineCustomElement$A();
4356
4383
  }
4357
4384
  break;
4358
- case "kritzel-dialog":
4385
+ case "kritzel-cursor-trail":
4359
4386
  if (!customElements.get(transformTag(tagName))) {
4360
4387
  defineCustomElement$z();
4361
4388
  }
4362
4389
  break;
4363
- case "kritzel-dropdown":
4390
+ case "kritzel-dialog":
4364
4391
  if (!customElements.get(transformTag(tagName))) {
4365
4392
  defineCustomElement$y();
4366
4393
  }
4367
4394
  break;
4368
- case "kritzel-engine":
4395
+ case "kritzel-dropdown":
4369
4396
  if (!customElements.get(transformTag(tagName))) {
4370
4397
  defineCustomElement$x();
4371
4398
  }
4372
4399
  break;
4373
- case "kritzel-export":
4400
+ case "kritzel-engine":
4374
4401
  if (!customElements.get(transformTag(tagName))) {
4375
4402
  defineCustomElement$w();
4376
4403
  }
4377
4404
  break;
4378
- case "kritzel-font":
4405
+ case "kritzel-export":
4379
4406
  if (!customElements.get(transformTag(tagName))) {
4380
4407
  defineCustomElement$v();
4381
4408
  }
4382
4409
  break;
4383
- case "kritzel-font-family":
4410
+ case "kritzel-font":
4384
4411
  if (!customElements.get(transformTag(tagName))) {
4385
4412
  defineCustomElement$u();
4386
4413
  }
4387
4414
  break;
4388
- case "kritzel-font-size":
4415
+ case "kritzel-font-family":
4389
4416
  if (!customElements.get(transformTag(tagName))) {
4390
4417
  defineCustomElement$t();
4391
4418
  }
4392
4419
  break;
4393
- case "kritzel-icon":
4420
+ case "kritzel-font-size":
4394
4421
  if (!customElements.get(transformTag(tagName))) {
4395
4422
  defineCustomElement$s();
4396
4423
  }
4397
4424
  break;
4398
- case "kritzel-input":
4425
+ case "kritzel-icon":
4399
4426
  if (!customElements.get(transformTag(tagName))) {
4400
4427
  defineCustomElement$r();
4401
4428
  }
4402
4429
  break;
4403
- case "kritzel-line-endings":
4430
+ case "kritzel-input":
4404
4431
  if (!customElements.get(transformTag(tagName))) {
4405
4432
  defineCustomElement$q();
4406
4433
  }
4407
4434
  break;
4408
- case "kritzel-loading-overlay":
4435
+ case "kritzel-line-endings":
4409
4436
  if (!customElements.get(transformTag(tagName))) {
4410
4437
  defineCustomElement$p();
4411
4438
  }
4412
4439
  break;
4413
- case "kritzel-login-dialog":
4440
+ case "kritzel-loading-overlay":
4414
4441
  if (!customElements.get(transformTag(tagName))) {
4415
4442
  defineCustomElement$o();
4416
4443
  }
4417
4444
  break;
4418
- case "kritzel-master-detail":
4445
+ case "kritzel-login-dialog":
4419
4446
  if (!customElements.get(transformTag(tagName))) {
4420
4447
  defineCustomElement$n();
4421
4448
  }
4422
4449
  break;
4423
- case "kritzel-menu":
4450
+ case "kritzel-master-detail":
4424
4451
  if (!customElements.get(transformTag(tagName))) {
4425
4452
  defineCustomElement$m();
4426
4453
  }
4427
4454
  break;
4428
- case "kritzel-menu-item":
4455
+ case "kritzel-menu":
4429
4456
  if (!customElements.get(transformTag(tagName))) {
4430
4457
  defineCustomElement$l();
4431
4458
  }
4432
4459
  break;
4433
- case "kritzel-more-menu":
4460
+ case "kritzel-menu-item":
4434
4461
  if (!customElements.get(transformTag(tagName))) {
4435
4462
  defineCustomElement$k();
4436
4463
  }
4437
4464
  break;
4438
- case "kritzel-notification-card":
4465
+ case "kritzel-more-menu":
4439
4466
  if (!customElements.get(transformTag(tagName))) {
4440
4467
  defineCustomElement$j();
4441
4468
  }
4442
4469
  break;
4443
- case "kritzel-numeric-input":
4470
+ case "kritzel-notification-card":
4444
4471
  if (!customElements.get(transformTag(tagName))) {
4445
4472
  defineCustomElement$i();
4446
4473
  }
4447
4474
  break;
4448
- case "kritzel-opacity-slider":
4475
+ case "kritzel-numeric-input":
4449
4476
  if (!customElements.get(transformTag(tagName))) {
4450
4477
  defineCustomElement$h();
4451
4478
  }
4452
4479
  break;
4453
- case "kritzel-pill-tabs":
4480
+ case "kritzel-opacity-slider":
4454
4481
  if (!customElements.get(transformTag(tagName))) {
4455
4482
  defineCustomElement$g();
4456
4483
  }
4457
4484
  break;
4458
- case "kritzel-portal":
4485
+ case "kritzel-pill-tabs":
4459
4486
  if (!customElements.get(transformTag(tagName))) {
4460
4487
  defineCustomElement$f();
4461
4488
  }
4462
4489
  break;
4463
- case "kritzel-settings":
4490
+ case "kritzel-portal":
4464
4491
  if (!customElements.get(transformTag(tagName))) {
4465
4492
  defineCustomElement$e();
4466
4493
  }
4467
4494
  break;
4468
- case "kritzel-shape-fill":
4495
+ case "kritzel-settings":
4469
4496
  if (!customElements.get(transformTag(tagName))) {
4470
4497
  defineCustomElement$d();
4471
4498
  }
4472
4499
  break;
4473
- case "kritzel-share-dialog":
4500
+ case "kritzel-shape-fill":
4474
4501
  if (!customElements.get(transformTag(tagName))) {
4475
4502
  defineCustomElement$c();
4476
4503
  }
4477
4504
  break;
4478
- case "kritzel-slide-toggle":
4505
+ case "kritzel-share-dialog":
4479
4506
  if (!customElements.get(transformTag(tagName))) {
4480
4507
  defineCustomElement$b();
4481
4508
  }
4482
4509
  break;
4483
- case "kritzel-split-button":
4510
+ case "kritzel-slide-toggle":
4484
4511
  if (!customElements.get(transformTag(tagName))) {
4485
4512
  defineCustomElement$a();
4486
4513
  }
4487
4514
  break;
4488
- case "kritzel-stroke-size":
4515
+ case "kritzel-split-button":
4489
4516
  if (!customElements.get(transformTag(tagName))) {
4490
4517
  defineCustomElement$9();
4491
4518
  }
4492
4519
  break;
4493
- case "kritzel-sync-indicator":
4520
+ case "kritzel-stroke-size":
4494
4521
  if (!customElements.get(transformTag(tagName))) {
4495
4522
  defineCustomElement$8();
4496
4523
  }
@@ -1,4 +1,4 @@
1
- import { G as KritzelEngine$1, C as defineCustomElement$1 } from './p-gJcH-huF.js';
1
+ import { H as KritzelEngine$1, G as defineCustomElement$1 } from './p-CYwoBiqy.js';
2
2
 
3
3
  const KritzelEngine = KritzelEngine$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelExport$1, d as defineCustomElement$1 } from './p-dsxHDlQ3.js';
1
+ import { K as KritzelExport$1, d as defineCustomElement$1 } from './p-Dpm75DfV.js';
2
2
 
3
3
  const KritzelExport = KritzelExport$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelFontSize$1, d as defineCustomElement$1 } from './p-2WiGyky4.js';
1
+ import { K as KritzelFontSize$1, d as defineCustomElement$1 } from './p-BprEDRpA.js';
2
2
 
3
3
  const KritzelFontSize = KritzelFontSize$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelFont$1, d as defineCustomElement$1 } from './p-DVXTPI71.js';
1
+ import { K as KritzelFont$1, d as defineCustomElement$1 } from './p-OUl5CA4Y.js';
2
2
 
3
3
  const KritzelFont = KritzelFont$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelInput$1, d as defineCustomElement$1 } from './p-PjPPCHVL.js';
1
+ import { K as KritzelInput$1, d as defineCustomElement$1 } from './p-NOWtUeeQ.js';
2
2
 
3
3
  const KritzelInput = KritzelInput$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelLoadingOverlay$1, d as defineCustomElement$1 } from './p-DB58Oa5V.js';
1
+ import { K as KritzelLoadingOverlay$1, d as defineCustomElement$1 } from './p-4uoSa0Xl.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-B5SWPDuq.js';
1
+ import { K as KritzelLoginDialog$1, d as defineCustomElement$1 } from './p-C0FEC_gS.js';
2
2
 
3
3
  const KritzelLoginDialog = KritzelLoginDialog$1;
4
4
  const defineCustomElement = defineCustomElement$1;