kritzel-stencil 0.4.24 → 0.4.26

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 (225) hide show
  1. package/LICENSE +21 -21
  2. package/LICENSE.md +49 -49
  3. package/dist/cjs/{index-Dn19mGl-.js → index-Xav9JFHg.js} +13 -49
  4. package/dist/cjs/index.cjs.js +7 -1
  5. package/dist/cjs/{kritzel-active-users_47.cjs.entry.js → kritzel-active-users_46.cjs.entry.js} +112 -217
  6. package/dist/cjs/kritzel-brush-style.cjs.entry.js +2 -2
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/{schema.constants-CY0WWJYd.js → schema.constants-CjN-B633.js} +20 -44
  9. package/dist/cjs/stencil.cjs.js +3 -3
  10. package/dist/collection/classes/providers/sync/hocuspocus-sync-provider.class.js +3 -0
  11. package/dist/collection/classes/providers/sync/websocket-sync-provider.class.js +3 -0
  12. package/dist/collection/collection-manifest.json +1 -2
  13. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.css +115 -115
  14. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.js +1 -1
  15. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -10
  16. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  17. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +160 -160
  18. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +18 -20
  19. package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +80 -80
  20. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +22 -124
  21. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.css +29 -29
  22. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.js +2 -2
  23. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.css +58 -58
  24. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
  25. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.css +42 -42
  26. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +3 -3
  27. package/dist/collection/components/shared/kritzel-button/kritzel-button.css +73 -73
  28. package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
  29. package/dist/collection/components/shared/kritzel-color/kritzel-color.css +24 -24
  30. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  31. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +46 -46
  32. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  33. package/dist/collection/components/shared/kritzel-dialog/kritzel-dialog.css +209 -209
  34. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +190 -190
  35. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +2 -2
  36. package/dist/collection/components/shared/kritzel-font/kritzel-font.css +10 -10
  37. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  38. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.css +48 -48
  39. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +2 -2
  40. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +30 -30
  41. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  42. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +18 -18
  43. package/dist/collection/components/shared/kritzel-input/kritzel-input.css +69 -69
  44. package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
  45. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.css +60 -60
  46. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.js +3 -3
  47. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.css +190 -190
  48. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
  49. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +34 -34
  50. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
  51. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +166 -166
  52. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
  53. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.css +102 -102
  54. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
  55. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.css +85 -85
  56. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
  57. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.css +68 -68
  58. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.js +2 -2
  59. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
  60. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.css +47 -47
  61. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +4 -4
  62. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.css +48 -48
  63. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
  64. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +78 -78
  65. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
  66. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +37 -37
  67. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  68. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.css +18 -18
  69. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
  70. package/dist/collection/components/ui/kritzel-active-users/kritzel-active-users.css +65 -65
  71. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.css +42 -42
  72. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
  73. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +112 -112
  74. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +331 -331
  75. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +6 -6
  76. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.css +11 -11
  77. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +1 -1
  78. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.css +39 -39
  79. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +1 -1
  80. package/dist/collection/components/ui/kritzel-export/kritzel-export.css +89 -89
  81. package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
  82. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.css +50 -50
  83. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
  84. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.css +98 -98
  85. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
  86. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.css +58 -58
  87. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +2 -2
  88. package/dist/collection/components/ui/kritzel-notification-card/kritzel-notification-card.css +101 -101
  89. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.css +137 -137
  90. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
  91. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.css +150 -150
  92. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
  93. package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.css +38 -38
  94. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +45 -45
  95. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  96. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.css +16 -16
  97. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.css +72 -72
  98. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +1 -1
  99. package/dist/collection/constants/version.js +1 -1
  100. package/dist/collection/helpers/cursor.helper.js +6 -6
  101. package/dist/collection/helpers/svg-export.helper.js +41 -41
  102. package/dist/components/index.d.ts +0 -2
  103. package/dist/components/index.js +9 -4
  104. package/dist/components/kritzel-active-users.js +1 -1
  105. package/dist/components/kritzel-avatar.js +1 -1
  106. package/dist/components/kritzel-awareness-cursors.js +1 -1
  107. package/dist/components/kritzel-back-to-content.js +1 -1
  108. package/dist/components/kritzel-brush-style.js +4 -4
  109. package/dist/components/kritzel-button.js +1 -1
  110. package/dist/components/kritzel-color-palette.js +1 -1
  111. package/dist/components/kritzel-color.js +1 -1
  112. package/dist/components/kritzel-context-menu.js +1 -1
  113. package/dist/components/kritzel-controls.js +1 -1
  114. package/dist/components/kritzel-current-user-dialog.js +1 -1
  115. package/dist/components/kritzel-current-user.js +1 -1
  116. package/dist/components/kritzel-cursor-trail.js +1 -1
  117. package/dist/components/kritzel-dialog.js +1 -1
  118. package/dist/components/kritzel-dropdown.js +1 -1
  119. package/dist/components/kritzel-editor.js +94 -102
  120. package/dist/components/kritzel-engine.js +1 -1
  121. package/dist/components/kritzel-export.js +1 -1
  122. package/dist/components/kritzel-font-family.js +1 -1
  123. package/dist/components/kritzel-font-size.js +1 -1
  124. package/dist/components/kritzel-font.js +1 -1
  125. package/dist/components/kritzel-icon.js +1 -1
  126. package/dist/components/kritzel-input.js +1 -1
  127. package/dist/components/kritzel-line-endings.js +1 -1
  128. package/dist/components/kritzel-loading-overlay.js +1 -1
  129. package/dist/components/kritzel-login-dialog.js +1 -1
  130. package/dist/components/kritzel-master-detail.js +1 -1
  131. package/dist/components/kritzel-menu-item.js +1 -1
  132. package/dist/components/kritzel-menu.js +1 -1
  133. package/dist/components/kritzel-more-menu.js +1 -1
  134. package/dist/components/kritzel-notification-card.js +1 -1
  135. package/dist/components/kritzel-numeric-input.js +1 -1
  136. package/dist/components/kritzel-opacity-slider.js +1 -1
  137. package/dist/components/kritzel-pill-tabs.js +1 -1
  138. package/dist/components/kritzel-portal.js +1 -1
  139. package/dist/components/kritzel-settings.js +1 -1
  140. package/dist/components/kritzel-shape-fill.js +1 -1
  141. package/dist/components/kritzel-share-dialog.js +1 -1
  142. package/dist/components/kritzel-slide-toggle.js +1 -1
  143. package/dist/components/kritzel-split-button.js +1 -1
  144. package/dist/components/kritzel-stroke-size.js +1 -1
  145. package/dist/components/kritzel-tool-config.js +1 -1
  146. package/dist/components/kritzel-tooltip.js +1 -1
  147. package/dist/components/kritzel-utility-panel.js +1 -1
  148. package/dist/components/kritzel-watermark.js +1 -1
  149. package/dist/components/kritzel-workspace-manager.js +1 -1
  150. package/dist/components/kritzel-zoom-panel.js +1 -1
  151. package/dist/components/{p-BFYT03fw.js → p-B38_9BJg.js} +3 -3
  152. package/dist/components/{p-C9_yBEoX.js → p-B43upypT.js} +10 -30
  153. package/dist/components/{p-Covorf4C.js → p-BFYtCsZu.js} +3 -3
  154. package/dist/components/{p-BppcoKoo.js → p-BPzdPKWE.js} +5 -5
  155. package/dist/components/{p-Cx-L_28S.js → p-Ba0c-tu2.js} +3 -3
  156. package/dist/components/{p-MhQxGUvY.js → p-BeSKOETx.js} +3 -3
  157. package/dist/components/{p-CLAz6RJc.js → p-BprEDRpA.js} +3 -3
  158. package/dist/components/{p-BXUx_C0N.js → p-BsLI_BWq.js} +2 -2
  159. package/dist/components/{p-CSKToqUl.js → p-C0FEC_gS.js} +4 -4
  160. package/dist/components/{p-D2VcPEtL.js → p-CAXR5-S9.js} +6 -6
  161. package/dist/components/{p-DYPA7jpg.js → p-CBrn5AIB.js} +2 -2
  162. package/dist/components/{p-D3BzgkIE.js → p-CSPYkLLH.js} +2 -2
  163. package/dist/components/{p-Ck-87E2G.js → p-CSuU8frA.js} +1 -1
  164. package/dist/components/{p-Di--2boB.js → p-CXpv9Rxe.js} +3 -3
  165. package/dist/components/{p-dAXnRkjA.js → p-Ce1j1-Hg.js} +5 -5
  166. package/dist/components/{p-BrA9NBEE.js → p-CeffYwAK.js} +21 -21
  167. package/dist/components/{p-DT_WBwsw.js → p-ChPs27Fd.js} +6 -6
  168. package/dist/components/{p-3tBE7SyG.js → p-Cm33td2O.js} +2 -2
  169. package/dist/components/{p-BkXQL5Dl.js → p-CoXN583u.js} +5 -5
  170. package/dist/components/{p-Ch-KG9To.js → p-CucCT7Qn.js} +3 -3
  171. package/dist/components/{p-DPsbNStn.js → p-Cva3jIIU.js} +2 -2
  172. package/dist/components/{p-D0Trc3IQ.js → p-D0Ed8epW.js} +5 -5
  173. package/dist/components/{p-DafP9PAA.js → p-DFMZEarE.js} +2 -2
  174. package/dist/components/{p-BShrnlam.js → p-DK0anxtL.js} +2 -2
  175. package/dist/components/{p-zG-WUBGF.js → p-DN9p3G9K.js} +4 -4
  176. package/dist/components/{p-DcUIO14-.js → p-DOTdJ3JQ.js} +4 -4
  177. package/dist/components/{p-CWAChRD5.js → p-DOl-95VY.js} +12 -12
  178. package/dist/components/{p-Dznwo6oc.js → p-DTB3ykgO.js} +2 -2
  179. package/dist/components/{p-BZZ3KRPk.js → p-DUmLsjKb.js} +3 -3
  180. package/dist/components/{p-DwEYMvIn.js → p-DUoQyGKc.js} +66 -178
  181. package/dist/components/{p-QSyeAy8R.js → p-DX2nriaq.js} +2 -2
  182. package/dist/components/{p-BrqSjRJN.js → p-D_cyY7Nd.js} +3 -3
  183. package/dist/components/{p-CHoOe3FD.js → p-Df3BwVGy.js} +3 -3
  184. package/dist/components/{p-CSWCmyzb.js → p-DhabvHJM.js} +5 -5
  185. package/dist/components/{p-o3NYKrVL.js → p-DkHYY72B.js} +3 -3
  186. package/dist/components/{p-vDCa_ZDm.js → p-DnmVD1Mz.js} +3 -3
  187. package/dist/components/{p-fSV6KVTC.js → p-DoxFuOy1.js} +3 -3
  188. package/dist/components/{p-b0J2ktAm.js → p-Dpm75DfV.js} +7 -7
  189. package/dist/components/{p-ME1sDz3f.js → p-Dvn6ad4a.js} +2 -2
  190. package/dist/components/{p-Qdo3E8dr.js → p-NOWtUeeQ.js} +2 -2
  191. package/dist/components/{p-Dp1CD4gK.js → p-OUl5CA4Y.js} +2 -2
  192. package/dist/components/{p-D6JycG-I.js → p-bAacqNHq.js} +3 -3
  193. package/dist/components/{p-DjXQxw9R.js → p-djJSnjAX.js} +3 -3
  194. package/dist/components/{p-1Q4VnThv.js → p-jIKskj3S.js} +3 -3
  195. package/dist/components/{p-DW1B118Q.js → p-m7SeNszM.js} +9 -9
  196. package/dist/esm/{index-2va1Pk9z.js → index-Dhio9uis.js} +13 -49
  197. package/dist/esm/index.js +8 -2
  198. package/dist/{stencil/p-ce6d432e.entry.js → esm/kritzel-active-users_46.entry.js} +113 -217
  199. package/dist/esm/kritzel-brush-style.entry.js +2 -2
  200. package/dist/esm/loader.js +3 -3
  201. package/dist/esm/{schema.constants-DBvUmuDH.js → schema.constants-DfvqHmxc.js} +20 -44
  202. package/dist/esm/stencil.js +4 -4
  203. package/dist/stencil/index.esm.js +8 -2
  204. package/dist/{esm/kritzel-active-users_47.entry.js → stencil/p-5c045d3e.entry.js} +113 -217
  205. package/dist/stencil/{p-DBvUmuDH.js → p-DfvqHmxc.js} +20 -44
  206. package/dist/stencil/{p-2va1Pk9z.js → p-Dhio9uis.js} +11 -47
  207. package/dist/stencil/{p-df06ca3a.entry.js → p-fb32cd8f.entry.js} +2 -2
  208. package/dist/stencil/stencil.esm.js +4 -4
  209. package/dist/types/classes/providers/sync/hocuspocus-sync-provider.class.d.ts +1 -0
  210. package/dist/types/classes/providers/sync/websocket-sync-provider.class.d.ts +1 -0
  211. package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +0 -1
  212. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +0 -14
  213. package/dist/types/components.d.ts +0 -42
  214. package/dist/types/constants/version.d.ts +1 -1
  215. package/dist/types/interfaces/sync-provider.interface.d.ts +7 -0
  216. package/dist/types/stencil-public-runtime.d.ts +0 -12
  217. package/loader/index.d.ts +1 -1
  218. package/package.json +1 -1
  219. package/readme.md +10 -10
  220. package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.css +0 -50
  221. package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.js +0 -66
  222. package/dist/components/kritzel-sync-indicator.d.ts +0 -11
  223. package/dist/components/kritzel-sync-indicator.js +0 -6
  224. package/dist/components/p-Bxi-Bm49.js +0 -39
  225. package/dist/types/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.d.ts +0 -7
