@kritzel/editor 0.4.31

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 (298) hide show
  1. package/LICENSE.md +50 -0
  2. package/README.md +5 -0
  3. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  4. package/dist/cjs/index-B92VHWr4.js +1834 -0
  5. package/dist/cjs/index.cjs.js +2 -0
  6. package/dist/cjs/kritzel-active-users_46.cjs.entry.js +75271 -0
  7. package/dist/cjs/kritzel-brush-style.cjs.entry.js +31 -0
  8. package/dist/cjs/kritzel-editor.cjs.js +25 -0
  9. package/dist/cjs/loader.cjs.js +13 -0
  10. package/dist/collection/collection-manifest.json +65 -0
  11. package/dist/collection/components/kritzel-active-users/kritzel-active-users.css +65 -0
  12. package/dist/collection/components/kritzel-active-users/kritzel-active-users.js +134 -0
  13. package/dist/collection/components/kritzel-avatar/kritzel-avatar.css +58 -0
  14. package/dist/collection/components/kritzel-avatar/kritzel-avatar.js +207 -0
  15. package/dist/collection/components/kritzel-back-to-content/kritzel-back-to-content.css +42 -0
  16. package/dist/collection/components/kritzel-back-to-content/kritzel-back-to-content.js +95 -0
  17. package/dist/collection/components/kritzel-brush-style/kritzel-brush-style.css +43 -0
  18. package/dist/collection/components/kritzel-brush-style/kritzel-brush-style.js +97 -0
  19. package/dist/collection/components/kritzel-button/kritzel-button.css +73 -0
  20. package/dist/collection/components/kritzel-button/kritzel-button.js +118 -0
  21. package/dist/collection/components/kritzel-color/kritzel-color.css +25 -0
  22. package/dist/collection/components/kritzel-color/kritzel-color.js +149 -0
  23. package/dist/collection/components/kritzel-color-palette/kritzel-color-palette.css +46 -0
  24. package/dist/collection/components/kritzel-color-palette/kritzel-color-palette.js +225 -0
  25. package/dist/collection/components/kritzel-context-menu/kritzel-context-menu.css +112 -0
  26. package/dist/collection/components/kritzel-context-menu/kritzel-context-menu.js +368 -0
  27. package/dist/collection/components/kritzel-current-user/kritzel-current-user.css +11 -0
  28. package/dist/collection/components/kritzel-current-user/kritzel-current-user.js +109 -0
  29. package/dist/collection/components/kritzel-current-user-dialog/kritzel-current-user-dialog.css +39 -0
  30. package/dist/collection/components/kritzel-current-user-dialog/kritzel-current-user-dialog.js +169 -0
  31. package/dist/collection/components/kritzel-dialog/kritzel-dialog.css +209 -0
  32. package/dist/collection/components/kritzel-dialog/kritzel-dialog.js +787 -0
  33. package/dist/collection/components/kritzel-dropdown/kritzel-dropdown.css +190 -0
  34. package/dist/collection/components/kritzel-dropdown/kritzel-dropdown.js +418 -0
  35. package/dist/collection/components/kritzel-editor/kritzel-editor.css +161 -0
  36. package/dist/collection/components/kritzel-editor/kritzel-editor.js +4678 -0
  37. package/dist/collection/components/kritzel-export/kritzel-export.css +89 -0
  38. package/dist/collection/components/kritzel-export/kritzel-export.js +246 -0
  39. package/dist/collection/components/kritzel-font/kritzel-font.css +10 -0
  40. package/dist/collection/components/kritzel-font/kritzel-font.js +89 -0
  41. package/dist/collection/components/kritzel-font-family/kritzel-font-family.css +48 -0
  42. package/dist/collection/components/kritzel-font-family/kritzel-font-family.js +122 -0
  43. package/dist/collection/components/kritzel-font-size/kritzel-font-size.css +30 -0
  44. package/dist/collection/components/kritzel-font-size/kritzel-font-size.js +117 -0
  45. package/dist/collection/components/kritzel-input/kritzel-input.css +69 -0
  46. package/dist/collection/components/kritzel-input/kritzel-input.js +198 -0
  47. package/dist/collection/components/kritzel-line-endings/kritzel-line-endings.css +60 -0
  48. package/dist/collection/components/kritzel-line-endings/kritzel-line-endings.js +165 -0
  49. package/dist/collection/components/kritzel-loading-overlay/kritzel-loading-overlay.css +54 -0
  50. package/dist/collection/components/kritzel-loading-overlay/kritzel-loading-overlay.js +70 -0
  51. package/dist/collection/components/kritzel-login-dialog/kritzel-login-dialog.css +98 -0
  52. package/dist/collection/components/kritzel-login-dialog/kritzel-login-dialog.js +239 -0
  53. package/dist/collection/components/kritzel-master-detail/kritzel-master-detail.css +190 -0
  54. package/dist/collection/components/kritzel-master-detail/kritzel-master-detail.js +201 -0
  55. package/dist/collection/components/kritzel-menu/kritzel-menu.css +34 -0
  56. package/dist/collection/components/kritzel-menu/kritzel-menu.js +297 -0
  57. package/dist/collection/components/kritzel-menu-item/kritzel-menu-item.css +167 -0
  58. package/dist/collection/components/kritzel-menu-item/kritzel-menu-item.js +298 -0
  59. package/dist/collection/components/kritzel-more-menu/kritzel-more-menu.css +58 -0
  60. package/dist/collection/components/kritzel-more-menu/kritzel-more-menu.js +381 -0
  61. package/dist/collection/components/kritzel-notification-card/kritzel-notification-card.css +101 -0
  62. package/dist/collection/components/kritzel-notification-card/kritzel-notification-card.js +173 -0
  63. package/dist/collection/components/kritzel-numeric-input/kritzel-numeric-input.css +102 -0
  64. package/dist/collection/components/kritzel-numeric-input/kritzel-numeric-input.js +255 -0
  65. package/dist/collection/components/kritzel-opacity-slider/kritzel-opacity-slider.css +85 -0
  66. package/dist/collection/components/kritzel-opacity-slider/kritzel-opacity-slider.js +164 -0
  67. package/dist/collection/components/kritzel-pill-tabs/kritzel-pill-tabs.css +68 -0
  68. package/dist/collection/components/kritzel-pill-tabs/kritzel-pill-tabs.js +135 -0
  69. package/dist/collection/components/kritzel-portal/kritzel-portal.js +432 -0
  70. package/dist/collection/components/kritzel-settings/kritzel-settings.css +137 -0
  71. package/dist/collection/components/kritzel-settings/kritzel-settings.js +448 -0
  72. package/dist/collection/components/kritzel-shape-fill/kritzel-shape-fill.css +47 -0
  73. package/dist/collection/components/kritzel-shape-fill/kritzel-shape-fill.js +93 -0
  74. package/dist/collection/components/kritzel-share-dialog/kritzel-share-dialog.css +150 -0
  75. package/dist/collection/components/kritzel-share-dialog/kritzel-share-dialog.js +308 -0
  76. package/dist/collection/components/kritzel-slide-toggle/kritzel-slide-toggle.css +48 -0
  77. package/dist/collection/components/kritzel-slide-toggle/kritzel-slide-toggle.js +119 -0
  78. package/dist/collection/components/kritzel-split-button/kritzel-split-button.css +78 -0
  79. package/dist/collection/components/kritzel-split-button/kritzel-split-button.js +433 -0
  80. package/dist/collection/components/kritzel-stroke-size/kritzel-stroke-size.css +37 -0
  81. package/dist/collection/components/kritzel-stroke-size/kritzel-stroke-size.js +89 -0
  82. package/dist/collection/components/kritzel-tool-config/kritzel-tool-config.css +38 -0
  83. package/dist/collection/components/kritzel-tool-config/kritzel-tool-config.js +467 -0
  84. package/dist/collection/components/kritzel-toolbar/kritzel-toolbar.css +348 -0
  85. package/dist/collection/components/kritzel-toolbar/kritzel-toolbar.js +588 -0
  86. package/dist/collection/components/kritzel-tooltip/kritzel-tooltip.css +18 -0
  87. package/dist/collection/components/kritzel-tooltip/kritzel-tooltip.js +388 -0
  88. package/dist/collection/components/kritzel-utility-panel/kritzel-utility-panel.css +46 -0
  89. package/dist/collection/components/kritzel-utility-panel/kritzel-utility-panel.js +146 -0
  90. package/dist/collection/components/kritzel-workspace-manager/kritzel-workspace-manager.css +16 -0
  91. package/dist/collection/components/kritzel-workspace-manager/kritzel-workspace-manager.js +365 -0
  92. package/dist/collection/components/kritzel-zoom-panel/kritzel-zoom-panel.css +72 -0
  93. package/dist/collection/components/kritzel-zoom-panel/kritzel-zoom-panel.js +173 -0
  94. package/dist/collection/index.js +1 -0
  95. package/dist/components/index.d.ts +121 -0
  96. package/dist/components/index.js +48 -0
  97. package/dist/components/kritzel-active-users.d.ts +11 -0
  98. package/dist/components/kritzel-active-users.js +6 -0
  99. package/dist/components/kritzel-avatar.d.ts +11 -0
  100. package/dist/components/kritzel-avatar.js +6 -0
  101. package/dist/components/kritzel-awareness-cursors.js +6 -0
  102. package/dist/components/kritzel-back-to-content.d.ts +11 -0
  103. package/dist/components/kritzel-back-to-content.js +6 -0
  104. package/dist/components/kritzel-brush-style.d.ts +11 -0
  105. package/dist/components/kritzel-brush-style.js +64 -0
  106. package/dist/components/kritzel-button.d.ts +11 -0
  107. package/dist/components/kritzel-button.js +6 -0
  108. package/dist/components/kritzel-color-palette.d.ts +11 -0
  109. package/dist/components/kritzel-color-palette.js +6 -0
  110. package/dist/components/kritzel-color.d.ts +11 -0
  111. package/dist/components/kritzel-color.js +6 -0
  112. package/dist/components/kritzel-context-menu.d.ts +11 -0
  113. package/dist/components/kritzel-context-menu.js +6 -0
  114. package/dist/components/kritzel-current-user-dialog.d.ts +11 -0
  115. package/dist/components/kritzel-current-user-dialog.js +6 -0
  116. package/dist/components/kritzel-current-user.d.ts +11 -0
  117. package/dist/components/kritzel-current-user.js +6 -0
  118. package/dist/components/kritzel-cursor-trail.js +6 -0
  119. package/dist/components/kritzel-dialog.d.ts +11 -0
  120. package/dist/components/kritzel-dialog.js +6 -0
  121. package/dist/components/kritzel-dropdown.d.ts +11 -0
  122. package/dist/components/kritzel-dropdown.js +6 -0
  123. package/dist/components/kritzel-editor.d.ts +11 -0
  124. package/dist/components/kritzel-editor.js +1792 -0
  125. package/dist/components/kritzel-engine.js +6 -0
  126. package/dist/components/kritzel-export.d.ts +11 -0
  127. package/dist/components/kritzel-export.js +6 -0
  128. package/dist/components/kritzel-font-family.d.ts +11 -0
  129. package/dist/components/kritzel-font-family.js +6 -0
  130. package/dist/components/kritzel-font-size.d.ts +11 -0
  131. package/dist/components/kritzel-font-size.js +6 -0
  132. package/dist/components/kritzel-font.d.ts +11 -0
  133. package/dist/components/kritzel-font.js +6 -0
  134. package/dist/components/kritzel-icon.js +6 -0
  135. package/dist/components/kritzel-input.d.ts +11 -0
  136. package/dist/components/kritzel-input.js +6 -0
  137. package/dist/components/kritzel-line-endings.d.ts +11 -0
  138. package/dist/components/kritzel-line-endings.js +6 -0
  139. package/dist/components/kritzel-loading-overlay.d.ts +11 -0
  140. package/dist/components/kritzel-loading-overlay.js +6 -0
  141. package/dist/components/kritzel-login-dialog.d.ts +11 -0
  142. package/dist/components/kritzel-login-dialog.js +6 -0
  143. package/dist/components/kritzel-master-detail.d.ts +11 -0
  144. package/dist/components/kritzel-master-detail.js +6 -0
  145. package/dist/components/kritzel-menu-item.d.ts +11 -0
  146. package/dist/components/kritzel-menu-item.js +6 -0
  147. package/dist/components/kritzel-menu.d.ts +11 -0
  148. package/dist/components/kritzel-menu.js +6 -0
  149. package/dist/components/kritzel-more-menu.d.ts +11 -0
  150. package/dist/components/kritzel-more-menu.js +6 -0
  151. package/dist/components/kritzel-notification-card.d.ts +11 -0
  152. package/dist/components/kritzel-notification-card.js +6 -0
  153. package/dist/components/kritzel-numeric-input.d.ts +11 -0
  154. package/dist/components/kritzel-numeric-input.js +6 -0
  155. package/dist/components/kritzel-opacity-slider.d.ts +11 -0
  156. package/dist/components/kritzel-opacity-slider.js +6 -0
  157. package/dist/components/kritzel-pill-tabs.d.ts +11 -0
  158. package/dist/components/kritzel-pill-tabs.js +6 -0
  159. package/dist/components/kritzel-portal.d.ts +11 -0
  160. package/dist/components/kritzel-portal.js +6 -0
  161. package/dist/components/kritzel-settings.d.ts +11 -0
  162. package/dist/components/kritzel-settings.js +6 -0
  163. package/dist/components/kritzel-shape-fill.d.ts +11 -0
  164. package/dist/components/kritzel-shape-fill.js +6 -0
  165. package/dist/components/kritzel-share-dialog.d.ts +11 -0
  166. package/dist/components/kritzel-share-dialog.js +6 -0
  167. package/dist/components/kritzel-slide-toggle.d.ts +11 -0
  168. package/dist/components/kritzel-slide-toggle.js +6 -0
  169. package/dist/components/kritzel-split-button.d.ts +11 -0
  170. package/dist/components/kritzel-split-button.js +6 -0
  171. package/dist/components/kritzel-stroke-size.d.ts +11 -0
  172. package/dist/components/kritzel-stroke-size.js +6 -0
  173. package/dist/components/kritzel-tool-config.d.ts +11 -0
  174. package/dist/components/kritzel-tool-config.js +6 -0
  175. package/dist/components/kritzel-toolbar.d.ts +11 -0
  176. package/dist/components/kritzel-toolbar.js +6 -0
  177. package/dist/components/kritzel-tooltip.d.ts +11 -0
  178. package/dist/components/kritzel-tooltip.js +6 -0
  179. package/dist/components/kritzel-utility-panel.d.ts +11 -0
  180. package/dist/components/kritzel-utility-panel.js +6 -0
  181. package/dist/components/kritzel-watermark.js +6 -0
  182. package/dist/components/kritzel-workspace-manager.d.ts +11 -0
  183. package/dist/components/kritzel-workspace-manager.js +6 -0
  184. package/dist/components/kritzel-zoom-panel.d.ts +11 -0
  185. package/dist/components/kritzel-zoom-panel.js +6 -0
  186. package/dist/components/p-4-qLegHb.js +142 -0
  187. package/dist/components/p-5qkOM1RJ.js +1557 -0
  188. package/dist/components/p-B3Tqoyl9.js +43 -0
  189. package/dist/components/p-B5xYV1o3.js +77 -0
  190. package/dist/components/p-B6UJztrf.js +290 -0
  191. package/dist/components/p-BDjRSoAc.js +43 -0
  192. package/dist/components/p-BFTU3MAI.js +7 -0
  193. package/dist/components/p-BGmTmdLe.js +167 -0
  194. package/dist/components/p-BN8VWPlq.js +164 -0
  195. package/dist/components/p-BZ_KnHdR.js +222 -0
  196. package/dist/components/p-B_gT0lCn.js +94 -0
  197. package/dist/components/p-BfMlwIcG.js +62 -0
  198. package/dist/components/p-BjFrt1q0.js +62 -0
  199. package/dist/components/p-Blq9a1ni.js +3267 -0
  200. package/dist/components/p-BrGJIoGK.js +52 -0
  201. package/dist/components/p-BvG3JO85.js +56 -0
  202. package/dist/components/p-CS3YZVYE.js +319 -0
  203. package/dist/components/p-CVxGF4bJ.js +150 -0
  204. package/dist/components/p-Ckqh1tqY.js +468 -0
  205. package/dist/components/p-ClfOtiNp.js +84 -0
  206. package/dist/components/p-CmjXRLdr.js +220 -0
  207. package/dist/components/p-CoNexfpB.js +106 -0
  208. package/dist/components/p-Cp4e4oTE.js +122 -0
  209. package/dist/components/p-CrIEmItB.js +85 -0
  210. package/dist/components/p-CvaxFYS0.js +304 -0
  211. package/dist/components/p-CwBxnzYu.js +57 -0
  212. package/dist/components/p-Cy_cLtOP.js +3456 -0
  213. package/dist/components/p-CzUeIini.js +381 -0
  214. package/dist/components/p-D0tPTPkR.js +99 -0
  215. package/dist/components/p-DJxgPPfs.js +194 -0
  216. package/dist/components/p-DOJCDPVD.js +55 -0
  217. package/dist/components/p-DVv8ChhE.js +91 -0
  218. package/dist/components/p-DXZBWJBt.js +70 -0
  219. package/dist/components/p-DXuf225S.js +53 -0
  220. package/dist/components/p-DZsSiMnA.js +63037 -0
  221. package/dist/components/p-DqOC_Yck.js +112 -0
  222. package/dist/components/p-Ds0uNtwQ.js +97 -0
  223. package/dist/components/p-DyRJFg4w.js +57 -0
  224. package/dist/components/p-GbCxpbQ6.js +88 -0
  225. package/dist/components/p-McY5wZ0h.js +135 -0
  226. package/dist/components/p-QEue33R5.js +70 -0
  227. package/dist/components/p-R1D8Sr0l.js +299 -0
  228. package/dist/components/p-SLnqczCS.js +49 -0
  229. package/dist/components/p-hQwVRh0t.js +147 -0
  230. package/dist/components/p-h_uh_Njf.js +63 -0
  231. package/dist/components/p-kOINnzaR.js +161 -0
  232. package/dist/components/p-peZjvnkK.js +486 -0
  233. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  234. package/dist/esm/index-OjbYJz-P.js +1807 -0
  235. package/dist/esm/index.js +1 -0
  236. package/dist/esm/kritzel-active-users_46.entry.js +75224 -0
  237. package/dist/esm/kritzel-brush-style.entry.js +29 -0
  238. package/dist/esm/kritzel-editor.js +21 -0
  239. package/dist/esm/loader.js +11 -0
  240. package/dist/index.cjs.js +1 -0
  241. package/dist/index.js +1 -0
  242. package/dist/kritzel-editor/index.esm.js +1 -0
  243. package/dist/kritzel-editor/kritzel-editor.esm.js +21 -0
  244. package/dist/kritzel-editor/p-501047d8.entry.js +29 -0
  245. package/dist/kritzel-editor/p-60319edb.entry.js +75224 -0
  246. package/dist/kritzel-editor/p-DQuL1Twl.js +3 -0
  247. package/dist/kritzel-editor/p-OjbYJz-P.js +1790 -0
  248. package/dist/types/components/kritzel-active-users/kritzel-active-users.d.ts +21 -0
  249. package/dist/types/components/kritzel-avatar/kritzel-avatar.d.ts +27 -0
  250. package/dist/types/components/kritzel-back-to-content/kritzel-back-to-content.d.ts +17 -0
  251. package/dist/types/components/kritzel-brush-style/kritzel-brush-style.d.ts +11 -0
  252. package/dist/types/components/kritzel-button/kritzel-button.d.ts +13 -0
  253. package/dist/types/components/kritzel-color/kritzel-color.d.ts +10 -0
  254. package/dist/types/components/kritzel-color-palette/kritzel-color-palette.d.ts +17 -0
  255. package/dist/types/components/kritzel-context-menu/kritzel-context-menu.d.ts +40 -0
  256. package/dist/types/components/kritzel-current-user/kritzel-current-user.d.ts +15 -0
  257. package/dist/types/components/kritzel-current-user-dialog/kritzel-current-user-dialog.d.ts +18 -0
  258. package/dist/types/components/kritzel-dialog/kritzel-dialog.d.ts +85 -0
  259. package/dist/types/components/kritzel-dropdown/kritzel-dropdown.d.ts +48 -0
  260. package/dist/types/components/kritzel-editor/kritzel-editor.d.ts +356 -0
  261. package/dist/types/components/kritzel-export/kritzel-export.d.ts +35 -0
  262. package/dist/types/components/kritzel-font/kritzel-font.d.ts +6 -0
  263. package/dist/types/components/kritzel-font-family/kritzel-font-family.d.ts +17 -0
  264. package/dist/types/components/kritzel-font-size/kritzel-font-size.d.ts +10 -0
  265. package/dist/types/components/kritzel-input/kritzel-input.d.ts +22 -0
  266. package/dist/types/components/kritzel-line-endings/kritzel-line-endings.d.ts +21 -0
  267. package/dist/types/components/kritzel-loading-overlay/kritzel-loading-overlay.d.ts +11 -0
  268. package/dist/types/components/kritzel-login-dialog/kritzel-login-dialog.d.ts +32 -0
  269. package/dist/types/components/kritzel-master-detail/kritzel-master-detail.d.ts +25 -0
  270. package/dist/types/components/kritzel-menu/kritzel-menu.d.ts +25 -0
  271. package/dist/types/components/kritzel-menu-item/kritzel-menu-item.d.ts +28 -0
  272. package/dist/types/components/kritzel-more-menu/kritzel-more-menu.d.ts +55 -0
  273. package/dist/types/components/kritzel-notification-card/kritzel-notification-card.d.ts +22 -0
  274. package/dist/types/components/kritzel-numeric-input/kritzel-numeric-input.d.ts +32 -0
  275. package/dist/types/components/kritzel-opacity-slider/kritzel-opacity-slider.d.ts +17 -0
  276. package/dist/types/components/kritzel-pill-tabs/kritzel-pill-tabs.d.ts +26 -0
  277. package/dist/types/components/kritzel-portal/kritzel-portal.d.ts +33 -0
  278. package/dist/types/components/kritzel-settings/kritzel-settings.d.ts +64 -0
  279. package/dist/types/components/kritzel-shape-fill/kritzel-shape-fill.d.ts +10 -0
  280. package/dist/types/components/kritzel-share-dialog/kritzel-share-dialog.d.ts +49 -0
  281. package/dist/types/components/kritzel-slide-toggle/kritzel-slide-toggle.d.ts +14 -0
  282. package/dist/types/components/kritzel-split-button/kritzel-split-button.d.ts +38 -0
  283. package/dist/types/components/kritzel-stroke-size/kritzel-stroke-size.d.ts +8 -0
  284. package/dist/types/components/kritzel-tool-config/kritzel-tool-config.d.ts +39 -0
  285. package/dist/types/components/kritzel-toolbar/kritzel-toolbar.d.ts +76 -0
  286. package/dist/types/components/kritzel-tooltip/kritzel-tooltip.d.ts +30 -0
  287. package/dist/types/components/kritzel-utility-panel/kritzel-utility-panel.d.ts +14 -0
  288. package/dist/types/components/kritzel-workspace-manager/kritzel-workspace-manager.d.ts +40 -0
  289. package/dist/types/components/kritzel-zoom-panel/kritzel-zoom-panel.d.ts +20 -0
  290. package/dist/types/components.d.ts +3166 -0
  291. package/dist/types/index.d.ts +8 -0
  292. package/dist/types/stencil-public-runtime.d.ts +1873 -0
  293. package/loader/cdn.js +1 -0
  294. package/loader/index.cjs.js +1 -0
  295. package/loader/index.d.ts +24 -0
  296. package/loader/index.es2017.js +1 -0
  297. package/loader/index.js +2 -0
  298. package/package.json +83 -0
