@ckeditor/ckeditor5-utils 44.1.0 → 44.2.0-alpha.0

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 (213) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/index-content.css +2 -2
  3. package/dist/index-editor.css +2 -2
  4. package/dist/index.css +2 -2
  5. package/dist/index.js +194 -47
  6. package/dist/index.js.map +1 -1
  7. package/package.json +24 -4
  8. package/src/abortabledebounce.d.ts +1 -1
  9. package/src/abortabledebounce.js +1 -1
  10. package/src/areconnectedthroughproperties.d.ts +1 -1
  11. package/src/areconnectedthroughproperties.js +1 -1
  12. package/src/ckeditorerror.d.ts +1 -1
  13. package/src/ckeditorerror.js +1 -1
  14. package/src/collection.d.ts +1 -1
  15. package/src/collection.js +1 -1
  16. package/src/collectstylesheets.d.ts +13 -0
  17. package/src/collectstylesheets.js +52 -0
  18. package/src/comparearrays.d.ts +1 -1
  19. package/src/comparearrays.js +1 -1
  20. package/src/config.d.ts +1 -1
  21. package/src/config.js +1 -1
  22. package/src/count.d.ts +1 -1
  23. package/src/count.js +1 -1
  24. package/src/crc32.d.ts +1 -1
  25. package/src/crc32.js +1 -1
  26. package/src/delay.d.ts +1 -1
  27. package/src/delay.js +1 -1
  28. package/src/diff.d.ts +1 -1
  29. package/src/diff.js +1 -1
  30. package/src/difftochanges.d.ts +1 -1
  31. package/src/difftochanges.js +1 -1
  32. package/src/dom/createelement.d.ts +1 -1
  33. package/src/dom/createelement.js +1 -1
  34. package/src/dom/emittermixin.d.ts +1 -1
  35. package/src/dom/emittermixin.js +1 -1
  36. package/src/dom/findclosestscrollableancestor.d.ts +1 -1
  37. package/src/dom/findclosestscrollableancestor.js +1 -1
  38. package/src/dom/getancestors.d.ts +1 -1
  39. package/src/dom/getancestors.js +1 -1
  40. package/src/dom/getborderwidths.d.ts +1 -1
  41. package/src/dom/getborderwidths.js +1 -1
  42. package/src/dom/getcommonancestor.d.ts +1 -1
  43. package/src/dom/getcommonancestor.js +1 -1
  44. package/src/dom/getdatafromelement.d.ts +1 -1
  45. package/src/dom/getdatafromelement.js +1 -1
  46. package/src/dom/getpositionedancestor.d.ts +1 -1
  47. package/src/dom/getpositionedancestor.js +1 -1
  48. package/src/dom/getrangefrommouseevent.d.ts +1 -1
  49. package/src/dom/getrangefrommouseevent.js +1 -1
  50. package/src/dom/global.d.ts +1 -1
  51. package/src/dom/global.js +1 -1
  52. package/src/dom/indexof.d.ts +1 -1
  53. package/src/dom/indexof.js +1 -1
  54. package/src/dom/insertat.d.ts +1 -1
  55. package/src/dom/insertat.js +1 -1
  56. package/src/dom/iscomment.d.ts +1 -1
  57. package/src/dom/iscomment.js +1 -1
  58. package/src/dom/isnode.d.ts +1 -1
  59. package/src/dom/isnode.js +1 -1
  60. package/src/dom/isrange.d.ts +1 -1
  61. package/src/dom/isrange.js +1 -1
  62. package/src/dom/istext.d.ts +1 -1
  63. package/src/dom/istext.js +1 -1
  64. package/src/dom/isvalidattributename.d.ts +1 -1
  65. package/src/dom/isvalidattributename.js +1 -1
  66. package/src/dom/isvisible.d.ts +1 -1
  67. package/src/dom/isvisible.js +1 -1
  68. package/src/dom/iswindow.d.ts +1 -1
  69. package/src/dom/iswindow.js +1 -1
  70. package/src/dom/position.d.ts +1 -1
  71. package/src/dom/position.js +1 -1
  72. package/src/dom/rect.d.ts +1 -1
  73. package/src/dom/rect.js +1 -1
  74. package/src/dom/remove.d.ts +1 -1
  75. package/src/dom/remove.js +1 -1
  76. package/src/dom/resizeobserver.d.ts +1 -1
  77. package/src/dom/resizeobserver.js +1 -1
  78. package/src/dom/scroll.d.ts +1 -1
  79. package/src/dom/scroll.js +1 -1
  80. package/src/dom/setdatainelement.d.ts +1 -1
  81. package/src/dom/setdatainelement.js +1 -1
  82. package/src/dom/tounit.d.ts +1 -1
  83. package/src/dom/tounit.js +1 -1
  84. package/src/elementreplacer.d.ts +1 -1
  85. package/src/elementreplacer.js +1 -1
  86. package/src/emittermixin.d.ts +1 -1
  87. package/src/emittermixin.js +1 -1
  88. package/src/env.d.ts +1 -1
  89. package/src/env.js +1 -1
  90. package/src/eventinfo.d.ts +1 -1
  91. package/src/eventinfo.js +1 -1
  92. package/src/fastdiff.d.ts +1 -1
  93. package/src/fastdiff.js +1 -1
  94. package/src/first.d.ts +1 -1
  95. package/src/first.js +1 -1
  96. package/src/focustracker.d.ts +1 -1
  97. package/src/focustracker.js +1 -1
  98. package/src/index.d.ts +3 -1
  99. package/src/index.js +3 -1
  100. package/src/inserttopriorityarray.d.ts +1 -1
  101. package/src/inserttopriorityarray.js +1 -1
  102. package/src/isiterable.d.ts +1 -1
  103. package/src/isiterable.js +1 -1
  104. package/src/keyboard.d.ts +4 -3
  105. package/src/keyboard.js +8 -4
  106. package/src/keystrokehandler.d.ts +1 -1
  107. package/src/keystrokehandler.js +1 -1
  108. package/src/language.d.ts +1 -1
  109. package/src/language.js +1 -1
  110. package/src/locale.d.ts +1 -1
  111. package/src/locale.js +1 -1
  112. package/src/mapsequal.d.ts +1 -1
  113. package/src/mapsequal.js +1 -1
  114. package/src/mix.d.ts +1 -1
  115. package/src/mix.js +1 -1
  116. package/src/nth.d.ts +1 -1
  117. package/src/nth.js +1 -1
  118. package/src/objecttomap.d.ts +1 -1
  119. package/src/objecttomap.js +1 -1
  120. package/src/observablemixin.d.ts +1 -1
  121. package/src/observablemixin.js +1 -1
  122. package/src/parsebase64encodedobject.d.ts +1 -1
  123. package/src/parsebase64encodedobject.js +1 -1
  124. package/src/priorities.d.ts +1 -1
  125. package/src/priorities.js +1 -1
  126. package/src/retry.d.ts +1 -1
  127. package/src/retry.js +1 -1
  128. package/src/splicearray.d.ts +1 -1
  129. package/src/splicearray.js +1 -1
  130. package/src/spy.d.ts +1 -1
  131. package/src/spy.js +1 -1
  132. package/src/toarray.d.ts +1 -1
  133. package/src/toarray.js +1 -1
  134. package/src/tomap.d.ts +1 -1
  135. package/src/tomap.js +1 -1
  136. package/src/translation-service.d.ts +1 -1
  137. package/src/translation-service.js +1 -1
  138. package/src/uid.d.ts +1 -1
  139. package/src/uid.js +1 -1
  140. package/src/unicode.d.ts +1 -1
  141. package/src/unicode.js +1 -1
  142. package/src/version.d.ts +2 -2
  143. package/src/version.js +3 -3
  144. package/src/wait.d.ts +1 -1
  145. package/src/wait.js +1 -1
  146. package/dist/abortabledebounce.d.ts +0 -21
  147. package/dist/areconnectedthroughproperties.d.ts +0 -15
  148. package/dist/ckeditorerror.d.ts +0 -127
  149. package/dist/collection.d.ts +0 -437
  150. package/dist/comparearrays.d.ts +0 -34
  151. package/dist/config.d.ts +0 -167
  152. package/dist/count.d.ts +0 -22
  153. package/dist/crc32.d.ts +0 -30
  154. package/dist/delay.d.ts +0 -23
  155. package/dist/diff.d.ts +0 -35
  156. package/dist/difftochanges.d.ts +0 -63
  157. package/dist/dom/createelement.d.ts +0 -61
  158. package/dist/dom/emittermixin.d.ts +0 -146
  159. package/dist/dom/findclosestscrollableancestor.d.ts +0 -15
  160. package/dist/dom/getancestors.d.ts +0 -21
  161. package/dist/dom/getborderwidths.d.ts +0 -28
  162. package/dist/dom/getcommonancestor.d.ts +0 -16
  163. package/dist/dom/getdatafromelement.d.ts +0 -18
  164. package/dist/dom/getpositionedancestor.d.ts +0 -14
  165. package/dist/dom/getrangefrommouseevent.d.ts +0 -21
  166. package/dist/dom/global.d.ts +0 -36
  167. package/dist/dom/indexof.d.ts +0 -18
  168. package/dist/dom/insertat.d.ts +0 -19
  169. package/dist/dom/iscomment.d.ts +0 -15
  170. package/dist/dom/isnode.d.ts +0 -15
  171. package/dist/dom/isrange.d.ts +0 -15
  172. package/dist/dom/istext.d.ts +0 -15
  173. package/dist/dom/isvalidattributename.d.ts +0 -14
  174. package/dist/dom/isvisible.d.ts +0 -19
  175. package/dist/dom/iswindow.d.ts +0 -15
  176. package/dist/dom/position.d.ts +0 -215
  177. package/dist/dom/rect.d.ts +0 -199
  178. package/dist/dom/remove.d.ts +0 -17
  179. package/dist/dom/resizeobserver.d.ts +0 -78
  180. package/dist/dom/scroll.d.ts +0 -77
  181. package/dist/dom/setdatainelement.d.ts +0 -18
  182. package/dist/dom/tounit.d.ts +0 -26
  183. package/dist/elementreplacer.d.ts +0 -35
  184. package/dist/emittermixin.d.ts +0 -316
  185. package/dist/env.d.ts +0 -144
  186. package/dist/eventinfo.d.ts +0 -62
  187. package/dist/fastdiff.d.ts +0 -116
  188. package/dist/first.d.ts +0 -15
  189. package/dist/focustracker.d.ts +0 -144
  190. package/dist/index.d.ts +0 -70
  191. package/dist/inserttopriorityarray.d.ts +0 -34
  192. package/dist/isiterable.d.ts +0 -18
  193. package/dist/keyboard.d.ts +0 -130
  194. package/dist/keystrokehandler.d.ts +0 -101
  195. package/dist/language.d.ts +0 -21
  196. package/dist/locale.d.ts +0 -145
  197. package/dist/mapsequal.d.ts +0 -19
  198. package/dist/mix.d.ts +0 -89
  199. package/dist/nth.d.ts +0 -20
  200. package/dist/objecttomap.d.ts +0 -27
  201. package/dist/observablemixin.d.ts +0 -564
  202. package/dist/parsebase64encodedobject.d.ts +0 -15
  203. package/dist/priorities.d.ts +0 -37
  204. package/dist/retry.d.ts +0 -37
  205. package/dist/splicearray.d.ts +0 -31
  206. package/dist/spy.d.ts +0 -25
  207. package/dist/toarray.d.ts +0 -29
  208. package/dist/tomap.d.ts +0 -23
  209. package/dist/translation-service.d.ts +0 -178
  210. package/dist/uid.d.ts +0 -19
  211. package/dist/unicode.d.ts +0 -58
  212. package/dist/version.d.ts +0 -14
  213. package/dist/wait.d.ts +0 -20
