@ckeditor/ckeditor5-engine 48.2.0 → 48.3.0-alpha.1

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 (129) hide show
  1. package/dist/controller/datacontroller.d.ts +329 -328
  2. package/dist/controller/editingcontroller.d.ts +95 -94
  3. package/dist/conversion/comparemarkers.d.ts +45 -45
  4. package/dist/conversion/conversion.d.ts +474 -474
  5. package/dist/conversion/conversionhelpers.d.ts +21 -21
  6. package/dist/conversion/downcastdispatcher.d.ts +539 -538
  7. package/dist/conversion/downcasthelpers.d.ts +1129 -1129
  8. package/dist/conversion/mapper.d.ts +692 -697
  9. package/dist/conversion/modelconsumable.d.ts +196 -196
  10. package/dist/conversion/upcastdispatcher.d.ts +483 -482
  11. package/dist/conversion/upcasthelpers.d.ts +491 -491
  12. package/dist/conversion/viewconsumable.d.ts +330 -330
  13. package/dist/dataprocessor/basichtmlwriter.d.ts +15 -15
  14. package/dist/dataprocessor/dataprocessor.d.ts +57 -57
  15. package/dist/dataprocessor/htmldataprocessor.d.ts +72 -72
  16. package/dist/dataprocessor/htmlwriter.d.ts +11 -11
  17. package/dist/dataprocessor/xmldataprocessor.d.ts +86 -86
  18. package/dist/dev-utils/model.d.ts +128 -123
  19. package/dist/dev-utils/operationreplayer.d.ts +49 -49
  20. package/dist/dev-utils/utils.d.ts +33 -33
  21. package/dist/dev-utils/view.d.ts +314 -309
  22. package/dist/engineconfig.d.ts +39 -39
  23. package/dist/index.css.map +1 -1
  24. package/dist/index.d.ts +150 -150
  25. package/dist/index.js +34026 -40107
  26. package/dist/index.js.map +1 -1
  27. package/dist/legacyerrors.d.ts +0 -4
  28. package/dist/model/batch.d.ts +86 -86
  29. package/dist/model/differ.d.ts +504 -504
  30. package/dist/model/document.d.ts +265 -268
  31. package/dist/model/documentfragment.d.ts +214 -214
  32. package/dist/model/documentselection.d.ts +406 -410
  33. package/dist/model/element.d.ts +182 -182
  34. package/dist/model/history.d.ts +109 -109
  35. package/dist/model/item.d.ts +9 -9
  36. package/dist/model/liveposition.d.ts +70 -69
  37. package/dist/model/liverange.d.ts +93 -92
  38. package/dist/model/markercollection.d.ts +317 -324
  39. package/dist/model/model.d.ts +889 -909
  40. package/dist/model/node.d.ts +254 -254
  41. package/dist/model/nodelist.d.ts +110 -110
  42. package/dist/model/operation/attributeoperation.d.ts +98 -98
  43. package/dist/model/operation/detachoperation.d.ts +57 -57
  44. package/dist/model/operation/insertoperation.d.ts +85 -85
  45. package/dist/model/operation/markeroperation.d.ts +87 -87
  46. package/dist/model/operation/mergeoperation.d.ts +95 -95
  47. package/dist/model/operation/moveoperation.d.ts +97 -97
  48. package/dist/model/operation/nooperation.d.ts +33 -33
  49. package/dist/model/operation/operation.d.ts +94 -94
  50. package/dist/model/operation/operationfactory.d.ts +14 -14
  51. package/dist/model/operation/renameoperation.d.ts +78 -78
  52. package/dist/model/operation/rootattributeoperation.d.ts +93 -93
  53. package/dist/model/operation/rootoperation.d.ts +71 -71
  54. package/dist/model/operation/splitoperation.d.ts +104 -104
  55. package/dist/model/operation/transform.d.ts +91 -91
  56. package/dist/model/operation/utils.d.ts +58 -58
  57. package/dist/model/position.d.ts +535 -535
  58. package/dist/model/range.d.ts +458 -453
  59. package/dist/model/rootelement.d.ts +55 -55
  60. package/dist/model/schema.d.ts +1325 -1327
  61. package/dist/model/selection.d.ts +452 -471
  62. package/dist/model/text.d.ts +62 -62
  63. package/dist/model/textproxy.d.ts +140 -140
  64. package/dist/model/treewalker.d.ts +190 -190
  65. package/dist/model/typecheckable.d.ts +281 -281
  66. package/dist/model/utils/autoparagraphing.d.ts +29 -29
  67. package/dist/model/utils/deletecontent.d.ts +68 -68
  68. package/dist/model/utils/getselectedcontent.d.ts +27 -27
  69. package/dist/model/utils/insertcontent.d.ts +42 -42
  70. package/dist/model/utils/insertobject.d.ts +41 -41
  71. package/dist/model/utils/modifyselection.d.ts +44 -44
  72. package/dist/model/utils/selection-post-fixer.d.ts +71 -71
  73. package/dist/model/writer.d.ts +854 -854
  74. package/dist/view/attributeelement.d.ts +123 -123
  75. package/dist/view/containerelement.d.ts +49 -49
  76. package/dist/view/datatransfer.d.ts +70 -70
  77. package/dist/view/document.d.ts +175 -177
  78. package/dist/view/documentfragment.d.ts +158 -157
  79. package/dist/view/documentselection.d.ts +308 -307
  80. package/dist/view/domconverter.d.ts +612 -657
  81. package/dist/view/downcastwriter.d.ts +1006 -1006
  82. package/dist/view/editableelement.d.ts +64 -63
  83. package/dist/view/element.d.ts +754 -754
  84. package/dist/view/elementdefinition.d.ts +79 -79
  85. package/dist/view/emptyelement.d.ts +42 -42
  86. package/dist/view/filler.d.ts +75 -75
  87. package/dist/view/item.d.ts +9 -9
  88. package/dist/view/matcher.d.ts +412 -487
  89. package/dist/view/node.d.ts +164 -163
  90. package/dist/view/observer/arrowkeysobserver.d.ts +37 -37
  91. package/dist/view/observer/bubblingemittermixin.d.ts +163 -153
  92. package/dist/view/observer/bubblingeventinfo.d.ts +45 -42
  93. package/dist/view/observer/clickobserver.d.ts +36 -36
  94. package/dist/view/observer/compositionobserver.d.ts +67 -67
  95. package/dist/view/observer/domeventdata.d.ts +46 -46
  96. package/dist/view/observer/domeventobserver.d.ts +77 -74
  97. package/dist/view/observer/fakeselectionobserver.d.ts +42 -42
  98. package/dist/view/observer/focusobserver.d.ts +84 -84
  99. package/dist/view/observer/inputobserver.d.ts +76 -76
  100. package/dist/view/observer/keyobserver.d.ts +53 -53
  101. package/dist/view/observer/mouseobserver.d.ts +73 -73
  102. package/dist/view/observer/mutationobserver.d.ts +101 -101
  103. package/dist/view/observer/observer.d.ts +84 -83
  104. package/dist/view/observer/pointerobserver.d.ts +63 -63
  105. package/dist/view/observer/selectionobserver.d.ts +136 -136
  106. package/dist/view/observer/tabobserver.d.ts +38 -38
  107. package/dist/view/observer/touchobserver.d.ts +60 -60
  108. package/dist/view/placeholder.d.ts +80 -80
  109. package/dist/view/position.d.ts +187 -187
  110. package/dist/view/range.d.ts +282 -282
  111. package/dist/view/rawelement.d.ts +72 -72
  112. package/dist/view/renderer.d.ts +270 -272
  113. package/dist/view/rooteditableelement.d.ts +43 -43
  114. package/dist/view/selection.d.ts +356 -369
  115. package/dist/view/styles/background.d.ts +15 -15
  116. package/dist/view/styles/border.d.ts +27 -27
  117. package/dist/view/styles/margin.d.ts +12 -12
  118. package/dist/view/styles/padding.d.ts +12 -12
  119. package/dist/view/styles/utils.d.ts +72 -72
  120. package/dist/view/stylesmap.d.ts +715 -715
  121. package/dist/view/text.d.ts +75 -75
  122. package/dist/view/textproxy.d.ts +92 -92
  123. package/dist/view/tokenlist.d.ts +104 -104
  124. package/dist/view/treewalker.d.ts +201 -201
  125. package/dist/view/typecheckable.d.ts +445 -445
  126. package/dist/view/uielement.d.ts +93 -93
  127. package/dist/view/upcastwriter.d.ts +412 -412
  128. package/dist/view/view.d.ts +466 -469
  129. package/package.json +2 -2