@@ -0,0 +1,3166 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ /**
4
+ * This is an autogenerated file created by the Stencil compiler.
5
+ * It contains typing information for all components that exist in this project.
6
+ */
7
+ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { ActiveWorkspaceChangeEvent, ConfigurableTool, ContextMenuItem, EditorIsReadyEvent, IKritzelDialogCloseEvent, IKritzelIsPublicChangeEvent, IKritzelMasterDetailItem, IKritzelMasterDetailSelectEvent, IKritzelMenuItem, IKritzelMenuItemSelectEvent, IKritzelMenuItemToggleChildMenuEvent, IKritzelUser, KritzelAlignment, KritzelAssetStorageConfig, KritzelBaseObject, KritzelBaseTool, KritzelBrushToolConfig, KritzelDebugInfo, KritzelDialogCloseReason, KritzelFontMap, KritzelLineToolConfig, KritzelLocale, KritzelLoginConfig, KritzelLoginProvider, KritzelNotification, KritzelObjectExportFormat, KritzelSettingsConfig, KritzelShapeToolConfig, KritzelShortcut, KritzelSyncConfig, KritzelTermKey, KritzelTermVars, KritzelTextToolConfig, KritzelTheme, KritzelToolbarItem, KritzelUndoState, KritzelViewportState, KritzelWorkspace, LineArrowConfig, LocaleCode, LoginEvent, ObjectsAddedEvent, ObjectsRemovedEvent, ObjectsUpdatedEvent, ThemeAwareColor, ThemeName, ToolDisplayValues } from "@kritzel/engine";
9
+ import { BrushStyleOption } from "./components/kritzel-brush-style/kritzel-brush-style";
10
+ import { DropdownOption } from "./components/kritzel-dropdown/kritzel-dropdown";
11
+ import { Element } from "./stencil-public-runtime";
12
+ import { FontOption } from "./components/kritzel-font-family/kritzel-font-family";
13
+ import { LineEndingType } from "./components/kritzel-line-endings/kritzel-line-endings";
14
+ import { KritzelPillTab } from "./components/kritzel-pill-tabs/kritzel-pill-tabs";
15
+ import { ShapeFillType } from "./components/kritzel-shape-fill/kritzel-shape-fill";
16
+ export { ActiveWorkspaceChangeEvent, ConfigurableTool, ContextMenuItem, EditorIsReadyEvent, IKritzelDialogCloseEvent, IKritzelIsPublicChangeEvent, IKritzelMasterDetailItem, IKritzelMasterDetailSelectEvent, IKritzelMenuItem, IKritzelMenuItemSelectEvent, IKritzelMenuItemToggleChildMenuEvent, IKritzelUser, KritzelAlignment, KritzelAssetStorageConfig, KritzelBaseObject, KritzelBaseTool, KritzelBrushToolConfig, KritzelDebugInfo, KritzelDialogCloseReason, KritzelFontMap, KritzelLineToolConfig, KritzelLocale, KritzelLoginConfig, KritzelLoginProvider, KritzelNotification, KritzelObjectExportFormat, KritzelSettingsConfig, KritzelShapeToolConfig, KritzelShortcut, KritzelSyncConfig, KritzelTermKey, KritzelTermVars, KritzelTextToolConfig, KritzelTheme, KritzelToolbarItem, KritzelUndoState, KritzelViewportState, KritzelWorkspace, LineArrowConfig, LocaleCode, LoginEvent, ObjectsAddedEvent, ObjectsRemovedEvent, ObjectsUpdatedEvent, ThemeAwareColor, ThemeName, ToolDisplayValues } from "@kritzel/engine";
17
+ export { BrushStyleOption } from "./components/kritzel-brush-style/kritzel-brush-style";
18
+ export { DropdownOption } from "./components/kritzel-dropdown/kritzel-dropdown";
19
+ export { Element } from "./stencil-public-runtime";
20
+ export { FontOption } from "./components/kritzel-font-family/kritzel-font-family";
21
+ export { LineEndingType } from "./components/kritzel-line-endings/kritzel-line-endings";
22
+ export { KritzelPillTab } from "./components/kritzel-pill-tabs/kritzel-pill-tabs";
23
+ export { ShapeFillType } from "./components/kritzel-shape-fill/kritzel-shape-fill";
24
+ export namespace Components {
25
+ interface KritzelActiveUsers {
26
+ /**
27
+ * Avatar size in pixels
28
+ * @default 40
29
+ */
30
+ "avatarSize": number;
31
+ /**
32
+ * Maximum number of avatars to show before overflow text
33
+ * @default 3
34
+ */
35
+ "maxVisible": number;
36
+ /**
37
+ * Overlap offset in pixels (negative margin between avatars)
38
+ * @default 20
39
+ */
40
+ "overlap": number;
41
+ /**
42
+ * Array of active users to display
43
+ * @default []
44
+ */
45
+ "users": IKritzelUser[];
46
+ }
47
+ interface KritzelAvatar {
48
+ /**
49
+ * Background color for initials fallback
50
+ */
51
+ "color"?: string;
52
+ /**
53
+ * Direct prop: user's display name (used for initials fallback)
54
+ */
55
+ "name"?: string;
56
+ /**
57
+ * Avatar diameter in pixels
58
+ * @default 32
59
+ */
60
+ "size": number;
61
+ /**
62
+ * Full user object. If provided, individual props are ignored.
63
+ */
64
+ "user"?: IKritzelUser;
65
+ }
66
+ interface KritzelBackToContent {
67
+ /**
68
+ * The text to display on the button
69
+ * @default 'Back to content'
70
+ */
71
+ "text": string;
72
+ /**
73
+ * Whether the button is visible
74
+ * @default false
75
+ */
76
+ "visible": boolean;
77
+ }
78
+ interface KritzelBrushStyle {
79
+ /**
80
+ * @default [ { value: 'pen', label: 'Pen' }, { value: 'highlighter', label: 'Highlighter' }, ]
81
+ */
82
+ "brushOptions": BrushStyleOption[];
83
+ /**
84
+ * @default 'pen'
85
+ */
86
+ "type": 'pen' | 'highlighter';
87
+ }
88
+ interface KritzelButton {
89
+ /**
90
+ * Whether the button is disabled
91
+ * @default false
92
+ */
93
+ "disabled": boolean;
94
+ /**
95
+ * The type attribute for the native button element
96
+ * @default 'button'
97
+ */
98
+ "type": 'button' | 'submit' | 'reset';
99
+ /**
100
+ * The visual variant of the button
101
+ * @default 'primary'
102
+ */
103
+ "variant": 'primary' | 'secondary' | 'text';
104
+ }
105
+ interface KritzelColor {
106
+ /**
107
+ * @default 24
108
+ */
109
+ "size": number;
110
+ "theme": ThemeName;
111
+ "value": string | ThemeAwareColor;
112
+ }
113
+ interface KritzelColorPalette {
114
+ /**
115
+ * @default []
116
+ */
117
+ "colors": ThemeAwareColor[];
118
+ /**
119
+ * @default false
120
+ */
121
+ "isExpanded": boolean;
122
+ /**
123
+ * @default false
124
+ */
125
+ "isOpaque": boolean;
126
+ /**
127
+ * @default 1
128
+ */
129
+ "opacity": number;
130
+ /**
131
+ * @default null
132
+ */
133
+ "selectedColor": ThemeAwareColor | null;
134
+ "theme": ThemeName;
135
+ }
136
+ interface KritzelContextMenu {
137
+ "items": ContextMenuItem[];
138
+ "objects": KritzelBaseObject[];
139
+ }
140
+ interface KritzelCurrentUser {
141
+ /**
142
+ * Avatar size in pixels
143
+ * @default 40
144
+ */
145
+ "avatarSize": number;
146
+ /**
147
+ * Resolved localized strings keyed by term key, supplied by the editor.
148
+ * @default {}
149
+ */
150
+ "terms": Partial<Record<KritzelTermKey, string>>;
151
+ /**
152
+ * The current user to display
153
+ */
154
+ "user"?: IKritzelUser;
155
+ }
156
+ interface KritzelCurrentUserDialog {
157
+ "close": () => Promise<void>;
158
+ "open": () => Promise<void>;
159
+ /**
160
+ * Resolved localized strings keyed by term key, supplied by the editor.
161
+ * @default {}
162
+ */
163
+ "terms": Partial<Record<KritzelTermKey, string>>;
164
+ "user"?: IKritzelUser;
165
+ }
166
+ interface KritzelDialog {
167
+ /**
168
+ * Whether to auto-focus the first focusable element when opened
169
+ * @default true
170
+ */
171
+ "autoFocus": boolean;
172
+ /**
173
+ * Whether to show the close button in the header
174
+ * @default true
175
+ */
176
+ "closable": boolean;
177
+ "close": (reason?: KritzelDialogCloseReason) => Promise<void>;
178
+ /**
179
+ * Whether clicking the backdrop closes the dialog
180
+ * @default true
181
+ */
182
+ "closeOnBackdrop": boolean;
183
+ /**
184
+ * Whether pressing Escape closes the dialog
185
+ * @default true
186
+ */
187
+ "closeOnEscape": boolean;
188
+ /**
189
+ * Constrain the dialog to its nearest editor/container ancestor instead of the viewport.
190
+ * @default false
191
+ */
192
+ "contained": boolean;
193
+ /**
194
+ * Optional title displayed in the header
195
+ */
196
+ "dialogTitle"?: string;
197
+ "focusFirstElement": () => Promise<void>;
198
+ /**
199
+ * Whether to automatically go fullscreen on mobile viewports
200
+ * @default true
201
+ */
202
+ "fullscreenOnMobile": boolean;
203
+ /**
204
+ * Whether the dialog is open
205
+ * @default false
206
+ */
207
+ "isOpen": boolean;
208
+ "open": () => Promise<void>;
209
+ /**
210
+ * Size of the dialog
211
+ * @default 'medium'
212
+ */
213
+ "size": 'small' | 'medium' | 'large' | 'fullscreen';
214
+ /**
215
+ * Whether to trap focus within the dialog
216
+ * @default true
217
+ */
218
+ "trapFocus": boolean;
219
+ }
220
+ interface KritzelDropdown {
221
+ /**
222
+ * Force the dropdown to open in a specific direction instead of auto-detecting
223
+ */
224
+ "forceOpenDirection"?: 'down' | 'up';
225
+ /**
226
+ * @default []
227
+ */
228
+ "options": DropdownOption[];
229
+ /**
230
+ * @default {}
231
+ */
232
+ "selectStyles"?: Record<string, string>;
233
+ "value": string;
234
+ "width"?: string;
235
+ }
236
+ interface KritzelEditor {
237
+ "activeUsers"?: IKritzelUser[];
238
+ /**
239
+ * Optional workspace ID to set as active. If provided, the editor will automatically activate the workspace with this ID.
240
+ */
241
+ "activeWorkspaceId"?: string;
242
+ "addObject": <T extends KritzelBaseObject>(object: T) => Promise<T | null>;
243
+ "addObjects": <T extends KritzelBaseObject>(objects: T[]) => Promise<T[]>;
244
+ "alignObjects": (alignment: KritzelAlignment) => Promise<void>;
245
+ /**
246
+ * @default DEFAULT_ASSET_STORAGE_CONFIG
247
+ */
248
+ "assetStorageConfig"?: KritzelAssetStorageConfig;
249
+ "backToContent": () => Promise<boolean>;
250
+ "beginSceneBootstrap": () => Promise<void>;
251
+ "bringForward": (object?: KritzelBaseObject<any>) => Promise<void>;
252
+ "bringToFront": (object?: KritzelBaseObject<any>) => Promise<void>;
253
+ "canExportSelectedObjectAs": (format: KritzelObjectExportFormat) => Promise<boolean>;
254
+ "centerAllObjects": (animate?: boolean) => Promise<boolean>;
255
+ "centerObjectInViewport": (object: KritzelBaseObject) => Promise<KritzelBaseObject<HTMLElement | SVGElement>>;
256
+ "centerObjects": (objects: KritzelBaseObject[], animate?: boolean) => Promise<boolean>;
257
+ "changeActiveTool": (toolName: string) => Promise<void>;
258
+ "clearSelection": () => Promise<void>;
259
+ "closeExportDialog": () => Promise<void>;
260
+ "closeImportDialog": () => Promise<void>;
261
+ "closeLoginDialog": () => Promise<void>;
262
+ "closeMoreMenu": () => Promise<void>;
263
+ "closeSettingsDialog": () => Promise<void>;
264
+ "closeShareDialog": () => Promise<void>;
265
+ "closeUserDialog": () => Promise<void>;
266
+ "closeWorkspaceManagerMenu": () => Promise<void>;
267
+ "copy": () => Promise<void>;
268
+ "createWorkspace": (workspace: KritzelWorkspace) => Promise<KritzelWorkspace | null>;
269
+ /**
270
+ * The element to use as the target for the cursor. Defaults to the editor container if not set.
271
+ */
272
+ "cursorTarget"?: HTMLElement;
273
+ /**
274
+ * Registers fonts for runtime usage (for example custom object rendering). Text-tool config tooltip options are controlled via toolbarItems[].config.availableFonts.
275
+ * @default {}
276
+ */
277
+ "customFonts": KritzelFontMap;
278
+ /**
279
+ * @default {}
280
+ */
281
+ "customSvgIcons": Record<string, string>;
282
+ "cut": () => Promise<void>;
283
+ /**
284
+ * @default { showViewportInfo: false, showObjectInfo: false, showSyncProviderInfo: true, showMigrationInfo: true, showAssetResolverInfo: false, }
285
+ */
286
+ "debugInfo": KritzelDebugInfo;
287
+ "delete": () => Promise<void>;
288
+ "deleteWorkspace": (workspace: KritzelWorkspace) => Promise<void>;
289
+ "disable": () => Promise<void>;
290
+ "downloadAsJson": (filename?: string) => Promise<void>;
291
+ /**
292
+ * Optional unique identifier for namespacing storage keys across multiple editor instances.
293
+ */
294
+ "editorId"?: string;
295
+ "enable": () => Promise<void>;
296
+ "endSceneBootstrap": () => Promise<void>;
297
+ "exportAsJson": () => Promise<string>;
298
+ "exportSelectedObject": (format: KritzelObjectExportFormat) => Promise<void>;
299
+ "exportViewportAsPng": () => Promise<void>;
300
+ "exportViewportAsSvg": () => Promise<void>;
301
+ /**
302
+ * The locale used to resolve terms missing from the active locale.
303
+ * @default 'en'
304
+ */
305
+ "fallbackLocale": LocaleCode;
306
+ "findObjects": <T extends KritzelBaseObject>(predicate: (obj: KritzelBaseObject<Element>) => boolean) => Promise<T[]>;
307
+ "getActiveWorkspace": () => Promise<KritzelWorkspace>;
308
+ "getAllObjects": <T extends KritzelBaseObject>() => Promise<T[]>;
309
+ /**
310
+ * Gets the list of available locale codes (built-in and registered).
311
+ */
312
+ "getAvailableLocales": () => Promise<LocaleCode[]>;
313
+ "getDisplayableShortcuts": () => Promise<Omit<KritzelShortcut, "action" | "condition">[]>;
314
+ /**
315
+ * Gets the currently active locale code.
316
+ */
317
+ "getLocale": () => Promise<LocaleCode>;
318
+ "getObjectById": <T extends KritzelBaseObject>(id: string) => Promise<T | null>;
319
+ "getObjectsInViewport": () => Promise<KritzelBaseObject[]>;
320
+ "getObjectsTotalCount": () => Promise<number>;
321
+ "getScreenshot": (format?: "png" | "svg") => Promise<string | null>;
322
+ "getSelectedObjectSupportedExportFormats": () => Promise<KritzelObjectExportFormat[]>;
323
+ "getSelectedObjects": () => Promise<KritzelBaseObject[]>;
324
+ "getViewport": () => Promise<KritzelViewportState>;
325
+ "getWorkspaces": () => Promise<KritzelWorkspace[]>;
326
+ /**
327
+ * @default [ { label: 'menu.paste', icon: 'paste', action: menu => this.engineRef.paste(menu.x, menu.y), }, { label: 'menu.selectAll', icon: 'select-all', action: () => this.selectAllObjectsInViewport(), }, ]
328
+ */
329
+ "globalContextMenuItems": ContextMenuItem[];
330
+ "group": () => Promise<void>;
331
+ "hideContextMenu": () => Promise<void>;
332
+ "importFromFile": () => Promise<void>;
333
+ "importFromJson": (json: string) => Promise<void>;
334
+ /**
335
+ * @default true
336
+ */
337
+ "isMoreMenuVisible": boolean;
338
+ /**
339
+ * @default true
340
+ */
341
+ "isPanningEnabled": boolean;
342
+ /**
343
+ * @default true
344
+ */
345
+ "isToolbarVisible": boolean;
346
+ /**
347
+ * @default true
348
+ */
349
+ "isUtilityPanelVisible": boolean;
350
+ /**
351
+ * @default true
352
+ */
353
+ "isWorkspaceManagerVisible": boolean;
354
+ /**
355
+ * @default true
356
+ */
357
+ "isZoomPanelVisible": boolean;
358
+ /**
359
+ * @default true
360
+ */
361
+ "isZoomingEnabled": boolean;
362
+ /**
363
+ * License key that, when valid, removes the "Powered by Kritzel" watermark.
364
+ */
365
+ "licenseKey"?: string;
366
+ "loadObjectsFromJson": (json: string) => Promise<number>;
367
+ "loadSharedWorkspace": (token: string) => Promise<void>;
368
+ /**
369
+ * The current locale (language) code applied to the editor, e.g. 'en', 'de', 'fr'.
370
+ * @default 'en'
371
+ */
372
+ "locale": LocaleCode;
373
+ /**
374
+ * An array of available locale definitions (with optional partial term overrides).
375
+ */
376
+ "locales"?: KritzelLocale[];
377
+ /**
378
+ * @default true
379
+ */
380
+ "lockDrawingScale": boolean;
381
+ /**
382
+ * Optional login configuration. When provided, a "Sign in" button is shown that opens a login dialog with the configured providers.
383
+ */
384
+ "loginConfig"?: KritzelLoginConfig;
385
+ /**
386
+ * @default [ { id: 'share', label: 'menu.share', icon: 'share', isVisible: async () => hasRemoteSyncProvider(this.syncConfig), action: () => { if (!this.isLoggedIn && this.loginConfig) { this.openLoginDialog(); return; } this.shareDialogRef.open(); }, }, { id: 'export', label: 'menu.export', icon: 'upload', action: async () => { const preview = await this.engineRef.getScreenshot('png'); this.exportRef.open(preview ?? undefined); }, }, { id: 'import', label: 'menu.import', icon: 'download', action: () => this.engineRef.importFromFile(), }, { id: 'settings', label: 'menu.settings', icon: 'settings', action: () => this.settingsRef.open(), }, ]
387
+ */
388
+ "moreMenuItems"?: IKritzelMenuItem[];
389
+ /**
390
+ * @default [ { label: 'menu.copy', icon: 'copy', group: 'clipboard', action: () => this.engineRef.copy() }, { label: 'menu.cut', icon: 'cut', group: 'clipboard', action: () => this.engineRef.cut() }, { label: 'menu.paste', icon: 'paste', group: 'clipboard', action: (menu, _) => this.engineRef.paste(menu.x, menu.y), }, { label: 'menu.export', icon: 'upload', group: 'clipboard', isVisible: (_, objects) => this.canExportObjects(objects), action: (_, objects) => { const format = this.getPreferredExportFormat(objects); if (!format) { return; } void this.engineRef.exportSelectedObject(format); }, }, { label: 'menu.order', icon: 'ordering', group: 'other', children: [ { label: 'menu.bringToFront', icon: 'bring-to-front', action: () => this.engineRef.bringToFront() }, { label: 'menu.sendToBack', icon: 'send-to-back', action: () => this.engineRef.sendToBack() }, { label: 'menu.moveUp', icon: 'arrow-up-from-dot', action: () => this.engineRef.bringForward() }, { label: 'menu.moveDown', icon: 'arrow-down-from-dot', action: () => this.engineRef.sendBackward() }, ], }, { label: 'menu.align', icon: 'align', group: 'other', children: [ { label: 'menu.alignLeft', icon: 'align-start-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.StartHorizontal) }, { label: 'menu.alignCenterHorizontal', icon: 'align-center-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterHorizontal) }, { label: 'menu.alignRight', icon: 'align-end-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.EndHorizontal) }, { label: 'menu.alignTop', icon: 'align-start-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.StartVertical) }, { label: 'menu.alignCenterVertical', icon: 'align-center-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterVertical) }, { label: 'menu.alignBottom', icon: 'align-end-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.EndVertical) }, ], }, { label: 'menu.group', icon: 'group', group: 'other', children: [ { label: 'menu.group', icon: 'group', action: () => this.engineRef.group(), }, { label: 'menu.ungroup', icon: 'ungroup', action: () => this.engineRef.ungroup(), }, ], }, { label: 'menu.delete', icon: 'delete', group: 'edit', action: () => this.engineRef.delete() }, ]
391
+ */
392
+ "objectContextMenuItems": ContextMenuItem[];
393
+ "openContextMenu": (options: { x: number; y: number; objectId?: string; }) => Promise<void>;
394
+ "openExportDialog": () => Promise<void>;
395
+ "openImportDialog": () => Promise<void>;
396
+ "openLoginDialog": () => Promise<void>;
397
+ "openMoreMenu": () => Promise<void>;
398
+ "openSettingsDialog": () => Promise<void>;
399
+ "openShareDialog": () => Promise<void>;
400
+ "openUserDialog": () => Promise<void>;
401
+ "openWorkspaceManagerMenu": () => Promise<void>;
402
+ "panTo": (x: number, y: number) => Promise<void>;
403
+ "panToObject": (object: KritzelBaseObject) => Promise<void>;
404
+ "paste": (x: number, y: number) => Promise<void>;
405
+ "redo": () => Promise<void>;
406
+ /**
407
+ * Registers custom fonts for the editor runtime.
408
+ * @param fonts - Mapping from font keys to family names or font definitions.
409
+ * @remarks This no longer controls the text-tool config tooltip font options. Configure tooltip fonts via toolbarItems[].config.availableFonts.
410
+ */
411
+ "registerFonts": (fonts: KritzelFontMap) => Promise<void>;
412
+ /**
413
+ * Registers additional locale definitions (with optional partial term overrides).
414
+ * @param locales - The locale definitions to register.
415
+ */
416
+ "registerLocales": (locales: KritzelLocale[]) => Promise<void>;
417
+ "registerTool": (toolName: string, toolClass: any, toolConfig?: KritzelTextToolConfig | KritzelBrushToolConfig | KritzelLineToolConfig | KritzelShapeToolConfig) => Promise<KritzelBaseTool | null>;
418
+ "reinitSync": () => Promise<void>;
419
+ "removeObject": <T extends KritzelBaseObject>(object: T) => Promise<T | null>;
420
+ "removeObjects": <T extends KritzelBaseObject>(objects: T[]) => Promise<T[]>;
421
+ /**
422
+ * @default 1000
423
+ */
424
+ "scaleMax": number;
425
+ /**
426
+ * @default 0.0001
427
+ */
428
+ "scaleMin": number;
429
+ "screenToWorld": (x: number, y: number) => Promise<{ x: number; y: number; }>;
430
+ "selectAllObjectsInViewport": () => Promise<void>;
431
+ "selectObjects": (objects: KritzelBaseObject[]) => Promise<void>;
432
+ "sendBackward": (object?: KritzelBaseObject<any>) => Promise<void>;
433
+ "sendToBack": (object?: KritzelBaseObject<any>) => Promise<void>;
434
+ "setActiveWorkspace": (id: string) => Promise<void>;
435
+ /**
436
+ * Sets the active locale (language) and re-renders the UI.
437
+ * @param code - The locale code to activate, e.g. 'de'.
438
+ */
439
+ "setLocale": (code: LocaleCode) => Promise<void>;
440
+ "setLoginLoading": (provider: string | null) => Promise<void>;
441
+ "setViewport": (x: number, y: number, scale: number) => Promise<void>;
442
+ /**
443
+ * @default DEFAULT_SYNC_CONFIG
444
+ */
445
+ "syncConfig"?: KritzelSyncConfig;
446
+ /**
447
+ * Resolves a term key to its translated string for the active locale.
448
+ * @param key - The term key to resolve.
449
+ * @param vars - Optional values for `{placeholder}` interpolation.
450
+ */
451
+ "t": (key: KritzelTermKey, vars?: KritzelTermVars) => Promise<string>;
452
+ /**
453
+ * @default 'light'
454
+ */
455
+ "theme": ThemeName;
456
+ "themes"?: KritzelTheme[];
457
+ /**
458
+ * @default [ { name: 'selection', type: 'tool', isDefault: true, tool: KritzelSelectionTool, icon: 'cursor', }, { name: 'brush', type: 'tool', tool: KritzelBrushTool, icon: 'pen', config: DEFAULT_BRUSH_CONFIG, }, { name: 'eraser', type: 'tool', tool: KritzelEraserTool, icon: 'eraser', }, { name: 'line', type: 'tool', tool: KritzelLineTool, icon: 'arrow', config: DEFAULT_LINE_TOOL_CONFIG, }, { name: 'shape', type: 'tool', tool: KritzelShapeTool, icon: 'shape-rectangle', config: DEFAULT_SHAPE_CONFIG, subOptions: [ { id: 'rectangle', icon: 'shape-rectangle', label: 'Rectangle', value: ShapeType.Rectangle, toolProperty: 'shapeType' }, { id: 'ellipse', icon: 'shape-ellipse', label: 'Ellipse', value: ShapeType.Ellipse, toolProperty: 'shapeType' }, { id: 'triangle', icon: 'shape-triangle', label: 'Triangle', value: ShapeType.Triangle, toolProperty: 'shapeType' }, ], }, { name: 'text', type: 'tool', tool: KritzelTextTool, icon: 'type', config: DEFAULT_TEXT_CONFIG, }, { name: 'image', type: 'tool', tool: KritzelImageTool, icon: 'image', }, { name: 'config', type: 'config', }, ]
459
+ */
460
+ "toolbarItems": KritzelToolbarItem[];
461
+ /**
462
+ * Triggers a UI notification programmatically.
463
+ * @param notification - Notification payload. `id` and `timestamp` are optional.
464
+ */
465
+ "triggerNotification": (notification: Omit<KritzelNotification, "id"> & Partial<Pick<KritzelNotification, "id" | "timestamp">>) => Promise<void>;
466
+ "triggerSelectionChange": () => Promise<void>;
467
+ "undo": () => Promise<void>;
468
+ "ungroup": () => Promise<void>;
469
+ "updateObject": <T extends KritzelBaseObject>(object: T, updatedProperties: Partial<T>) => Promise<T | null>;
470
+ "updateWorkspace": (workspace: KritzelWorkspace) => Promise<void>;
471
+ "user"?: IKritzelUser;
472
+ /**
473
+ * @default Infinity
474
+ */
475
+ "viewportBoundaryBottom": number;
476
+ /**
477
+ * @default -Infinity
478
+ */
479
+ "viewportBoundaryLeft": number;
480
+ /**
481
+ * @default Infinity
482
+ */
483
+ "viewportBoundaryRight": number;
484
+ /**
485
+ * @default -Infinity
486
+ */
487
+ "viewportBoundaryTop": number;
488
+ /**
489
+ * Authoritative workspace catalog for this editor instance. When provided, provider-only workspaces are hidden but not deleted.
490
+ */
491
+ "workspaces"?: KritzelWorkspace[];
492
+ "worldToScreen": (x: number, y: number) => Promise<{ x: number; y: number; }>;
493
+ "zoomIn": (factor?: number, duration?: number) => Promise<void>;
494
+ "zoomOut": (factor?: number, duration?: number) => Promise<void>;
495
+ "zoomTo": (scale: number, worldX?: number, worldY?: number) => Promise<void>;
496
+ }
497
+ interface KritzelExport {
498
+ "close": () => Promise<void>;
499
+ "open": (previewUrl?: string) => Promise<void>;
500
+ /**
501
+ * Resolved localized strings keyed by term key, supplied by the editor.
502
+ * @default {}
503
+ */
504
+ "terms": Partial<Record<KritzelTermKey, string>>;
505
+ /**
506
+ * The name of the current workspace, used as default filename
507
+ * @default 'workspace'
508
+ */
509
+ "workspaceName": string;
510
+ }
511
+ interface KritzelFont {
512
+ /**
513
+ * @default '#000000'
514
+ */
515
+ "color": string;
516
+ /**
517
+ * @default 'Arial, sans-serif'
518
+ */
519
+ "fontFamily": string;
520
+ /**
521
+ * @default 24
522
+ */
523
+ "size": number;
524
+ }
525
+ interface KritzelFontFamily {
526
+ /**
527
+ * @default []
528
+ */
529
+ "fontOptions": FontOption[];
530
+ "selectedFontFamily": string;
531
+ }
532
+ interface KritzelFontSize {
533
+ /**
534
+ * @default 'Arial'
535
+ */
536
+ "fontFamily": string;
537
+ /**
538
+ * @default null
539
+ */
540
+ "selectedSize": number | null;
541
+ /**
542
+ * @default [8, 10, 12, 16, 20, 24]
543
+ */
544
+ "sizes": number[];
545
+ }
546
+ interface KritzelInput {
547
+ /**
548
+ * Whether the input is disabled
549
+ * @default false
550
+ */
551
+ "disabled": boolean;
552
+ /**
553
+ * Label text displayed above the input
554
+ * @default ''
555
+ */
556
+ "label": string;
557
+ /**
558
+ * Placeholder text shown when input is empty
559
+ * @default ''
560
+ */
561
+ "placeholder": string;
562
+ /**
563
+ * Suffix text displayed after the input (e.g., file extension)
564
+ * @default ''
565
+ */
566
+ "suffix": string;
567
+ /**
568
+ * Input type
569
+ * @default 'text'
570
+ */
571
+ "type": 'text' | 'email' | 'password' | 'url';
572
+ /**
573
+ * Current text value
574
+ * @default ''
575
+ */
576
+ "value": string;
577
+ }
578
+ interface KritzelLineEndings {
579
+ /**
580
+ * Available ending styles
581
+ * @default ['none', 'triangle']
582
+ */
583
+ "styles": LineEndingType[];
584
+ /**
585
+ * Current line arrow configuration
586
+ */
587
+ "value": LineArrowConfig | undefined;
588
+ }
589
+ interface KritzelLoadingOverlay {
590
+ /**
591
+ * The text to display next to the spinner
592
+ * @default 'Loading...'
593
+ */
594
+ "text": string;
595
+ /**
596
+ * Whether the overlay is visible
597
+ * @default false
598
+ */
599
+ "visible": boolean;
600
+ }
601
+ /**
602
+ * Login dialog component for displaying authentication provider buttons.
603
+ * This is a presentational component that emits events for all actions.
604
+ * The parent component (kritzel-editor) handles the actual authentication flow.
605
+ */
606
+ interface KritzelLoginDialog {
607
+ /**
608
+ * Closes the login dialog
609
+ */
610
+ "close": () => Promise<void>;
611
+ /**
612
+ * Dialog title
613
+ * @default 'Sign in'
614
+ */
615
+ "dialogTitle": string;
616
+ /**
617
+ * Opens the login dialog
618
+ */
619
+ "open": () => Promise<void>;
620
+ /**
621
+ * Array of authentication provider buttons to render
622
+ * @default []
623
+ */
624
+ "providers": KritzelLoginProvider[];
625
+ /**
626
+ * Sets or clears the loading state on a provider button
627
+ */
628
+ "setLoading": (provider: string | null) => Promise<void>;
629
+ /**
630
+ * Optional subtitle text displayed below the title
631
+ */
632
+ "subtitle"?: string;
633
+ }
634
+ interface KritzelMasterDetail {
635
+ /**
636
+ * Array of menu items to display in the master (left) panel
637
+ * @default []
638
+ */
639
+ "items": IKritzelMasterDetailItem[];
640
+ /**
641
+ * ID of the currently selected item
642
+ */
643
+ "selectedItemId": string;
644
+ }
645
+ interface KritzelMenu {
646
+ "items": IKritzelMenuItem[];
647
+ /**
648
+ * @default null
649
+ */
650
+ "parent": IKritzelMenuItem;
651
+ "setFocus": () => Promise<void>;
652
+ "setScrollTop": (scrollTop: number) => Promise<void>;
653
+ }
654
+ interface KritzelMenuItem {
655
+ "item": IKritzelMenuItem;
656
+ /**
657
+ * @default null
658
+ */
659
+ "parent": IKritzelMenuItem;
660
+ }
661
+ interface KritzelMoreMenu {
662
+ "close": () => Promise<void>;
663
+ /**
664
+ * The icon to display on the button
665
+ * @default 'ellipsis-vertical'
666
+ */
667
+ "icon": string;
668
+ /**
669
+ * The size of the icon
670
+ * @default 24
671
+ */
672
+ "iconSize": number;
673
+ /**
674
+ * The menu items to display in the dropdown. Items with `isVisible` set to `false` will be filtered out. Items with an `action` will have that action invoked on selection.
675
+ * @default []
676
+ */
677
+ "items": IKritzelMenuItem[];
678
+ /**
679
+ * Offset Y for the portal positioning
680
+ * @default 4
681
+ */
682
+ "offsetY": number;
683
+ "open": () => Promise<void>;
684
+ /**
685
+ * Resolved localized strings keyed by term key, supplied by the editor.
686
+ * @default {}
687
+ */
688
+ "terms": Partial<Record<KritzelTermKey, string>>;
689
+ /**
690
+ * Whether the menu button is visible
691
+ * @default false
692
+ */
693
+ "visible": boolean;
694
+ }
695
+ interface KritzelNotificationCard {
696
+ /**
697
+ * Locale used for formatting the timestamp.
698
+ */
699
+ "locale"?: string;
700
+ /**
701
+ * Notification data rendered by this card.
702
+ */
703
+ "notification"?: KritzelNotification;
704
+ /**
705
+ * Whether a formatted timestamp should be displayed when available.
706
+ * @default true
707
+ */
708
+ "showTimestamp": boolean;
709
+ }
710
+ interface KritzelNumericInput {
711
+ /**
712
+ * Label text displayed above the input
713
+ * @default ''
714
+ */
715
+ "label": string;
716
+ /**
717
+ * Maximum allowed value
718
+ * @default Number.MAX_SAFE_INTEGER
719
+ */
720
+ "max": number;
721
+ /**
722
+ * Minimum allowed value
723
+ * @default Number.MIN_SAFE_INTEGER
724
+ */
725
+ "min": number;
726
+ /**
727
+ * Placeholder text shown when input is empty
728
+ * @default ''
729
+ */
730
+ "placeholder": string;
731
+ /**
732
+ * Step increment for the input
733
+ * @default 1
734
+ */
735
+ "step": number;
736
+ /**
737
+ * Current numeric value (undefined when cleared)
738
+ */
739
+ "value"?: number;
740
+ }
741
+ interface KritzelOpacitySlider {
742
+ /**
743
+ * Maximum opacity value
744
+ * @default 1
745
+ */
746
+ "max": number;
747
+ /**
748
+ * Minimum opacity value
749
+ * @default 0
750
+ */
751
+ "min": number;
752
+ /**
753
+ * Color to display in the preview (optional)
754
+ * @default '#000000'
755
+ */
756
+ "previewColor": string;
757
+ /**
758
+ * Step increment
759
+ * @default 0.01
760
+ */
761
+ "step": number;
762
+ /**
763
+ * Current opacity value (0 to 1)
764
+ * @default 1
765
+ */
766
+ "value": number;
767
+ }
768
+ interface KritzelPillTabs {
769
+ /**
770
+ * Array of tab definitions to render
771
+ * @default []
772
+ */
773
+ "tabs": KritzelPillTab[];
774
+ /**
775
+ * Currently selected tab ID
776
+ */
777
+ "value": string;
778
+ }
779
+ interface KritzelPortal {
780
+ "anchor": HTMLElement;
781
+ /**
782
+ * @default true
783
+ */
784
+ "autoFocus": boolean;
785
+ "offsetX": number;
786
+ "offsetY": number;
787
+ }
788
+ interface KritzelSettings {
789
+ /**
790
+ * Available locales as `{ code, label }` options for the language selector.
791
+ * @default []
792
+ */
793
+ "availableLocales": { code: LocaleCode; label: string }[];
794
+ /**
795
+ * Keyboard shortcuts to display in the settings dialog
796
+ * @default ['light', 'dark']
797
+ */
798
+ "availableThemes": string[];
799
+ "close": () => Promise<void>;
800
+ "open": () => Promise<void>;
801
+ /**
802
+ * Current settings values. Used to initialize and sync the component's internal state.
803
+ */
804
+ "settings"?: Partial<KritzelSettingsConfig>;
805
+ /**
806
+ * @default []
807
+ */
808
+ "shortcuts": Omit<KritzelShortcut, 'action' | 'condition'>[];
809
+ /**
810
+ * Resolved localized strings keyed by term key, supplied by the editor.
811
+ * @default {}
812
+ */
813
+ "terms": Partial<Record<KritzelTermKey, string>>;
814
+ }
815
+ interface KritzelShapeFill {
816
+ /**
817
+ * Current fill type
818
+ * @default 'transparent'
819
+ */
820
+ "value": ShapeFillType;
821
+ }
822
+ /**
823
+ * Share dialog component for managing workspace link sharing.
824
+ * This is a presentational component that emits events for all actions.
825
+ * The parent component (kritzel-editor) handles the business logic.
826
+ */
827
+ interface KritzelShareDialog {
828
+ /**
829
+ * Closes the share dialog.
830
+ */
831
+ "close": () => Promise<void>;
832
+ /**
833
+ * Whether the workspace is currently public.
834
+ * @default false
835
+ */
836
+ "isPublic": boolean;
837
+ /**
838
+ * Opens the share dialog.
839
+ */
840
+ "open": () => Promise<void>;
841
+ /**
842
+ * Resolved localized strings keyed by term key, supplied by the editor.
843
+ * @default {}
844
+ */
845
+ "terms": Partial<Record<KritzelTermKey, string>>;
846
+ /**
847
+ * The ID of the workspace being shared. Used to build the share URL.
848
+ * @default undefined
849
+ */
850
+ "workspaceId": string | undefined;
851
+ }
852
+ interface KritzelSlideToggle {
853
+ /**
854
+ * Whether the toggle is checked/on
855
+ * @default false
856
+ */
857
+ "checked": boolean;
858
+ /**
859
+ * Whether the toggle is disabled
860
+ * @default false
861
+ */
862
+ "disabled": boolean;
863
+ /**
864
+ * Label text for accessibility (screen readers)
865
+ */
866
+ "label"?: string;
867
+ }
868
+ interface KritzelSplitButton {
869
+ /**
870
+ * @default 'plus'
871
+ */
872
+ "buttonIcon": string;
873
+ "close": () => Promise<void>;
874
+ /**
875
+ * @default 'chevron-down'
876
+ */
877
+ "dropdownIcon": string;
878
+ "focusMenu": () => Promise<void>;
879
+ /**
880
+ * @default []
881
+ */
882
+ "items": IKritzelMenuItem[];
883
+ /**
884
+ * @default false
885
+ */
886
+ "mainButtonDisabled": boolean;
887
+ /**
888
+ * @default false
889
+ */
890
+ "menuButtonDisabled": boolean;
891
+ "open": () => Promise<void>;
892
+ }
893
+ interface KritzelStrokeSize {
894
+ /**
895
+ * @default null
896
+ */
897
+ "selectedSize": number | null;
898
+ /**
899
+ * @default [4, 6, 8, 12, 16, 24]
900
+ */
901
+ "sizes": number[];
902
+ }
903
+ interface KritzelToolConfig {
904
+ "engine": HTMLElement;
905
+ /**
906
+ * @default false
907
+ */
908
+ "isExpanded": boolean;
909
+ /**
910
+ * Resolved localized strings keyed by term key, supplied by the editor.
911
+ * @default {}
912
+ */
913
+ "terms": Partial<Record<KritzelTermKey, string>>;
914
+ "theme": ThemeName;
915
+ "tool": ConfigurableTool;
916
+ }
917
+ interface KritzelToolbar {
918
+ /**
919
+ * @default null
920
+ */
921
+ "activeControl": KritzelToolbarItem | null;
922
+ "closeTooltip": () => Promise<void>;
923
+ /**
924
+ * @default true
925
+ */
926
+ "isUtilityPanelVisible": boolean;
927
+ /**
928
+ * Resolved localized strings keyed by term key, supplied by the editor.
929
+ * @default {}
930
+ */
931
+ "terms": Partial<Record<KritzelTermKey, string>>;
932
+ /**
933
+ * @default 'light'
934
+ */
935
+ "theme": ThemeName;
936
+ /**
937
+ * @default []
938
+ */
939
+ "toolbarItems": KritzelToolbarItem[];
940
+ /**
941
+ * @default null
942
+ */
943
+ "undoState": KritzelUndoState;
944
+ /**
945
+ * @default true
946
+ */
947
+ "visible": boolean;
948
+ }
949
+ interface KritzelTooltip {
950
+ "anchorElement": HTMLElement;
951
+ "close": () => Promise<void>;
952
+ "focusContent": () => Promise<void>;
953
+ /**
954
+ * @default false
955
+ */
956
+ "isVisible": boolean;
957
+ /**
958
+ * @default 24
959
+ */
960
+ "offsetY": number;
961
+ "open": () => Promise<void>;
962
+ "toggle": () => Promise<void>;
963
+ "triggerElement": HTMLElement;
964
+ }
965
+ interface KritzelUtilityPanel {
966
+ /**
967
+ * Resolved localized strings keyed by term key, supplied by the editor.
968
+ * @default {}
969
+ */
970
+ "terms": Partial<Record<KritzelTermKey, string>>;
971
+ /**
972
+ * @default null
973
+ */
974
+ "undoState": KritzelUndoState;
975
+ }
976
+ interface KritzelWorkspaceManager {
977
+ "activeWorkspace": KritzelWorkspace;
978
+ "close": () => Promise<void>;
979
+ "open": () => Promise<void>;
980
+ /**
981
+ * Resolved localized strings keyed by term key, supplied by the editor.
982
+ * @default {}
983
+ */
984
+ "terms": Partial<Record<KritzelTermKey, string>>;
985
+ /**
986
+ * Whether the workspace manager is visible
987
+ * @default false
988
+ */
989
+ "visible": boolean;
990
+ /**
991
+ * @default []
992
+ */
993
+ "workspaces": KritzelWorkspace[];
994
+ }
995
+ interface KritzelZoomPanel {
996
+ /**
997
+ * Whether both zoom buttons are disabled.
998
+ * @default false
999
+ */
1000
+ "disabled": boolean;
1001
+ /**
1002
+ * Resolved localized strings keyed by term key, supplied by the editor.
1003
+ * @default {}
1004
+ */
1005
+ "terms": Partial<Record<KritzelTermKey, string>>;
1006
+ /**
1007
+ * Whether the zoom panel is visible.
1008
+ * @default true
1009
+ */
1010
+ "visible": boolean;
1011
+ /**
1012
+ * Current zoom level in percent.
1013
+ * @default 100
1014
+ */
1015
+ "zoomPercent": number;
1016
+ }
1017
+ }
1018
+ export interface KritzelBackToContentCustomEvent<T> extends CustomEvent<T> {
1019
+ detail: T;
1020
+ target: HTMLKritzelBackToContentElement;
1021
+ }
1022
+ export interface KritzelBrushStyleCustomEvent<T> extends CustomEvent<T> {
1023
+ detail: T;
1024
+ target: HTMLKritzelBrushStyleElement;
1025
+ }
1026
+ export interface KritzelButtonCustomEvent<T> extends CustomEvent<T> {
1027
+ detail: T;
1028
+ target: HTMLKritzelButtonElement;
1029
+ }
1030
+ export interface KritzelColorPaletteCustomEvent<T> extends CustomEvent<T> {
1031
+ detail: T;
1032
+ target: HTMLKritzelColorPaletteElement;
1033
+ }
1034
+ export interface KritzelContextMenuCustomEvent<T> extends CustomEvent<T> {
1035
+ detail: T;
1036
+ target: HTMLKritzelContextMenuElement;
1037
+ }
1038
+ export interface KritzelCurrentUserDialogCustomEvent<T> extends CustomEvent<T> {
1039
+ detail: T;
1040
+ target: HTMLKritzelCurrentUserDialogElement;
1041
+ }
1042
+ export interface KritzelDialogCustomEvent<T> extends CustomEvent<T> {
1043
+ detail: T;
1044
+ target: HTMLKritzelDialogElement;
1045
+ }
1046
+ export interface KritzelDropdownCustomEvent<T> extends CustomEvent<T> {
1047
+ detail: T;
1048
+ target: HTMLKritzelDropdownElement;
1049
+ }
1050
+ export interface KritzelEditorCustomEvent<T> extends CustomEvent<T> {
1051
+ detail: T;
1052
+ target: HTMLKritzelEditorElement;
1053
+ }
1054
+ export interface KritzelExportCustomEvent<T> extends CustomEvent<T> {
1055
+ detail: T;
1056
+ target: HTMLKritzelExportElement;
1057
+ }
1058
+ export interface KritzelFontFamilyCustomEvent<T> extends CustomEvent<T> {
1059
+ detail: T;
1060
+ target: HTMLKritzelFontFamilyElement;
1061
+ }
1062
+ export interface KritzelFontSizeCustomEvent<T> extends CustomEvent<T> {
1063
+ detail: T;
1064
+ target: HTMLKritzelFontSizeElement;
1065
+ }
1066
+ export interface KritzelInputCustomEvent<T> extends CustomEvent<T> {
1067
+ detail: T;
1068
+ target: HTMLKritzelInputElement;
1069
+ }
1070
+ export interface KritzelLineEndingsCustomEvent<T> extends CustomEvent<T> {
1071
+ detail: T;
1072
+ target: HTMLKritzelLineEndingsElement;
1073
+ }
1074
+ export interface KritzelLoginDialogCustomEvent<T> extends CustomEvent<T> {
1075
+ detail: T;
1076
+ target: HTMLKritzelLoginDialogElement;
1077
+ }
1078
+ export interface KritzelMasterDetailCustomEvent<T> extends CustomEvent<T> {
1079
+ detail: T;
1080
+ target: HTMLKritzelMasterDetailElement;
1081
+ }
1082
+ export interface KritzelMenuCustomEvent<T> extends CustomEvent<T> {
1083
+ detail: T;
1084
+ target: HTMLKritzelMenuElement;
1085
+ }
1086
+ export interface KritzelMenuItemCustomEvent<T> extends CustomEvent<T> {
1087
+ detail: T;
1088
+ target: HTMLKritzelMenuItemElement;
1089
+ }
1090
+ export interface KritzelMoreMenuCustomEvent<T> extends CustomEvent<T> {
1091
+ detail: T;
1092
+ target: HTMLKritzelMoreMenuElement;
1093
+ }
1094
+ export interface KritzelNotificationCardCustomEvent<T> extends CustomEvent<T> {
1095
+ detail: T;
1096
+ target: HTMLKritzelNotificationCardElement;
1097
+ }
1098
+ export interface KritzelNumericInputCustomEvent<T> extends CustomEvent<T> {
1099
+ detail: T;
1100
+ target: HTMLKritzelNumericInputElement;
1101
+ }
1102
+ export interface KritzelOpacitySliderCustomEvent<T> extends CustomEvent<T> {
1103
+ detail: T;
1104
+ target: HTMLKritzelOpacitySliderElement;
1105
+ }
1106
+ export interface KritzelPillTabsCustomEvent<T> extends CustomEvent<T> {
1107
+ detail: T;
1108
+ target: HTMLKritzelPillTabsElement;
1109
+ }
1110
+ export interface KritzelPortalCustomEvent<T> extends CustomEvent<T> {
1111
+ detail: T;
1112
+ target: HTMLKritzelPortalElement;
1113
+ }
1114
+ export interface KritzelSettingsCustomEvent<T> extends CustomEvent<T> {
1115
+ detail: T;
1116
+ target: HTMLKritzelSettingsElement;
1117
+ }
1118
+ export interface KritzelShapeFillCustomEvent<T> extends CustomEvent<T> {
1119
+ detail: T;
1120
+ target: HTMLKritzelShapeFillElement;
1121
+ }
1122
+ export interface KritzelShareDialogCustomEvent<T> extends CustomEvent<T> {
1123
+ detail: T;
1124
+ target: HTMLKritzelShareDialogElement;
1125
+ }
1126
+ export interface KritzelSlideToggleCustomEvent<T> extends CustomEvent<T> {
1127
+ detail: T;
1128
+ target: HTMLKritzelSlideToggleElement;
1129
+ }
1130
+ export interface KritzelSplitButtonCustomEvent<T> extends CustomEvent<T> {
1131
+ detail: T;
1132
+ target: HTMLKritzelSplitButtonElement;
1133
+ }
1134
+ export interface KritzelStrokeSizeCustomEvent<T> extends CustomEvent<T> {
1135
+ detail: T;
1136
+ target: HTMLKritzelStrokeSizeElement;
1137
+ }
1138
+ export interface KritzelToolConfigCustomEvent<T> extends CustomEvent<T> {
1139
+ detail: T;
1140
+ target: HTMLKritzelToolConfigElement;
1141
+ }
1142
+ export interface KritzelToolbarCustomEvent<T> extends CustomEvent<T> {
1143
+ detail: T;
1144
+ target: HTMLKritzelToolbarElement;
1145
+ }
1146
+ export interface KritzelTooltipCustomEvent<T> extends CustomEvent<T> {
1147
+ detail: T;
1148
+ target: HTMLKritzelTooltipElement;
1149
+ }
1150
+ export interface KritzelUtilityPanelCustomEvent<T> extends CustomEvent<T> {
1151
+ detail: T;
1152
+ target: HTMLKritzelUtilityPanelElement;
1153
+ }
1154
+ export interface KritzelWorkspaceManagerCustomEvent<T> extends CustomEvent<T> {
1155
+ detail: T;
1156
+ target: HTMLKritzelWorkspaceManagerElement;
1157
+ }
1158
+ export interface KritzelZoomPanelCustomEvent<T> extends CustomEvent<T> {
1159
+ detail: T;
1160
+ target: HTMLKritzelZoomPanelElement;
1161
+ }
1162
+ declare global {
1163
+ interface HTMLKritzelActiveUsersElement extends Components.KritzelActiveUsers, HTMLStencilElement {
1164
+ }
1165
+ var HTMLKritzelActiveUsersElement: {
1166
+ prototype: HTMLKritzelActiveUsersElement;
1167
+ new (): HTMLKritzelActiveUsersElement;
1168
+ };
1169
+ interface HTMLKritzelAvatarElement extends Components.KritzelAvatar, HTMLStencilElement {
1170
+ }
1171
+ var HTMLKritzelAvatarElement: {
1172
+ prototype: HTMLKritzelAvatarElement;
1173
+ new (): HTMLKritzelAvatarElement;
1174
+ };
1175
+ interface HTMLKritzelBackToContentElementEventMap {
1176
+ "backToContent": void;
1177
+ }
1178
+ interface HTMLKritzelBackToContentElement extends Components.KritzelBackToContent, HTMLStencilElement {
1179
+ addEventListener<K extends keyof HTMLKritzelBackToContentElementEventMap>(type: K, listener: (this: HTMLKritzelBackToContentElement, ev: KritzelBackToContentCustomEvent<HTMLKritzelBackToContentElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1180
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1181
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1182
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1183
+ removeEventListener<K extends keyof HTMLKritzelBackToContentElementEventMap>(type: K, listener: (this: HTMLKritzelBackToContentElement, ev: KritzelBackToContentCustomEvent<HTMLKritzelBackToContentElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1184
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1185
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1186
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1187
+ }
1188
+ var HTMLKritzelBackToContentElement: {
1189
+ prototype: HTMLKritzelBackToContentElement;
1190
+ new (): HTMLKritzelBackToContentElement;
1191
+ };
1192
+ interface HTMLKritzelBrushStyleElementEventMap {
1193
+ "typeChange": 'pen' | 'highlighter';
1194
+ }
1195
+ interface HTMLKritzelBrushStyleElement extends Components.KritzelBrushStyle, HTMLStencilElement {
1196
+ addEventListener<K extends keyof HTMLKritzelBrushStyleElementEventMap>(type: K, listener: (this: HTMLKritzelBrushStyleElement, ev: KritzelBrushStyleCustomEvent<HTMLKritzelBrushStyleElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1197
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1198
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1199
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1200
+ removeEventListener<K extends keyof HTMLKritzelBrushStyleElementEventMap>(type: K, listener: (this: HTMLKritzelBrushStyleElement, ev: KritzelBrushStyleCustomEvent<HTMLKritzelBrushStyleElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1201
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1202
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1203
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1204
+ }
1205
+ var HTMLKritzelBrushStyleElement: {
1206
+ prototype: HTMLKritzelBrushStyleElement;
1207
+ new (): HTMLKritzelBrushStyleElement;
1208
+ };
1209
+ interface HTMLKritzelButtonElementEventMap {
1210
+ "buttonClick": void;
1211
+ }
1212
+ interface HTMLKritzelButtonElement extends Components.KritzelButton, HTMLStencilElement {
1213
+ addEventListener<K extends keyof HTMLKritzelButtonElementEventMap>(type: K, listener: (this: HTMLKritzelButtonElement, ev: KritzelButtonCustomEvent<HTMLKritzelButtonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1214
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1215
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1216
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1217
+ removeEventListener<K extends keyof HTMLKritzelButtonElementEventMap>(type: K, listener: (this: HTMLKritzelButtonElement, ev: KritzelButtonCustomEvent<HTMLKritzelButtonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1218
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1219
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1220
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1221
+ }
1222
+ var HTMLKritzelButtonElement: {
1223
+ prototype: HTMLKritzelButtonElement;
1224
+ new (): HTMLKritzelButtonElement;
1225
+ };
1226
+ interface HTMLKritzelColorElement extends Components.KritzelColor, HTMLStencilElement {
1227
+ }
1228
+ var HTMLKritzelColorElement: {
1229
+ prototype: HTMLKritzelColorElement;
1230
+ new (): HTMLKritzelColorElement;
1231
+ };
1232
+ interface HTMLKritzelColorPaletteElementEventMap {
1233
+ "colorChange": ThemeAwareColor;
1234
+ }
1235
+ interface HTMLKritzelColorPaletteElement extends Components.KritzelColorPalette, HTMLStencilElement {
1236
+ addEventListener<K extends keyof HTMLKritzelColorPaletteElementEventMap>(type: K, listener: (this: HTMLKritzelColorPaletteElement, ev: KritzelColorPaletteCustomEvent<HTMLKritzelColorPaletteElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1237
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1238
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1239
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1240
+ removeEventListener<K extends keyof HTMLKritzelColorPaletteElementEventMap>(type: K, listener: (this: HTMLKritzelColorPaletteElement, ev: KritzelColorPaletteCustomEvent<HTMLKritzelColorPaletteElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1241
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1242
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1243
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1244
+ }
1245
+ var HTMLKritzelColorPaletteElement: {
1246
+ prototype: HTMLKritzelColorPaletteElement;
1247
+ new (): HTMLKritzelColorPaletteElement;
1248
+ };
1249
+ interface HTMLKritzelContextMenuElementEventMap {
1250
+ "actionSelected": ContextMenuItem;
1251
+ "close": void;
1252
+ }
1253
+ interface HTMLKritzelContextMenuElement extends Components.KritzelContextMenu, HTMLStencilElement {
1254
+ addEventListener<K extends keyof HTMLKritzelContextMenuElementEventMap>(type: K, listener: (this: HTMLKritzelContextMenuElement, ev: KritzelContextMenuCustomEvent<HTMLKritzelContextMenuElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1255
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1256
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1257
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1258
+ removeEventListener<K extends keyof HTMLKritzelContextMenuElementEventMap>(type: K, listener: (this: HTMLKritzelContextMenuElement, ev: KritzelContextMenuCustomEvent<HTMLKritzelContextMenuElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1259
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1260
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1261
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1262
+ }
1263
+ var HTMLKritzelContextMenuElement: {
1264
+ prototype: HTMLKritzelContextMenuElement;
1265
+ new (): HTMLKritzelContextMenuElement;
1266
+ };
1267
+ interface HTMLKritzelCurrentUserElement extends Components.KritzelCurrentUser, HTMLStencilElement {
1268
+ }
1269
+ var HTMLKritzelCurrentUserElement: {
1270
+ prototype: HTMLKritzelCurrentUserElement;
1271
+ new (): HTMLKritzelCurrentUserElement;
1272
+ };
1273
+ interface HTMLKritzelCurrentUserDialogElementEventMap {
1274
+ "logoutRequest": void;
1275
+ }
1276
+ interface HTMLKritzelCurrentUserDialogElement extends Components.KritzelCurrentUserDialog, HTMLStencilElement {
1277
+ addEventListener<K extends keyof HTMLKritzelCurrentUserDialogElementEventMap>(type: K, listener: (this: HTMLKritzelCurrentUserDialogElement, ev: KritzelCurrentUserDialogCustomEvent<HTMLKritzelCurrentUserDialogElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1278
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1279
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1280
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1281
+ removeEventListener<K extends keyof HTMLKritzelCurrentUserDialogElementEventMap>(type: K, listener: (this: HTMLKritzelCurrentUserDialogElement, ev: KritzelCurrentUserDialogCustomEvent<HTMLKritzelCurrentUserDialogElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1282
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1283
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1284
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1285
+ }
1286
+ var HTMLKritzelCurrentUserDialogElement: {
1287
+ prototype: HTMLKritzelCurrentUserDialogElement;
1288
+ new (): HTMLKritzelCurrentUserDialogElement;
1289
+ };
1290
+ interface HTMLKritzelDialogElementEventMap {
1291
+ "dialogOpen": void;
1292
+ "dialogClose": IKritzelDialogCloseEvent;
1293
+ }
1294
+ interface HTMLKritzelDialogElement extends Components.KritzelDialog, HTMLStencilElement {
1295
+ addEventListener<K extends keyof HTMLKritzelDialogElementEventMap>(type: K, listener: (this: HTMLKritzelDialogElement, ev: KritzelDialogCustomEvent<HTMLKritzelDialogElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1296
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1297
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1298
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1299
+ removeEventListener<K extends keyof HTMLKritzelDialogElementEventMap>(type: K, listener: (this: HTMLKritzelDialogElement, ev: KritzelDialogCustomEvent<HTMLKritzelDialogElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1300
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1301
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1302
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1303
+ }
1304
+ var HTMLKritzelDialogElement: {
1305
+ prototype: HTMLKritzelDialogElement;
1306
+ new (): HTMLKritzelDialogElement;
1307
+ };
1308
+ interface HTMLKritzelDropdownElementEventMap {
1309
+ "valueChanged": string;
1310
+ }
1311
+ interface HTMLKritzelDropdownElement extends Components.KritzelDropdown, HTMLStencilElement {
1312
+ addEventListener<K extends keyof HTMLKritzelDropdownElementEventMap>(type: K, listener: (this: HTMLKritzelDropdownElement, ev: KritzelDropdownCustomEvent<HTMLKritzelDropdownElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1313
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1314
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1315
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1316
+ removeEventListener<K extends keyof HTMLKritzelDropdownElementEventMap>(type: K, listener: (this: HTMLKritzelDropdownElement, ev: KritzelDropdownCustomEvent<HTMLKritzelDropdownElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1317
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1318
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1319
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1320
+ }
1321
+ var HTMLKritzelDropdownElement: {
1322
+ prototype: HTMLKritzelDropdownElement;
1323
+ new (): HTMLKritzelDropdownElement;
1324
+ };
1325
+ interface HTMLKritzelEditorElementEventMap {
1326
+ "isReady": EditorIsReadyEvent;
1327
+ "activeWorkspaceChange": ActiveWorkspaceChangeEvent;
1328
+ "objectsChange": KritzelBaseObject[];
1329
+ "objectsAdded": ObjectsAddedEvent;
1330
+ "objectsRemoved": ObjectsRemovedEvent;
1331
+ "objectsUpdated": ObjectsUpdatedEvent;
1332
+ "objectsSelectionChange": KritzelBaseObject[];
1333
+ "undoStateChange": KritzelUndoState;
1334
+ "themeChange": ThemeName;
1335
+ "localeChange": LocaleCode;
1336
+ "viewportChange": KritzelViewportState;
1337
+ "logout": void;
1338
+ "login": LoginEvent;
1339
+ "isPublicChange": IKritzelIsPublicChangeEvent;
1340
+ "awarenessChange": Map<number, Record<string, any>>;
1341
+ }
1342
+ interface HTMLKritzelEditorElement extends Components.KritzelEditor, HTMLStencilElement {
1343
+ addEventListener<K extends keyof HTMLKritzelEditorElementEventMap>(type: K, listener: (this: HTMLKritzelEditorElement, ev: KritzelEditorCustomEvent<HTMLKritzelEditorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1344
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1345
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1346
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1347
+ removeEventListener<K extends keyof HTMLKritzelEditorElementEventMap>(type: K, listener: (this: HTMLKritzelEditorElement, ev: KritzelEditorCustomEvent<HTMLKritzelEditorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1348
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1349
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1350
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1351
+ }
1352
+ var HTMLKritzelEditorElement: {
1353
+ prototype: HTMLKritzelEditorElement;
1354
+ new (): HTMLKritzelEditorElement;
1355
+ };
1356
+ interface HTMLKritzelExportElementEventMap {
1357
+ "exportPng": void;
1358
+ "exportSvg": void;
1359
+ "exportJson": string;
1360
+ }
1361
+ interface HTMLKritzelExportElement extends Components.KritzelExport, HTMLStencilElement {
1362
+ addEventListener<K extends keyof HTMLKritzelExportElementEventMap>(type: K, listener: (this: HTMLKritzelExportElement, ev: KritzelExportCustomEvent<HTMLKritzelExportElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1363
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1364
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1365
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1366
+ removeEventListener<K extends keyof HTMLKritzelExportElementEventMap>(type: K, listener: (this: HTMLKritzelExportElement, ev: KritzelExportCustomEvent<HTMLKritzelExportElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1367
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1368
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1369
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1370
+ }
1371
+ var HTMLKritzelExportElement: {
1372
+ prototype: HTMLKritzelExportElement;
1373
+ new (): HTMLKritzelExportElement;
1374
+ };
1375
+ interface HTMLKritzelFontElement extends Components.KritzelFont, HTMLStencilElement {
1376
+ }
1377
+ var HTMLKritzelFontElement: {
1378
+ prototype: HTMLKritzelFontElement;
1379
+ new (): HTMLKritzelFontElement;
1380
+ };
1381
+ interface HTMLKritzelFontFamilyElementEventMap {
1382
+ "fontFamilyChange": string;
1383
+ }
1384
+ interface HTMLKritzelFontFamilyElement extends Components.KritzelFontFamily, HTMLStencilElement {
1385
+ addEventListener<K extends keyof HTMLKritzelFontFamilyElementEventMap>(type: K, listener: (this: HTMLKritzelFontFamilyElement, ev: KritzelFontFamilyCustomEvent<HTMLKritzelFontFamilyElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1386
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1387
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1388
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1389
+ removeEventListener<K extends keyof HTMLKritzelFontFamilyElementEventMap>(type: K, listener: (this: HTMLKritzelFontFamilyElement, ev: KritzelFontFamilyCustomEvent<HTMLKritzelFontFamilyElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1390
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1391
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1392
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1393
+ }
1394
+ var HTMLKritzelFontFamilyElement: {
1395
+ prototype: HTMLKritzelFontFamilyElement;
1396
+ new (): HTMLKritzelFontFamilyElement;
1397
+ };
1398
+ interface HTMLKritzelFontSizeElementEventMap {
1399
+ "sizeChange": number;
1400
+ }
1401
+ interface HTMLKritzelFontSizeElement extends Components.KritzelFontSize, HTMLStencilElement {
1402
+ addEventListener<K extends keyof HTMLKritzelFontSizeElementEventMap>(type: K, listener: (this: HTMLKritzelFontSizeElement, ev: KritzelFontSizeCustomEvent<HTMLKritzelFontSizeElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1403
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1404
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1405
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1406
+ removeEventListener<K extends keyof HTMLKritzelFontSizeElementEventMap>(type: K, listener: (this: HTMLKritzelFontSizeElement, ev: KritzelFontSizeCustomEvent<HTMLKritzelFontSizeElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1407
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1408
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1409
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1410
+ }
1411
+ var HTMLKritzelFontSizeElement: {
1412
+ prototype: HTMLKritzelFontSizeElement;
1413
+ new (): HTMLKritzelFontSizeElement;
1414
+ };
1415
+ interface HTMLKritzelInputElementEventMap {
1416
+ "valueChange": string;
1417
+ }
1418
+ interface HTMLKritzelInputElement extends Components.KritzelInput, HTMLStencilElement {
1419
+ addEventListener<K extends keyof HTMLKritzelInputElementEventMap>(type: K, listener: (this: HTMLKritzelInputElement, ev: KritzelInputCustomEvent<HTMLKritzelInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1420
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1421
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1422
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1423
+ removeEventListener<K extends keyof HTMLKritzelInputElementEventMap>(type: K, listener: (this: HTMLKritzelInputElement, ev: KritzelInputCustomEvent<HTMLKritzelInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1424
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1425
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1426
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1427
+ }
1428
+ var HTMLKritzelInputElement: {
1429
+ prototype: HTMLKritzelInputElement;
1430
+ new (): HTMLKritzelInputElement;
1431
+ };
1432
+ interface HTMLKritzelLineEndingsElementEventMap {
1433
+ "valueChange": LineArrowConfig;
1434
+ }
1435
+ interface HTMLKritzelLineEndingsElement extends Components.KritzelLineEndings, HTMLStencilElement {
1436
+ addEventListener<K extends keyof HTMLKritzelLineEndingsElementEventMap>(type: K, listener: (this: HTMLKritzelLineEndingsElement, ev: KritzelLineEndingsCustomEvent<HTMLKritzelLineEndingsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1437
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1438
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1439
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1440
+ removeEventListener<K extends keyof HTMLKritzelLineEndingsElementEventMap>(type: K, listener: (this: HTMLKritzelLineEndingsElement, ev: KritzelLineEndingsCustomEvent<HTMLKritzelLineEndingsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1441
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1442
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1443
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1444
+ }
1445
+ var HTMLKritzelLineEndingsElement: {
1446
+ prototype: HTMLKritzelLineEndingsElement;
1447
+ new (): HTMLKritzelLineEndingsElement;
1448
+ };
1449
+ interface HTMLKritzelLoadingOverlayElement extends Components.KritzelLoadingOverlay, HTMLStencilElement {
1450
+ }
1451
+ var HTMLKritzelLoadingOverlayElement: {
1452
+ prototype: HTMLKritzelLoadingOverlayElement;
1453
+ new (): HTMLKritzelLoadingOverlayElement;
1454
+ };
1455
+ interface HTMLKritzelLoginDialogElementEventMap {
1456
+ "providerLogin": LoginEvent;
1457
+ "dialogClosed": void;
1458
+ }
1459
+ /**
1460
+ * Login dialog component for displaying authentication provider buttons.
1461
+ * This is a presentational component that emits events for all actions.
1462
+ * The parent component (kritzel-editor) handles the actual authentication flow.
1463
+ */
1464
+ interface HTMLKritzelLoginDialogElement extends Components.KritzelLoginDialog, HTMLStencilElement {
1465
+ addEventListener<K extends keyof HTMLKritzelLoginDialogElementEventMap>(type: K, listener: (this: HTMLKritzelLoginDialogElement, ev: KritzelLoginDialogCustomEvent<HTMLKritzelLoginDialogElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1466
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1467
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1468
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1469
+ removeEventListener<K extends keyof HTMLKritzelLoginDialogElementEventMap>(type: K, listener: (this: HTMLKritzelLoginDialogElement, ev: KritzelLoginDialogCustomEvent<HTMLKritzelLoginDialogElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1470
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1471
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1472
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1473
+ }
1474
+ var HTMLKritzelLoginDialogElement: {
1475
+ prototype: HTMLKritzelLoginDialogElement;
1476
+ new (): HTMLKritzelLoginDialogElement;
1477
+ };
1478
+ interface HTMLKritzelMasterDetailElementEventMap {
1479
+ "itemSelect": IKritzelMasterDetailSelectEvent;
1480
+ }
1481
+ interface HTMLKritzelMasterDetailElement extends Components.KritzelMasterDetail, HTMLStencilElement {
1482
+ addEventListener<K extends keyof HTMLKritzelMasterDetailElementEventMap>(type: K, listener: (this: HTMLKritzelMasterDetailElement, ev: KritzelMasterDetailCustomEvent<HTMLKritzelMasterDetailElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1483
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1484
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1485
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1486
+ removeEventListener<K extends keyof HTMLKritzelMasterDetailElementEventMap>(type: K, listener: (this: HTMLKritzelMasterDetailElement, ev: KritzelMasterDetailCustomEvent<HTMLKritzelMasterDetailElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1487
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1488
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1489
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1490
+ }
1491
+ var HTMLKritzelMasterDetailElement: {
1492
+ prototype: HTMLKritzelMasterDetailElement;
1493
+ new (): HTMLKritzelMasterDetailElement;
1494
+ };
1495
+ interface HTMLKritzelMenuElementEventMap {
1496
+ "itemSelect": IKritzelMenuItemSelectEvent;
1497
+ "itemSave": IKritzelMenuItem;
1498
+ "itemCancel": IKritzelMenuItem;
1499
+ "itemToggleChildMenu": IKritzelMenuItemToggleChildMenuEvent;
1500
+ "itemCloseChildMenu": IKritzelMenuItem;
1501
+ "close": void;
1502
+ }
1503
+ interface HTMLKritzelMenuElement extends Components.KritzelMenu, HTMLStencilElement {
1504
+ addEventListener<K extends keyof HTMLKritzelMenuElementEventMap>(type: K, listener: (this: HTMLKritzelMenuElement, ev: KritzelMenuCustomEvent<HTMLKritzelMenuElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1505
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1506
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1507
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1508
+ removeEventListener<K extends keyof HTMLKritzelMenuElementEventMap>(type: K, listener: (this: HTMLKritzelMenuElement, ev: KritzelMenuCustomEvent<HTMLKritzelMenuElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1509
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1510
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1511
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1512
+ }
1513
+ var HTMLKritzelMenuElement: {
1514
+ prototype: HTMLKritzelMenuElement;
1515
+ new (): HTMLKritzelMenuElement;
1516
+ };
1517
+ interface HTMLKritzelMenuItemElementEventMap {
1518
+ "itemSelect": IKritzelMenuItemSelectEvent;
1519
+ "itemSave": IKritzelMenuItem;
1520
+ "itemCancel": IKritzelMenuItem;
1521
+ "itemToggleChildMenu": IKritzelMenuItemToggleChildMenuEvent;
1522
+ "itemCloseChildMenu": IKritzelMenuItem;
1523
+ }
1524
+ interface HTMLKritzelMenuItemElement extends Components.KritzelMenuItem, HTMLStencilElement {
1525
+ addEventListener<K extends keyof HTMLKritzelMenuItemElementEventMap>(type: K, listener: (this: HTMLKritzelMenuItemElement, ev: KritzelMenuItemCustomEvent<HTMLKritzelMenuItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1526
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1527
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1528
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1529
+ removeEventListener<K extends keyof HTMLKritzelMenuItemElementEventMap>(type: K, listener: (this: HTMLKritzelMenuItemElement, ev: KritzelMenuItemCustomEvent<HTMLKritzelMenuItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1530
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1531
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1532
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1533
+ }
1534
+ var HTMLKritzelMenuItemElement: {
1535
+ prototype: HTMLKritzelMenuItemElement;
1536
+ new (): HTMLKritzelMenuItemElement;
1537
+ };
1538
+ interface HTMLKritzelMoreMenuElementEventMap {
1539
+ "itemSelect": { item: IKritzelMenuItem; parent: IKritzelMenuItem };
1540
+ }
1541
+ interface HTMLKritzelMoreMenuElement extends Components.KritzelMoreMenu, HTMLStencilElement {
1542
+ addEventListener<K extends keyof HTMLKritzelMoreMenuElementEventMap>(type: K, listener: (this: HTMLKritzelMoreMenuElement, ev: KritzelMoreMenuCustomEvent<HTMLKritzelMoreMenuElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1543
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1544
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1545
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1546
+ removeEventListener<K extends keyof HTMLKritzelMoreMenuElementEventMap>(type: K, listener: (this: HTMLKritzelMoreMenuElement, ev: KritzelMoreMenuCustomEvent<HTMLKritzelMoreMenuElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1547
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1548
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1549
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1550
+ }
1551
+ var HTMLKritzelMoreMenuElement: {
1552
+ prototype: HTMLKritzelMoreMenuElement;
1553
+ new (): HTMLKritzelMoreMenuElement;
1554
+ };
1555
+ interface HTMLKritzelNotificationCardElementEventMap {
1556
+ "dismiss": void;
1557
+ "hoverChange": boolean;
1558
+ }
1559
+ interface HTMLKritzelNotificationCardElement extends Components.KritzelNotificationCard, HTMLStencilElement {
1560
+ addEventListener<K extends keyof HTMLKritzelNotificationCardElementEventMap>(type: K, listener: (this: HTMLKritzelNotificationCardElement, ev: KritzelNotificationCardCustomEvent<HTMLKritzelNotificationCardElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1561
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1562
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1563
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1564
+ removeEventListener<K extends keyof HTMLKritzelNotificationCardElementEventMap>(type: K, listener: (this: HTMLKritzelNotificationCardElement, ev: KritzelNotificationCardCustomEvent<HTMLKritzelNotificationCardElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1565
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1566
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1567
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1568
+ }
1569
+ var HTMLKritzelNotificationCardElement: {
1570
+ prototype: HTMLKritzelNotificationCardElement;
1571
+ new (): HTMLKritzelNotificationCardElement;
1572
+ };
1573
+ interface HTMLKritzelNumericInputElementEventMap {
1574
+ "valueChange": number | undefined;
1575
+ }
1576
+ interface HTMLKritzelNumericInputElement extends Components.KritzelNumericInput, HTMLStencilElement {
1577
+ addEventListener<K extends keyof HTMLKritzelNumericInputElementEventMap>(type: K, listener: (this: HTMLKritzelNumericInputElement, ev: KritzelNumericInputCustomEvent<HTMLKritzelNumericInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1578
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1579
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1580
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1581
+ removeEventListener<K extends keyof HTMLKritzelNumericInputElementEventMap>(type: K, listener: (this: HTMLKritzelNumericInputElement, ev: KritzelNumericInputCustomEvent<HTMLKritzelNumericInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1582
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1583
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1584
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1585
+ }
1586
+ var HTMLKritzelNumericInputElement: {
1587
+ prototype: HTMLKritzelNumericInputElement;
1588
+ new (): HTMLKritzelNumericInputElement;
1589
+ };
1590
+ interface HTMLKritzelOpacitySliderElementEventMap {
1591
+ "valueChange": number;
1592
+ }
1593
+ interface HTMLKritzelOpacitySliderElement extends Components.KritzelOpacitySlider, HTMLStencilElement {
1594
+ addEventListener<K extends keyof HTMLKritzelOpacitySliderElementEventMap>(type: K, listener: (this: HTMLKritzelOpacitySliderElement, ev: KritzelOpacitySliderCustomEvent<HTMLKritzelOpacitySliderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1595
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1596
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1597
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1598
+ removeEventListener<K extends keyof HTMLKritzelOpacitySliderElementEventMap>(type: K, listener: (this: HTMLKritzelOpacitySliderElement, ev: KritzelOpacitySliderCustomEvent<HTMLKritzelOpacitySliderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1599
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1600
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1601
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1602
+ }
1603
+ var HTMLKritzelOpacitySliderElement: {
1604
+ prototype: HTMLKritzelOpacitySliderElement;
1605
+ new (): HTMLKritzelOpacitySliderElement;
1606
+ };
1607
+ interface HTMLKritzelPillTabsElementEventMap {
1608
+ "valueChange": string;
1609
+ }
1610
+ interface HTMLKritzelPillTabsElement extends Components.KritzelPillTabs, HTMLStencilElement {
1611
+ addEventListener<K extends keyof HTMLKritzelPillTabsElementEventMap>(type: K, listener: (this: HTMLKritzelPillTabsElement, ev: KritzelPillTabsCustomEvent<HTMLKritzelPillTabsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1612
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1613
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1614
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1615
+ removeEventListener<K extends keyof HTMLKritzelPillTabsElementEventMap>(type: K, listener: (this: HTMLKritzelPillTabsElement, ev: KritzelPillTabsCustomEvent<HTMLKritzelPillTabsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1616
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1617
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1618
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1619
+ }
1620
+ var HTMLKritzelPillTabsElement: {
1621
+ prototype: HTMLKritzelPillTabsElement;
1622
+ new (): HTMLKritzelPillTabsElement;
1623
+ };
1624
+ interface HTMLKritzelPortalElementEventMap {
1625
+ "close": void;
1626
+ }
1627
+ interface HTMLKritzelPortalElement extends Components.KritzelPortal, HTMLStencilElement {
1628
+ addEventListener<K extends keyof HTMLKritzelPortalElementEventMap>(type: K, listener: (this: HTMLKritzelPortalElement, ev: KritzelPortalCustomEvent<HTMLKritzelPortalElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1629
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1630
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1631
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1632
+ removeEventListener<K extends keyof HTMLKritzelPortalElementEventMap>(type: K, listener: (this: HTMLKritzelPortalElement, ev: KritzelPortalCustomEvent<HTMLKritzelPortalElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1633
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1634
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1635
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1636
+ }
1637
+ var HTMLKritzelPortalElement: {
1638
+ prototype: HTMLKritzelPortalElement;
1639
+ new (): HTMLKritzelPortalElement;
1640
+ };
1641
+ interface HTMLKritzelSettingsElementEventMap {
1642
+ "settingsChange": KritzelSettingsConfig;
1643
+ }
1644
+ interface HTMLKritzelSettingsElement extends Components.KritzelSettings, HTMLStencilElement {
1645
+ addEventListener<K extends keyof HTMLKritzelSettingsElementEventMap>(type: K, listener: (this: HTMLKritzelSettingsElement, ev: KritzelSettingsCustomEvent<HTMLKritzelSettingsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1646
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1647
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1648
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1649
+ removeEventListener<K extends keyof HTMLKritzelSettingsElementEventMap>(type: K, listener: (this: HTMLKritzelSettingsElement, ev: KritzelSettingsCustomEvent<HTMLKritzelSettingsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1650
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1651
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1652
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1653
+ }
1654
+ var HTMLKritzelSettingsElement: {
1655
+ prototype: HTMLKritzelSettingsElement;
1656
+ new (): HTMLKritzelSettingsElement;
1657
+ };
1658
+ interface HTMLKritzelShapeFillElementEventMap {
1659
+ "valueChange": ShapeFillType;
1660
+ }
1661
+ interface HTMLKritzelShapeFillElement extends Components.KritzelShapeFill, HTMLStencilElement {
1662
+ addEventListener<K extends keyof HTMLKritzelShapeFillElementEventMap>(type: K, listener: (this: HTMLKritzelShapeFillElement, ev: KritzelShapeFillCustomEvent<HTMLKritzelShapeFillElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1663
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1664
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1665
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1666
+ removeEventListener<K extends keyof HTMLKritzelShapeFillElementEventMap>(type: K, listener: (this: HTMLKritzelShapeFillElement, ev: KritzelShapeFillCustomEvent<HTMLKritzelShapeFillElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1667
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1668
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1669
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1670
+ }
1671
+ var HTMLKritzelShapeFillElement: {
1672
+ prototype: HTMLKritzelShapeFillElement;
1673
+ new (): HTMLKritzelShapeFillElement;
1674
+ };
1675
+ interface HTMLKritzelShareDialogElementEventMap {
1676
+ "toggleIsPublic": boolean;
1677
+ "dialogClosed": void;
1678
+ }
1679
+ /**
1680
+ * Share dialog component for managing workspace link sharing.
1681
+ * This is a presentational component that emits events for all actions.
1682
+ * The parent component (kritzel-editor) handles the business logic.
1683
+ */
1684
+ interface HTMLKritzelShareDialogElement extends Components.KritzelShareDialog, HTMLStencilElement {
1685
+ addEventListener<K extends keyof HTMLKritzelShareDialogElementEventMap>(type: K, listener: (this: HTMLKritzelShareDialogElement, ev: KritzelShareDialogCustomEvent<HTMLKritzelShareDialogElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1686
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1687
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1688
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1689
+ removeEventListener<K extends keyof HTMLKritzelShareDialogElementEventMap>(type: K, listener: (this: HTMLKritzelShareDialogElement, ev: KritzelShareDialogCustomEvent<HTMLKritzelShareDialogElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1690
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1691
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1692
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1693
+ }
1694
+ var HTMLKritzelShareDialogElement: {
1695
+ prototype: HTMLKritzelShareDialogElement;
1696
+ new (): HTMLKritzelShareDialogElement;
1697
+ };
1698
+ interface HTMLKritzelSlideToggleElementEventMap {
1699
+ "checkedChange": boolean;
1700
+ }
1701
+ interface HTMLKritzelSlideToggleElement extends Components.KritzelSlideToggle, HTMLStencilElement {
1702
+ addEventListener<K extends keyof HTMLKritzelSlideToggleElementEventMap>(type: K, listener: (this: HTMLKritzelSlideToggleElement, ev: KritzelSlideToggleCustomEvent<HTMLKritzelSlideToggleElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1703
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1704
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1705
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1706
+ removeEventListener<K extends keyof HTMLKritzelSlideToggleElementEventMap>(type: K, listener: (this: HTMLKritzelSlideToggleElement, ev: KritzelSlideToggleCustomEvent<HTMLKritzelSlideToggleElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1707
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1708
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1709
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1710
+ }
1711
+ var HTMLKritzelSlideToggleElement: {
1712
+ prototype: HTMLKritzelSlideToggleElement;
1713
+ new (): HTMLKritzelSlideToggleElement;
1714
+ };
1715
+ interface HTMLKritzelSplitButtonElementEventMap {
1716
+ "mainButtonClick": void;
1717
+ "itemSelect": IKritzelMenuItemSelectEvent;
1718
+ "itemSave": IKritzelMenuItem;
1719
+ "itemCancel": IKritzelMenuItem;
1720
+ "itemToggleChildMenu": IKritzelMenuItemToggleChildMenuEvent;
1721
+ "itemCloseChildMenu": IKritzelMenuItem;
1722
+ "menuOpen": void;
1723
+ "menuClose": void;
1724
+ }
1725
+ interface HTMLKritzelSplitButtonElement extends Components.KritzelSplitButton, HTMLStencilElement {
1726
+ addEventListener<K extends keyof HTMLKritzelSplitButtonElementEventMap>(type: K, listener: (this: HTMLKritzelSplitButtonElement, ev: KritzelSplitButtonCustomEvent<HTMLKritzelSplitButtonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1727
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1728
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1729
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1730
+ removeEventListener<K extends keyof HTMLKritzelSplitButtonElementEventMap>(type: K, listener: (this: HTMLKritzelSplitButtonElement, ev: KritzelSplitButtonCustomEvent<HTMLKritzelSplitButtonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1731
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1732
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1733
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1734
+ }
1735
+ var HTMLKritzelSplitButtonElement: {
1736
+ prototype: HTMLKritzelSplitButtonElement;
1737
+ new (): HTMLKritzelSplitButtonElement;
1738
+ };
1739
+ interface HTMLKritzelStrokeSizeElementEventMap {
1740
+ "sizeChange": number;
1741
+ }
1742
+ interface HTMLKritzelStrokeSizeElement extends Components.KritzelStrokeSize, HTMLStencilElement {
1743
+ addEventListener<K extends keyof HTMLKritzelStrokeSizeElementEventMap>(type: K, listener: (this: HTMLKritzelStrokeSizeElement, ev: KritzelStrokeSizeCustomEvent<HTMLKritzelStrokeSizeElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1744
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1745
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1746
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1747
+ removeEventListener<K extends keyof HTMLKritzelStrokeSizeElementEventMap>(type: K, listener: (this: HTMLKritzelStrokeSizeElement, ev: KritzelStrokeSizeCustomEvent<HTMLKritzelStrokeSizeElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1748
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1749
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1750
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1751
+ }
1752
+ var HTMLKritzelStrokeSizeElement: {
1753
+ prototype: HTMLKritzelStrokeSizeElement;
1754
+ new (): HTMLKritzelStrokeSizeElement;
1755
+ };
1756
+ interface HTMLKritzelToolConfigElementEventMap {
1757
+ "toolChange": ConfigurableTool;
1758
+ "displayValuesChange": ToolDisplayValues;
1759
+ }
1760
+ interface HTMLKritzelToolConfigElement extends Components.KritzelToolConfig, HTMLStencilElement {
1761
+ addEventListener<K extends keyof HTMLKritzelToolConfigElementEventMap>(type: K, listener: (this: HTMLKritzelToolConfigElement, ev: KritzelToolConfigCustomEvent<HTMLKritzelToolConfigElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1762
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1763
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1764
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1765
+ removeEventListener<K extends keyof HTMLKritzelToolConfigElementEventMap>(type: K, listener: (this: HTMLKritzelToolConfigElement, ev: KritzelToolConfigCustomEvent<HTMLKritzelToolConfigElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1766
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1767
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1768
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1769
+ }
1770
+ var HTMLKritzelToolConfigElement: {
1771
+ prototype: HTMLKritzelToolConfigElement;
1772
+ new (): HTMLKritzelToolConfigElement;
1773
+ };
1774
+ interface HTMLKritzelToolbarElementEventMap {
1775
+ "isToolbarReady": void;
1776
+ }
1777
+ interface HTMLKritzelToolbarElement extends Components.KritzelToolbar, HTMLStencilElement {
1778
+ addEventListener<K extends keyof HTMLKritzelToolbarElementEventMap>(type: K, listener: (this: HTMLKritzelToolbarElement, ev: KritzelToolbarCustomEvent<HTMLKritzelToolbarElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1779
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1780
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1781
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1782
+ removeEventListener<K extends keyof HTMLKritzelToolbarElementEventMap>(type: K, listener: (this: HTMLKritzelToolbarElement, ev: KritzelToolbarCustomEvent<HTMLKritzelToolbarElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1783
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1784
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1785
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1786
+ }
1787
+ var HTMLKritzelToolbarElement: {
1788
+ prototype: HTMLKritzelToolbarElement;
1789
+ new (): HTMLKritzelToolbarElement;
1790
+ };
1791
+ interface HTMLKritzelTooltipElementEventMap {
1792
+ "tooltipClosed": void;
1793
+ "tooltipOpened": void;
1794
+ }
1795
+ interface HTMLKritzelTooltipElement extends Components.KritzelTooltip, HTMLStencilElement {
1796
+ addEventListener<K extends keyof HTMLKritzelTooltipElementEventMap>(type: K, listener: (this: HTMLKritzelTooltipElement, ev: KritzelTooltipCustomEvent<HTMLKritzelTooltipElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1797
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1798
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1799
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1800
+ removeEventListener<K extends keyof HTMLKritzelTooltipElementEventMap>(type: K, listener: (this: HTMLKritzelTooltipElement, ev: KritzelTooltipCustomEvent<HTMLKritzelTooltipElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1801
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1802
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1803
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1804
+ }
1805
+ var HTMLKritzelTooltipElement: {
1806
+ prototype: HTMLKritzelTooltipElement;
1807
+ new (): HTMLKritzelTooltipElement;
1808
+ };
1809
+ interface HTMLKritzelUtilityPanelElementEventMap {
1810
+ "undo": void;
1811
+ "redo": void;
1812
+ "delete": void;
1813
+ }
1814
+ interface HTMLKritzelUtilityPanelElement extends Components.KritzelUtilityPanel, HTMLStencilElement {
1815
+ addEventListener<K extends keyof HTMLKritzelUtilityPanelElementEventMap>(type: K, listener: (this: HTMLKritzelUtilityPanelElement, ev: KritzelUtilityPanelCustomEvent<HTMLKritzelUtilityPanelElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1816
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1817
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1818
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1819
+ removeEventListener<K extends keyof HTMLKritzelUtilityPanelElementEventMap>(type: K, listener: (this: HTMLKritzelUtilityPanelElement, ev: KritzelUtilityPanelCustomEvent<HTMLKritzelUtilityPanelElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1820
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1821
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1822
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1823
+ }
1824
+ var HTMLKritzelUtilityPanelElement: {
1825
+ prototype: HTMLKritzelUtilityPanelElement;
1826
+ new (): HTMLKritzelUtilityPanelElement;
1827
+ };
1828
+ interface HTMLKritzelWorkspaceManagerElementEventMap {
1829
+ "isWorkspaceManagerReady": void;
1830
+ "workspaceChange": KritzelWorkspace;
1831
+ }
1832
+ interface HTMLKritzelWorkspaceManagerElement extends Components.KritzelWorkspaceManager, HTMLStencilElement {
1833
+ addEventListener<K extends keyof HTMLKritzelWorkspaceManagerElementEventMap>(type: K, listener: (this: HTMLKritzelWorkspaceManagerElement, ev: KritzelWorkspaceManagerCustomEvent<HTMLKritzelWorkspaceManagerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1834
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1835
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1836
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1837
+ removeEventListener<K extends keyof HTMLKritzelWorkspaceManagerElementEventMap>(type: K, listener: (this: HTMLKritzelWorkspaceManagerElement, ev: KritzelWorkspaceManagerCustomEvent<HTMLKritzelWorkspaceManagerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1838
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1839
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1840
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1841
+ }
1842
+ var HTMLKritzelWorkspaceManagerElement: {
1843
+ prototype: HTMLKritzelWorkspaceManagerElement;
1844
+ new (): HTMLKritzelWorkspaceManagerElement;
1845
+ };
1846
+ interface HTMLKritzelZoomPanelElementEventMap {
1847
+ "zoomIn": void;
1848
+ "zoomOut": void;
1849
+ }
1850
+ interface HTMLKritzelZoomPanelElement extends Components.KritzelZoomPanel, HTMLStencilElement {
1851
+ addEventListener<K extends keyof HTMLKritzelZoomPanelElementEventMap>(type: K, listener: (this: HTMLKritzelZoomPanelElement, ev: KritzelZoomPanelCustomEvent<HTMLKritzelZoomPanelElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1852
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1853
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1854
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1855
+ removeEventListener<K extends keyof HTMLKritzelZoomPanelElementEventMap>(type: K, listener: (this: HTMLKritzelZoomPanelElement, ev: KritzelZoomPanelCustomEvent<HTMLKritzelZoomPanelElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1856
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1857
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1858
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1859
+ }
1860
+ var HTMLKritzelZoomPanelElement: {
1861
+ prototype: HTMLKritzelZoomPanelElement;
1862
+ new (): HTMLKritzelZoomPanelElement;
1863
+ };
1864
+ interface HTMLElementTagNameMap {
1865
+ "kritzel-active-users": HTMLKritzelActiveUsersElement;
1866
+ "kritzel-avatar": HTMLKritzelAvatarElement;
1867
+ "kritzel-back-to-content": HTMLKritzelBackToContentElement;
1868
+ "kritzel-brush-style": HTMLKritzelBrushStyleElement;
1869
+ "kritzel-button": HTMLKritzelButtonElement;
1870
+ "kritzel-color": HTMLKritzelColorElement;
1871
+ "kritzel-color-palette": HTMLKritzelColorPaletteElement;
1872
+ "kritzel-context-menu": HTMLKritzelContextMenuElement;
1873
+ "kritzel-current-user": HTMLKritzelCurrentUserElement;
1874
+ "kritzel-current-user-dialog": HTMLKritzelCurrentUserDialogElement;
1875
+ "kritzel-dialog": HTMLKritzelDialogElement;
1876
+ "kritzel-dropdown": HTMLKritzelDropdownElement;
1877
+ "kritzel-editor": HTMLKritzelEditorElement;
1878
+ "kritzel-export": HTMLKritzelExportElement;
1879
+ "kritzel-font": HTMLKritzelFontElement;
1880
+ "kritzel-font-family": HTMLKritzelFontFamilyElement;
1881
+ "kritzel-font-size": HTMLKritzelFontSizeElement;
1882
+ "kritzel-input": HTMLKritzelInputElement;
1883
+ "kritzel-line-endings": HTMLKritzelLineEndingsElement;
1884
+ "kritzel-loading-overlay": HTMLKritzelLoadingOverlayElement;
1885
+ "kritzel-login-dialog": HTMLKritzelLoginDialogElement;
1886
+ "kritzel-master-detail": HTMLKritzelMasterDetailElement;
1887
+ "kritzel-menu": HTMLKritzelMenuElement;
1888
+ "kritzel-menu-item": HTMLKritzelMenuItemElement;
1889
+ "kritzel-more-menu": HTMLKritzelMoreMenuElement;
1890
+ "kritzel-notification-card": HTMLKritzelNotificationCardElement;
1891
+ "kritzel-numeric-input": HTMLKritzelNumericInputElement;
1892
+ "kritzel-opacity-slider": HTMLKritzelOpacitySliderElement;
1893
+ "kritzel-pill-tabs": HTMLKritzelPillTabsElement;
1894
+ "kritzel-portal": HTMLKritzelPortalElement;
1895
+ "kritzel-settings": HTMLKritzelSettingsElement;
1896
+ "kritzel-shape-fill": HTMLKritzelShapeFillElement;
1897
+ "kritzel-share-dialog": HTMLKritzelShareDialogElement;
1898
+ "kritzel-slide-toggle": HTMLKritzelSlideToggleElement;
1899
+ "kritzel-split-button": HTMLKritzelSplitButtonElement;
1900
+ "kritzel-stroke-size": HTMLKritzelStrokeSizeElement;
1901
+ "kritzel-tool-config": HTMLKritzelToolConfigElement;
1902
+ "kritzel-toolbar": HTMLKritzelToolbarElement;
1903
+ "kritzel-tooltip": HTMLKritzelTooltipElement;
1904
+ "kritzel-utility-panel": HTMLKritzelUtilityPanelElement;
1905
+ "kritzel-workspace-manager": HTMLKritzelWorkspaceManagerElement;
1906
+ "kritzel-zoom-panel": HTMLKritzelZoomPanelElement;
1907
+ }
1908
+ }
1909
+ declare namespace LocalJSX {
1910
+ interface KritzelActiveUsers {
1911
+ /**
1912
+ * Avatar size in pixels
1913
+ * @default 40
1914
+ */
1915
+ "avatarSize"?: number;
1916
+ /**
1917
+ * Maximum number of avatars to show before overflow text
1918
+ * @default 3
1919
+ */
1920
+ "maxVisible"?: number;
1921
+ /**
1922
+ * Overlap offset in pixels (negative margin between avatars)
1923
+ * @default 20
1924
+ */
1925
+ "overlap"?: number;
1926
+ /**
1927
+ * Array of active users to display
1928
+ * @default []
1929
+ */
1930
+ "users"?: IKritzelUser[];
1931
+ }
1932
+ interface KritzelAvatar {
1933
+ /**
1934
+ * Background color for initials fallback
1935
+ */
1936
+ "color"?: string;
1937
+ /**
1938
+ * Direct prop: user's display name (used for initials fallback)
1939
+ */
1940
+ "name"?: string;
1941
+ /**
1942
+ * Avatar diameter in pixels
1943
+ * @default 32
1944
+ */
1945
+ "size"?: number;
1946
+ /**
1947
+ * Full user object. If provided, individual props are ignored.
1948
+ */
1949
+ "user"?: IKritzelUser;
1950
+ }
1951
+ interface KritzelBackToContent {
1952
+ /**
1953
+ * Emitted when the button is clicked
1954
+ */
1955
+ "onBackToContent"?: (event: KritzelBackToContentCustomEvent<void>) => void;
1956
+ /**
1957
+ * The text to display on the button
1958
+ * @default 'Back to content'
1959
+ */
1960
+ "text"?: string;
1961
+ /**
1962
+ * Whether the button is visible
1963
+ * @default false
1964
+ */
1965
+ "visible"?: boolean;
1966
+ }
1967
+ interface KritzelBrushStyle {
1968
+ /**
1969
+ * @default [ { value: 'pen', label: 'Pen' }, { value: 'highlighter', label: 'Highlighter' }, ]
1970
+ */
1971
+ "brushOptions"?: BrushStyleOption[];
1972
+ "onTypeChange"?: (event: KritzelBrushStyleCustomEvent<'pen' | 'highlighter'>) => void;
1973
+ /**
1974
+ * @default 'pen'
1975
+ */
1976
+ "type"?: 'pen' | 'highlighter';
1977
+ }
1978
+ interface KritzelButton {
1979
+ /**
1980
+ * Whether the button is disabled
1981
+ * @default false
1982
+ */
1983
+ "disabled"?: boolean;
1984
+ /**
1985
+ * Emitted when the button is clicked
1986
+ */
1987
+ "onButtonClick"?: (event: KritzelButtonCustomEvent<void>) => void;
1988
+ /**
1989
+ * The type attribute for the native button element
1990
+ * @default 'button'
1991
+ */
1992
+ "type"?: 'button' | 'submit' | 'reset';
1993
+ /**
1994
+ * The visual variant of the button
1995
+ * @default 'primary'
1996
+ */
1997
+ "variant"?: 'primary' | 'secondary' | 'text';
1998
+ }
1999
+ interface KritzelColor {
2000
+ /**
2001
+ * @default 24
2002
+ */
2003
+ "size"?: number;
2004
+ "theme"?: ThemeName;
2005
+ "value"?: string | ThemeAwareColor;
2006
+ }
2007
+ interface KritzelColorPalette {
2008
+ /**
2009
+ * @default []
2010
+ */
2011
+ "colors"?: ThemeAwareColor[];
2012
+ /**
2013
+ * @default false
2014
+ */
2015
+ "isExpanded"?: boolean;
2016
+ /**
2017
+ * @default false
2018
+ */
2019
+ "isOpaque"?: boolean;
2020
+ "onColorChange"?: (event: KritzelColorPaletteCustomEvent<ThemeAwareColor>) => void;
2021
+ /**
2022
+ * @default 1
2023
+ */
2024
+ "opacity"?: number;
2025
+ /**
2026
+ * @default null
2027
+ */
2028
+ "selectedColor"?: ThemeAwareColor | null;
2029
+ "theme"?: ThemeName;
2030
+ }
2031
+ interface KritzelContextMenu {
2032
+ "items"?: ContextMenuItem[];
2033
+ "objects"?: KritzelBaseObject[];
2034
+ "onActionSelected"?: (event: KritzelContextMenuCustomEvent<ContextMenuItem>) => void;
2035
+ "onClose"?: (event: KritzelContextMenuCustomEvent<void>) => void;
2036
+ }
2037
+ interface KritzelCurrentUser {
2038
+ /**
2039
+ * Avatar size in pixels
2040
+ * @default 40
2041
+ */
2042
+ "avatarSize"?: number;
2043
+ /**
2044
+ * Resolved localized strings keyed by term key, supplied by the editor.
2045
+ * @default {}
2046
+ */
2047
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2048
+ /**
2049
+ * The current user to display
2050
+ */
2051
+ "user"?: IKritzelUser;
2052
+ }
2053
+ interface KritzelCurrentUserDialog {
2054
+ /**
2055
+ * Emitted when the user clicks the logout action.
2056
+ */
2057
+ "onLogoutRequest"?: (event: KritzelCurrentUserDialogCustomEvent<void>) => void;
2058
+ /**
2059
+ * Resolved localized strings keyed by term key, supplied by the editor.
2060
+ * @default {}
2061
+ */
2062
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2063
+ "user"?: IKritzelUser;
2064
+ }
2065
+ interface KritzelDialog {
2066
+ /**
2067
+ * Whether to auto-focus the first focusable element when opened
2068
+ * @default true
2069
+ */
2070
+ "autoFocus"?: boolean;
2071
+ /**
2072
+ * Whether to show the close button in the header
2073
+ * @default true
2074
+ */
2075
+ "closable"?: boolean;
2076
+ /**
2077
+ * Whether clicking the backdrop closes the dialog
2078
+ * @default true
2079
+ */
2080
+ "closeOnBackdrop"?: boolean;
2081
+ /**
2082
+ * Whether pressing Escape closes the dialog
2083
+ * @default true
2084
+ */
2085
+ "closeOnEscape"?: boolean;
2086
+ /**
2087
+ * Constrain the dialog to its nearest editor/container ancestor instead of the viewport.
2088
+ * @default false
2089
+ */
2090
+ "contained"?: boolean;
2091
+ /**
2092
+ * Optional title displayed in the header
2093
+ */
2094
+ "dialogTitle"?: string;
2095
+ /**
2096
+ * Whether to automatically go fullscreen on mobile viewports
2097
+ * @default true
2098
+ */
2099
+ "fullscreenOnMobile"?: boolean;
2100
+ /**
2101
+ * Whether the dialog is open
2102
+ * @default false
2103
+ */
2104
+ "isOpen"?: boolean;
2105
+ /**
2106
+ * Emitted when the dialog closes
2107
+ */
2108
+ "onDialogClose"?: (event: KritzelDialogCustomEvent<IKritzelDialogCloseEvent>) => void;
2109
+ /**
2110
+ * Emitted when the dialog opens
2111
+ */
2112
+ "onDialogOpen"?: (event: KritzelDialogCustomEvent<void>) => void;
2113
+ /**
2114
+ * Size of the dialog
2115
+ * @default 'medium'
2116
+ */
2117
+ "size"?: 'small' | 'medium' | 'large' | 'fullscreen';
2118
+ /**
2119
+ * Whether to trap focus within the dialog
2120
+ * @default true
2121
+ */
2122
+ "trapFocus"?: boolean;
2123
+ }
2124
+ interface KritzelDropdown {
2125
+ /**
2126
+ * Force the dropdown to open in a specific direction instead of auto-detecting
2127
+ */
2128
+ "forceOpenDirection"?: 'down' | 'up';
2129
+ "onValueChanged"?: (event: KritzelDropdownCustomEvent<string>) => void;
2130
+ /**
2131
+ * @default []
2132
+ */
2133
+ "options"?: DropdownOption[];
2134
+ /**
2135
+ * @default {}
2136
+ */
2137
+ "selectStyles"?: Record<string, string>;
2138
+ "value"?: string;
2139
+ "width"?: string;
2140
+ }
2141
+ interface KritzelEditor {
2142
+ "activeUsers"?: IKritzelUser[];
2143
+ /**
2144
+ * Optional workspace ID to set as active. If provided, the editor will automatically activate the workspace with this ID.
2145
+ */
2146
+ "activeWorkspaceId"?: string;
2147
+ /**
2148
+ * @default DEFAULT_ASSET_STORAGE_CONFIG
2149
+ */
2150
+ "assetStorageConfig"?: KritzelAssetStorageConfig;
2151
+ /**
2152
+ * The element to use as the target for the cursor. Defaults to the editor container if not set.
2153
+ */
2154
+ "cursorTarget"?: HTMLElement;
2155
+ /**
2156
+ * Registers fonts for runtime usage (for example custom object rendering). Text-tool config tooltip options are controlled via toolbarItems[].config.availableFonts.
2157
+ * @default {}
2158
+ */
2159
+ "customFonts"?: KritzelFontMap;
2160
+ /**
2161
+ * @default {}
2162
+ */
2163
+ "customSvgIcons"?: Record<string, string>;
2164
+ /**
2165
+ * @default { showViewportInfo: false, showObjectInfo: false, showSyncProviderInfo: true, showMigrationInfo: true, showAssetResolverInfo: false, }
2166
+ */
2167
+ "debugInfo"?: KritzelDebugInfo;
2168
+ /**
2169
+ * Optional unique identifier for namespacing storage keys across multiple editor instances.
2170
+ */
2171
+ "editorId"?: string;
2172
+ /**
2173
+ * The locale used to resolve terms missing from the active locale.
2174
+ * @default 'en'
2175
+ */
2176
+ "fallbackLocale"?: LocaleCode;
2177
+ /**
2178
+ * @default [ { label: 'menu.paste', icon: 'paste', action: menu => this.engineRef.paste(menu.x, menu.y), }, { label: 'menu.selectAll', icon: 'select-all', action: () => this.selectAllObjectsInViewport(), }, ]
2179
+ */
2180
+ "globalContextMenuItems"?: ContextMenuItem[];
2181
+ /**
2182
+ * @default true
2183
+ */
2184
+ "isMoreMenuVisible"?: boolean;
2185
+ /**
2186
+ * @default true
2187
+ */
2188
+ "isPanningEnabled"?: boolean;
2189
+ /**
2190
+ * @default true
2191
+ */
2192
+ "isToolbarVisible"?: boolean;
2193
+ /**
2194
+ * @default true
2195
+ */
2196
+ "isUtilityPanelVisible"?: boolean;
2197
+ /**
2198
+ * @default true
2199
+ */
2200
+ "isWorkspaceManagerVisible"?: boolean;
2201
+ /**
2202
+ * @default true
2203
+ */
2204
+ "isZoomPanelVisible"?: boolean;
2205
+ /**
2206
+ * @default true
2207
+ */
2208
+ "isZoomingEnabled"?: boolean;
2209
+ /**
2210
+ * License key that, when valid, removes the "Powered by Kritzel" watermark.
2211
+ */
2212
+ "licenseKey"?: string;
2213
+ /**
2214
+ * The current locale (language) code applied to the editor, e.g. 'en', 'de', 'fr'.
2215
+ * @default 'en'
2216
+ */
2217
+ "locale"?: LocaleCode;
2218
+ /**
2219
+ * An array of available locale definitions (with optional partial term overrides).
2220
+ */
2221
+ "locales"?: KritzelLocale[];
2222
+ /**
2223
+ * @default true
2224
+ */
2225
+ "lockDrawingScale"?: boolean;
2226
+ /**
2227
+ * Optional login configuration. When provided, a "Sign in" button is shown that opens a login dialog with the configured providers.
2228
+ */
2229
+ "loginConfig"?: KritzelLoginConfig;
2230
+ /**
2231
+ * @default [ { id: 'share', label: 'menu.share', icon: 'share', isVisible: async () => hasRemoteSyncProvider(this.syncConfig), action: () => { if (!this.isLoggedIn && this.loginConfig) { this.openLoginDialog(); return; } this.shareDialogRef.open(); }, }, { id: 'export', label: 'menu.export', icon: 'upload', action: async () => { const preview = await this.engineRef.getScreenshot('png'); this.exportRef.open(preview ?? undefined); }, }, { id: 'import', label: 'menu.import', icon: 'download', action: () => this.engineRef.importFromFile(), }, { id: 'settings', label: 'menu.settings', icon: 'settings', action: () => this.settingsRef.open(), }, ]
2232
+ */
2233
+ "moreMenuItems"?: IKritzelMenuItem[];
2234
+ /**
2235
+ * @default [ { label: 'menu.copy', icon: 'copy', group: 'clipboard', action: () => this.engineRef.copy() }, { label: 'menu.cut', icon: 'cut', group: 'clipboard', action: () => this.engineRef.cut() }, { label: 'menu.paste', icon: 'paste', group: 'clipboard', action: (menu, _) => this.engineRef.paste(menu.x, menu.y), }, { label: 'menu.export', icon: 'upload', group: 'clipboard', isVisible: (_, objects) => this.canExportObjects(objects), action: (_, objects) => { const format = this.getPreferredExportFormat(objects); if (!format) { return; } void this.engineRef.exportSelectedObject(format); }, }, { label: 'menu.order', icon: 'ordering', group: 'other', children: [ { label: 'menu.bringToFront', icon: 'bring-to-front', action: () => this.engineRef.bringToFront() }, { label: 'menu.sendToBack', icon: 'send-to-back', action: () => this.engineRef.sendToBack() }, { label: 'menu.moveUp', icon: 'arrow-up-from-dot', action: () => this.engineRef.bringForward() }, { label: 'menu.moveDown', icon: 'arrow-down-from-dot', action: () => this.engineRef.sendBackward() }, ], }, { label: 'menu.align', icon: 'align', group: 'other', children: [ { label: 'menu.alignLeft', icon: 'align-start-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.StartHorizontal) }, { label: 'menu.alignCenterHorizontal', icon: 'align-center-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterHorizontal) }, { label: 'menu.alignRight', icon: 'align-end-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.EndHorizontal) }, { label: 'menu.alignTop', icon: 'align-start-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.StartVertical) }, { label: 'menu.alignCenterVertical', icon: 'align-center-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterVertical) }, { label: 'menu.alignBottom', icon: 'align-end-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.EndVertical) }, ], }, { label: 'menu.group', icon: 'group', group: 'other', children: [ { label: 'menu.group', icon: 'group', action: () => this.engineRef.group(), }, { label: 'menu.ungroup', icon: 'ungroup', action: () => this.engineRef.ungroup(), }, ], }, { label: 'menu.delete', icon: 'delete', group: 'edit', action: () => this.engineRef.delete() }, ]
2236
+ */
2237
+ "objectContextMenuItems"?: ContextMenuItem[];
2238
+ "onActiveWorkspaceChange"?: (event: KritzelEditorCustomEvent<ActiveWorkspaceChangeEvent>) => void;
2239
+ "onAwarenessChange"?: (event: KritzelEditorCustomEvent<Map<number, Record<string, any>>>) => void;
2240
+ "onIsPublicChange"?: (event: KritzelEditorCustomEvent<IKritzelIsPublicChangeEvent>) => void;
2241
+ "onIsReady"?: (event: KritzelEditorCustomEvent<EditorIsReadyEvent>) => void;
2242
+ "onLocaleChange"?: (event: KritzelEditorCustomEvent<LocaleCode>) => void;
2243
+ "onLogin"?: (event: KritzelEditorCustomEvent<LoginEvent>) => void;
2244
+ "onLogout"?: (event: KritzelEditorCustomEvent<void>) => void;
2245
+ "onObjectsAdded"?: (event: KritzelEditorCustomEvent<ObjectsAddedEvent>) => void;
2246
+ "onObjectsChange"?: (event: KritzelEditorCustomEvent<KritzelBaseObject[]>) => void;
2247
+ "onObjectsRemoved"?: (event: KritzelEditorCustomEvent<ObjectsRemovedEvent>) => void;
2248
+ "onObjectsSelectionChange"?: (event: KritzelEditorCustomEvent<KritzelBaseObject[]>) => void;
2249
+ "onObjectsUpdated"?: (event: KritzelEditorCustomEvent<ObjectsUpdatedEvent>) => void;
2250
+ "onThemeChange"?: (event: KritzelEditorCustomEvent<ThemeName>) => void;
2251
+ "onUndoStateChange"?: (event: KritzelEditorCustomEvent<KritzelUndoState>) => void;
2252
+ "onViewportChange"?: (event: KritzelEditorCustomEvent<KritzelViewportState>) => void;
2253
+ /**
2254
+ * @default 1000
2255
+ */
2256
+ "scaleMax"?: number;
2257
+ /**
2258
+ * @default 0.0001
2259
+ */
2260
+ "scaleMin"?: number;
2261
+ /**
2262
+ * @default DEFAULT_SYNC_CONFIG
2263
+ */
2264
+ "syncConfig"?: KritzelSyncConfig;
2265
+ /**
2266
+ * @default 'light'
2267
+ */
2268
+ "theme"?: ThemeName;
2269
+ "themes"?: KritzelTheme[];
2270
+ /**
2271
+ * @default [ { name: 'selection', type: 'tool', isDefault: true, tool: KritzelSelectionTool, icon: 'cursor', }, { name: 'brush', type: 'tool', tool: KritzelBrushTool, icon: 'pen', config: DEFAULT_BRUSH_CONFIG, }, { name: 'eraser', type: 'tool', tool: KritzelEraserTool, icon: 'eraser', }, { name: 'line', type: 'tool', tool: KritzelLineTool, icon: 'arrow', config: DEFAULT_LINE_TOOL_CONFIG, }, { name: 'shape', type: 'tool', tool: KritzelShapeTool, icon: 'shape-rectangle', config: DEFAULT_SHAPE_CONFIG, subOptions: [ { id: 'rectangle', icon: 'shape-rectangle', label: 'Rectangle', value: ShapeType.Rectangle, toolProperty: 'shapeType' }, { id: 'ellipse', icon: 'shape-ellipse', label: 'Ellipse', value: ShapeType.Ellipse, toolProperty: 'shapeType' }, { id: 'triangle', icon: 'shape-triangle', label: 'Triangle', value: ShapeType.Triangle, toolProperty: 'shapeType' }, ], }, { name: 'text', type: 'tool', tool: KritzelTextTool, icon: 'type', config: DEFAULT_TEXT_CONFIG, }, { name: 'image', type: 'tool', tool: KritzelImageTool, icon: 'image', }, { name: 'config', type: 'config', }, ]
2272
+ */
2273
+ "toolbarItems"?: KritzelToolbarItem[];
2274
+ "user"?: IKritzelUser;
2275
+ /**
2276
+ * @default Infinity
2277
+ */
2278
+ "viewportBoundaryBottom"?: number;
2279
+ /**
2280
+ * @default -Infinity
2281
+ */
2282
+ "viewportBoundaryLeft"?: number;
2283
+ /**
2284
+ * @default Infinity
2285
+ */
2286
+ "viewportBoundaryRight"?: number;
2287
+ /**
2288
+ * @default -Infinity
2289
+ */
2290
+ "viewportBoundaryTop"?: number;
2291
+ /**
2292
+ * Authoritative workspace catalog for this editor instance. When provided, provider-only workspaces are hidden but not deleted.
2293
+ */
2294
+ "workspaces"?: KritzelWorkspace[];
2295
+ }
2296
+ interface KritzelExport {
2297
+ "onExportJson"?: (event: KritzelExportCustomEvent<string>) => void;
2298
+ "onExportPng"?: (event: KritzelExportCustomEvent<void>) => void;
2299
+ "onExportSvg"?: (event: KritzelExportCustomEvent<void>) => void;
2300
+ /**
2301
+ * Resolved localized strings keyed by term key, supplied by the editor.
2302
+ * @default {}
2303
+ */
2304
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2305
+ /**
2306
+ * The name of the current workspace, used as default filename
2307
+ * @default 'workspace'
2308
+ */
2309
+ "workspaceName"?: string;
2310
+ }
2311
+ interface KritzelFont {
2312
+ /**
2313
+ * @default '#000000'
2314
+ */
2315
+ "color"?: string;
2316
+ /**
2317
+ * @default 'Arial, sans-serif'
2318
+ */
2319
+ "fontFamily"?: string;
2320
+ /**
2321
+ * @default 24
2322
+ */
2323
+ "size"?: number;
2324
+ }
2325
+ interface KritzelFontFamily {
2326
+ /**
2327
+ * @default []
2328
+ */
2329
+ "fontOptions"?: FontOption[];
2330
+ "onFontFamilyChange"?: (event: KritzelFontFamilyCustomEvent<string>) => void;
2331
+ "selectedFontFamily"?: string;
2332
+ }
2333
+ interface KritzelFontSize {
2334
+ /**
2335
+ * @default 'Arial'
2336
+ */
2337
+ "fontFamily"?: string;
2338
+ "onSizeChange"?: (event: KritzelFontSizeCustomEvent<number>) => void;
2339
+ /**
2340
+ * @default null
2341
+ */
2342
+ "selectedSize"?: number | null;
2343
+ /**
2344
+ * @default [8, 10, 12, 16, 20, 24]
2345
+ */
2346
+ "sizes"?: number[];
2347
+ }
2348
+ interface KritzelInput {
2349
+ /**
2350
+ * Whether the input is disabled
2351
+ * @default false
2352
+ */
2353
+ "disabled"?: boolean;
2354
+ /**
2355
+ * Label text displayed above the input
2356
+ * @default ''
2357
+ */
2358
+ "label"?: string;
2359
+ /**
2360
+ * Emitted when the value changes
2361
+ */
2362
+ "onValueChange"?: (event: KritzelInputCustomEvent<string>) => void;
2363
+ /**
2364
+ * Placeholder text shown when input is empty
2365
+ * @default ''
2366
+ */
2367
+ "placeholder"?: string;
2368
+ /**
2369
+ * Suffix text displayed after the input (e.g., file extension)
2370
+ * @default ''
2371
+ */
2372
+ "suffix"?: string;
2373
+ /**
2374
+ * Input type
2375
+ * @default 'text'
2376
+ */
2377
+ "type"?: 'text' | 'email' | 'password' | 'url';
2378
+ /**
2379
+ * Current text value
2380
+ * @default ''
2381
+ */
2382
+ "value"?: string;
2383
+ }
2384
+ interface KritzelLineEndings {
2385
+ "onValueChange"?: (event: KritzelLineEndingsCustomEvent<LineArrowConfig>) => void;
2386
+ /**
2387
+ * Available ending styles
2388
+ * @default ['none', 'triangle']
2389
+ */
2390
+ "styles"?: LineEndingType[];
2391
+ /**
2392
+ * Current line arrow configuration
2393
+ */
2394
+ "value"?: LineArrowConfig | undefined;
2395
+ }
2396
+ interface KritzelLoadingOverlay {
2397
+ /**
2398
+ * The text to display next to the spinner
2399
+ * @default 'Loading...'
2400
+ */
2401
+ "text"?: string;
2402
+ /**
2403
+ * Whether the overlay is visible
2404
+ * @default false
2405
+ */
2406
+ "visible"?: boolean;
2407
+ }
2408
+ /**
2409
+ * Login dialog component for displaying authentication provider buttons.
2410
+ * This is a presentational component that emits events for all actions.
2411
+ * The parent component (kritzel-editor) handles the actual authentication flow.
2412
+ */
2413
+ interface KritzelLoginDialog {
2414
+ /**
2415
+ * Dialog title
2416
+ * @default 'Sign in'
2417
+ */
2418
+ "dialogTitle"?: string;
2419
+ /**
2420
+ * Emitted when the dialog is closed
2421
+ */
2422
+ "onDialogClosed"?: (event: KritzelLoginDialogCustomEvent<void>) => void;
2423
+ /**
2424
+ * Emitted when a provider button is clicked
2425
+ */
2426
+ "onProviderLogin"?: (event: KritzelLoginDialogCustomEvent<LoginEvent>) => void;
2427
+ /**
2428
+ * Array of authentication provider buttons to render
2429
+ * @default []
2430
+ */
2431
+ "providers"?: KritzelLoginProvider[];
2432
+ /**
2433
+ * Optional subtitle text displayed below the title
2434
+ */
2435
+ "subtitle"?: string;
2436
+ }
2437
+ interface KritzelMasterDetail {
2438
+ /**
2439
+ * Array of menu items to display in the master (left) panel
2440
+ * @default []
2441
+ */
2442
+ "items"?: IKritzelMasterDetailItem[];
2443
+ /**
2444
+ * Emitted when an item is selected
2445
+ */
2446
+ "onItemSelect"?: (event: KritzelMasterDetailCustomEvent<IKritzelMasterDetailSelectEvent>) => void;
2447
+ /**
2448
+ * ID of the currently selected item
2449
+ */
2450
+ "selectedItemId"?: string;
2451
+ }
2452
+ interface KritzelMenu {
2453
+ "items"?: IKritzelMenuItem[];
2454
+ "onClose"?: (event: KritzelMenuCustomEvent<void>) => void;
2455
+ "onItemCancel"?: (event: KritzelMenuCustomEvent<IKritzelMenuItem>) => void;
2456
+ "onItemCloseChildMenu"?: (event: KritzelMenuCustomEvent<IKritzelMenuItem>) => void;
2457
+ "onItemSave"?: (event: KritzelMenuCustomEvent<IKritzelMenuItem>) => void;
2458
+ "onItemSelect"?: (event: KritzelMenuCustomEvent<IKritzelMenuItemSelectEvent>) => void;
2459
+ "onItemToggleChildMenu"?: (event: KritzelMenuCustomEvent<IKritzelMenuItemToggleChildMenuEvent>) => void;
2460
+ /**
2461
+ * @default null
2462
+ */
2463
+ "parent"?: IKritzelMenuItem;
2464
+ }
2465
+ interface KritzelMenuItem {
2466
+ "item"?: IKritzelMenuItem;
2467
+ "onItemCancel"?: (event: KritzelMenuItemCustomEvent<IKritzelMenuItem>) => void;
2468
+ "onItemCloseChildMenu"?: (event: KritzelMenuItemCustomEvent<IKritzelMenuItem>) => void;
2469
+ "onItemSave"?: (event: KritzelMenuItemCustomEvent<IKritzelMenuItem>) => void;
2470
+ "onItemSelect"?: (event: KritzelMenuItemCustomEvent<IKritzelMenuItemSelectEvent>) => void;
2471
+ "onItemToggleChildMenu"?: (event: KritzelMenuItemCustomEvent<IKritzelMenuItemToggleChildMenuEvent>) => void;
2472
+ /**
2473
+ * @default null
2474
+ */
2475
+ "parent"?: IKritzelMenuItem;
2476
+ }
2477
+ interface KritzelMoreMenu {
2478
+ /**
2479
+ * The icon to display on the button
2480
+ * @default 'ellipsis-vertical'
2481
+ */
2482
+ "icon"?: string;
2483
+ /**
2484
+ * The size of the icon
2485
+ * @default 24
2486
+ */
2487
+ "iconSize"?: number;
2488
+ /**
2489
+ * The menu items to display in the dropdown. Items with `isVisible` set to `false` will be filtered out. Items with an `action` will have that action invoked on selection.
2490
+ * @default []
2491
+ */
2492
+ "items"?: IKritzelMenuItem[];
2493
+ /**
2494
+ * Offset Y for the portal positioning
2495
+ * @default 4
2496
+ */
2497
+ "offsetY"?: number;
2498
+ /**
2499
+ * Emitted when a menu item is selected
2500
+ */
2501
+ "onItemSelect"?: (event: KritzelMoreMenuCustomEvent<{ item: IKritzelMenuItem; parent: IKritzelMenuItem }>) => void;
2502
+ /**
2503
+ * Resolved localized strings keyed by term key, supplied by the editor.
2504
+ * @default {}
2505
+ */
2506
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2507
+ /**
2508
+ * Whether the menu button is visible
2509
+ * @default false
2510
+ */
2511
+ "visible"?: boolean;
2512
+ }
2513
+ interface KritzelNotificationCard {
2514
+ /**
2515
+ * Locale used for formatting the timestamp.
2516
+ */
2517
+ "locale"?: string;
2518
+ /**
2519
+ * Notification data rendered by this card.
2520
+ */
2521
+ "notification"?: KritzelNotification;
2522
+ /**
2523
+ * Emitted when the notification should be dismissed manually.
2524
+ */
2525
+ "onDismiss"?: (event: KritzelNotificationCardCustomEvent<void>) => void;
2526
+ /**
2527
+ * Emitted when pointer hover state changes.
2528
+ */
2529
+ "onHoverChange"?: (event: KritzelNotificationCardCustomEvent<boolean>) => void;
2530
+ /**
2531
+ * Whether a formatted timestamp should be displayed when available.
2532
+ * @default true
2533
+ */
2534
+ "showTimestamp"?: boolean;
2535
+ }
2536
+ interface KritzelNumericInput {
2537
+ /**
2538
+ * Label text displayed above the input
2539
+ * @default ''
2540
+ */
2541
+ "label"?: string;
2542
+ /**
2543
+ * Maximum allowed value
2544
+ * @default Number.MAX_SAFE_INTEGER
2545
+ */
2546
+ "max"?: number;
2547
+ /**
2548
+ * Minimum allowed value
2549
+ * @default Number.MIN_SAFE_INTEGER
2550
+ */
2551
+ "min"?: number;
2552
+ /**
2553
+ * Emitted when the value changes (after normalization)
2554
+ */
2555
+ "onValueChange"?: (event: KritzelNumericInputCustomEvent<number | undefined>) => void;
2556
+ /**
2557
+ * Placeholder text shown when input is empty
2558
+ * @default ''
2559
+ */
2560
+ "placeholder"?: string;
2561
+ /**
2562
+ * Step increment for the input
2563
+ * @default 1
2564
+ */
2565
+ "step"?: number;
2566
+ /**
2567
+ * Current numeric value (undefined when cleared)
2568
+ */
2569
+ "value"?: number;
2570
+ }
2571
+ interface KritzelOpacitySlider {
2572
+ /**
2573
+ * Maximum opacity value
2574
+ * @default 1
2575
+ */
2576
+ "max"?: number;
2577
+ /**
2578
+ * Minimum opacity value
2579
+ * @default 0
2580
+ */
2581
+ "min"?: number;
2582
+ "onValueChange"?: (event: KritzelOpacitySliderCustomEvent<number>) => void;
2583
+ /**
2584
+ * Color to display in the preview (optional)
2585
+ * @default '#000000'
2586
+ */
2587
+ "previewColor"?: string;
2588
+ /**
2589
+ * Step increment
2590
+ * @default 0.01
2591
+ */
2592
+ "step"?: number;
2593
+ /**
2594
+ * Current opacity value (0 to 1)
2595
+ * @default 1
2596
+ */
2597
+ "value"?: number;
2598
+ }
2599
+ interface KritzelPillTabs {
2600
+ /**
2601
+ * Emitted when the selected tab changes
2602
+ */
2603
+ "onValueChange"?: (event: KritzelPillTabsCustomEvent<string>) => void;
2604
+ /**
2605
+ * Array of tab definitions to render
2606
+ * @default []
2607
+ */
2608
+ "tabs"?: KritzelPillTab[];
2609
+ /**
2610
+ * Currently selected tab ID
2611
+ */
2612
+ "value"?: string;
2613
+ }
2614
+ interface KritzelPortal {
2615
+ "anchor"?: HTMLElement;
2616
+ /**
2617
+ * @default true
2618
+ */
2619
+ "autoFocus"?: boolean;
2620
+ "offsetX"?: number;
2621
+ "offsetY"?: number;
2622
+ "onClose"?: (event: KritzelPortalCustomEvent<void>) => void;
2623
+ }
2624
+ interface KritzelSettings {
2625
+ /**
2626
+ * Available locales as `{ code, label }` options for the language selector.
2627
+ * @default []
2628
+ */
2629
+ "availableLocales"?: { code: LocaleCode; label: string }[];
2630
+ /**
2631
+ * Keyboard shortcuts to display in the settings dialog
2632
+ * @default ['light', 'dark']
2633
+ */
2634
+ "availableThemes"?: string[];
2635
+ /**
2636
+ * Emitted when settings change
2637
+ */
2638
+ "onSettingsChange"?: (event: KritzelSettingsCustomEvent<KritzelSettingsConfig>) => void;
2639
+ /**
2640
+ * Current settings values. Used to initialize and sync the component's internal state.
2641
+ */
2642
+ "settings"?: Partial<KritzelSettingsConfig>;
2643
+ /**
2644
+ * @default []
2645
+ */
2646
+ "shortcuts"?: Omit<KritzelShortcut, 'action' | 'condition'>[];
2647
+ /**
2648
+ * Resolved localized strings keyed by term key, supplied by the editor.
2649
+ * @default {}
2650
+ */
2651
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2652
+ }
2653
+ interface KritzelShapeFill {
2654
+ "onValueChange"?: (event: KritzelShapeFillCustomEvent<ShapeFillType>) => void;
2655
+ /**
2656
+ * Current fill type
2657
+ * @default 'transparent'
2658
+ */
2659
+ "value"?: ShapeFillType;
2660
+ }
2661
+ /**
2662
+ * Share dialog component for managing workspace link sharing.
2663
+ * This is a presentational component that emits events for all actions.
2664
+ * The parent component (kritzel-editor) handles the business logic.
2665
+ */
2666
+ interface KritzelShareDialog {
2667
+ /**
2668
+ * Whether the workspace is currently public.
2669
+ * @default false
2670
+ */
2671
+ "isPublic"?: boolean;
2672
+ /**
2673
+ * Emitted when the dialog is closed.
2674
+ */
2675
+ "onDialogClosed"?: (event: KritzelShareDialogCustomEvent<void>) => void;
2676
+ /**
2677
+ * Emitted when the user toggles the public sharing state.
2678
+ */
2679
+ "onToggleIsPublic"?: (event: KritzelShareDialogCustomEvent<boolean>) => void;
2680
+ /**
2681
+ * Resolved localized strings keyed by term key, supplied by the editor.
2682
+ * @default {}
2683
+ */
2684
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2685
+ /**
2686
+ * The ID of the workspace being shared. Used to build the share URL.
2687
+ * @default undefined
2688
+ */
2689
+ "workspaceId"?: string | undefined;
2690
+ }
2691
+ interface KritzelSlideToggle {
2692
+ /**
2693
+ * Whether the toggle is checked/on
2694
+ * @default false
2695
+ */
2696
+ "checked"?: boolean;
2697
+ /**
2698
+ * Whether the toggle is disabled
2699
+ * @default false
2700
+ */
2701
+ "disabled"?: boolean;
2702
+ /**
2703
+ * Label text for accessibility (screen readers)
2704
+ */
2705
+ "label"?: string;
2706
+ /**
2707
+ * Emitted when the toggle state changes
2708
+ */
2709
+ "onCheckedChange"?: (event: KritzelSlideToggleCustomEvent<boolean>) => void;
2710
+ }
2711
+ interface KritzelSplitButton {
2712
+ /**
2713
+ * @default 'plus'
2714
+ */
2715
+ "buttonIcon"?: string;
2716
+ /**
2717
+ * @default 'chevron-down'
2718
+ */
2719
+ "dropdownIcon"?: string;
2720
+ /**
2721
+ * @default []
2722
+ */
2723
+ "items"?: IKritzelMenuItem[];
2724
+ /**
2725
+ * @default false
2726
+ */
2727
+ "mainButtonDisabled"?: boolean;
2728
+ /**
2729
+ * @default false
2730
+ */
2731
+ "menuButtonDisabled"?: boolean;
2732
+ "onItemCancel"?: (event: KritzelSplitButtonCustomEvent<IKritzelMenuItem>) => void;
2733
+ "onItemCloseChildMenu"?: (event: KritzelSplitButtonCustomEvent<IKritzelMenuItem>) => void;
2734
+ "onItemSave"?: (event: KritzelSplitButtonCustomEvent<IKritzelMenuItem>) => void;
2735
+ "onItemSelect"?: (event: KritzelSplitButtonCustomEvent<IKritzelMenuItemSelectEvent>) => void;
2736
+ "onItemToggleChildMenu"?: (event: KritzelSplitButtonCustomEvent<IKritzelMenuItemToggleChildMenuEvent>) => void;
2737
+ "onMainButtonClick"?: (event: KritzelSplitButtonCustomEvent<void>) => void;
2738
+ "onMenuClose"?: (event: KritzelSplitButtonCustomEvent<void>) => void;
2739
+ "onMenuOpen"?: (event: KritzelSplitButtonCustomEvent<void>) => void;
2740
+ }
2741
+ interface KritzelStrokeSize {
2742
+ "onSizeChange"?: (event: KritzelStrokeSizeCustomEvent<number>) => void;
2743
+ /**
2744
+ * @default null
2745
+ */
2746
+ "selectedSize"?: number | null;
2747
+ /**
2748
+ * @default [4, 6, 8, 12, 16, 24]
2749
+ */
2750
+ "sizes"?: number[];
2751
+ }
2752
+ interface KritzelToolConfig {
2753
+ "engine"?: HTMLElement;
2754
+ /**
2755
+ * @default false
2756
+ */
2757
+ "isExpanded"?: boolean;
2758
+ "onDisplayValuesChange"?: (event: KritzelToolConfigCustomEvent<ToolDisplayValues>) => void;
2759
+ "onToolChange"?: (event: KritzelToolConfigCustomEvent<ConfigurableTool>) => void;
2760
+ /**
2761
+ * Resolved localized strings keyed by term key, supplied by the editor.
2762
+ * @default {}
2763
+ */
2764
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2765
+ "theme"?: ThemeName;
2766
+ "tool"?: ConfigurableTool;
2767
+ }
2768
+ interface KritzelToolbar {
2769
+ /**
2770
+ * @default null
2771
+ */
2772
+ "activeControl"?: KritzelToolbarItem | null;
2773
+ /**
2774
+ * @default true
2775
+ */
2776
+ "isUtilityPanelVisible"?: boolean;
2777
+ "onIsToolbarReady"?: (event: KritzelToolbarCustomEvent<void>) => void;
2778
+ /**
2779
+ * Resolved localized strings keyed by term key, supplied by the editor.
2780
+ * @default {}
2781
+ */
2782
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2783
+ /**
2784
+ * @default 'light'
2785
+ */
2786
+ "theme"?: ThemeName;
2787
+ /**
2788
+ * @default []
2789
+ */
2790
+ "toolbarItems"?: KritzelToolbarItem[];
2791
+ /**
2792
+ * @default null
2793
+ */
2794
+ "undoState"?: KritzelUndoState;
2795
+ /**
2796
+ * @default true
2797
+ */
2798
+ "visible"?: boolean;
2799
+ }
2800
+ interface KritzelTooltip {
2801
+ "anchorElement"?: HTMLElement;
2802
+ /**
2803
+ * @default false
2804
+ */
2805
+ "isVisible"?: boolean;
2806
+ /**
2807
+ * @default 24
2808
+ */
2809
+ "offsetY"?: number;
2810
+ "onTooltipClosed"?: (event: KritzelTooltipCustomEvent<void>) => void;
2811
+ "onTooltipOpened"?: (event: KritzelTooltipCustomEvent<void>) => void;
2812
+ "triggerElement"?: HTMLElement;
2813
+ }
2814
+ interface KritzelUtilityPanel {
2815
+ "onDelete"?: (event: KritzelUtilityPanelCustomEvent<void>) => void;
2816
+ "onRedo"?: (event: KritzelUtilityPanelCustomEvent<void>) => void;
2817
+ "onUndo"?: (event: KritzelUtilityPanelCustomEvent<void>) => void;
2818
+ /**
2819
+ * Resolved localized strings keyed by term key, supplied by the editor.
2820
+ * @default {}
2821
+ */
2822
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2823
+ /**
2824
+ * @default null
2825
+ */
2826
+ "undoState"?: KritzelUndoState;
2827
+ }
2828
+ interface KritzelWorkspaceManager {
2829
+ "activeWorkspace"?: KritzelWorkspace;
2830
+ "onIsWorkspaceManagerReady"?: (event: KritzelWorkspaceManagerCustomEvent<void>) => void;
2831
+ "onWorkspaceChange"?: (event: KritzelWorkspaceManagerCustomEvent<KritzelWorkspace>) => void;
2832
+ /**
2833
+ * Resolved localized strings keyed by term key, supplied by the editor.
2834
+ * @default {}
2835
+ */
2836
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2837
+ /**
2838
+ * Whether the workspace manager is visible
2839
+ * @default false
2840
+ */
2841
+ "visible"?: boolean;
2842
+ /**
2843
+ * @default []
2844
+ */
2845
+ "workspaces"?: KritzelWorkspace[];
2846
+ }
2847
+ interface KritzelZoomPanel {
2848
+ /**
2849
+ * Whether both zoom buttons are disabled.
2850
+ * @default false
2851
+ */
2852
+ "disabled"?: boolean;
2853
+ /**
2854
+ * Emitted when the zoom-in button is clicked.
2855
+ */
2856
+ "onZoomIn"?: (event: KritzelZoomPanelCustomEvent<void>) => void;
2857
+ /**
2858
+ * Emitted when the zoom-out button is clicked.
2859
+ */
2860
+ "onZoomOut"?: (event: KritzelZoomPanelCustomEvent<void>) => void;
2861
+ /**
2862
+ * Resolved localized strings keyed by term key, supplied by the editor.
2863
+ * @default {}
2864
+ */
2865
+ "terms"?: Partial<Record<KritzelTermKey, string>>;
2866
+ /**
2867
+ * Whether the zoom panel is visible.
2868
+ * @default true
2869
+ */
2870
+ "visible"?: boolean;
2871
+ /**
2872
+ * Current zoom level in percent.
2873
+ * @default 100
2874
+ */
2875
+ "zoomPercent"?: number;
2876
+ }
2877
+
2878
+ interface KritzelActiveUsersAttributes {
2879
+ "avatarSize": number;
2880
+ "maxVisible": number;
2881
+ "overlap": number;
2882
+ }
2883
+ interface KritzelAvatarAttributes {
2884
+ "name": string;
2885
+ "size": number;
2886
+ "color": string;
2887
+ }
2888
+ interface KritzelBackToContentAttributes {
2889
+ "visible": boolean;
2890
+ "text": string;
2891
+ }
2892
+ interface KritzelBrushStyleAttributes {
2893
+ "type": 'pen' | 'highlighter';
2894
+ }
2895
+ interface KritzelButtonAttributes {
2896
+ "variant": 'primary' | 'secondary' | 'text';
2897
+ "disabled": boolean;
2898
+ "type": 'button' | 'submit' | 'reset';
2899
+ }
2900
+ interface KritzelColorAttributes {
2901
+ "value": string | ThemeAwareColor;
2902
+ "theme": ThemeName;
2903
+ "size": number;
2904
+ }
2905
+ interface KritzelColorPaletteAttributes {
2906
+ "isExpanded": boolean;
2907
+ "isOpaque": boolean;
2908
+ "opacity": number;
2909
+ "theme": ThemeName;
2910
+ }
2911
+ interface KritzelCurrentUserAttributes {
2912
+ "avatarSize": number;
2913
+ }
2914
+ interface KritzelDialogAttributes {
2915
+ "isOpen": boolean;
2916
+ "dialogTitle": string;
2917
+ "closable": boolean;
2918
+ "closeOnBackdrop": boolean;
2919
+ "closeOnEscape": boolean;
2920
+ "autoFocus": boolean;
2921
+ "trapFocus": boolean;
2922
+ "size": 'small' | 'medium' | 'large' | 'fullscreen';
2923
+ "fullscreenOnMobile": boolean;
2924
+ "contained": boolean;
2925
+ }
2926
+ interface KritzelDropdownAttributes {
2927
+ "value": string;
2928
+ "width": string;
2929
+ "forceOpenDirection": 'down' | 'up';
2930
+ }
2931
+ interface KritzelEditorAttributes {
2932
+ "scaleMax": number;
2933
+ "scaleMin": number;
2934
+ "lockDrawingScale": boolean;
2935
+ "viewportBoundaryLeft": number;
2936
+ "viewportBoundaryRight": number;
2937
+ "viewportBoundaryTop": number;
2938
+ "viewportBoundaryBottom": number;
2939
+ "theme": ThemeName;
2940
+ "licenseKey": string;
2941
+ "locale": LocaleCode;
2942
+ "fallbackLocale": LocaleCode;
2943
+ "isPanningEnabled": boolean;
2944
+ "isZoomingEnabled": boolean;
2945
+ "isToolbarVisible": boolean;
2946
+ "isUtilityPanelVisible": boolean;
2947
+ "isWorkspaceManagerVisible": boolean;
2948
+ "isMoreMenuVisible": boolean;
2949
+ "isZoomPanelVisible": boolean;
2950
+ "editorId": string;
2951
+ "activeWorkspaceId": string;
2952
+ }
2953
+ interface KritzelExportAttributes {
2954
+ "workspaceName": string;
2955
+ }
2956
+ interface KritzelFontAttributes {
2957
+ "fontFamily": string;
2958
+ "size": number;
2959
+ "color": string;
2960
+ }
2961
+ interface KritzelFontFamilyAttributes {
2962
+ "selectedFontFamily": string;
2963
+ }
2964
+ interface KritzelFontSizeAttributes {
2965
+ "selectedSize": number | null;
2966
+ "fontFamily": string;
2967
+ }
2968
+ interface KritzelInputAttributes {
2969
+ "value": string;
2970
+ "label": string;
2971
+ "placeholder": string;
2972
+ "suffix": string;
2973
+ "type": 'text' | 'email' | 'password' | 'url';
2974
+ "disabled": boolean;
2975
+ }
2976
+ interface KritzelLoadingOverlayAttributes {
2977
+ "visible": boolean;
2978
+ "text": string;
2979
+ }
2980
+ interface KritzelLoginDialogAttributes {
2981
+ "dialogTitle": string;
2982
+ "subtitle": string;
2983
+ }
2984
+ interface KritzelMasterDetailAttributes {
2985
+ "selectedItemId": string;
2986
+ }
2987
+ interface KritzelMoreMenuAttributes {
2988
+ "visible": boolean;
2989
+ "icon": string;
2990
+ "iconSize": number;
2991
+ "offsetY": number;
2992
+ }
2993
+ interface KritzelNotificationCardAttributes {
2994
+ "showTimestamp": boolean;
2995
+ "locale": string;
2996
+ }
2997
+ interface KritzelNumericInputAttributes {
2998
+ "value": number;
2999
+ "min": number;
3000
+ "max": number;
3001
+ "step": number;
3002
+ "label": string;
3003
+ "placeholder": string;
3004
+ }
3005
+ interface KritzelOpacitySliderAttributes {
3006
+ "value": number;
3007
+ "min": number;
3008
+ "max": number;
3009
+ "step": number;
3010
+ "previewColor": string;
3011
+ }
3012
+ interface KritzelPillTabsAttributes {
3013
+ "value": string;
3014
+ }
3015
+ interface KritzelPortalAttributes {
3016
+ "offsetX": number;
3017
+ "offsetY": number;
3018
+ "autoFocus": boolean;
3019
+ }
3020
+ interface KritzelShapeFillAttributes {
3021
+ "value": ShapeFillType;
3022
+ }
3023
+ interface KritzelShareDialogAttributes {
3024
+ "isPublic": boolean;
3025
+ "workspaceId": string | undefined;
3026
+ }
3027
+ interface KritzelSlideToggleAttributes {
3028
+ "checked": boolean;
3029
+ "disabled": boolean;
3030
+ "label": string;
3031
+ }
3032
+ interface KritzelSplitButtonAttributes {
3033
+ "buttonIcon": string;
3034
+ "dropdownIcon": string;
3035
+ "mainButtonDisabled": boolean;
3036
+ "menuButtonDisabled": boolean;
3037
+ }
3038
+ interface KritzelStrokeSizeAttributes {
3039
+ "selectedSize": number | null;
3040
+ }
3041
+ interface KritzelToolConfigAttributes {
3042
+ "isExpanded": boolean;
3043
+ "theme": ThemeName;
3044
+ }
3045
+ interface KritzelToolbarAttributes {
3046
+ "visible": boolean;
3047
+ "isUtilityPanelVisible": boolean;
3048
+ "theme": ThemeName;
3049
+ }
3050
+ interface KritzelTooltipAttributes {
3051
+ "isVisible": boolean;
3052
+ "offsetY": number;
3053
+ }
3054
+ interface KritzelWorkspaceManagerAttributes {
3055
+ "visible": boolean;
3056
+ }
3057
+ interface KritzelZoomPanelAttributes {
3058
+ "visible": boolean;
3059
+ "disabled": boolean;
3060
+ "zoomPercent": number;
3061
+ }
3062
+
3063
+ interface IntrinsicElements {
3064
+ "kritzel-active-users": Omit<KritzelActiveUsers, keyof KritzelActiveUsersAttributes> & { [K in keyof KritzelActiveUsers & keyof KritzelActiveUsersAttributes]?: KritzelActiveUsers[K] } & { [K in keyof KritzelActiveUsers & keyof KritzelActiveUsersAttributes as `attr:${K}`]?: KritzelActiveUsersAttributes[K] } & { [K in keyof KritzelActiveUsers & keyof KritzelActiveUsersAttributes as `prop:${K}`]?: KritzelActiveUsers[K] };
3065
+ "kritzel-avatar": Omit<KritzelAvatar, keyof KritzelAvatarAttributes> & { [K in keyof KritzelAvatar & keyof KritzelAvatarAttributes]?: KritzelAvatar[K] } & { [K in keyof KritzelAvatar & keyof KritzelAvatarAttributes as `attr:${K}`]?: KritzelAvatarAttributes[K] } & { [K in keyof KritzelAvatar & keyof KritzelAvatarAttributes as `prop:${K}`]?: KritzelAvatar[K] };
3066
+ "kritzel-back-to-content": Omit<KritzelBackToContent, keyof KritzelBackToContentAttributes> & { [K in keyof KritzelBackToContent & keyof KritzelBackToContentAttributes]?: KritzelBackToContent[K] } & { [K in keyof KritzelBackToContent & keyof KritzelBackToContentAttributes as `attr:${K}`]?: KritzelBackToContentAttributes[K] } & { [K in keyof KritzelBackToContent & keyof KritzelBackToContentAttributes as `prop:${K}`]?: KritzelBackToContent[K] };
3067
+ "kritzel-brush-style": Omit<KritzelBrushStyle, keyof KritzelBrushStyleAttributes> & { [K in keyof KritzelBrushStyle & keyof KritzelBrushStyleAttributes]?: KritzelBrushStyle[K] } & { [K in keyof KritzelBrushStyle & keyof KritzelBrushStyleAttributes as `attr:${K}`]?: KritzelBrushStyleAttributes[K] } & { [K in keyof KritzelBrushStyle & keyof KritzelBrushStyleAttributes as `prop:${K}`]?: KritzelBrushStyle[K] };
3068
+ "kritzel-button": Omit<KritzelButton, keyof KritzelButtonAttributes> & { [K in keyof KritzelButton & keyof KritzelButtonAttributes]?: KritzelButton[K] } & { [K in keyof KritzelButton & keyof KritzelButtonAttributes as `attr:${K}`]?: KritzelButtonAttributes[K] } & { [K in keyof KritzelButton & keyof KritzelButtonAttributes as `prop:${K}`]?: KritzelButton[K] };
3069
+ "kritzel-color": Omit<KritzelColor, keyof KritzelColorAttributes> & { [K in keyof KritzelColor & keyof KritzelColorAttributes]?: KritzelColor[K] } & { [K in keyof KritzelColor & keyof KritzelColorAttributes as `attr:${K}`]?: KritzelColorAttributes[K] } & { [K in keyof KritzelColor & keyof KritzelColorAttributes as `prop:${K}`]?: KritzelColor[K] };
3070
+ "kritzel-color-palette": Omit<KritzelColorPalette, keyof KritzelColorPaletteAttributes> & { [K in keyof KritzelColorPalette & keyof KritzelColorPaletteAttributes]?: KritzelColorPalette[K] } & { [K in keyof KritzelColorPalette & keyof KritzelColorPaletteAttributes as `attr:${K}`]?: KritzelColorPaletteAttributes[K] } & { [K in keyof KritzelColorPalette & keyof KritzelColorPaletteAttributes as `prop:${K}`]?: KritzelColorPalette[K] };
3071
+ "kritzel-context-menu": KritzelContextMenu;
3072
+ "kritzel-current-user": Omit<KritzelCurrentUser, keyof KritzelCurrentUserAttributes> & { [K in keyof KritzelCurrentUser & keyof KritzelCurrentUserAttributes]?: KritzelCurrentUser[K] } & { [K in keyof KritzelCurrentUser & keyof KritzelCurrentUserAttributes as `attr:${K}`]?: KritzelCurrentUserAttributes[K] } & { [K in keyof KritzelCurrentUser & keyof KritzelCurrentUserAttributes as `prop:${K}`]?: KritzelCurrentUser[K] };
3073
+ "kritzel-current-user-dialog": KritzelCurrentUserDialog;
3074
+ "kritzel-dialog": Omit<KritzelDialog, keyof KritzelDialogAttributes> & { [K in keyof KritzelDialog & keyof KritzelDialogAttributes]?: KritzelDialog[K] } & { [K in keyof KritzelDialog & keyof KritzelDialogAttributes as `attr:${K}`]?: KritzelDialogAttributes[K] } & { [K in keyof KritzelDialog & keyof KritzelDialogAttributes as `prop:${K}`]?: KritzelDialog[K] };
3075
+ "kritzel-dropdown": Omit<KritzelDropdown, keyof KritzelDropdownAttributes> & { [K in keyof KritzelDropdown & keyof KritzelDropdownAttributes]?: KritzelDropdown[K] } & { [K in keyof KritzelDropdown & keyof KritzelDropdownAttributes as `attr:${K}`]?: KritzelDropdownAttributes[K] } & { [K in keyof KritzelDropdown & keyof KritzelDropdownAttributes as `prop:${K}`]?: KritzelDropdown[K] };
3076
+ "kritzel-editor": Omit<KritzelEditor, keyof KritzelEditorAttributes> & { [K in keyof KritzelEditor & keyof KritzelEditorAttributes]?: KritzelEditor[K] } & { [K in keyof KritzelEditor & keyof KritzelEditorAttributes as `attr:${K}`]?: KritzelEditorAttributes[K] } & { [K in keyof KritzelEditor & keyof KritzelEditorAttributes as `prop:${K}`]?: KritzelEditor[K] };
3077
+ "kritzel-export": Omit<KritzelExport, keyof KritzelExportAttributes> & { [K in keyof KritzelExport & keyof KritzelExportAttributes]?: KritzelExport[K] } & { [K in keyof KritzelExport & keyof KritzelExportAttributes as `attr:${K}`]?: KritzelExportAttributes[K] } & { [K in keyof KritzelExport & keyof KritzelExportAttributes as `prop:${K}`]?: KritzelExport[K] };
3078
+ "kritzel-font": Omit<KritzelFont, keyof KritzelFontAttributes> & { [K in keyof KritzelFont & keyof KritzelFontAttributes]?: KritzelFont[K] } & { [K in keyof KritzelFont & keyof KritzelFontAttributes as `attr:${K}`]?: KritzelFontAttributes[K] } & { [K in keyof KritzelFont & keyof KritzelFontAttributes as `prop:${K}`]?: KritzelFont[K] };
3079
+ "kritzel-font-family": Omit<KritzelFontFamily, keyof KritzelFontFamilyAttributes> & { [K in keyof KritzelFontFamily & keyof KritzelFontFamilyAttributes]?: KritzelFontFamily[K] } & { [K in keyof KritzelFontFamily & keyof KritzelFontFamilyAttributes as `attr:${K}`]?: KritzelFontFamilyAttributes[K] } & { [K in keyof KritzelFontFamily & keyof KritzelFontFamilyAttributes as `prop:${K}`]?: KritzelFontFamily[K] };
3080
+ "kritzel-font-size": Omit<KritzelFontSize, keyof KritzelFontSizeAttributes> & { [K in keyof KritzelFontSize & keyof KritzelFontSizeAttributes]?: KritzelFontSize[K] } & { [K in keyof KritzelFontSize & keyof KritzelFontSizeAttributes as `attr:${K}`]?: KritzelFontSizeAttributes[K] } & { [K in keyof KritzelFontSize & keyof KritzelFontSizeAttributes as `prop:${K}`]?: KritzelFontSize[K] };
3081
+ "kritzel-input": Omit<KritzelInput, keyof KritzelInputAttributes> & { [K in keyof KritzelInput & keyof KritzelInputAttributes]?: KritzelInput[K] } & { [K in keyof KritzelInput & keyof KritzelInputAttributes as `attr:${K}`]?: KritzelInputAttributes[K] } & { [K in keyof KritzelInput & keyof KritzelInputAttributes as `prop:${K}`]?: KritzelInput[K] };
3082
+ "kritzel-line-endings": KritzelLineEndings;
3083
+ "kritzel-loading-overlay": Omit<KritzelLoadingOverlay, keyof KritzelLoadingOverlayAttributes> & { [K in keyof KritzelLoadingOverlay & keyof KritzelLoadingOverlayAttributes]?: KritzelLoadingOverlay[K] } & { [K in keyof KritzelLoadingOverlay & keyof KritzelLoadingOverlayAttributes as `attr:${K}`]?: KritzelLoadingOverlayAttributes[K] } & { [K in keyof KritzelLoadingOverlay & keyof KritzelLoadingOverlayAttributes as `prop:${K}`]?: KritzelLoadingOverlay[K] };
3084
+ "kritzel-login-dialog": Omit<KritzelLoginDialog, keyof KritzelLoginDialogAttributes> & { [K in keyof KritzelLoginDialog & keyof KritzelLoginDialogAttributes]?: KritzelLoginDialog[K] } & { [K in keyof KritzelLoginDialog & keyof KritzelLoginDialogAttributes as `attr:${K}`]?: KritzelLoginDialogAttributes[K] } & { [K in keyof KritzelLoginDialog & keyof KritzelLoginDialogAttributes as `prop:${K}`]?: KritzelLoginDialog[K] };
3085
+ "kritzel-master-detail": Omit<KritzelMasterDetail, keyof KritzelMasterDetailAttributes> & { [K in keyof KritzelMasterDetail & keyof KritzelMasterDetailAttributes]?: KritzelMasterDetail[K] } & { [K in keyof KritzelMasterDetail & keyof KritzelMasterDetailAttributes as `attr:${K}`]?: KritzelMasterDetailAttributes[K] } & { [K in keyof KritzelMasterDetail & keyof KritzelMasterDetailAttributes as `prop:${K}`]?: KritzelMasterDetail[K] };
3086
+ "kritzel-menu": KritzelMenu;
3087
+ "kritzel-menu-item": KritzelMenuItem;
3088
+ "kritzel-more-menu": Omit<KritzelMoreMenu, keyof KritzelMoreMenuAttributes> & { [K in keyof KritzelMoreMenu & keyof KritzelMoreMenuAttributes]?: KritzelMoreMenu[K] } & { [K in keyof KritzelMoreMenu & keyof KritzelMoreMenuAttributes as `attr:${K}`]?: KritzelMoreMenuAttributes[K] } & { [K in keyof KritzelMoreMenu & keyof KritzelMoreMenuAttributes as `prop:${K}`]?: KritzelMoreMenu[K] };
3089
+ "kritzel-notification-card": Omit<KritzelNotificationCard, keyof KritzelNotificationCardAttributes> & { [K in keyof KritzelNotificationCard & keyof KritzelNotificationCardAttributes]?: KritzelNotificationCard[K] } & { [K in keyof KritzelNotificationCard & keyof KritzelNotificationCardAttributes as `attr:${K}`]?: KritzelNotificationCardAttributes[K] } & { [K in keyof KritzelNotificationCard & keyof KritzelNotificationCardAttributes as `prop:${K}`]?: KritzelNotificationCard[K] };
3090
+ "kritzel-numeric-input": Omit<KritzelNumericInput, keyof KritzelNumericInputAttributes> & { [K in keyof KritzelNumericInput & keyof KritzelNumericInputAttributes]?: KritzelNumericInput[K] } & { [K in keyof KritzelNumericInput & keyof KritzelNumericInputAttributes as `attr:${K}`]?: KritzelNumericInputAttributes[K] } & { [K in keyof KritzelNumericInput & keyof KritzelNumericInputAttributes as `prop:${K}`]?: KritzelNumericInput[K] };
3091
+ "kritzel-opacity-slider": Omit<KritzelOpacitySlider, keyof KritzelOpacitySliderAttributes> & { [K in keyof KritzelOpacitySlider & keyof KritzelOpacitySliderAttributes]?: KritzelOpacitySlider[K] } & { [K in keyof KritzelOpacitySlider & keyof KritzelOpacitySliderAttributes as `attr:${K}`]?: KritzelOpacitySliderAttributes[K] } & { [K in keyof KritzelOpacitySlider & keyof KritzelOpacitySliderAttributes as `prop:${K}`]?: KritzelOpacitySlider[K] };
3092
+ "kritzel-pill-tabs": Omit<KritzelPillTabs, keyof KritzelPillTabsAttributes> & { [K in keyof KritzelPillTabs & keyof KritzelPillTabsAttributes]?: KritzelPillTabs[K] } & { [K in keyof KritzelPillTabs & keyof KritzelPillTabsAttributes as `attr:${K}`]?: KritzelPillTabsAttributes[K] } & { [K in keyof KritzelPillTabs & keyof KritzelPillTabsAttributes as `prop:${K}`]?: KritzelPillTabs[K] };
3093
+ "kritzel-portal": Omit<KritzelPortal, keyof KritzelPortalAttributes> & { [K in keyof KritzelPortal & keyof KritzelPortalAttributes]?: KritzelPortal[K] } & { [K in keyof KritzelPortal & keyof KritzelPortalAttributes as `attr:${K}`]?: KritzelPortalAttributes[K] } & { [K in keyof KritzelPortal & keyof KritzelPortalAttributes as `prop:${K}`]?: KritzelPortal[K] };
3094
+ "kritzel-settings": KritzelSettings;
3095
+ "kritzel-shape-fill": Omit<KritzelShapeFill, keyof KritzelShapeFillAttributes> & { [K in keyof KritzelShapeFill & keyof KritzelShapeFillAttributes]?: KritzelShapeFill[K] } & { [K in keyof KritzelShapeFill & keyof KritzelShapeFillAttributes as `attr:${K}`]?: KritzelShapeFillAttributes[K] } & { [K in keyof KritzelShapeFill & keyof KritzelShapeFillAttributes as `prop:${K}`]?: KritzelShapeFill[K] };
3096
+ "kritzel-share-dialog": Omit<KritzelShareDialog, keyof KritzelShareDialogAttributes> & { [K in keyof KritzelShareDialog & keyof KritzelShareDialogAttributes]?: KritzelShareDialog[K] } & { [K in keyof KritzelShareDialog & keyof KritzelShareDialogAttributes as `attr:${K}`]?: KritzelShareDialogAttributes[K] } & { [K in keyof KritzelShareDialog & keyof KritzelShareDialogAttributes as `prop:${K}`]?: KritzelShareDialog[K] };
3097
+ "kritzel-slide-toggle": Omit<KritzelSlideToggle, keyof KritzelSlideToggleAttributes> & { [K in keyof KritzelSlideToggle & keyof KritzelSlideToggleAttributes]?: KritzelSlideToggle[K] } & { [K in keyof KritzelSlideToggle & keyof KritzelSlideToggleAttributes as `attr:${K}`]?: KritzelSlideToggleAttributes[K] } & { [K in keyof KritzelSlideToggle & keyof KritzelSlideToggleAttributes as `prop:${K}`]?: KritzelSlideToggle[K] };
3098
+ "kritzel-split-button": Omit<KritzelSplitButton, keyof KritzelSplitButtonAttributes> & { [K in keyof KritzelSplitButton & keyof KritzelSplitButtonAttributes]?: KritzelSplitButton[K] } & { [K in keyof KritzelSplitButton & keyof KritzelSplitButtonAttributes as `attr:${K}`]?: KritzelSplitButtonAttributes[K] } & { [K in keyof KritzelSplitButton & keyof KritzelSplitButtonAttributes as `prop:${K}`]?: KritzelSplitButton[K] };
3099
+ "kritzel-stroke-size": Omit<KritzelStrokeSize, keyof KritzelStrokeSizeAttributes> & { [K in keyof KritzelStrokeSize & keyof KritzelStrokeSizeAttributes]?: KritzelStrokeSize[K] } & { [K in keyof KritzelStrokeSize & keyof KritzelStrokeSizeAttributes as `attr:${K}`]?: KritzelStrokeSizeAttributes[K] } & { [K in keyof KritzelStrokeSize & keyof KritzelStrokeSizeAttributes as `prop:${K}`]?: KritzelStrokeSize[K] };
3100
+ "kritzel-tool-config": Omit<KritzelToolConfig, keyof KritzelToolConfigAttributes> & { [K in keyof KritzelToolConfig & keyof KritzelToolConfigAttributes]?: KritzelToolConfig[K] } & { [K in keyof KritzelToolConfig & keyof KritzelToolConfigAttributes as `attr:${K}`]?: KritzelToolConfigAttributes[K] } & { [K in keyof KritzelToolConfig & keyof KritzelToolConfigAttributes as `prop:${K}`]?: KritzelToolConfig[K] };
3101
+ "kritzel-toolbar": Omit<KritzelToolbar, keyof KritzelToolbarAttributes> & { [K in keyof KritzelToolbar & keyof KritzelToolbarAttributes]?: KritzelToolbar[K] } & { [K in keyof KritzelToolbar & keyof KritzelToolbarAttributes as `attr:${K}`]?: KritzelToolbarAttributes[K] } & { [K in keyof KritzelToolbar & keyof KritzelToolbarAttributes as `prop:${K}`]?: KritzelToolbar[K] };
3102
+ "kritzel-tooltip": Omit<KritzelTooltip, keyof KritzelTooltipAttributes> & { [K in keyof KritzelTooltip & keyof KritzelTooltipAttributes]?: KritzelTooltip[K] } & { [K in keyof KritzelTooltip & keyof KritzelTooltipAttributes as `attr:${K}`]?: KritzelTooltipAttributes[K] } & { [K in keyof KritzelTooltip & keyof KritzelTooltipAttributes as `prop:${K}`]?: KritzelTooltip[K] };
3103
+ "kritzel-utility-panel": KritzelUtilityPanel;
3104
+ "kritzel-workspace-manager": Omit<KritzelWorkspaceManager, keyof KritzelWorkspaceManagerAttributes> & { [K in keyof KritzelWorkspaceManager & keyof KritzelWorkspaceManagerAttributes]?: KritzelWorkspaceManager[K] } & { [K in keyof KritzelWorkspaceManager & keyof KritzelWorkspaceManagerAttributes as `attr:${K}`]?: KritzelWorkspaceManagerAttributes[K] } & { [K in keyof KritzelWorkspaceManager & keyof KritzelWorkspaceManagerAttributes as `prop:${K}`]?: KritzelWorkspaceManager[K] };
3105
+ "kritzel-zoom-panel": Omit<KritzelZoomPanel, keyof KritzelZoomPanelAttributes> & { [K in keyof KritzelZoomPanel & keyof KritzelZoomPanelAttributes]?: KritzelZoomPanel[K] } & { [K in keyof KritzelZoomPanel & keyof KritzelZoomPanelAttributes as `attr:${K}`]?: KritzelZoomPanelAttributes[K] } & { [K in keyof KritzelZoomPanel & keyof KritzelZoomPanelAttributes as `prop:${K}`]?: KritzelZoomPanel[K] };
3106
+ }
3107
+ }
3108
+ export { LocalJSX as JSX };
3109
+ declare module "@stencil/core" {
3110
+ export namespace JSX {
3111
+ interface IntrinsicElements {
3112
+ "kritzel-active-users": LocalJSX.IntrinsicElements["kritzel-active-users"] & JSXBase.HTMLAttributes<HTMLKritzelActiveUsersElement>;
3113
+ "kritzel-avatar": LocalJSX.IntrinsicElements["kritzel-avatar"] & JSXBase.HTMLAttributes<HTMLKritzelAvatarElement>;
3114
+ "kritzel-back-to-content": LocalJSX.IntrinsicElements["kritzel-back-to-content"] & JSXBase.HTMLAttributes<HTMLKritzelBackToContentElement>;
3115
+ "kritzel-brush-style": LocalJSX.IntrinsicElements["kritzel-brush-style"] & JSXBase.HTMLAttributes<HTMLKritzelBrushStyleElement>;
3116
+ "kritzel-button": LocalJSX.IntrinsicElements["kritzel-button"] & JSXBase.HTMLAttributes<HTMLKritzelButtonElement>;
3117
+ "kritzel-color": LocalJSX.IntrinsicElements["kritzel-color"] & JSXBase.HTMLAttributes<HTMLKritzelColorElement>;
3118
+ "kritzel-color-palette": LocalJSX.IntrinsicElements["kritzel-color-palette"] & JSXBase.HTMLAttributes<HTMLKritzelColorPaletteElement>;
3119
+ "kritzel-context-menu": LocalJSX.IntrinsicElements["kritzel-context-menu"] & JSXBase.HTMLAttributes<HTMLKritzelContextMenuElement>;
3120
+ "kritzel-current-user": LocalJSX.IntrinsicElements["kritzel-current-user"] & JSXBase.HTMLAttributes<HTMLKritzelCurrentUserElement>;
3121
+ "kritzel-current-user-dialog": LocalJSX.IntrinsicElements["kritzel-current-user-dialog"] & JSXBase.HTMLAttributes<HTMLKritzelCurrentUserDialogElement>;
3122
+ "kritzel-dialog": LocalJSX.IntrinsicElements["kritzel-dialog"] & JSXBase.HTMLAttributes<HTMLKritzelDialogElement>;
3123
+ "kritzel-dropdown": LocalJSX.IntrinsicElements["kritzel-dropdown"] & JSXBase.HTMLAttributes<HTMLKritzelDropdownElement>;
3124
+ "kritzel-editor": LocalJSX.IntrinsicElements["kritzel-editor"] & JSXBase.HTMLAttributes<HTMLKritzelEditorElement>;
3125
+ "kritzel-export": LocalJSX.IntrinsicElements["kritzel-export"] & JSXBase.HTMLAttributes<HTMLKritzelExportElement>;
3126
+ "kritzel-font": LocalJSX.IntrinsicElements["kritzel-font"] & JSXBase.HTMLAttributes<HTMLKritzelFontElement>;
3127
+ "kritzel-font-family": LocalJSX.IntrinsicElements["kritzel-font-family"] & JSXBase.HTMLAttributes<HTMLKritzelFontFamilyElement>;
3128
+ "kritzel-font-size": LocalJSX.IntrinsicElements["kritzel-font-size"] & JSXBase.HTMLAttributes<HTMLKritzelFontSizeElement>;
3129
+ "kritzel-input": LocalJSX.IntrinsicElements["kritzel-input"] & JSXBase.HTMLAttributes<HTMLKritzelInputElement>;
3130
+ "kritzel-line-endings": LocalJSX.IntrinsicElements["kritzel-line-endings"] & JSXBase.HTMLAttributes<HTMLKritzelLineEndingsElement>;
3131
+ "kritzel-loading-overlay": LocalJSX.IntrinsicElements["kritzel-loading-overlay"] & JSXBase.HTMLAttributes<HTMLKritzelLoadingOverlayElement>;
3132
+ /**
3133
+ * Login dialog component for displaying authentication provider buttons.
3134
+ * This is a presentational component that emits events for all actions.
3135
+ * The parent component (kritzel-editor) handles the actual authentication flow.
3136
+ */
3137
+ "kritzel-login-dialog": LocalJSX.IntrinsicElements["kritzel-login-dialog"] & JSXBase.HTMLAttributes<HTMLKritzelLoginDialogElement>;
3138
+ "kritzel-master-detail": LocalJSX.IntrinsicElements["kritzel-master-detail"] & JSXBase.HTMLAttributes<HTMLKritzelMasterDetailElement>;
3139
+ "kritzel-menu": LocalJSX.IntrinsicElements["kritzel-menu"] & JSXBase.HTMLAttributes<HTMLKritzelMenuElement>;
3140
+ "kritzel-menu-item": LocalJSX.IntrinsicElements["kritzel-menu-item"] & JSXBase.HTMLAttributes<HTMLKritzelMenuItemElement>;
3141
+ "kritzel-more-menu": LocalJSX.IntrinsicElements["kritzel-more-menu"] & JSXBase.HTMLAttributes<HTMLKritzelMoreMenuElement>;
3142
+ "kritzel-notification-card": LocalJSX.IntrinsicElements["kritzel-notification-card"] & JSXBase.HTMLAttributes<HTMLKritzelNotificationCardElement>;
3143
+ "kritzel-numeric-input": LocalJSX.IntrinsicElements["kritzel-numeric-input"] & JSXBase.HTMLAttributes<HTMLKritzelNumericInputElement>;
3144
+ "kritzel-opacity-slider": LocalJSX.IntrinsicElements["kritzel-opacity-slider"] & JSXBase.HTMLAttributes<HTMLKritzelOpacitySliderElement>;
3145
+ "kritzel-pill-tabs": LocalJSX.IntrinsicElements["kritzel-pill-tabs"] & JSXBase.HTMLAttributes<HTMLKritzelPillTabsElement>;
3146
+ "kritzel-portal": LocalJSX.IntrinsicElements["kritzel-portal"] & JSXBase.HTMLAttributes<HTMLKritzelPortalElement>;
3147
+ "kritzel-settings": LocalJSX.IntrinsicElements["kritzel-settings"] & JSXBase.HTMLAttributes<HTMLKritzelSettingsElement>;
3148
+ "kritzel-shape-fill": LocalJSX.IntrinsicElements["kritzel-shape-fill"] & JSXBase.HTMLAttributes<HTMLKritzelShapeFillElement>;
3149
+ /**
3150
+ * Share dialog component for managing workspace link sharing.
3151
+ * This is a presentational component that emits events for all actions.
3152
+ * The parent component (kritzel-editor) handles the business logic.
3153
+ */
3154
+ "kritzel-share-dialog": LocalJSX.IntrinsicElements["kritzel-share-dialog"] & JSXBase.HTMLAttributes<HTMLKritzelShareDialogElement>;
3155
+ "kritzel-slide-toggle": LocalJSX.IntrinsicElements["kritzel-slide-toggle"] & JSXBase.HTMLAttributes<HTMLKritzelSlideToggleElement>;
3156
+ "kritzel-split-button": LocalJSX.IntrinsicElements["kritzel-split-button"] & JSXBase.HTMLAttributes<HTMLKritzelSplitButtonElement>;
3157
+ "kritzel-stroke-size": LocalJSX.IntrinsicElements["kritzel-stroke-size"] & JSXBase.HTMLAttributes<HTMLKritzelStrokeSizeElement>;
3158
+ "kritzel-tool-config": LocalJSX.IntrinsicElements["kritzel-tool-config"] & JSXBase.HTMLAttributes<HTMLKritzelToolConfigElement>;
3159
+ "kritzel-toolbar": LocalJSX.IntrinsicElements["kritzel-toolbar"] & JSXBase.HTMLAttributes<HTMLKritzelToolbarElement>;
3160
+ "kritzel-tooltip": LocalJSX.IntrinsicElements["kritzel-tooltip"] & JSXBase.HTMLAttributes<HTMLKritzelTooltipElement>;
3161
+ "kritzel-utility-panel": LocalJSX.IntrinsicElements["kritzel-utility-panel"] & JSXBase.HTMLAttributes<HTMLKritzelUtilityPanelElement>;
3162
+ "kritzel-workspace-manager": LocalJSX.IntrinsicElements["kritzel-workspace-manager"] & JSXBase.HTMLAttributes<HTMLKritzelWorkspaceManagerElement>;
3163
+ "kritzel-zoom-panel": LocalJSX.IntrinsicElements["kritzel-zoom-panel"] & JSXBase.HTMLAttributes<HTMLKritzelZoomPanelElement>;
3164
+ }
3165
+ }
3166
+ }