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.
Files changed (226) hide show
  1. package/LICENSE +21 -21
  2. package/LICENSE.md +49 -49
  3. package/dist/cjs/{index-Dn19mGl-.js → index-Xav9JFHg.js} +11 -47
  4. package/dist/cjs/index.cjs.js +51 -2
  5. package/dist/cjs/kritzel-active-users_47.cjs.entry.js +268 -139
  6. package/dist/cjs/kritzel-brush-style.cjs.entry.js +2 -2
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{schema.constants-CY0WWJYd.js → schema.constants-CjN-B633.js} +20 -44
  9. package/dist/cjs/stencil.cjs.js +2 -2
  10. package/dist/collection/classes/providers/sync/hocuspocus-sync-provider.class.js +21 -0
  11. package/dist/collection/classes/providers/sync/websocket-sync-provider.class.js +29 -1
  12. package/dist/collection/classes/structures/app-state-map.structure.js +19 -6
  13. package/dist/collection/classes/structures/object-map.structure.js +66 -4
  14. package/dist/collection/collection-manifest.json +1 -1
  15. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.css +115 -115
  16. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.js +1 -1
  17. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -10
  18. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  19. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +160 -160
  20. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +51 -18
  21. package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +80 -80
  22. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +87 -38
  23. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.css +29 -29
  24. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.js +2 -2
  25. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.css +58 -58
  26. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
  27. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.css +42 -42
  28. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +3 -3
  29. package/dist/collection/components/shared/kritzel-button/kritzel-button.css +73 -73
  30. package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
  31. package/dist/collection/components/shared/kritzel-color/kritzel-color.css +24 -24
  32. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  33. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +46 -46
  34. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  35. package/dist/collection/components/shared/kritzel-dialog/kritzel-dialog.css +209 -209
  36. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +190 -190
  37. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +2 -2
  38. package/dist/collection/components/shared/kritzel-font/kritzel-font.css +10 -10
  39. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  40. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.css +48 -48
  41. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +2 -2
  42. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +30 -30
  43. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  44. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +18 -18
  45. package/dist/collection/components/shared/kritzel-input/kritzel-input.css +69 -69
  46. package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
  47. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.css +60 -60
  48. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.js +3 -3
  49. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.css +190 -190
  50. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
  51. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +34 -34
  52. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
  53. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +166 -166
  54. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
  55. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.css +102 -102
  56. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
  57. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.css +85 -85
  58. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
  59. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.css +68 -68
  60. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.js +2 -2
  61. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
  62. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.css +47 -47
  63. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +4 -4
  64. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.css +48 -48
  65. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
  66. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +78 -78
  67. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
  68. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +37 -37
  69. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  70. package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.css +50 -50
  71. package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.js +1 -1
  72. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.css +18 -18
  73. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
  74. package/dist/collection/components/ui/kritzel-active-users/kritzel-active-users.css +65 -65
  75. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.css +42 -42
  76. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
  77. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +112 -112
  78. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +331 -331
  79. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +6 -6
  80. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.css +11 -11
  81. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +1 -1
  82. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.css +39 -39
  83. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +1 -1
  84. package/dist/collection/components/ui/kritzel-export/kritzel-export.css +89 -89
  85. package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
  86. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.css +50 -50
  87. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
  88. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.css +98 -98
  89. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
  90. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.css +58 -58
  91. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +2 -2
  92. package/dist/collection/components/ui/kritzel-notification-card/kritzel-notification-card.css +101 -101
  93. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.css +137 -137
  94. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
  95. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.css +150 -150
  96. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
  97. package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.css +38 -38
  98. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +45 -45
  99. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  100. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.css +16 -16
  101. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.css +72 -72
  102. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +1 -1
  103. package/dist/collection/constants/version.js +1 -1
  104. package/dist/collection/helpers/cursor.helper.js +6 -6
  105. package/dist/collection/helpers/svg-export.helper.js +41 -41
  106. package/dist/components/index.js +53 -4
  107. package/dist/components/kritzel-active-users.js +1 -1
  108. package/dist/components/kritzel-avatar.js +1 -1
  109. package/dist/components/kritzel-awareness-cursors.js +1 -1
  110. package/dist/components/kritzel-back-to-content.js +1 -1
  111. package/dist/components/kritzel-brush-style.js +4 -4
  112. package/dist/components/kritzel-button.js +1 -1
  113. package/dist/components/kritzel-color-palette.js +1 -1
  114. package/dist/components/kritzel-color.js +1 -1
  115. package/dist/components/kritzel-context-menu.js +1 -1
  116. package/dist/components/kritzel-controls.js +1 -1
  117. package/dist/components/kritzel-current-user-dialog.js +1 -1
  118. package/dist/components/kritzel-current-user.js +1 -1
  119. package/dist/components/kritzel-cursor-trail.js +1 -1
  120. package/dist/components/kritzel-dialog.js +1 -1
  121. package/dist/components/kritzel-dropdown.js +1 -1
  122. package/dist/components/kritzel-editor.js +61 -56
  123. package/dist/components/kritzel-engine.js +1 -1
  124. package/dist/components/kritzel-export.js +1 -1
  125. package/dist/components/kritzel-font-family.js +1 -1
  126. package/dist/components/kritzel-font-size.js +1 -1
  127. package/dist/components/kritzel-font.js +1 -1
  128. package/dist/components/kritzel-icon.js +1 -1
  129. package/dist/components/kritzel-input.js +1 -1
  130. package/dist/components/kritzel-line-endings.js +1 -1
  131. package/dist/components/kritzel-loading-overlay.js +1 -1
  132. package/dist/components/kritzel-login-dialog.js +1 -1
  133. package/dist/components/kritzel-master-detail.js +1 -1
  134. package/dist/components/kritzel-menu-item.js +1 -1
  135. package/dist/components/kritzel-menu.js +1 -1
  136. package/dist/components/kritzel-more-menu.js +1 -1
  137. package/dist/components/kritzel-notification-card.js +1 -1
  138. package/dist/components/kritzel-numeric-input.js +1 -1
  139. package/dist/components/kritzel-opacity-slider.js +1 -1
  140. package/dist/components/kritzel-pill-tabs.js +1 -1
  141. package/dist/components/kritzel-portal.js +1 -1
  142. package/dist/components/kritzel-settings.js +1 -1
  143. package/dist/components/kritzel-shape-fill.js +1 -1
  144. package/dist/components/kritzel-share-dialog.js +1 -1
  145. package/dist/components/kritzel-slide-toggle.js +1 -1
  146. package/dist/components/kritzel-split-button.js +1 -1
  147. package/dist/components/kritzel-stroke-size.js +1 -1
  148. package/dist/components/kritzel-sync-indicator.js +1 -1
  149. package/dist/components/kritzel-tool-config.js +1 -1
  150. package/dist/components/kritzel-tooltip.js +1 -1
  151. package/dist/components/kritzel-utility-panel.js +1 -1
  152. package/dist/components/kritzel-watermark.js +1 -1
  153. package/dist/components/kritzel-workspace-manager.js +1 -1
  154. package/dist/components/kritzel-zoom-panel.js +1 -1
  155. package/dist/components/{p-CLAz6RJc.js → p-2WiGyky4.js} +3 -3
  156. package/dist/components/{p-zG-WUBGF.js → p-4SPnZZkH.js} +4 -4
  157. package/dist/components/{p-MhQxGUvY.js → p-B-585egz.js} +3 -3
  158. package/dist/components/{p-C9_yBEoX.js → p-B43upypT.js} +10 -30
  159. package/dist/components/{p-CSKToqUl.js → p-B5SWPDuq.js} +4 -4
  160. package/dist/components/{p-Covorf4C.js → p-BFYtCsZu.js} +3 -3
  161. package/dist/components/{p-Csxx9TbU.js → p-BNeE3SiZ.js} +216 -116
  162. package/dist/components/{p-DYPA7jpg.js → p-BPsKYMH6.js} +2 -2
  163. package/dist/components/{p-Cx-L_28S.js → p-BoN700-O.js} +3 -3
  164. package/dist/components/{p-ME1sDz3f.js → p-BozrueXV.js} +2 -2
  165. package/dist/components/{p-D2VcPEtL.js → p-BrNsOp2v.js} +6 -6
  166. package/dist/components/{p-BXUx_C0N.js → p-BsLI_BWq.js} +2 -2
  167. package/dist/components/{p-dAXnRkjA.js → p-C98Eb3_R.js} +5 -5
  168. package/dist/components/{p-Bxi-Bm49.js → p-CAoN_STZ.js} +2 -2
  169. package/dist/components/{p-CSWCmyzb.js → p-CF8pLc07.js} +5 -5
  170. package/dist/components/{p-D3BzgkIE.js → p-CSPYkLLH.js} +2 -2
  171. package/dist/components/{p-Ck-87E2G.js → p-CSuU8frA.js} +1 -1
  172. package/dist/components/{p-Di--2boB.js → p-CXpv9Rxe.js} +3 -3
  173. package/dist/components/{p-o3NYKrVL.js → p-CaBbajU2.js} +3 -3
  174. package/dist/components/{p-3tBE7SyG.js → p-Cm33td2O.js} +2 -2
  175. package/dist/components/{p-vDCa_ZDm.js → p-CrHvaLRV.js} +3 -3
  176. package/dist/components/{p-DT_WBwsw.js → p-CwZ3KKFq.js} +6 -6
  177. package/dist/components/{p-BZZ3KRPk.js → p-CzW58DHM.js} +3 -3
  178. package/dist/components/{p-BrqSjRJN.js → p-Czhdc844.js} +3 -3
  179. package/dist/components/{p-BkXQL5Dl.js → p-D1rjfWgJ.js} +5 -5
  180. package/dist/components/{p-DPsbNStn.js → p-DB58Oa5V.js} +2 -2
  181. package/dist/components/{p-DafP9PAA.js → p-DBqoPgev.js} +2 -2
  182. package/dist/components/{p-BrA9NBEE.js → p-DDTMGbtA.js} +21 -21
  183. package/dist/components/{p-Dznwo6oc.js → p-DKGg-76-.js} +2 -2
  184. package/dist/components/{p-Dp1CD4gK.js → p-DVXTPI71.js} +2 -2
  185. package/dist/components/{p-QSyeAy8R.js → p-DX2nriaq.js} +2 -2
  186. package/dist/components/{p-CHoOe3FD.js → p-Df3BwVGy.js} +3 -3
  187. package/dist/components/{p-DcUIO14-.js → p-Dt7-I2Xz.js} +4 -4
  188. package/dist/components/{p-BShrnlam.js → p-DtnMdWWB.js} +2 -2
  189. package/dist/components/{p-Ch-KG9To.js → p-DwMqCX2P.js} +3 -3
  190. package/dist/components/{p-25ExYYPf.js → p-Dx5NfJ0U.js} +9 -9
  191. package/dist/components/{p-fSV6KVTC.js → p-GKmqCI8r.js} +3 -3
  192. package/dist/components/{p-CWAChRD5.js → p-HoO86l1o.js} +12 -12
  193. package/dist/components/{p-Qdo3E8dr.js → p-PjPPCHVL.js} +2 -2
  194. package/dist/components/{p-D6JycG-I.js → p-bAacqNHq.js} +3 -3
  195. package/dist/components/{p-DjXQxw9R.js → p-djJSnjAX.js} +3 -3
  196. package/dist/components/{p-b0J2ktAm.js → p-dsxHDlQ3.js} +7 -7
  197. package/dist/components/{p-BppcoKoo.js → p-eZXIu4yK.js} +5 -5
  198. package/dist/components/{p-BFYT03fw.js → p-fL9rl200.js} +3 -3
  199. package/dist/components/{p-1Q4VnThv.js → p-jIKskj3S.js} +3 -3
  200. package/dist/components/{p-D0Trc3IQ.js → p-vqEUQ-4Q.js} +5 -5
  201. package/dist/esm/{index-2va1Pk9z.js → index-Dhio9uis.js} +11 -47
  202. package/dist/esm/index.js +52 -3
  203. package/dist/esm/kritzel-active-users_47.entry.js +268 -139
  204. package/dist/esm/kritzel-brush-style.entry.js +2 -2
  205. package/dist/esm/loader.js +2 -2
  206. package/dist/esm/{schema.constants-DBvUmuDH.js → schema.constants-DfvqHmxc.js} +20 -44
  207. package/dist/esm/stencil.js +3 -3
  208. package/dist/stencil/index.esm.js +52 -3
  209. package/dist/stencil/{p-DBvUmuDH.js → p-DfvqHmxc.js} +20 -44
  210. package/dist/stencil/{p-2va1Pk9z.js → p-Dhio9uis.js} +11 -47
  211. package/dist/stencil/{p-d19d1b82.entry.js → p-ab5c4292.entry.js} +268 -139
  212. package/dist/stencil/{p-df06ca3a.entry.js → p-fb32cd8f.entry.js} +2 -2
  213. package/dist/stencil/stencil.esm.js +4 -4
  214. package/dist/types/classes/providers/sync/hocuspocus-sync-provider.class.d.ts +5 -0
  215. package/dist/types/classes/providers/sync/websocket-sync-provider.class.d.ts +6 -0
  216. package/dist/types/classes/structures/app-state-map.structure.d.ts +6 -0
  217. package/dist/types/classes/structures/object-map.structure.d.ts +26 -2
  218. package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +3 -0
  219. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +14 -1
  220. package/dist/types/components.d.ts +8 -1
  221. package/dist/types/constants/version.d.ts +1 -1
  222. package/dist/types/interfaces/sync-provider.interface.d.ts +13 -0
  223. package/dist/types/stencil-public-runtime.d.ts +0 -12
  224. package/loader/index.d.ts +1 -1
  225. package/package.json +1 -1
  226. package/readme.md +10 -10