@@ -1,20 +1,20 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module engine/dataprocessor/basichtmlwriter
7
- */
8
- import { type DataProcessorHtmlWriter } from './htmlwriter.js';
6
+ * @module engine/dataprocessor/basichtmlwriter
7
+ */
8
+ import { type DataProcessorHtmlWriter } from "./htmlwriter.js";
9
9
  /**
10
- * Basic HTML writer. It uses the native `innerHTML` property for basic conversion
11
- * from a document fragment to an HTML string.
12
- *
13
- * @internal
14
- */
10
+ * Basic HTML writer. It uses the native `innerHTML` property for basic conversion
11
+ * from a document fragment to an HTML string.
12
+ *
13
+ * @internal
14
+ */
15
15
  export declare class BasicHtmlWriter implements DataProcessorHtmlWriter {
16
- /**
17
- * Returns an HTML string created from the document fragment.
18
- */
19
- getHtml(fragment: DocumentFragment): string;
16
+ /**
17
+ * Returns an HTML string created from the document fragment.
18
+ */
19
+ getHtml(fragment: DocumentFragment): string;
20
20
  }
@@ -1,62 +1,62 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module engine/dataprocessor/dataprocessor
7
- */
8
- import { type ViewDocumentFragment } from '../view/documentfragment.js';
9
- import type { MatcherPattern } from '../view/matcher.js';
6
+ * @module engine/dataprocessor/dataprocessor
7
+ */
8
+ import { type ViewDocumentFragment } from "../view/documentfragment.js";
9
+ import type { MatcherPattern } from "../view/matcher.js";
10
10
  /**
11
- * The data processor interface. It should be implemented by actual data processors.
12
- *
13
- * Each data processor implements a certain format of the data. For example, {@glink features/markdown Markdown data processor}
14
- * will convert the data (a Markdown string) to a {@link module:engine/view/documentfragment~ViewDocumentFragment document fragment}
15
- * and back.
16
- *
17
- * **Note:** While the CKEditor 5 architecture supports changing the data format, in most scenarios we do recommend sticking to
18
- * the default format which is HTML (supported by the {@link module:engine/dataprocessor/htmldataprocessor~HtmlDataProcessor}).
19
- * HTML remains [the best standard for rich-text data](https://medium.com/content-uneditable/a-standard-for-rich-text-data-4b3a507af552).
20
- *
21
- * And please do remember – using Markdown [does not automatically make your
22
- * application/website secure](https://github.com/ckeditor/ckeditor5-markdown-gfm/issues/16#issuecomment-375752994).
23
- */
11
+ * The data processor interface. It should be implemented by actual data processors.
12
+ *
13
+ * Each data processor implements a certain format of the data. For example, {@glink features/markdown Markdown data processor}
14
+ * will convert the data (a Markdown string) to a {@link module:engine/view/documentfragment~ViewDocumentFragment document fragment}
15
+ * and back.
16
+ *
17
+ * **Note:** While the CKEditor 5 architecture supports changing the data format, in most scenarios we do recommend sticking to
18
+ * the default format which is HTML (supported by the {@link module:engine/dataprocessor/htmldataprocessor~HtmlDataProcessor}).
19
+ * HTML remains [the best standard for rich-text data](https://medium.com/content-uneditable/a-standard-for-rich-text-data-4b3a507af552).
20
+ *
21
+ * And please do remember – using Markdown [does not automatically make your
22
+ * application/website secure](https://github.com/ckeditor/ckeditor5-markdown-gfm/issues/16#issuecomment-375752994).
23
+ */
24
24
  export interface DataProcessor {
25
- /**
26
- * Converts a {@link module:engine/view/documentfragment~ViewDocumentFragment document fragment} to data.
27
- *
28
- * @param viewFragment The document fragment to be processed.
29
- */
30
- toData(viewFragment: ViewDocumentFragment): string;
31
- /**
32
- * Converts the data to a {@link module:engine/view/documentfragment~ViewDocumentFragment document fragment}.
33
- *
34
- * @param data The data to be processed.
35
- */
36
- toView(data: string): ViewDocumentFragment;
37
- /**
38
- * Registers a {@link module:engine/view/matcher~MatcherPattern} for view elements whose content should be treated as raw data
39
- * and its content should be converted to a
40
- * {@link module:engine/view/element~ViewElement#getCustomProperty custom property of a view element} called `"$rawContent"` while
41
- * converting {@link #toView to view}.
42
- *
43
- * @param pattern Pattern matching all view elements whose content should be treated as plain text.
44
- */
45
- registerRawContentMatcher(pattern: MatcherPattern): void;
46
- /**
47
- * If the processor is set to use marked fillers, it will insert `&nbsp;` fillers wrapped in `<span>` elements
48
- * (`<span data-cke-filler="true">&nbsp;</span>`) instead of regular `&nbsp;` characters.
49
- *
50
- * This mode allows for more precise handling of block fillers (so they do not leak into the editor content) but bloats the
51
- * editor data with additional markup.
52
- *
53
- * This mode may be required by some features and will be turned on by them automatically.
54
- *
55
- * @param type Whether to use the default or marked `&nbsp;` block fillers.
56
- */
57
- useFillerType(type: 'default' | 'marked'): void;
58
- /**
59
- * If `false`, comment nodes will be converted to `$comment`. Otherwise comment nodes are ignored.
60
- */
61
- skipComments?: boolean;
25
+ /**
26
+ * Converts a {@link module:engine/view/documentfragment~ViewDocumentFragment document fragment} to data.
27
+ *
28
+ * @param viewFragment The document fragment to be processed.
29
+ */
30
+ toData(viewFragment: ViewDocumentFragment): string;
31
+ /**
32
+ * Converts the data to a {@link module:engine/view/documentfragment~ViewDocumentFragment document fragment}.
33
+ *
34
+ * @param data The data to be processed.
35
+ */
36
+ toView(data: string): ViewDocumentFragment;
37
+ /**
38
+ * Registers a {@link module:engine/view/matcher~MatcherPattern} for view elements whose content should be treated as raw data
39
+ * and its content should be converted to a
40
+ * {@link module:engine/view/element~ViewElement#getCustomProperty custom property of a view element} called `"$rawContent"` while
41
+ * converting {@link #toView to view}.
42
+ *
43
+ * @param pattern Pattern matching all view elements whose content should be treated as plain text.
44
+ */
45
+ registerRawContentMatcher(pattern: MatcherPattern): void;
46
+ /**
47
+ * If the processor is set to use marked fillers, it will insert `&nbsp;` fillers wrapped in `<span>` elements
48
+ * (`<span data-cke-filler="true">&nbsp;</span>`) instead of regular `&nbsp;` characters.
49
+ *
50
+ * This mode allows for more precise handling of block fillers (so they do not leak into the editor content) but bloats the
51
+ * editor data with additional markup.
52
+ *
53
+ * This mode may be required by some features and will be turned on by them automatically.
54
+ *
55
+ * @param type Whether to use the default or marked `&nbsp;` block fillers.
56
+ */
57
+ useFillerType(type: "default" | "marked"): void;
58
+ /**
59
+ * If `false`, comment nodes will be converted to `$comment`. Otherwise comment nodes are ignored.
60
+ */
61
+ skipComments?: boolean;
62
62
  }
@@ -1,76 +1,76 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
- import { ViewDomConverter } from '../view/domconverter.js';
6
- import { type DataProcessor } from './dataprocessor.js';
7
- import { type DataProcessorHtmlWriter } from './htmlwriter.js';
8
- import { type ViewDocument } from '../view/document.js';
9
- import { type ViewDocumentFragment } from '../view/documentfragment.js';
10
- import type { MatcherPattern } from '../view/matcher.js';
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ import { ViewDomConverter } from "../view/domconverter.js";
6
+ import { type DataProcessor } from "./dataprocessor.js";
7
+ import { type DataProcessorHtmlWriter } from "./htmlwriter.js";
8
+ import { type ViewDocument } from "../view/document.js";
9
+ import { type ViewDocumentFragment } from "../view/documentfragment.js";
10
+ import type { MatcherPattern } from "../view/matcher.js";
11
11
  /**
12
- * The HTML data processor class.
13
- * This data processor implementation uses HTML as input and output data.
14
- */
12
+ * The HTML data processor class.
13
+ * This data processor implementation uses HTML as input and output data.
14
+ */
15
15
  export declare class HtmlDataProcessor implements DataProcessor {
16
- /**
17
- * A DOM parser instance used to parse an HTML string to an HTML document.
18
- */
19
- domParser: DOMParser;
20
- /**
21
- * A DOM converter used to convert DOM elements to view elements.
22
- */
23
- domConverter: ViewDomConverter;
24
- /**
25
- * A basic HTML writer instance used to convert DOM elements to an HTML string.
26
- */
27
- htmlWriter: DataProcessorHtmlWriter;
28
- skipComments: boolean;
29
- /**
30
- * Creates a new instance of the HTML data processor class.
31
- *
32
- * @param document The view document instance.
33
- */
34
- constructor(document: ViewDocument);
35
- /**
36
- * Converts a provided {@link module:engine/view/documentfragment~ViewDocumentFragment document fragment}
37
- * to data format &ndash; in this case to an HTML string.
38
- *
39
- * @returns HTML string.
40
- */
41
- toData(viewFragment: ViewDocumentFragment): string;
42
- /**
43
- * Converts the provided HTML string to a view tree.
44
- *
45
- * @param data An HTML string.
46
- * @returns A converted view element.
47
- */
48
- toView(data: string): ViewDocumentFragment;
49
- /**
50
- * Registers a {@link module:engine/view/matcher~MatcherPattern} for view elements whose content should be treated as raw data
51
- * and not processed during the conversion from the DOM to the view elements.
52
- *
53
- * The raw data can be later accessed by a
54
- * {@link module:engine/view/element~ViewElement#getCustomProperty custom property of a view element} called `"$rawContent"`.
55
- *
56
- * @param pattern Pattern matching all view elements whose content should be treated as raw data.
57
- */
58
- registerRawContentMatcher(pattern: MatcherPattern): void;
59
- /**
60
- * If the processor is set to use marked fillers, it will insert `&nbsp;` fillers wrapped in `<span>` elements
61
- * (`<span data-cke-filler="true">&nbsp;</span>`) instead of regular `&nbsp;` characters.
62
- *
63
- * This mode allows for a more precise handling of the block fillers (so they do not leak into the editor content) but
64
- * bloats the editor data with additional markup.
65
- *
66
- * This mode may be required by some features and will be turned on by them automatically.
67
- *
68
- * @param type Whether to use the default or the marked `&nbsp;` block fillers.
69
- */
70
- useFillerType(type: 'default' | 'marked'): void;
71
- /**
72
- * Converts an HTML string to its DOM representation. Returns a document fragment containing nodes parsed from
73
- * the provided data.
74
- */
75
- protected _toDom(data: string): DocumentFragment;
16
+ /**
17
+ * A DOM parser instance used to parse an HTML string to an HTML document.
18
+ */
19
+ domParser: DOMParser;
20
+ /**
21
+ * A DOM converter used to convert DOM elements to view elements.
22
+ */
23
+ domConverter: ViewDomConverter;
24
+ /**
25
+ * A basic HTML writer instance used to convert DOM elements to an HTML string.
26
+ */
27
+ htmlWriter: DataProcessorHtmlWriter;
28
+ skipComments: boolean;
29
+ /**
30
+ * Creates a new instance of the HTML data processor class.
31
+ *
32
+ * @param document The view document instance.
33
+ */
34
+ constructor(document: ViewDocument);
35
+ /**
36
+ * Converts a provided {@link module:engine/view/documentfragment~ViewDocumentFragment document fragment}
37
+ * to data format &ndash; in this case to an HTML string.
38
+ *
39
+ * @returns HTML string.
40
+ */
41
+ toData(viewFragment: ViewDocumentFragment): string;
42
+ /**
43
+ * Converts the provided HTML string to a view tree.
44
+ *
45
+ * @param data An HTML string.
46
+ * @returns A converted view element.
47
+ */
48
+ toView(data: string): ViewDocumentFragment;
49
+ /**
50
+ * Registers a {@link module:engine/view/matcher~MatcherPattern} for view elements whose content should be treated as raw data
51
+ * and not processed during the conversion from the DOM to the view elements.
52
+ *
53
+ * The raw data can be later accessed by a
54
+ * {@link module:engine/view/element~ViewElement#getCustomProperty custom property of a view element} called `"$rawContent"`.
55
+ *
56
+ * @param pattern Pattern matching all view elements whose content should be treated as raw data.
57
+ */
58
+ registerRawContentMatcher(pattern: MatcherPattern): void;
59
+ /**
60
+ * If the processor is set to use marked fillers, it will insert `&nbsp;` fillers wrapped in `<span>` elements
61
+ * (`<span data-cke-filler="true">&nbsp;</span>`) instead of regular `&nbsp;` characters.
62
+ *
63
+ * This mode allows for a more precise handling of the block fillers (so they do not leak into the editor content) but
64
+ * bloats the editor data with additional markup.
65
+ *
66
+ * This mode may be required by some features and will be turned on by them automatically.
67
+ *
68
+ * @param type Whether to use the default or the marked `&nbsp;` block fillers.
69
+ */
70
+ useFillerType(type: "default" | "marked"): void;
71
+ /**
72
+ * Converts an HTML string to its DOM representation. Returns a document fragment containing nodes parsed from
73
+ * the provided data.
74
+ */
75
+ protected _toDom(data: string): DocumentFragment;
76
76
  }
@@ -1,16 +1,16 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module engine/dataprocessor/htmlwriter
7
- */
6
+ * @module engine/dataprocessor/htmlwriter
7
+ */
8
8
  /**
9
- * The HTML writer interface.
10
- */
9
+ * The HTML writer interface.
10
+ */
11
11
  export interface DataProcessorHtmlWriter {
12
- /**
13
- * Returns an HTML string created from a document fragment.
14
- */
15
- getHtml(fragment: DocumentFragment): string;
12
+ /**
13
+ * Returns an HTML string created from a document fragment.
14
+ */
15
+ getHtml(fragment: DocumentFragment): string;
16
16
  }
@@ -1,90 +1,90 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
- import { ViewDomConverter } from '../view/domconverter.js';
6
- import { type DataProcessor } from './dataprocessor.js';
7
- import { type DataProcessorHtmlWriter } from './htmlwriter.js';
8
- import { type ViewDocument } from '../view/document.js';
9
- import { type ViewDocumentFragment } from '../view/documentfragment.js';
10
- import type { MatcherPattern } from '../view/matcher.js';
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ import { ViewDomConverter } from "../view/domconverter.js";
6
+ import { type DataProcessor } from "./dataprocessor.js";
7
+ import { type DataProcessorHtmlWriter } from "./htmlwriter.js";
8
+ import { type ViewDocument } from "../view/document.js";
9
+ import { type ViewDocumentFragment } from "../view/documentfragment.js";
10
+ import type { MatcherPattern } from "../view/matcher.js";
11
11
  /**
12
- * The XML data processor class.
13
- * This data processor implementation uses XML as input and output data.
14
- * This class is needed because unlike HTML, XML allows to use any tag with any value.
15
- * For example, `<link>Text</link>` is a valid XML but invalid HTML.
16
- */
12
+ * The XML data processor class.
13
+ * This data processor implementation uses XML as input and output data.
14
+ * This class is needed because unlike HTML, XML allows to use any tag with any value.
15
+ * For example, `<link>Text</link>` is a valid XML but invalid HTML.
16
+ */
17
17
  export declare class XmlDataProcessor implements DataProcessor {
18
- /**
19
- * A list of namespaces allowed to use in the XML input.
20
- *
21
- * For example, registering namespaces [ 'attribute', 'container' ] allows to use `<attirbute:tagName></attribute:tagName>`
22
- * and `<container:tagName></container:tagName>` input. It is mainly for debugging.
23
- */
24
- namespaces: Array<string>;
25
- /**
26
- * DOM parser instance used to parse an XML string to an XML document.
27
- */
28
- domParser: DOMParser;
29
- /**
30
- * DOM converter used to convert DOM elements to view elements.
31
- */
32
- domConverter: ViewDomConverter;
33
- /**
34
- * A basic HTML writer instance used to convert DOM elements to an XML string.
35
- * There is no need to use a dedicated XML writer because the basic HTML writer works well in this case.
36
- */
37
- htmlWriter: DataProcessorHtmlWriter;
38
- skipComments: boolean;
39
- /**
40
- * Creates a new instance of the XML data processor class.
41
- *
42
- * @param document The view document instance.
43
- * @param options Configuration options.
44
- * @param options.namespaces A list of namespaces allowed to use in the XML input.
45
- */
46
- constructor(document: ViewDocument, options?: {
47
- namespaces?: Array<string>;
48
- });
49
- /**
50
- * Converts the provided {@link module:engine/view/documentfragment~ViewDocumentFragment document fragment}
51
- * to data format &ndash; in this case an XML string.
52
- *
53
- * @returns An XML string.
54
- */
55
- toData(viewFragment: ViewDocumentFragment): string;
56
- /**
57
- * Converts the provided XML string to a view tree.
58
- *
59
- * @param data An XML string.
60
- * @returns A converted view element.
61
- */
62
- toView(data: string): ViewDocumentFragment;
63
- /**
64
- * Registers a {@link module:engine/view/matcher~MatcherPattern} for view elements whose content should be treated as raw data
65
- * and not processed during the conversion from XML to view elements.
66
- *
67
- * The raw data can be later accessed by a
68
- * {@link module:engine/view/element~ViewElement#getCustomProperty custom property of a view element} called `"$rawContent"`.
69
- *
70
- * @param pattern Pattern matching all view elements whose content should be treated as raw data.
71
- */
72
- registerRawContentMatcher(pattern: MatcherPattern): void;
73
- /**
74
- * If the processor is set to use marked fillers, it will insert `&nbsp;` fillers wrapped in `<span>` elements
75
- * (`<span data-cke-filler="true">&nbsp;</span>`) instead of regular `&nbsp;` characters.
76
- *
77
- * This mode allows for a more precise handling of block fillers (so they do not leak into editor content) but
78
- * bloats the editor data with additional markup.
79
- *
80
- * This mode may be required by some features and will be turned on by them automatically.
81
- *
82
- * @param type Whether to use the default or the marked `&nbsp;` block fillers.
83
- */
84
- useFillerType(type: 'default' | 'marked'): void;
85
- /**
86
- * Converts an XML string to its DOM representation. Returns a document fragment containing nodes parsed from
87
- * the provided data.
88
- */
89
- private _toDom;
18
+ /**
19
+ * A list of namespaces allowed to use in the XML input.
20
+ *
21
+ * For example, registering namespaces [ 'attribute', 'container' ] allows to use `<attirbute:tagName></attribute:tagName>`
22
+ * and `<container:tagName></container:tagName>` input. It is mainly for debugging.
23
+ */
24
+ namespaces: Array<string>;
25
+ /**
26
+ * DOM parser instance used to parse an XML string to an XML document.
27
+ */
28
+ domParser: DOMParser;
29
+ /**
30
+ * DOM converter used to convert DOM elements to view elements.
31
+ */
32
+ domConverter: ViewDomConverter;
33
+ /**
34
+ * A basic HTML writer instance used to convert DOM elements to an XML string.
35
+ * There is no need to use a dedicated XML writer because the basic HTML writer works well in this case.
36
+ */
37
+ htmlWriter: DataProcessorHtmlWriter;
38
+ skipComments: boolean;
39
+ /**
40
+ * Creates a new instance of the XML data processor class.
41
+ *
42
+ * @param document The view document instance.
43
+ * @param options Configuration options.
44
+ * @param options.namespaces A list of namespaces allowed to use in the XML input.
45
+ */
46
+ constructor(document: ViewDocument, options?: {
47
+ namespaces?: Array<string>;
48
+ });
49
+ /**
50
+ * Converts the provided {@link module:engine/view/documentfragment~ViewDocumentFragment document fragment}
51
+ * to data format &ndash; in this case an XML string.
52
+ *
53
+ * @returns An XML string.
54
+ */
55
+ toData(viewFragment: ViewDocumentFragment): string;
56
+ /**
57
+ * Converts the provided XML string to a view tree.
58
+ *
59
+ * @param data An XML string.
60
+ * @returns A converted view element.
61
+ */
62
+ toView(data: string): ViewDocumentFragment;
63
+ /**
64
+ * Registers a {@link module:engine/view/matcher~MatcherPattern} for view elements whose content should be treated as raw data
65
+ * and not processed during the conversion from XML to view elements.
66
+ *
67
+ * The raw data can be later accessed by a
68
+ * {@link module:engine/view/element~ViewElement#getCustomProperty custom property of a view element} called `"$rawContent"`.
69
+ *
70
+ * @param pattern Pattern matching all view elements whose content should be treated as raw data.
71
+ */
72
+ registerRawContentMatcher(pattern: MatcherPattern): void;
73
+ /**
74
+ * If the processor is set to use marked fillers, it will insert `&nbsp;` fillers wrapped in `<span>` elements
75
+ * (`<span data-cke-filler="true">&nbsp;</span>`) instead of regular `&nbsp;` characters.
76
+ *
77
+ * This mode allows for a more precise handling of block fillers (so they do not leak into editor content) but
78
+ * bloats the editor data with additional markup.
79
+ *
80
+ * This mode may be required by some features and will be turned on by them automatically.
81
+ *
82
+ * @param type Whether to use the default or the marked `&nbsp;` block fillers.
83
+ */
84
+ useFillerType(type: "default" | "marked"): void;
85
+ /**
86
+ * Converts an XML string to its DOM representation. Returns a document fragment containing nodes parsed from
87
+ * the provided data.
88
+ */
89
+ private _toDom;
90
90
  }