package/LICENSE.md CHANGED
@@ -2,7 +2,7 @@ Software License Agreement
2
2
  ==========================
3
3
 
4
4
  **CKEditor&nbsp;5 Utilities** (https://github.com/ckeditor/ckeditor5)<br>
5
- Copyright (c) 2003–2024, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
5
+ Copyright (c) 2003–2025, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
6
6
 
7
7
  Licensed under a dual-license model, this software is available under:
8
8
 
@@ -1,4 +1,4 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
@@ -1,4 +1,4 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
package/dist/index.css CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  import { isObject, isString, isPlainObject, cloneDeepWith, isElement as isElement$1, isFunction, merge } from 'lodash-es';
6
6
 
7
7
  /**
8
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
8
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
9
9
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
10
10
  */ /* globals window, document */ /**
11
11
  * @module utils/dom/global
@@ -170,7 +170,7 @@ const userAgent = /* #__PURE__ */ getUserAgent();
170
170
  }
171
171
 
172
172
  /**
173
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
173
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
174
174
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
175
175
  */ /**
176
176
  * @module utils/fastdiff
@@ -523,7 +523,7 @@ const userAgent = /* #__PURE__ */ getUserAgent();
523
523
  diff.fastDiff = fastDiff;
524
524
 
525
525
  /**
526
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
526
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
527
527
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
528
528
  */ /**
529
529
  * @module utils/difftochanges
@@ -598,7 +598,7 @@ diff.fastDiff = fastDiff;
598
598
  }
599
599
 
600
600
  /**
601
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
601
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
602
602
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
603
603
  */ /**
604
604
  * @module utils/mix
@@ -646,7 +646,7 @@ diff.fastDiff = fastDiff;
646
646
  }
647
647
 
648
648
  /**
649
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
649
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
650
650
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
651
651
  */ /**
652
652
  * @module utils/spy
@@ -713,7 +713,7 @@ diff.fastDiff = fastDiff;
713
713
  }
714
714
 
715
715
  /**
716
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
716
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
717
717
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
718
718
  */ /**
719
719
  * @module utils/uid
@@ -738,7 +738,7 @@ diff.fastDiff = fastDiff;
738
738
  }
739
739
 
740
740
  /**
741
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
741
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
742
742
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
743
743
  */ /**
744
744
  * @module utils/priorities
@@ -757,8 +757,8 @@ diff.fastDiff = fastDiff;
757
757
  highest: 100000,
758
758
  high: 1000,
759
759
  normal: 0,
760
- low: -1000,
761
- lowest: -100000
760
+ low: -1e3,
761
+ lowest: -1e5
762
762
  };
763
763
 
764
764
  /**
@@ -784,7 +784,7 @@ diff.fastDiff = fastDiff;
784
784
  }
785
785
 
786
786
  /**
787
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
787
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
788
788
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
789
789
  */ /**
790
790
  * @module utils/ckeditorerror
@@ -959,9 +959,9 @@ diff.fastDiff = fastDiff;
959
959
  ];
960
960
  }
961
961
 
962
- const version = '44.1.0';
962
+ const version = '44.2.0-alpha.0';
963
963
  // The second argument is not a month. It is `monthIndex` and starts from `0`.
964
- const releaseDate = new Date(2024, 11, 16);
964
+ const releaseDate = new Date(2025, 0, 29);
965
965
  /* istanbul ignore next -- @preserve */ if (globalThis.CKEDITOR_VERSION) {
966
966
  /**
967
967
  * This error is thrown when, due to a mistake in the way CKEditor&nbsp;5 was installed,
@@ -2127,7 +2127,7 @@ function initObservable(observable) {
2127
2127
  }
2128
2128
 
2129
2129
  /**
2130
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2130
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2131
2131
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2132
2132
  */ /**
2133
2133
  * @module utils/elementreplacer
@@ -2172,7 +2172,7 @@ function initObservable(observable) {
2172
2172
  }
2173
2173
 
2174
2174
  /**
2175
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2175
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2176
2176
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2177
2177
  */ /**
2178
2178
  * @module utils/abortabledebounce
@@ -2192,7 +2192,7 @@ function initObservable(observable) {
2192
2192
  }
2193
2193
 
2194
2194
  /**
2195
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2195
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2196
2196
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2197
2197
  */ /**
2198
2198
  * @module utils/count
@@ -2215,7 +2215,7 @@ function initObservable(observable) {
2215
2215
  }
2216
2216
 
2217
2217
  /**
2218
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2218
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2219
2219
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2220
2220
  */ /**
2221
2221
  * @module utils/comparearrays
@@ -2258,7 +2258,7 @@ function initObservable(observable) {
2258
2258
  }
2259
2259
 
2260
2260
  /**
2261
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2261
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2262
2262
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2263
2263
  */ /**
2264
2264
  * @module utils/isiterable
@@ -2455,7 +2455,7 @@ function initObservable(observable) {
2455
2455
  }
2456
2456
 
2457
2457
  /**
2458
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2458
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2459
2459
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2460
2460
  */ /**
2461
2461
  * @module utils/dom/isnode
@@ -2473,7 +2473,7 @@ function initObservable(observable) {
2473
2473
  }
2474
2474
 
2475
2475
  /**
2476
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2476
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2477
2477
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2478
2478
  */ /**
2479
2479
  * @module utils/dom/iswindow
@@ -2757,7 +2757,7 @@ function DomEmitterMixin(base) {
2757
2757
  }
2758
2758
 
2759
2759
  /**
2760
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2760
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2761
2761
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2762
2762
  */ /* globals Node */ /**
2763
2763
  * @module utils/dom/getancestors
@@ -2781,7 +2781,7 @@ function DomEmitterMixin(base) {
2781
2781
  }
2782
2782
 
2783
2783
  /**
2784
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2784
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2785
2785
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2786
2786
  */ /* globals HTMLTextAreaElement */ /**
2787
2787
  * @module utils/dom/getdatafromelement
@@ -2798,7 +2798,7 @@ function DomEmitterMixin(base) {
2798
2798
  }
2799
2799
 
2800
2800
  /**
2801
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2801
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2802
2802
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2803
2803
  */ /**
2804
2804
  * @module utils/dom/getborderwidths
@@ -2820,7 +2820,7 @@ function DomEmitterMixin(base) {
2820
2820
  }
2821
2821
 
2822
2822
  /**
2823
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2823
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2824
2824
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2825
2825
  */ /**
2826
2826
  * @module utils/dom/getrangefrommouseevent
@@ -2849,7 +2849,7 @@ function DomEmitterMixin(base) {
2849
2849
  }
2850
2850
 
2851
2851
  /**
2852
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2852
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2853
2853
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2854
2854
  */ /**
2855
2855
  * @module utils/dom/istext
@@ -2860,7 +2860,7 @@ function DomEmitterMixin(base) {
2860
2860
  }
2861
2861
 
2862
2862
  /**
2863
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2863
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2864
2864
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
2865
2865
  */ /**
2866
2866
  * @module utils/dom/isrange
@@ -3468,7 +3468,7 @@ const rectProperties = [
3468
3468
  }
3469
3469
 
3470
3470
  /**
3471
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3471
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3472
3472
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
3473
3473
  */ /**
3474
3474
  * @module utils/dom/setdatainelement
@@ -3485,7 +3485,7 @@ const rectProperties = [
3485
3485
  }
3486
3486
 
3487
3487
  /**
3488
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3488
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3489
3489
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
3490
3490
  */ /**
3491
3491
  * @module utils/dom/tounit
@@ -3499,7 +3499,7 @@ const rectProperties = [
3499
3499
  }
3500
3500
 
3501
3501
  /**
3502
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3502
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3503
3503
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
3504
3504
  */ /**
3505
3505
  * @module utils/dom/indexof
@@ -3518,7 +3518,7 @@ const rectProperties = [
3518
3518
  }
3519
3519
 
3520
3520
  /**
3521
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3521
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3522
3522
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
3523
3523
  */ /**
3524
3524
  * @module utils/dom/insertat
@@ -3533,7 +3533,7 @@ const rectProperties = [
3533
3533
  }
3534
3534
 
3535
3535
  /**
3536
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3536
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3537
3537
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
3538
3538
  */ /* globals Node */ /**
3539
3539
  * @module utils/dom/iscomment
@@ -3881,7 +3881,7 @@ const rectProperties = [
3881
3881
  }
3882
3882
 
3883
3883
  /**
3884
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3884
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3885
3885
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
3886
3886
  */ /**
3887
3887
  * @module utils/dom/remove
@@ -4293,7 +4293,7 @@ const keyCodesToGlyphs = {
4293
4293
  * * `f1-f12`,
4294
4294
  * * `` ` ``, `-`, `=`, `[`, `]`, `;`, `'`, `,`, `.`, `/`, `\`,
4295
4295
  * * `arrow(left|up|right|bottom)`,
4296
- * * `backspace`, `delete`, `enter`, `esc`, `tab`,
4296
+ * * `backspace`, `delete`, `end`, `enter`, `esc`, `home`, `tab`,
4297
4297
  * * `ctrl`, `cmd`, `shift`, `alt`.
4298
4298
  */ const keyCodes = /* #__PURE__ */ generateKnownKeyCodes();
4299
4299
  const keyCodeNames = /* #__PURE__ */ Object.fromEntries(/* #__PURE__ */ Object.entries(keyCodes).map(([name, code])=>{
@@ -4366,10 +4366,12 @@ const keyCodeNames = /* #__PURE__ */ Object.fromEntries(/* #__PURE__ */ Object.e
4366
4366
  * environment–specific keystroke, i.e. `"⌘A"` on macOS.
4367
4367
  *
4368
4368
  * @param keystroke The keystroke text.
4369
+ * @param [forcedEnv] The environment to force the key translation to. If not provided, the current environment is used.
4369
4370
  * @returns The keystroke text specific for the environment.
4370
- */ function getEnvKeystrokeText(keystroke) {
4371
+ */ function getEnvKeystrokeText(keystroke, forcedEnv) {
4371
4372
  let keystrokeCode = parseKeystroke(keystroke);
4372
- const modifiersToGlyphs = Object.entries(env.isMac || env.isiOS ? modifiersToGlyphsMac : modifiersToGlyphsNonMac);
4373
+ const isMac = forcedEnv ? forcedEnv === 'Mac' : env.isMac || env.isiOS;
4374
+ const modifiersToGlyphs = Object.entries(isMac ? modifiersToGlyphsMac : modifiersToGlyphsNonMac);
4373
4375
  const modifiers = modifiersToGlyphs.reduce((modifiers, [name, glyph])=>{
4374
4376
  // Modifier keys are stored as a bit mask so extract those from the keystroke code.
4375
4377
  if ((keystrokeCode & keyCodes[name]) != 0) {
@@ -4444,6 +4446,8 @@ function generateKnownKeyCodes() {
4444
4446
  const keyCodes = {
4445
4447
  pageup: 33,
4446
4448
  pagedown: 34,
4449
+ end: 35,
4450
+ home: 36,
4447
4451
  arrowleft: 37,
4448
4452
  arrowup: 38,
4449
4453
  arrowright: 39,
@@ -4495,7 +4499,7 @@ function splitKeystrokeText(keystroke) {
4495
4499
  }
4496
4500
 
4497
4501
  /**
4498
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
4502
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
4499
4503
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4500
4504
  */ /**
4501
4505
  * @module utils/language
@@ -4525,7 +4529,7 @@ function splitKeystrokeText(keystroke) {
4525
4529
  }
4526
4530
 
4527
4531
  /**
4528
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
4532
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
4529
4533
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4530
4534
  */ /**
4531
4535
  * @module utils/toarray
@@ -4544,6 +4548,99 @@ function splitKeystrokeText(keystroke) {
4544
4548
  /* istanbul ignore else -- @preserve */ if (!global.window.CKEDITOR_TRANSLATIONS) {
4545
4549
  global.window.CKEDITOR_TRANSLATIONS = {};
4546
4550
  }
4551
+ /**
4552
+ * Adds translations to existing ones or overrides the existing translations. These translations will later
4553
+ * be available for the {@link module:utils/locale~Locale#t `t()`} function.
4554
+ *
4555
+ * The `translations` is an object which consists of `messageId: translation` pairs. Note that the message ID can be
4556
+ * either constructed from the message string or from the message ID if it was passed
4557
+ * (this happens rarely and mostly for short messages or messages with placeholders).
4558
+ * Since the editor displays only the message string, the message ID can be found either in the source code or in the
4559
+ * built translations for another language.
4560
+ *
4561
+ * ```ts
4562
+ * add( 'pl', {
4563
+ * 'Cancel': 'Anuluj',
4564
+ * 'IMAGE': 'obraz', // Note that the `IMAGE` comes from the message ID, while the string can be `image`.
4565
+ * } );
4566
+ * ```
4567
+ *
4568
+ * If the message is supposed to support various plural forms, make sure to provide an array with the singular form and all plural forms:
4569
+ *
4570
+ * ```ts
4571
+ * add( 'pl', {
4572
+ * 'Add space': [ 'Dodaj spację', 'Dodaj %0 spacje', 'Dodaj %0 spacji' ]
4573
+ * } );
4574
+ * ```
4575
+ *
4576
+ * You should also specify the third argument (the `getPluralForm()` function) that will be used to determine the plural form if no
4577
+ * language file was loaded for that language. All language files coming from CKEditor 5 sources will have this option set, so
4578
+ * these plural form rules will be reused by other translations added to the registered languages. The `getPluralForm()` function
4579
+ * can return either a Boolean or a number.
4580
+ *
4581
+ * ```ts
4582
+ * add( 'en', {
4583
+ * // ... Translations.
4584
+ * }, n => n !== 1 );
4585
+ * add( 'pl', {
4586
+ * // ... Translations.
4587
+ * }, n => n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && ( n % 100 < 10 || n % 100 >= 20 ) ? 1 : 2 );
4588
+ * ```
4589
+ *
4590
+ * All translations extend the global `window.CKEDITOR_TRANSLATIONS` object. An example of this object can be found below:
4591
+ *
4592
+ * ```ts
4593
+ * {
4594
+ * pl: {
4595
+ * dictionary: {
4596
+ * 'Cancel': 'Anuluj',
4597
+ * 'Add space': [ 'Dodaj spację', 'Dodaj %0 spacje', 'Dodaj %0 spacji' ]
4598
+ * },
4599
+ * // A function that returns the plural form index.
4600
+ * getPluralForm: n => n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && ( n % 100 < 10 || n % 100 >= 20 ) ? 1 : 2 );
4601
+ * }
4602
+ * // Other languages.
4603
+ * }
4604
+ * ```
4605
+ *
4606
+ * If you cannot import this function from this module (e.g. because you use a CKEditor 5 build), you can
4607
+ * still add translations by extending the global `window.CKEDITOR_TRANSLATIONS` object by using a function like
4608
+ * the one below:
4609
+ *
4610
+ * ```ts
4611
+ * function addTranslations( language, translations, getPluralForm ) {
4612
+ * if ( !global.window.CKEDITOR_TRANSLATIONS ) {
4613
+ * global.window.CKEDITOR_TRANSLATIONS = {};
4614
+ * }
4615
+
4616
+ * if ( !global.window.CKEDITOR_TRANSLATIONS[ language ] ) {
4617
+ * global.window.CKEDITOR_TRANSLATIONS[ language ] = {};
4618
+ * }
4619
+ *
4620
+ * const languageTranslations = global.window.CKEDITOR_TRANSLATIONS[ language ];
4621
+ *
4622
+ * languageTranslations.dictionary = languageTranslations.dictionary || {};
4623
+ * languageTranslations.getPluralForm = getPluralForm || languageTranslations.getPluralForm;
4624
+ *
4625
+ * // Extend the dictionary for the given language.
4626
+ * Object.assign( languageTranslations.dictionary, translations );
4627
+ * }
4628
+ * ```
4629
+ *
4630
+ * @param language Target language.
4631
+ * @param translations An object with translations which will be added to the dictionary.
4632
+ * For each message ID the value should be either a translation or an array of translations if the message
4633
+ * should support plural forms.
4634
+ * @param getPluralForm A function that returns the plural form index (a number).
4635
+ */ function add(language, translations, getPluralForm) {
4636
+ if (!global.window.CKEDITOR_TRANSLATIONS[language]) {
4637
+ global.window.CKEDITOR_TRANSLATIONS[language] = {};
4638
+ }
4639
+ const languageTranslations = global.window.CKEDITOR_TRANSLATIONS[language];
4640
+ languageTranslations.dictionary = languageTranslations.dictionary || {};
4641
+ languageTranslations.getPluralForm = getPluralForm || languageTranslations.getPluralForm;
4642
+ Object.assign(languageTranslations.dictionary, translations);
4643
+ }
4547
4644
  /**
4548
4645
  * **Note:** This method is internal, use {@link module:utils/locale~Locale#t the `t()` function} instead to translate
4549
4646
  * the editor UI parts.
@@ -5345,7 +5442,7 @@ function getNumberOfLanguages(translations) {
5345
5442
  }
5346
5443
 
5347
5444
  /**
5348
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
5445
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
5349
5446
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
5350
5447
  */ /**
5351
5448
  * @module utils/first
@@ -5769,7 +5866,7 @@ function isFocusedView(subTreeRoot, view) {
5769
5866
  }
5770
5867
 
5771
5868
  /**
5772
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
5869
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
5773
5870
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
5774
5871
  */ /**
5775
5872
  * @module utils/objecttomap
@@ -5813,7 +5910,7 @@ function isFocusedView(subTreeRoot, view) {
5813
5910
  }
5814
5911
 
5815
5912
  /**
5816
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
5913
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
5817
5914
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
5818
5915
  */ /**
5819
5916
  * @module utils/wait
@@ -5881,7 +5978,7 @@ function isFocusedView(subTreeRoot, view) {
5881
5978
  }
5882
5979
 
5883
5980
  /**
5884
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
5981
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
5885
5982
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
5886
5983
  */ /**
5887
5984
  * @module utils/splicearray
@@ -5917,7 +6014,7 @@ function isFocusedView(subTreeRoot, view) {
5917
6014
  }
5918
6015
 
5919
6016
  /**
5920
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
6017
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
5921
6018
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
5922
6019
  */ /**
5923
6020
  * @module utils/delay
@@ -5940,7 +6037,7 @@ function isFocusedView(subTreeRoot, view) {
5940
6037
  }
5941
6038
 
5942
6039
  /**
5943
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
6040
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
5944
6041
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
5945
6042
  */ /**
5946
6043
  * @module utils/parsebase64encodedobject
@@ -5959,7 +6056,7 @@ function isFocusedView(subTreeRoot, view) {
5959
6056
  }
5960
6057
 
5961
6058
  /**
5962
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
6059
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
5963
6060
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
5964
6061
  */ /**
5965
6062
  * @module utils/crc32
@@ -6018,7 +6115,57 @@ function isFocusedView(subTreeRoot, view) {
6018
6115
  }
6019
6116
 
6020
6117
  /**
6021
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
6118
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
6119
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
6120
+ */ /**
6121
+ * @module utils/collectstylesheets
6122
+ */ /**
6123
+ * A helper function for getting concatenated CSS rules from external stylesheets.
6124
+ *
6125
+ * @param stylesheets An array of stylesheet paths delivered by the user through the plugin configuration.
6126
+ */ async function collectStylesheets(stylesheets) {
6127
+ if (!stylesheets) {
6128
+ return '';
6129
+ }
6130
+ const results = await Promise.all(stylesheets.map(async (stylesheet)=>{
6131
+ if (stylesheet === 'EDITOR_STYLES') {
6132
+ return getEditorStyles();
6133
+ }
6134
+ const response = await window.fetch(stylesheet);
6135
+ return response.text();
6136
+ }));
6137
+ return results.join(' ').trim();
6138
+ }
6139
+ /**
6140
+ * A helper function for getting the basic editor content styles for the `.ck-content` class
6141
+ * and all CSS variables defined in the document.
6142
+ */ function getEditorStyles() {
6143
+ const editorStyles = [];
6144
+ const editorCSSVariables = [];
6145
+ for (const styleSheet of Array.from(document.styleSheets)){
6146
+ const ownerNode = styleSheet.ownerNode;
6147
+ if (ownerNode.hasAttribute('data-cke')) {
6148
+ for (const rule of Array.from(styleSheet.cssRules)){
6149
+ if (rule.cssText.indexOf('.ck-content') !== -1) {
6150
+ editorStyles.push(rule.cssText);
6151
+ } else if (rule.cssText.indexOf(':root') !== -1) {
6152
+ editorCSSVariables.push(rule.cssText);
6153
+ }
6154
+ }
6155
+ }
6156
+ }
6157
+ if (!editorStyles.length) {
6158
+ console.warn('The editor stylesheet could not be found in the document. ' + 'Check your webpack config - style-loader should use data-cke=true attribute for the editor stylesheet.');
6159
+ }
6160
+ // We want to trim the returned value in case of `[ "", "", ... ]`.
6161
+ return [
6162
+ ...editorCSSVariables,
6163
+ ...editorStyles
6164
+ ].join(' ').trim();
6165
+ }
6166
+
6167
+ /**
6168
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
6022
6169
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
6023
6170
  */ /**
6024
6171
  * Set of utils to handle unicode characters.
@@ -6095,5 +6242,5 @@ function buildEmojiRegexp() {
6095
6242
  return new RegExp(sequence, 'ug');
6096
6243
  }
6097
6244
 
6098
- export { CKEditorError, Collection, Config, DomEmitterMixin, ElementReplacer, EmitterMixin, EventInfo, FocusTracker, KeystrokeHandler, Locale, ObservableMixin, Rect, ResizeObserver, abortableDebounce, compareArrays, count, crc32, createElement, delay, diff, diffToChanges, env, exponentialDelay, fastDiff, findClosestScrollableAncestor, first, getAncestors, getBorderWidths, getCode, getDataFromElement, getEnvKeystrokeText, getLanguageDirection, getLocalizedArrowKeyCodeDirection, getOptimalPosition, getRangeFromMouseEvent, global, indexOf, insertAt, insertToPriorityArray, isArrowKeyCode, isCombiningMark, isComment, isForwardArrowKeyCode, isHighSurrogateHalf, isInsideCombinedSymbol, isInsideEmojiSequence, isInsideSurrogatePair, isIterable, isLowSurrogateHalf, isNode, isRange, isText, isValidAttributeName, isViewWithFocusTracker, isVisible, keyCodes, logError, logWarning, mix, parseBase64EncodedObject, parseKeystroke, priorities, releaseDate, remove, retry, scrollAncestorsToShowTarget, scrollViewportToShowTarget, setDataInElement, spliceArray, toArray, toMap, toUnit, uid, version, wait };
6245
+ export { CKEditorError, Collection, Config, DomEmitterMixin, ElementReplacer, EmitterMixin, EventInfo, FocusTracker, KeystrokeHandler, Locale, ObservableMixin, Rect, ResizeObserver, abortableDebounce, add, collectStylesheets, compareArrays, count, crc32, createElement, delay, diff, diffToChanges, env, exponentialDelay, fastDiff, findClosestScrollableAncestor, first, getAncestors, getBorderWidths, getCode, getDataFromElement, getEnvKeystrokeText, getLanguageDirection, getLocalizedArrowKeyCodeDirection, getOptimalPosition, getRangeFromMouseEvent, global, indexOf, insertAt, insertToPriorityArray, isArrowKeyCode, isCombiningMark, isComment, isForwardArrowKeyCode, isHighSurrogateHalf, isInsideCombinedSymbol, isInsideEmojiSequence, isInsideSurrogatePair, isIterable, isLowSurrogateHalf, isNode, isRange, isText, isValidAttributeName, isViewWithFocusTracker, isVisible, keyCodes, logError, logWarning, mix, parseBase64EncodedObject, parseKeystroke, priorities, releaseDate, remove, retry, scrollAncestorsToShowTarget, scrollViewportToShowTarget, setDataInElement, spliceArray, toArray, toMap, toUnit, uid, version, wait };
6099
6246
  //# sourceMappingURL=index.js.map