@@ -1,6 +1,6 @@
1
- export { g as getAssetPath, r as render, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-C9_yBEoX.js';
2
- export { K as KritzelBaseObject, b as KritzelLine, a as KritzelPath } from './p-D6JycG-I.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-Csxx9TbU.js';
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 && !this._quiet) {
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-DafP9PAA.js';
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 { K as KritzelAvatar$1, d as defineCustomElement$1 } from './p-zG-WUBGF.js';
1
+ import { K as KritzelAvatar$1, d as defineCustomElement$1 } from './p-4SPnZZkH.js';
2
2
 
3
3
  const KritzelAvatar = KritzelAvatar$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { c as KritzelAwarenessCursors$1, d as defineCustomElement$1 } from './p-D6JycG-I.js';
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-BrqSjRJN.js';
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-C9_yBEoX.js';
2
- import { d as defineCustomElement$3 } from './p-CHoOe3FD.js';
3
- import { d as defineCustomElement$2 } from './p-Ck-87E2G.js';
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: '51a7f84685032fd8fc967b22bee7c0711e811a54' }, h("kritzel-dropdown", { key: 'e49d7062c695458d345738d88a0adfc96b575e61', options: dropdownOptions, value: this.type, onValueChanged: event => this.handleDropdownValueChange(event) }, h("button", { key: 'ebbbf1a55b89e91012ca44c5cf30acfb77332b50', class: "brush-style-button", slot: "prefix" }, h("kritzel-icon", { key: 'dae002c9ab5e3486c726202426eb076a8f33b109', name: this.type, size: 16 })))));
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 KritzelButton$1, d as defineCustomElement$1 } from './p-Cx-L_28S.js';
1
+ import { K as KritzelButton$1, d as defineCustomElement$1 } from './p-BoN700-O.js';
2
2
 