@@ -1,8 +1,8 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
  import { K as KritzelDevicesHelper } from './p-jGOpkGDl.js';
3
- import { d as defineCustomElement$4 } from './p-Ck-87E2G.js';
4
- import { d as defineCustomElement$2, a as defineCustomElement$3 } from './p-D2VcPEtL.js';
5
- import { d as defineCustomElement$1 } from './p-DYPA7jpg.js';
3
+ import { d as defineCustomElement$4 } from './p-CSuU8frA.js';
4
+ import { d as defineCustomElement$2, a as defineCustomElement$3 } from './p-CAXR5-S9.js';
5
+ import { d as defineCustomElement$1 } from './p-CBrn5AIB.js';
6
6
 
7
7
  const kritzelSplitButtonCss = () => `:host{position:relative;display:flex;align-items:center;font-family:sans-serif;z-index:1;padding:var(--kritzel-split-button-padding, 4px);background-color:var(--kritzel-split-button-background-color, #ffffff);border-radius:var(--kritzel-split-button-border-radius, 12px);box-shadow:var(--kritzel-split-button-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-split-button-border, 1px solid #ebebeb);gap:var(--kritzel-split-button-gap, 4px)}:host(.mobile){--kritzel-split-button-hover-background-color:transparent}button{border:none;background-color:transparent;padding:0;margin:0;font-family:inherit;font-size:inherit;color:var(--kritzel-split-button-color, #000000);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:var(--kritzel-global-pointer-cursor, pointer);text-align:center;display:flex;align-items:center;justify-content:center;pointer-events:all;-webkit-tap-highlight-color:transparent}.split-main-button,.split-menu-button{height:auto;display:flex;align-items:center;padding:var(--kritzel-split-button-padding, 8px);background-color:var(--kritzel-split-button-background-color, #ffffff);border-radius:var(--kritzel-split-button-border-radius, 12px);font-size:var(--kritzel-split-button-font-size, 14px)}.split-main-button:hover,.split-menu-button:hover{background-color:var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.split-main-button:focus,.split-menu-button:focus{background-color:var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.split-main-button{gap:var(--kritzel-split-button-gap, 4px)}.split-menu-button{border-left:none;justify-content:center}.split-divider{width:var(--kritzel-split-button-divider-width, 1px);height:24px;background-color:var(--kritzel-split-button-divider-background-color, hsl(0, 0%, 0%, 4.3%))}:disabled{pointer-events:none;opacity:0.5}`;
8
8
 
@@ -103,7 +103,7 @@ const KritzelSplitButton = /*@__PURE__*/ proxyCustomElement(class KritzelSplitBu
103
103
  this.menuScrollTop = event.target.scrollTop;
104
104
  };
105
105
  render() {
106
- return (h(Host, { key: 'd8dac18091d84994607f96dea4cb09f5823b8477', class: { mobile: this.isTouchDevice } }, h("button", { key: '7601c722ba60bf73e8009c32b40ff88e51680011', class: "split-main-button", tabIndex: 0, onClick: this.handleButtonClick, disabled: this.mainButtonDisabled, "aria-label": "Main action" }, this.buttonIcon && h("kritzel-icon", { key: '567ea117b77ee0e8a4e023bc80d5cbafd44e7e05', name: this.buttonIcon })), h("div", { key: '53ae4da47818cb474fe659700d59171a9fe1b150', class: "split-divider" }), h("button", { key: '3893a36b2e33c86aa013e4a28a4428ba6ad4bb55', ref: el => (this.splitMenuButtonRef = el), class: "split-menu-button", tabIndex: 0, onClick: this.toggleMenu, disabled: this.menuButtonDisabled, "aria-label": "Open menu" }, h("kritzel-icon", { key: '2dd391e711b37b41ccfe310fc705842fbde80110', name: this.dropdownIcon })), h("kritzel-portal", { key: '5e5d03337b0fd3e11547bb1678595dd1559e0b88', anchor: this.anchorElement, offsetY: 4, onClose: this.closeMenu }, h("kritzel-menu", { key: 'c50fe3d6591024513e0cb2ecce97f23a34499fe5', ref: el => (this.menuRef = el), items: this.items, onItemSelect: this.handleItemSelect, onItemSave: this.handleItemSave, onItemCancel: this.handleItemCancel, onItemToggleChildMenu: this.handleItemToggleChildMenu, onItemCloseChildMenu: this.handleItemCloseChildMenu, onClose: this.closeMenu, onScroll: this.handleScroll }))));
106
+ return (h(Host, { key: '37185b37faa1e703f9457d4f4685c7d8ed40b342', class: { mobile: this.isTouchDevice } }, h("button", { key: 'b97d4df106fea68398116f1c44c6d5cd9f31997c', class: "split-main-button", tabIndex: 0, onClick: this.handleButtonClick, disabled: this.mainButtonDisabled, "aria-label": "Main action" }, this.buttonIcon && h("kritzel-icon", { key: '66dce735d160e23a16727c294f9ccb1bd3cda8c1', name: this.buttonIcon })), h("div", { key: '14ffaf9334090dc10df87d7b8744446be8bb2632', class: "split-divider" }), h("button", { key: '421e23ebb99e7b1ca656c0bc16f602a2a9812264', ref: el => (this.splitMenuButtonRef = el), class: "split-menu-button", tabIndex: 0, onClick: this.toggleMenu, disabled: this.menuButtonDisabled, "aria-label": "Open menu" }, h("kritzel-icon", { key: 'affc13ef766d21030137a7feb44305553845dbfc', name: this.dropdownIcon })), h("kritzel-portal", { key: '326cef4696ebf9986e6c42e18822b90c399b16c2', anchor: this.anchorElement, offsetY: 4, onClose: this.closeMenu }, h("kritzel-menu", { key: 'e0800efbdefc9dce3dc548523ec10e810f3f7f73', ref: el => (this.menuRef = el), items: this.items, onItemSelect: this.handleItemSelect, onItemSave: this.handleItemSave, onItemCancel: this.handleItemCancel, onItemToggleChildMenu: this.handleItemToggleChildMenu, onItemCloseChildMenu: this.handleItemCloseChildMenu, onClose: this.closeMenu, onScroll: this.handleScroll }))));
107
107
  }
