@ckeditor/ckeditor5-utils 41.4.1 → 42.0.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.
- package/README.md +6 -0
- package/dist/index.js +1338 -1013
- package/dist/index.js.map +1 -1
- package/dist/types/collection.d.ts +1 -1
- package/dist/types/env.d.ts +13 -6
- package/dist/types/focustracker.d.ts +1 -1
- package/dist/types/locale.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/collection.d.ts +1 -1
- package/src/collection.js +1 -1
- package/src/dom/emittermixin.js +2 -2
- package/src/emittermixin.js +1 -1
- package/src/env.d.ts +13 -6
- package/src/env.js +20 -13
- package/src/focustracker.d.ts +1 -1
- package/src/focustracker.js +1 -1
- package/src/keyboard.js +3 -2
- package/src/locale.d.ts +1 -1
- package/src/locale.js +1 -1
- package/src/observablemixin.js +1 -1
- package/src/unicode.js +1 -1
- package/src/version.d.ts +1 -1
- package/src/version.js +10 -8
|
@@ -22,7 +22,7 @@ declare const Collection_base: {
|
|
|
22
22
|
*
|
|
23
23
|
* @typeParam T The type of the collection element.
|
|
24
24
|
*/
|
|
25
|
-
export default class Collection<T extends Record<string, any>> extends Collection_base implements Iterable<T> {
|
|
25
|
+
export default class Collection<T extends Record<string, any>> extends /* #__PURE__ */ Collection_base implements Iterable<T> {
|
|
26
26
|
/**
|
|
27
27
|
* The internal list of items in the collection.
|
|
28
28
|
*/
|
package/dist/types/env.d.ts
CHANGED
|
@@ -6,9 +6,6 @@
|
|
|
6
6
|
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
7
7
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
8
8
|
*/
|
|
9
|
-
/**
|
|
10
|
-
* @module utils/env
|
|
11
|
-
*/
|
|
12
9
|
/**
|
|
13
10
|
* Safely returns `userAgent` from browser's navigator API in a lower case.
|
|
14
11
|
* If navigator API is not available it will return an empty string.
|
|
@@ -35,7 +32,7 @@ export interface EnvType {
|
|
|
35
32
|
*/
|
|
36
33
|
readonly isSafari: boolean;
|
|
37
34
|
/**
|
|
38
|
-
* Indicates
|
|
35
|
+
* Indicates that the application is running in iOS.
|
|
39
36
|
*/
|
|
40
37
|
readonly isiOS: boolean;
|
|
41
38
|
/**
|
|
@@ -47,11 +44,17 @@ export interface EnvType {
|
|
|
47
44
|
*/
|
|
48
45
|
readonly isBlink: boolean;
|
|
49
46
|
/**
|
|
50
|
-
* Indicates that the
|
|
47
|
+
* Indicates that the user agent has enabled a forced colors mode (e.g. Windows High Contrast mode).
|
|
48
|
+
*
|
|
49
|
+
* Note that the value of this property is evaluated each time it is accessed, and it may change over time, if the environment
|
|
50
|
+
* settings have changed.
|
|
51
51
|
*/
|
|
52
52
|
readonly isMediaForcedColors: boolean;
|
|
53
53
|
/**
|
|
54
54
|
* Indicates that "prefer reduced motion" browser setting is active.
|
|
55
|
+
*
|
|
56
|
+
* Note that the value of this property is evaluated each time it is accessed, and it may change over time, if the environment
|
|
57
|
+
* settings have changed.
|
|
55
58
|
*/
|
|
56
59
|
readonly isMotionReduced: boolean;
|
|
57
60
|
/**
|
|
@@ -129,9 +132,13 @@ export declare function isBlink(userAgent: string): boolean;
|
|
|
129
132
|
export declare function isRegExpUnicodePropertySupported(): boolean;
|
|
130
133
|
/**
|
|
131
134
|
* Checks if the user agent has enabled a forced colors mode (e.g. Windows High Contrast mode).
|
|
135
|
+
*
|
|
136
|
+
* Returns `false` in environments where `window` global object is not available.
|
|
132
137
|
*/
|
|
133
138
|
export declare function isMediaForcedColors(): boolean;
|
|
134
139
|
/**
|
|
135
|
-
* Checks if user enabled "prefers reduced motion" setting in browser.
|
|
140
|
+
* Checks if the user enabled "prefers reduced motion" setting in browser.
|
|
141
|
+
*
|
|
142
|
+
* Returns `false` in environments where `window` global object is not available.
|
|
136
143
|
*/
|
|
137
144
|
export declare function isMotionReduced(): boolean;
|
|
@@ -22,7 +22,7 @@ declare const FocusTracker_base: import("./mix.js").Mixed<{
|
|
|
22
22
|
*
|
|
23
23
|
* Check out the {@glink framework/deep-dive/ui/focus-tracking "Deep dive into focus tracking"} guide to learn more.
|
|
24
24
|
*/
|
|
25
|
-
export default class FocusTracker extends FocusTracker_base {
|
|
25
|
+
export default class FocusTracker extends /* #__PURE__ */ FocusTracker_base {
|
|
26
26
|
/**
|
|
27
27
|
* True when one of the registered elements is focused.
|
|
28
28
|
*
|
package/dist/types/locale.d.ts
CHANGED
|
@@ -97,7 +97,7 @@ export default class Locale {
|
|
|
97
97
|
translations?: Translations;
|
|
98
98
|
/**
|
|
99
99
|
* Creates a new instance of the locale class. Learn more about
|
|
100
|
-
* {@glink
|
|
100
|
+
* {@glink getting-started/setup/ui-language configuring the language of the editor}.
|
|
101
101
|
*
|
|
102
102
|
* @param options Locale configuration.
|
|
103
103
|
* @param options.uiLanguage The editor UI language code in the
|
package/dist/types/version.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
7
7
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
8
8
|
*/
|
|
9
|
-
declare const version = "
|
|
9
|
+
declare const version = "42.0.0-alpha.0";
|
|
10
10
|
export default version;
|
|
11
11
|
export declare const releaseDate: Date;
|
|
12
12
|
declare global {
|
package/package.json
CHANGED
package/src/collection.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ declare const Collection_base: {
|
|
|
18
18
|
*
|
|
19
19
|
* @typeParam T The type of the collection element.
|
|
20
20
|
*/
|
|
21
|
-
export default class Collection<T extends Record<string, any>> extends Collection_base implements Iterable<T> {
|
|
21
|
+
export default class Collection<T extends Record<string, any>> extends /* #__PURE__ */ Collection_base implements Iterable<T> {
|
|
22
22
|
/**
|
|
23
23
|
* The internal list of items in the collection.
|
|
24
24
|
*/
|
package/src/collection.js
CHANGED
|
@@ -21,7 +21,7 @@ import isIterable from './isiterable.js';
|
|
|
21
21
|
*
|
|
22
22
|
* @typeParam T The type of the collection element.
|
|
23
23
|
*/
|
|
24
|
-
export default class Collection extends EmitterMixin() {
|
|
24
|
+
export default class Collection extends /* #__PURE__ */ EmitterMixin() {
|
|
25
25
|
constructor(initialItemsOrOptions = {}, options = {}) {
|
|
26
26
|
super();
|
|
27
27
|
const hasInitialItems = isIterable(initialItemsOrOptions);
|
package/src/dom/emittermixin.js
CHANGED
|
@@ -9,7 +9,7 @@ import EmitterMixin, { _getEmitterListenedTo, _setEmitterId } from '../emittermi
|
|
|
9
9
|
import uid from '../uid.js';
|
|
10
10
|
import isNode from './isnode.js';
|
|
11
11
|
import isWindow from './iswindow.js';
|
|
12
|
-
const defaultEmitterClass = DomEmitterMixin(EmitterMixin());
|
|
12
|
+
const defaultEmitterClass = /* #__PURE__ */ DomEmitterMixin(/* #__PURE__ */ EmitterMixin());
|
|
13
13
|
export default function DomEmitterMixin(base) {
|
|
14
14
|
if (!base) {
|
|
15
15
|
return defaultEmitterClass;
|
|
@@ -110,7 +110,7 @@ export default function DomEmitterMixin(base) {
|
|
|
110
110
|
* +-----------------------------------------+
|
|
111
111
|
* fire( click, DOM Event )
|
|
112
112
|
*/
|
|
113
|
-
class ProxyEmitter extends EmitterMixin() {
|
|
113
|
+
class ProxyEmitter extends /* #__PURE__ */ EmitterMixin() {
|
|
114
114
|
/**
|
|
115
115
|
* @param node DOM Node that fires events.
|
|
116
116
|
* @param options Additional options.
|
package/src/emittermixin.js
CHANGED
|
@@ -15,7 +15,7 @@ import CKEditorError from './ckeditorerror.js';
|
|
|
15
15
|
const _listeningTo = Symbol('listeningTo');
|
|
16
16
|
const _emitterId = Symbol('emitterId');
|
|
17
17
|
const _delegations = Symbol('delegations');
|
|
18
|
-
const defaultEmitterClass = EmitterMixin(Object);
|
|
18
|
+
const defaultEmitterClass = /* #__PURE__ */ EmitterMixin(Object);
|
|
19
19
|
export default function EmitterMixin(base) {
|
|
20
20
|
if (!base) {
|
|
21
21
|
return defaultEmitterClass;
|
package/src/env.d.ts
CHANGED
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
4
|
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module utils/env
|
|
7
|
-
*/
|
|
8
5
|
/**
|
|
9
6
|
* Safely returns `userAgent` from browser's navigator API in a lower case.
|
|
10
7
|
* If navigator API is not available it will return an empty string.
|
|
@@ -31,7 +28,7 @@ export interface EnvType {
|
|
|
31
28
|
*/
|
|
32
29
|
readonly isSafari: boolean;
|
|
33
30
|
/**
|
|
34
|
-
* Indicates
|
|
31
|
+
* Indicates that the application is running in iOS.
|
|
35
32
|
*/
|
|
36
33
|
readonly isiOS: boolean;
|
|
37
34
|
/**
|
|
@@ -43,11 +40,17 @@ export interface EnvType {
|
|
|
43
40
|
*/
|
|
44
41
|
readonly isBlink: boolean;
|
|
45
42
|
/**
|
|
46
|
-
* Indicates that the
|
|
43
|
+
* Indicates that the user agent has enabled a forced colors mode (e.g. Windows High Contrast mode).
|
|
44
|
+
*
|
|
45
|
+
* Note that the value of this property is evaluated each time it is accessed, and it may change over time, if the environment
|
|
46
|
+
* settings have changed.
|
|
47
47
|
*/
|
|
48
48
|
readonly isMediaForcedColors: boolean;
|
|
49
49
|
/**
|
|
50
50
|
* Indicates that "prefer reduced motion" browser setting is active.
|
|
51
|
+
*
|
|
52
|
+
* Note that the value of this property is evaluated each time it is accessed, and it may change over time, if the environment
|
|
53
|
+
* settings have changed.
|
|
51
54
|
*/
|
|
52
55
|
readonly isMotionReduced: boolean;
|
|
53
56
|
/**
|
|
@@ -125,9 +128,13 @@ export declare function isBlink(userAgent: string): boolean;
|
|
|
125
128
|
export declare function isRegExpUnicodePropertySupported(): boolean;
|
|
126
129
|
/**
|
|
127
130
|
* Checks if the user agent has enabled a forced colors mode (e.g. Windows High Contrast mode).
|
|
131
|
+
*
|
|
132
|
+
* Returns `false` in environments where `window` global object is not available.
|
|
128
133
|
*/
|
|
129
134
|
export declare function isMediaForcedColors(): boolean;
|
|
130
135
|
/**
|
|
131
|
-
* Checks if user enabled "prefers reduced motion" setting in browser.
|
|
136
|
+
* Checks if the user enabled "prefers reduced motion" setting in browser.
|
|
137
|
+
*
|
|
138
|
+
* Returns `false` in environments where `window` global object is not available.
|
|
132
139
|
*/
|
|
133
140
|
export declare function isMotionReduced(): boolean;
|
package/src/env.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* @module utils/env
|
|
8
8
|
*/
|
|
9
|
+
import global from './dom/global.js';
|
|
9
10
|
/**
|
|
10
11
|
* Safely returns `userAgent` from browser's navigator API in a lower case.
|
|
11
12
|
* If navigator API is not available it will return an empty string.
|
|
@@ -19,24 +20,26 @@ export function getUserAgent() {
|
|
|
19
20
|
return '';
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
const userAgent = getUserAgent();
|
|
23
|
+
const userAgent = /* #__PURE__ */ getUserAgent();
|
|
23
24
|
/**
|
|
24
25
|
* A namespace containing environment and browser information.
|
|
25
26
|
*/
|
|
26
27
|
const env = {
|
|
27
|
-
isMac: isMac(userAgent),
|
|
28
|
-
isWindows: isWindows(userAgent),
|
|
29
|
-
isGecko: isGecko(userAgent),
|
|
30
|
-
isSafari: isSafari(userAgent),
|
|
31
|
-
isiOS: isiOS(userAgent),
|
|
32
|
-
isAndroid: isAndroid(userAgent),
|
|
33
|
-
isBlink: isBlink(userAgent),
|
|
34
|
-
|
|
28
|
+
isMac: /* #__PURE__ */ isMac(userAgent),
|
|
29
|
+
isWindows: /* #__PURE__ */ isWindows(userAgent),
|
|
30
|
+
isGecko: /* #__PURE__ */ isGecko(userAgent),
|
|
31
|
+
isSafari: /* #__PURE__ */ isSafari(userAgent),
|
|
32
|
+
isiOS: /* #__PURE__ */ isiOS(userAgent),
|
|
33
|
+
isAndroid: /* #__PURE__ */ isAndroid(userAgent),
|
|
34
|
+
isBlink: /* #__PURE__ */ isBlink(userAgent),
|
|
35
|
+
get isMediaForcedColors() {
|
|
36
|
+
return isMediaForcedColors();
|
|
37
|
+
},
|
|
35
38
|
get isMotionReduced() {
|
|
36
39
|
return isMotionReduced();
|
|
37
40
|
},
|
|
38
41
|
features: {
|
|
39
|
-
isRegExpUnicodePropertySupported: isRegExpUnicodePropertySupported()
|
|
42
|
+
isRegExpUnicodePropertySupported: /* #__PURE__ */ isRegExpUnicodePropertySupported()
|
|
40
43
|
}
|
|
41
44
|
};
|
|
42
45
|
export default env;
|
|
@@ -126,13 +129,17 @@ export function isRegExpUnicodePropertySupported() {
|
|
|
126
129
|
}
|
|
127
130
|
/**
|
|
128
131
|
* Checks if the user agent has enabled a forced colors mode (e.g. Windows High Contrast mode).
|
|
132
|
+
*
|
|
133
|
+
* Returns `false` in environments where `window` global object is not available.
|
|
129
134
|
*/
|
|
130
135
|
export function isMediaForcedColors() {
|
|
131
|
-
return window.matchMedia('(forced-colors: active)').matches;
|
|
136
|
+
return global.window.matchMedia ? global.window.matchMedia('(forced-colors: active)').matches : false;
|
|
132
137
|
}
|
|
133
138
|
/**
|
|
134
|
-
* Checks if user enabled "prefers reduced motion" setting in browser.
|
|
139
|
+
* Checks if the user enabled "prefers reduced motion" setting in browser.
|
|
140
|
+
*
|
|
141
|
+
* Returns `false` in environments where `window` global object is not available.
|
|
135
142
|
*/
|
|
136
143
|
export function isMotionReduced() {
|
|
137
|
-
return window.matchMedia('(prefers-reduced-motion)').matches;
|
|
144
|
+
return global.window.matchMedia ? global.window.matchMedia('(prefers-reduced-motion)').matches : false;
|
|
138
145
|
}
|
package/src/focustracker.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ declare const FocusTracker_base: import("./mix.js").Mixed<{
|
|
|
18
18
|
*
|
|
19
19
|
* Check out the {@glink framework/deep-dive/ui/focus-tracking "Deep dive into focus tracking"} guide to learn more.
|
|
20
20
|
*/
|
|
21
|
-
export default class FocusTracker extends FocusTracker_base {
|
|
21
|
+
export default class FocusTracker extends /* #__PURE__ */ FocusTracker_base {
|
|
22
22
|
/**
|
|
23
23
|
* True when one of the registered elements is focused.
|
|
24
24
|
*
|
package/src/focustracker.js
CHANGED
|
@@ -21,7 +21,7 @@ import CKEditorError from './ckeditorerror.js';
|
|
|
21
21
|
*
|
|
22
22
|
* Check out the {@glink framework/deep-dive/ui/focus-tracking "Deep dive into focus tracking"} guide to learn more.
|
|
23
23
|
*/
|
|
24
|
-
export default class FocusTracker extends DomEmitterMixin(ObservableMixin()) {
|
|
24
|
+
export default class FocusTracker extends /* #__PURE__ */ DomEmitterMixin(/* #__PURE__ */ ObservableMixin()) {
|
|
25
25
|
constructor() {
|
|
26
26
|
super();
|
|
27
27
|
/**
|
package/src/keyboard.js
CHANGED
|
@@ -37,8 +37,9 @@ const keyCodesToGlyphs = {
|
|
|
37
37
|
* * `backspace`, `delete`, `enter`, `esc`, `tab`,
|
|
38
38
|
* * `ctrl`, `cmd`, `shift`, `alt`.
|
|
39
39
|
*/
|
|
40
|
-
export const keyCodes = generateKnownKeyCodes();
|
|
41
|
-
const keyCodeNames = Object.fromEntries(
|
|
40
|
+
export const keyCodes = /* #__PURE__ */ generateKnownKeyCodes();
|
|
41
|
+
const keyCodeNames = /* #__PURE__ */ Object.fromEntries(
|
|
42
|
+
/* #__PURE__ */ Object.entries(keyCodes).map(([name, code]) => {
|
|
42
43
|
let prettyKeyName;
|
|
43
44
|
if (code in keyCodesToGlyphs) {
|
|
44
45
|
prettyKeyName = keyCodesToGlyphs[code];
|
package/src/locale.d.ts
CHANGED
|
@@ -93,7 +93,7 @@ export default class Locale {
|
|
|
93
93
|
translations?: Translations;
|
|
94
94
|
/**
|
|
95
95
|
* Creates a new instance of the locale class. Learn more about
|
|
96
|
-
* {@glink
|
|
96
|
+
* {@glink getting-started/setup/ui-language configuring the language of the editor}.
|
|
97
97
|
*
|
|
98
98
|
* @param options Locale configuration.
|
|
99
99
|
* @param options.uiLanguage The editor UI language code in the
|
package/src/locale.js
CHANGED
|
@@ -15,7 +15,7 @@ import { getLanguageDirection } from './language.js';
|
|
|
15
15
|
export default class Locale {
|
|
16
16
|
/**
|
|
17
17
|
* Creates a new instance of the locale class. Learn more about
|
|
18
|
-
* {@glink
|
|
18
|
+
* {@glink getting-started/setup/ui-language configuring the language of the editor}.
|
|
19
19
|
*
|
|
20
20
|
* @param options Locale configuration.
|
|
21
21
|
* @param options.uiLanguage The editor UI language code in the
|
package/src/observablemixin.js
CHANGED
|
@@ -14,7 +14,7 @@ const boundObservablesSymbol = Symbol('boundObservables');
|
|
|
14
14
|
const boundPropertiesSymbol = Symbol('boundProperties');
|
|
15
15
|
const decoratedMethods = Symbol('decoratedMethods');
|
|
16
16
|
const decoratedOriginal = Symbol('decoratedOriginal');
|
|
17
|
-
const defaultObservableClass = ObservableMixin(EmitterMixin());
|
|
17
|
+
const defaultObservableClass = /* #__PURE__ */ ObservableMixin(/* #__PURE__ */ EmitterMixin());
|
|
18
18
|
export default function ObservableMixin(base) {
|
|
19
19
|
if (!base) {
|
|
20
20
|
return defaultObservableClass;
|
package/src/unicode.js
CHANGED
|
@@ -56,7 +56,7 @@ export function isInsideSurrogatePair(string, offset) {
|
|
|
56
56
|
export function isInsideCombinedSymbol(string, offset) {
|
|
57
57
|
return isCombiningMark(string.charAt(offset));
|
|
58
58
|
}
|
|
59
|
-
const EMOJI_PATTERN = buildEmojiRegexp();
|
|
59
|
+
const EMOJI_PATTERN = /* #__PURE__ */ buildEmojiRegexp();
|
|
60
60
|
/**
|
|
61
61
|
* Checks whether given offset in a string is inside multi-character emoji sequence.
|
|
62
62
|
*
|
package/src/version.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
4
|
*/
|
|
5
|
-
declare const version = "
|
|
5
|
+
declare const version = "42.0.0-alpha.0";
|
|
6
6
|
export default version;
|
|
7
7
|
export declare const releaseDate: Date;
|
|
8
8
|
declare global {
|
package/src/version.js
CHANGED
|
@@ -6,13 +6,19 @@
|
|
|
6
6
|
* @module utils/version
|
|
7
7
|
*/
|
|
8
8
|
import CKEditorError from './ckeditorerror.js';
|
|
9
|
-
const version = '
|
|
9
|
+
const version = '42.0.0-alpha.0';
|
|
10
10
|
export default version;
|
|
11
11
|
// The second argument is not a month. It is `monthIndex` and starts from `0`.
|
|
12
|
-
export const releaseDate = new Date(2024,
|
|
12
|
+
export const releaseDate = new Date(2024, 5, 5);
|
|
13
13
|
/* istanbul ignore next -- @preserve */
|
|
14
14
|
if (globalThis.CKEDITOR_VERSION) {
|
|
15
15
|
/**
|
|
16
|
+
* The best solution to avoid this error is migrating your CKEditor 5 instance to
|
|
17
|
+
* {@glink updating/new-installation-methods new installation methods}.
|
|
18
|
+
*
|
|
19
|
+
* Mentioned below are predefined builds, which are a deprecated installation method. The solutions
|
|
20
|
+
* provided are kept here for legacy support only.
|
|
21
|
+
*
|
|
16
22
|
* This error is thrown when due to a mistake in how CKEditor 5 was installed or initialized, some
|
|
17
23
|
* of its modules were duplicated (evaluated and executed twice). Module duplication leads to inevitable runtime
|
|
18
24
|
* errors.
|
|
@@ -43,15 +49,11 @@ if (globalThis.CKEDITOR_VERSION) {
|
|
|
43
49
|
* Adding plugins to a build is done by taking the source version of this build (so, before it was built with webpack)
|
|
44
50
|
* and adding plugins there. In this situation, webpack will know that it only needs to load each plugin once.
|
|
45
51
|
*
|
|
46
|
-
* Read more in the {@glink installation/plugins/installing-plugins Installing plugins} guide.
|
|
47
|
-
*
|
|
48
52
|
* # Confused an editor build with an editor implementation
|
|
49
53
|
*
|
|
50
54
|
* This scenario is very similar to the previous one, but has a different origin.
|
|
51
55
|
*
|
|
52
|
-
* Let's assume that you wanted to use CKEditor 5 from source
|
|
53
|
-
* {@glink installation/advanced/alternative-setups/integrating-from-source-webpack "Building from source"} section
|
|
54
|
-
* or in the {@glink framework/quick-start "Quick start"} guide of CKEditor 5 Framework.
|
|
56
|
+
* Let's assume that you wanted to use CKEditor 5 from source.
|
|
55
57
|
*
|
|
56
58
|
* The correct way to do so is to import an editor and plugins and run them together like this:
|
|
57
59
|
*
|
|
@@ -96,7 +98,7 @@ if (globalThis.CKEDITOR_VERSION) {
|
|
|
96
98
|
* Check your web page for duplicated `<script>` elements or make sure your page builder/bundler includes CKEditor only once.
|
|
97
99
|
*
|
|
98
100
|
* If you want to use two different types of editors at once, see the
|
|
99
|
-
* {@glink
|
|
101
|
+
* {@glink getting-started/legacy/advanced/using-two-editors "Using two different editors"}
|
|
100
102
|
* section.
|
|
101
103
|
*
|
|
102
104
|
* # Using outdated packages
|