kritzel-stencil 0.4.30 → 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 (193) hide show
  1. package/LICENSE +21 -21
  2. package/LICENSE.md +49 -49
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/kritzel-active-users_46.cjs.entry.js +112 -112
  5. package/dist/cjs/kritzel-brush-style.cjs.entry.js +1 -1
  6. package/dist/cjs/{schema.constants-CcvqL5nJ.js → schema.constants-0ySX0cg3.js} +6 -6
  7. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.css +115 -115
  8. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.js +1 -1
  9. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -10
  10. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  11. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +160 -160
  12. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +18 -18
  13. package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +80 -80
  14. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +21 -21
  15. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.css +29 -29
  16. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.js +2 -2
  17. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.css +58 -58
  18. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
  19. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.css +42 -42
  20. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +3 -3
  21. package/dist/collection/components/shared/kritzel-button/kritzel-button.css +73 -73
  22. package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
  23. package/dist/collection/components/shared/kritzel-color/kritzel-color.css +24 -24
  24. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  25. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +46 -46
  26. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  27. package/dist/collection/components/shared/kritzel-dialog/kritzel-dialog.css +209 -209
  28. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +190 -190
  29. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +2 -2
  30. package/dist/collection/components/shared/kritzel-font/kritzel-font.css +10 -10
  31. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  32. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.css +48 -48
  33. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +2 -2
  34. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +30 -30
  35. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  36. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +18 -18
  37. package/dist/collection/components/shared/kritzel-input/kritzel-input.css +69 -69
  38. package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
  39. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.css +60 -60
  40. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.js +3 -3
  41. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.css +190 -190
  42. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
  43. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +34 -34
  44. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
  45. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +166 -166
  46. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
  47. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.css +102 -102
  48. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
  49. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.css +85 -85
  50. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
  51. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.css +68 -68
  52. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.js +2 -2
  53. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
  54. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.css +47 -47
  55. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +4 -4
  56. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.css +48 -48
  57. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
  58. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +78 -78
  59. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
  60. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +37 -37
  61. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  62. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.css +18 -18
  63. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
  64. package/dist/collection/components/ui/kritzel-active-users/kritzel-active-users.css +65 -65
  65. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.css +42 -42
  66. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
  67. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +112 -112
  68. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +331 -331
  69. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +6 -6
  70. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.css +11 -11
  71. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +1 -1
  72. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.css +39 -39
  73. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +1 -1
  74. package/dist/collection/components/ui/kritzel-export/kritzel-export.css +89 -89
  75. package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
  76. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.css +54 -54
  77. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
  78. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.css +98 -98
  79. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
  80. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.css +58 -58
  81. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +2 -2
  82. package/dist/collection/components/ui/kritzel-notification-card/kritzel-notification-card.css +101 -101
  83. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.css +137 -137
  84. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
  85. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.css +150 -150
  86. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
  87. package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.css +38 -38
  88. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +45 -45
  89. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  90. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.css +16 -16
  91. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.css +72 -72
  92. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +1 -1
  93. package/dist/collection/constants/version.js +1 -1
  94. package/dist/collection/helpers/cursor.helper.js +6 -6
  95. package/dist/collection/helpers/svg-export.helper.js +41 -41
  96. package/dist/components/index.js +2 -2
  97. package/dist/components/kritzel-active-users.js +1 -1
  98. package/dist/components/kritzel-avatar.js +1 -1
  99. package/dist/components/kritzel-awareness-cursors.js +1 -1
  100. package/dist/components/kritzel-back-to-content.js +1 -1
  101. package/dist/components/kritzel-brush-style.js +2 -2
  102. package/dist/components/kritzel-button.js +1 -1
  103. package/dist/components/kritzel-color-palette.js +1 -1
  104. package/dist/components/kritzel-color.js +1 -1
  105. package/dist/components/kritzel-controls.js +1 -1
  106. package/dist/components/kritzel-current-user-dialog.js +1 -1
  107. package/dist/components/kritzel-current-user.js +1 -1
  108. package/dist/components/kritzel-cursor-trail.js +1 -1
  109. package/dist/components/kritzel-dialog.js +1 -1
  110. package/dist/components/kritzel-dropdown.js +1 -1
  111. package/dist/components/kritzel-editor.js +51 -51
  112. package/dist/components/kritzel-engine.js +1 -1
  113. package/dist/components/kritzel-export.js +1 -1
  114. package/dist/components/kritzel-font-family.js +1 -1
  115. package/dist/components/kritzel-font-size.js +1 -1
  116. package/dist/components/kritzel-font.js +1 -1
  117. package/dist/components/kritzel-input.js +1 -1
  118. package/dist/components/kritzel-line-endings.js +1 -1
  119. package/dist/components/kritzel-loading-overlay.js +1 -1
  120. package/dist/components/kritzel-login-dialog.js +1 -1
  121. package/dist/components/kritzel-master-detail.js +1 -1
  122. package/dist/components/kritzel-menu-item.js +1 -1
  123. package/dist/components/kritzel-menu.js +1 -1
  124. package/dist/components/kritzel-more-menu.js +1 -1
  125. package/dist/components/kritzel-numeric-input.js +1 -1
  126. package/dist/components/kritzel-opacity-slider.js +1 -1
  127. package/dist/components/kritzel-pill-tabs.js +1 -1
  128. package/dist/components/kritzel-portal.js +1 -1
  129. package/dist/components/kritzel-settings.js +1 -1
  130. package/dist/components/kritzel-shape-fill.js +1 -1
  131. package/dist/components/kritzel-share-dialog.js +1 -1
  132. package/dist/components/kritzel-slide-toggle.js +1 -1
  133. package/dist/components/kritzel-split-button.js +1 -1
  134. package/dist/components/kritzel-stroke-size.js +1 -1
  135. package/dist/components/kritzel-tool-config.js +1 -1
  136. package/dist/components/kritzel-tooltip.js +1 -1
  137. package/dist/components/kritzel-utility-panel.js +1 -1
  138. package/dist/components/kritzel-watermark.js +1 -1
  139. package/dist/components/kritzel-workspace-manager.js +1 -1
  140. package/dist/components/kritzel-zoom-panel.js +1 -1
  141. package/dist/components/{p-DTB3ykgO.js → p-B65Z2K81.js} +1 -1
  142. package/dist/components/{p-4uoSa0Xl.js → p-B6cwfdo3.js} +2 -2
  143. package/dist/components/{p-ChPs27Fd.js → p-BBA9F6Bi.js} +4 -4
  144. package/dist/components/{p-Dvn6ad4a.js → p-BCrNNQKI.js} +1 -1
  145. package/dist/components/{p-CoXN583u.js → p-BGJ-1pXX.js} +3 -3
  146. package/dist/components/{p-CBrn5AIB.js → p-BTRiw0VC.js} +1 -1
  147. package/dist/components/{p-DoxFuOy1.js → p-Bu6TjCs0.js} +2 -2
  148. package/dist/components/{p-Ce1j1-Hg.js → p-BvpI1eL4.js} +3 -3
  149. package/dist/components/{p-CAXR5-S9.js → p-BwC3bHai.js} +4 -4
  150. package/dist/components/{p-DX2nriaq.js → p-C2NV0SgA.js} +1 -1
  151. package/dist/components/{p-BPzdPKWE.js → p-CAGey5Xt.js} +3 -3
  152. package/dist/components/{p-C0FEC_gS.js → p-C_4J10HD.js} +2 -2
  153. package/dist/components/{p-NOWtUeeQ.js → p-C_fBqaep.js} +1 -1
  154. package/dist/components/{p-Ba0c-tu2.js → p-CzibK3BJ.js} +2 -2
  155. package/dist/components/{p-Cm33td2O.js → p-D0SKmg_J.js} +1 -1
  156. package/dist/components/{p-OUl5CA4Y.js → p-D497dAd-.js} +1 -1
  157. package/dist/components/{p-BmBebQMI.js → p-DC7noKZD.js} +7 -7
  158. package/dist/components/{p-CXpv9Rxe.js → p-DGcug5rp.js} +2 -2
  159. package/dist/components/{p-DkHYY72B.js → p-DIE74Wkf.js} +2 -2
  160. package/dist/components/{p-DOTdJ3JQ.js → p-DKkQMbfN.js} +3 -3
  161. package/dist/components/{p-DnmVD1Mz.js → p-DKuxmP3T.js} +2 -2
  162. package/dist/components/{p-bAacqNHq.js → p-DQX5iqJB.js} +2 -2
  163. package/dist/components/{p-DUmLsjKb.js → p-DTzNzE9j.js} +1 -1
  164. package/dist/components/{p-Df3BwVGy.js → p-D_XWdMC3.js} +2 -2
  165. package/dist/components/{p-B38_9BJg.js → p-Da56LiC2.js} +1 -1
  166. package/dist/components/{p-CeffYwAK.js → p-DaE8xcJ8.js} +19 -19
  167. package/dist/components/{p-CYwoBiqy.js → p-DcG-UAoL.js} +50 -50
  168. package/dist/components/{p-BeSKOETx.js → p-Dm6TZsys.js} +2 -2
  169. package/dist/components/{p-DhabvHJM.js → p-DuyNKEne.js} +3 -3
  170. package/dist/components/{p-DFMZEarE.js → p-DyWg1f0y.js} +1 -1
  171. package/dist/components/{p-DN9p3G9K.js → p-FDwfHj3U.js} +3 -3
  172. package/dist/components/{p-DK0anxtL.js → p-P70dtHet.js} +1 -1
  173. package/dist/components/{p-CucCT7Qn.js → p-R6NeY_RA.js} +2 -2
  174. package/dist/components/{p-BFYtCsZu.js → p-XOXeNvvd.js} +2 -2
  175. package/dist/components/{p-jIKskj3S.js → p-ZwkkxMNZ.js} +1 -1
  176. package/dist/components/{p-BprEDRpA.js → p-auUCvUOc.js} +2 -2
  177. package/dist/components/{p-D0Ed8epW.js → p-b5XSApfh.js} +4 -4
  178. package/dist/components/{p-djJSnjAX.js → p-fp1y_eAN.js} +2 -2
  179. package/dist/components/{p-Dpm75DfV.js → p-mCRS0Vii.js} +5 -5
  180. package/dist/components/{p-DOl-95VY.js → p-ml3LLPFB.js} +10 -10
  181. package/dist/components/{p-D_cyY7Nd.js → p-xFCFDper.js} +1 -1
  182. package/dist/esm/index.js +2 -2
  183. package/dist/esm/kritzel-active-users_46.entry.js +112 -112
  184. package/dist/esm/kritzel-brush-style.entry.js +1 -1
  185. package/dist/esm/{schema.constants-De_S50eB.js → schema.constants-D3OqvrMh.js} +6 -6
  186. package/dist/stencil/index.esm.js +2 -2
  187. package/dist/stencil/{p-1a398b42.entry.js → p-307b09bd.entry.js} +112 -112
  188. package/dist/stencil/{p-fb32cd8f.entry.js → p-905f7ab4.entry.js} +1 -1
  189. package/dist/stencil/{p-De_S50eB.js → p-D3OqvrMh.js} +6 -6
  190. package/dist/stencil/stencil.esm.js +1 -1
  191. package/dist/types/constants/version.d.ts +1 -1
  192. package/package.json +2 -1
  193. package/readme.md +10 -10