108
108
  static get style() { return kritzelSplitButtonCss(); }
109
109
  }, [513, "kritzel-split-button", {
@@ -1,20 +1,20 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
  import { K as KritzelDevicesHelper } from './p-jGOpkGDl.js';
3
- import { K as KritzelToolConfigHelper, d as defineCustomElement$3 } from './p-CWAChRD5.js';
3
+ import { K as KritzelToolConfigHelper, d as defineCustomElement$3 } from './p-DOl-95VY.js';
4
4
  import { a as KritzelColorHelper } from './p-7I4Uzjrw.js';
5
- import { d as defineCustomElement$e } from './p-DcUIO14-.js';
6
- import { d as defineCustomElement$d } from './p-MhQxGUvY.js';
7
- import { d as defineCustomElement$c } from './p-CHoOe3FD.js';
8
- import { d as defineCustomElement$b } from './p-Dp1CD4gK.js';
9
- import { d as defineCustomElement$a } from './p-DjXQxw9R.js';
10
- import { d as defineCustomElement$9 } from './p-CLAz6RJc.js';
11
- import { d as defineCustomElement$8 } from './p-Ck-87E2G.js';
12
- import { d as defineCustomElement$7 } from './p-Di--2boB.js';
13
- import { d as defineCustomElement$6 } from './p-vDCa_ZDm.js';
14
- import { d as defineCustomElement$5 } from './p-Covorf4C.js';
15
- import { d as defineCustomElement$4 } from './p-fSV6KVTC.js';
16
- import { d as defineCustomElement$2 } from './p-o3NYKrVL.js';
17
- import { d as defineCustomElement$1 } from './p-BZZ3KRPk.js';
5
+ import { d as defineCustomElement$e } from './p-DOTdJ3JQ.js';
6
+ import { d as defineCustomElement$d } from './p-BeSKOETx.js';
7
+ import { d as defineCustomElement$c } from './p-Df3BwVGy.js';
8
+ import { d as defineCustomElement$b } from './p-OUl5CA4Y.js';
9
+ import { d as defineCustomElement$a } from './p-djJSnjAX.js';
10
+ import { d as defineCustomElement$9 } from './p-BprEDRpA.js';
11
+ import { d as defineCustomElement$8 } from './p-CSuU8frA.js';
12
+ import { d as defineCustomElement$7 } from './p-CXpv9Rxe.js';
13
+ import { d as defineCustomElement$6 } from './p-DnmVD1Mz.js';
14
+ import { d as defineCustomElement$5 } from './p-BFYtCsZu.js';
15
+ import { d as defineCustomElement$4 } from './p-DoxFuOy1.js';
16
+ import { d as defineCustomElement$2 } from './p-DkHYY72B.js';
17
+ import { d as defineCustomElement$1 } from './p-DUmLsjKb.js';
18
18
 
19
19
  const kritzelControlsCss = () => `:host{display:flex;flex-direction:column;user-select:none;max-width:100%;z-index:1}:host(.mobile){--kritzel-controls-control-hover-background-color:transparent;--kritzel-controls-control-active-background-color:transparent}.kritzel-controls{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--kritzel-controls-gap, 8px);height:100%;padding:var(--kritzel-controls-padding, 8px);background-color:var(--kritzel-controls-background-color, #ffffff);border-radius:var(--kritzel-controls-border-radius, 16px);box-shadow:var(--kritzel-controls-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-controls-border, 1px solid #ebebeb);z-index:1;position:relative;max-width:100%;overflow:hidden}.kritzel-tools-scroll{display:flex;flex-direction:row;align-items:center;gap:var(--kritzel-controls-gap, 8px);overflow-x:auto;overflow-y:hidden;flex:1 1 auto;min-width:0;padding:4px;margin:-4px;scrollbar-width:none;-ms-overflow-style:none}.kritzel-tools-scroll::-webkit-scrollbar{display:none}.scroll-indicator-left,.scroll-indicator-right{position:absolute;top:0;bottom:0;width:32px;pointer-events:none;opacity:0;transition:opacity 0.2s ease-out;z-index:1}.scroll-indicator-left{left:0;background:linear-gradient(to right, var(--kritzel-controls-background-color, #ffffff), transparent);border-radius:var(--kritzel-controls-border-radius, 16px) 0 0 var(--kritzel-controls-border-radius, 16px)}.scroll-indicator-right{right:0;background:linear-gradient(to left, var(--kritzel-controls-background-color, #ffffff), transparent);border-radius:0 var(--kritzel-controls-border-radius, 16px) var(--kritzel-controls-border-radius, 16px) 0}.scroll-indicator-left.visible,.scroll-indicator-right.visible{opacity:1}.kritzel-control{display:flex;justify-content:center;align-items:center;color:var(--kritzel-controls-control-color, #000000);border-radius:var(--kritzel-controls-control-border-radius, 12px);padding:var(--kritzel-controls-control-padding, 8px);border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);-webkit-tap-highlight-color:transparent;font-weight:bold}.kritzel-control:focus,.kritzel-control:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-control:active{background-color:var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%))}.kritzel-control.selected,.kritzel-control.selected:hover,.kritzel-control.selected:active{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF) !important;color:var(--kritzel-controls-control-selected-color, #ffffff) !important}.kritzel-control.selected:focus{background-color:var(--kritzel-controls-control-selected-background-color, #007bffe3) !important}.kritzel-control-separator{width:1px;height:24px;background-color:var(--kritzel-controls-separator-color, #ebebeb);margin:0 4px}.kritzel-control-split{position:relative;display:flex;align-items:center;border-radius:var(--kritzel-controls-control-border-radius, 12px);color:var(--kritzel-controls-control-color, #000000)}.kritzel-control-split .kritzel-control-main{display:flex;justify-content:center;align-items:center;padding:var(--kritzel-controls-control-padding, 8px);border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);-webkit-tap-highlight-color:transparent;border-radius:var(--kritzel-controls-control-border-radius, 12px);color:inherit}.kritzel-control-split.selected .kritzel-control-main{border-radius:var(--kritzel-controls-control-border-radius, 12px) 0 0 var(--kritzel-controls-control-border-radius, 12px)}.kritzel-control-split .kritzel-control-dropdown{display:flex;justify-content:center;align-items:center;align-self:stretch;border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);-webkit-tap-highlight-color:transparent;border-radius:0 var(--kritzel-controls-control-border-radius, 12px) var(--kritzel-controls-control-border-radius, 12px) 0;color:inherit;width:0;padding:0;opacity:0;overflow:hidden;pointer-events:none;transition:width 0.15s ease-out, padding 0.15s ease-out, opacity 0.15s ease-out}.kritzel-control-split .kritzel-control-dropdown.visible{width:auto;padding:0 6px;opacity:1;pointer-events:auto}.kritzel-control-split .kritzel-control-main:focus,.kritzel-control-split .kritzel-control-main:hover,.kritzel-control-split .kritzel-control-dropdown:focus,.kritzel-control-split .kritzel-control-dropdown:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-control-split .kritzel-control-main:active,.kritzel-control-split .kritzel-control-dropdown:active{background-color:var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%))}.kritzel-control-split.selected{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF) !important;color:var(--kritzel-controls-control-selected-color, #ffffff) !important}.kritzel-control-split.selected .kritzel-control-main:hover,.kritzel-control-split.selected .kritzel-control-dropdown:hover{background-color:rgba(255, 255, 255, 0.15)}.kritzel-submenu-content{display:flex;flex-direction:column;gap:var(--kritzel-submenu-gap, 4px);min-width:140px}.kritzel-submenu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:8px;color:var(--kritzel-controls-control-color, #000000);font-size:14px;text-align:left;white-space:nowrap;-webkit-tap-highlight-color:transparent}.kritzel-submenu-item:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-submenu-item.active{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF);color:var(--kritzel-controls-control-selected-color, #ffffff)}.kritzel-submenu-item.active:hover{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF)}.kritzel-config-container{position:relative;display:flex;justify-content:center;align-items:center;height:40px;box-sizing:border-box;-webkit-tap-highlight-color:transparent;flex-shrink:0;width:0;opacity:0;overflow:hidden;pointer-events:none;margin-left:calc(-1 * var(--kritzel-controls-gap, 8px));transition:width 0.2s ease-out, opacity 0.2s ease-out, margin-left 0.2s ease-out}.kritzel-config-container.visible{width:40px;opacity:1;pointer-events:auto;margin-left:0;overflow:visible}.config-gradient-left{position:absolute;top:0;bottom:0;left:-32px;width:32px;background:linear-gradient(to right, transparent, var(--kritzel-controls-background-color, #ffffff));pointer-events:none;z-index:1;opacity:0;transition:opacity 0.2s ease-out}.config-gradient-left.visible{opacity:1}.kritzel-config{display:flex;justify-content:center;align-items:center;cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:50%}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-global-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.font-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-global-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.no-config{height:24px;width:24px;border-radius:50%;border:1px dashed gray}kritzel-tooltip{z-index:10001}`;
20
20
 
@@ -256,13 +256,13 @@ const KritzelControls = /*@__PURE__*/ proxyCustomElement(class KritzelControls e
256
256
  // Separate tool controls from config control
257
257
  const toolControls = this.internalControls.filter(c => c.type === 'tool' || c.type === 'separator');
258
258
  const configControl = this.internalControls.find(c => c.type === 'config' && c.name === this.firstConfig?.name);
259
- return (h(Host, { key: '0c61b173d0a92351de148c9c98b25031f231e1ab', style: { display: this.visible ? '' : 'none' }, class: {
259
+ return (h(Host, { key: '42f84f104e4b008a7c53a5e1ea9290c17ba792d2', style: { display: this.visible ? '' : 'none' }, class: {
260
260
  mobile: this.isTouchDevice,
261
- } }, this.isUtilityPanelVisible && (h("kritzel-utility-panel", { key: 'a696e0af5f126456e610a6353377cb5a68b4fcb4', style: {
261
+ } }, this.isUtilityPanelVisible && (h("kritzel-utility-panel", { key: '8f6b3df9db735dfd847da9683db3fbdcc65b08a4', style: {
262
262
  position: 'absolute',
263
263
  bottom: '56px',
264
264
  left: '12px',
265
- }, undoState: this.undoState, terms: this.terms, onUndo: () => this.kritzelEngine?.undo(), onRedo: () => this.kritzelEngine?.redo(), onDelete: () => this.kritzelEngine?.delete() })), h("div", { key: 'ffe96a9b2b73d3e08c7d149fd64b9b209eaf47d3', class: "kritzel-controls" }, h("div", { key: 'a351b3a4a801a4480d2476a6ca34bbbd628525ac', class: { 'scroll-indicator-left': true, 'visible': this.canScrollLeft } }), h("div", { key: '9447a0d4728d4d476113a2bcb94f53a5652f7dd1', class: "kritzel-tools-scroll", ref: el => (this.toolsScrollRef = el), onScroll: this.handleToolsScroll }, toolControls.map(control => {
265
+ }, undoState: this.undoState, terms: this.terms, onUndo: () => this.kritzelEngine?.undo(), onRedo: () => this.kritzelEngine?.redo(), onDelete: () => this.kritzelEngine?.delete() })), h("div", { key: '7a314d779882e2b42a39fdb2a52f434ccacff112', class: "kritzel-controls" }, h("div", { key: '23458bc04c2f1a610cff9c5e617d7be2c657bf4f', class: { 'scroll-indicator-left': true, 'visible': this.canScrollLeft } }), h("div", { key: 'b17d817767c92ce7a6edf279759d3f1fb1097911', class: "kritzel-tools-scroll", ref: el => (this.toolsScrollRef = el), onScroll: this.handleToolsScroll }, toolControls.map(control => {
266
266
  // Check if this control has sub-options (split-button)
267
267
  if (control.subOptions?.length) {
268
268
  const selectedSubOption = this.getSelectedSubOption(control);
@@ -292,10 +292,10 @@ const KritzelControls = /*@__PURE__*/ proxyCustomElement(class KritzelControls e
292
292
  'kritzel-control': true,
293
293
  'selected': this.activeControl?.name === control?.name,
294
294
  }, key: control.name, "data-testid": `tool-${control.name}`, onClick: _event => this.handleControlClick?.(control), "aria-label": control.name.charAt(0).toUpperCase() + control.name.slice(1) }, h("kritzel-icon", { name: control.icon })));
295
- })), h("div", { key: '31a1d141b1381c9aa0b7f07c1ae7d1606d1a8fc6', class: { 'scroll-indicator-right': true, 'visible': this.canScrollRight && !(configControl && this.activeControl && hasConfigUI) } }), configControl && this.activeControl && (h("div", { class: {
295
+ })), h("div", { key: '740b52666bf823b7dc504a1072f68b59f94a3773', class: { 'scroll-indicator-right': true, 'visible': this.canScrollRight && !(configControl && this.activeControl && hasConfigUI) } }), configControl && this.activeControl && (h("div", { class: {
296
296
  'kritzel-config-container': true,
297
297
  'visible': hasConfigUI,
298
- }, key: configControl.name }, h("div", { key: 'ed4b6440e5b99b68a29269476de7efa15ecec38f', class: { 'config-gradient-left': true, 'visible': this.needsScrolling } }), h("kritzel-tooltip", { key: 'cac5417d5e1a8c4ec19fbcf38affb30ac67b521e', anchorElement: this.host.shadowRoot?.querySelector('.kritzel-config-container'), triggerElement: this.configTriggerRef }, h("kritzel-tool-config", { key: 'ffba221a22ab50b4c44c0247ef9e86e4b67e5bde', tool: this.activeControl.tool, theme: this.theme, engine: this.kritzelEngine, terms: this.terms, onToolChange: event => this.handleToolChange?.(event), onDisplayValuesChange: this.handleDisplayValuesChange, style: { width: '100%', height: '100%' } })), h("div", { key: '1f5b90e286d5aa8fcf10aa3987c6c6cd75360d49', tabIndex: hasConfigUI ? 0 : -1, class: "kritzel-config", "data-testid": "tool-config", ref: el => {
298
+ }, key: configControl.name }, h("div", { key: '7c5697faa2d03931ba9449b58a32e9f06166528e', class: { 'config-gradient-left': true, 'visible': this.needsScrolling } }), h("kritzel-tooltip", { key: '6e9bc7e5cf77778ec1dd2bee1c415344295acc00', anchorElement: this.host.shadowRoot?.querySelector('.kritzel-config-container'), triggerElement: this.configTriggerRef }, h("kritzel-tool-config", { key: 'fbfb910dacd4178aaffca5aa02e4e4422ba1b308', tool: this.activeControl.tool, theme: this.theme, engine: this.kritzelEngine, terms: this.terms, onToolChange: event => this.handleToolChange?.(event), onDisplayValuesChange: this.handleDisplayValuesChange, style: { width: '100%', height: '100%' } })), h("div", { key: '59d11a83e8c9968ba8d50df4275a892b4b75958c', tabIndex: hasConfigUI ? 0 : -1, class: "kritzel-config", "data-testid": "tool-config", ref: el => {
299
299
  if (el)
300
300
  this.configTriggerRef = el;
301
301
  }, onKeyDown: event => {
@@ -304,7 +304,7 @@ const KritzelControls = /*@__PURE__*/ proxyCustomElement(class KritzelControls e
304
304
  }
305
305
  }, style: {
306
306
  cursor: 'pointer',
307
- } }, this.displayValues && (h("div", { key: '3857f9f2bc30ddac57d108a8021061edc5decb07', class: "color-container" }, h("kritzel-color", { key: '304eda20d9036bf567db7a4f146f1b07a8ca4c34', value: this.displayValues.color, theme: this.theme, size: 18, style: {
307
+ } }, this.displayValues && (h("div", { key: '0ce5a0d8f51773b6e31feeee785606d637e06b42', class: "color-container" }, h("kritzel-color", { key: '29cc12dd6677b695b14e76e8a1704da78f910698', value: this.displayValues.color, theme: this.theme, size: 18, style: {
308
308
  borderRadius: '50%',
309
309
  border: 'none',
310
310
  } })))))))));
@@ -1,8 +1,8 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
  import { g as getDefaultExportFromCjs } from './p-BFTU3MAI.js';
3
- import { d as defineCustomElement$3 } from './p-QSyeAy8R.js';
4
- import { d as defineCustomElement$2 } from './p-Ck-87E2G.js';
5
- import { d as defineCustomElement$1 } from './p-ME1sDz3f.js';
3
+ import { d as defineCustomElement$3 } from './p-DX2nriaq.js';
4
+ import { d as defineCustomElement$2 } from './p-CSuU8frA.js';
5
+ import { d as defineCustomElement$1 } from './p-Dvn6ad4a.js';
6
6
 
7
7
  var browser = {};
8
8
 
@@ -3204,9 +3204,9 @@ const KritzelShareDialog = /*@__PURE__*/ proxyCustomElement(class KritzelShareDi
3204
3204
  this.dialogClosed.emit();
3205
3205
  };
3206
3206
  render() {
3207
- return (h(Host, { key: '0e6a5c0b25595499bc676008b22a6b27752666f3' }, h("kritzel-dialog", { key: '1770c3cf05e2ff488872da0db990d119f6903f26', dialogTitle: this.terms['share.dialogTitle'] ?? 'Share Workspace', size: "small", isOpen: this.isDialogOpen, onDialogClose: this.closeDialog, contained: true }, h("div", { key: 'ac629b3c4078c121009d64d7ba29ca8cc0fd7d64', class: "share-content" }, h("div", { key: 'c31fd9bcec831b9105a9784c0764b7d4773fc571', class: "share-section" }, h("div", { key: '1e1177dc959ca3e8e4447e6eda4ed4bf7f2faaff', class: "share-row" }, h("div", { key: 'b82c3a22f22291f2a79b0ebc98825fbc35e849fe', class: "share-label-group" }, h("label", { key: 'f4551050cb0434896f29524b540a7222f48085f2', class: "share-label" }, this.terms['share.linkSharing.label'] ?? 'Link sharing'), h("p", { key: '13ae0f33238041ea949bdd55ac5ba271c58fbdc5', class: "share-description" }, this.internalIsPublic
3207
+ return (h(Host, { key: '13e718f70f46a0c71e70d7330e0bcf655ebb60a3' }, h("kritzel-dialog", { key: 'd96e31d7259cc5c5461d94395ceecfc7491f403f', dialogTitle: this.terms['share.dialogTitle'] ?? 'Share Workspace', size: "small", isOpen: this.isDialogOpen, onDialogClose: this.closeDialog, contained: true }, h("div", { key: '9a82641540675cb645e5520bfb1624e77b5eb382', class: "share-content" }, h("div", { key: '5eed405aaf5e39f71083e84d2db0c4177722915b', class: "share-section" }, h("div", { key: '2bb736f60448dcae354d2f7931c277fce9fe7964', class: "share-row" }, h("div", { key: 'f2b22b2ce9e3331b0bf142bcb280e3dae064f34d', class: "share-label-group" }, h("label", { key: '58daf90a8b4de173deaba2e93c31791d78c17214', class: "share-label" }, this.terms['share.linkSharing.label'] ?? 'Link sharing'), h("p", { key: 'ba5f9ee772ab44fd4cc9a3066894ee5da10c56d8', class: "share-description" }, this.internalIsPublic
3208
3208
  ? (this.terms['share.linkSharing.enabledDescription'] ?? 'Anyone with the link can access this workspace.')
3209
- : (this.terms['share.linkSharing.disabledDescription'] ?? 'Link sharing is disabled. Only you can access this workspace.'))), h("kritzel-slide-toggle", { key: '9e7b75fe3ae7994fae8a498f1654636481365768', checked: this.internalIsPublic, onCheckedChange: this.handleToggleChange, label: this.terms['share.linkSharing.toggleLabel'] ?? 'Enable link sharing' }))), this.internalIsPublic && (h("div", { key: '1fb6f344bc897284c7d942aeddc77968f7af0509', class: "share-section" }, h("div", { key: '23b4889472eeb7c36c5ebf3655883346cb32bf6c', class: "share-url-container" }, h("input", { key: 'ed5b25430b5013c453ea829ce328a5b4adafd2d9', type: "text", class: "share-url-input", value: this.getShareUrl(), readOnly: true, onClick: (e) => e.target.select() }), h("button", { key: 'ba5b067993e0fab26b149057a4e70f394525cc90', class: { 'copy-button': true, 'copy-success': this.copySuccess }, onClick: this.handleCopyUrl, title: this.copySuccess ? (this.terms['share.copyLink.copied'] ?? 'Copied!') : (this.terms['share.copyLink.title'] ?? 'Copy link') }, h("kritzel-icon", { key: '3f684e493506b62d5c5b32f991c2855f64302e29', name: this.copySuccess ? 'check' : 'copy', size: 18 }))), this.qrCodeDataUrl && (h("div", { key: 'a6314296e3301a1d487d34573fcf581a307cebf4', class: "share-qr-container" }, h("img", { key: '7521ce575728d0418564dc2c407381a536053394', class: "share-qr-image", src: this.qrCodeDataUrl, alt: "QR code for share link" })))))))));
3209
+ : (this.terms['share.linkSharing.disabledDescription'] ?? 'Link sharing is disabled. Only you can access this workspace.'))), h("kritzel-slide-toggle", { key: '7f70df4db90f087d8d7a7efe98012f7bf897975d', checked: this.internalIsPublic, onCheckedChange: this.handleToggleChange, label: this.terms['share.linkSharing.toggleLabel'] ?? 'Enable link sharing' }))), this.internalIsPublic && (h("div", { key: '999fe3550e149b7e3f0ebf28f312fa5f676dd945', class: "share-section" }, h("div", { key: 'ff623a78f50b8a5e27a978e05e2ee2ba4ac1991b', class: "share-url-container" }, h("input", { key: '5c3b5c3e82366ebe4f4e7a73c6afa42dbbf39a20', type: "text", class: "share-url-input", value: this.getShareUrl(), readOnly: true, onClick: (e) => e.target.select() }), h("button", { key: '60ac0315841649722b32d098c787f2a0deeec979', class: { 'copy-button': true, 'copy-success': this.copySuccess }, onClick: this.handleCopyUrl, title: this.copySuccess ? (this.terms['share.copyLink.copied'] ?? 'Copied!') : (this.terms['share.copyLink.title'] ?? 'Copy link') }, h("kritzel-icon", { key: 'eacbd3b75c554d3c62a098ddd45b6723f59521b5', name: this.copySuccess ? 'check' : 'copy', size: 18 }))), this.qrCodeDataUrl && (h("div", { key: 'fc24d6a9673b5b16a35f905023e632a314cef4ce', class: "share-qr-container" }, h("img", { key: '3669f9138336cd4cf51d1e3de5caedaddac518e8', class: "share-qr-image", src: this.qrCodeDataUrl, alt: "QR code for share link" })))))))));
3210
3210
  }
3211
3211
  static get watchers() { return {
3212
3212
  "isPublic": [{
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
 
3
3
  var KritzelMouseButton;
4
4
  (function (KritzelMouseButton) {
@@ -79,7 +79,7 @@ const KritzelCursorTrail = /*@__PURE__*/ proxyCustomElement(class KritzelCursorT
79
79
  }
80
80
  }
81
81
  render() {
82
- return (h(Host, { key: 'cf2cf1c689bdc8ea393a7ea8f32698cfcdb0e375' }, this.cursorTrailPoints.length > 1 && (h("svg", { key: 'df38c45537217982f7fb9513b954f3b0fa27acea', class: "cursor-trail-svg", xmlns: "http://www.w3.org/2000/svg", style: {
82
+ return (h(Host, { key: 'b427550b19a3e172cb25d05e34635121b82a61c5' }, this.cursorTrailPoints.length > 1 && (h("svg", { key: '9685b563497e110f36c0feffbfde04ebeb38024b', class: "cursor-trail-svg", xmlns: "http://www.w3.org/2000/svg", style: {
83
83
  position: 'absolute',
84
84
  left: '0',
85
85
  top: '0',
@@ -1,10 +1,10 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
  import { K as KritzelWorkspace } from './p-DAwPPDMS.js';
3
3
  import { O as ObjectHelper } from './p-DPONTran.js';
4
- import { d as defineCustomElement$5 } from './p-Ck-87E2G.js';
5
- import { d as defineCustomElement$3, a as defineCustomElement$4 } from './p-D2VcPEtL.js';
6
- import { d as defineCustomElement$2 } from './p-DYPA7jpg.js';
7
- import { d as defineCustomElement$1 } from './p-dAXnRkjA.js';
4
+ import { d as defineCustomElement$5 } from './p-CSuU8frA.js';
5
+ import { d as defineCustomElement$3, a as defineCustomElement$4 } from './p-CAXR5-S9.js';
6
+ import { d as defineCustomElement$2 } from './p-CBrn5AIB.js';
7
+ import { d as defineCustomElement$1 } from './p-Ce1j1-Hg.js';
8
8
 
9
9
  const kritzelWorkspaceManagerCss = () => `:host{display:flex;flex-direction:column;z-index:1}.manager{opacity:0;pointer-events:none;transition:opacity 0.2s ease-out}.manager.visible{opacity:1;pointer-events:auto}`;
10
10
 
@@ -1,5 +1,5 @@
1
- import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
2
- import { d as defineCustomElement$1 } from './p-zG-WUBGF.js';
1
+ import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
+ import { d as defineCustomElement$1 } from './p-DN9p3G9K.js';
3
3
 
4
4
  const kritzelCurrentUserCss = () => `:host{display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}kritzel-avatar{cursor:var(--kritzel-global-pointer-cursor, pointer);border-radius:50%}`;
5
5
 
@@ -22,7 +22,7 @@ const KritzelCurrentUser = /*@__PURE__*/ proxyCustomElement(class KritzelCurrent
22
22
  /** Resolved localized strings keyed by term key, supplied by the editor. */
23
23
  terms = {};
24
24
  render() {
25
- return (h(Host, { key: '05ff7ea13b5a4850ae49672dfab15280b97e50a1' }, h("kritzel-avatar", { key: '4c33f853508509337033afd7015d7367c5c81d49', user: this.user, size: this.avatarSize })));
25
+ return (h(Host, { key: '30f2cedeefdef5817fcced6b84e74b53beba76ec' }, h("kritzel-avatar", { key: '41dc69bfbc13471fc686bb52e269dc98d2bfa3a8', user: this.user, size: this.avatarSize })));
26
26
  }
27
27
  static get style() { return kritzelCurrentUserCss(); }
28
28
  }, [513, "kritzel-current-user", {
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
 
3
3
  const kritzelLoadingOverlayCss = () => `:host{display:contents}.loading-overlay{position:absolute;inset:0;z-index:var(--kritzel-editor-loading-overlay-z-index, 9999);display:flex;align-items:center;justify-content:center;gap:10px;background-color:var(--kritzel-editor-loading-overlay-background, rgba(255, 255, 255, 0.6));color:var(--kritzel-editor-loading-overlay-color, #333);font-family:var(--kritzel-font-family, sans-serif);font-size:1.25rem;opacity:0;pointer-events:none;visibility:hidden}.loading-overlay.visible{pointer-events:all;visibility:visible;animation:kritzel-loading-fade-in 200ms ease-out var(--kritzel-editor-loading-overlay-delay, 300ms) forwards}.loading-spinner{width:20px;height:20px;box-sizing:border-box;display:block;flex-shrink:0;border:2px solid var(--kritzel-editor-loading-overlay-spinner-color, #cccccc);border-top-color:var(--kritzel-editor-loading-overlay-spinner-active-color, #333333);border-radius:50%;animation:kritzel-loading-spin 0.6s linear infinite}@keyframes kritzel-loading-spin{to{transform:rotate(360deg)}}@keyframes kritzel-loading-fade-in{to{opacity:1}}`;
4
4
 
@@ -19,7 +19,7 @@ const KritzelLoadingOverlay = /*@__PURE__*/ proxyCustomElement(class KritzelLoad
19
19
  */
20
20
  text = 'Loading...';
21
21
  render() {
22
- return (h(Host, { key: 'bba8ce825e41dff170d9552c28ac996249639ff3' }, h("div", { key: 'af98ab01de836fb6c718f5ceda4a490d91231e66', class: { 'loading-overlay': true, visible: this.visible }, "aria-hidden": this.visible ? 'false' : 'true' }, h("span", { key: '7c04c6abcb445c34f9a036e1797605ef7d575031', class: "loading-spinner" }), this.text)));
22
+ return (h(Host, { key: '6795ffc47d57a27f0b58fb42715080bf47c836af' }, h("div", { key: '5359411fa326444a1bddf6f40a6e2bd0ccf1617d', class: { 'loading-overlay': true, visible: this.visible }, "aria-hidden": this.visible ? 'false' : 'true' }, h("span", { key: 'bd194c6fef9f2fbc4a4e38aee169d0a754e5dc96', class: "loading-spinner" }), this.text)));
23
23
  }
24
24
  static get style() { return kritzelLoadingOverlayCss(); }
25
25
  }, [513, "kritzel-loading-overlay", {
@@ -1,7 +1,7 @@
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-zG-WUBGF.js';
3
- import { d as defineCustomElement$2 } from './p-Cx-L_28S.js';
4
- import { d as defineCustomElement$1 } from './p-QSyeAy8R.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-DN9p3G9K.js';
3
+ import { d as defineCustomElement$2 } from './p-Ba0c-tu2.js';
4
+ import { d as defineCustomElement$1 } from './p-DX2nriaq.js';
5
5
 
6
6
  const kritzelCurrentUserDialogCss = () => `:host{display:contents}kritzel-dialog{--kritzel-dialog-width-small:380px}.user-info{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0}.user-name{font-size:18px;font-weight:600;color:var(--kritzel-current-user-dialog-name-color, #333333);text-align:center;margin-top:8px}.user-email{font-size:14px;color:var(--kritzel-current-user-dialog-email-color, #666666);text-align:center}.logout-button{margin-top:16px;width:100%;--kritzel-button-width:100%;--kritzel-button-primary-background-color:var(--kritzel-current-user-dialog-logout-button-background-color, #007AFF);--kritzel-button-primary-hover-background-color:var(--kritzel-current-user-dialog-logout-button-hover-background-color, #006ae6);--kritzel-button-primary-active-background-color:var(--kritzel-current-user-dialog-logout-button-active-background-color, #005bbf);--kritzel-button-primary-color:var(--kritzel-current-user-dialog-logout-button-color, #ffffff)}`;
7
7
 
@@ -43,7 +43,7 @@ const KritzelCurrentUserDialog = /*@__PURE__*/ proxyCustomElement(class KritzelC
43
43
  }
44
44
  render() {
45
45
  const displayName = this.getDisplayName();
46
- return (h(Host, { key: 'bb0e0c4181b562bcf6f930508d0799dd24dceb70' }, h("kritzel-dialog", { key: '94b668b6d4c773b30bae2dfad437a0043048dbf3', dialogTitle: this.terms['currentUser.dialogTitle'] ?? 'Account', isOpen: this.isDialogOpen, onDialogClose: this.closeDialog, size: "small", contained: true }, h("div", { key: '7023664c08e42668e44d5e1f57fa0d020b65d452', class: "user-info" }, h("kritzel-avatar", { key: '461af0f69cb606ad37f779fc5971296f82e2ff34', user: this.user, size: 80 }), displayName && h("div", { key: '60c6e416942465a9afb872ed12cfec4788c580c9', class: "user-name" }, displayName), this.user?.email && h("div", { key: '74a78e08f1aae64ee7e6ba84ca0eeb2efa1650bc', class: "user-email" }, this.user.email), h("kritzel-button", { key: '2b0bc8ded74baeee7a59b958e1529cd1b8862cd1', class: "logout-button", variant: "primary", onButtonClick: this.handleLogout }, this.terms['menu.logout'] ?? 'Logout')))));
46
+ return (h(Host, { key: '33baea01a828422f2bba5c2fba82dd82e5c5b32d' }, h("kritzel-dialog", { key: '5271e1eb5d36b74f8487c040e70424c26f7019f8', dialogTitle: this.terms['currentUser.dialogTitle'] ?? 'Account', isOpen: this.isDialogOpen, onDialogClose: this.closeDialog, size: "small", contained: true }, h("div", { key: '901697b9439eb8449f2f5c8e044c194f176633b1', class: "user-info" }, h("kritzel-avatar", { key: '76a17b9a2e4442b36b89747a5f5f168d2c59e7a1', user: this.user, size: 80 }), displayName && h("div", { key: '6aaedb1d2d8ea65de2460c15017d13b4e096223d', class: "user-name" }, displayName), this.user?.email && h("div", { key: '3cb78d0007087a18f798849f244399e5d6137e3b', class: "user-email" }, this.user.email), h("kritzel-button", { key: '67d416a1ac1be41cd6b658f79901cea29a287eb7', class: "logout-button", variant: "primary", onButtonClick: this.handleLogout }, this.terms['menu.logout'] ?? 'Logout')))));
47
47
  }
48
48
  static get style() { return kritzelCurrentUserDialogCss(); }
49
49
  }, [513, "kritzel-current-user-dialog", {
@@ -1,5 +1,5 @@
1
- import { p as proxyCustomElement, t as transformTag, H, h, d as Host } from './p-C9_yBEoX.js';
2
- import { d as defineCustomElement$1 } from './p-zG-WUBGF.js';
1
+ import { p as proxyCustomElement, t as transformTag, H, h, d as Host } from './p-B43upypT.js';
2
+ import { d as defineCustomElement$1 } from './p-DN9p3G9K.js';
3
3
 
4
4
  const kritzelActiveUsersCss = () => `:host{display:inline-flex;align-items:center}.avatars{display:flex;align-items:center}.avatar-wrapper{position:relative;transition:margin-left 200ms ease}.avatar-wrapper kritzel-avatar{border-radius:50%;box-shadow:0 0 0 2px var(--kritzel-active-users-avatar-border-color, #ffffff)}.avatars:hover .avatar-wrapper{margin-left:-6px !important}.avatar-tooltip{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:12px;padding:4px 8px;background-color:var(--kritzel-active-users-tooltip-background, #333333);color:var(--kritzel-active-users-tooltip-color, #ffffff);font-family:sans-serif;font-size:12px;font-weight:500;border-radius:4px;white-space:nowrap;width:max-content;pointer-events:none;opacity:0;transition:opacity 150ms ease}.avatar-wrapper:hover .avatar-tooltip,.overflow-count:hover .avatar-tooltip{opacity:1}.overflow-count{position:relative;margin-left:8px;font-family:sans-serif;font-size:var(--kritzel-active-users-overflow-font-size, 14px);font-weight:500;color:var(--kritzel-active-users-overflow-color, #666666);white-space:nowrap;cursor:default}.overflow-count .avatar-tooltip{white-space:nowrap;text-align:left;margin-top:20px}`;
5
5
 
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
 
3
3
  const ABSOLUTE_SCALE_MAX = 1000;
4
4
  const ABSOLUTE_SCALE_MIN = 0.0001;
@@ -25,7 +25,7 @@ const KritzelWatermark = /*@__PURE__*/ proxyCustomElement(class KritzelWatermark
25
25
  label;
26
26
  render() {
27
27
  const label = this.label ?? this.core.localizationManager.translate('watermark.poweredBy');
28
- return (h(Host, { key: 'de81b568421f5517fe19897bd4a4a5d58d1f622d' }, h("a", { key: '6278f78180869650afc181aac5c37aa401c09040', class: "watermark-link", href: KRITZEL_WEBSITE_URL, target: "_blank", rel: "noopener noreferrer", part: "watermark", onPointerDown: (ev) => ev.stopPropagation(), onPointerUp: (ev) => ev.stopPropagation() }, label)));
28
+ return (h(Host, { key: '297a488f26fd8637da8d00b98af85cfeda5b0992' }, h("a", { key: '6e3be65773dfda06e9b7ae611cfbb5ff09ba1f91', class: "watermark-link", href: KRITZEL_WEBSITE_URL, target: "_blank", rel: "noopener noreferrer", part: "watermark", onPointerDown: (ev) => ev.stopPropagation(), onPointerUp: (ev) => ev.stopPropagation() }, label)));
29
29
  }
30
30
  static get style() { return kritzelWatermarkCss(); }
31
31
  }, [513, "kritzel-watermark", {
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
 
3
3
  const kritzelAvatarCss = () => `:host{display:inline-flex;justify-content:center;align-items:center;border-radius:50%;overflow:hidden;user-select:none;flex-shrink:0}.avatar-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-initials{display:flex;justify-content:center;align-items:center;width:100%;height:100%;border-radius:50%;color:var(--kritzel-avatar-initials-color, #ffffff);font-weight:var(--kritzel-avatar-initials-font-weight, 500);font-family:var(--kritzel-avatar-initials-font-family, sans-serif);line-height:1}.avatar-default{display:flex;justify-content:center;align-items:center;width:100%;height:100%;border-radius:50%;background-color:var(--kritzel-avatar-default-background, #e0e0e0);color:var(--kritzel-avatar-default-color, #9e9e9e)}.avatar-default svg{width:60%;height:60%}:host(.has-image){border:var(--kritzel-avatar-border, none)}:host(.has-initials){border:var(--kritzel-avatar-border, none)}:host(.has-default){border:var(--kritzel-avatar-border, none)}`;
4
4
 
@@ -91,16 +91,16 @@ const KritzelAvatar = /*@__PURE__*/ proxyCustomElement(class KritzelAvatar exten
91
91
  height: `${this.size}px`,
92
92
  fontSize: `${Math.round(this.size * 0.4)}px`,
93
93
  };
94
- return (h(Host, { key: '020217baf0aa2736af33c5a003e89406322e5fdc', style: containerStyles, class: {
94
+ return (h(Host, { key: 'f199b56955b749b868ad8e7940ef3114f1109c37', style: containerStyles, class: {
95
95
  'has-image': !!showImage,
96
96
  'has-initials': !!showInitials,
97
97
  'has-default': !!showDefaultIcon,
98
- }, role: "img", "aria-label": this.getDisplayName() || 'User avatar' }, showImage && (h("img", { key: '2f54dad2260ebf38cfe8c57e28899c98729e7e38', src: imageUrl, alt: "", class: "avatar-image", ref: (el) => {
98
+ }, role: "img", "aria-label": this.getDisplayName() || 'User avatar' }, showImage && (h("img", { key: '621a58cc965cf6d037f8515e1263bd5bf4098ab0', src: imageUrl, alt: "", class: "avatar-image", ref: (el) => {
99
99
  if (el) {
100
100
  el.referrerPolicy = 'no-referrer';
101
101
  el.crossOrigin = 'anonymous';
102
102
  }
103
- }, onError: this.handleImageError })), showInitials && (h("span", { key: 'a97435d30044a37f15ce72ed51439e9c682c0aa3', class: "avatar-initials", style: { backgroundColor: this.getBackgroundColor() } }, initials)), showDefaultIcon && (h("span", { key: '6d0893d3f15a2d68a93f3fcf1b0fbd36786be0eb', class: "avatar-default" }, h("svg", { key: '688a9a1f88e22f4f3c3085675618b5f5f460d8f7', viewBox: "0 0 24 24", fill: "currentColor" }, h("path", { key: 'd12c67677e162534b2ad92535acc6a836df179c7', d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" }))))));
103
+ }, onError: this.handleImageError })), showInitials && (h("span", { key: '28ff2e8b191c2d476c0f40dd57a2c8ec330ba104', class: "avatar-initials", style: { backgroundColor: this.getBackgroundColor() } }, initials)), showDefaultIcon && (h("span", { key: 'd2ef56b2fca2a609b5b99bb8d7e8747308ab9699', class: "avatar-default" }, h("svg", { key: '1c1d6e6e306a9938f559016eeb77a67aae42f536', viewBox: "0 0 24 24", fill: "currentColor" }, h("path", { key: '2c6af53101c20e137756d1194a3bac04c931066d', d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" }))))));
104
104
  }
105
105
  static get watchers() { return {
106
106
  "user": [{
@@ -1,7 +1,7 @@
1
- import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
  import { a as KritzelColorHelper } from './p-7I4Uzjrw.js';
3
3
 
4
- const kritzelColorCss = () => `:host{display:flex}.checkerboard-bg{background:repeating-conic-gradient( var(--kritzel-checkerboard-color-dark, #ccc) 0% 25%, var(--kritzel-checkerboard-color-light, #fff) 0% 50% ) 50% / 8px 8px;position:relative;overflow:hidden}.color-circle{width:24px;height:24px;border-radius:50%;box-sizing:border-box;display:block}.color-circle.white{border:1px solid var(--kritzel-color-palette-circle-border-color, #dddcdc)}`;
4
+ const kritzelColorCss = () => `:host{display:flex}.checkerboard-bg{background:repeating-conic-gradient( var(--kritzel-checkerboard-color-dark, #ccc) 0% 25%, var(--kritzel-checkerboard-color-light, #fff) 0% 50% ) 50% / 8px 8px;position:relative;overflow:hidden}.color-circle{width:24px;height:24px;border-radius:50%;box-sizing:border-box;display:block}.color-circle.white{border:1px solid var(--kritzel-color-palette-circle-border-color, #dddcdc)}`;
5
5
 
6
6
  const KritzelColorComponent = /*@__PURE__*/ proxyCustomElement(class KritzelColorComponent extends H {
7
7
  constructor(registerHost) {
@@ -48,13 +48,13 @@ const KritzelColorComponent = /*@__PURE__*/ proxyCustomElement(class KritzelColo
48
48
  render() {
49
49
  const resolvedColor = this.resolveColor();
50
50
  const isColorVeryLight = this.isLightColor(resolvedColor);
51
- return (h(Host, { key: '30141c62ff9860237c22044f2c5101ed6516ff82' }, h("div", { key: '61818f71999a782871d4ec9ba00ef0c77e3c8b54', class: "checkerboard-bg", style: {
51
+ return (h(Host, { key: '17b5c44e1defe8f3fb41632391be093a12bb899b' }, h("div", { key: '545f4c4fd62dea22a4a5f36108a51d30c57f2652', class: "checkerboard-bg", style: {
52
52
  width: `${this.size}px`,
53
53
  height: `${this.size}px`,
54
54
  borderRadius: '50%',
55
55
  display: 'inline-block',
56
56
  position: 'relative',
57
- } }, h("div", { key: 'a064cc28a354db78f6637c92f38e59ac4ebf1f95', class: {
57
+ } }, h("div", { key: 'bbcb68f6e5f00d9a33b316d52ac86e49911e463c', class: {
58
58
  'color-circle': true,
59
59
  'white': isColorVeryLight,
60
60
  }, style: {
@@ -1,17 +1,17 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
  import { a as KritzelColorHelper } from './p-7I4Uzjrw.js';
3
3
  import { r as resolveTextToolAvailableFonts, K as KritzelFontRegistry } from './p-DJkKlUyZ.js';
4
- import { d as defineCustomElement$b } from './p-DcUIO14-.js';
5
- import { d as defineCustomElement$a } from './p-MhQxGUvY.js';
6
- import { d as defineCustomElement$9 } from './p-CHoOe3FD.js';
7
- import { d as defineCustomElement$8 } from './p-Dp1CD4gK.js';
8
- import { d as defineCustomElement$7 } from './p-DjXQxw9R.js';
9
- import { d as defineCustomElement$6 } from './p-CLAz6RJc.js';
10
- import { d as defineCustomElement$5 } from './p-Ck-87E2G.js';
11
- import { d as defineCustomElement$4 } from './p-Di--2boB.js';
12
- import { d as defineCustomElement$3 } from './p-vDCa_ZDm.js';
13
- import { d as defineCustomElement$2 } from './p-Covorf4C.js';
14
- import { d as defineCustomElement$1 } from './p-fSV6KVTC.js';
4
+ import { d as defineCustomElement$b } from './p-DOTdJ3JQ.js';
5
+ import { d as defineCustomElement$a } from './p-BeSKOETx.js';
6
+ import { d as defineCustomElement$9 } from './p-Df3BwVGy.js';
7
+ import { d as defineCustomElement$8 } from './p-OUl5CA4Y.js';
8
+ import { d as defineCustomElement$7 } from './p-djJSnjAX.js';
9
+ import { d as defineCustomElement$6 } from './p-BprEDRpA.js';
10
+ import { d as defineCustomElement$5 } from './p-CSuU8frA.js';
11
+ import { d as defineCustomElement$4 } from './p-CXpv9Rxe.js';
12
+ import { d as defineCustomElement$3 } from './p-DnmVD1Mz.js';
13
+ import { d as defineCustomElement$2 } from './p-BFYtCsZu.js';
14
+ import { d as defineCustomElement$1 } from './p-DoxFuOy1.js';
15
15
 
16
16
  class KritzelToolConfigHelper {
17
17
  static getToolConfig(tool) {
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-C9_yBEoX.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-B43upypT.js';
2
2
 
3
3
  const kritzelNumericInputCss = () => `:host{display:block}.input-container{display:flex;flex-direction:column;gap:6px}.input-label{font-size:14px;font-weight:500;color:var(--kritzel-numeric-input-label-color, #333333)}.input-wrapper{display:flex;position:relative}.numeric-input{flex:1;padding:8px 36px 8px 12px;border:1px solid var(--kritzel-numeric-input-border-color, #ebebeb);border-radius:var(--kritzel-numeric-input-border-radius, 6px);font-size:14px;color:var(--kritzel-numeric-input-text-color, #333333);background-color:var(--kritzel-numeric-input-input-background, #ffffff);outline:none;transition:border-color 150ms ease;box-sizing:border-box}.numeric-input::-webkit-outer-spin-button,.numeric-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.numeric-input[type='number']{-moz-appearance:textfield}.numeric-input::selection{background-color:var(--kritzel-numeric-input-selection-background, #007AFF);color:var(--kritzel-numeric-input-selection-color, #ffffff)}.numeric-input:hover{border-color:var(--kritzel-numeric-input-hover-border-color, #cccccc)}.numeric-input:focus{border-color:var(--kritzel-numeric-input-focus-border-color, #0066ff);border-width:2px;padding:7px 35px 7px 11px}.spinner-buttons{position:absolute;right:1px;top:1px;bottom:1px;display:flex;flex-direction:column;border-left:1px solid var(--kritzel-numeric-input-border-color, #ebebeb);border-radius:0 var(--kritzel-numeric-input-spinner-border-radius, 5px) var(--kritzel-numeric-input-spinner-border-radius, 5px) 0;overflow:hidden}.spinner-button{flex:1;display:flex;align-items:center;justify-content:center;width:24px;padding:0;border:none;background-color:var(--kritzel-numeric-input-spinner-background, #f5f5f5);color:var(--kritzel-numeric-input-spinner-color, #666666);cursor:pointer;transition:background-color 150ms ease}.spinner-button:hover{background-color:var(--kritzel-numeric-input-spinner-hover-background, #ebebeb)}.spinner-button:active{background-color:var(--kritzel-numeric-input-spinner-active-background, #dddddd)}.spinner-up{border-bottom:1px solid var(--kritzel-numeric-input-border-color, #ebebeb)}.spinner-icon{width:10px;height:6px}`;
4
4
 
@@ -97,7 +97,7 @@ const KritzelNumericInput = /*@__PURE__*/ proxyCustomElement(class KritzelNumeri
97
97
  this.valueChange.emit(newValue);
98
98
  };
99
99
  render() {
100
- return (h(Host, { key: '7af3efe94c98934dcfe701c516ffc7cea2b4fde9' }, h("div", { key: '81347ea86a62f72b5b7662d90670e2ace98b16e7', class: "input-container" }, this.label && h("label", { key: '35b7650a3c4d1b93dbcb763b0c8f3767e3b519ac', class: "input-label" }, this.label), h("div", { key: '691ade138e5ba2ef51a76b1fc54da51fb7dd7389', class: "input-wrapper" }, h("input", { key: '58445c41cc8be438d1065787d375fb9d271f3873', type: "number", class: "numeric-input", title: "", min: this.min === Number.MIN_SAFE_INTEGER ? undefined : this.min, max: this.max === Number.MAX_SAFE_INTEGER ? undefined : this.max, step: this.step, value: this.inputValue, placeholder: this.placeholder, onInput: this.handleInput, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, onInvalid: this.handleInvalid }), h("div", { key: 'c669fc612696c555b96f046a8c70e75e9650af23', class: "spinner-buttons" }, h("button", { key: 'ae904cc60925d48120405f74d656ee9cbf312d70', type: "button", class: "spinner-button spinner-up", onClick: this.handleIncrement, tabIndex: -1, "aria-label": "Increase value" }, h("svg", { key: '4a4964336820cfc2128b98bf245556425919dfb6', viewBox: "0 0 10 6", class: "spinner-icon" }, h("path", { key: 'f305136d337690b0eaa39983d26a67454e4862da', d: "M1 5L5 1L9 5", stroke: "currentColor", "stroke-width": "1.5", fill: "none", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("button", { key: 'c90f2d9a3deac66dc577142f87f73aef491e5f25', type: "button", class: "spinner-button spinner-down", onClick: this.handleDecrement, tabIndex: -1, "aria-label": "Decrease value" }, h("svg", { key: '2a3e33c55b6ace48f15ec56d78c6aab782c64520', viewBox: "0 0 10 6", class: "spinner-icon" }, h("path", { key: 'f327413078824800ad061126417a8f25578ba2de', d: "M1 1L5 5L9 1", stroke: "currentColor", "stroke-width": "1.5", fill: "none", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))));
100
+ return (h(Host, { key: '5ebdff964290d1d7f334d7e42e69f2fa09484a27' }, h("div", { key: '8d41fd9c5ba68fbeb927e262d5c2fe61436dee0a', class: "input-container" }, this.label && h("label", { key: 'f1172074424465be27ce5c3b6c3326457daf7fdc', class: "input-label" }, this.label), h("div", { key: 'ffdea4c84fe026c3bbd26bf288aab8a5da809d00', class: "input-wrapper" }, h("input", { key: '0705fa4415727e2689aa0dbfc56f17c9d72e3d18', type: "number", class: "numeric-input", title: "", min: this.min === Number.MIN_SAFE_INTEGER ? undefined : this.min, max: this.max === Number.MAX_SAFE_INTEGER ? undefined : this.max, step: this.step, value: this.inputValue, placeholder: this.placeholder, onInput: this.handleInput, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, onInvalid: this.handleInvalid }), h("div", { key: '8f46261cdb045ff20d171bd0a6c98541f65f079b', class: "spinner-buttons" }, h("button", { key: 'b61a5e60db34972c3242264b9aa872e295a09b38', type: "button", class: "spinner-button spinner-up", onClick: this.handleIncrement, tabIndex: -1, "aria-label": "Increase value" }, h("svg", { key: '6c5a2be0a96b18ad204196fe59001211deedd038', viewBox: "0 0 10 6", class: "spinner-icon" }, h("path", { key: '4905b8ffa669e0b00b050cee94fdb8aac3c477e4', d: "M1 5L5 1L9 5", stroke: "currentColor", "stroke-width": "1.5", fill: "none", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("button", { key: 'df2ca8633ca8dbf54ef80a3cffbbcba28534d1fd', type: "button", class: "spinner-button spinner-down", onClick: this.handleDecrement, tabIndex: -1, "aria-label": "Decrease value" }, h("svg", { key: 'd4e8bd93fda3e9b1bd4db79f25c503e1057086a3', viewBox: "0 0 10 6", class: "spinner-icon" }, h("path", { key: 'a6e343e373963ca86b703783c88efeb4516e87a9', d: "M1 1L5 5L9 1", stroke: "currentColor", "stroke-width": "1.5", fill: "none", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))));
101
101
  }
102
102
  static get watchers() { return {
103
103
  "value": [{
@@ -1,5 +1,5 @@
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$1 } 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$1 } from './p-CSuU8frA.js';
3
3
 
4
4
  const kritzelUtilityPanelCss = () => `:host{display:flex;flex-direction:row;align-items:center;padding:4px;gap:8px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:var(--kritzel-utility-panel-background-color, #e2e2e2);width:fit-content;user-select:none;z-index:1}.utility-button{display:flex;justify-content:center;align-items:center;width:28px;height:28px;padding:8px 4px;border:none;background:none;cursor:var(--kritzel-global-pointer-cursor, pointer);color:var(--kritzel-utility-panel-button-color, #333333);--kritzel-icon-color:var(--kritzel-utility-panel-button-color, #333333);-webkit-tap-highlight-color:transparent;border-radius:var(--kritzel-utility-panel-button-border-radius, 8px)}.utility-button:hover,.utility-button:focus-visible{background-color:var(--kritzel-utility-panel-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.utility-button:disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.utility-separator{width:1px;height:16px;background-color:var(--kritzel-utility-panel-separator-color, hsl(0, 0%, 0%, 8%))}`;
5
5
 
@@ -33,7 +33,7 @@ const KritzelUtilityPanel = /*@__PURE__*/ proxyCustomElement(class KritzelUtilit
33
33
  this.redo.emit();
34
34
  }
35
35
  render() {
36
- return (h(Host, { key: 'bc0322b40c4ff4fba997f1dc1901edbb934e4a0a' }, h("button", { key: 'ff48698d2757b0d99cacfd4fbaa5a7b0ae8f1604', class: "utility-button", "data-testid": "utility-undo", disabled: !this.undoState?.canUndo, onClick: event => this.handleUndo(event), "aria-label": this.terms['utility.undo'] ?? 'Undo' }, h("kritzel-icon", { key: 'bc6756df10c7979e06cd9ebdb172b5ef54c7bb67', name: "undo" })), h("button", { key: '07afd176ae1b5cb5a65cd097ce4a99a131aee7aa', class: "utility-button", "data-testid": "utility-redo", disabled: !this.undoState?.canRedo, onClick: event => this.handleRedo(event), "aria-label": this.terms['utility.redo'] ?? 'Redo' }, h("kritzel-icon", { key: '4573d7ab91f0cbfa0aafb607050f0b09048d60e1', name: "redo" })), h("div", { key: 'b663c43ef9181f61b12614245a65d063f6d94eaf', class: "utility-separator" }), h("button", { key: '248f7ae7cabbd83585674dcb16124a3f9fa2449b', class: "utility-button", "data-testid": "utility-delete", onClick: () => this.delete.emit(), "aria-label": this.terms['utility.delete'] ?? 'Delete selected items' }, h("kritzel-icon", { key: '6cbc48e118c96770333ed3e5947e54e497e93716', name: "delete" }))));
36
+ return (h(Host, { key: '3485f5cc7c4f1fd71fe24c2337d0a1f7145012c0' }, h("button", { key: '0a5eb536282df4fec1d7eead330574412640ae8b', class: "utility-button", "data-testid": "utility-undo", disabled: !this.undoState?.canUndo, onClick: event => this.handleUndo(event), "aria-label": this.terms['utility.undo'] ?? 'Undo' }, h("kritzel-icon", { key: '976805f2e645acf710b30a6dc089b93bf3d6efb3', name: "undo" })), h("button", { key: 'dd44f61e16f96e315d62c0e9278b0a09ec7169d7', class: "utility-button", "data-testid": "utility-redo", disabled: !this.undoState?.canRedo, onClick: event => this.handleRedo(event), "aria-label": this.terms['utility.redo'] ?? 'Redo' }, h("kritzel-icon", { key: '4f3fb33d6bc5cfa5c3b23a39c10998efefec51a8', name: "redo" })), h("div", { key: '60124754529de5ac00e6ec281a2402d4c85e1906', class: "utility-separator" }), h("button", { key: '0b3cbd654f5a8c2319547a3314887435dfc5b1f7', class: "utility-button", "data-testid": "utility-delete", onClick: () => this.delete.emit(), "aria-label": this.terms['utility.delete'] ?? 'Delete selected items' }, h("kritzel-icon", { key: '7fe136ecc1513895b14e479a5d47e13d398f52b4', name: "delete" }))));
37
37
  }
38
38
  static get style() { return kritzelUtilityPanelCss(); }
39
39
  }, [513, "kritzel-utility-panel", {