kritzel-stencil 0.4.19 → 0.4.21

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 (217) hide show
  1. package/LICENSE +21 -21
  2. package/LICENSE.md +49 -49
  3. package/dist/cjs/{index-Dn19mGl-.js → index-Xav9JFHg.js} +11 -47
  4. package/dist/cjs/index.cjs.js +1 -1
  5. package/dist/cjs/kritzel-active-users_47.cjs.entry.js +151 -119
  6. package/dist/cjs/kritzel-brush-style.cjs.entry.js +2 -2
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{schema.constants-CY0WWJYd.js → schema.constants-CjN-B633.js} +20 -44
  9. package/dist/cjs/stencil.cjs.js +2 -2
  10. package/dist/collection/classes/structures/app-state-map.structure.js +16 -6
  11. package/dist/collection/collection-manifest.json +1 -1
  12. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.css +115 -115
  13. package/dist/collection/components/core/kritzel-awareness-cursors/kritzel-awareness-cursors.js +1 -1
  14. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -10
  15. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  16. package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +160 -160
  17. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +18 -18
  18. package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +80 -80
  19. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +43 -21
  20. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.css +29 -29
  21. package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.js +2 -2
  22. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.css +58 -58
  23. package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
  24. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.css +42 -42
  25. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +3 -3
  26. package/dist/collection/components/shared/kritzel-button/kritzel-button.css +73 -73
  27. package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
  28. package/dist/collection/components/shared/kritzel-color/kritzel-color.css +24 -24
  29. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
  30. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +46 -46
  31. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
  32. package/dist/collection/components/shared/kritzel-dialog/kritzel-dialog.css +209 -209
  33. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +190 -190
  34. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +2 -2
  35. package/dist/collection/components/shared/kritzel-font/kritzel-font.css +10 -10
  36. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
  37. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.css +48 -48
  38. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +2 -2
  39. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +30 -30
  40. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
  41. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.css +18 -18
  42. package/dist/collection/components/shared/kritzel-input/kritzel-input.css +69 -69
  43. package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
  44. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.css +60 -60
  45. package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.js +3 -3
  46. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.css +190 -190
  47. package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
  48. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +34 -34
  49. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
  50. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +166 -166
  51. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
  52. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.css +102 -102
  53. package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
  54. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.css +85 -85
  55. package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
  56. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.css +68 -68
  57. package/dist/collection/components/shared/kritzel-pill-tabs/kritzel-pill-tabs.js +2 -2
  58. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
  59. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.css +47 -47
  60. package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +4 -4
  61. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.css +48 -48
  62. package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
  63. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +78 -78
  64. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
  65. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +37 -37
  66. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
  67. package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.css +50 -50
  68. package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.js +1 -1
  69. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.css +18 -18
  70. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
  71. package/dist/collection/components/ui/kritzel-active-users/kritzel-active-users.css +65 -65
  72. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.css +42 -42
  73. package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
  74. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +112 -112
  75. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +331 -331
  76. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +6 -6
  77. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.css +11 -11
  78. package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +1 -1
  79. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.css +39 -39
  80. package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +1 -1
  81. package/dist/collection/components/ui/kritzel-export/kritzel-export.css +89 -89
  82. package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
  83. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.css +50 -50
  84. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
  85. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.css +98 -98
  86. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
  87. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.css +58 -58
  88. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +2 -2
  89. package/dist/collection/components/ui/kritzel-notification-card/kritzel-notification-card.css +101 -101
  90. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.css +137 -137
  91. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
  92. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.css +150 -150
  93. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
  94. package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.css +38 -38
  95. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +45 -45
  96. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  97. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.css +16 -16
  98. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.css +72 -72
  99. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +1 -1
  100. package/dist/collection/constants/version.js +1 -1
  101. package/dist/collection/helpers/cursor.helper.js +6 -6
  102. package/dist/collection/helpers/svg-export.helper.js +41 -41
  103. package/dist/components/index.js +3 -3
  104. package/dist/components/kritzel-active-users.js +1 -1
  105. package/dist/components/kritzel-avatar.js +1 -1
  106. package/dist/components/kritzel-awareness-cursors.js +1 -1
  107. package/dist/components/kritzel-back-to-content.js +1 -1
  108. package/dist/components/kritzel-brush-style.js +4 -4
  109. package/dist/components/kritzel-button.js +1 -1
  110. package/dist/components/kritzel-color-palette.js +1 -1
  111. package/dist/components/kritzel-color.js +1 -1
  112. package/dist/components/kritzel-context-menu.js +1 -1
  113. package/dist/components/kritzel-controls.js +1 -1
  114. package/dist/components/kritzel-current-user-dialog.js +1 -1
  115. package/dist/components/kritzel-current-user.js +1 -1
  116. package/dist/components/kritzel-cursor-trail.js +1 -1
  117. package/dist/components/kritzel-dialog.js +1 -1
  118. package/dist/components/kritzel-dropdown.js +1 -1
  119. package/dist/components/kritzel-editor.js +56 -56
  120. package/dist/components/kritzel-engine.js +1 -1
  121. package/dist/components/kritzel-export.js +1 -1
  122. package/dist/components/kritzel-font-family.js +1 -1
  123. package/dist/components/kritzel-font-size.js +1 -1
  124. package/dist/components/kritzel-font.js +1 -1
  125. package/dist/components/kritzel-icon.js +1 -1
  126. package/dist/components/kritzel-input.js +1 -1
  127. package/dist/components/kritzel-line-endings.js +1 -1
  128. package/dist/components/kritzel-loading-overlay.js +1 -1
  129. package/dist/components/kritzel-login-dialog.js +1 -1
  130. package/dist/components/kritzel-master-detail.js +1 -1
  131. package/dist/components/kritzel-menu-item.js +1 -1
  132. package/dist/components/kritzel-menu.js +1 -1
  133. package/dist/components/kritzel-more-menu.js +1 -1
  134. package/dist/components/kritzel-notification-card.js +1 -1
  135. package/dist/components/kritzel-numeric-input.js +1 -1
  136. package/dist/components/kritzel-opacity-slider.js +1 -1
  137. package/dist/components/kritzel-pill-tabs.js +1 -1
  138. package/dist/components/kritzel-portal.js +1 -1
  139. package/dist/components/kritzel-settings.js +1 -1
  140. package/dist/components/kritzel-shape-fill.js +1 -1
  141. package/dist/components/kritzel-share-dialog.js +1 -1
  142. package/dist/components/kritzel-slide-toggle.js +1 -1
  143. package/dist/components/kritzel-split-button.js +1 -1
  144. package/dist/components/kritzel-stroke-size.js +1 -1
  145. package/dist/components/kritzel-sync-indicator.js +1 -1
  146. package/dist/components/kritzel-tool-config.js +1 -1
  147. package/dist/components/kritzel-tooltip.js +1 -1
  148. package/dist/components/kritzel-utility-panel.js +1 -1
  149. package/dist/components/kritzel-watermark.js +1 -1
  150. package/dist/components/kritzel-workspace-manager.js +1 -1
  151. package/dist/components/kritzel-zoom-panel.js +1 -1
  152. package/dist/components/{p-CLAz6RJc.js → p-2WiGyky4.js} +3 -3
  153. package/dist/components/{p-zG-WUBGF.js → p-4SPnZZkH.js} +4 -4
  154. package/dist/components/{p-MhQxGUvY.js → p-B-585egz.js} +3 -3
  155. package/dist/components/{p-C9_yBEoX.js → p-B43upypT.js} +10 -30
  156. package/dist/components/{p-CSKToqUl.js → p-B5SWPDuq.js} +4 -4
  157. package/dist/components/{p-Covorf4C.js → p-BFYtCsZu.js} +3 -3
  158. package/dist/components/{p-DYPA7jpg.js → p-BPsKYMH6.js} +2 -2
  159. package/dist/components/{p-BL0aCu3R.js → p-BdCrcQ0_.js} +9 -9
  160. package/dist/components/{p-Cx-L_28S.js → p-BoN700-O.js} +3 -3
  161. package/dist/components/{p-ME1sDz3f.js → p-BozrueXV.js} +2 -2
  162. package/dist/components/{p-D2VcPEtL.js → p-BrNsOp2v.js} +6 -6
  163. package/dist/components/{p-BXUx_C0N.js → p-BsLI_BWq.js} +2 -2
  164. package/dist/components/{p-dAXnRkjA.js → p-C98Eb3_R.js} +5 -5
  165. package/dist/components/{p-Bxi-Bm49.js → p-CAoN_STZ.js} +2 -2
  166. package/dist/components/{p-CSWCmyzb.js → p-CF8pLc07.js} +5 -5
  167. package/dist/components/{p-D3BzgkIE.js → p-CSPYkLLH.js} +2 -2
  168. package/dist/components/{p-Ck-87E2G.js → p-CSuU8frA.js} +1 -1
  169. package/dist/components/{p-Di--2boB.js → p-CXpv9Rxe.js} +3 -3
  170. package/dist/components/{p-Csxx9TbU.js → p-C_f_QElb.js} +104 -96
  171. package/dist/components/{p-o3NYKrVL.js → p-CaBbajU2.js} +3 -3
  172. package/dist/components/{p-3tBE7SyG.js → p-Cm33td2O.js} +2 -2
  173. package/dist/components/{p-vDCa_ZDm.js → p-CrHvaLRV.js} +3 -3
  174. package/dist/components/{p-DT_WBwsw.js → p-CwZ3KKFq.js} +6 -6
  175. package/dist/components/{p-BZZ3KRPk.js → p-CzW58DHM.js} +3 -3
  176. package/dist/components/{p-BrqSjRJN.js → p-Czhdc844.js} +3 -3
  177. package/dist/components/{p-BkXQL5Dl.js → p-D1rjfWgJ.js} +5 -5
  178. package/dist/components/{p-DPsbNStn.js → p-DB58Oa5V.js} +2 -2
  179. package/dist/components/{p-DafP9PAA.js → p-DBqoPgev.js} +2 -2
  180. package/dist/components/{p-BrA9NBEE.js → p-DDTMGbtA.js} +21 -21
  181. package/dist/components/{p-Dznwo6oc.js → p-DKGg-76-.js} +2 -2
  182. package/dist/components/{p-Dp1CD4gK.js → p-DVXTPI71.js} +2 -2
  183. package/dist/components/{p-QSyeAy8R.js → p-DX2nriaq.js} +2 -2
  184. package/dist/components/{p-CHoOe3FD.js → p-Df3BwVGy.js} +3 -3
  185. package/dist/components/{p-DcUIO14-.js → p-Dt7-I2Xz.js} +4 -4
  186. package/dist/components/{p-BShrnlam.js → p-DtnMdWWB.js} +2 -2
  187. package/dist/components/{p-Ch-KG9To.js → p-DwMqCX2P.js} +3 -3
  188. package/dist/components/{p-fSV6KVTC.js → p-GKmqCI8r.js} +3 -3
  189. package/dist/components/{p-CWAChRD5.js → p-HoO86l1o.js} +12 -12
  190. package/dist/components/{p-Qdo3E8dr.js → p-PjPPCHVL.js} +2 -2
  191. package/dist/components/{p-D6JycG-I.js → p-bAacqNHq.js} +3 -3
  192. package/dist/components/{p-DjXQxw9R.js → p-djJSnjAX.js} +3 -3
  193. package/dist/components/{p-b0J2ktAm.js → p-dsxHDlQ3.js} +7 -7
  194. package/dist/components/{p-BppcoKoo.js → p-eZXIu4yK.js} +5 -5
  195. package/dist/components/{p-BFYT03fw.js → p-fL9rl200.js} +3 -3
  196. package/dist/components/{p-1Q4VnThv.js → p-jIKskj3S.js} +3 -3
  197. package/dist/components/{p-D0Trc3IQ.js → p-vqEUQ-4Q.js} +5 -5
  198. package/dist/esm/{index-2va1Pk9z.js → index-Dhio9uis.js} +11 -47
  199. package/dist/esm/index.js +2 -2
  200. package/dist/esm/kritzel-active-users_47.entry.js +151 -119
  201. package/dist/esm/kritzel-brush-style.entry.js +2 -2
  202. package/dist/esm/loader.js +2 -2
  203. package/dist/esm/{schema.constants-DBvUmuDH.js → schema.constants-DfvqHmxc.js} +20 -44
  204. package/dist/esm/stencil.js +3 -3
  205. package/dist/stencil/index.esm.js +2 -2
  206. package/dist/stencil/{p-0250005e.entry.js → p-832b80e9.entry.js} +151 -119
  207. package/dist/stencil/{p-DBvUmuDH.js → p-DfvqHmxc.js} +20 -44
  208. package/dist/stencil/{p-2va1Pk9z.js → p-Dhio9uis.js} +11 -47
  209. package/dist/stencil/{p-df06ca3a.entry.js → p-fb32cd8f.entry.js} +2 -2
  210. package/dist/stencil/stencil.esm.js +4 -4
  211. package/dist/types/classes/structures/app-state-map.structure.d.ts +6 -0
  212. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +5 -0
  213. package/dist/types/constants/version.d.ts +1 -1
  214. package/dist/types/stencil-public-runtime.d.ts +0 -12
  215. package/loader/index.d.ts +1 -1
  216. package/package.json +1 -1
  217. package/readme.md +10 -10
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Dn19mGl-.js');
3
+ var index = require('./index-Xav9JFHg.js');
4
4
 
