@ckeditor/ckeditor5-bookmark 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.
@@ -1,24 +1,24 @@
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 type { Bookmark, BookmarkEditing, BookmarkUI, InsertBookmarkCommand, UpdateBookmarkCommand, BookmarkConfig } from './index.js';
6
- declare module '@ckeditor/ckeditor5-core' {
7
- interface EditorConfig {
8
- /**
9
- * The configuration of the {@link module:bookmark/bookmark~Bookmark} feature.
10
- *
11
- * Read more in {@link module:bookmark/bookmarkconfig~BookmarkConfig}.
12
- */
13
- bookmark?: BookmarkConfig;
14
- }
15
- interface PluginsMap {
16
- [Bookmark.pluginName]: Bookmark;
17
- [BookmarkEditing.pluginName]: BookmarkEditing;
18
- [BookmarkUI.pluginName]: BookmarkUI;
19
- }
20
- interface CommandsMap {
21
- insertBookmark: InsertBookmarkCommand;
22
- updateBookmark: UpdateBookmarkCommand;
23
- }
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 type { Bookmark, BookmarkEditing, BookmarkUI, InsertBookmarkCommand, UpdateBookmarkCommand, BookmarkConfig } from "./index.js";
6
+ declare module "@ckeditor/ckeditor5-core" {
7
+ interface EditorConfig {
8
+ /**
9
+ * The configuration of the {@link module:bookmark/bookmark~Bookmark} feature.
10
+ *
11
+ * Read more in {@link module:bookmark/bookmarkconfig~BookmarkConfig}.
12
+ */
13
+ bookmark?: BookmarkConfig;
14
+ }
15
+ interface PluginsMap {
16
+ [Bookmark.pluginName]: Bookmark;
17
+ [BookmarkEditing.pluginName]: BookmarkEditing;
18
+ [BookmarkUI.pluginName]: BookmarkUI;
19
+ }
20
+ interface CommandsMap {
21
+ insertBookmark: InsertBookmarkCommand;
22
+ updateBookmark: UpdateBookmarkCommand;
23
+ }
24
24
  }
@@ -1,30 +1,30 @@
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 bookmark/bookmark
7
- */
8
- import { Plugin } from '@ckeditor/ckeditor5-core';
9
- import { Widget } from '@ckeditor/ckeditor5-widget';
10
- import { BookmarkUI } from './bookmarkui.js';
11
- import { BookmarkEditing } from './bookmarkediting.js';
6
+ * @module bookmark/bookmark
7
+ */
8
+ import { Plugin, type PluginDependenciesOf } from "@ckeditor/ckeditor5-core";
9
+ import { Widget } from "@ckeditor/ckeditor5-widget";
10
+ import { BookmarkUI } from "./bookmarkui.js";
11
+ import { BookmarkEditing } from "./bookmarkediting.js";
12
12
  /**
13
- * The bookmark feature.
14
- *
15
- * For a detailed overview, check the {@glink features/bookmarks Bookmarks} feature guide.
16
- */
13
+ * The bookmark feature.
14
+ *
15
+ * For a detailed overview, check the {@glink features/bookmarks Bookmarks} feature guide.
16
+ */
17
17
  export declare class Bookmark extends Plugin {
18
- /**
19
- * @inheritDoc
20
- */
21
- static get pluginName(): "Bookmark";
22
- /**
23
- * @inheritDoc
24
- */
25
- static get requires(): readonly [typeof BookmarkEditing, typeof BookmarkUI, typeof Widget];
26
- /**
27
- * @inheritDoc
28
- */
29
- static get isOfficialPlugin(): true;
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ static get pluginName(): "Bookmark";
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get requires(): PluginDependenciesOf<[BookmarkEditing, BookmarkUI, Widget]>;
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static override get isOfficialPlugin(): true;
30
30
  }
@@ -1,72 +1,72 @@
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 bookmark/bookmarkconfig
7
- */
6
+ * @module bookmark/bookmarkconfig
7
+ */
8
8
  /**
9
- * The configuration of the bookmark feature.
10
- *
11
- * The properties defined in this config are set in the `config.bookmark` namespace.
12
- *
13
- * ```ts
14
- * ClassicEditor
15
- * .create( {
16
- * bookmark: {
17
- * // Bookmark configuration.
18
- * }
19
- * } )
20
- * .then( ... )
21
- * .catch( ... );
22
- * ```
23
- *
24
- * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
25
- */
9
+ * The configuration of the bookmark feature.
10
+ *
11
+ * The properties defined in this config are set in the `config.bookmark` namespace.
12
+ *
13
+ * ```ts
14
+ * ClassicEditor
15
+ * .create( {
16
+ * bookmark: {
17
+ * // Bookmark configuration.
18
+ * }
19
+ * } )
20
+ * .then( ... )
21
+ * .catch( ... );
22
+ * ```
23
+ *
24
+ * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
25
+ */
26
26
  export interface BookmarkConfig {
27
- /**
28
- * Allows to convert into bookmarks non-empty anchor elements.
29
- *
30
- * With this option enabled you will have all non-empty anchors converted into bookmakrs.
31
- * For example:
32
- *
33
- *```html
34
- * <a id="bookmark">Bookmark</a>
35
- *```
36
- *
37
- * will be converted into:
38
- *
39
- *```html
40
- * <a id="bookmark"></a>Bookmark
41
- *```
42
- *
43
- * **Note:** This is enabled by default.
44
- *
45
- * @default true
46
- */
47
- enableNonEmptyAnchorConversion?: boolean;
48
- /**
49
- * Items to be placed in the bookmark contextual toolbar.
50
- *
51
- * Assuming that you use the {@link module:bookmark/bookmarkui~BookmarkUI} feature, the following toolbar items will be available
52
- * in {@link module:ui/componentfactory~ComponentFactory}:
53
- *
54
- * * `'bookmarkPreview'`,
55
- * * `'editBookmark'`,
56
- * * `'removeBookmark'`.
57
- *
58
- * The default configuration for bookmark toolbar is:
59
- *
60
- * ```ts
61
- * const bookmarkConfig = {
62
- * toolbar: [ 'bookmarkPreview', '|', 'editBookmark', 'removeBookmark' ]
63
- * };
64
- * ```
65
- *
66
- * Of course, the same buttons can also be used in the
67
- * {@link module:core/editor/editorconfig~EditorConfig#toolbar main editor toolbar}.
68
- *
69
- * Read more about configuring the toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
70
- */
71
- toolbar?: Array<string>;
27
+ /**
28
+ * Allows to convert into bookmarks non-empty anchor elements.
29
+ *
30
+ * With this option enabled you will have all non-empty anchors converted into bookmakrs.
31
+ * For example:
32
+ *
33
+ *```html
34
+ * <a id="bookmark">Bookmark</a>
35
+ *```
36
+ *
37
+ * will be converted into:
38
+ *
39
+ *```html
40
+ * <a id="bookmark"></a>Bookmark
41
+ *```
42
+ *
43
+ * **Note:** This is enabled by default.
44
+ *
45
+ * @default true
46
+ */
47
+ enableNonEmptyAnchorConversion?: boolean;
48
+ /**
49
+ * Items to be placed in the bookmark contextual toolbar.
50
+ *
51
+ * Assuming that you use the {@link module:bookmark/bookmarkui~BookmarkUI} feature, the following toolbar items will be available
52
+ * in {@link module:ui/componentfactory~ComponentFactory}:
53
+ *
54
+ * * `'bookmarkPreview'`,
55
+ * * `'editBookmark'`,
56
+ * * `'removeBookmark'`.
57
+ *
58
+ * The default configuration for bookmark toolbar is:
59
+ *
60
+ * ```ts
61
+ * const bookmarkConfig = {
62
+ * toolbar: [ 'bookmarkPreview', '|', 'editBookmark', 'removeBookmark' ]
63
+ * };
64
+ * ```
65
+ *
66
+ * Of course, the same buttons can also be used in the
67
+ * {@link module:core/editor/editorconfig~EditorConfig#toolbar main editor toolbar}.
68
+ *
69
+ * Read more about configuring the toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
70
+ */
71
+ toolbar?: Array<string>;
72
72
  }
@@ -1,68 +1,68 @@
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 bookmark/bookmarkediting
7
- */
8
- import { type Editor, Plugin } from '@ckeditor/ckeditor5-core';
9
- import type { ModelElement } from '@ckeditor/ckeditor5-engine';
10
- import '../theme/bookmark.css';
6
+ * @module bookmark/bookmarkediting
7
+ */
8
+ import { type Editor, Plugin } from "@ckeditor/ckeditor5-core";
9
+ import type { ModelElement } from "@ckeditor/ckeditor5-engine";
10
+ import "../theme/bookmark.css";
11
11
  /**
12
- * The bookmark editing plugin.
13
- */
12
+ * The bookmark editing plugin.
13
+ */
14
14
  export declare class BookmarkEditing extends Plugin {
15
- /**
16
- * A collection of bookmarks elements in the document.
17
- */
18
- private _bookmarkElements;
19
- /**
20
- * @inheritDoc
21
- */
22
- static get pluginName(): "BookmarkEditing";
23
- /**
24
- * @inheritDoc
25
- * @internal
26
- */
27
- static get licenseFeatureCode(): string;
28
- /**
29
- * @inheritDoc
30
- */
31
- static get isOfficialPlugin(): true;
32
- /**
33
- * @inheritDoc
34
- */
35
- static get isPremiumPlugin(): true;
36
- /**
37
- * @inheritDoc
38
- */
39
- constructor(editor: Editor);
40
- /**
41
- * @inheritDoc
42
- */
43
- init(): void;
44
- /**
45
- * Returns the model element for the given bookmark ID if it exists.
46
- */
47
- getElementForBookmarkId(bookmarkId: string): ModelElement | null;
48
- /**
49
- * Returns all unique bookmark names existing in the content.
50
- */
51
- getAllBookmarkNames(): Set<string>;
52
- /**
53
- * Defines the schema for the bookmark feature.
54
- */
55
- private _defineSchema;
56
- /**
57
- * Defines the converters for the bookmark feature.
58
- */
59
- private _defineConverters;
60
- /**
61
- * Creates a UI element for the `bookmark` representation in editing view.
62
- */
63
- private _createBookmarkUIElement;
64
- /**
65
- * Tracking the added or removed bookmark elements.
66
- */
67
- private _trackBookmarkElements;
15
+ /**
16
+ * A collection of bookmarks elements in the document.
17
+ */
18
+ private _bookmarkElements;
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ static get pluginName(): "BookmarkEditing";
23
+ /**
24
+ * @inheritDoc
25
+ * @internal
26
+ */
27
+ static get licenseFeatureCode(): string;
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static override get isOfficialPlugin(): true;
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ static override get isPremiumPlugin(): true;
36
+ /**
37
+ * @inheritDoc
38
+ */
39
+ constructor(editor: Editor);
40
+ /**
41
+ * @inheritDoc
42
+ */
43
+ init(): void;
44
+ /**
45
+ * Returns the model element for the given bookmark ID if it exists.
46
+ */
47
+ getElementForBookmarkId(bookmarkId: string): ModelElement | null;
48
+ /**
49
+ * Returns all unique bookmark names existing in the content.
50
+ */
51
+ getAllBookmarkNames(): Set<string>;
52
+ /**
53
+ * Defines the schema for the bookmark feature.
54
+ */
55
+ private _defineSchema;
56
+ /**
57
+ * Defines the converters for the bookmark feature.
58
+ */
59
+ private _defineConverters;
60
+ /**
61
+ * Creates a UI element for the `bookmark` representation in editing view.
62
+ */
63
+ private _createBookmarkUIElement;
64
+ /**
65
+ * Tracking the added or removed bookmark elements.
66
+ */
67
+ private _trackBookmarkElements;
68
68
  }
@@ -1,133 +1,133 @@
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 { Plugin } from '@ckeditor/ckeditor5-core';
6
- import { ContextualBalloon, type ViewWithCssTransitionDisabler } from '@ckeditor/ckeditor5-ui';
7
- import { WidgetToolbarRepository } from '@ckeditor/ckeditor5-widget';
8
- import { BookmarkFormView } from './ui/bookmarkformview.js';
9
- import { BookmarkEditing } from './bookmarkediting.js';
10
- import '../theme/bookmarktoolbar.css';
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 { Plugin, type PluginDependenciesOf } from "@ckeditor/ckeditor5-core";
6
+ import { ContextualBalloon, type ViewWithCssTransitionDisabler } from "@ckeditor/ckeditor5-ui";
7
+ import { WidgetToolbarRepository } from "@ckeditor/ckeditor5-widget";
8
+ import { BookmarkFormView } from "./ui/bookmarkformview.js";
9
+ import { BookmarkEditing } from "./bookmarkediting.js";
10
+ import "../theme/bookmarktoolbar.css";
11
11
  /**
12
- * The UI plugin of the bookmark feature.
13
- *
14
- * It registers the `'bookmark'` UI button in the editor's {@link module:ui/componentfactory~ComponentFactory component factory}
15
- * which inserts the `bookmark` element upon selection.
16
- */
12
+ * The UI plugin of the bookmark feature.
13
+ *
14
+ * It registers the `'bookmark'` UI button in the editor's {@link module:ui/componentfactory~ComponentFactory component factory}
15
+ * which inserts the `bookmark` element upon selection.
16
+ */
17
17
  export declare class BookmarkUI extends Plugin {
18
- /**
19
- * The form view displayed inside the balloon.
20
- */
21
- formView: BookmarkFormView & ViewWithCssTransitionDisabler | null;
22
- /**
23
- * The contextual balloon plugin instance.
24
- */
25
- private _balloon;
26
- /**
27
- * @inheritDoc
28
- */
29
- static get requires(): readonly [typeof BookmarkEditing, typeof ContextualBalloon, typeof WidgetToolbarRepository];
30
- /**
31
- * @inheritDoc
32
- */
33
- static get pluginName(): "BookmarkUI";
34
- /**
35
- * @inheritDoc
36
- */
37
- static get isOfficialPlugin(): true;
38
- /**
39
- * @inheritDoc
40
- */
41
- init(): void;
42
- /**
43
- * @inheritDoc
44
- */
45
- afterInit(): void;
46
- /**
47
- * @inheritDoc
48
- */
49
- destroy(): void;
50
- /**
51
- * Creates views.
52
- */
53
- private _createViews;
54
- /**
55
- * Creates the {@link module:bookmark/ui/bookmarkformview~BookmarkFormView} instance.
56
- */
57
- private _createFormView;
58
- /**
59
- * Creates link form menu list entry, so it'll be possible to access
60
- * the list of the bookmarks from the link form.
61
- */
62
- private _registerLinkProvider;
63
- /**
64
- * Scrolls the editor to the bookmark with the given id.
65
- */
66
- private _scrollToBookmark;
67
- /**
68
- * Creates a toolbar Bookmark button. Clicking this button will show
69
- * a {@link #_balloon} attached to the selection.
70
- */
71
- private _registerComponents;
72
- /**
73
- * Creates a button for `bookmark` command to use either in toolbar or in menu bar.
74
- */
75
- private _createBookmarkButton;
76
- /**
77
- * Attaches actions that control whether the balloon panel containing the
78
- * {@link #formView} is visible or not.
79
- */
80
- private _enableUserBalloonInteractions;
81
- /**
82
- * Adds the {@link #formView} to the {@link #_balloon}.
83
- */
84
- private _addFormView;
85
- /**
86
- * Removes the {@link #formView} from the {@link #_balloon}.
87
- */
88
- private _removeFormView;
89
- /**
90
- * Shows the {@link #formView}.
91
- */
92
- private _showFormView;
93
- /**
94
- * Removes the {@link #formView} from the {@link #_balloon}.
95
- */
96
- private _hideFormView;
97
- /**
98
- * Makes the UI react to the {@link module:ui/editorui/editorui~EditorUI#event:update} event to
99
- * reposition itself when the editor UI should be refreshed.
100
- *
101
- * See: {@link #_hideFormView} to learn when the UI stops reacting to the `update` event.
102
- */
103
- private _startUpdatingUI;
104
- /**
105
- * Returns `true` when {@link #formView} is in the {@link #_balloon}.
106
- */
107
- private get _isFormInPanel();
108
- /**
109
- * Returns `true` when {@link #formView} is in the {@link #_balloon} and it is currently visible.
110
- */
111
- private get _isFormVisible();
112
- /**
113
- * Returns positioning options for the {@link #_balloon}. They control the way the balloon is attached
114
- * to the target element or selection.
115
- */
116
- private _getBalloonPositionData;
117
- /**
118
- * Returns the bookmark {@link module:engine/view/attributeelement~ViewAttributeElement} under
119
- * the {@link module:engine/view/document~ViewDocument editing view's} selection or `null`
120
- * if there is none.
121
- */
122
- private _getSelectedBookmarkElement;
123
- /**
124
- * Displays a fake visual selection when the contextual balloon is displayed.
125
- *
126
- * This adds a 'bookmark-ui' marker into the document that is rendered as a highlight on selected text fragment.
127
- */
128
- private _showFakeVisualSelection;
129
- /**
130
- * Hides the fake visual selection created in {@link #_showFakeVisualSelection}.
131
- */
132
- private _hideFakeVisualSelection;
18
+ /**
19
+ * The form view displayed inside the balloon.
20
+ */
21
+ formView: BookmarkFormView & ViewWithCssTransitionDisabler | null;
22
+ /**
23
+ * The contextual balloon plugin instance.
24
+ */
25
+ private _balloon;
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get requires(): PluginDependenciesOf<[BookmarkEditing, ContextualBalloon, WidgetToolbarRepository]>;
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ static get pluginName(): "BookmarkUI";
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ static override get isOfficialPlugin(): true;
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ init(): void;
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ afterInit(): void;
46
+ /**
47
+ * @inheritDoc
48
+ */
49
+ override destroy(): void;
50
+ /**
51
+ * Creates views.
52
+ */
53
+ private _createViews;
54
+ /**
55
+ * Creates the {@link module:bookmark/ui/bookmarkformview~BookmarkFormView} instance.
56
+ */
57
+ private _createFormView;
58
+ /**
59
+ * Creates link form menu list entry, so it'll be possible to access
60
+ * the list of the bookmarks from the link form.
61
+ */
62
+ private _registerLinkProvider;
63
+ /**
64
+ * Scrolls the editor to the bookmark with the given id.
65
+ */
66
+ private _scrollToBookmark;
67
+ /**
68
+ * Creates a toolbar Bookmark button. Clicking this button will show
69
+ * a {@link #_balloon} attached to the selection.
70
+ */
71
+ private _registerComponents;
72
+ /**
73
+ * Creates a button for `bookmark` command to use either in toolbar or in menu bar.
74
+ */
75
+ private _createBookmarkButton;
76
+ /**
77
+ * Attaches actions that control whether the balloon panel containing the
78
+ * {@link #formView} is visible or not.
79
+ */
80
+ private _enableUserBalloonInteractions;
81
+ /**
82
+ * Adds the {@link #formView} to the {@link #_balloon}.
83
+ */
84
+ private _addFormView;
85
+ /**
86
+ * Removes the {@link #formView} from the {@link #_balloon}.
87
+ */
88
+ private _removeFormView;
89
+ /**
90
+ * Shows the {@link #formView}.
91
+ */
92
+ private _showFormView;
93
+ /**
94
+ * Removes the {@link #formView} from the {@link #_balloon}.
95
+ */
96
+ private _hideFormView;
97
+ /**
98
+ * Makes the UI react to the {@link module:ui/editorui/editorui~EditorUI#event:update} event to
99
+ * reposition itself when the editor UI should be refreshed.
100
+ *
101
+ * See: {@link #_hideFormView} to learn when the UI stops reacting to the `update` event.
102
+ */
103
+ private _startUpdatingUI;
104
+ /**
105
+ * Returns `true` when {@link #formView} is in the {@link #_balloon}.
106
+ */
107
+ private get _isFormInPanel();
108
+ /**
109
+ * Returns `true` when {@link #formView} is in the {@link #_balloon} and it is currently visible.
110
+ */
111
+ private get _isFormVisible();
112
+ /**
113
+ * Returns positioning options for the {@link #_balloon}. They control the way the balloon is attached
114
+ * to the target element or selection.
115
+ */
116
+ private _getBalloonPositionData;
117
+ /**
118
+ * Returns the bookmark {@link module:engine/view/attributeelement~ViewAttributeElement} under
119
+ * the {@link module:engine/view/document~ViewDocument editing view's} selection or `null`
120
+ * if there is none.
121
+ */
122
+ private _getSelectedBookmarkElement;
123
+ /**
124
+ * Displays a fake visual selection when the contextual balloon is displayed.
125
+ *
126
+ * This adds a 'bookmark-ui' marker into the document that is rendered as a highlight on selected text fragment.
127
+ */
128
+ private _showFakeVisualSelection;
129
+ /**
130
+ * Hides the fake visual selection created in {@link #_showFakeVisualSelection}.
131
+ */
132
+ private _hideFakeVisualSelection;
133
133
  }