3
3
  const KritzelButton = KritzelButton$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelColorPalette$1, d as defineCustomElement$1 } from './p-MhQxGUvY.js';
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-DcUIO14-.js';
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-D3BzgkIE.js';
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-BrA9NBEE.js';
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-D0Trc3IQ.js';
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-Ch-KG9To.js';
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-3tBE7SyG.js';
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 KritzelDialog$1, d as defineCustomElement$1 } from './p-QSyeAy8R.js';
1
+ import { K as KritzelDialog$1, d as defineCustomElement$1 } from './p-DX2nriaq.js';
2
2
 
3
3
  const KritzelDialog = KritzelDialog$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelDropdown$1, d as defineCustomElement$1 } from './p-CHoOe3FD.js';
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-C9_yBEoX.js';
2
- import { K as KritzelIconRegistry, d as defineCustomElement$s } from './p-Ck-87E2G.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-Csxx9TbU.js';
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-BShrnlam.js';
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-D6JycG-I.js';
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-DafP9PAA.js';
14
- import { d as defineCustomElement$K } from './p-zG-WUBGF.js';
15
- import { d as defineCustomElement$I } from './p-BrqSjRJN.js';
16
- import { d as defineCustomElement$H } from './p-Cx-L_28S.js';
17
- import { d as defineCustomElement$G } from './p-DcUIO14-.js';
18
- import { d as defineCustomElement$F } from './p-MhQxGUvY.js';
19
- import { d as defineCustomElement$E } from './p-D3BzgkIE.js';
20
- import { d as defineCustomElement$D } from './p-BrA9NBEE.js';
21
- import { d as defineCustomElement$C } from './p-Ch-KG9To.js';
22
- import { d as defineCustomElement$B } from './p-D0Trc3IQ.js';
23
- import { d as defineCustomElement$A } from './p-3tBE7SyG.js';
24
- import { d as defineCustomElement$z } from './p-QSyeAy8R.js';
25
- import { d as defineCustomElement$y } from './p-CHoOe3FD.js';
26
- import { d as defineCustomElement$w } from './p-b0J2ktAm.js';
27
- import { d as defineCustomElement$v } from './p-Dp1CD4gK.js';
28
- import { d as defineCustomElement$u } from './p-DjXQxw9R.js';
29
- import { d as defineCustomElement$t } from './p-CLAz6RJc.js';
30
- import { d as defineCustomElement$r } from './p-Qdo3E8dr.js';
31
- import { d as defineCustomElement$q } from './p-Di--2boB.js';
32
- import { d as defineCustomElement$p } from './p-DPsbNStn.js';
33
- import { d as defineCustomElement$o } from './p-CSKToqUl.js';
34
- import { d as defineCustomElement$n } from './p-CSWCmyzb.js';
35
- import { d as defineCustomElement$l, a as defineCustomElement$m } from './p-D2VcPEtL.js';
36
- import { d as defineCustomElement$k } from './p-BppcoKoo.js';
37
- import { d as defineCustomElement$j } from './p-BXUx_C0N.js';
38
- import { d as defineCustomElement$i } from './p-Dznwo6oc.js';
39
- import { d as defineCustomElement$h } from './p-vDCa_ZDm.js';
40
- import { d as defineCustomElement$g } from './p-1Q4VnThv.js';
41
- import { d as defineCustomElement$f } from './p-DYPA7jpg.js';
42
- import { d as defineCustomElement$e } from './p-25ExYYPf.js';
43
- import { d as defineCustomElement$d } from './p-Covorf4C.js';
44
- import { d as defineCustomElement$c } from './p-DT_WBwsw.js';
45
- import { d as defineCustomElement$b } from './p-ME1sDz3f.js';
46
- import { d as defineCustomElement$a } from './p-dAXnRkjA.js';
47
- import { d as defineCustomElement$9 } from './p-fSV6KVTC.js';
48
- import { d as defineCustomElement$8 } from './p-Bxi-Bm49.js';
49
- import { d as defineCustomElement$7 } from './p-CWAChRD5.js';
50
- import { d as defineCustomElement$6 } from './p-o3NYKrVL.js';
51
- import { d as defineCustomElement$5 } from './p-BZZ3KRPk.js';
52
- import { d as defineCustomElement$3 } from './p-BkXQL5Dl.js';
53
- import { d as defineCustomElement$2 } from './p-BFYT03fw.js';
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) 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}`;
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: 'b7b9b3cd6a81c4a7b8aa9730259377c8448336ba' }, h("div", { key: '7714490de58839fffb5a20d355a942dbb4d62409', class: "editor-content", style: {
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: '0e9c1c786beacd19e8ef5a6e519e47efe7bf35f6', class: "top-left-buttons" }, h("kritzel-workspace-manager", { key: 'cd85c3bf1f6b281057d7538cb5d192b8826bc9ee', 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: 'ea0065152125ca3318da9e6fc4c372ae4b71e053', visible: this.isBackToContentButtonVisible, text: this.resolvedTerms['backToContent.label'] ?? 'Back to content', onBackToContent: () => this.backToContent() })), this.activeNotification && (h("div", { key: 'efde12cf6ed5fe19b651862ef7a123edacfc1e30', class: "top-center-notification-layer", role: "presentation" }, h("div", { key: '3bffe023e9119868ad18a52690272adb073ee3b0', class: { 'top-center-notification-container': true, 'is-dismissing': this.isNotificationDismissing }, role: "presentation" }, h("kritzel-notification-card", { key: 'fcf62343eb401093ae6bfa1298f76d25d48eb0e4', 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: '9de9892adaaf4c123d4636393ccfa13a48730b17', class: "context-menu", items: this.contextMenuState.items, objects: this.contextMenuState.objects, style: {
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: 'b0369b8006e4df5b7b395487de085faf11a59ed7', visible: this.isSyncing, text: "Syncing..." }), h("kritzel-loading-overlay", { key: '4509e6fca3da8a8b1a5ac1e82581cfa136ab9913', visible: this.isLoadingOverlayVisible, text: this.resolvedTerms['editor.loading'] ?? 'Loading...' }), h("kritzel-engine", { key: 'ec14d7f4f12dcf08c036a60b3ccc15a9fc558bd7', ref: el => {
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: '59413042ba6aff8e972d51e4a04a44893b3a4b97', visible: this.isControlsVisible, class: { 'keyboard-open': this.isVirtualKeyboardOpen }, ref: el => {
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: '4cde7726bc85e97c20687f43673689c6e1825dbd', class: "bottom-left-buttons" }, h("kritzel-zoom-panel", { key: '8b7bd923d0086548325f8c38d0a1c16bb0335ed0', visible: this.isZoomPanelVisible, disabled: !this.isZoomingEnabled, zoomPercent: this.currentZoomPercent, terms: this.resolvedTerms, onZoomIn: () => this.zoomIn(), onZoomOut: () => this.zoomOut() })), h("div", { key: 'c445b1efd03ed38e1b75361cd95cdef90f789825', class: "top-right-buttons" }, h("kritzel-settings", { key: 'c7b555a2a35833c362271006089a2632bd5db4f8', ref: el => {
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: '9789c32789c70d817ca894fceee74610c494eede', ref: el => {
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: '010d5137a3204b5f90ecbfb10c06e4823c0acec3', users: this.activeUsers }), shouldShowCurrentUser && h("kritzel-current-user", { key: '65b04f1d7912cf03baabe5bed8e37db8aaf4fe17', user: this.user, terms: this.resolvedTerms, onClick: () => this.currentUserDialogRef?.open() }), shouldShowCurrentUser && (h("kritzel-current-user-dialog", { key: 'ffceb4a511e1f51a193d8a3ee9c331d4aa5c270b', ref: el => {
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: '789427d5e7af880420830f69ec292d5a78831fde', onButtonClick: () => this.loginDialogRef?.open() }, this.resolvedTerms['login.dialogTitle'] ?? 'Sign in'), h("kritzel-more-menu", { key: '053f004ac79f7fa7413238dcd4276f75cb47ce74', items: this.resolvedMoreMenuItems, visible: this.isMoreMenuVisible, terms: this.resolvedTerms }), h("kritzel-share-dialog", { key: '60f608263145323645f3b292243b63243676680b', ref: el => {
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: '94e8ccb8da10cc8bfe6bb3debe21af40a47aeea7', ref: el => {
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 { G as KritzelEngine$1, C as defineCustomElement$1 } from './p-Csxx9TbU.js';
1
+ import { G as KritzelEngine$1, C as defineCustomElement$1 } from './p-BNeE3SiZ.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-b0J2ktAm.js';
1
+ import { K as KritzelExport$1, d as defineCustomElement$1 } from './p-dsxHDlQ3.js';
2
2
 
3
3
  const KritzelExport = KritzelExport$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelFontFamily$1, d as defineCustomElement$1 } from './p-DjXQxw9R.js';
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-CLAz6RJc.js';
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 KritzelFont$1, d as defineCustomElement$1 } from './p-Dp1CD4gK.js';
1
+ import { K as KritzelFont$1, d as defineCustomElement$1 } from './p-DVXTPI71.js';
2
2
 
3
3
  const KritzelFont = KritzelFont$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { a as KritzelIcon$1, d as defineCustomElement$1 } from './p-Ck-87E2G.js';
1
+ import { a as KritzelIcon$1, d as defineCustomElement$1 } from './p-CSuU8frA.js';
2
2
 
3
3
  const KritzelIcon = KritzelIcon$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelInput$1, d as defineCustomElement$1 } from './p-Qdo3E8dr.js';
1
+ import { K as KritzelInput$1, d as defineCustomElement$1 } from './p-PjPPCHVL.js';
2
2
 
3
3
  const KritzelInput = KritzelInput$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelLineEndings$1, d as defineCustomElement$1 } from './p-Di--2boB.js';
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-DPsbNStn.js';
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-CSKToqUl.js';
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-CSWCmyzb.js';
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-D2VcPEtL.js';
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 KritzelMenu$1, a as defineCustomElement$1 } from './p-D2VcPEtL.js';
1
+ import { K as KritzelMenu$1, a as defineCustomElement$1 } from './p-BrNsOp2v.js';
2
2
 
3
3
  const KritzelMenu = KritzelMenu$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KritzelMoreMenu$1, d as defineCustomElement$1 } from './p-BppcoKoo.js';
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-BXUx_C0N.js';
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-Dznwo6oc.js';
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-vDCa_ZDm.js';
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-1Q4VnThv.js';
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;