@@ -1127,40 +1127,40 @@ export class KritzelEditor {
1127
1127
  const isLoggedIn = this.isLoggedIn;
1128
1128
  const shouldShowCurrentUser = isLoggedIn;
1129
1129
  const shouldShowLoginButton = this.isReady && !!this.loginConfig && !isLoggedIn;
1130
- return (h(Host, { key: '247f9ad977943d29333094737c8904253ccab5c7' }, h("div", { key: 'e14e57a04ca7138690a4893f2ac14140e0532fd2', class: "editor-content", style: {
1130
+ return (h(Host, { key: 'de17d63781eceb382671cd545b94c20b50ff7dae' }, h("div", { key: '03387343adfffaca523691b14a4eefe9f7cea50d', class: "editor-content", style: {
1131
1131
  opacity: this.isEditorVisible ? '1' : '0',
1132
1132
  visibility: this.isEditorVisible ? 'visible' : 'hidden',
1133
1133
  transition: 'opacity 0.2s ease-in-out, visibility 0.2s ease-in-out',
1134
- } }, h("div", { key: 'd9304408c6336c4b742b0e44d4a6d4dda5b2fad6', class: "top-left-buttons" }, h("kritzel-workspace-manager", { key: 'f44ca859cd70828c77a92607cbe5b9c26fd4a203', visible: this.isWorkspaceManagerVisible, workspaces: this.workspaces, activeWorkspace: this.activeWorkspace, terms: this.resolvedTerms, onWorkspaceChange: event => (this.activeWorkspace = event.detail), onIsWorkspaceManagerReady: () => (this.isWorkspaceManagerReady = true) }), h("kritzel-back-to-content", { key: '1c65e5fbcc34dd43b7986f6177b8eab2bd709ad8', visible: this.isBackToContentButtonVisible, text: this.resolvedTerms['backToContent.label'] ?? 'Back to content', onBackToContent: () => this.backToContent() })), this.activeNotification && (h("div", { key: '2f7715f5c7c128ec63f2fe60c508543db7dd571c', class: "top-center-notification-layer", role: "presentation" }, h("div", { key: '357014e172134af3a3d35af9978d14d23fadf7e3', class: { 'top-center-notification-container': true, 'is-dismissing': this.isNotificationDismissing }, role: "presentation" }, h("kritzel-notification-card", { key: '3962a562a8fc10b2bbdc1c8dd741a057e9e6df29', notification: this.activeNotification, locale: this.locale, onDismiss: this.dismissNotification, onHoverChange: event => this.handleNotificationHoverChange(event) })))), this.contextMenuState && this.contextMenuState.items.length > 0 && (h("kritzel-context-menu", { key: '669e6dae09d52e87dc22aa536f6f564f725f6c34', class: "context-menu", items: this.contextMenuState.items, objects: this.contextMenuState.objects, style: {
1134
+ } }, h("div", { key: '433adc2d09490470d954eedde3dc180f721b815d', class: "top-left-buttons" }, h("kritzel-workspace-manager", { key: '7706cea4aba3cd56d31ca13f8a6c4f65418229d3', visible: this.isWorkspaceManagerVisible, workspaces: this.workspaces, activeWorkspace: this.activeWorkspace, terms: this.resolvedTerms, onWorkspaceChange: event => (this.activeWorkspace = event.detail), onIsWorkspaceManagerReady: () => (this.isWorkspaceManagerReady = true) }), h("kritzel-back-to-content", { key: '589e324ddd53bda04883de56768c08d4e2b51ac8', visible: this.isBackToContentButtonVisible, text: this.resolvedTerms['backToContent.label'] ?? 'Back to content', onBackToContent: () => this.backToContent() })), this.activeNotification && (h("div", { key: '766bb40ecfe9ee4ed0ea58af2b9b5f3cacc43c03', class: "top-center-notification-layer", role: "presentation" }, h("div", { key: '3fc7f19c53c8ef6b3cf9e4f1939c3bc9fba83f19', class: { 'top-center-notification-container': true, 'is-dismissing': this.isNotificationDismissing }, role: "presentation" }, h("kritzel-notification-card", { key: 'a50e340d3a0f897778e9ced24cf1e5410800629c', notification: this.activeNotification, locale: this.locale, onDismiss: this.dismissNotification, onHoverChange: event => this.handleNotificationHoverChange(event) })))), this.contextMenuState && this.contextMenuState.items.length > 0 && (h("kritzel-context-menu", { key: 'e26779ff79b5609fc4a2003486f988818a9ee28f', class: "context-menu", items: this.contextMenuState.items, objects: this.contextMenuState.objects, style: {
1135
1135
  position: 'absolute',
1136
1136
  left: `${this.contextMenuState.position.x}px`,
1137
1137
  top: `${this.contextMenuState.position.y}px`,
1138
1138
  zIndex: '10002',
1139
- }, onActionSelected: event => this.handleContextMenuActionSelected(event), onClose: () => this.hideContextMenu() })), h("kritzel-loading-overlay", { key: '40a32849c45b9b8240b3be427579cb6a6c63fa97', visible: this.isLoadingOverlayVisible, text: this.resolvedTerms['editor.loading'] ?? 'Loading...' }), h("kritzel-engine", { key: '424ec83a0e8e9c8174cd12439fff2b49898b8016', ref: el => {
1139
+ }, onActionSelected: event => this.handleContextMenuActionSelected(event), onClose: () => this.hideContextMenu() })), h("kritzel-loading-overlay", { key: '6202bc489367e704c07eb3c4645193b62093da4a', visible: this.isLoadingOverlayVisible, text: this.resolvedTerms['editor.loading'] ?? 'Loading...' }), h("kritzel-engine", { key: 'fbeadf5c1f4525f0562b53d8cf7ec1ba562b1ccb', ref: el => {
1140
1140
  if (el) {
1141
1141
  this.engineRef = el;
1142
1142
  }
1143
- }, workspace: this.activeWorkspace, activeWorkspaceId: this.activeWorkspaceId, editorId: this.editorId, syncConfig: this.syncConfig, assetStorageConfig: this.assetStorageConfig, user: this.user, scaleMax: this.scaleMax, lockDrawingScale: this.lockDrawingScale, scaleMin: this.scaleMin, cursorTarget: this.cursorTarget, viewportBoundaryLeft: this.viewportBoundaryLeft, viewportBoundaryRight: this.viewportBoundaryRight, viewportBoundaryTop: this.viewportBoundaryTop, viewportBoundaryBottom: this.viewportBoundaryBottom, isPanningEnabled: this.isPanningEnabled, isZoomingEnabled: this.isZoomingEnabled, theme: this.theme, themes: this.themes, licenseKey: this.licenseKey, locale: this.locale, locales: this.locales, fallbackLocale: this.fallbackLocale, debugInfo: this.debugInfo, globalContextMenuItems: this.globalContextMenuItems, objectContextMenuItems: this.objectContextMenuItems, onIsEngineReady: event => this.onEngineReady(event), onWorkspacesChange: event => this.handleWorkspacesChange(event), onActiveWorkspaceChange: event => this.handleActiveWorkspaceChange(event), onObjectsChange: event => this.handleObjectsChange(event), onObjectsAdded: event => this.handleObjectsAdded(event), onObjectsRemoved: event => this.handleObjectsRemoved(event), onObjectsUpdated: event => this.handleObjectsUpdated(event), onUndoStateChange: event => this.handleUndoStateChange(event), onObjectsInViewportChange: event => this.handleObjectsInViewportChange(event), onViewportChange: event => this.handleViewportChange(event), onAwarenessChange: event => this.handleAwarenessChange(event), onNotificationsChange: event => this.handleNotificationsChange(event), onContextMenuStateChange: event => this.handleContextMenuStateChange(event), onIsLoadingChange: event => this.handleIsLoadingChange(event) }), h("kritzel-controls", { key: 'e224d9cde14effc67b07f1f18597f45e3dc6d808', visible: this.isControlsVisible, class: { 'keyboard-open': this.isVirtualKeyboardOpen }, ref: el => {
1143
+ }, workspace: this.activeWorkspace, activeWorkspaceId: this.activeWorkspaceId, editorId: this.editorId, syncConfig: this.syncConfig, assetStorageConfig: this.assetStorageConfig, user: this.user, scaleMax: this.scaleMax, lockDrawingScale: this.lockDrawingScale, scaleMin: this.scaleMin, cursorTarget: this.cursorTarget, viewportBoundaryLeft: this.viewportBoundaryLeft, viewportBoundaryRight: this.viewportBoundaryRight, viewportBoundaryTop: this.viewportBoundaryTop, viewportBoundaryBottom: this.viewportBoundaryBottom, isPanningEnabled: this.isPanningEnabled, isZoomingEnabled: this.isZoomingEnabled, theme: this.theme, themes: this.themes, licenseKey: this.licenseKey, locale: this.locale, locales: this.locales, fallbackLocale: this.fallbackLocale, debugInfo: this.debugInfo, globalContextMenuItems: this.globalContextMenuItems, objectContextMenuItems: this.objectContextMenuItems, onIsEngineReady: event => this.onEngineReady(event), onWorkspacesChange: event => this.handleWorkspacesChange(event), onActiveWorkspaceChange: event => this.handleActiveWorkspaceChange(event), onObjectsChange: event => this.handleObjectsChange(event), onObjectsAdded: event => this.handleObjectsAdded(event), onObjectsRemoved: event => this.handleObjectsRemoved(event), onObjectsUpdated: event => this.handleObjectsUpdated(event), onUndoStateChange: event => this.handleUndoStateChange(event), onObjectsInViewportChange: event => this.handleObjectsInViewportChange(event), onViewportChange: event => this.handleViewportChange(event), onAwarenessChange: event => this.handleAwarenessChange(event), onNotificationsChange: event => this.handleNotificationsChange(event), onContextMenuStateChange: event => this.handleContextMenuStateChange(event), onIsLoadingChange: event => this.handleIsLoadingChange(event) }), h("kritzel-controls", { key: 'af180f15c0dfc6941f2f4e90d576869ec14ea088', visible: this.isControlsVisible, class: { 'keyboard-open': this.isVirtualKeyboardOpen }, ref: el => {
1144
1144
  if (el) {
1145
1145
  this.controlsRef = el;
1146
1146
  }
1147
- }, controls: this.normalizedControls, isUtilityPanelVisible: this.isUtilityPanelVisible, undoState: this.undoState ?? undefined, theme: this.theme, terms: this.resolvedTerms, onIsControlsReady: () => (this.isControlsReady = true) }), h("div", { key: '767b369fd2b55329d953d8c55ea897c35b921584', class: "bottom-left-buttons" }, h("kritzel-zoom-panel", { key: 'abaa0a55d433fa1740071f32f8dfc1854c6ed157', visible: this.isZoomPanelVisible, disabled: !this.isZoomingEnabled, zoomPercent: this.currentZoomPercent, terms: this.resolvedTerms, onZoomIn: () => this.zoomIn(), onZoomOut: () => this.zoomOut() })), h("div", { key: 'eb9e71d97b2b4663f02a17022494d353fa4f877e', class: "top-right-buttons" }, h("kritzel-settings", { key: '10ef2f68f90a6ceb3ce0a3110245c58da7ee2492', ref: el => {
1147
+ }, controls: this.normalizedControls, isUtilityPanelVisible: this.isUtilityPanelVisible, undoState: this.undoState ?? undefined, theme: this.theme, terms: this.resolvedTerms, onIsControlsReady: () => (this.isControlsReady = true) }), h("div", { key: 'b6d25bd6bed1cc4e946e8363bdbaa861604e7503', class: "bottom-left-buttons" }, h("kritzel-zoom-panel", { key: '97764dd63bfbfabe94d006f67541dabfe19afce2', visible: this.isZoomPanelVisible, disabled: !this.isZoomingEnabled, zoomPercent: this.currentZoomPercent, terms: this.resolvedTerms, onZoomIn: () => this.zoomIn(), onZoomOut: () => this.zoomOut() })), h("div", { key: '474f102cbf104a9efc7126703d27fd8918811330', class: "top-right-buttons" }, h("kritzel-settings", { key: 'd472673293acbbca4b45ede7052e45c3bdec1d33', ref: el => {
1148
1148
  if (el) {
1149
1149
  this.settingsRef = el;
1150
1150
  }
1151
- }, shortcuts: this.shortcuts, availableThemes: this.themes && this.themes.length > 0 ? this.themes.map(t => t.name) : ['light', 'dark'], availableLocales: this.availableLocaleOptions, settings: this.currentSettingsConfig, terms: this.resolvedTerms, onSettingsChange: event => this.handleSettingsChange(event) }), h("kritzel-export", { key: 'd72b5006a608570c26a2981d03f4d15e9b0c8b30', ref: el => {
1151
+ }, shortcuts: this.shortcuts, availableThemes: this.themes && this.themes.length > 0 ? this.themes.map(t => t.name) : ['light', 'dark'], availableLocales: this.availableLocaleOptions, settings: this.currentSettingsConfig, terms: this.resolvedTerms, onSettingsChange: event => this.handleSettingsChange(event) }), h("kritzel-export", { key: '5be72e78e161c67962785eb9e290d48a233036ba', ref: el => {
1152
1152
  if (el) {
1153
1153
  this.exportRef = el;
1154
1154
  }
1155
- }, workspaceName: this.activeWorkspace?.name || 'workspace', terms: this.resolvedTerms, onExportPng: () => this.engineRef.exportViewportAsPng(), onExportSvg: () => this.engineRef.exportViewportAsSvg(), onExportJson: event => this.engineRef.downloadAsJson(event.detail) }), h("kritzel-active-users", { key: 'cceafd7ae3f289edb351af4e614afca2385e196a', users: this.activeUsers }), shouldShowCurrentUser && h("kritzel-current-user", { key: '042fc9ce8487ea463f0ee77a5749786ed2931f07', user: this.user, terms: this.resolvedTerms, onClick: () => this.currentUserDialogRef?.open() }), shouldShowCurrentUser && (h("kritzel-current-user-dialog", { key: '7cce7677fbae0a1b897b2135f50e017df5409d32', ref: el => {
1155
+ }, workspaceName: this.activeWorkspace?.name || 'workspace', terms: this.resolvedTerms, onExportPng: () => this.engineRef.exportViewportAsPng(), onExportSvg: () => this.engineRef.exportViewportAsSvg(), onExportJson: event => this.engineRef.downloadAsJson(event.detail) }), h("kritzel-active-users", { key: 'f5a31665d21f1f287094ddd84b108a7803e99aaf', users: this.activeUsers }), shouldShowCurrentUser && h("kritzel-current-user", { key: 'af995a8f06dab87bb66b5d4d677ecc93b5d8b238', user: this.user, terms: this.resolvedTerms, onClick: () => this.currentUserDialogRef?.open() }), shouldShowCurrentUser && (h("kritzel-current-user-dialog", { key: 'e673867887f4eb38efe521da24cf2c3dbd8e5f3f', ref: el => {
1156
1156
  if (el) {
1157
1157
  this.currentUserDialogRef = el;
1158
1158
  }
1159
- }, user: this.user, terms: this.resolvedTerms, onLogoutRequest: this.handleCurrentUserLogout })), shouldShowLoginButton && h("kritzel-button", { key: '97cf48d83804dfa5220ce38500af3f96687354d2', onButtonClick: () => this.loginDialogRef?.open() }, this.resolvedTerms['login.dialogTitle'] ?? 'Sign in'), h("kritzel-more-menu", { key: '40a757fe355666e9306f2224d9ed9bf2c9b58f7a', items: this.resolvedMoreMenuItems, visible: this.isMoreMenuVisible, terms: this.resolvedTerms }), h("kritzel-share-dialog", { key: 'abb85b65a9d6196be701d35cbdf8bc3003d36bfe', ref: el => {
1159
+ }, user: this.user, terms: this.resolvedTerms, onLogoutRequest: this.handleCurrentUserLogout })), shouldShowLoginButton && h("kritzel-button", { key: 'f9cc165b4de54a8be293b5fadc86edfdc8839b3a', onButtonClick: () => this.loginDialogRef?.open() }, this.resolvedTerms['login.dialogTitle'] ?? 'Sign in'), h("kritzel-more-menu", { key: '2eed14c8d895b6a89ac2f9e8e4fe55f1e39a4956', items: this.resolvedMoreMenuItems, visible: this.isMoreMenuVisible, terms: this.resolvedTerms }), h("kritzel-share-dialog", { key: '5f38124c291a8645a1b999d8d3a067fe7bf8d4e3', ref: el => {
1160
1160
  if (el) {
1161
1161
  this.shareDialogRef = el;
1162
1162
  }
1163
- }, isPublic: this.currentIsPublic, workspaceId: this.activeWorkspace?.id, terms: this.resolvedTerms, onToggleIsPublic: this.handleToggleIsPublic }), this.loginConfig && (h("kritzel-login-dialog", { key: '6e8c86420a447b182bcbc23415d64a7fcb32a4a8', ref: el => {
1163
+ }, isPublic: this.currentIsPublic, workspaceId: this.activeWorkspace?.id, terms: this.resolvedTerms, onToggleIsPublic: this.handleToggleIsPublic }), this.loginConfig && (h("kritzel-login-dialog", { key: 'f7685dff9d664e00a16dfd4811cfe0a44cdd5015', ref: el => {
1164
1164
  if (el) {
1165
1165
  this.loginDialogRef = el;
1166
1166
  }
@@ -1342,7 +1342,7 @@ export class KritzelEditor {
1342
1342
  },
1343
1343
  "getter": false,
1344
1344
  "setter": false,
1345
- "defaultValue": "{\n showViewportInfo: false,\n showObjectInfo: false,\n showSyncProviderInfo: true,\n showMigrationInfo: true,\n showAssetResolverInfo: false,\n }"
1345
+ "defaultValue": "{\r\n showViewportInfo: false,\r\n showObjectInfo: false,\r\n showSyncProviderInfo: true,\r\n showMigrationInfo: true,\r\n showAssetResolverInfo: false,\r\n }"
1346
1346
  },
1347
1347
  "user": {
1348
1348
  "type": "unknown",
@@ -1415,7 +1415,7 @@ export class KritzelEditor {
1415
1415
  },
1416
1416
  "getter": false,
1417
1417
  "setter": false,
1418
- "defaultValue": "[\n {\n name: 'selection',\n type: 'tool',\n isDefault: true,\n tool: KritzelSelectionTool,\n icon: 'cursor',\n },\n {\n name: 'brush',\n type: 'tool',\n tool: KritzelBrushTool,\n icon: 'pen',\n config: DEFAULT_BRUSH_CONFIG,\n },\n {\n name: 'eraser',\n type: 'tool',\n tool: KritzelEraserTool,\n icon: 'eraser',\n },\n {\n name: 'line',\n type: 'tool',\n tool: KritzelLineTool,\n icon: 'arrow',\n config: DEFAULT_LINE_TOOL_CONFIG,\n },\n {\n name: 'shape',\n type: 'tool',\n tool: KritzelShapeTool,\n icon: 'shape-rectangle',\n config: DEFAULT_SHAPE_CONFIG,\n subOptions: [\n { id: 'rectangle', icon: 'shape-rectangle', label: 'Rectangle', value: ShapeType.Rectangle, toolProperty: 'shapeType' },\n { id: 'ellipse', icon: 'shape-ellipse', label: 'Ellipse', value: ShapeType.Ellipse, toolProperty: 'shapeType' },\n { id: 'triangle', icon: 'shape-triangle', label: 'Triangle', value: ShapeType.Triangle, toolProperty: 'shapeType' },\n ],\n },\n {\n name: 'text',\n type: 'tool',\n tool: KritzelTextTool,\n icon: 'type',\n config: DEFAULT_TEXT_CONFIG,\n },\n {\n name: 'image',\n type: 'tool',\n tool: KritzelImageTool,\n icon: 'image',\n },\n {\n name: 'config',\n type: 'config',\n },\n ]"
1418
+ "defaultValue": "[\r\n {\r\n name: 'selection',\r\n type: 'tool',\r\n isDefault: true,\r\n tool: KritzelSelectionTool,\r\n icon: 'cursor',\r\n },\r\n {\r\n name: 'brush',\r\n type: 'tool',\r\n tool: KritzelBrushTool,\r\n icon: 'pen',\r\n config: DEFAULT_BRUSH_CONFIG,\r\n },\r\n {\r\n name: 'eraser',\r\n type: 'tool',\r\n tool: KritzelEraserTool,\r\n icon: 'eraser',\r\n },\r\n {\r\n name: 'line',\r\n type: 'tool',\r\n tool: KritzelLineTool,\r\n icon: 'arrow',\r\n config: DEFAULT_LINE_TOOL_CONFIG,\r\n },\r\n {\r\n name: 'shape',\r\n type: 'tool',\r\n tool: KritzelShapeTool,\r\n icon: 'shape-rectangle',\r\n config: DEFAULT_SHAPE_CONFIG,\r\n subOptions: [\r\n { id: 'rectangle', icon: 'shape-rectangle', label: 'Rectangle', value: ShapeType.Rectangle, toolProperty: 'shapeType' },\r\n { id: 'ellipse', icon: 'shape-ellipse', label: 'Ellipse', value: ShapeType.Ellipse, toolProperty: 'shapeType' },\r\n { id: 'triangle', icon: 'shape-triangle', label: 'Triangle', value: ShapeType.Triangle, toolProperty: 'shapeType' },\r\n ],\r\n },\r\n {\r\n name: 'text',\r\n type: 'tool',\r\n tool: KritzelTextTool,\r\n icon: 'type',\r\n config: DEFAULT_TEXT_CONFIG,\r\n },\r\n {\r\n name: 'image',\r\n type: 'tool',\r\n tool: KritzelImageTool,\r\n icon: 'image',\r\n },\r\n {\r\n name: 'config',\r\n type: 'config',\r\n },\r\n ]"
1419
1419
  },
1420
1420
  "globalContextMenuItems": {
1421
1421
  "type": "unknown",
@@ -1440,7 +1440,7 @@ export class KritzelEditor {
1440
1440
  },
1441
1441
  "getter": false,
1442
1442
  "setter": false,
1443
- "defaultValue": "[\n {\n label: 'menu.paste',\n icon: 'paste',\n action: menu => this.engineRef.paste(menu.x, menu.y),\n },\n {\n label: 'menu.selectAll',\n icon: 'select-all',\n action: () => this.selectAllObjectsInViewport(),\n },\n ]"
1443
+ "defaultValue": "[\r\n {\r\n label: 'menu.paste',\r\n icon: 'paste',\r\n action: menu => this.engineRef.paste(menu.x, menu.y),\r\n },\r\n {\r\n label: 'menu.selectAll',\r\n icon: 'select-all',\r\n action: () => this.selectAllObjectsInViewport(),\r\n },\r\n ]"
1444
1444
  },
1445
1445
  "objectContextMenuItems": {
1446
1446
  "type": "unknown",
@@ -1465,7 +1465,7 @@ export class KritzelEditor {
1465
1465
  },
1466
1466
  "getter": false,
1467
1467
  "setter": false,
1468
- "defaultValue": "[\n { label: 'menu.copy', icon: 'copy', group: 'clipboard', action: () => this.engineRef.copy() },\n { label: 'menu.cut', icon: 'cut', group: 'clipboard', action: () => this.engineRef.cut() },\n {\n label: 'menu.paste',\n icon: 'paste',\n group: 'clipboard',\n action: (menu, _) => this.engineRef.paste(menu.x, menu.y),\n },\n {\n label: 'menu.export',\n icon: 'upload',\n group: 'clipboard',\n visible: (_, objects) => this.canExportObjects(objects),\n action: (_, objects) => {\n const format = this.getPreferredExportFormat(objects);\n if (!format) {\n return;\n }\n\n void this.engineRef.exportSelectedObject(format);\n },\n },\n {\n label: 'menu.order',\n icon: 'ordering',\n group: 'other',\n children: [\n { label: 'menu.bringToFront', icon: 'bring-to-front', action: () => this.engineRef.bringToFront() },\n { label: 'menu.sendToBack', icon: 'send-to-back', action: () => this.engineRef.sendToBack() },\n { label: 'menu.moveUp', icon: 'arrow-up-from-dot', action: () => this.engineRef.bringForward() },\n { label: 'menu.moveDown', icon: 'arrow-down-from-dot', action: () => this.engineRef.sendBackward() },\n ],\n },\n {\n label: 'menu.align',\n icon: 'align',\n group: 'other',\n children: [\n { label: 'menu.alignLeft', icon: 'align-start-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.StartHorizontal) },\n { label: 'menu.alignCenterHorizontal', icon: 'align-center-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterHorizontal) },\n { label: 'menu.alignRight', icon: 'align-end-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.EndHorizontal) },\n { label: 'menu.alignTop', icon: 'align-start-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.StartVertical) },\n { label: 'menu.alignCenterVertical', icon: 'align-center-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterVertical) },\n { label: 'menu.alignBottom', icon: 'align-end-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.EndVertical) },\n ],\n },\n {\n label: 'menu.group',\n icon: 'group',\n group: 'other',\n children: [\n {\n label: 'menu.group',\n icon: 'group',\n action: () => this.engineRef.group(),\n },\n {\n label: 'menu.ungroup',\n icon: 'ungroup',\n action: () => this.engineRef.ungroup(),\n },\n ],\n },\n { label: 'menu.delete', icon: 'delete', group: 'edit', action: () => this.engineRef.delete() },\n ]"
1468
+ "defaultValue": "[\r\n { label: 'menu.copy', icon: 'copy', group: 'clipboard', action: () => this.engineRef.copy() },\r\n { label: 'menu.cut', icon: 'cut', group: 'clipboard', action: () => this.engineRef.cut() },\r\n {\r\n label: 'menu.paste',\r\n icon: 'paste',\r\n group: 'clipboard',\r\n action: (menu, _) => this.engineRef.paste(menu.x, menu.y),\r\n },\r\n {\r\n label: 'menu.export',\r\n icon: 'upload',\r\n group: 'clipboard',\r\n visible: (_, objects) => this.canExportObjects(objects),\r\n action: (_, objects) => {\r\n const format = this.getPreferredExportFormat(objects);\r\n if (!format) {\r\n return;\r\n }\r\n\r\n void this.engineRef.exportSelectedObject(format);\r\n },\r\n },\r\n {\r\n label: 'menu.order',\r\n icon: 'ordering',\r\n group: 'other',\r\n children: [\r\n { label: 'menu.bringToFront', icon: 'bring-to-front', action: () => this.engineRef.bringToFront() },\r\n { label: 'menu.sendToBack', icon: 'send-to-back', action: () => this.engineRef.sendToBack() },\r\n { label: 'menu.moveUp', icon: 'arrow-up-from-dot', action: () => this.engineRef.bringForward() },\r\n { label: 'menu.moveDown', icon: 'arrow-down-from-dot', action: () => this.engineRef.sendBackward() },\r\n ],\r\n },\r\n {\r\n label: 'menu.align',\r\n icon: 'align',\r\n group: 'other',\r\n children: [\r\n { label: 'menu.alignLeft', icon: 'align-start-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.StartHorizontal) },\r\n { label: 'menu.alignCenterHorizontal', icon: 'align-center-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterHorizontal) },\r\n { label: 'menu.alignRight', icon: 'align-end-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.EndHorizontal) },\r\n { label: 'menu.alignTop', icon: 'align-start-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.StartVertical) },\r\n { label: 'menu.alignCenterVertical', icon: 'align-center-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterVertical) },\r\n { label: 'menu.alignBottom', icon: 'align-end-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.EndVertical) },\r\n ],\r\n },\r\n {\r\n label: 'menu.group',\r\n icon: 'group',\r\n group: 'other',\r\n children: [\r\n {\r\n label: 'menu.group',\r\n icon: 'group',\r\n action: () => this.engineRef.group(),\r\n },\r\n {\r\n label: 'menu.ungroup',\r\n icon: 'ungroup',\r\n action: () => this.engineRef.ungroup(),\r\n },\r\n ],\r\n },\r\n { label: 'menu.delete', icon: 'delete', group: 'edit', action: () => this.engineRef.delete() },\r\n ]"
1469
1469
  },
1470
1470
  "moreMenuItems": {
1471
1471
  "type": "unknown",
@@ -1490,7 +1490,7 @@ export class KritzelEditor {
1490
1490
  },
1491
1491
  "getter": false,
1492
1492
  "setter": false,
1493
- "defaultValue": "[\n {\n id: 'share',\n label: 'menu.share',\n icon: 'share',\n isVisible: async () => hasRemoteSyncProvider(this.syncConfig),\n action: () => {\n if (!this.isLoggedIn && this.loginConfig) {\n this.openLoginDialog();\n return;\n }\n this.shareDialogRef.open();\n },\n },\n {\n id: 'export',\n label: 'menu.export',\n icon: 'upload',\n action: async () => {\n const preview = await this.engineRef.getScreenshot('png');\n this.exportRef.open(preview ?? undefined);\n },\n },\n {\n id: 'import',\n label: 'menu.import',\n icon: 'download',\n action: () => this.engineRef.importFromFile(),\n },\n {\n id: 'settings',\n label: 'menu.settings',\n icon: 'settings',\n action: () => this.settingsRef.open(),\n },\n ]"
1493
+ "defaultValue": "[\r\n {\r\n id: 'share',\r\n label: 'menu.share',\r\n icon: 'share',\r\n isVisible: async () => hasRemoteSyncProvider(this.syncConfig),\r\n action: () => {\r\n if (!this.isLoggedIn && this.loginConfig) {\r\n this.openLoginDialog();\r\n return;\r\n }\r\n this.shareDialogRef.open();\r\n },\r\n },\r\n {\r\n id: 'export',\r\n label: 'menu.export',\r\n icon: 'upload',\r\n action: async () => {\r\n const preview = await this.engineRef.getScreenshot('png');\r\n this.exportRef.open(preview ?? undefined);\r\n },\r\n },\r\n {\r\n id: 'import',\r\n label: 'menu.import',\r\n icon: 'download',\r\n action: () => this.engineRef.importFromFile(),\r\n },\r\n {\r\n id: 'settings',\r\n label: 'menu.settings',\r\n icon: 'settings',\r\n action: () => this.settingsRef.open(),\r\n },\r\n ]"
1494
1494
  },
1495
1495
  "themes": {
1496
1496
  "type": "unknown",
@@ -1682,7 +1682,7 @@ export class KritzelEditor {
1682
1682
  "optional": false,
1683
1683
  "docs": {
1684
1684
  "tags": [],
1685
- "text": "Registers fonts for runtime usage (for example custom object rendering).\nText-tool config tooltip options are controlled via controls[].config.availableFonts."
1685
+ "text": "Registers fonts for runtime usage (for example custom object rendering).\r\nText-tool config tooltip options are controlled via controls[].config.availableFonts."
1686
1686
  },
1687
1687
  "getter": false,
1688
1688
  "setter": false,
@@ -1851,7 +1851,7 @@ export class KritzelEditor {
1851
1851
  },
1852
1852
  "getter": false,
1853
1853
  "setter": false,
1854
- "defaultValue": "{\n providers: [IndexedDBSyncProvider],\n}"
1854
+ "defaultValue": "{\r\n providers: [IndexedDBSyncProvider],\r\n}"
1855
1855
  },
1856
1856
  "assetStorageConfig": {
1857
1857
  "type": "unknown",
@@ -1876,7 +1876,7 @@ export class KritzelEditor {
1876
1876
  },
1877
1877
  "getter": false,
1878
1878
  "setter": false,
1879
- "defaultValue": "{\n providers: [],\n}"
1879
+ "defaultValue": "{\r\n providers: [],\r\n}"
1880
1880
  },
1881
1881
  "cursorTarget": {
1882
1882
  "type": "unknown",
@@ -4150,7 +4150,7 @@ export class KritzelEditor {
4150
4150
  "text": "fonts - Mapping from font keys to family names or font definitions."
4151
4151
  }, {
4152
4152
  "name": "remarks",
4153
- "text": "This no longer controls the text-tool config tooltip font options.\nConfigure tooltip fonts via controls[].config.availableFonts."
4153
+ "text": "This no longer controls the text-tool config tooltip font options.\r\nConfigure tooltip fonts via controls[].config.availableFonts."
4154
4154
  }]
4155
4155
  }
4156
4156
  },
@@ -1,81 +1,81 @@
1
- :host {
2
- display: block;
3
- position: relative;
4
- height: 100%;
5
- width: 100%;
6
- overflow: hidden;
7
- isolation: isolate;
8
- background-color: var(--kritzel-engine-background-color, #ffffff);
9
- }
10
-
11
- :host,
12
- :host * {
13
- touch-action: none;
14
- user-select: none;
15
- }
16
-
17
- .ProseMirror {
18
- outline: none;
19
- }
20
-
21
- p, h1, h2, h3, h4, h5, h6, blockquote, pre {
22
- margin: 0;
23
- padding: 0;
24
- }
25
-
26
- .debug-panel {
27
- position: absolute;
28
- pointer-events: none;
29
- top: 0;
30
- right: 0;
31
- }
32
-
33
- .origin {
34
- position: relative;
35
- top: 0;
36
- left: 0;
37
- height: 0;
38
- width: 0;
39
- pointer-events: none;
40
- -webkit-transform-origin: top left;
41
- -moz-transform-origin: top left;
42
- transform-origin: top left;
43
- overflow: visible;
44
- }
45
-
46
- .object {
47
- overflow: visible;
48
- }
49
-
50
- .kritzel-image-object--first-reveal {
51
- animation: kritzel-image-first-reveal 180ms ease-out both;
52
- will-change: filter;
53
- }
54
-
55
- @keyframes kritzel-image-first-reveal {
56
- from {
57
- filter: opacity(0);
58
- }
59
-
60
- to {
61
- filter: opacity(1);
62
- }
63
- }
64
-
65
- @media (prefers-reduced-motion: reduce) {
66
- .kritzel-image-object--first-reveal {
67
- animation: none;
68
- }
69
- }
70
-
71
- .PlaygroundEditorTheme__quote {
72
- margin: 0;
73
- margin-left: 20px;
74
- margin-bottom: 10px;
75
- font-size: 15px;
76
- color: rgb(101, 103, 107);
77
- border-left-color: rgb(206, 208, 212);
78
- border-left-width: 4px;
79
- border-left-style: solid;
80
- padding-left: 16px;
1
+ :host {
2
+ display: block;
3
+ position: relative;
4
+ height: 100%;
5
+ width: 100%;
6
+ overflow: hidden;
7
+ isolation: isolate;
8
+ background-color: var(--kritzel-engine-background-color, #ffffff);
9
+ }
10
+
11
+ :host,
12
+ :host * {
13
+ touch-action: none;
14
+ user-select: none;
15
+ }
16
+
17
+ .ProseMirror {
18
+ outline: none;
19
+ }
20
+
21
+ p, h1, h2, h3, h4, h5, h6, blockquote, pre {
22
+ margin: 0;
23
+ padding: 0;
24
+ }
25
+
26
+ .debug-panel {
27
+ position: absolute;
28
+ pointer-events: none;
29
+ top: 0;
30
+ right: 0;
31
+ }
32
+
33
+ .origin {
34
+ position: relative;
35
+ top: 0;
36
+ left: 0;
37
+ height: 0;
38
+ width: 0;
39
+ pointer-events: none;
40
+ -webkit-transform-origin: top left;
41
+ -moz-transform-origin: top left;
42
+ transform-origin: top left;
43
+ overflow: visible;
44
+ }
45
+
46
+ .object {
47
+ overflow: visible;
48
+ }
49
+
50
+ .kritzel-image-object--first-reveal {
51
+ animation: kritzel-image-first-reveal 180ms ease-out both;
52
+ will-change: filter;
53
+ }
54
+
55
+ @keyframes kritzel-image-first-reveal {
56
+ from {
57
+ filter: opacity(0);
58
+ }
59
+
60
+ to {
61
+ filter: opacity(1);
62
+ }
63
+ }
64
+
65
+ @media (prefers-reduced-motion: reduce) {
66
+ .kritzel-image-object--first-reveal {
67
+ animation: none;
68
+ }
69
+ }
70
+
71
+ .PlaygroundEditorTheme__quote {
72
+ margin: 0;
73
+ margin-left: 20px;
74
+ margin-bottom: 10px;
75
+ font-size: 15px;
76
+ color: rgb(101, 103, 107);
77
+ border-left-color: rgb(206, 208, 212);
78
+ border-left-width: 4px;
79
+ border-left-style: solid;
80
+ padding-left: 16px;
81
81
  }
@@ -2957,7 +2957,7 @@ export class KritzelEngine {
2957
2957
  "optional": true,
2958
2958
  "docs": {
2959
2959
  "tags": [],
2960
- "text": "Configuration for binary asset storage (e.g., images).\n\nThe Yjs document only persists asset ids; the actual bytes are stored\nby the providers listed here. Defaults to IndexedDB-only storage. To\nsupport cross-device image sync alongside a networked sync provider\n(Hocuspocus, WebSocket), configure at least one remote asset provider\nsuch as `HttpAssetProvider` or `PresignedAssetProvider`."
2960
+ "text": "Configuration for binary asset storage (e.g., images).\r\n\r\nThe Yjs document only persists asset ids; the actual bytes are stored\r\nby the providers listed here. Defaults to IndexedDB-only storage. To\r\nsupport cross-device image sync alongside a networked sync provider\r\n(Hocuspocus, WebSocket), configure at least one remote asset provider\r\nsuch as `HttpAssetProvider` or `PresignedAssetProvider`."
2961
2961
  },
2962
2962
  "getter": false,
2963
2963
  "setter": false
@@ -4350,7 +4350,7 @@ export class KritzelEngine {
4350
4350
  "return": "Promise<void>"
4351
4351
  },
4352
4352
  "docs": {
4353
- "text": "Programmatically opens the context menu at a specified world-coordinate position.\nIf `objectId` is provided and found, the object context menu is shown for that object.\nIf no `objectId` is provided but a selection group already exists, the object context menu is shown.\nOtherwise, the global context menu is shown.",
4353
+ "text": "Programmatically opens the context menu at a specified world-coordinate position.\r\nIf `objectId` is provided and found, the object context menu is shown for that object.\r\nIf no `objectId` is provided but a selection group already exists, the object context menu is shown.\r\nOtherwise, the global context menu is shown.",
4354
4354
  "tags": [{
4355
4355
  "name": "param",
4356
4356
  "text": "options.x - The X position in world (canvas) coordinates."
@@ -4460,7 +4460,7 @@ export class KritzelEngine {
4460
4460
  "return": "Promise<T[]>"
4461
4461
  },
4462
4462
  "docs": {
4463
- "text": "Returns all objects that match the given predicate function.\nExcludes internal selection-related objects (selection groups and selection boxes).",
4463
+ "text": "Returns all objects that match the given predicate function.\r\nExcludes internal selection-related objects (selection groups and selection boxes).",
4464
4464
  "tags": [{
4465
4465
  "name": "param",
4466
4466
  "text": "predicate - A filter function called for each object. Return `true` to include."
@@ -4469,7 +4469,7 @@ export class KritzelEngine {
4469
4469
  "text": "An array of matching objects."
4470
4470
  }, {
4471
4471
  "name": "example",
4472
- "text": "```ts\n// Find all text objects\nconst texts = await engine.findObjects(obj => obj.__class__ === 'KritzelText');\n\n// Find objects at a point\nconst hits = await engine.findObjects(obj => obj.hitTest(100, 200));\n\n// Combine criteria\nconst filtered = await engine.findObjects(obj => obj.__class__ === 'KritzelPath' && obj.opacity < 0.5);\n```"
4472
+ "text": "```ts\r\n// Find all text objects\r\nconst texts = await engine.findObjects(obj => obj.__class__ === 'KritzelText');\r\n\r\n// Find objects at a point\r\nconst hits = await engine.findObjects(obj => obj.hitTest(100, 200));\r\n\r\n// Combine criteria\r\nconst filtered = await engine.findObjects(obj => obj.__class__ === 'KritzelPath' && obj.opacity < 0.5);\r\n```"
4473
4473
  }]
4474
4474
  }
4475
4475
  },
@@ -4602,7 +4602,7 @@ export class KritzelEngine {
4602
4602
  "return": "Promise<T[]>"
4603
4603
  },
4604
4604
  "docs": {
4605
- "text": "Adds multiple objects to the canvas in a single batch operation.\nAll objects are inserted within one Yjs transaction (single undo step),\ntriggering only one rerender cycle. Intended for programmatic streaming\nscenarios where per-object overhead would cause stutter.",
4605
+ "text": "Adds multiple objects to the canvas in a single batch operation.\r\nAll objects are inserted within one Yjs transaction (single undo step),\r\ntriggering only one rerender cycle. Intended for programmatic streaming\r\nscenarios where per-object overhead would cause stutter.",
4606
4606
  "tags": [{
4607
4607
  "name": "param",
4608
4608
  "text": "objects - The object instances to add."
@@ -4724,7 +4724,7 @@ export class KritzelEngine {
4724
4724
  "return": "Promise<T[]>"
4725
4725
  },
4726
4726
  "docs": {
4727
- "text": "Removes multiple objects from the canvas in a single batch operation.\nAll removals happen within one Yjs transaction (single undo step),\ntriggering only one rerender cycle. Intended for programmatic streaming\nscenarios where per-object overhead would cause stutter.",
4727
+ "text": "Removes multiple objects from the canvas in a single batch operation.\r\nAll removals happen within one Yjs transaction (single undo step),\r\ntriggering only one rerender cycle. Intended for programmatic streaming\r\nscenarios where per-object overhead would cause stutter.",
4728
4728
  "tags": [{
4729
4729
  "name": "param",
4730
4730
  "text": "objects - The objects to remove."
@@ -4912,7 +4912,7 @@ export class KritzelEngine {
4912
4912
  "return": "Promise<void>"
4913
4913
  },
4914
4914
  "docs": {
4915
- "text": "Pans the viewport to center on the given object without changing the zoom level.\nUnlike `centerObjectInViewport`, this moves the camera \u2014 not the object.",
4915
+ "text": "Pans the viewport to center on the given object without changing the zoom level.\r\nUnlike `centerObjectInViewport`, this moves the camera \u2014 not the object.",
4916
4916
  "tags": [{
4917
4917
  "name": "param",
4918
4918
  "text": "object - The object whose center the viewport should pan to."
@@ -4932,7 +4932,7 @@ export class KritzelEngine {
4932
4932
  "return": "Promise<boolean>"
4933
4933
  },
4934
4934
  "docs": {
4935
- "text": "Pans and zooms the viewport to fit the nearest content, with padding.\nUseful when the user has panned away from all objects.",
4935
+ "text": "Pans and zooms the viewport to fit the nearest content, with padding.\r\nUseful when the user has panned away from all objects.",
4936
4936
  "tags": [{
4937
4937
  "name": "returns",
4938
4938
  "text": "`true` if content was found and the viewport was adjusted, `false` otherwise."
@@ -4956,7 +4956,7 @@ export class KritzelEngine {
4956
4956
  "return": "Promise<boolean>"
4957
4957
  },
4958
4958
  "docs": {
4959
- "text": "Pans and zooms the viewport to fit ALL objects on the canvas, including those not currently rendered.\nCalculates the combined bounding box of all objects and centers the viewport to show them.",
4959
+ "text": "Pans and zooms the viewport to fit ALL objects on the canvas, including those not currently rendered.\r\nCalculates the combined bounding box of all objects and centers the viewport to show them.",
4960
4960
  "tags": [{
4961
4961
  "name": "param",
4962
4962
  "text": "animate - Whether to animate the viewport transition (default: true)."
@@ -4993,7 +4993,7 @@ export class KritzelEngine {
4993
4993
  "return": "Promise<boolean>"
4994
4994
  },
4995
4995
  "docs": {
4996
- "text": "Pans and zooms the viewport to fit the provided objects.\nCalculates the combined bounding box of the given objects and centers the viewport to show them.",
4996
+ "text": "Pans and zooms the viewport to fit the provided objects.\r\nCalculates the combined bounding box of the given objects and centers the viewport to show them.",
4997
4997
  "tags": [{
4998
4998
  "name": "param",
4999
4999
  "text": "objects - The objects to center and fit in the viewport."
@@ -5100,7 +5100,7 @@ export class KritzelEngine {
5100
5100
  "return": "Promise<void>"
5101
5101
  },
5102
5102
  "docs": {
5103
- "text": "Zooms the viewport to the given scale level.\nOptionally centers on a world point; if omitted, zooms around the viewport center.",
5103
+ "text": "Zooms the viewport to the given scale level.\r\nOptionally centers on a world point; if omitted, zooms around the viewport center.",
5104
5104
  "tags": [{
5105
5105
  "name": "param",
5106
5106
  "text": "scale - Target scale level."
@@ -5418,7 +5418,7 @@ export class KritzelEngine {
5418
5418
  "return": "Promise<KritzelObjectExportFormat[]>"
5419
5419
  },
5420
5420
  "docs": {
5421
- "text": "Returns export formats supported by the currently selected object.\nOnly returns formats when exactly one object is selected.",
5421
+ "text": "Returns export formats supported by the currently selected object.\r\nOnly returns formats when exactly one object is selected.",
5422
5422
  "tags": []
5423
5423
  }
5424
5424
  },
@@ -5445,7 +5445,7 @@ export class KritzelEngine {
5445
5445
  "return": "Promise<boolean>"
5446
5446
  },
5447
5447
  "docs": {
5448
- "text": "Checks whether the currently selected object supports a specific export format.\nReturns false when none or multiple objects are selected.",
5448
+ "text": "Checks whether the currently selected object supports a specific export format.\r\nReturns false when none or multiple objects are selected.",
5449
5449
  "tags": []
5450
5450
  }
5451
5451
  },
@@ -5472,7 +5472,7 @@ export class KritzelEngine {
5472
5472
  "return": "Promise<void>"
5473
5473
  },
5474
5474
  "docs": {
5475
- "text": "Exports the currently selected object in the requested format and triggers a file download.\nOnly supports single selection.",
5475
+ "text": "Exports the currently selected object in the requested format and triggers a file download.\r\nOnly supports single selection.",
5476
5476
  "tags": []
5477
5477
  }
5478
5478
  },
@@ -5493,7 +5493,7 @@ export class KritzelEngine {
5493
5493
  "return": "Promise<string>"
5494
5494
  },
5495
5495
  "docs": {
5496
- "text": "Exports the current workspace and all its objects as a JSON string.\nThe exported data includes workspace metadata (id, name, viewport) and all canvas objects.",
5496
+ "text": "Exports the current workspace and all its objects as a JSON string.\r\nThe exported data includes workspace metadata (id, name, viewport) and all canvas objects.",
5497
5497
  "tags": [{
5498
5498
  "name": "returns",
5499
5499
  "text": "A JSON string representing the complete workspace state."
@@ -5527,7 +5527,7 @@ export class KritzelEngine {
5527
5527
  "return": "Promise<void>"
5528
5528
  },
5529
5529
  "docs": {
5530
- "text": "Imports a workspace from a JSON string into a new workspace.\nCreates a new workspace with the imported data and automatically switches to it.",
5530
+ "text": "Imports a workspace from a JSON string into a new workspace.\r\nCreates a new workspace with the imported data and automatically switches to it.",
5531
5531
  "tags": [{
5532
5532
  "name": "param",
5533
5533
  "text": "json - A JSON string containing workspace data (from exportAsJson)."
@@ -5564,7 +5564,7 @@ export class KritzelEngine {
5564
5564
  "return": "Promise<number>"
5565
5565
  },
5566
5566
  "docs": {
5567
- "text": "Loads objects from a workspace JSON string into the current workspace.\nUnlike importFromJson, this does not create a new workspace - it adds objects to the existing one.\nUseful for initializing a workspace with pre-existing content after the editor is ready.",
5567
+ "text": "Loads objects from a workspace JSON string into the current workspace.\r\nUnlike importFromJson, this does not create a new workspace - it adds objects to the existing one.\r\nUseful for initializing a workspace with pre-existing content after the editor is ready.",
5568
5568
  "tags": [{
5569
5569
  "name": "param",
5570
5570
  "text": "json - A JSON string containing workspace data (from exportAsJson)."
@@ -5624,7 +5624,7 @@ export class KritzelEngine {
5624
5624
  "return": "Promise<void>"
5625
5625
  },
5626
5626
  "docs": {
5627
- "text": "Opens a file picker dialog and imports the selected JSON file into the workspace.\nThis method creates a hidden file input, triggers the browser's file chooser,\nreads the selected JSON file, and imports it using importFromJson.",
5627
+ "text": "Opens a file picker dialog and imports the selected JSON file into the workspace.\r\nThis method creates a hidden file input, triggers the browser's file chooser,\r\nreads the selected JSON file, and imports it using importFromJson.",
5628
5628
  "tags": [{
5629
5629
  "name": "returns",
5630
5630
  "text": "A promise that resolves when the import is complete or rejects on error/cancel."
@@ -5807,7 +5807,7 @@ export class KritzelEngine {
5807
5807
  "return": "Promise<void>"
5808
5808
  },
5809
5809
  "docs": {
5810
- "text": "Loads a shared workspace by token.\nIf the workspace exists locally, it switches to it.\nIf it doesn't exist, it adds it to the local workspaces list and then switches to it.",
5810
+ "text": "Loads a shared workspace by token.\r\nIf the workspace exists locally, it switches to it.\r\nIf it doesn't exist, it adds it to the local workspaces list and then switches to it.",
5811
5811
  "tags": [{
5812
5812
  "name": "param",
5813
5813
  "text": "token - The connection token identifying the shared workspace"
@@ -5827,7 +5827,7 @@ export class KritzelEngine {
5827
5827
  "return": "Promise<void>"
5828
5828
  },
5829
5829
  "docs": {
5830
- "text": "Reinitializes sync by performing a full teardown and re-initialization.\nDestroys the current Yjs documents and providers, then rebuilds everything\nfrom the current syncConfig. Data reloads from IndexedDB nearly instantly.\nCall this after updating the syncConfig prop (e.g. after authentication state changes).",
5830
+ "text": "Reinitializes sync by performing a full teardown and re-initialization.\r\nDestroys the current Yjs documents and providers, then rebuilds everything\r\nfrom the current syncConfig. Data reloads from IndexedDB nearly instantly.\r\nCall this after updating the syncConfig prop (e.g. after authentication state changes).",
5831
5831
  "tags": []
5832
5832
  }
5833
5833
  },
@@ -6090,7 +6090,7 @@ export class KritzelEngine {
6090
6090
  "return": "Promise<Partial<Record<keyof KritzelTerms, string>>>"
6091
6091
  },
6092
6092
  "docs": {
6093
- "text": "Resolves every known term key for the active locale into a flat map.\nUseful for UI layers that need to localize many strings at once.",
6093
+ "text": "Resolves every known term key for the active locale into a flat map.\r\nUseful for UI layers that need to localize many strings at once.",
6094
6094
  "tags": []
6095
6095
  }
6096
6096
  }
@@ -1,29 +1,29 @@
1
- :host {
2
- position: absolute;
3
- bottom: var(--kritzel-watermark-offset-bottom, 12px);
4
- right: var(--kritzel-watermark-offset-right, 12px);
5
- z-index: 10000;
6
- pointer-events: none;
7
- }
8
-
9
- .watermark-link {
10
- pointer-events: auto;
11
- display: inline-flex;
12
- align-items: center;
13
- padding: 4px 8px;
14
- border-radius: var(--kritzel-watermark-border-radius, 6px);
15
- font-family: var(--kritzel-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
16
- font-size: var(--kritzel-watermark-font-size, 11px);
17
- line-height: 1;
18
- text-decoration: none;
19
- color: var(--kritzel-watermark-color, rgba(60, 60, 60, 0.75));
20
- background-color: var(--kritzel-watermark-background, rgba(255, 255, 255, 0.6));
21
- box-shadow: var(--kritzel-watermark-box-shadow, 0 1px 2px rgba(0, 0, 0, 0.12));
22
- opacity: var(--kritzel-watermark-opacity, 0.85);
23
- transition: opacity 150ms ease;
24
- user-select: none;
25
- }
26
-
27
- .watermark-link:hover {
28
- opacity: 1;
29
- }
1
+ :host {
2
+ position: absolute;
3
+ bottom: var(--kritzel-watermark-offset-bottom, 12px);
4
+ right: var(--kritzel-watermark-offset-right, 12px);
5
+ z-index: 10000;
6
+ pointer-events: none;
7
+ }
8
+
9
+ .watermark-link {
10
+ pointer-events: auto;
11
+ display: inline-flex;
12
+ align-items: center;
13
+ padding: 4px 8px;
14
+ border-radius: var(--kritzel-watermark-border-radius, 6px);
15
+ font-family: var(--kritzel-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
16
+ font-size: var(--kritzel-watermark-font-size, 11px);
17
+ line-height: 1;
18
+ text-decoration: none;
19
+ color: var(--kritzel-watermark-color, rgba(60, 60, 60, 0.75));
20
+ background-color: var(--kritzel-watermark-background, rgba(255, 255, 255, 0.6));
21
+ box-shadow: var(--kritzel-watermark-box-shadow, 0 1px 2px rgba(0, 0, 0, 0.12));
22
+ opacity: var(--kritzel-watermark-opacity, 0.85);
23
+ transition: opacity 150ms ease;
24
+ user-select: none;
25
+ }
26
+
27
+ .watermark-link:hover {
28
+ opacity: 1;
29
+ }
@@ -19,7 +19,7 @@ export class KritzelWatermark {
19
19
  label;
20
20
  render() {
21
21
  const label = this.label ?? this.core.localizationManager.translate('watermark.poweredBy');
22
- return (h(Host, { key: '297a488f26fd8637da8d00b98af85cfeda5b0992' }, h("a", { key: '6e3be65773dfda06e9b7ae611cfbb5ff09ba1f91', class: "watermark-link", href: KRITZEL_WEBSITE_URL, target: "_blank", rel: "noopener noreferrer", part: "watermark", onPointerDown: (ev) => ev.stopPropagation(), onPointerUp: (ev) => ev.stopPropagation() }, label)));
22
+ return (h(Host, { key: 'ab2155c93a729cfe08f2f3a2ec1dc1547f4a98c4' }, h("a", { key: 'cd7b687b3e073a7e6582a62f8feb3ca0aab688c8', class: "watermark-link", href: KRITZEL_WEBSITE_URL, target: "_blank", rel: "noopener noreferrer", part: "watermark", onPointerDown: (ev) => ev.stopPropagation(), onPointerUp: (ev) => ev.stopPropagation() }, label)));
23
23
  }
24
24
  static get is() { return "kritzel-watermark"; }
25
25
  static get encapsulation() { return "shadow"; }
@@ -71,7 +71,7 @@ export class KritzelWatermark {
71
71
  "optional": true,
72
72
  "docs": {
73
73
  "tags": [],
74
- "text": "Resolved \"Powered by Kritzel\" label. Passed in by the engine so the badge\nre-renders when the active locale changes. Falls back to resolving the term\nfrom the core when not provided."
74
+ "text": "Resolved \"Powered by Kritzel\" label. Passed in by the engine so the badge\r\nre-renders when the active locale changes. Falls back to resolving the term\r\nfrom the core when not provided."
75
75
  },
76
76
  "getter": false,
77
77
  "setter": false,