@ckeditor/ckeditor5-document-outline 41.3.1 → 41.4.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 (119) hide show
  1. package/build/document-outline.js +1 -1
  2. package/dist/index-content.css +37 -0
  3. package/dist/index-editor.css +114 -0
  4. package/dist/index.css +206 -0
  5. package/dist/index.js +23 -0
  6. package/dist/translations/ar.d.ts +8 -0
  7. package/dist/translations/ar.js +23 -0
  8. package/dist/translations/bg.d.ts +8 -0
  9. package/dist/translations/bg.js +23 -0
  10. package/dist/translations/bn.d.ts +8 -0
  11. package/dist/translations/bn.js +23 -0
  12. package/dist/translations/ca.d.ts +8 -0
  13. package/dist/translations/ca.js +23 -0
  14. package/dist/translations/cs.d.ts +8 -0
  15. package/dist/translations/cs.js +23 -0
  16. package/dist/translations/da.d.ts +8 -0
  17. package/dist/translations/da.js +23 -0
  18. package/dist/translations/de.d.ts +8 -0
  19. package/dist/translations/de.js +23 -0
  20. package/dist/translations/el.d.ts +8 -0
  21. package/dist/translations/el.js +23 -0
  22. package/dist/translations/en-au.d.ts +8 -0
  23. package/dist/translations/en-au.js +23 -0
  24. package/dist/translations/en.d.ts +8 -0
  25. package/dist/translations/en.js +23 -0
  26. package/dist/translations/es.d.ts +8 -0
  27. package/dist/translations/es.js +23 -0
  28. package/dist/translations/et.d.ts +8 -0
  29. package/dist/translations/et.js +23 -0
  30. package/dist/translations/fi.d.ts +8 -0
  31. package/dist/translations/fi.js +23 -0
  32. package/dist/translations/fr.d.ts +8 -0
  33. package/dist/translations/fr.js +23 -0
  34. package/dist/translations/gl.d.ts +8 -0
  35. package/dist/translations/gl.js +23 -0
  36. package/dist/translations/he.d.ts +8 -0
  37. package/dist/translations/he.js +23 -0
  38. package/dist/translations/hi.d.ts +8 -0
  39. package/dist/translations/hi.js +23 -0
  40. package/dist/translations/hr.d.ts +8 -0
  41. package/dist/translations/hr.js +23 -0
  42. package/dist/translations/hu.d.ts +8 -0
  43. package/dist/translations/hu.js +23 -0
  44. package/dist/translations/id.d.ts +8 -0
  45. package/dist/translations/id.js +23 -0
  46. package/dist/translations/it.d.ts +8 -0
  47. package/dist/translations/it.js +23 -0
  48. package/dist/translations/ja.d.ts +8 -0
  49. package/dist/translations/ja.js +23 -0
  50. package/dist/translations/ko.d.ts +8 -0
  51. package/dist/translations/ko.js +23 -0
  52. package/dist/translations/lt.d.ts +8 -0
  53. package/dist/translations/lt.js +23 -0
  54. package/dist/translations/lv.d.ts +8 -0
  55. package/dist/translations/lv.js +23 -0
  56. package/dist/translations/ms.d.ts +8 -0
  57. package/dist/translations/ms.js +23 -0
  58. package/dist/translations/nl.d.ts +8 -0
  59. package/dist/translations/nl.js +23 -0
  60. package/dist/translations/no.d.ts +8 -0
  61. package/dist/translations/no.js +23 -0
  62. package/dist/translations/pl.d.ts +8 -0
  63. package/dist/translations/pl.js +23 -0
  64. package/dist/translations/pt-br.d.ts +8 -0
  65. package/dist/translations/pt-br.js +23 -0
  66. package/dist/translations/pt.d.ts +8 -0
  67. package/dist/translations/pt.js +23 -0
  68. package/dist/translations/ro.d.ts +8 -0
  69. package/dist/translations/ro.js +23 -0
  70. package/dist/translations/ru.d.ts +8 -0
  71. package/dist/translations/ru.js +23 -0
  72. package/dist/translations/sk.d.ts +8 -0
  73. package/dist/translations/sk.js +23 -0
  74. package/dist/translations/sr-latn.d.ts +8 -0
  75. package/dist/translations/sr-latn.js +23 -0
  76. package/dist/translations/sr.d.ts +8 -0
  77. package/dist/translations/sr.js +23 -0
  78. package/dist/translations/sv.d.ts +8 -0
  79. package/dist/translations/sv.js +23 -0
  80. package/dist/translations/th.d.ts +8 -0
  81. package/dist/translations/th.js +23 -0
  82. package/dist/translations/tr.d.ts +8 -0
  83. package/dist/translations/tr.js +23 -0
  84. package/dist/translations/ug.d.ts +8 -0
  85. package/dist/translations/ug.js +23 -0
  86. package/dist/translations/uk.d.ts +8 -0
  87. package/dist/translations/uk.js +23 -0
  88. package/dist/translations/vi.d.ts +8 -0
  89. package/dist/translations/vi.js +23 -0
  90. package/dist/translations/zh-cn.d.ts +8 -0
  91. package/dist/translations/zh-cn.js +23 -0
  92. package/dist/translations/zh.d.ts +8 -0
  93. package/dist/translations/zh.js +23 -0
  94. package/dist/types/augmentation.d.ts +31 -0
  95. package/dist/types/documentoutline/documentoutlineui.d.ts +44 -0
  96. package/dist/types/documentoutline/documentoutlineutils.d.ts +70 -0
  97. package/dist/types/documentoutline/ui/documentoutlineitemview.d.ts +55 -0
  98. package/dist/types/documentoutline/ui/documentoutlineview.d.ts +56 -0
  99. package/dist/types/documentoutline/utils.d.ts +21 -0
  100. package/dist/types/documentoutline.d.ts +103 -0
  101. package/dist/types/index.d.ts +20 -0
  102. package/dist/types/tableofcontents/headingid.d.ts +22 -0
  103. package/dist/types/tableofcontents/tableofcontentscommand.d.ts +25 -0
  104. package/dist/types/tableofcontents/tableofcontentsediting.d.ts +41 -0
  105. package/dist/types/tableofcontents/tableofcontentsui.d.ts +31 -0
  106. package/dist/types/tableofcontents.d.ts +30 -0
  107. package/package.json +5 -4
  108. package/src/documentoutline/documentoutlineui.js +1 -1
  109. package/src/documentoutline/documentoutlineutils.js +1 -1
  110. package/src/documentoutline/ui/documentoutlineitemview.js +1 -1
  111. package/src/documentoutline/ui/documentoutlineview.js +1 -1
  112. package/src/documentoutline/utils.js +1 -1
  113. package/src/documentoutline.js +1 -1
  114. package/src/index.js +1 -1
  115. package/src/tableofcontents/headingid.js +1 -1
  116. package/src/tableofcontents/tableofcontentscommand.js +1 -1
  117. package/src/tableofcontents/tableofcontentsediting.js +1 -1
  118. package/src/tableofcontents/tableofcontentsui.js +1 -1
  119. package/src/tableofcontents.js +1 -1
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ export default{'vi':{'dictionary':{'Empty\x20heading':'Tiêu\x20đề\x20trống','Editor\x20headings\x20will\x20appear\x20here\x20as\x20you\x20type.':'Tiêu\x20đề\x20chỉnh\x20sửa\x20sẽ\x20hiện\x20ra\x20ở\x20đây\x20khi\x20bạn\x20nhập.','No\x20headings\x20were\x20found\x20in\x20the\x20document.':'Không\x20tìm\x20thấy\x20tiêu\x20đề\x20nào\x20trong\x20văn\x20bản.','Table\x20of\x20contents':'Mục\x20lục'},'getPluralForm':_0x15b8fa=>0x0}};
@@ -0,0 +1,8 @@
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
4
+ */
5
+
6
+ import type { Translations } from 'ckeditor5';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ export default{'zh-cn':{'dictionary':{'Empty\x20heading':'空标题','Editor\x20headings\x20will\x20appear\x20here\x20as\x20you\x20type.':'当你输入时,编辑的标题会出现在这里。','No\x20headings\x20were\x20found\x20in\x20the\x20document.':'文件中未发现标题。','Table\x20of\x20contents':'目录'},'getPluralForm':_0x3c5061=>0x0}};
@@ -0,0 +1,8 @@
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
4
+ */
5
+
6
+ import type { Translations } from 'ckeditor5';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ export default{'zh':{'dictionary':{'Empty\x20heading':'空白標題','Editor\x20headings\x20will\x20appear\x20here\x20as\x20you\x20type.':'編輯器標題將在您輸入時出現在此處。','No\x20headings\x20were\x20found\x20in\x20the\x20document.':'無法在此文件中找到標題。','Table\x20of\x20contents':'內容目錄'},'getPluralForm':_0x5e1577=>0x0}};
@@ -0,0 +1,31 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import type { DocumentOutline, DocumentOutlineUtils, DocumentOutlineConfig, DocumentOutlineUI, TableOfContents, TableOfContentsCommand, TableOfContentsEditing, TableOfContentsUI, HeadingId } from './index.js';
10
+ declare module '@ckeditor/ckeditor5-core' {
11
+ interface EditorConfig {
12
+ /**
13
+ * The configuration of the {@link module:document-outline/documentoutline~DocumentOutline} feature.
14
+ *
15
+ * Read more in {@link module:document-outline/documentoutline~DocumentOutlineConfig}.
16
+ */
17
+ documentOutline?: DocumentOutlineConfig;
18
+ }
19
+ interface PluginsMap {
20
+ [DocumentOutline.pluginName]: DocumentOutline;
21
+ [DocumentOutlineUI.pluginName]: DocumentOutlineUI;
22
+ [DocumentOutlineUtils.pluginName]: DocumentOutlineUtils;
23
+ [TableOfContents.pluginName]: TableOfContents;
24
+ [TableOfContentsEditing.pluginName]: TableOfContentsEditing;
25
+ [TableOfContentsUI.pluginName]: TableOfContentsUI;
26
+ [HeadingId.pluginName]: HeadingId;
27
+ }
28
+ interface CommandsMap {
29
+ insertTableOfContents: TableOfContentsCommand;
30
+ }
31
+ }
@@ -0,0 +1,44 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module document-outline/documentoutline/documentoutlineui
11
+ * @publicApi
12
+ */
13
+ import { Plugin, type Editor } from 'ckeditor5/src/core.js';
14
+ import DocumentOutlineView from './ui/documentoutlineview.js';
15
+ import '../../theme/documentoutline.css';
16
+ /**
17
+ * Provides the UI for the document outline feature.
18
+ */
19
+ export default class DocumentOutlineUI extends Plugin {
20
+ /**
21
+ * The representation of the document outline view.
22
+ */
23
+ view: DocumentOutlineView;
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ static get pluginName(): "DocumentOutlineUI";
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ constructor(editor: Editor);
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ init(): void;
36
+ /**
37
+ * @inheritDoc
38
+ */
39
+ afterInit(): void;
40
+ /**
41
+ * @inheritDoc
42
+ */
43
+ destroy(): void;
44
+ }
@@ -0,0 +1,70 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module document-outline/documentoutline/documentoutlineutils
11
+ */
12
+ import { Plugin } from 'ckeditor5/src/core.js';
13
+ import { type Element } from 'ckeditor5/src/engine.js';
14
+ import { diffToChanges } from 'ckeditor5/src/utils.js';
15
+ /**
16
+ * Document outline utilities.
17
+ */
18
+ export default class DocumentOutlineUtils extends Plugin {
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ static get pluginName(): "DocumentOutlineUtils";
23
+ /**
24
+ * Starts listening for editor events and handles them on the model document `change` event. This means both
25
+ * changes to the structure of the document and changes to the selection are reflected in the outline.
26
+ */
27
+ init(): void;
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ afterInit(): void;
32
+ }
33
+ /**
34
+ * The definition of the item in the document outline.
35
+ */
36
+ export type OutlineItemDefinition = {
37
+ level: number;
38
+ text: string;
39
+ modelElement: Element;
40
+ };
41
+ /**
42
+ * Fired whenever the headings structure in the document changes.
43
+ *
44
+ * @eventName ~DocumentOutlineUtils#change
45
+ * @param outlineDefinitions The list of current outline definitions.
46
+ * @param outlineChanges Describes what changes were applied in the headings structure.
47
+ * @param activeItemIndex The index of the active document outline item.
48
+ */
49
+ export type OutlineChangeEvent = {
50
+ name: 'change';
51
+ args: [
52
+ {
53
+ outlineDefinitions: Array<OutlineItemDefinition>;
54
+ outlineChanges: ReturnType<typeof diffToChanges<OutlineItemDefinition>>;
55
+ activeItemIndex: number;
56
+ }
57
+ ];
58
+ };
59
+ /**
60
+ * Fired whenever the active document outline item is changed.
61
+ *
62
+ * @eventName ~DocumentOutlineUtils#activeItemIndex
63
+ * @param activeItemIndex The index of the active document outline item.
64
+ */
65
+ export type ActiveOutlineItemChangeEvent = {
66
+ name: 'activeItemIndex';
67
+ args: [{
68
+ index: number;
69
+ }];
70
+ };
@@ -0,0 +1,55 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module document-outline/documentoutline/ui/documentoutlineitemview
11
+ */
12
+ import { View } from 'ckeditor5/src/ui.js';
13
+ import { type Locale } from 'ckeditor5/src/utils.js';
14
+ /**
15
+ * An item of the document outline.
16
+ */
17
+ export default class DocumentOutlineItemView extends View {
18
+ /**
19
+ * The textual content of the item.
20
+ *
21
+ * @observable
22
+ */
23
+ text: string;
24
+ /**
25
+ * The level of heading nesting in the document.
26
+ *
27
+ * @observable
28
+ */
29
+ level: number;
30
+ /**
31
+ * Indicates whether the given item is currently active.
32
+ *
33
+ * @observable
34
+ */
35
+ isActive: boolean;
36
+ /**
37
+ * Indicates whether the heading doesn't have any text.
38
+ *
39
+ * @observable
40
+ */
41
+ isEmpty: boolean;
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ constructor(locale: Locale, showEmptyHeadingText?: boolean);
46
+ }
47
+ /**
48
+ * Fired whenever an item in the document outline is clicked.
49
+ *
50
+ * @eventName ~DocumentOutlineItemView#click
51
+ */
52
+ export type DocumentOutlineItemViewClickEvent = {
53
+ name: 'click';
54
+ args: [];
55
+ };
@@ -0,0 +1,56 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module document-outline/documentoutline/ui/documentoutlineview
11
+ */
12
+ import { View, type ViewCollection } from 'ckeditor5/src/ui.js';
13
+ import { type Locale, type diffToChanges } from 'ckeditor5/src/utils.js';
14
+ import type { OutlineItemDefinition } from '../documentoutlineutils.js';
15
+ import DocumentOutlineItemView from './documentoutlineitemview.js';
16
+ /**
17
+ * The document outline panel.
18
+ */
19
+ export default class DocumentOutlineView extends View {
20
+ /**
21
+ * A collection of document outline items.
22
+ */
23
+ readonly items: ViewCollection<DocumentOutlineItemView>;
24
+ /**
25
+ * Indicates which item is active at the moment.
26
+ *
27
+ * @observable
28
+ */
29
+ activeItemIndex: number;
30
+ /**
31
+ * Creates an instance of the {@link module:documentoutline/ui/documentoutlineview~DocumentOutlineView} class.
32
+ *
33
+ * @param locale The localization services instance.
34
+ * @param showEmptyHeadingText Indicates whether the display of a placeholder for empty heading is enabled in the editor.
35
+ * @param containerElement The element that contains the document outline.
36
+ */
37
+ constructor(locale: Locale, showEmptyHeadingText?: boolean, containerElement?: HTMLElement);
38
+ /**
39
+ * If a heading was added or deleted in the editor, insert or delete it in the document outline.
40
+ */
41
+ sync(changesInItems: ReturnType<typeof diffToChanges<OutlineItemDefinition>>): void;
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ destroy(): void;
46
+ }
47
+ /**
48
+ * Fired whenever an item in the document outline is clicked.
49
+ *
50
+ * @eventName ~DocumentOutlineView#itemSelected
51
+ * @param itemIndex Index of selected item.
52
+ */
53
+ export type DocumentOutlineViewItemSelectedEvent = {
54
+ name: 'itemSelected';
55
+ args: [itemIndex: number];
56
+ };
@@ -0,0 +1,21 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module document-outline/documentoutline/utils
11
+ */
12
+ import { type Element } from 'ckeditor5/src/engine.js';
13
+ import { type Editor } from 'ckeditor5/src/core.js';
14
+ /**
15
+ * Returns all text contents that are inside the given element and all its children.
16
+ */
17
+ export declare function getElementText(element: Element): string;
18
+ /**
19
+ * Returns a list of standard headings or GHS headings configured in the editor.
20
+ */
21
+ export declare function getDefaultFeatureHeadingNames(editor: Editor): Array<string>;
@@ -0,0 +1,103 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module document-outline/documentoutline
11
+ * @publicApi
12
+ */
13
+ import { Plugin, type Editor } from 'ckeditor5/src/core.js';
14
+ import DocumentOutlineUtils from './documentoutline/documentoutlineutils.js';
15
+ import DocumentOutlineUI from './documentoutline/documentoutlineui.js';
16
+ /**
17
+ * The document outline feature.
18
+ * It allows for an easy access to a predefined list of headings in the document.
19
+ */
20
+ export default class DocumentOutline extends Plugin {
21
+ licenseKey: string;
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get requires(): readonly [typeof DocumentOutlineUtils, typeof DocumentOutlineUI];
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get pluginName(): "DocumentOutline";
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ constructor(editor: Editor);
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ init(): void;
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ destroy(): void;
42
+ }
43
+ /**
44
+ * The configuration of the {@link module:document-outline/documentoutline~DocumentOutline document outline feature}.
45
+ *
46
+ * ```ts
47
+ * ClassicEditor
48
+ * .create( editorElement, {
49
+ * documentOutline: ... // Document outline feature configuration.
50
+ * } )
51
+ * .then( /* ... *\/ )
52
+ * .catch( /* ... *\/ );
53
+ * ```
54
+ *
55
+ * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
56
+ */
57
+ export interface DocumentOutlineConfig {
58
+ /**
59
+ * The container element for the document outline to render. This should be a reference to an existing
60
+ * container element in the DOM.
61
+ */
62
+ container?: HTMLElement;
63
+ /**
64
+ * An array of {@glink framework/architecture/editing-engine#model model} element names considered
65
+ * as headings in the document outline.
66
+ *
67
+ * The index of the heading in the array reflects the heading nesting level. It can be used e.g. for reducing
68
+ * the number of visible headings.
69
+ *
70
+ * ```ts
71
+ * ClassicEditor
72
+ * .create( editorElement, {
73
+ * plugins: [ DocumentOutline, /* ... *\/ ],
74
+ * documentOutline: {
75
+ * headings: [ 'heading1', 'heading2', /* ... *\/ ],
76
+ * // ...
77
+ * }
78
+ * } )
79
+ * .then( /* ... *\/ )
80
+ * .catch( /* ... *\/ );
81
+ * ```
82
+ *
83
+ * If this configuration is not defined, the feature will use the following defaults instead:
84
+ *
85
+ * 1. If the {@glink features/headings Headings feature} is loaded, it equals
86
+ * * {@link module:heading/headingconfig~HeadingConfig#options `config.heading.options`}.
87
+ * * `[ 'heading1', 'heading2', 'heading3' ]` if `config.heading.options` is not defined.
88
+ * 2. If the {@glink features/html/general-html-support General HTML Support} feature is loaded, it equals
89
+ * `[ 'htmlH1', 'htmlH2', 'htmlH3', 'htmlH4', 'htmlH5', 'htmlH6' ]`.
90
+ *
91
+ * **Note**: The Headings feature takes precedence over the General HTML Support feature when
92
+ * both are loaded.
93
+ */
94
+ headings?: Array<string>;
95
+ /**
96
+ * Allows you to display a placeholder text: [Empty heading] for empty headings.
97
+ *
98
+ * By default, the display of a placeholder is disabled. To enable it, set this parameter to true.
99
+ *
100
+ * **Note**: This setting also affects Table of contents feature.
101
+ */
102
+ showEmptyHeadings?: boolean;
103
+ }
@@ -0,0 +1,20 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module document-outline
11
+ */
12
+ export { default as DocumentOutline, type DocumentOutlineConfig } from './documentoutline.js';
13
+ export { default as DocumentOutlineUI } from './documentoutline/documentoutlineui.js';
14
+ export { default as DocumentOutlineUtils } from './documentoutline/documentoutlineutils.js';
15
+ export { default as TableOfContents } from './tableofcontents.js';
16
+ export { default as TableOfContentsCommand } from './tableofcontents/tableofcontentscommand.js';
17
+ export { default as TableOfContentsEditing } from './tableofcontents/tableofcontentsediting.js';
18
+ export { default as TableOfContentsUI } from './tableofcontents/tableofcontentsui.js';
19
+ export { default as HeadingId } from './tableofcontents/headingid.js';
20
+ import './augmentation.js';
@@ -0,0 +1,22 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import { Plugin } from 'ckeditor5/src/core.js';
10
+ /**
11
+ * The heading ID plugin. It adds support for the ID attribute on the heading[1-6] (model) and h[1-6] (data/view) elements.
12
+ */
13
+ export default class HeadingId extends Plugin {
14
+ /**
15
+ * @inheritDoc
16
+ */
17
+ static get pluginName(): "HeadingId";
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ afterInit(): void;
22
+ }
@@ -0,0 +1,25 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module document-outline/tableofcontents/tableofcontentscommand
11
+ * @publicApi
12
+ */
13
+ import { Command } from 'ckeditor5/src/core.js';
14
+ export default class TableOfContentsCommand extends Command {
15
+ /**
16
+ * Executes the command. Inserts the table of content into the model.
17
+ *
18
+ * @fires execute
19
+ */
20
+ execute(): void;
21
+ /**
22
+ * If the selection is wrong, the command is not enabled.
23
+ */
24
+ refresh(): void;
25
+ }
@@ -0,0 +1,41 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module document-outline/tableofcontents/tableofcontentsediting
11
+ */
12
+ import { Plugin, type Editor } from 'ckeditor5/src/core.js';
13
+ import { Widget } from 'ckeditor5/src/widget.js';
14
+ import '../../theme/tableofcontents.css';
15
+ import DocumentOutlineUtils from '../documentoutline/documentoutlineutils.js';
16
+ import HeadingId from './headingid.js';
17
+ /**
18
+ * The table of contents editing plugin.
19
+ */
20
+ export default class TableOfContentsEditing extends Plugin {
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ static get pluginName(): "TableOfContentsEditing";
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ static get requires(): readonly [typeof Widget, typeof DocumentOutlineUtils, typeof HeadingId];
29
+ /**
30
+ * @inheritDoc
31
+ */
32
+ constructor(editor: Editor);
33
+ /**
34
+ * @inheritDoc
35
+ */
36
+ init(): void;
37
+ /**
38
+ * @inheritDoc
39
+ */
40
+ afterInit(): void;
41
+ }
@@ -0,0 +1,31 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import { Plugin, type Editor } from 'ckeditor5/src/core.js';
10
+ /**
11
+ * The UI plugin of the table of contents feature.
12
+ */
13
+ export default class TableOfContentsUI extends Plugin {
14
+ licenseKey: string;
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ static get pluginName(): "TableOfContentsUI";
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ constructor(editor: Editor);
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ init(): void;
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ destroy(): void;
31
+ }
@@ -0,0 +1,30 @@
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
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module document-outline/tableofcontents
11
+ * @publicApi
12
+ */
13
+ import { Plugin } from 'ckeditor5/src/core.js';
14
+ import TableOfContentsEditing from './tableofcontents/tableofcontentsediting.js';
15
+ import TableOfContentsUI from './tableofcontents/tableofcontentsui.js';
16
+ /**
17
+ * The table of contents feature.
18
+ *
19
+ * For a detailed overview, check the {@glink features/table-of-contents Table of contents} feature documentation.
20
+ */
21
+ export default class TableOfContents extends Plugin {
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get requires(): readonly [typeof TableOfContentsEditing, typeof TableOfContentsUI];
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get pluginName(): "TableOfContents";
30
+ }