5
5
  const kritzelBrushStyleCss = () => `:host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box;width:100%}.brush-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;border-radius:0;color:var(--control-text-color);font-weight:bold;-webkit-tap-highlight-color:transparent}.font-style-button:not(:last-child){border-right:1px solid #333333}.font-style-button:hover{background-color:var(--control-hover-bg)}.font-style-button:active{background-color:var(--control-active-bg)}.font-style-button.selected,.font-style-button.selected:hover,.font-style-button.selected:active{background-color:var(--control-selected-bg);color:var(--control-selected-color)}`;
6
6
 
@@ -23,7 +23,7 @@ const KritzelBrushStyle = class {
23
23
  value: option.value,
24
24
  label: option.label,
25
25
  }));
26
- return (index.h(index.Host, { key: '51a7f84685032fd8fc967b22bee7c0711e811a54' }, index.h("kritzel-dropdown", { key: 'e49d7062c695458d345738d88a0adfc96b575e61', options: dropdownOptions, value: this.type, onValueChanged: event => this.handleDropdownValueChange(event) }, index.h("button", { key: 'ebbbf1a55b89e91012ca44c5cf30acfb77332b50', class: "brush-style-button", slot: "prefix" }, index.h("kritzel-icon", { key: 'dae002c9ab5e3486c726202426eb076a8f33b109', name: this.type, size: 16 })))));
26
+ return (index.h(index.Host, { key: '7b05e93ce8d28c23503e4ca358a487165169f1ad' }, index.h("kritzel-dropdown", { key: 'a8f2f30762b339411cd3995482c3bc658855f749', options: dropdownOptions, value: this.type, onValueChanged: event => this.handleDropdownValueChange(event) }, index.h("button", { key: 'ac06462897a0fbd5011533095fafb7491a75508a', class: "brush-style-button", slot: "prefix" }, index.h("kritzel-icon", { key: 'caee4c657c7fee478b1038ebd2ef3b502cf73e5e', name: this.type, size: 16 })))));
27
27
  }
28
28
  };
29
29
  KritzelBrushStyle.style = kritzelBrushStyleCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Dn19mGl-.js');
3
+ var index = require('./index-Xav9JFHg.js');
4
4
  var appGlobals = require('./app-globals-V2Kpy_OQ.js');
5
5
 
6
6
  const defineCustomElements = async (win, options) => {
@@ -5754,11 +5754,10 @@ class Fitter {
5754
5754
  }
5755
5755
  openMore() {
5756
5756
  let { content, openStart, openEnd } = this.unplaced;
5757
- if (maxOpen(content, -1) <= openStart)
5757
+ let inner = contentAt(content, openStart);
5758
+ if (!inner.childCount || inner.firstChild.isLeaf)
5758
5759
  return false;
5759
- if (this.unplaced.size > 1 && maxOpen(content, 1) > openEnd)
5760
- openEnd++;
5761
- this.unplaced = new Slice(content, openStart + 1, openEnd);
5760
+ this.unplaced = new Slice(content, openStart + 1, Math.max(openEnd, inner.size + openStart >= content.size - openEnd ? openStart + 1 : 0));
5762
5761
  return true;
5763
5762
  }
5764
5763
  dropNode() {
@@ -5928,14 +5927,6 @@ function invalidMarks(type, fragment, start) {
5928
5927
  function definesContent(type) {
5929
5928
  return type.spec.defining || type.spec.definingForContent;
5930
5929
  }
5931
- function maxOpen(frag, side) {
5932
- for (let count = 0;; count++) {
5933
- let ch = side < 0 ? frag.firstChild : frag.lastChild;
5934
- if (!ch || ch.isAtom)
5935
- return count;
5936
- frag = ch.content;
5937
- }
5938
- }
5939
5930
  function replaceRange(tr, from, to, slice) {
5940
5931
  if (!slice.size)
5941
5932
  return tr.deleteRange(from, to);
@@ -8640,8 +8631,7 @@ class WidgetViewDesc extends ViewDesc {
8640
8631
  wrap.appendChild(dom);
8641
8632
  dom = wrap;
8642
8633
  }
8643
- if (!dom.hasAttribute("contenteditable"))
8644
- dom.contentEditable = "false";
8634
+ dom.contentEditable = "false";
8645
8635
  dom.classList.add("ProseMirror-widget");
8646
8636
  }
8647
8637
  super(parent, [], dom, null);
@@ -10489,14 +10479,8 @@ function maybeWrapTrusted(html) {
10489
10479
  // With the require-trusted-types-for CSP, Chrome will block
10490
10480
  // innerHTML, even on a detached document. This wraps the string in
10491
10481
  // a way that makes the browser allow us to use its parser again.
10492
- if (!_policy) {
10493
- if (_policy = trustedTypes.defaultPolicy)
10494
- try {
10495
- return _policy.createHTML(html);
10496
- }
10497
- catch (_a) { }
10498
- _policy = trustedTypes.createPolicy("ProseMirrorClipboard", { createHTML: (s) => s });
10499
- }
10482
+ if (!_policy)
10483
+ _policy = trustedTypes.defaultPolicy || trustedTypes.createPolicy("ProseMirrorClipboard", { createHTML: (s) => s });
10500
10484
  return _policy.createHTML(html);
10501
10485
  }
10502
10486
  function readHTML(html) {
@@ -10553,12 +10537,6 @@ function addContext(slice, context) {
10553
10537
  let type = schema.nodes[array[i]];
10554
10538
  if (!type || type.hasRequiredAttrs())
10555
10539
  break;
10556
- try {
10557
- type.checkAttrs(array[i + 1]);
10558
- }
10559
- catch (e) {
10560
- break;
10561
- }
10562
10540
  content = Fragment.from(type.create(array[i + 1], content));
10563
10541
  openStart++;
10564
10542
  openEnd++;
@@ -14217,20 +14195,16 @@ a custom function to determine the type of the newly split off block.
14217
14195
  */
14218
14196
  function splitBlockAs(splitNode) {
14219
14197
  return (state, dispatch) => {
14198
+ let { $from} = state.selection;
14220
14199
  if (state.selection instanceof NodeSelection && state.selection.node.isBlock) {
14221
- let { $from } = state.selection;
14222
14200
  if (!$from.parentOffset || !canSplit(state.doc, $from.pos))
14223
14201
  return false;
14224
14202
  if (dispatch)
14225
14203
  dispatch(state.tr.split($from.pos).scrollIntoView());
14226
14204
  return true;
14227
14205
  }
14228
- if (!state.selection.$from.depth)
14206
+ if (!$from.depth)
14229
14207
  return false;
14230
- let tr = state.tr;
14231
- if (!state.selection.empty && (state.selection instanceof TextSelection || state.selection instanceof AllSelection))
14232
- tr.deleteSelection();
14233
- let { $from } = tr.selection, mapFrom = tr.steps.length;
14234
14208
  let types = [];
14235
14209
  let splitDepth, deflt, atEnd = false, atStart = false;
14236
14210
  for (let d = $from.depth;; d--) {
@@ -14249,7 +14223,10 @@ function splitBlockAs(splitNode) {
14249
14223
  types.unshift(null);
14250
14224
  }
14251
14225
  }
14252
- let splitPos = $from.pos;
14226
+ let tr = state.tr;
14227
+ if (state.selection instanceof TextSelection || state.selection instanceof AllSelection)
14228
+ tr.deleteSelection();
14229
+ let splitPos = tr.mapping.map($from.pos);
14253
14230
  let can = canSplit(tr.doc, splitPos, types.length, types);
14254
14231
  if (!can) {
14255
14232
  types[0] = deflt ? { type: deflt } : null;
@@ -14259,10 +14236,9 @@ function splitBlockAs(splitNode) {
14259
14236
  return false;
14260
14237
  tr.split(splitPos, types.length, types);
14261
14238
  if (!atEnd && atStart && $from.node(splitDepth).type != deflt) {
14262
- let mapping = tr.mapping.slice(mapFrom);
14263
- let first = mapping.map($from.before(splitDepth)), $first = tr.doc.resolve(first);
14239
+ let first = tr.mapping.map($from.before(splitDepth)), $first = tr.doc.resolve(first);
14264
14240
  if (deflt && $from.node(splitDepth - 1).canReplaceWith($first.index(), $first.index() + 1, deflt))
14265
- tr.setNodeMarkup(mapping.map($from.before(splitDepth)), deflt);
14241
+ tr.setNodeMarkup(tr.mapping.map($from.before(splitDepth)), deflt);
14266
14242
  }
14267
14243
  if (dispatch)
14268
14244
  dispatch(tr.scrollIntoView());
@@ -22903,12 +22879,12 @@ class KritzelCursorHelper {
22903
22879
  // We rotate around the center of the SVG canvas
22904
22880
  const center = size / 2;
22905
22881
  // We use a group to apply the rotation
22906
- const svg = `
22907
- <svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" viewBox="0 0 ${size} ${size}">
22908
- <g transform="rotate(${rotation} ${center} ${center})">
22909
- ${content}
22910
- </g>
22911
- </svg>
22882
+ const svg = `
22883
+ <svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" viewBox="0 0 ${size} ${size}">
22884
+ <g transform="rotate(${rotation} ${center} ${center})">
22885
+ ${content}
22886
+ </g>
22887
+ </svg>
22912
22888
  `;
22913
22889
  // Encode the SVG for use in a data URI
22914
22890
  // We need to be careful with encoding to ensure it works across browsers
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Dn19mGl-.js');
3
+ var index = require('./index-Xav9JFHg.js');
4
4
  var appGlobals = require('./app-globals-V2Kpy_OQ.js');
5
5
 
6
6
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
7
7
  /*
8
- Stencil Client Patch Browser v4.44.2 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Browser v4.43.5 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
 
11
11
  var patchBrowser = () => {
@@ -21,6 +21,7 @@ export class KritzelAppStateMap {
21
21
  _isReady = false;
22
22
  _onRemoteChangeCallback = null;
23
23
  _workspacesObserver = null;
24
+ _networkSyncPromise = null;
24
25
  /**
25
26
  * Indicates whether the app state map has been initialized and is ready for use.
26
27
  * @returns True if initialized and all providers are connected, false otherwise.
@@ -28,6 +29,13 @@ export class KritzelAppStateMap {
28
29
  get isReady() {
29
30
  return this._isReady;
30
31
  }
32
+ /**
33
+ * Settles when network providers finish their initial sync (or fail/time out).
34
+ * Resolves immediately when no network providers are configured.
35
+ */
36
+ whenNetworkSynced() {
37
+ return this._networkSyncPromise ?? Promise.resolve();
38
+ }
31
39
  /**
32
40
  * Indicates whether any configured sync provider replicates over the network.
33
41
  * Used by the engine to warn when a matching remote asset storage
@@ -112,12 +120,13 @@ export class KritzelAppStateMap {
112
120
  if (showSyncProviderInfo && networkProviders.length > 0) {
113
121
  console.info(`[Kritzel] App-state network providers connecting in background: ${networkProviders.length}`);
114
122
  }
115
- for (const provider of networkProviders) {
116
- provider.connect().catch(err => {
117
- if (showSyncProviderInfo) {
118
- console.error(`[Kritzel] Network sync provider "${provider.constructor.name}" failed to connect:`, err);
119
- }
120
- });
123
+ const networkConnectPromises = networkProviders.map(provider => provider.connect().catch(err => {
124
+ if (showSyncProviderInfo) {
125
+ console.error(`[Kritzel] Network sync provider "${provider.constructor.name}" failed to connect:`, err);
126
+ }
127
+ }));
128
+ if (networkConnectPromises.length > 0) {
129
+ this._networkSyncPromise = Promise.allSettled(networkConnectPromises).then(() => undefined);
121
130
  }
122
131
  this._isReady = true;
123
132
  // Run any pending schema migrations before loading data
@@ -442,6 +451,7 @@ export class KritzelAppStateMap {
442
451
  // Clear remaining references
443
452
  this._core = null;
444
453
  this._onRemoteChangeCallback = null;
454
+ this._networkSyncPromise = null;
445
455
  this._isReady = false;
446
456
  }
447
457
  }
@@ -52,7 +52,7 @@
52
52
  "mixins": [],
53
53
  "compiler": {
54
54
  "name": "@stencil/core",
55
- "version": "4.44.2",
55
+ "version": "4.43.5",
56
56
  "typescriptVersion": "5.8.3"
57
57
  },
58
58
  "collections": [],
@@ -1,115 +1,115 @@
1
- :host {
2
- display: block;
3
- position: fixed;
4
- top: 0;
5
- left: 0;
6
- width: 100vw;
7
- height: 100vh;
8
- pointer-events: none;
9
- z-index: 1;
10
- }
11
-
12
- .awareness-cursor {
13
- position: absolute;
14
- top: 0;
15
- left: 0;
16
- transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
17
- opacity 300ms ease;
18
- will-change: transform;
19
- }
20
-
21
- .awareness-cursor.stale {
22
- opacity: 0;
23
- }
24
-
25
- .awareness-cursor.tracking-object {
26
- transition-duration: 0ms;
27
- }
28
-
29
- .cursor-arrow {
30
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
31
- }
32
-
33
- .cursor-label {
34
- position: absolute;
35
- left: 16px;
36
- top: 16px;
37
- white-space: nowrap;
38
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
39
- font-size: var(--kritzel-awareness-cursor-label-font-size, 12px);
40
- color: var(--kritzel-awareness-cursor-label-text-color, #ffffff);
41
- padding: 2px 8px;
42
- border-radius: 4px;
43
- line-height: 1.4;
44
- font-weight: 500;
45
- pointer-events: none;
46
- user-select: none;
47
- }
48
-
49
- .edge-indicator {
50
- position: absolute;
51
- top: -12px;
52
- left: -12px;
53
- width: 24px;
54
- height: 24px;
55
- display: flex;
56
- align-items: center;
57
- justify-content: center;
58
- transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
59
- opacity 300ms ease;
60
- will-change: transform;
61
- pointer-events: auto;
62
- user-select: none;
63
- cursor: pointer;
64
- }
65
-
66
- .edge-indicator.stale {
67
- opacity: 0;
68
- }
69
-
70
- .edge-indicator.tracking-object {
71
- transition-duration: 0ms;
72
- }
73
-
74
- .edge-arrow {
75
- position: absolute;
76
- filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));
77
- transition: opacity 300ms ease;
78
- }
79
-
80
- .edge-arrow.stale {
81
- opacity: 0;
82
- }
83
-
84
- .edge-label {
85
- position: absolute;
86
- white-space: nowrap;
87
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
88
- font-size: var(--kritzel-awareness-cursor-label-font-size, 12px);
89
- color: var(--kritzel-awareness-cursor-label-text-color, #ffffff);
90
- padding: 2px 8px;
91
- border-radius: 4px;
92
- line-height: 1.4;
93
- font-weight: 500;
94
- pointer-events: none;
95
- opacity: 0;
96
- transform-origin: center;
97
- transition: opacity 150ms ease;
98
- }
99
-
100
- .edge-indicator:hover .edge-label {
101
- opacity: 1;
102
- }
103
-
104
- .remote-selection-box {
105
- position: absolute;
106
- top: 0;
107
- left: 0;
108
- border-width: 2px;
109
- border-style: solid;
110
- pointer-events: none;
111
- will-change: transform, width, height;
112
- transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
113
- width var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
114
- height var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out;
115
- }
1
+ :host {
2
+ display: block;
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ width: 100vw;
7
+ height: 100vh;
8
+ pointer-events: none;
9
+ z-index: 1;
10
+ }
11
+
12
+ .awareness-cursor {
13
+ position: absolute;
14
+ top: 0;
15
+ left: 0;
16
+ transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
17
+ opacity 300ms ease;
18
+ will-change: transform;
19
+ }
20
+
21
+ .awareness-cursor.stale {
22
+ opacity: 0;
23
+ }
24
+
25
+ .awareness-cursor.tracking-object {
26
+ transition-duration: 0ms;
27
+ }
28
+
29
+ .cursor-arrow {
30
+ filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
31
+ }
32
+
33
+ .cursor-label {
34
+ position: absolute;
35
+ left: 16px;
36
+ top: 16px;
37
+ white-space: nowrap;
38
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
39
+ font-size: var(--kritzel-awareness-cursor-label-font-size, 12px);
40
+ color: var(--kritzel-awareness-cursor-label-text-color, #ffffff);
41
+ padding: 2px 8px;
42
+ border-radius: 4px;
43
+ line-height: 1.4;
44
+ font-weight: 500;
45
+ pointer-events: none;
46
+ user-select: none;
47
+ }
48
+
49
+ .edge-indicator {
50
+ position: absolute;
51
+ top: -12px;
52
+ left: -12px;
53
+ width: 24px;
54
+ height: 24px;
55
+ display: flex;
56
+ align-items: center;
57
+ justify-content: center;
58
+ transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
59
+ opacity 300ms ease;
60
+ will-change: transform;
61
+ pointer-events: auto;
62
+ user-select: none;
63
+ cursor: pointer;
64
+ }
65
+
66
+ .edge-indicator.stale {
67
+ opacity: 0;
68
+ }
69
+
70
+ .edge-indicator.tracking-object {
71
+ transition-duration: 0ms;
72
+ }
73
+
74
+ .edge-arrow {
75
+ position: absolute;
76
+ filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));
77
+ transition: opacity 300ms ease;
78
+ }
79
+
80
+ .edge-arrow.stale {
81
+ opacity: 0;
82
+ }
83
+
84
+ .edge-label {
85
+ position: absolute;
86
+ white-space: nowrap;
87
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
88
+ font-size: var(--kritzel-awareness-cursor-label-font-size, 12px);
89
+ color: var(--kritzel-awareness-cursor-label-text-color, #ffffff);
90
+ padding: 2px 8px;
91
+ border-radius: 4px;
92
+ line-height: 1.4;
93
+ font-weight: 500;
94
+ pointer-events: none;
95
+ opacity: 0;
96
+ transform-origin: center;
97
+ transition: opacity 150ms ease;
98
+ }
99
+
100
+ .edge-indicator:hover .edge-label {
101
+ opacity: 1;
102
+ }
103
+
104
+ .remote-selection-box {
105
+ position: absolute;
106
+ top: 0;
107
+ left: 0;
108
+ border-width: 2px;
109
+ border-style: solid;
110
+ pointer-events: none;
111
+ will-change: transform, width, height;
112
+ transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
113
+ width var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
114
+ height var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out;
115
+ }
@@ -210,7 +210,7 @@ export class KritzelAwarenessCursors {
210
210
  void _ty;
211
211
  void this.objectVersion;
212
212
  const cursors = Array.from(this.remoteCursors.values());
213
- return (h(Host, { key: 'b157f337127f7e5852acc0d6a246fa42e944a501' }, cursors.map(remoteCursor => {
213
+ return (h(Host, { key: '9be6694250bafe011be27301d1c7a53fc7957657' }, cursors.map(remoteCursor => {
214
214
  if (!remoteCursor.cursor)
215
215
  return null;
216
216
  // When a remote user is actively drawing, derive cursor position from
@@ -1,10 +1,10 @@
1
- :host {
2
- display: block;
3
- position: fixed;
4
- top: 0;
5
- left: 0;
6
- width: 100vw;
7
- height: 100vh;
8
- pointer-events: none;
9
- z-index: 9000;
10
- }
1
+ :host {
2
+ display: block;
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ width: 100vw;
7
+ height: 100vh;
8
+ pointer-events: none;
9
+ z-index: 9000;
10
+ }
@@ -63,7 +63,7 @@ export class KritzelCursorTrail {
63
63
  }
64
64
  }
65
65
  render() {
66
- return (h(Host, { key: 'cf2cf1c689bdc8ea393a7ea8f32698cfcdb0e375' }, this.cursorTrailPoints.length > 1 && (h("svg", { key: 'df38c45537217982f7fb9513b954f3b0fa27acea', class: "cursor-trail-svg", xmlns: "http://www.w3.org/2000/svg", style: {
66
+ return (h(Host, { key: 'b427550b19a3e172cb25d05e34635121b82a61c5' }, this.cursorTrailPoints.length > 1 && (h("svg", { key: '9685b563497e110f36c0feffbfde04ebeb38024b', class: "cursor-trail-svg", xmlns: "http://www.w3.org/2000/svg", style: {
67
67
  position: 'absolute',
68
68
  left: '0',
69
69
  top: '0',