@ckeditor/ckeditor5-core 47.0.0 → 47.1.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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js","../src/plugin.ts","../src/command.ts","../src/multicommand.ts","../src/commandcollection.ts","../src/plugincollection.ts","../src/context.ts","../src/contextplugin.ts","../src/editingkeystrokehandler.ts","../src/accessibility.ts","../src/editor/utils/editorusagedata.ts","../src/editor/editor.ts","../src/editor/utils/attachtoform.ts","../src/editor/utils/elementapimixin.ts","../src/editor/utils/securesourceelement.ts","../src/pendingactions.ts"],"names":["Plugin","ObservableMixin","editor","_disableStack","Set","set","forceDisabled","id","add","size","on","forceDisable","priority","isEnabled","clearForceDisabled","delete","off","destroy","stopListening","isContextPlugin","isOfficialPlugin","isPremiumPlugin","evt","return","stop","Command","_isEnabledBasedOnSelection","_affectsData","undefined","decorate","listenTo","model","document","refresh","affectsData","selection","selectionInGraveyard","getFirstPosition","root","rootName","canEditAtSelection","canEditAt","isReadOnly","execute","args","MultiCommand","_childCommandsDefinitions","command","_getFirstEnabledCommand","registerChildCommand","options","insertToPriorityArray","_checkEnabled","commandDefinition","find","CommandCollection","_commands","Map","commandName","get","commandParams","CKEditorError","names","keys","commands","values","Symbol","iterator","PluginCollection","EmitterMixin","_context","_plugins","_availablePlugins","_contextPlugins","context","availablePlugins","contextPlugins","PluginConstructor","pluginName","pluginInstance","entry","key","plugin","name","has","init","plugins","pluginsToRemove","pluginsSubstitutions","that","findAvailablePluginConstructors","validatePlugins","pluginsToLoad","filter","isPluginRemoved","pluginConstructors","getPluginConstructors","substitutePlugins","pluginInstances","loadPlugins","initPlugins","then","isPluginConstructor","some","removedPlugin","getPluginName","processed","forEach","requires","map","reduce","result","parentPluginConstructor","checkMissingPlugin","checkContextPlugin","checkRemovedPlugin","missingPlugin","requiredBy","_add","method","promise","bind","Promise","resolve","pluginItem","length","pluginToReplace","indexInPluginConstructors","indexOf","splice","promises","push","all","plugin1","plugin2","Context","config","locale","t","editors","defaultConfig","builtinPlugins","_contextOwner","translations","rest","Config","define","languageConfig","Locale","uiLanguage","ui","contentLanguage","Collection","concat","Array","from","_addEditor","isContextOwner","_removeEditor","remove","_getEditorConfig","includes","create","ContextPlugin","EditingKeystrokeHandler","KeystrokeHandler","keystroke","callback","evtData","cancel","DEFAULT_CATEGORY_ID","DEFAULT_GROUP_ID","Accessibility","keystrokeInfos","_editor","isMenuBarVisible","addKeystrokeInfoCategory","label","description","navigationKeystrokes","mayRequireFn","groups","keystrokes","addKeystrokeInfoGroup","categoryId","group","category","groupId","addKeystrokeInfos","getEditorUsageData","sessionId","getSessionId","pageSessionId","getPageSessionID","hostname","window","location","version","globalThis","CKEDITOR_VERSION","type","getEditorType","getPluginsUsageData","distribution","getDistributionUsageData","env","getEnvUsageData","integration","Object","menuBar","isVisible","language","content","toolbar","main","getToolbarUsageData","block","balloon","getPrototypeOf","editorName","collection","isContext","isOfficial","isPremium","toolbarConfig","normalizedToolbar","isArray","items","flattenToolbarConfigNames","extractToolbarConfigItemsNames","isMultiline","shouldNotGroupWhenFull","stripToolbarSeparatorItems","item","flatMap","channel","for","os","browser","isMac","isWindows","isiOS","isAndroid","isGecko","isBlink","isSafari","localStorage","getItem","setItem","uid","global","CKEDITOR_PAGE_SESSION_ID","Editor","accessibility","conversion","data","editing","_readOnlyLocks","constructor","defaultTranslations","checkLicenseKeyIsDefined","once","state","Model","stylesProcessor","StylesProcessor","DataController","EditingController","view","to","Conversion","downcastDispatcher","upcastDispatcher","addAlias","verifyLicenseKey","licenseKey","CKEDITOR_GLOBAL_LICENSE_KEY","distributionChannel","blockEditor","reason","enableReadOnlyMode","_showLicenseError","hasAllRequiredFields","licensePayload","requiredFields","every","field","getCrcInputData","keysToCheck","getOwnPropertyNames","sort","filteredValues","checkLicensedHosts","licensedHosts","URL","href","segments","split","host","fill","octets","segment","index","warnAboutNonProductionLicenseKey","licenseType","capitalizedLicenseType","toUpperCase","slice","article","console","info","warn","decodeLicenseKey","toArray","crc32","vc","toLowerCase","expirationDate","Date","exp","releaseDate","now","CKEDITOR_WARNING_SUPPRESSIONS","timerId","setTimeout","clearTimeout","usageEndpoint","request","requestId","requestTime","Math","round","license","collectUsageData","_sendUsageRequest","response","status","message","logError","url","value","lockId","fire","disableReadOnlyMode","setData","getData","removePlugins","extraPlugins","checkPluginsAllowedByLicenseKey","decodedPayload","disallowedPlugin","pluginConstructor","licenseFeatureCode","isFeatureBlockedByLicenseKey","readyPromise","err","rethrowUnexpectedError","focus","Error","EditorWatchdog","ContextWatchdog","featureName","endpoint","headers","Headers","fetch","body","JSON","stringify","ok","json","collectedData","setUsageData","path","attachToForm","isFunction","updateSourceElement","sourceElement","isTextArea","form","originalSubmit","onSubmit","submit","apply","addEventListener","removeEventListener","tagName","ElementApiMixin","base","Mixin","shouldUpdateSourceElement","isSourceElementTextArea","HTMLTextAreaElement","setDataInElement","dataToSet","secureSourceElement","ckeditorInstance","PendingActions","_actions","idProperty","delegate","action","hasAny","first"],"mappings":"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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA;AAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA;AAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA;AAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACjF,CAAA,CAAA,CAAA,CAAA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","file":"index.js.map","sourcesContent":["import { ObservableMixin, insertToPriorityArray, CKEditorError, EmitterMixin, Config, Locale, Collection, KeystrokeHandler, env, global, uid, decodeLicenseKey, toArray, crc32, releaseDate, logError, isFeatureBlockedByLicenseKey, setDataInElement } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { get, set, isFunction } from 'es-toolkit/compat';\nimport { Model, StylesProcessor, DataController, EditingController, Conversion } from '@ckeditor/ckeditor5-engine/dist/index.js';\nimport { EditorWatchdog, ContextWatchdog } from '@ckeditor/ckeditor5-watchdog/dist/index.js';\n\n/**\n * The base class for CKEditor plugin classes.\n */ class Plugin extends /* #__PURE__ */ ObservableMixin() {\n /**\n\t * The editor instance.\n\t *\n\t * Note that most editors implement the {@link module:core/editor/editor~Editor#ui} property.\n\t * However, editors with an external UI (i.e. Bootstrap-based) or a headless editor may not have this property or\n\t * throw an error when accessing it.\n\t *\n\t * Because of above, to make plugins more universal, it is recommended to split features into:\n\t * - The \"editing\" part that uses the {@link module:core/editor/editor~Editor} class without `ui` property.\n\t * - The \"UI\" part that uses the {@link module:core/editor/editor~Editor} class and accesses `ui` property.\n\t */ editor;\n /**\n\t * Holds identifiers for {@link #forceDisabled} mechanism.\n\t */ _disableStack = new Set();\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super();\n this.editor = editor;\n this.set('isEnabled', true);\n }\n /**\n\t * Disables the plugin.\n\t *\n\t * Plugin may be disabled by multiple features or algorithms (at once). When disabling a plugin, unique id should be passed\n\t * (e.g. feature name). The same identifier should be used when {@link #clearForceDisabled enabling back} the plugin.\n\t * The plugin becomes enabled only after all features {@link #clearForceDisabled enabled it back}.\n\t *\n\t * Disabling and enabling a plugin:\n\t *\n\t * ```ts\n\t * plugin.isEnabled; // -> true\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> false\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * Plugin disabled by multiple features:\n\t *\n\t * ```ts\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.forceDisabled( 'OtherFeature' );\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> false\n\t * plugin.clearForceDisabled( 'OtherFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * Multiple disabling with the same identifier is redundant:\n\t *\n\t * ```ts\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * **Note:** some plugins or algorithms may have more complex logic when it comes to enabling or disabling certain plugins,\n\t * so the plugin might be still disabled after {@link #clearForceDisabled} was used.\n\t *\n\t * @param id Unique identifier for disabling. Use the same id when {@link #clearForceDisabled enabling back} the plugin.\n\t */ forceDisabled(id) {\n this._disableStack.add(id);\n if (this._disableStack.size == 1) {\n this.on('set:isEnabled', forceDisable$1, {\n priority: 'highest'\n });\n this.isEnabled = false;\n }\n }\n /**\n\t * Clears forced disable previously set through {@link #forceDisabled}. See {@link #forceDisabled}.\n\t *\n\t * @param id Unique identifier, equal to the one passed in {@link #forceDisabled} call.\n\t */ clearForceDisabled(id) {\n this._disableStack.delete(id);\n if (this._disableStack.size == 0) {\n this.off('set:isEnabled', forceDisable$1);\n this.isEnabled = true;\n }\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n this.stopListening();\n }\n /**\n\t * @inheritDoc\n\t */ static get isContextPlugin() {\n return false;\n }\n /**\n\t * @inheritDoc\n\t * @internal\n\t */ static get isOfficialPlugin() {\n return false;\n }\n /**\n\t * @inheritDoc\n\t * @internal\n\t */ static get isPremiumPlugin() {\n return false;\n }\n}\n/**\n * Helper function that forces plugin to be disabled.\n */ function forceDisable$1(evt) {\n evt.return = false;\n evt.stop();\n}\n\n/**\n * Base class for the CKEditor commands.\n *\n * Commands are the main way to manipulate the editor contents and state. They are mostly used by UI elements (or by other\n * commands) to make changes in the model. Commands are available in every part of the code that has access to\n * the {@link module:core/editor/editor~Editor editor} instance.\n *\n * Instances of registered commands can be retrieved from {@link module:core/editor/editor~Editor#commands `editor.commands`}.\n * The easiest way to execute a command is through {@link module:core/editor/editor~Editor#execute `editor.execute()`}.\n *\n * By default, commands are disabled when the editor is in the {@link module:core/editor/editor~Editor#isReadOnly read-only} mode\n * but commands with the {@link module:core/command~Command#affectsData `affectsData`} flag set to `false` will not be disabled.\n */ class Command extends /* #__PURE__ */ ObservableMixin() {\n /**\n\t * The editor on which this command will be used.\n\t */ editor;\n /**\n\t * A flag indicating whether a command's `isEnabled` state should be changed depending on where the document\n\t * selection is placed.\n\t *\n\t * By default, it is set to `true`. If the document selection is placed in a\n\t * {@link module:engine/model/model~Model#canEditAt non-editable} place (such as non-editable root), the command becomes disabled.\n\t *\n\t * The flag should be changed to `false` in a concrete command's constructor if the command should not change its `isEnabled`\n\t * accordingly to the document selection.\n\t */ _isEnabledBasedOnSelection;\n /**\n\t * A flag indicating whether a command execution changes the editor data or not.\n\t *\n\t * @see #affectsData\n\t */ _affectsData;\n /**\n\t * Holds identifiers for {@link #forceDisabled} mechanism.\n\t */ _disableStack;\n /**\n\t * Creates a new `Command` instance.\n\t *\n\t * @param editor The editor on which this command will be used.\n\t */ constructor(editor){\n super();\n this.editor = editor;\n this.set('value', undefined);\n this.set('isEnabled', false);\n this._affectsData = true;\n this._isEnabledBasedOnSelection = true;\n this._disableStack = new Set();\n this.decorate('execute');\n // By default, every command is refreshed when changes are applied to the model.\n this.listenTo(this.editor.model.document, 'change', ()=>{\n this.refresh();\n });\n this.listenTo(editor, 'change:isReadOnly', ()=>{\n this.refresh();\n });\n // By default, commands are disabled if the selection is in non-editable place or editor is in read-only mode.\n this.on('set:isEnabled', (evt)=>{\n if (!this.affectsData) {\n return;\n }\n const selection = editor.model.document.selection;\n const selectionInGraveyard = selection.getFirstPosition().root.rootName == '$graveyard';\n const canEditAtSelection = !selectionInGraveyard && editor.model.canEditAt(selection);\n // Disable if editor is read only, or when selection is in a place which cannot be edited.\n //\n // Checking `editor.isReadOnly` is needed for all commands that have `_isEnabledBasedOnSelection == false`.\n // E.g. undo does not base on selection, but affects data and should be disabled when the editor is in read-only mode.\n if (editor.isReadOnly || this._isEnabledBasedOnSelection && !canEditAtSelection) {\n evt.return = false;\n evt.stop();\n }\n }, {\n priority: 'highest'\n });\n this.on('execute', (evt)=>{\n if (!this.isEnabled) {\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n }\n /**\n\t * A flag indicating whether a command execution changes the editor data or not.\n\t *\n\t * Commands with `affectsData` set to `false` will not be automatically disabled in\n\t * the {@link module:core/editor/editor~Editor#isReadOnly read-only mode} and\n\t * {@glink features/read-only#related-features other editor modes} with restricted user write permissions.\n\t *\n\t * **Note:** You do not have to set it for your every command. It is `true` by default.\n\t *\n\t * @default true\n\t */ get affectsData() {\n return this._affectsData;\n }\n set affectsData(affectsData) {\n this._affectsData = affectsData;\n }\n /**\n\t * Refreshes the command. The command should update its {@link #isEnabled} and {@link #value} properties\n\t * in this method.\n\t *\n\t * This method is automatically called when\n\t * {@link module:engine/model/document~ModelDocument#event:change any changes are applied to the document}.\n\t */ refresh() {\n this.isEnabled = true;\n }\n /**\n\t * Disables the command.\n\t *\n\t * Command may be disabled by multiple features or algorithms (at once). When disabling a command, unique id should be passed\n\t * (e.g. the feature name). The same identifier should be used when {@link #clearForceDisabled enabling back} the command.\n\t * The command becomes enabled only after all features {@link #clearForceDisabled enabled it back}.\n\t *\n\t * Disabling and enabling a command:\n\t *\n\t * ```ts\n\t * command.isEnabled; // -> true\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> false\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * Command disabled by multiple features:\n\t *\n\t * ```ts\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.forceDisabled( 'OtherFeature' );\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> false\n\t * command.clearForceDisabled( 'OtherFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * Multiple disabling with the same identifier is redundant:\n\t *\n\t * ```ts\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * **Note:** some commands or algorithms may have more complex logic when it comes to enabling or disabling certain commands,\n\t * so the command might be still disabled after {@link #clearForceDisabled} was used.\n\t *\n\t * @param id Unique identifier for disabling. Use the same id when {@link #clearForceDisabled enabling back} the command.\n\t */ forceDisabled(id) {\n this._disableStack.add(id);\n if (this._disableStack.size == 1) {\n this.on('set:isEnabled', forceDisable, {\n priority: 'highest'\n });\n this.isEnabled = false;\n }\n }\n /**\n\t * Clears forced disable previously set through {@link #forceDisabled}. See {@link #forceDisabled}.\n\t *\n\t * @param id Unique identifier, equal to the one passed in {@link #forceDisabled} call.\n\t */ clearForceDisabled(id) {\n this._disableStack.delete(id);\n if (this._disableStack.size == 0) {\n this.off('set:isEnabled', forceDisable);\n this.refresh();\n }\n }\n /**\n\t * Executes the command.\n\t *\n\t * A command may accept parameters. They will be passed from {@link module:core/editor/editor~Editor#execute `editor.execute()`}\n\t * to the command.\n\t *\n\t * The `execute()` method will automatically abort when the command is disabled ({@link #isEnabled} is `false`).\n\t * This behavior is implemented by a high priority listener to the {@link #event:execute} event.\n\t *\n\t * In order to see how to disable a command from \"outside\" see the {@link #isEnabled} documentation.\n\t *\n\t * This method may return a value, which would be forwarded all the way down to the\n\t * {@link module:core/editor/editor~Editor#execute `editor.execute()`}.\n\t *\n\t * @fires execute\n\t */ execute(...args) {\n return undefined;\n }\n /**\n\t * Destroys the command.\n\t */ destroy() {\n this.stopListening();\n }\n}\n/**\n * Helper function that forces command to be disabled.\n */ function forceDisable(evt) {\n evt.return = false;\n evt.stop();\n}\n\n/**\n * A CKEditor command that aggregates other commands.\n *\n * This command is used to proxy multiple commands. The multi-command is enabled when\n * at least one of its registered child commands is enabled.\n * When executing a multi-command, the first enabled command with highest priority will be executed.\n *\n * ```ts\n * const multiCommand = new MultiCommand( editor );\n *\n * const commandFoo = new Command( editor );\n * const commandBar = new Command( editor );\n *\n * // Register a child command.\n * multiCommand.registerChildCommand( commandFoo );\n * // Register a child command with a low priority.\n * multiCommand.registerChildCommand( commandBar, { priority: 'low' } );\n *\n * // Enable one of the commands.\n * commandBar.isEnabled = true;\n *\n * multiCommand.execute(); // Will execute commandBar.\n * ```\n */ class MultiCommand extends Command {\n /**\n\t * Registered child commands definitions.\n\t */ _childCommandsDefinitions = [];\n /**\n\t * @inheritDoc\n\t */ refresh() {\n // Override base command refresh(): the command's state is changed when one of child commands changes states.\n }\n /**\n\t * Executes the first enabled command which has the highest priority of all registered child commands.\n\t *\n\t * @returns The value returned by the {@link module:core/command~Command#execute `command.execute()`}.\n\t */ execute(...args) {\n const command = this._getFirstEnabledCommand();\n return !!command && command.execute(args);\n }\n /**\n\t * Registers a child command.\n\t *\n\t * @param options An object with configuration options.\n\t * @param options.priority Priority of a command to register.\n\t */ registerChildCommand(command, options = {}) {\n insertToPriorityArray(this._childCommandsDefinitions, {\n command,\n priority: options.priority || 'normal'\n });\n // Change multi-command enabled state when one of registered commands changes state.\n command.on('change:isEnabled', ()=>this._checkEnabled());\n this._checkEnabled();\n }\n /**\n\t * Checks if any of child commands is enabled.\n\t */ _checkEnabled() {\n this.isEnabled = !!this._getFirstEnabledCommand();\n }\n /**\n\t * Returns a first enabled command with the highest priority or `undefined` if none of them is enabled.\n\t */ _getFirstEnabledCommand() {\n const commandDefinition = this._childCommandsDefinitions.find(({ command })=>command.isEnabled);\n return commandDefinition && commandDefinition.command;\n }\n}\n\n/**\n * Collection of commands. Its instance is available in {@link module:core/editor/editor~Editor#commands `editor.commands`}.\n */ class CommandCollection {\n /**\n\t * Command map.\n\t */ _commands;\n /**\n\t * Creates collection instance.\n\t */ constructor(){\n this._commands = new Map();\n }\n /**\n\t * Registers a new command.\n\t *\n\t * @param commandName The name of the command.\n\t */ add(commandName, command) {\n this._commands.set(commandName, command);\n }\n /**\n\t * Retrieves a command from the collection.\n\t *\n\t * @param commandName The name of the command.\n\t */ get(commandName) {\n return this._commands.get(commandName);\n }\n /**\n\t * Executes a command.\n\t *\n\t * @param commandName The name of the command.\n\t * @param commandParams Command parameters.\n\t * @returns The value returned by the {@link module:core/command~Command#execute `command.execute()`}.\n\t */ execute(commandName, ...commandParams) {\n const command = this.get(commandName);\n if (!command) {\n /**\n\t\t\t * Command does not exist.\n\t\t\t *\n\t\t\t * @error commandcollection-command-not-found\n\t\t\t * @param {string} commandName Name of the command.\n\t\t\t */ throw new CKEditorError('commandcollection-command-not-found', this, {\n commandName\n });\n }\n return command.execute(...commandParams);\n }\n /**\n\t * Returns iterator of command names.\n\t */ *names() {\n yield* this._commands.keys();\n }\n /**\n\t * Returns iterator of command instances.\n\t */ *commands() {\n yield* this._commands.values();\n }\n /**\n\t * Iterable interface.\n\t *\n\t * Returns `[ commandName, commandInstance ]` pairs.\n\t */ [Symbol.iterator]() {\n return this._commands[Symbol.iterator]();\n }\n /**\n\t * Destroys all collection commands.\n\t */ destroy() {\n for (const command of this.commands()){\n command.destroy();\n }\n }\n}\n\n/**\n * Manages a list of CKEditor plugins, including loading, resolving dependencies and initialization.\n */ class PluginCollection extends /* #__PURE__ */ EmitterMixin() {\n _context;\n _plugins = new Map();\n /**\n\t * A map of plugin constructors that can be retrieved by their names.\n\t */ _availablePlugins;\n /**\n\t * Map of {@link module:core/contextplugin~ContextPlugin context plugins} which can be retrieved by their constructors or instances.\n\t */ _contextPlugins;\n /**\n\t * Creates an instance of the plugin collection class.\n\t * Allows loading and initializing plugins and their dependencies.\n\t * Allows providing a list of already loaded plugins. These plugins will not be destroyed along with this collection.\n\t *\n\t * @param availablePlugins Plugins (constructors) which the collection will be able to use\n\t * when {@link module:core/plugincollection~PluginCollection#init} is used with the plugin names (strings, instead of constructors).\n\t * Usually, the editor will pass its built-in plugins to the collection so they can later be\n\t * used in `config.plugins` or `config.removePlugins` by names.\n\t * @param contextPlugins A list of already initialized plugins represented by a `[ PluginConstructor, pluginInstance ]` pair.\n\t */ constructor(context, availablePlugins = [], contextPlugins = []){\n super();\n this._context = context;\n this._availablePlugins = new Map();\n for (const PluginConstructor of availablePlugins){\n if (PluginConstructor.pluginName) {\n this._availablePlugins.set(PluginConstructor.pluginName, PluginConstructor);\n }\n }\n this._contextPlugins = new Map();\n for (const [PluginConstructor, pluginInstance] of contextPlugins){\n this._contextPlugins.set(PluginConstructor, pluginInstance);\n this._contextPlugins.set(pluginInstance, PluginConstructor);\n // To make it possible to require a plugin by its name.\n if (PluginConstructor.pluginName) {\n this._availablePlugins.set(PluginConstructor.pluginName, PluginConstructor);\n }\n }\n }\n /**\n\t * Iterable interface.\n\t *\n\t * Returns `[ PluginConstructor, pluginInstance ]` pairs.\n\t */ *[Symbol.iterator]() {\n for (const entry of this._plugins){\n if (typeof entry[0] == 'function') {\n yield entry;\n }\n }\n }\n /**\n\t * Gets the plugin instance by its constructor or name.\n\t *\n\t * ```ts\n\t * // Check if 'Clipboard' plugin was loaded.\n\t * if ( editor.plugins.has( 'ClipboardPipeline' ) ) {\n\t * \t// Get clipboard plugin instance\n\t * \tconst clipboard = editor.plugins.get( 'ClipboardPipeline' );\n\t *\n\t * \tthis.listenTo( clipboard, 'inputTransformation', ( evt, data ) => {\n\t * \t\t// Do something on clipboard input.\n\t * \t} );\n\t * }\n\t * ```\n\t *\n\t * **Note**: This method will throw an error if a plugin is not loaded. Use `{@link #has editor.plugins.has()}`\n\t * to check if a plugin is available.\n\t *\n\t * @param key The plugin constructor or {@link module:core/plugin~PluginStaticMembers#pluginName name}.\n\t */ get(key) {\n const plugin = this._plugins.get(key);\n if (!plugin) {\n let pluginName = key;\n if (typeof key == 'function') {\n pluginName = key.pluginName || key.name;\n }\n /**\n\t\t\t * The plugin is not loaded and could not be obtained.\n\t\t\t *\n\t\t\t * Plugin classes (constructors) need to be provided to the editor and must be loaded before they can be obtained from\n\t\t\t * the plugin collection.\n\t\t\t *\n\t\t\t * **Note**: You can use `{@link module:core/plugincollection~PluginCollection#has editor.plugins.has()}`\n\t\t\t * to check if a plugin was loaded.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-not-loaded\n\t\t\t * @param {string} plugin The name of the plugin which is not loaded.\n\t\t\t */ throw new CKEditorError('plugincollection-plugin-not-loaded', this._context, {\n plugin: pluginName\n });\n }\n return plugin;\n }\n /**\n\t * Checks if a plugin is loaded.\n\t *\n\t * ```ts\n\t * // Check if the 'Clipboard' plugin was loaded.\n\t * if ( editor.plugins.has( 'ClipboardPipeline' ) ) {\n\t * \t// Now use the clipboard plugin instance:\n\t * \tconst clipboard = editor.plugins.get( 'ClipboardPipeline' );\n\t *\n\t * \t// ...\n\t * }\n\t * ```\n\t *\n\t * @param key The plugin constructor or {@link module:core/plugin~PluginStaticMembers#pluginName name}.\n\t */ has(key) {\n return this._plugins.has(key);\n }\n /**\n\t * Initializes a set of plugins and adds them to the collection.\n\t *\n\t * @param plugins An array of {@link module:core/plugin~PluginInterface plugin constructors}\n\t * or {@link module:core/plugin~PluginStaticMembers#pluginName plugin names}.\n\t * @param pluginsToRemove Names of the plugins or plugin constructors\n\t * that should not be loaded (despite being specified in the `plugins` array).\n\t * @param pluginsSubstitutions An array of {@link module:core/plugin~PluginInterface plugin constructors}\n\t * that will be used to replace plugins of the same names that were passed in `plugins` or that are in their dependency tree.\n\t * A useful option for replacing built-in plugins while creating tests (for mocking their APIs). Plugins that will be replaced\n\t * must follow these rules:\n\t * * The new plugin must be a class.\n\t * * The new plugin must be named.\n\t * * Both plugins must not depend on other plugins.\n\t * @returns A promise which gets resolved once all plugins are loaded and available in the collection.\n\t */ init(plugins, pluginsToRemove = [], pluginsSubstitutions = []) {\n // Plugin initialization procedure consists of 2 main steps:\n // 1) collecting all available plugin constructors,\n // 2) verification whether all required plugins can be instantiated.\n //\n // In the first step, all plugin constructors, available in the provided `plugins` array and inside\n // plugin's dependencies (from the `Plugin.requires` array), are recursively collected and added to the existing\n // `this._availablePlugins` map, but without any verification at the given moment. Performing the verification\n // at this point (during the plugin constructor searching) would cause false errors to occur, that some plugin\n // is missing but in fact it may be defined further in the array as the dependency of other plugin. After\n // traversing the entire dependency tree, it will be checked if all required \"top level\" plugins are available.\n //\n // In the second step, the list of plugins that have not been explicitly removed is traversed to get all the\n // plugin constructors to be instantiated in the correct order and to validate against some rules. Finally, if\n // no plugin is missing and no other error has been found, they all will be instantiated.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const context = this._context;\n findAvailablePluginConstructors(plugins);\n validatePlugins(plugins);\n const pluginsToLoad = plugins.filter((plugin)=>!isPluginRemoved(plugin, pluginsToRemove));\n const pluginConstructors = [\n ...getPluginConstructors(pluginsToLoad)\n ];\n substitutePlugins(pluginConstructors, pluginsSubstitutions);\n const pluginInstances = loadPlugins(pluginConstructors);\n return initPlugins(pluginInstances, 'init').then(()=>initPlugins(pluginInstances, 'afterInit')).then(()=>pluginInstances);\n function isPluginConstructor(plugin) {\n return typeof plugin === 'function';\n }\n function isContextPlugin(plugin) {\n return isPluginConstructor(plugin) && !!plugin.isContextPlugin;\n }\n function isPluginRemoved(plugin, pluginsToRemove) {\n return pluginsToRemove.some((removedPlugin)=>{\n if (removedPlugin === plugin) {\n return true;\n }\n if (getPluginName(plugin) === removedPlugin) {\n return true;\n }\n if (getPluginName(removedPlugin) === plugin) {\n return true;\n }\n return false;\n });\n }\n function getPluginName(plugin) {\n return isPluginConstructor(plugin) ? plugin.pluginName || plugin.name : plugin;\n }\n function findAvailablePluginConstructors(plugins, processed = new Set()) {\n plugins.forEach((plugin)=>{\n if (!isPluginConstructor(plugin)) {\n return;\n }\n if (processed.has(plugin)) {\n return;\n }\n processed.add(plugin);\n if (plugin.pluginName && !that._availablePlugins.has(plugin.pluginName)) {\n that._availablePlugins.set(plugin.pluginName, plugin);\n }\n if (plugin.requires) {\n findAvailablePluginConstructors(plugin.requires, processed);\n }\n });\n }\n function getPluginConstructors(plugins, processed = new Set()) {\n return plugins.map((plugin)=>{\n return isPluginConstructor(plugin) ? plugin : that._availablePlugins.get(plugin);\n }).reduce((result, plugin)=>{\n if (processed.has(plugin)) {\n return result;\n }\n processed.add(plugin);\n if (plugin.requires) {\n validatePlugins(plugin.requires, plugin);\n getPluginConstructors(plugin.requires, processed).forEach((plugin)=>result.add(plugin));\n }\n return result.add(plugin);\n }, new Set());\n }\n function validatePlugins(plugins, parentPluginConstructor = null) {\n plugins.map((plugin)=>{\n return isPluginConstructor(plugin) ? plugin : that._availablePlugins.get(plugin) || plugin;\n }).forEach((plugin)=>{\n checkMissingPlugin(plugin, parentPluginConstructor);\n checkContextPlugin(plugin, parentPluginConstructor);\n checkRemovedPlugin(plugin, parentPluginConstructor);\n });\n }\n function checkMissingPlugin(plugin, parentPluginConstructor) {\n if (isPluginConstructor(plugin)) {\n return;\n }\n if (parentPluginConstructor) {\n /**\n\t\t\t\t * A required \"soft\" dependency was not found on the plugin list.\n\t\t\t\t *\n\t\t\t\t * When configuring the editor, either prior to building (via\n\t\t\t\t * {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}) or when\n\t\t\t\t * creating a new instance of the editor (e.g. via\n\t\t\t\t * {@link module:core/editor/editorconfig~EditorConfig#plugins `config.plugins`}), you need to provide\n\t\t\t\t * some of the dependencies for other plugins that you used.\n\t\t\t\t *\n\t\t\t\t * This error is thrown when one of these dependencies was not provided. The name of the missing plugin\n\t\t\t\t * can be found in `missingPlugin` and the plugin that required it in `requiredBy`.\n\t\t\t\t *\n\t\t\t\t * In order to resolve it, you need to import the missing plugin and add it to the\n\t\t\t\t * current list of plugins (`Editor.builtinPlugins` or `config.plugins`/`config.extraPlugins`).\n\t\t\t\t *\n\t\t\t\t * Soft requirements were introduced in version 26.0.0. If you happen to stumble upon this error\n\t\t\t\t * when upgrading to version 26.0.0, read also the\n\t\t\t\t * {@glink updating/guides/update-to-26 Migration to 26.0.0} guide.\n\t\t\t\t *\n\t\t\t\t * @error plugincollection-soft-required\n\t\t\t\t * @param {string} missingPlugin The name of the required plugin.\n\t\t\t\t * @param {string} requiredBy The name of the plugin that requires the other plugin.\n\t\t\t\t */ throw new CKEditorError('plugincollection-soft-required', context, {\n missingPlugin: plugin,\n requiredBy: getPluginName(parentPluginConstructor)\n });\n }\n /**\n\t\t\t * A plugin is not available and could not be loaded.\n\t\t\t *\n\t\t\t * Plugin classes (constructors) need to be provided to the editor before they can be loaded by name.\n\t\t\t * This is usually done in the now deprecated CKEditor 5 builds by setting\n\t\t\t * the {@link module:core/editor/editor~Editor.builtinPlugins} property.\n\t\t\t *\n\t\t\t * **If you see this warning when using one of the deprecated CKEditor 5 Builds**,\n\t\t\t * it means that you tried to enable a plugin that was not included in that build. This may be due to a typo\n\t\t\t * in the plugin name or simply because that plugin was not a part of this build.\n\t\t\t *\n\t\t\t * **Predefined builds are no longer supported and you need to\n\t\t\t * {@glink updating/nim-migration/migration-to-new-installation-methods migrate to new installation methods}**.\n\t\t\t *\n\t\t\t * **If you see this warning when using one of the editor creators directly** (not a build), then it means\n\t\t\t * that you tried loading plugins by name. However, unlike CKEditor 4, CKEditor 5 does not implement a \"plugin loader\".\n\t\t\t * This means that CKEditor 5 does not know where to load the plugin modules from. Therefore, you need to\n\t\t\t * provide each plugin through a reference (as a constructor function). Check out the examples in the\n\t\t\t * {@glink getting-started/installation/cloud/quick-start Quick start} guide.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-not-found\n\t\t\t * @param {string} plugin The name of the plugin which could not be loaded.\n\t\t\t */ throw new CKEditorError('plugincollection-plugin-not-found', context, {\n plugin\n });\n }\n function checkContextPlugin(plugin, parentPluginConstructor) {\n if (!isContextPlugin(parentPluginConstructor)) {\n return;\n }\n if (isContextPlugin(plugin)) {\n return;\n }\n /**\n\t\t\t * If a plugin is a context plugin, all plugins it requires should also be context plugins\n\t\t\t * instead of plugins. In other words, if one plugin can be used in the context,\n\t\t\t * all its requirements should also be ready to be used in the context. Note that the context\n\t\t\t * provides only a part of the API provided by the editor. If one plugin needs a full\n\t\t\t * editor API, all plugins which require it are considered as plugins that need a full\n\t\t\t * editor API.\n\t\t\t *\n\t\t\t * @error plugincollection-context-required\n\t\t\t * @param {string} plugin The name of the required plugin.\n\t\t\t * @param {string} requiredBy The name of the parent plugin.\n\t\t\t */ throw new CKEditorError('plugincollection-context-required', context, {\n plugin: getPluginName(plugin),\n requiredBy: getPluginName(parentPluginConstructor)\n });\n }\n function checkRemovedPlugin(plugin, parentPluginConstructor) {\n if (!parentPluginConstructor) {\n return;\n }\n if (!isPluginRemoved(plugin, pluginsToRemove)) {\n return;\n }\n /**\n\t\t\t * Cannot load a plugin because one of its dependencies is listed in the `removePlugins` option.\n\t\t\t *\n\t\t\t * @error plugincollection-required\n\t\t\t * @param {string} plugin The name of the required plugin.\n\t\t\t * @param {string} requiredBy The name of the parent plugin.\n\t\t\t */ throw new CKEditorError('plugincollection-required', context, {\n plugin: getPluginName(plugin),\n requiredBy: getPluginName(parentPluginConstructor)\n });\n }\n function loadPlugins(pluginConstructors) {\n return pluginConstructors.map((PluginConstructor)=>{\n let pluginInstance = that._contextPlugins.get(PluginConstructor);\n pluginInstance = pluginInstance || new PluginConstructor(context);\n that._add(PluginConstructor, pluginInstance);\n return pluginInstance;\n });\n }\n function initPlugins(pluginInstances, method) {\n return pluginInstances.reduce((promise, plugin)=>{\n if (!plugin[method]) {\n return promise;\n }\n if (that._contextPlugins.has(plugin)) {\n return promise;\n }\n return promise.then(plugin[method].bind(plugin));\n }, Promise.resolve());\n }\n /**\n\t\t * Replaces plugin constructors with the specified set of plugins.\n\t\t */ function substitutePlugins(pluginConstructors, pluginsSubstitutions) {\n for (const pluginItem of pluginsSubstitutions){\n if (typeof pluginItem != 'function') {\n /**\n\t\t\t\t\t * The plugin replacing an existing plugin must be a function.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replace-plugin-invalid-type\n\t\t\t\t\t * @param {never} pluginItem The plugin item.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-replace-plugin-invalid-type', null, {\n pluginItem\n });\n }\n const pluginName = pluginItem.pluginName;\n if (!pluginName) {\n /**\n\t\t\t\t\t * The plugin replacing an existing plugin must have a name.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replace-plugin-missing-name\n\t\t\t\t\t * @param {module:core/plugin~PluginConstructor} pluginItem The plugin item.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-replace-plugin-missing-name', null, {\n pluginItem\n });\n }\n if (pluginItem.requires && pluginItem.requires.length) {\n /**\n\t\t\t\t\t * The plugin replacing an existing plugin cannot depend on other plugins.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-cannot-have-dependencies\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-plugin-for-replacing-cannot-have-dependencies', null, {\n pluginName\n });\n }\n const pluginToReplace = that._availablePlugins.get(pluginName);\n if (!pluginToReplace) {\n /**\n\t\t\t\t\t * The replaced plugin does not exist in the\n\t\t\t\t\t * {@link module:core/plugincollection~PluginCollection available plugins} collection.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-not-exist\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-plugin-for-replacing-not-exist', null, {\n pluginName\n });\n }\n const indexInPluginConstructors = pluginConstructors.indexOf(pluginToReplace);\n if (indexInPluginConstructors === -1) {\n // The Context feature can substitute plugins as well.\n // It may happen that the editor will be created with the given context, where the plugin for substitute\n // was already replaced. In such a case, we don't want to do it again.\n if (that._contextPlugins.has(pluginToReplace)) {\n return;\n }\n /**\n\t\t\t\t\t * The replaced plugin will not be loaded so it cannot be replaced.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-not-loaded\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-plugin-for-replacing-not-loaded', null, {\n pluginName\n });\n }\n if (pluginToReplace.requires && pluginToReplace.requires.length) {\n /**\n\t\t\t\t\t * The replaced plugin cannot depend on other plugins.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replaced-plugin-cannot-have-dependencies\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-replaced-plugin-cannot-have-dependencies', null, {\n pluginName\n });\n }\n pluginConstructors.splice(indexInPluginConstructors, 1, pluginItem);\n that._availablePlugins.set(pluginName, pluginItem);\n }\n }\n }\n /**\n\t * Destroys all loaded plugins.\n\t */ destroy() {\n const promises = [];\n for (const [, pluginInstance] of this){\n if (typeof pluginInstance.destroy == 'function' && !this._contextPlugins.has(pluginInstance)) {\n promises.push(pluginInstance.destroy());\n }\n }\n return Promise.all(promises);\n }\n /**\n\t * Adds the plugin to the collection. Exposed mainly for testing purposes.\n\t *\n\t * @param PluginConstructor The plugin constructor.\n\t * @param plugin The instance of the plugin.\n\t */ _add(PluginConstructor, plugin) {\n this._plugins.set(PluginConstructor, plugin);\n const pluginName = PluginConstructor.pluginName;\n if (!pluginName) {\n return;\n }\n if (this._plugins.has(pluginName)) {\n /**\n\t\t\t * Two plugins with the same {@link module:core/plugin~PluginStaticMembers#pluginName} were loaded.\n\t\t\t * This will lead to runtime conflicts between these plugins.\n\t\t\t *\n\t\t\t * In practice, this warning usually means that new plugins were added to an existing CKEditor 5 build.\n\t\t\t * Plugins should always be added to a source version of the editor (`@ckeditor/ckeditor5-editor-*`),\n\t\t\t * not to an editor imported from one of the `@ckeditor/ckeditor5-build-*` packages.\n\t\t\t *\n\t\t\t * Check your import paths and the list of plugins passed to\n\t\t\t * {@link module:core/editor/editor~Editor.create `Editor.create()`}\n\t\t\t * or specified in {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}.\n\t\t\t *\n\t\t\t * Predefined builds are a deprecated solution and we strongly advise\n\t\t\t * {@glink updating/nim-migration/migration-to-new-installation-methods migrating to new installation methods}.\n\t\t\t *\n\t\t\t * The second option is that your `node_modules/` directory contains duplicated versions of the same\n\t\t\t * CKEditor 5 packages. Normally, on clean installations, npm deduplicates packages in `node_modules/`, so\n\t\t\t * it may be enough to call `rm -rf node_modules && npm i`. However, if you installed conflicting versions\n\t\t\t * of some packages, their dependencies may need to be installed in more than one version which may lead to this\n\t\t\t * warning.\n\t\t\t *\n\t\t\t * Technically speaking, this error occurs because after adding a plugin to an existing editor build\n\t\t\t * the dependencies of this plugin are being duplicated.\n\t\t\t * They are already built into that editor build and now get added for the second time as dependencies\n\t\t\t * of the plugin you are installing.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-name-conflict\n\t\t\t * @param {string} pluginName The duplicated plugin name.\n\t\t\t * @param {module:core/plugin~PluginConstructor} plugin1 The first plugin constructor.\n\t\t\t * @param {module:core/plugin~PluginConstructor} plugin2 The second plugin constructor.\n\t\t\t */ throw new CKEditorError('plugincollection-plugin-name-conflict', null, {\n pluginName,\n plugin1: this._plugins.get(pluginName).constructor,\n plugin2: PluginConstructor\n });\n }\n this._plugins.set(pluginName, plugin);\n }\n}\n\n/**\n * Provides a common, higher-level environment for solutions that use multiple {@link module:core/editor/editor~Editor editors}\n * or plugins that work outside the editor. Use it instead of {@link module:core/editor/editor~Editor.create `Editor.create()`}\n * in advanced application integrations.\n *\n * All configuration options passed to a context will be used as default options for the editor instances initialized in that context.\n *\n * {@link module:core/contextplugin~ContextPlugin Context plugins} passed to a context instance will be shared among all\n * editor instances initialized in this context. These will be the same plugin instances for all the editors.\n *\n * **Note:** The context can only be initialized with {@link module:core/contextplugin~ContextPlugin context plugins}\n * (e.g. [comments](https://ckeditor.com/collaboration/comments/)). Regular {@link module:core/plugin~Plugin plugins} require an\n * editor instance to work and cannot be added to a context.\n *\n * **Note:** You can add a context plugin to an editor instance, though.\n *\n * If you are using multiple editor instances on one page and use any context plugins, create a context to share the configuration and\n * plugins among these editors. Some plugins will use the information about all existing editors to better integrate between them.\n *\n * If you are using plugins that do not require an editor to work (e.g. [comments](https://ckeditor.com/collaboration/comments/)),\n * enable and configure them using the context.\n *\n * If you are using only a single editor on each page, use {@link module:core/editor/editor~Editor.create `Editor.create()`} instead.\n * In such a case, a context instance will be created by the editor instance in a transparent way.\n *\n * See {@link ~Context.create `Context.create()`} for usage examples.\n */ class Context {\n /**\n\t * Stores all the configurations specific to this context instance.\n\t */ config;\n /**\n\t * The plugins loaded and in use by this context instance.\n\t */ plugins;\n locale;\n /**\n\t * Shorthand for {@link module:utils/locale~Locale#t}.\n\t */ t;\n /**\n\t * A list of editors that this context instance is injected to.\n\t */ editors;\n /**\n\t * The default configuration which is built into the `Context` class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds featuring `Context` to provide the default configuration options\n\t * which are later used during the context initialization.\n\t *\n\t * ```ts\n\t * Context.defaultConfig = {\n\t * \tfoo: 1,\n\t * \tbar: 2\n\t * };\n\t *\n\t * Context\n\t * \t.create()\n\t * \t.then( context => {\n\t * \t\tcontext.config.get( 'foo' ); // -> 1\n\t * \t\tcontext.config.get( 'bar' ); // -> 2\n\t * \t} );\n\t *\n\t * // The default options can be overridden by the configuration passed to create().\n\t * Context\n\t * \t.create( { bar: 3 } )\n\t * \t.then( context => {\n\t * \t\tcontext.config.get( 'foo' ); // -> 1\n\t * \t\tcontext.config.get( 'bar' ); // -> 3\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/context~Context.builtinPlugins `Context.builtinPlugins`}\n\t * and {@link module:core/editor/editor~Editor.defaultConfig `Editor.defaultConfig`}.\n\t */ static defaultConfig;\n /**\n\t * An array of plugins built into the `Context` class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds featuring `Context` to provide the default configuration options\n\t * which are later used during the context initialization.\n\t *\n\t * They will be automatically initialized by `Context` unless `config.plugins` is passed.\n\t *\n\t * ```ts\n\t * // Build some context plugins into the Context class first.\n\t * Context.builtinPlugins = [ FooPlugin, BarPlugin ];\n\t *\n\t * // Normally, you need to define config.plugins, but since Context.builtinPlugins was\n\t * // defined, now you can call create() without any configuration.\n\t * Context\n\t * \t.create()\n\t * \t.then( context => {\n\t * \t\tcontext.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\tcontext.plugins.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/context~Context.defaultConfig `Context.defaultConfig`}\n\t * and {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}.\n\t */ static builtinPlugins;\n /**\n\t * Reference to the editor which created the context.\n\t * Null when the context was created outside of the editor.\n\t *\n\t * It is used to destroy the context when removing the editor that has created the context.\n\t */ _contextOwner = null;\n /**\n\t * Creates a context instance with a given configuration.\n\t *\n\t * Usually not to be used directly. See the static {@link module:core/context~Context.create `create()`} method.\n\t *\n\t * @param config The context configuration.\n\t */ constructor(config){\n // We don't pass translations to the config, because its behavior of splitting keys\n // with dots (e.g. `resize.width` => `resize: { width }`) breaks the translations.\n const { translations, ...rest } = config || {};\n this.config = new Config(rest, this.constructor.defaultConfig);\n const availablePlugins = this.constructor.builtinPlugins;\n this.config.define('plugins', availablePlugins);\n this.plugins = new PluginCollection(this, availablePlugins);\n const languageConfig = this.config.get('language') || {};\n this.locale = new Locale({\n uiLanguage: typeof languageConfig === 'string' ? languageConfig : languageConfig.ui,\n contentLanguage: this.config.get('language.content'),\n translations\n });\n this.t = this.locale.t;\n this.editors = new Collection();\n }\n /**\n\t * Loads and initializes plugins specified in the configuration.\n\t *\n\t * @returns A promise which resolves once the initialization is completed, providing an array of loaded plugins.\n\t */ initPlugins() {\n const plugins = this.config.get('plugins') || [];\n const substitutePlugins = this.config.get('substitutePlugins') || [];\n // Plugins for substitution should be checked as well.\n for (const Plugin of plugins.concat(substitutePlugins)){\n if (typeof Plugin != 'function') {\n /**\n\t\t\t\t * Only a constructor function is allowed as a {@link module:core/contextplugin~ContextPlugin context plugin}.\n\t\t\t\t *\n\t\t\t\t * @error context-initplugins-constructor-only\n\t\t\t\t */ throw new CKEditorError('context-initplugins-constructor-only', null, {\n Plugin\n });\n }\n if (Plugin.isContextPlugin !== true) {\n /**\n\t\t\t\t * Only a plugin marked as a {@link module:core/contextplugin~ContextPlugin.isContextPlugin context plugin}\n\t\t\t\t * is allowed to be used with a context.\n\t\t\t\t *\n\t\t\t\t * @error context-initplugins-invalid-plugin\n\t\t\t\t */ throw new CKEditorError('context-initplugins-invalid-plugin', null, {\n Plugin\n });\n }\n }\n return this.plugins.init(plugins, [], substitutePlugins);\n }\n /**\n\t * Destroys the context instance and all editors used with the context,\n\t * releasing all resources used by the context.\n\t *\n\t * @returns A promise that resolves once the context instance is fully destroyed.\n\t */ destroy() {\n return Promise.all(Array.from(this.editors, (editor)=>editor.destroy())).then(()=>this.plugins.destroy());\n }\n /**\n\t * Adds a reference to the editor which is used with this context.\n\t *\n\t * When the given editor has created the context, the reference to this editor will be stored\n\t * as a {@link ~Context#_contextOwner}.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @param isContextOwner Stores the given editor as a context owner.\n\t */ _addEditor(editor, isContextOwner) {\n if (this._contextOwner) {\n /**\n\t\t\t * Cannot add multiple editors to the context which is created by the editor.\n\t\t\t *\n\t\t\t * @error context-addeditor-private-context\n\t\t\t */ throw new CKEditorError('context-addeditor-private-context');\n }\n this.editors.add(editor);\n if (isContextOwner) {\n this._contextOwner = editor;\n }\n }\n /**\n\t * Removes a reference to the editor which was used with this context.\n\t * When the context was created by the given editor, the context will be destroyed.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @return A promise that resolves once the editor is removed from the context or when the context was destroyed.\n\t */ _removeEditor(editor) {\n if (this.editors.has(editor)) {\n this.editors.remove(editor);\n }\n if (this._contextOwner === editor) {\n return this.destroy();\n }\n return Promise.resolve();\n }\n /**\n\t * Returns the context configuration which will be copied to the editors created using this context.\n\t *\n\t * The configuration returned by this method has the plugins configuration removed &ndash; plugins are shared with all editors\n\t * through another mechanism.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @returns Configuration as a plain object.\n\t */ _getEditorConfig() {\n const result = {};\n for (const name of this.config.names()){\n if (![\n 'plugins',\n 'removePlugins',\n 'extraPlugins'\n ].includes(name)) {\n result[name] = this.config.get(name);\n }\n }\n return result;\n }\n /**\n\t * Creates and initializes a new context instance.\n\t *\n\t * ```ts\n\t * const commonConfig = { ... }; // Configuration for all the plugins and editors.\n\t * const editorPlugins = [ ... ]; // Regular plugins here.\n\t *\n\t * Context\n\t * \t.create( {\n\t * \t\t// Only context plugins here.\n\t * \t\tplugins: [ ... ],\n\t *\n\t * \t\t// Configure the language for all the editors (it cannot be overwritten).\n\t * \t\tlanguage: { ... },\n\t *\n\t * \t\t// Configuration for context plugins.\n\t * \t\tcomments: { ... },\n\t * \t\t...\n\t *\n\t * \t\t// Default configuration for editor plugins.\n\t * \t\ttoolbar: { ... },\n\t * \t\timage: { ... },\n\t * \t\t...\n\t * \t} )\n\t * \t.then( context => {\n\t * \t\tconst promises = [];\n\t *\n\t * \t\tpromises.push( ClassicEditor.create(\n\t * \t\t\tdocument.getElementById( 'editor1' ),\n\t * \t\t\t{\n\t * \t\t\t\teditorPlugins,\n\t * \t\t\t\tcontext\n\t * \t\t\t}\n\t * \t\t) );\n\t *\n\t * \t\tpromises.push( ClassicEditor.create(\n\t * \t\t\tdocument.getElementById( 'editor2' ),\n\t * \t\t\t{\n\t * \t\t\t\teditorPlugins,\n\t * \t\t\t\tcontext,\n\t * \t\t\t\ttoolbar: { ... } // You can overwrite the configuration of the context.\n\t * \t\t\t}\n\t * \t\t) );\n\t *\n\t * \t\treturn Promise.all( promises );\n\t * \t} );\n\t * ```\n\t *\n\t * @param config The context configuration.\n\t * @returns A promise resolved once the context is ready. The promise resolves with the created context instance.\n\t */ static create(config) {\n return new Promise((resolve)=>{\n const context = new this(config);\n resolve(context.initPlugins().then(()=>context));\n });\n }\n}\n\n/**\n * The base class for {@link module:core/context~Context} plugin classes.\n *\n * A context plugin can either be initialized for an {@link module:core/editor/editor~Editor editor} or for\n * a {@link module:core/context~Context context}. In other words, it can either\n * work within one editor instance or with one or more editor instances that use a single context.\n * It is the context plugin's role to implement handling for both modes.\n *\n * There are a few rules for interaction between the editor plugins and context plugins:\n *\n * * A context plugin can require another context plugin.\n * * An {@link module:core/plugin~Plugin editor plugin} can require a context plugin.\n * * A context plugin MUST NOT require an {@link module:core/plugin~Plugin editor plugin}.\n */ class ContextPlugin extends /* #__PURE__ */ ObservableMixin() {\n /**\n\t * The context or editor instance.\n\t */ context;\n /**\n\t * Creates a new plugin instance.\n\t */ constructor(context){\n super();\n this.context = context;\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n this.stopListening();\n }\n /**\n\t * @inheritDoc\n\t */ static get isContextPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return false;\n }\n /**\n\t * @inheritDoc\n\t */ static get isPremiumPlugin() {\n return false;\n }\n}\n\n/**\n * A keystroke handler for editor editing. Its instance is available\n * in {@link module:core/editor/editor~Editor#keystrokes} so plugins\n * can register their keystrokes.\n *\n * E.g. an undo plugin would do this:\n *\n * ```ts\n * editor.keystrokes.set( 'Ctrl+Z', 'undo' );\n * editor.keystrokes.set( 'Ctrl+Shift+Z', 'redo' );\n * editor.keystrokes.set( 'Ctrl+Y', 'redo' );\n * ```\n */ class EditingKeystrokeHandler extends KeystrokeHandler {\n /**\n\t * The editor instance.\n\t */ editor;\n /**\n\t * Creates an instance of the keystroke handler.\n\t */ constructor(editor){\n super();\n this.editor = editor;\n }\n /**\n\t * Registers a handler for the specified keystroke.\n\t *\n\t * The handler can be specified as a command name or a callback.\n\t *\n\t * @param keystroke Keystroke defined in a format accepted by\n\t * the {@link module:utils/keyboard~parseKeystroke} function.\n\t * @param callback If a string is passed, then the keystroke will\n\t * {@link module:core/editor/editor~Editor#execute execute a command}.\n\t * If a function, then it will be called with the\n\t * {@link module:engine/view/observer/keyobserver~ViewDocumentKeyEventData key event data} object and\n\t * a `cancel()` helper to both `preventDefault()` and `stopPropagation()` of the event.\n\t * @param options Additional options.\n\t * @param options.priority The priority of the keystroke callback. The higher the priority value\n\t * the sooner the callback will be executed. Keystrokes having the same priority\n\t * are called in the order they were added.\n\t */ set(keystroke, callback, options = {}) {\n if (typeof callback == 'string') {\n const commandName = callback;\n callback = (evtData, cancel)=>{\n this.editor.execute(commandName);\n cancel();\n };\n }\n super.set(keystroke, callback, options);\n }\n}\n\nconst DEFAULT_CATEGORY_ID = 'contentEditing';\n/**\n * @internal\n */ const DEFAULT_GROUP_ID = 'common';\n/**\n * A common namespace for various accessibility features of the editor.\n *\n * **Information about editor keystrokes**\n *\n * * The information about keystrokes available in the editor is stored in the {@link #keystrokeInfos} property.\n * * New info entries can be added using the {@link #addKeystrokeInfoCategory}, {@link #addKeystrokeInfoGroup},\n * and {@link #addKeystrokeInfos} methods.\n */ class Accessibility {\n /**\n\t * Stores information about keystrokes brought by editor features for the users to interact with the editor, mainly\n\t * keystroke combinations and their accessible labels.\n\t *\n\t * This information is particularly useful for screen reader and other assistive technology users. It gets displayed\n\t * by the {@link module:ui/editorui/accessibilityhelp/accessibilityhelp~AccessibilityHelp Accessibility help} dialog.\n\t *\n\t * Keystrokes are organized in categories and groups. They can be added using ({@link #addKeystrokeInfoCategory},\n\t * {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfos}) methods.\n\t *\n\t * Please note that:\n\t * * two categories are always available:\n\t * * `'contentEditing'` for keystrokes related to content creation,\n\t * * `'navigation'` for keystrokes related to navigation in the UI and the content.\n\t * * unless specified otherwise, new keystrokes are added into the `'contentEditing'` category and the `'common'`\n\t * keystroke group within that category while using the {@link #addKeystrokeInfos} method.\n\t */ keystrokeInfos = new Map();\n /**\n\t * The editor instance.\n\t */ _editor;\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n this._editor = editor;\n const isMenuBarVisible = editor.config.get('menuBar.isVisible');\n const t = editor.locale.t;\n this.addKeystrokeInfoCategory({\n id: DEFAULT_CATEGORY_ID,\n label: t('Content editing keystrokes'),\n description: t('These keyboard shortcuts allow for quick access to content editing features.')\n });\n const navigationKeystrokes = [\n {\n label: t('Close contextual balloons, dropdowns, and dialogs'),\n keystroke: 'Esc'\n },\n {\n label: t('Open the accessibility help dialog'),\n keystroke: 'Alt+0'\n },\n {\n label: t('Move focus between form fields (inputs, buttons, etc.)'),\n keystroke: [\n [\n 'Tab'\n ],\n [\n 'Shift+Tab'\n ]\n ]\n },\n {\n label: t('Move focus to the toolbar, navigate between toolbars'),\n keystroke: 'Alt+F10',\n mayRequireFn: true\n },\n {\n label: t('Navigate through the toolbar or menu bar'),\n keystroke: [\n [\n 'arrowup'\n ],\n [\n 'arrowright'\n ],\n [\n 'arrowdown'\n ],\n [\n 'arrowleft'\n ]\n ]\n },\n {\n // eslint-disable-next-line @stylistic/max-len\n label: t('Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.'),\n keystroke: [\n [\n 'Enter'\n ],\n [\n 'Space'\n ]\n ]\n }\n ];\n if (isMenuBarVisible) {\n navigationKeystrokes.push({\n label: t('Move focus to the menu bar, navigate between menu bars'),\n keystroke: 'Alt+F9',\n mayRequireFn: true\n });\n }\n this.addKeystrokeInfoCategory({\n id: 'navigation',\n label: t('User interface and content navigation keystrokes'),\n description: t('Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.'),\n groups: [\n {\n id: 'common',\n keystrokes: navigationKeystrokes\n }\n ]\n });\n }\n /**\n\t * Adds a top-level category in the {@link #keystrokeInfos keystroke information database} with a label and optional description.\n\t *\n\t * Categories organize keystrokes and help users to find the right keystroke. Each category can have multiple groups\n\t * of keystrokes that narrow down the context in which the keystrokes are available. Every keystroke category comes\n\t * with a `'common'` group by default.\n\t *\n\t * By default, two categories are available:\n\t * * `'contentEditing'` for keystrokes related to content creation,\n\t * * `'navigation'` for keystrokes related to navigation in the UI and the content.\n\t *\n\t * To create a new keystroke category with new groups, use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfoCategory( {\n\t * \t\t\tid: 'myCategory',\n\t * \t\t\tlabel: t( 'My category' ),\n\t * \t\t\tdescription: t( 'My category description.' ),\n\t * \t\t\tgroups: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tid: 'myGroup',\n\t * \t\t\t\t\tlabel: t( 'My keystroke group' ),\n\t * \t\t\t\t\tkeystrokes: [\n\t * \t\t\t\t\t\t{\n\t * \t\t\t\t\t\t\tlabel: t( 'Keystroke label 1' ),\n\t * \t\t\t\t\t\t\tkeystroke: 'Ctrl+Shift+N'\n\t * \t\t\t\t\t\t},\n\t * \t\t\t\t\t\t{\n\t * \t\t\t\t\t\t\tlabel: t( 'Keystroke label 2' ),\n\t * \t\t\t\t\t\t\tkeystroke: 'Ctrl+Shift+M'\n\t * \t\t\t\t\t\t}\n\t * \t\t\t\t\t]\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t};\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfos}.\n\t */ addKeystrokeInfoCategory({ id, label, description, groups }) {\n this.keystrokeInfos.set(id, {\n id,\n label,\n description,\n groups: new Map()\n });\n this.addKeystrokeInfoGroup({\n categoryId: id,\n id: DEFAULT_GROUP_ID\n });\n if (groups) {\n groups.forEach((group)=>{\n this.addKeystrokeInfoGroup({\n categoryId: id,\n ...group\n });\n });\n }\n }\n /**\n\t * Adds a group of keystrokes in a specific category to the {@link #keystrokeInfos keystroke information database}.\n\t *\n\t * Groups narrow down the context in which the keystrokes are available. When `categoryId` is not specified,\n\t * the group goes to the `'contentEditing'` category (default).\n\t *\n\t * To create a new group within an existing category, use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfoGroup( {\n\t * \t\t\tid: 'myGroup',\n\t * \t\t\tcategoryId: 'navigation',\n\t * \t\t\tlabel: t( 'My keystroke group' ),\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label 1' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+Shift+N'\n\t * \t\t\t\t},\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label 2' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+Shift+M'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoCategory}, and {@link #addKeystrokeInfos}.\n\t */ addKeystrokeInfoGroup({ categoryId = DEFAULT_CATEGORY_ID, id, label, keystrokes }) {\n const category = this.keystrokeInfos.get(categoryId);\n if (!category) {\n throw new CKEditorError('accessibility-unknown-keystroke-info-category', this._editor, {\n groupId: id,\n categoryId\n });\n }\n category.groups.set(id, {\n id,\n label,\n keystrokes: keystrokes || []\n });\n }\n /**\n\t * Adds information about keystrokes to the {@link #keystrokeInfos keystroke information database}.\n\t *\n\t * Keystrokes without specified `groupId` or `categoryId` go to the `'common'` group in the `'contentEditing'` category (default).\n\t *\n\t * To add a keystroke brought by your plugin (using default group and category), use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label' ),\n\t * \t\t\t\t\tkeystroke: 'CTRL+B'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t * To add a keystroke in a specific existing `'widget'` group in the default `'contentEditing'` category:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\t// Add a keystroke to the existing \"widget\" group.\n\t * \t\t\tgroupId: 'widget',\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'A an action on a selected widget' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+D',\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * To add a keystroke to another existing category (using default group):\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\t// Add keystrokes to the \"navigation\" category (one of defaults).\n\t * \t\t\tcategoryId: 'navigation',\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label' ),\n\t * \t\t\t\t\tkeystroke: 'CTRL+B'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfoCategory}.\n\t */ addKeystrokeInfos({ categoryId = DEFAULT_CATEGORY_ID, groupId = DEFAULT_GROUP_ID, keystrokes }) {\n if (!this.keystrokeInfos.has(categoryId)) {\n /**\n\t\t\t * Cannot add keystrokes in an unknown category. Use\n\t\t\t * {@link module:core/accessibility~Accessibility#addKeystrokeInfoCategory}\n\t\t\t * to add a new category or make sure the specified category exists.\n\t\t\t *\n\t\t\t * @error accessibility-unknown-keystroke-info-category\n\t\t\t * @param {string} categoryId The id of the unknown keystroke category.\n\t\t\t * @param {module:core/accessibility~AddKeystrokeInfosData#keystrokes} keystrokes Keystroke definitions about to be added.\n\t\t\t */ throw new CKEditorError('accessibility-unknown-keystroke-info-category', this._editor, {\n categoryId,\n keystrokes\n });\n }\n const category = this.keystrokeInfos.get(categoryId);\n if (!category.groups.has(groupId)) {\n /**\n\t\t\t * Cannot add keystrokes to an unknown group.\n\t\t\t *\n\t\t\t * Use {@link module:core/accessibility~Accessibility#addKeystrokeInfoGroup}\n\t\t\t * to add a new group or make sure the specified group exists.\n\t\t\t *\n\t\t\t * @error accessibility-unknown-keystroke-info-group\n\t\t\t * @param {string} groupId The id of the unknown keystroke group.\n\t\t\t * @param {string} categoryId The id of category the unknown group should belong to.\n\t\t\t * @param {module:core/accessibility~AddKeystrokeInfosData#keystrokes} keystrokes Keystroke definitions about to be added.\n\t\t\t */ throw new CKEditorError('accessibility-unknown-keystroke-info-group', this._editor, {\n groupId,\n categoryId,\n keystrokes\n });\n }\n category.groups.get(groupId).keystrokes.push(...keystrokes);\n }\n}\n\n/**\n * This part of the code is not executed in open-source implementations using a GPL key.\n * It only runs when a specific license key is provided. If you are uncertain whether\n * this applies to your installation, please contact our support team.\n *\n * @internal\n */ function getEditorUsageData(editor) {\n return {\n sessionId: getSessionId(),\n pageSessionId: getPageSessionID(),\n hostname: window.location.hostname,\n version: globalThis.CKEDITOR_VERSION,\n type: getEditorType(editor),\n plugins: getPluginsUsageData(editor.plugins),\n distribution: getDistributionUsageData(),\n env: getEnvUsageData(),\n integration: Object.create(null),\n menuBar: {\n isVisible: !!editor.config.get('menuBar.isVisible')\n },\n language: {\n ui: editor.locale.uiLanguage,\n content: editor.locale.contentLanguage\n },\n toolbar: {\n main: getToolbarUsageData(editor.config.get('toolbar')),\n block: getToolbarUsageData(editor.config.get('blockToolbar')),\n balloon: getToolbarUsageData(editor.config.get('balloonToolbar'))\n }\n };\n}\nfunction getEditorType(editor) {\n return Object.getPrototypeOf(editor).constructor.editorName;\n}\nfunction getPluginsUsageData(collection) {\n return Array.from(collection).filter(([PluginConstructor])=>!!PluginConstructor.pluginName).map(([PluginConstructor])=>{\n const { pluginName, isContextPlugin, isOfficialPlugin, isPremiumPlugin } = PluginConstructor;\n return {\n isContext: !!isContextPlugin,\n isOfficial: !!isOfficialPlugin,\n isPremium: !!isPremiumPlugin,\n name: pluginName\n };\n });\n}\nfunction getToolbarUsageData(toolbarConfig) {\n if (!toolbarConfig) {\n return undefined;\n }\n const normalizedToolbar = Array.isArray(toolbarConfig) ? {\n items: toolbarConfig\n } : toolbarConfig;\n const flattenToolbarConfigNames = extractToolbarConfigItemsNames(normalizedToolbar.items || []);\n const isMultiline = flattenToolbarConfigNames.includes('-');\n return {\n isMultiline,\n shouldNotGroupWhenFull: !!normalizedToolbar.shouldNotGroupWhenFull,\n items: stripToolbarSeparatorItems(flattenToolbarConfigNames)\n };\n function stripToolbarSeparatorItems(items) {\n return items.filter((item)=>item !== '|' && item !== '-');\n }\n function extractToolbarConfigItemsNames(items) {\n return items.flatMap((item)=>{\n if (typeof item === 'string') {\n return [\n item\n ];\n }\n return extractToolbarConfigItemsNames(item.items);\n });\n }\n}\nfunction getDistributionUsageData() {\n return {\n channel: window[Symbol.for('cke distribution')] || 'sh'\n };\n}\nfunction getEnvUsageData() {\n let os = 'unknown';\n let browser = 'unknown';\n if (env.isMac) {\n os = 'mac';\n } else if (env.isWindows) {\n os = 'windows';\n } else if (env.isiOS) {\n os = 'ios';\n } else if (env.isAndroid) {\n os = 'android';\n }\n if (env.isGecko) {\n browser = 'gecko';\n } else if (env.isBlink) {\n browser = 'blink';\n } else if (env.isSafari) {\n browser = 'safari';\n }\n return {\n os,\n browser\n };\n}\nfunction getSessionId() {\n if (!localStorage.getItem('__ckeditor-session-id')) {\n localStorage.setItem('__ckeditor-session-id', uid());\n }\n return localStorage.getItem('__ckeditor-session-id');\n}\nfunction getPageSessionID() {\n global.window.CKEDITOR_PAGE_SESSION_ID = global.window.CKEDITOR_PAGE_SESSION_ID || uid();\n return global.window.CKEDITOR_PAGE_SESSION_ID;\n}\n\n/**\n * The class representing a basic, generic editor.\n *\n * Check out the list of its subclasses to learn about specific editor implementations.\n *\n * All editor implementations (like {@link module:editor-classic/classiceditor~ClassicEditor} or\n * {@link module:editor-inline/inlineeditor~InlineEditor}) should extend this class. They can add their\n * own methods and properties.\n *\n * When you are implementing a plugin, this editor represents the API\n * which your plugin can expect to get when using its {@link module:core/plugin~Plugin#editor} property.\n *\n * This API should be sufficient in order to implement the \"editing\" part of your feature\n * (schema definition, conversion, commands, keystrokes, etc.).\n * It does not define the editor UI, which is available only if\n * the specific editor implements also the {@link ~Editor#ui} property\n * (as most editor implementations do).\n */ class Editor extends /* #__PURE__ */ ObservableMixin() {\n /**\n\t * A required name of the editor class. The name should reflect the constructor name.\n\t */ static get editorName() {\n return 'Editor';\n }\n /**\n\t * A namespace for the accessibility features of the editor.\n\t */ accessibility;\n /**\n\t * Commands registered to the editor.\n\t *\n\t * Use the shorthand {@link #execute `editor.execute()`} method to execute commands:\n\t *\n\t * ```ts\n\t * // Execute the bold command:\n\t * editor.execute( 'bold' );\n\t *\n\t * // Check the state of the bold command:\n\t * editor.commands.get( 'bold' ).value;\n\t * ```\n\t */ commands;\n /**\n\t * Stores all configurations specific to this editor instance.\n\t *\n\t * ```ts\n\t * editor.config.get( 'image.toolbar' );\n\t * // -> [ 'imageStyle:block', 'imageStyle:side', '|', 'toggleImageCaption', 'imageTextAlternative' ]\n\t * ```\n\t */ config;\n /**\n\t * Conversion manager through which you can register model-to-view and view-to-model converters.\n\t *\n\t * See the {@link module:engine/conversion/conversion~Conversion} documentation to learn how to add converters.\n\t */ conversion;\n /**\n\t * The {@link module:engine/controller/datacontroller~DataController data controller}.\n\t * Used e.g. for setting and retrieving the editor data.\n\t */ data;\n /**\n\t * The {@link module:engine/controller/editingcontroller~EditingController editing controller}.\n\t * Controls user input and rendering the content for editing.\n\t */ editing;\n /**\n\t * The locale instance.\n\t */ locale;\n /**\n\t * The editor's model.\n\t *\n\t * The central point of the editor's abstract data model.\n\t */ model;\n /**\n\t * The plugins loaded and in use by this editor instance.\n\t *\n\t * ```ts\n\t * editor.plugins.get( 'ClipboardPipeline' ); // -> An instance of the clipboard pipeline plugin.\n\t * ```\n\t */ plugins;\n /**\n\t * An instance of the {@link module:core/editingkeystrokehandler~EditingKeystrokeHandler}.\n\t *\n\t * It allows setting simple keystrokes:\n\t *\n\t * ```ts\n\t * // Execute the bold command on Ctrl+E:\n\t * editor.keystrokes.set( 'Ctrl+E', 'bold' );\n\t *\n\t * // Execute your own callback:\n\t * editor.keystrokes.set( 'Ctrl+E', ( data, cancel ) => {\n\t * \tconsole.log( data.keyCode );\n\t *\n\t * \t// Prevent the default (native) action and stop the underlying keydown event\n\t * \t// so no other editor feature will interfere.\n\t * \tcancel();\n\t * } );\n\t * ```\n\t *\n\t * Note: Certain typing-oriented keystrokes (like <kbd>Backspace</kbd> or <kbd>Enter</kbd>) are handled\n\t * by a low-level mechanism and trying to listen to them via the keystroke handler will not work reliably.\n\t * To handle these specific keystrokes, see the events fired by the\n\t * {@link module:engine/view/document~ViewDocument editing view document} (`editor.editing.view.document`).\n\t */ keystrokes;\n /**\n\t * Shorthand for {@link module:utils/locale~Locale#t}.\n\t *\n\t * @see module:utils/locale~Locale#t\n\t */ t;\n /**\n\t * The default configuration which is built into the editor class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds to provide the default configuration options\n\t * which are later used during the editor initialization.\n\t *\n\t * ```ts\n\t * ClassicEditor.defaultConfig = {\n\t * \tfoo: 1,\n\t * \tbar: 2\n\t * };\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement )\n\t * \t.then( editor => {\n\t * \t\teditor.config.get( 'foo' ); // -> 1\n\t * \t\teditor.config.get( 'bar' ); // -> 2\n\t * \t} );\n\t *\n\t * // The default options can be overridden by the configuration passed to create().\n\t * ClassicEditor\n\t * \t.create( sourceElement, { bar: 3 } )\n\t * \t.then( editor => {\n\t * \t\teditor.config.get( 'foo' ); // -> 1\n\t * \t\teditor.config.get( 'bar' ); // -> 3\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/editor/editor~Editor.builtinPlugins}.\n\t */ static defaultConfig;\n /**\n\t * An array of plugins built into this editor class.\n\t *\n\t * It is used in the now deprecated CKEditor 5 builds to provide a list of plugins which are later automatically initialized\n\t * during the editor initialization.\n\t *\n\t * They will be automatically initialized by the editor, unless listed in `config.removePlugins` and\n\t * unless `config.plugins` is passed.\n\t *\n\t * ```ts\n\t * // Build some plugins into the editor class first.\n\t * ClassicEditor.builtinPlugins = [ FooPlugin, BarPlugin ];\n\t *\n\t * // Normally, you need to define config.plugins, but since ClassicEditor.builtinPlugins was\n\t * // defined, now you can call create() without any configuration.\n\t * ClassicEditor\n\t * \t.create( sourceElement )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\teditor.plugins.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement, {\n\t * \t\t// Do not initialize these plugins (note: it is defined by a string):\n\t * \t\tremovePlugins: [ 'Foo' ]\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> Undefined.\n\t * \t\teditor.config.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement, {\n\t * \t\t// Load only this plugin. It can also be defined by a string if\n\t * \t\t// this plugin was built into the editor class.\n\t * \t\tplugins: [ FooPlugin ]\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\teditor.config.get( BarPlugin ); // -> Undefined.\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/editor/editor~Editor.defaultConfig}.\n\t */ static builtinPlugins;\n /**\n\t * The editor context.\n\t * When it is not provided through the configuration, the editor creates it.\n\t */ _context;\n /**\n\t * A set of lock IDs for the {@link #isReadOnly} getter.\n\t */ _readOnlyLocks;\n /**\n\t * Creates a new instance of the editor class.\n\t *\n\t * Usually, not to be used directly. See the static {@link module:core/editor/editor~Editor.create `create()`} method.\n\t *\n\t * @param config The editor configuration.\n\t */ constructor(config = {}){\n super();\n if ('sanitizeHtml' in config) {\n /**\n\t\t\t * Configuration property `config.sanitizeHtml` was removed in CKEditor version 43.1.0 and is no longer supported.\n\t\t\t *\n\t\t\t * Please use `config.htmlEmbed.sanitizeHtml` and/or `config.mergeFields.sanitizeHtml` instead.\n\t\t\t *\n\t\t\t * @error editor-config-sanitizehtml-not-supported\n\t\t\t */ throw new CKEditorError('editor-config-sanitizehtml-not-supported');\n }\n const constructor = this.constructor;\n // We don't pass translations to the config, because its behavior of splitting keys\n // with dots (e.g. `resize.width` => `resize: { width }`) breaks the translations.\n const { translations: defaultTranslations, ...defaultConfig } = constructor.defaultConfig || {};\n const { translations = defaultTranslations, ...rest } = config;\n // Prefer the language passed as the argument to the constructor instead of the constructor's `defaultConfig`, if both are set.\n const language = config.language || defaultConfig.language;\n this._context = config.context || new Context({\n language,\n translations\n });\n this._context._addEditor(this, !config.context);\n // Clone the plugins to make sure that the plugin array will not be shared\n // between editors and make the watchdog feature work correctly.\n const availablePlugins = Array.from(constructor.builtinPlugins || []);\n this.config = new Config(rest, defaultConfig);\n this.config.define('plugins', availablePlugins);\n this.config.define(this._context._getEditorConfig());\n checkLicenseKeyIsDefined(this.config);\n this.plugins = new PluginCollection(this, availablePlugins, this._context.plugins);\n this.locale = this._context.locale;\n this.t = this.locale.t;\n this._readOnlyLocks = new Set();\n this.commands = new CommandCollection();\n this.set('state', 'initializing');\n this.once('ready', ()=>this.state = 'ready', {\n priority: 'high'\n });\n this.once('destroy', ()=>this.state = 'destroyed', {\n priority: 'high'\n });\n this.model = new Model();\n this.on('change:isReadOnly', ()=>{\n this.model.document.isReadOnly = this.isReadOnly;\n });\n const stylesProcessor = new StylesProcessor();\n this.data = new DataController(this.model, stylesProcessor);\n this.editing = new EditingController(this.model, stylesProcessor);\n this.editing.view.document.bind('isReadOnly').to(this);\n this.conversion = new Conversion([\n this.editing.downcastDispatcher,\n this.data.downcastDispatcher\n ], this.data.upcastDispatcher);\n this.conversion.addAlias('dataDowncast', this.data.downcastDispatcher);\n this.conversion.addAlias('editingDowncast', this.editing.downcastDispatcher);\n this.keystrokes = new EditingKeystrokeHandler(this);\n this.keystrokes.listenTo(this.editing.view.document);\n this.accessibility = new Accessibility(this);\n verifyLicenseKey(this);\n // Checks if the license key is defined and throws an error if it is not.\n function checkLicenseKeyIsDefined(config) {\n let licenseKey = config.get('licenseKey');\n if (!licenseKey && window.CKEDITOR_GLOBAL_LICENSE_KEY) {\n licenseKey = window.CKEDITOR_GLOBAL_LICENSE_KEY;\n config.set('licenseKey', licenseKey);\n }\n if (!licenseKey) {\n /**\n\t\t\t\t * The `licenseKey` property is missing in the editor configuration.\n\t\t\t\t *\n\t\t\t\t * * If you are using the editor in a commercial setup, please provide your license key.\n\t\t\t\t * * If you still need to acquire a key, please [contact us](https://ckeditor.com/contact/) or\n\t\t\t\t * [create a free account with a 14 day premium features trial](https://portal.ckeditor.com/checkout?plan=free).\n\t\t\t\t * * If you are using the editor under a GPL license or another license from our Open Source Initiative,\n\t\t\t\t * use the 'GPL' license key instead.\n\t\t\t\t *\n\t\t\t\t * ```js\n\t\t\t\t * ClassicEditor.create( document.querySelector( '#editor' ), {\n\t\t\t\t * \tlicenseKey: '<YOUR_LICENSE_KEY>', // Or 'GPL'.\n\t\t\t\t * \t// ... Other configuration options ...\n\t\t\t\t * } ) ;\n\t\t\t\t *\n\t\t\t\t * @error license-key-missing\n\t\t\t\t */ throw new CKEditorError('license-key-missing');\n }\n }\n function verifyLicenseKey(editor) {\n const licenseKey = editor.config.get('licenseKey');\n const distributionChannel = window[Symbol.for('cke distribution')] || 'sh';\n function blockEditor(reason, name) {\n editor.enableReadOnlyMode(Symbol('invalidLicense'));\n editor._showLicenseError(reason, name);\n }\n function hasAllRequiredFields(licensePayload) {\n const requiredFields = [\n 'exp',\n 'jti',\n 'vc'\n ];\n return requiredFields.every((field)=>field in licensePayload);\n }\n function getCrcInputData(licensePayload) {\n const keysToCheck = Object.getOwnPropertyNames(licensePayload).sort();\n const filteredValues = keysToCheck.filter((key)=>key != 'vc' && licensePayload[key] != null).map((key)=>licensePayload[key]);\n return filteredValues;\n }\n function checkLicensedHosts(licensedHosts) {\n const { hostname } = new URL(window.location.href);\n if (licensedHosts.includes(hostname)) {\n return true;\n }\n const segments = hostname.split('.');\n return licensedHosts// Filter out hosts without wildcards.\n .filter((host)=>host.includes('*'))// Split the hosts into segments.\n .map((host)=>host.split('.'))// Filter out hosts that have more segments than the current hostname.\n .filter((host)=>host.length <= segments.length)// Pad the beginning of the licensed host if it's shorter than the current hostname.\n .map((host)=>Array(segments.length - host.length).fill(host[0] === '*' ? '*' : '').concat(host))// Check if some license host matches the hostname.\n .some((octets)=>segments.every((segment, index)=>octets[index] === segment || octets[index] === '*'));\n }\n function warnAboutNonProductionLicenseKey(licenseType) {\n const capitalizedLicenseType = licenseType[0].toUpperCase() + licenseType.slice(1);\n const article = licenseType === 'evaluation' ? 'an' : 'a';\n console.info(`%cCKEditor 5 ${capitalizedLicenseType} License`, 'color: #ffffff; background: #743CCD; font-size: 14px; padding: 4px 8px; border-radius: 4px;');\n console.warn(`⚠️ You are using ${article} ${licenseType} license of CKEditor 5` + `${licenseType === 'trial' ? ' which is for evaluation purposes only' : ''}. ` + 'For production usage, please obtain a production license at https://portal.ckeditor.com/');\n }\n if (licenseKey == 'GPL') {\n if (distributionChannel == 'cloud') {\n blockEditor('distributionChannel');\n }\n return;\n }\n const licensePayload = decodeLicenseKey(licenseKey);\n if (!licensePayload) {\n blockEditor('invalid');\n return;\n }\n if (!hasAllRequiredFields(licensePayload)) {\n blockEditor('invalid');\n return;\n }\n if (licensePayload.distributionChannel && !toArray(licensePayload.distributionChannel).includes(distributionChannel)) {\n blockEditor('distributionChannel');\n return;\n }\n if (crc32(getCrcInputData(licensePayload)) != licensePayload.vc.toLowerCase()) {\n blockEditor('invalid');\n return;\n }\n const expirationDate = new Date(licensePayload.exp * 1000);\n if (expirationDate < releaseDate) {\n blockEditor('expired');\n return;\n }\n const licensedHosts = licensePayload.licensedHosts;\n if (licensedHosts && licensedHosts.length > 0 && !checkLicensedHosts(licensedHosts)) {\n blockEditor('domainLimit');\n return;\n }\n if ([\n 'evaluation',\n 'trial'\n ].includes(licensePayload.licenseType) && licensePayload.exp * 1000 < Date.now()) {\n blockEditor('expired');\n return;\n }\n if ([\n 'development',\n 'evaluation',\n 'trial'\n ].includes(licensePayload.licenseType)) {\n const { licenseType } = licensePayload;\n window.CKEDITOR_WARNING_SUPPRESSIONS = window.CKEDITOR_WARNING_SUPPRESSIONS || {};\n if (!window.CKEDITOR_WARNING_SUPPRESSIONS[licenseType]) {\n warnAboutNonProductionLicenseKey(licenseType);\n window.CKEDITOR_WARNING_SUPPRESSIONS[licenseType] = true;\n }\n }\n if ([\n 'evaluation',\n 'trial'\n ].includes(licensePayload.licenseType)) {\n const licenseType = licensePayload.licenseType;\n const timerId = setTimeout(()=>{\n blockEditor(`${licenseType}Limit`);\n }, 600000);\n editor.on('destroy', ()=>{\n clearTimeout(timerId);\n });\n }\n if (licensePayload.usageEndpoint) {\n editor.once('ready', ()=>{\n const request = {\n requestId: uid(),\n requestTime: Math.round(Date.now() / 1000),\n license: licenseKey,\n editor: collectUsageData(editor)\n };\n /**\n\t\t\t\t\t * This part of the code is not executed in open-source implementations using a GPL key.\n\t\t\t\t\t * It only runs when a specific license key is provided. If you are uncertain whether\n\t\t\t\t\t * this applies to your installation, please contact our support team.\n\t\t\t\t\t */ editor._sendUsageRequest(licensePayload.usageEndpoint, request).then((response)=>{\n const { status, message } = response;\n if (message) {\n console.warn(message);\n }\n if (status != 'ok') {\n blockEditor('usageLimit');\n }\n }, ()=>{\n /**\n\t\t\t\t\t\t * Your license key cannot be validated due to a network issue.\n\t\t\t\t\t\t * Please ensure that your setup does not block requests to the validation endpoint.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @error license-key-validation-endpoint-not-reachable\n\t\t\t\t\t\t * @param {string} url The URL that was attempted to be reached for validation.\n\t\t\t\t\t\t */ logError('license-key-validation-endpoint-not-reachable', {\n url: licensePayload.usageEndpoint\n });\n });\n }, {\n priority: 'high'\n });\n }\n }\n }\n /**\n\t * Defines whether the editor is in the read-only mode.\n\t *\n\t * In read-only mode the editor {@link #commands commands} are disabled so it is not possible\n\t * to modify the document by using them. Also, the editable element(s) become non-editable.\n\t *\n\t * In order to make the editor read-only, you need to call the {@link #enableReadOnlyMode} method:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'feature-id' );\n\t * ```\n\t *\n * Later, to turn off the read-only mode, call {@link #disableReadOnlyMode}:\n\t *\n\t * ```ts\n\t * editor.disableReadOnlyMode( 'feature-id' );\n\t * ```\n\t *\n\t * @readonly\n\t * @observable\n\t */ get isReadOnly() {\n return this._readOnlyLocks.size > 0;\n }\n set isReadOnly(value) {\n /**\n\t\t * The {@link module:core/editor/editor~Editor#isReadOnly Editor#isReadOnly} property is read-only since version `34.0.0`\n\t\t * and can be set only using {@link module:core/editor/editor~Editor#enableReadOnlyMode `Editor#enableReadOnlyMode( lockId )`} and\n\t\t * {@link module:core/editor/editor~Editor#disableReadOnlyMode `Editor#disableReadOnlyMode( lockId )`}.\n\t\t *\n\t\t * Usage before version `34.0.0`:\n\t\t *\n\t\t * ```ts\n\t\t * editor.isReadOnly = true;\n\t\t * editor.isReadOnly = false;\n\t\t * ```\n\t\t *\n\t\t * Usage since version `34.0.0`:\n\t\t *\n\t\t * ```ts\n\t\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t\t * ```\n\t\t *\n\t\t * @error editor-isreadonly-has-no-setter\n\t\t */ throw new CKEditorError('editor-isreadonly-has-no-setter');\n }\n /**\n\t * Turns on the read-only mode in the editor.\n\t *\n\t * Editor can be switched to or out of the read-only mode by many features, under various circumstances. The editor supports locking\n\t * mechanism for the read-only mode. It enables easy control over the read-only mode when many features wants to turn it on or off at\n\t * the same time, without conflicting with each other. It guarantees that you will not make the editor editable accidentally (which\n\t * could lead to errors).\n\t *\n\t * Each read-only mode request is identified by a unique id (also called \"lock\"). If multiple plugins requested to turn on the\n\t * read-only mode, then, the editor will become editable only after all these plugins turn the read-only mode off (using the same ids).\n\t *\n\t * Note, that you cannot force the editor to disable the read-only mode if other plugins set it.\n\t *\n\t * After the first `enableReadOnlyMode()` call, the {@link #isReadOnly `isReadOnly` property} will be set to `true`:\n\t *\n\t * ```ts\n\t * editor.isReadOnly; // `false`.\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `true`.\n\t * ```\n\t *\n\t * You can turn off the read-only mode (\"clear the lock\") using the {@link #disableReadOnlyMode `disableReadOnlyMode()`} method:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * // ...\n\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `false`.\n\t * ```\n\t *\n\t * All \"locks\" need to be removed to enable editing:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * editor.enableReadOnlyMode( 'my-other-feature-id' );\n\t * // ...\n\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `true`.\n\t * editor.disableReadOnlyMode( 'my-other-feature-id' );\n\t * editor.isReadOnly; // `false`.\n\t * ```\n\t *\n\t * @param lockId A unique ID for setting the editor to the read-only state.\n\t */ enableReadOnlyMode(lockId) {\n if (typeof lockId !== 'string' && typeof lockId !== 'symbol') {\n /**\n\t\t\t * The lock ID is missing or it is not a string or symbol.\n\t\t\t *\n\t\t\t * @error editor-read-only-lock-id-invalid\n\t\t\t * @param {never} lockId Lock ID.\n\t\t\t */ throw new CKEditorError('editor-read-only-lock-id-invalid', null, {\n lockId\n });\n }\n if (this._readOnlyLocks.has(lockId)) {\n return;\n }\n this._readOnlyLocks.add(lockId);\n if (this._readOnlyLocks.size === 1) {\n // Manually fire the `change:isReadOnly` event as only getter is provided.\n this.fire('change:isReadOnly', 'isReadOnly', true, false);\n }\n }\n /**\n\t * Removes the read-only lock from the editor with given lock ID.\n\t *\n\t * When no lock is present on the editor anymore, then the {@link #isReadOnly `isReadOnly` property} will be set to `false`.\n\t *\n\t * @param lockId The lock ID for setting the editor to the read-only state.\n\t */ disableReadOnlyMode(lockId) {\n if (typeof lockId !== 'string' && typeof lockId !== 'symbol') {\n throw new CKEditorError('editor-read-only-lock-id-invalid', null, {\n lockId\n });\n }\n if (!this._readOnlyLocks.has(lockId)) {\n return;\n }\n this._readOnlyLocks.delete(lockId);\n if (this._readOnlyLocks.size === 0) {\n // Manually fire the `change:isReadOnly` event as only getter is provided.\n this.fire('change:isReadOnly', 'isReadOnly', false, true);\n }\n }\n /**\n\t * Sets the data in the editor.\n\t *\n\t * ```ts\n\t * editor.setData( '<p>This is editor!</p>' );\n\t * ```\n\t *\n\t * If your editor implementation uses multiple roots, you should pass an object with keys corresponding\n\t * to the editor root names and values equal to the data that should be set in each root:\n\t *\n\t * ```ts\n\t * editor.setData( {\n\t * header: '<p>Content for header part.</p>',\n\t * content: '<p>Content for main part.</p>',\n\t * footer: '<p>Content for footer part.</p>'\n\t * } );\n\t * ```\n\t *\n\t * By default the editor accepts HTML. This can be controlled by injecting a different data processor.\n\t * See the {@glink features/markdown Markdown output} guide for more details.\n\t *\n\t * @param data Input data.\n\t */ setData(data) {\n this.data.set(data);\n }\n /**\n\t * Gets the data from the editor.\n\t *\n\t * ```ts\n\t * editor.getData(); // -> '<p>This is editor!</p>'\n\t * ```\n\t *\n\t * If your editor implementation uses multiple roots, you should pass root name as one of the options:\n\t *\n\t * ```ts\n\t * editor.getData( { rootName: 'header' } ); // -> '<p>Content for header part.</p>'\n\t * ```\n\t *\n\t * By default, the editor outputs HTML. This can be controlled by injecting a different data processor.\n\t * See the {@glink features/markdown Markdown output} guide for more details.\n\t *\n\t * A warning is logged when you try to retrieve data for a detached root, as most probably this is a mistake. A detached root should\n\t * be treated like it is removed, and you should not save its data. Note, that the detached root data is always an empty string.\n\t *\n\t * @param options Additional configuration for the retrieved data.\n\t * Editor features may introduce more configuration options that can be set through this parameter.\n\t * @param options.rootName Root name. Defaults to `'main'`.\n\t * @param options.trim Whether returned data should be trimmed. This option is set to `'empty'` by default,\n\t * which means that whenever editor content is considered empty, an empty string is returned. To turn off trimming\n\t * use `'none'`. In such cases exact content will be returned (for example `'<p>&nbsp;</p>'` for an empty editor).\n\t * @returns Output data.\n\t */ getData(options) {\n return this.data.get(options);\n }\n /**\n\t * Loads and initializes plugins specified in the configuration.\n\t *\n\t * @returns A promise which resolves once the initialization is completed, providing an array of loaded plugins.\n\t */ initPlugins() {\n const config = this.config;\n const plugins = config.get('plugins');\n const removePlugins = config.get('removePlugins') || [];\n const extraPlugins = config.get('extraPlugins') || [];\n const substitutePlugins = config.get('substitutePlugins') || [];\n return this.plugins.init(plugins.concat(extraPlugins), removePlugins, substitutePlugins).then((plugins)=>{\n checkPluginsAllowedByLicenseKey(this);\n return plugins;\n });\n function checkPluginsAllowedByLicenseKey(editor) {\n const licenseKey = editor.config.get('licenseKey');\n if (licenseKey === 'GPL') {\n return;\n }\n const decodedPayload = decodeLicenseKey(licenseKey);\n if (!decodedPayload) {\n return;\n }\n const disallowedPlugin = [\n ...editor.plugins\n ].map(([pluginConstructor])=>pluginConstructor).find((pluginConstructor)=>{\n if (!pluginConstructor.pluginName) {\n return false;\n }\n if (!pluginConstructor.licenseFeatureCode) {\n return false;\n }\n return isFeatureBlockedByLicenseKey(decodedPayload, pluginConstructor.licenseFeatureCode);\n });\n if (disallowedPlugin) {\n editor.enableReadOnlyMode(Symbol('invalidLicense'));\n editor._showLicenseError('pluginNotAllowed', disallowedPlugin.pluginName);\n }\n }\n }\n /**\n\t * Destroys the editor instance, releasing all resources used by it.\n\t *\n\t * **Note** The editor cannot be destroyed during the initialization phase so if it is called\n\t * while the editor {@link #state is being initialized}, it will wait for the editor initialization before destroying it.\n\t *\n\t * @fires destroy\n\t * @returns A promise that resolves once the editor instance is fully destroyed.\n\t */ destroy() {\n let readyPromise = Promise.resolve();\n if (this.state == 'initializing') {\n readyPromise = new Promise((resolve)=>this.once('ready', resolve));\n }\n return readyPromise.then(()=>{\n this.fire('destroy');\n this.stopListening();\n this.commands.destroy();\n }).then(()=>this.plugins.destroy()).then(()=>{\n this.model.destroy();\n this.data.destroy();\n this.editing.destroy();\n this.keystrokes.destroy();\n })// Remove the editor from the context.\n // When the context was created by this editor, the context will be destroyed.\n .then(()=>this._context._removeEditor(this));\n }\n /**\n\t * Executes the specified command with given parameters.\n\t *\n\t * Shorthand for:\n\t *\n\t * ```ts\n\t * editor.commands.get( commandName ).execute( ... );\n\t * ```\n\t *\n\t * @param commandName The name of the command to execute.\n\t * @param commandParams Command parameters.\n\t * @returns The value returned by the {@link module:core/commandcollection~CommandCollection#execute `commands.execute()`}.\n\t */ execute(commandName, ...commandParams) {\n try {\n return this.commands.execute(commandName, ...commandParams);\n } catch (err) {\n // @if CK_DEBUG // throw err;\n /* istanbul ignore next -- @preserve */ CKEditorError.rethrowUnexpectedError(err, this);\n }\n }\n /**\n\t * Focuses the editor.\n\t *\n\t * **Note** To explicitly focus the editing area of the editor, use the\n\t * {@link module:engine/view/view~EditingView#focus `editor.editing.view.focus()`} method of the editing view.\n\t *\n\t * Check out the {@glink framework/deep-dive/ui/focus-tracking#focus-in-the-editor-ui Focus in the editor UI} section\n\t * of the {@glink framework/deep-dive/ui/focus-tracking Deep dive into focus tracking} guide to learn more.\n\t */ focus() {\n this.editing.view.focus();\n }\n /* istanbul ignore next -- @preserve */ /**\n\t * Creates and initializes a new editor instance.\n\t *\n\t * This is an abstract method. Every editor type needs to implement its own initialization logic.\n\t *\n\t * See the `create()` methods of the existing editor types to learn how to use them:\n\t *\n\t * * {@link module:editor-classic/classiceditor~ClassicEditor.create `ClassicEditor.create()`}\n\t * * {@link module:editor-balloon/ballooneditor~BalloonEditor.create `BalloonEditor.create()`}\n\t * * {@link module:editor-decoupled/decouplededitor~DecoupledEditor.create `DecoupledEditor.create()`}\n\t * * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`}\n\t */ static create(...args) {\n throw new Error('This is an abstract method.');\n }\n /**\n\t * The {@link module:core/context~Context} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */ static Context = Context;\n /**\n\t * The {@link module:watchdog/editorwatchdog~EditorWatchdog} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */ static EditorWatchdog = EditorWatchdog;\n /**\n\t * The {@link module:watchdog/contextwatchdog~ContextWatchdog} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */ static ContextWatchdog = ContextWatchdog;\n _showLicenseError(reason, name) {\n setTimeout(()=>{\n if (reason == 'invalid') {\n /**\n\t\t\t\t * The license key provided is invalid. Please ensure that it is copied correctly\n\t\t\t\t * from the [Customer Portal](http://portal.ckeditor.com). If the issue persists,\n\t\t\t\t * please [contact our customer support](https://ckeditor.com/contact/).\n\t\t\t\t *\n\t\t\t\t * @error invalid-license-key\n\t\t\t\t */ throw new CKEditorError('invalid-license-key');\n }\n if (reason == 'expired') {\n /**\n\t\t\t\t * Your license key has expired.\n\t\t\t\t *\n\t\t\t\t * If you used our free trial, you either need to switch to\n\t\t\t\t * [open-source license](https://ckeditor.com/docs/ckeditor5/latest/getting-started/licensing/license-and-legal.html), or\n\t\t\t\t * in case of a commercial plan, change the trial key to production key or development key.\n\t\t\t\t * Switching from trial, you also need to align the editor configuration to the features available in your plan.\n\t\t\t\t *\n\t\t\t\t * If you already had one of our Cloud or Custom plans, please renew your license in the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com).\n\t\t\t\t *\n\t\t\t\t * @error license-key-expired\n\t\t\t\t */ throw new CKEditorError('license-key-expired');\n }\n if (reason == 'domainLimit') {\n /**\n\t\t\t\t * The provided license does not allow the editor to run on this domain.\n\t\t\t\t * Some license keys are restricted to local test environments only.\n\t\t\t\t * For more details, please refer to the\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types license key type documentation}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-domain-limit\n\t\t\t\t */ throw new CKEditorError('license-key-domain-limit');\n }\n if (reason == 'pluginNotAllowed') {\n /**\n\t\t\t\t * The plugin you are trying to use is not permitted under your current license.\n\t\t\t\t * Please check the available features on the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact support](https://ckeditor.com/contact/) for more information.\n\t\t\t\t *\n\t\t\t\t * @error license-key-plugin-not-allowed\n\t\t\t\t * @param {String} pluginName The plugin you tried to load.\n\t\t\t\t */ throw new CKEditorError('license-key-plugin-not-allowed', null, {\n pluginName: name\n });\n }\n if (reason == 'featureNotAllowed') {\n /**\n\t\t\t\t * The feature you are trying to use is not permitted under your current license.\n\t\t\t\t * Please check the available features on the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact support](https://ckeditor.com/contact/) for more information.\n\t\t\t\t *\n\t\t\t\t * @error license-key-feature-not-allowed\n\t\t\t\t * @param {String} featureName The feature you tried to use.\n\t\t\t\t */ throw new CKEditorError('license-key-feature-not-allowed', null, {\n featureName: name\n });\n }\n if (reason == 'evaluationLimit') {\n /**\n\t\t\t\t * You have exceeded the editor operation limit available for your evaluation license key.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-evaluation-limit\n\t\t\t\t */ throw new CKEditorError('license-key-evaluation-limit');\n }\n if (reason == 'trialLimit') {\n /**\n\t\t\t\t * You have exceeded the editor operation limit for your trial license key.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-trial-limit\n\t\t\t\t */ throw new CKEditorError('license-key-trial-limit');\n }\n if (reason == 'developmentLimit') {\n /**\n\t\t\t\t * You have exceeded the operation limit for your development license key within the editor.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-development-limit\n\t\t\t\t */ throw new CKEditorError('license-key-development-limit');\n }\n if (reason == 'usageLimit') {\n /**\n\t\t\t\t * You have reached the usage limit of your license key. This can occur in the following situations:\n\t\t\t\t *\n\t\t\t\t * * You are on a free subscription without a connected payment method and have exceeded the allowed usage threshold.\n\t\t\t\t * * Your account has overdue invoices and the grace period has ended.\n\t\t\t\t *\n\t\t\t\t * To extend the limit and restore access, please update the required details in the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact our customer support](https://ckeditor.com/contact).\n\t\t\t\t *\n\t\t\t\t * @error license-key-usage-limit\n\t\t\t\t */ throw new CKEditorError('license-key-usage-limit');\n }\n if (reason == 'distributionChannel') {\n /**\n\t\t\t\t * Your license does not allow the current distribution channel.\n\t\t\t\t *\n\t\t\t\t * These are the available distribution channels:\n\t\t\t\t * * Self-hosted - the editor is installed via npm or from a ZIP package\n\t\t\t\t * * Cloud - the editor is run from CDN\n\t\t\t\t *\n\t\t\t\t * The licenses available include:\n\t\t\t\t * * GPL license for open-source users.\n\t\t\t\t * * Commercial plans (Cloud or sales-assisted).\n\t\t\t\t *\n\t\t\t\t * The relation between distribution channels and licenses works as follows:\n\t\t\t\t * * With the 'GPL' license key, you may use the editor installed via npm or a ZIP package (self-hosted).\n\t\t\t\t * * With the CKEditor Cloud plans, you may use the editor via our CDN.\n\t\t\t\t * * With the CKEditor Custom plans, depending on your plan details, you can use the editor via npm\n\t\t\t\t * or a ZIP package (self-hosted) or Cloud (CDN).\n\t\t\t\t *\n\t\t\t\t * {@glink getting-started/licensing/usage-based-billing#key-terms Read more about distributions in the documentation}.\n\t\t\t\t * Please verify your installation or [contact support](https://ckeditor.com/contact/) for assistance.\n\t\t\t\t * Should you need to migrate your installation from npm to CDN, please refer to our\n\t\t\t\t * [dedicated migration guides](https://ckeditor.com/docs/ckeditor5/latest/updating/migrations/vanilla-js.html).\n\t\t\t\t *\n\t\t\t\t * @error license-key-invalid-distribution-channel\n\t\t\t\t */ throw new CKEditorError('license-key-invalid-distribution-channel');\n }\n }, 0);\n this._showLicenseError = ()=>{};\n }\n /**\n\t * This part of the code is _not_ executed in installations under the GPL license (with `config.licenseKey = 'GPL'`).\n *\n\t * It is only executed when a specific license key is provided. If you are uncertain whether\n\t * this applies to your installation, please contact our support team.\n\t */ async _sendUsageRequest(endpoint, request) {\n const headers = new Headers({\n 'Content-Type': 'application/json'\n });\n const response = await fetch(new URL(endpoint), {\n method: 'POST',\n headers,\n body: JSON.stringify(request)\n });\n if (!response.ok) {\n // TODO: refine message.\n throw new Error(`HTTP Response: ${response.status}`);\n }\n return response.json();\n }\n}\nfunction collectUsageData(editor) {\n const collectedData = getEditorUsageData(editor);\n function setUsageData(path, value) {\n if (get(collectedData, path) !== undefined) {\n /**\n\t\t\t * The error thrown when trying to set the usage data path that was already set.\n\t\t\t * Make sure that you are not setting the same path multiple times.\n\t\t\t *\n\t\t\t * @error editor-usage-data-path-already-set\n\t\t\t * @param {string} path The path that was already set.\n\t\t\t */ throw new CKEditorError('editor-usage-data-path-already-set', {\n path\n });\n }\n set(collectedData, path, value);\n }\n editor.fire('collectUsageData', {\n setUsageData\n });\n return collectedData;\n}\n /**\n * This error is thrown when trying to pass a `<textarea>` element to a `create()` function of an editor class.\n *\n * The only editor type which can be initialized on `<textarea>` elements is\n * the {@glink getting-started/setup/editor-types#classic-editor classic editor}.\n * This editor hides the passed element and inserts its own UI next to it. Other types of editors reuse the passed element as their root\n * editable element and therefore `<textarea>` is not appropriate for them. Use a `<div>` or another text container instead:\n *\n * ```html\n * <div id=\"editor\">\n * \t<p>Initial content.</p>\n * </div>\n * ```\n *\n * @error editor-wrong-element\n */\n\n/**\n * Checks if the editor is initialized on a `<textarea>` element that belongs to a form. If yes, it updates the editor's element\n * content before submitting the form.\n *\n * This helper requires the {@link module:core/editor/utils/elementapimixin~ElementApi ElementApi interface}.\n *\n * @param editor Editor instance.\n */ function attachToForm(editor) {\n if (!isFunction(editor.updateSourceElement)) {\n /**\n\t\t * The editor passed to `attachToForm()` must implement the\n\t\t * {@link module:core/editor/utils/elementapimixin~ElementApi} interface.\n\t\t *\n\t\t * @error attachtoform-missing-elementapi-interface\n\t\t */ throw new CKEditorError('attachtoform-missing-elementapi-interface', editor);\n }\n const sourceElement = editor.sourceElement;\n // Only when replacing a textarea which is inside of a form element.\n if (isTextArea(sourceElement) && sourceElement.form) {\n let originalSubmit;\n const form = sourceElement.form;\n const onSubmit = ()=>editor.updateSourceElement();\n // Replace the original form#submit() to call a custom submit function first.\n // Check if #submit is a function because the form might have an input named \"submit\".\n if (isFunction(form.submit)) {\n originalSubmit = form.submit;\n form.submit = ()=>{\n onSubmit();\n originalSubmit.apply(form);\n };\n }\n // Update the replaced textarea with data before each form#submit event.\n form.addEventListener('submit', onSubmit);\n // Remove the submit listener and revert the original submit method on\n // editor#destroy.\n editor.on('destroy', ()=>{\n form.removeEventListener('submit', onSubmit);\n if (originalSubmit) {\n form.submit = originalSubmit;\n }\n });\n }\n}\nfunction isTextArea(sourceElement) {\n return !!sourceElement && sourceElement.tagName.toLowerCase() === 'textarea';\n}\n\n/**\n * Implementation of the {@link module:core/editor/utils/elementapimixin~ElementApi}.\n */ function ElementApiMixin(base) {\n class Mixin extends base {\n sourceElement;\n updateSourceElement(data) {\n if (!this.sourceElement) {\n /**\n\t\t\t\t * Cannot update the source element of a detached editor.\n\t\t\t\t *\n\t\t\t\t * The {@link module:core/editor/utils/elementapimixin~ElementApi#updateSourceElement `updateSourceElement()`}\n\t\t\t\t * method cannot be called if you did not pass an element to `Editor.create()`.\n\t\t\t\t *\n\t\t\t\t * @error editor-missing-sourceelement\n\t\t\t\t */ throw new CKEditorError('editor-missing-sourceelement', this);\n }\n const shouldUpdateSourceElement = this.config.get('updateSourceElementOnDestroy');\n const isSourceElementTextArea = this.sourceElement instanceof HTMLTextAreaElement;\n // The data returned by the editor might be unsafe, so we want to prevent rendering\n // unsafe content inside the source element different than <textarea>, which is considered\n // secure. This behavior could be changed by setting the `updateSourceElementOnDestroy`\n // configuration option to `true`.\n if (!shouldUpdateSourceElement && !isSourceElementTextArea) {\n setDataInElement(this.sourceElement, '');\n return;\n }\n const dataToSet = typeof data === 'string' ? data : this.data.get();\n setDataInElement(this.sourceElement, dataToSet);\n }\n }\n return Mixin;\n}\n\n/**\n * Marks the source element on which the editor was initialized. This prevents other editor instances from using this element.\n *\n * Running multiple editor instances on the same source element causes various issues and it is\n * crucial this helper is called as soon as the source element is known to prevent collisions.\n *\n * @param editor Editor instance.\n * @param sourceElement Element to bind with the editor instance.\n */ function secureSourceElement(editor, sourceElement) {\n if (sourceElement.ckeditorInstance) {\n /**\n\t\t * A DOM element used to create the editor (e.g.\n\t\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`})\n\t\t * has already been used to create another editor instance. Make sure each editor is\n\t\t * created with a unique DOM element.\n\t\t *\n\t\t * @error editor-source-element-already-used\n\t\t * @param {HTMLElement} element DOM element that caused the collision.\n\t\t */ throw new CKEditorError('editor-source-element-already-used', editor);\n }\n sourceElement.ckeditorInstance = editor;\n editor.once('destroy', ()=>{\n delete sourceElement.ckeditorInstance;\n });\n}\n\n/**\n * The list of pending editor actions.\n *\n * This plugin should be used to synchronise plugins that execute long-lasting actions\n * (e.g. file upload) with the editor integration. It gives the developer who integrates the editor\n * an easy way to check if there are any actions pending whenever such information is needed.\n * All plugins that register a pending action also provide a message about the action that is ongoing\n * which can be displayed to the user. This lets them decide if they want to interrupt the action or wait.\n *\n * Adding and updating a pending action:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n * const action = pendingActions.add( 'Upload in progress: 0%.' );\n *\n * // You can update the message:\n * action.message = 'Upload in progress: 10%.';\n * ```\n *\n * Removing a pending action:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n * const action = pendingActions.add( 'Unsaved changes.' );\n *\n * pendingActions.remove( action );\n * ```\n *\n * Getting pending actions:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n *\n * const action1 = pendingActions.add( 'Action 1' );\n * const action2 = pendingActions.add( 'Action 2' );\n *\n * pendingActions.first; // Returns action1\n * Array.from( pendingActions ); // Returns [ action1, action2 ]\n * ```\n *\n * This plugin is used by features like {@link module:upload/filerepository~FileRepository} to register their ongoing actions\n * and by features like {@link module:autosave/autosave~Autosave} to detect whether there are any ongoing actions.\n * Read more about saving the data in the\n * {@glink getting-started/setup/getting-and-setting-data Saving and getting data} guide.\n */ class PendingActions extends ContextPlugin {\n /**\n\t * A list of pending actions.\n\t */ _actions;\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'PendingActions';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n this.set('hasAny', false);\n this._actions = new Collection({\n idProperty: '_id'\n });\n this._actions.delegate('add', 'remove').to(this);\n }\n /**\n\t * Adds an action to the list of pending actions.\n\t *\n\t * This method returns an action object with an observable message property.\n\t * The action object can be later used in the {@link #remove} method. It also allows you to change the message.\n\t *\n\t * @param message The action message.\n\t * @returns An observable object that represents a pending action.\n\t */ add(message) {\n if (typeof message !== 'string') {\n /**\n\t\t\t * The message must be a string.\n\t\t\t *\n\t\t\t * @error pendingactions-add-invalid-message\n\t\t\t */ throw new CKEditorError('pendingactions-add-invalid-message', this);\n }\n const action = new (ObservableMixin())();\n action.set('message', message);\n this._actions.add(action);\n this.hasAny = true;\n return action;\n }\n /**\n\t * Removes an action from the list of pending actions.\n\t *\n\t * @param action An action object.\n\t */ remove(action) {\n this._actions.remove(action);\n this.hasAny = !!this._actions.length;\n }\n /**\n\t * Returns the first action from the list or null if the list is empty\n\t *\n\t * @returns The pending action object.\n\t */ get first() {\n return this._actions.get(0);\n }\n /**\n\t * Iterable interface.\n\t */ [Symbol.iterator]() {\n return this._actions[Symbol.iterator]();\n }\n}\n\nexport { Accessibility, Command, CommandCollection, Context, ContextPlugin, EditingKeystrokeHandler, Editor, ElementApiMixin, MultiCommand, PendingActions, Plugin, DEFAULT_GROUP_ID as _DEFAULT_ACCESSIBILITY_GROUP_ID, getEditorUsageData as _getEditorUsageData, attachToForm, secureSourceElement };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/plugin\n */\n\n/* eslint-disable @typescript-eslint/no-invalid-void-type */\n\nimport { ObservableMixin, type ObservableSetEvent, type EventInfo } from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from './editor/editor.js';\n\n/**\n * The base class for CKEditor plugin classes.\n */\nexport class Plugin extends /* #__PURE__ */ ObservableMixin() implements PluginInterface {\n\t/**\n\t * The editor instance.\n\t *\n\t * Note that most editors implement the {@link module:core/editor/editor~Editor#ui} property.\n\t * However, editors with an external UI (i.e. Bootstrap-based) or a headless editor may not have this property or\n\t * throw an error when accessing it.\n\t *\n\t * Because of above, to make plugins more universal, it is recommended to split features into:\n\t * - The \"editing\" part that uses the {@link module:core/editor/editor~Editor} class without `ui` property.\n\t * - The \"UI\" part that uses the {@link module:core/editor/editor~Editor} class and accesses `ui` property.\n\t */\n\tpublic readonly editor: Editor;\n\n\t/**\n\t * Flag indicating whether a plugin is enabled or disabled.\n\t * A disabled plugin will not transform text.\n\t *\n\t * Plugin can be simply disabled like that:\n\t *\n\t * ```ts\n\t * // Disable the plugin so that no toolbars are visible.\n\t * editor.plugins.get( 'TextTransformation' ).isEnabled = false;\n\t * ```\n\t *\n\t * You can also use {@link #forceDisabled} method.\n\t *\n\t * @observable\n\t * @readonly\n\t */\n\tpublic declare isEnabled: boolean;\n\n\t/**\n\t * Holds identifiers for {@link #forceDisabled} mechanism.\n\t */\n\tprivate _disableStack = new Set<string>();\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper();\n\n\t\tthis.editor = editor;\n\n\t\tthis.set( 'isEnabled', true );\n\t}\n\n\t/**\n\t * Disables the plugin.\n\t *\n\t * Plugin may be disabled by multiple features or algorithms (at once). When disabling a plugin, unique id should be passed\n\t * (e.g. feature name). The same identifier should be used when {@link #clearForceDisabled enabling back} the plugin.\n\t * The plugin becomes enabled only after all features {@link #clearForceDisabled enabled it back}.\n\t *\n\t * Disabling and enabling a plugin:\n\t *\n\t * ```ts\n\t * plugin.isEnabled; // -> true\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> false\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * Plugin disabled by multiple features:\n\t *\n\t * ```ts\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.forceDisabled( 'OtherFeature' );\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> false\n\t * plugin.clearForceDisabled( 'OtherFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * Multiple disabling with the same identifier is redundant:\n\t *\n\t * ```ts\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * **Note:** some plugins or algorithms may have more complex logic when it comes to enabling or disabling certain plugins,\n\t * so the plugin might be still disabled after {@link #clearForceDisabled} was used.\n\t *\n\t * @param id Unique identifier for disabling. Use the same id when {@link #clearForceDisabled enabling back} the plugin.\n\t */\n\tpublic forceDisabled( id: string ): void {\n\t\tthis._disableStack.add( id );\n\n\t\tif ( this._disableStack.size == 1 ) {\n\t\t\tthis.on<ObservableSetEvent<boolean>>( 'set:isEnabled', forceDisable, { priority: 'highest' } );\n\t\t\tthis.isEnabled = false;\n\t\t}\n\t}\n\n\t/**\n\t * Clears forced disable previously set through {@link #forceDisabled}. See {@link #forceDisabled}.\n\t *\n\t * @param id Unique identifier, equal to the one passed in {@link #forceDisabled} call.\n\t */\n\tpublic clearForceDisabled( id: string ): void {\n\t\tthis._disableStack.delete( id );\n\n\t\tif ( this._disableStack.size == 0 ) {\n\t\t\tthis.off( 'set:isEnabled', forceDisable );\n\t\t\tthis.isEnabled = true;\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic destroy(): void {\n\t\tthis.stopListening();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get isContextPlugin(): false {\n\t\treturn false;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t * @internal\n\t */\n\tpublic static get isOfficialPlugin(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t * @internal\n\t */\n\tpublic static get isPremiumPlugin(): boolean {\n\t\treturn false;\n\t}\n}\n\n/**\n * The base interface for CKEditor plugins.\n *\n * In its minimal form a plugin can be a simple function that accepts {@link module:core/editor/editor~Editor the editor}\n * as a parameter:\n *\n * ```ts\n * // A simple plugin that enables a data processor.\n * function MyPlugin( editor ) {\n * \teditor.data.processor = new MyDataProcessor();\n * }\n * ```\n *\n * In most cases however, you will want to inherit from the {@link ~Plugin} class which implements the\n * {@link module:utils/observablemixin~Observable} and is, therefore, more convenient:\n *\n * ```ts\n * class MyPlugin extends Plugin {\n * \tinit() {\n * \t\t// `listenTo()` and `editor` are available thanks to `Plugin`.\n * \t\t// By using `listenTo()` you will ensure that the listener is removed when\n * \t\t// the plugin is destroyed.\n * \t\tthis.listenTo( this.editor.data, 'ready', () => {\n * \t\t\t// Do something when the data is ready.\n * \t\t} );\n * \t}\n * }\n * ```\n *\n * The plugin class can have `pluginName` and `requires` static members. See {@link ~PluginStaticMembers} for more details.\n *\n * The plugin can also implement methods (e.g. {@link ~PluginInterface#init `init()`} or\n * {@link ~PluginInterface#destroy `destroy()`}) which, when present, will be used to properly\n * initialize and destroy the plugin.\n *\n * **Note:** When defined as a plain function, the plugin acts as a constructor and will be\n * called in parallel with other plugins' {@link ~PluginConstructor constructors}.\n * This means the code of that plugin will be executed **before** {@link ~PluginInterface#init `init()`} and\n * {@link ~PluginInterface#afterInit `afterInit()`} methods of other plugins and, for instance,\n * you cannot use it to extend other plugins' {@glink framework/architecture/editing-engine#schema schema}\n * rules as they are defined later on during the `init()` stage.\n */\nexport interface PluginInterface {\n\n\t/**\n\t * The second stage (after plugin constructor) of the plugin initialization.\n\t * Unlike the plugin constructor this method can be asynchronous.\n\t *\n\t * A plugin's `init()` method is called after its {@link ~PluginStaticMembers#requires dependencies} are initialized,\n\t * so in the same order as the constructors of these plugins.\n\t *\n\t * **Note:** This method is optional. A plugin instance does not need to have it defined.\n\t */\n\tinit?(): Promise<unknown> | null | undefined | void;\n\n\t/**\n\t * The third (and last) stage of the plugin initialization. See also {@link ~PluginConstructor} and {@link ~PluginInterface#init}.\n\t *\n\t * **Note:** This method is optional. A plugin instance does not need to have it defined.\n\t */\n\tafterInit?(): Promise<unknown> | null | undefined | void;\n\n\t/**\n\t * Destroys the plugin.\n\t *\n\t * **Note:** This method is optional. A plugin instance does not need to have it defined.\n\t */\n\tdestroy?(): Promise<unknown> | null | undefined | void;\n}\n\n/**\n * Creates a new plugin instance. This is the first step of the plugin initialization.\n * See also {@link ~PluginInterface#init} and {@link ~PluginInterface#afterInit}.\n *\n * The plugin static properties should conform to {@link ~PluginStaticMembers `PluginStaticMembers` interface}.\n *\n * A plugin is always instantiated after its {@link ~PluginStaticMembers#requires dependencies} and the\n * {@link ~PluginInterface#init} and {@link ~PluginInterface#afterInit} methods are called in the same order.\n *\n * Usually, you will want to put your plugin's initialization code in the {@link ~PluginInterface#init} method.\n * The constructor can be understood as \"before init\" and used in special cases, just like\n * {@link ~PluginInterface#afterInit} serves the special \"after init\" scenarios (e.g.the code which depends on other\n * plugins, but which does not {@link ~PluginStaticMembers#requires explicitly require} them).\n */\nexport type PluginConstructor<TContext = Editor> =\n\t( PluginClassConstructor<TContext> | PluginFunctionConstructor<TContext> ) & PluginStaticMembers<TContext>;\n\n/**\n * In most cases, you will want to inherit from the {@link ~Plugin} class which implements the\n * {@link module:utils/observablemixin~Observable} and is, therefore, more convenient:\n *\n * ```ts\n * class MyPlugin extends Plugin {\n * \tinit() {\n * \t\t// `listenTo()` and `editor` are available thanks to `Plugin`.\n * \t\t// By using `listenTo()` you will ensure that the listener is removed when\n * \t\t// the plugin is destroyed.\n * \t\tthis.listenTo( this.editor.data, 'ready', () => {\n * \t\t\t// Do something when the data is ready.\n * \t\t} );\n * \t}\n * }\n * ```\n */\nexport type PluginClassConstructor<TContext = Editor> = new ( editor: TContext ) => PluginInterface;\n\n/**\n * In its minimal form a plugin can be a simple function that accepts {@link module:core/editor/editor~Editor the editor}\n * as a parameter:\n *\n * ```ts\n * // A simple plugin that enables a data processor.\n * function MyPlugin( editor ) {\n * \teditor.data.processor = new MyDataProcessor();\n * }\n * ```\n */\nexport type PluginFunctionConstructor<TContext = Editor> = ( editor: TContext ) => void;\n\n/**\n * Static properties of a plugin.\n */\nexport interface PluginStaticMembers<TContext = Editor> {\n\n\t/**\n\t * An array of plugins required by this plugin.\n\t *\n\t * To keep the plugin class definition tight it is recommended to define this property as a static getter:\n\t *\n\t * ```ts\n\t * import { Image } from './image.js';\n\t *\n\t * export class ImageCaption {\n\t * \tstatic get requires() {\n\t * \t\treturn [ Image ];\n\t * \t}\n\t * }\n\t * ```\n\t */\n\treadonly requires?: PluginDependencies<TContext>;\n\n\t/**\n\t * An optional name of the plugin. If set, the plugin will be available in\n\t * {@link module:core/plugincollection~PluginCollection#get} by its\n\t * name and its constructor. If not, then only by its constructor.\n\t *\n\t * The name should reflect the constructor name.\n\t *\n\t * To keep the plugin class definition tight, it is recommended to define this property as a static getter:\n\t *\n\t * ```ts\n\t * export class ImageCaption {\n\t * \tstatic get pluginName() {\n\t * \t\treturn 'ImageCaption';\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * Note: The native `Function.name` property could not be used to keep the plugin name because\n\t * it will be mangled during code minification.\n\t *\n\t * Naming a plugin is necessary to enable removing it through the\n\t * {@link module:core/editor/editorconfig~EditorConfig#removePlugins `config.removePlugins`} option.\n\t */\n\treadonly pluginName?: string;\n\n\t/**\n\t * A flag which defines if a plugin is allowed or not allowed to be used directly by a {@link module:core/context~Context}.\n\t */\n\treadonly isContextPlugin?: boolean;\n\n\t/**\n\t * A flag which defines if a plugin is an official CKEditor 5 plugin.\n\t *\n\t * @internal\n\t */\n\treadonly isOfficialPlugin?: boolean;\n\n\t/**\n\t * A flag which defines if a plugin is a premium CKEditor 5 plugin.\n\t *\n\t * @internal\n\t */\n\treadonly isPremiumPlugin?: boolean;\n\n\t/**\n\t * An unique id of a plugin which belongs to the free plan on commercial license.\n\t *\n\t * @internal\n\t */\n\treadonly licenseFeatureCode?: string;\n}\n\nexport type PluginDependencies<TContext = Editor> = ReadonlyArray<PluginConstructor<TContext> | string>;\n\n/**\n * An array of loaded plugins.\n */\nexport type LoadedPlugins = Array<PluginInterface>;\n\n/**\n * Helper function that forces plugin to be disabled.\n */\nfunction forceDisable( evt: EventInfo<string, boolean> ) {\n\tevt.return = false;\n\tevt.stop();\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/command\n */\n\nimport {\n\tObservableMixin,\n\ttype EventInfo,\n\ttype ObservableChangeEvent,\n\ttype DecoratedMethodEvent,\n\ttype ObservableSetEvent\n} from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from './editor/editor.js';\n\n/**\n * Base class for the CKEditor commands.\n *\n * Commands are the main way to manipulate the editor contents and state. They are mostly used by UI elements (or by other\n * commands) to make changes in the model. Commands are available in every part of the code that has access to\n * the {@link module:core/editor/editor~Editor editor} instance.\n *\n * Instances of registered commands can be retrieved from {@link module:core/editor/editor~Editor#commands `editor.commands`}.\n * The easiest way to execute a command is through {@link module:core/editor/editor~Editor#execute `editor.execute()`}.\n *\n * By default, commands are disabled when the editor is in the {@link module:core/editor/editor~Editor#isReadOnly read-only} mode\n * but commands with the {@link module:core/command~Command#affectsData `affectsData`} flag set to `false` will not be disabled.\n */\nexport class Command extends /* #__PURE__ */ ObservableMixin() {\n\t/**\n\t * The editor on which this command will be used.\n\t */\n\tpublic readonly editor: Editor;\n\n\t/**\n\t * The value of the command. A given command class should define what it represents for it.\n\t *\n\t * For example, the `'bold'` command's value indicates whether the selection starts in a bolded text.\n\t * And the value of the `'link'` command may be an object with link details.\n\t *\n\t * It is possible for a command to have no value (e.g. for stateless actions such as `'uploadImage'`).\n\t *\n\t * A given command class should control this value by overriding the {@link #refresh `refresh()`} method.\n\t *\n\t * @observable\n\t * @readonly\n\t */\n\tdeclare public value: unknown;\n\n\t/**\n\t * Flag indicating whether a command is enabled or disabled.\n\t * A disabled command will do nothing when executed.\n\t *\n\t * A given command class should control this value by overriding the {@link #refresh `refresh()`} method.\n\t *\n\t * It is possible to disable a command \"from outside\" using {@link #forceDisabled} method.\n\t *\n\t * @observable\n\t * @readonly\n\t */\n\tdeclare public isEnabled: boolean;\n\n\t/**\n\t * A flag indicating whether a command's `isEnabled` state should be changed depending on where the document\n\t * selection is placed.\n\t *\n\t * By default, it is set to `true`. If the document selection is placed in a\n\t * {@link module:engine/model/model~Model#canEditAt non-editable} place (such as non-editable root), the command becomes disabled.\n\t *\n\t * The flag should be changed to `false` in a concrete command's constructor if the command should not change its `isEnabled`\n\t * accordingly to the document selection.\n\t */\n\tprotected _isEnabledBasedOnSelection: boolean;\n\n\t/**\n\t * A flag indicating whether a command execution changes the editor data or not.\n\t *\n\t * @see #affectsData\n\t */\n\tprivate _affectsData: boolean;\n\n\t/**\n\t * Holds identifiers for {@link #forceDisabled} mechanism.\n\t */\n\tprivate readonly _disableStack: Set<string>;\n\n\t/**\n\t * Creates a new `Command` instance.\n\t *\n\t * @param editor The editor on which this command will be used.\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper();\n\n\t\tthis.editor = editor;\n\t\tthis.set( 'value', undefined );\n\t\tthis.set( 'isEnabled', false );\n\n\t\tthis._affectsData = true;\n\t\tthis._isEnabledBasedOnSelection = true;\n\t\tthis._disableStack = new Set();\n\n\t\tthis.decorate( 'execute' );\n\n\t\t// By default, every command is refreshed when changes are applied to the model.\n\t\tthis.listenTo( this.editor.model.document, 'change', () => {\n\t\t\tthis.refresh();\n\t\t} );\n\n\t\tthis.listenTo<ObservableChangeEvent<boolean>>( editor, 'change:isReadOnly', () => {\n\t\t\tthis.refresh();\n\t\t} );\n\n\t\t// By default, commands are disabled if the selection is in non-editable place or editor is in read-only mode.\n\t\tthis.on<ObservableSetEvent<boolean>>( 'set:isEnabled', evt => {\n\t\t\tif ( !this.affectsData ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selection = editor.model.document.selection;\n\t\t\tconst selectionInGraveyard = selection.getFirstPosition()!.root.rootName == '$graveyard';\n\t\t\tconst canEditAtSelection = !selectionInGraveyard && editor.model.canEditAt( selection );\n\n\t\t\t// Disable if editor is read only, or when selection is in a place which cannot be edited.\n\t\t\t//\n\t\t\t// Checking `editor.isReadOnly` is needed for all commands that have `_isEnabledBasedOnSelection == false`.\n\t\t\t// E.g. undo does not base on selection, but affects data and should be disabled when the editor is in read-only mode.\n\t\t\tif ( editor.isReadOnly || this._isEnabledBasedOnSelection && !canEditAtSelection ) {\n\t\t\t\tevt.return = false;\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'highest' } );\n\n\t\tthis.on<CommandExecuteEvent>( 'execute', evt => {\n\t\t\tif ( !this.isEnabled ) {\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\t}\n\n\t/**\n\t * A flag indicating whether a command execution changes the editor data or not.\n\t *\n\t * Commands with `affectsData` set to `false` will not be automatically disabled in\n\t * the {@link module:core/editor/editor~Editor#isReadOnly read-only mode} and\n\t * {@glink features/read-only#related-features other editor modes} with restricted user write permissions.\n\t *\n\t * **Note:** You do not have to set it for your every command. It is `true` by default.\n\t *\n\t * @default true\n\t */\n\tpublic get affectsData(): boolean {\n\t\treturn this._affectsData;\n\t}\n\n\tprotected set affectsData( affectsData: boolean ) {\n\t\tthis._affectsData = affectsData;\n\t}\n\n\t/**\n\t * Refreshes the command. The command should update its {@link #isEnabled} and {@link #value} properties\n\t * in this method.\n\t *\n\t * This method is automatically called when\n\t * {@link module:engine/model/document~ModelDocument#event:change any changes are applied to the document}.\n\t */\n\tpublic refresh(): void {\n\t\tthis.isEnabled = true;\n\t}\n\n\t/**\n\t * Disables the command.\n\t *\n\t * Command may be disabled by multiple features or algorithms (at once). When disabling a command, unique id should be passed\n\t * (e.g. the feature name). The same identifier should be used when {@link #clearForceDisabled enabling back} the command.\n\t * The command becomes enabled only after all features {@link #clearForceDisabled enabled it back}.\n\t *\n\t * Disabling and enabling a command:\n\t *\n\t * ```ts\n\t * command.isEnabled; // -> true\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> false\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * Command disabled by multiple features:\n\t *\n\t * ```ts\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.forceDisabled( 'OtherFeature' );\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> false\n\t * command.clearForceDisabled( 'OtherFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * Multiple disabling with the same identifier is redundant:\n\t *\n\t * ```ts\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * **Note:** some commands or algorithms may have more complex logic when it comes to enabling or disabling certain commands,\n\t * so the command might be still disabled after {@link #clearForceDisabled} was used.\n\t *\n\t * @param id Unique identifier for disabling. Use the same id when {@link #clearForceDisabled enabling back} the command.\n\t */\n\tpublic forceDisabled( id: string ): void {\n\t\tthis._disableStack.add( id );\n\n\t\tif ( this._disableStack.size == 1 ) {\n\t\t\tthis.on<ObservableSetEvent<boolean>>( 'set:isEnabled', forceDisable, { priority: 'highest' } );\n\t\t\tthis.isEnabled = false;\n\t\t}\n\t}\n\n\t/**\n\t * Clears forced disable previously set through {@link #forceDisabled}. See {@link #forceDisabled}.\n\t *\n\t * @param id Unique identifier, equal to the one passed in {@link #forceDisabled} call.\n\t */\n\tpublic clearForceDisabled( id: string ): void {\n\t\tthis._disableStack.delete( id );\n\n\t\tif ( this._disableStack.size == 0 ) {\n\t\t\tthis.off( 'set:isEnabled', forceDisable );\n\t\t\tthis.refresh();\n\t\t}\n\t}\n\n\t/**\n\t * Executes the command.\n\t *\n\t * A command may accept parameters. They will be passed from {@link module:core/editor/editor~Editor#execute `editor.execute()`}\n\t * to the command.\n\t *\n\t * The `execute()` method will automatically abort when the command is disabled ({@link #isEnabled} is `false`).\n\t * This behavior is implemented by a high priority listener to the {@link #event:execute} event.\n\t *\n\t * In order to see how to disable a command from \"outside\" see the {@link #isEnabled} documentation.\n\t *\n\t * This method may return a value, which would be forwarded all the way down to the\n\t * {@link module:core/editor/editor~Editor#execute `editor.execute()`}.\n\t *\n\t * @fires execute\n\t */\n\tpublic execute( ...args: Array<unknown> ): unknown { return undefined; } // eslint-disable-line @typescript-eslint/no-unused-vars\n\n\t/**\n\t * Destroys the command.\n\t */\n\tpublic destroy(): void {\n\t\tthis.stopListening();\n\t}\n}\n\n/**\n * Helper function that forces command to be disabled.\n */\nfunction forceDisable( evt: EventInfo<string, boolean> ) {\n\tevt.return = false;\n\tevt.stop();\n}\n\n/**\n * Event fired by the {@link module:core/command~Command#execute} method. The command action is a listener to this event so it's\n * possible to change/cancel the behavior of the command by listening to this event.\n *\n * See {@link module:utils/observablemixin~Observable#decorate} for more information and samples.\n *\n * **Note:** This event is fired even if command is disabled. However, it is automatically blocked\n * by a high priority listener in order to prevent command execution.\n *\n * @eventName ~Command#execute\n */\nexport type CommandExecuteEvent = DecoratedMethodEvent<Command, 'execute'>;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/multicommand\n */\n\nimport { Command } from './command.js';\n\nimport {\n\tinsertToPriorityArray,\n\ttype PriorityString,\n\ttype ObservableChangeEvent\n} from '@ckeditor/ckeditor5-utils';\n\n/**\n * A CKEditor command that aggregates other commands.\n *\n * This command is used to proxy multiple commands. The multi-command is enabled when\n * at least one of its registered child commands is enabled.\n * When executing a multi-command, the first enabled command with highest priority will be executed.\n *\n * ```ts\n * const multiCommand = new MultiCommand( editor );\n *\n * const commandFoo = new Command( editor );\n * const commandBar = new Command( editor );\n *\n * // Register a child command.\n * multiCommand.registerChildCommand( commandFoo );\n * // Register a child command with a low priority.\n * multiCommand.registerChildCommand( commandBar, { priority: 'low' } );\n *\n * // Enable one of the commands.\n * commandBar.isEnabled = true;\n *\n * multiCommand.execute(); // Will execute commandBar.\n * ```\n */\nexport class MultiCommand extends Command {\n\t/**\n\t * Registered child commands definitions.\n\t */\n\tprivate _childCommandsDefinitions: Array<{ command: Command; priority: PriorityString }> = [];\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override refresh(): void {\n\t\t// Override base command refresh(): the command's state is changed when one of child commands changes states.\n\t}\n\n\t/**\n\t * Executes the first enabled command which has the highest priority of all registered child commands.\n\t *\n\t * @returns The value returned by the {@link module:core/command~Command#execute `command.execute()`}.\n\t */\n\tpublic override execute( ...args: Array<unknown> ): unknown {\n\t\tconst command = this._getFirstEnabledCommand();\n\n\t\treturn !!command && command.execute( args );\n\t}\n\n\t/**\n\t * Registers a child command.\n\t *\n\t * @param options An object with configuration options.\n\t * @param options.priority Priority of a command to register.\n\t */\n\tpublic registerChildCommand(\n\t\tcommand: Command,\n\t\toptions: { priority?: PriorityString } = {}\n\t): void {\n\t\tinsertToPriorityArray( this._childCommandsDefinitions, { command, priority: options.priority || 'normal' } );\n\n\t\t// Change multi-command enabled state when one of registered commands changes state.\n\t\tcommand.on<ObservableChangeEvent<boolean>>( 'change:isEnabled', () => this._checkEnabled() );\n\n\t\tthis._checkEnabled();\n\t}\n\n\t/**\n\t * Checks if any of child commands is enabled.\n\t */\n\tprivate _checkEnabled(): void {\n\t\tthis.isEnabled = !!this._getFirstEnabledCommand();\n\t}\n\n\t/**\n\t * Returns a first enabled command with the highest priority or `undefined` if none of them is enabled.\n\t */\n\tprivate _getFirstEnabledCommand(): Command | undefined {\n\t\tconst commandDefinition = this._childCommandsDefinitions.find( ( { command } ) => command.isEnabled );\n\n\t\treturn commandDefinition && commandDefinition.command;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/commandcollection\n */\n\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils';\nimport { type Command } from './command.js';\n\n/**\n * Collection of commands. Its instance is available in {@link module:core/editor/editor~Editor#commands `editor.commands`}.\n */\nexport class CommandCollection implements Iterable<[ string, Command ]> {\n\t/**\n\t * Command map.\n\t */\n\tprivate _commands: Map<string, Command>;\n\n\t/**\n\t * Creates collection instance.\n\t */\n\tconstructor() {\n\t\tthis._commands = new Map();\n\t}\n\n\t/**\n\t * Registers a new command.\n\t *\n\t * @param commandName The name of the command.\n\t */\n\tpublic add<TName extends string>(\n\t\tcommandName: TName,\n\t\tcommand: CommandsMap[ TName ]\n\t): void {\n\t\tthis._commands.set( commandName, command );\n\t}\n\n\t/**\n\t * Retrieves a command from the collection.\n\t *\n\t * @param commandName The name of the command.\n\t */\n\tpublic get<TName extends string>( commandName: TName ): CommandsMap[ TName ] | undefined {\n\t\treturn this._commands.get( commandName );\n\t}\n\n\t/**\n\t * Executes a command.\n\t *\n\t * @param commandName The name of the command.\n\t * @param commandParams Command parameters.\n\t * @returns The value returned by the {@link module:core/command~Command#execute `command.execute()`}.\n\t */\n\tpublic execute<TName extends string>(\n\t\tcommandName: TName,\n\t\t...commandParams: Parameters<CommandsMap[ TName ][ 'execute' ]>\n\t): ReturnType<CommandsMap[ TName ][ 'execute' ]> {\n\t\tconst command = this.get( commandName );\n\n\t\tif ( !command ) {\n\t\t\t/**\n\t\t\t * Command does not exist.\n\t\t\t *\n\t\t\t * @error commandcollection-command-not-found\n\t\t\t * @param {string} commandName Name of the command.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'commandcollection-command-not-found', this, { commandName } );\n\t\t}\n\n\t\treturn command.execute( ...commandParams ) as any;\n\t}\n\n\t/**\n\t * Returns iterator of command names.\n\t */\n\tpublic* names(): IterableIterator<string> {\n\t\tyield* this._commands.keys();\n\t}\n\n\t/**\n\t * Returns iterator of command instances.\n\t */\n\tpublic* commands(): IterableIterator<Command> {\n\t\tyield* this._commands.values();\n\t}\n\n\t/**\n\t * Iterable interface.\n\t *\n\t * Returns `[ commandName, commandInstance ]` pairs.\n\t */\n\tpublic [ Symbol.iterator ](): Iterator<[ string, Command ]> {\n\t\treturn this._commands[ Symbol.iterator ]();\n\t}\n\n\t/**\n\t * Destroys all collection commands.\n\t */\n\tpublic destroy(): void {\n\t\tfor ( const command of this.commands() ) {\n\t\t\tcommand.destroy();\n\t\t}\n\t}\n}\n\n/**\n * Helper type that maps command names to their types.\n * It is meant to be extended with module augmentation.\n *\n * ```ts\n * class MyCommand extends Command {\n * \tpublic execute( parameter: A ): B {\n * \t\t// ...\n * \t}\n * }\n *\n * declare module '@ckeditor/ckeditor5-core' {\n * \tinterface CommandsMap {\n * \t\tmyCommand: MyCommand;\n * \t}\n * }\n *\n * // Returns `MyCommand | undefined`.\n * const myCommand = editor.commands.get( 'myCommand' );\n *\n * // Expects `A` type as parameter and returns `B`.\n * const value = editor.commands.execute( 'myCommand', new A() );\n * ```\n */\nexport interface CommandsMap {\n\t[ name: string ]: Command;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/plugincollection\n */\n\nimport { CKEditorError, EmitterMixin } from '@ckeditor/ckeditor5-utils';\nimport type { LoadedPlugins, PluginClassConstructor, PluginConstructor, PluginInterface } from './plugin.js';\n\n/**\n * Manages a list of CKEditor plugins, including loading, resolving dependencies and initialization.\n */\nexport class PluginCollection<TContext extends object>\n\textends /* #__PURE__ */ EmitterMixin()\n\timplements Iterable<PluginEntry<TContext>> {\n\tprivate _context: TContext;\n\n\tprivate _plugins = new Map<PluginConstructor<TContext> | string, PluginInterface>();\n\n\t/**\n\t * A map of plugin constructors that can be retrieved by their names.\n\t */\n\tprivate _availablePlugins: Map<string, PluginConstructor<TContext>>;\n\n\t/**\n\t * Map of {@link module:core/contextplugin~ContextPlugin context plugins} which can be retrieved by their constructors or instances.\n\t */\n\tprivate _contextPlugins: Map<PluginConstructor<TContext> | PluginInterface, PluginConstructor<TContext> | PluginInterface>;\n\n\t/**\n\t * Creates an instance of the plugin collection class.\n\t * Allows loading and initializing plugins and their dependencies.\n\t * Allows providing a list of already loaded plugins. These plugins will not be destroyed along with this collection.\n\t *\n\t * @param availablePlugins Plugins (constructors) which the collection will be able to use\n\t * when {@link module:core/plugincollection~PluginCollection#init} is used with the plugin names (strings, instead of constructors).\n\t * Usually, the editor will pass its built-in plugins to the collection so they can later be\n\t * used in `config.plugins` or `config.removePlugins` by names.\n\t * @param contextPlugins A list of already initialized plugins represented by a `[ PluginConstructor, pluginInstance ]` pair.\n\t */\n\tconstructor(\n\t\tcontext: TContext,\n\t\tavailablePlugins: Iterable<PluginConstructor<TContext>> = [],\n\t\tcontextPlugins: Iterable<PluginEntry<TContext>> = []\n\t) {\n\t\tsuper();\n\n\t\tthis._context = context;\n\t\tthis._availablePlugins = new Map();\n\n\t\tfor ( const PluginConstructor of availablePlugins ) {\n\t\t\tif ( PluginConstructor.pluginName ) {\n\t\t\t\tthis._availablePlugins.set( PluginConstructor.pluginName, PluginConstructor );\n\t\t\t}\n\t\t}\n\n\t\tthis._contextPlugins = new Map();\n\n\t\tfor ( const [ PluginConstructor, pluginInstance ] of contextPlugins ) {\n\t\t\tthis._contextPlugins.set( PluginConstructor, pluginInstance );\n\t\t\tthis._contextPlugins.set( pluginInstance, PluginConstructor );\n\n\t\t\t// To make it possible to require a plugin by its name.\n\t\t\tif ( PluginConstructor.pluginName ) {\n\t\t\t\tthis._availablePlugins.set( PluginConstructor.pluginName, PluginConstructor );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Iterable interface.\n\t *\n\t * Returns `[ PluginConstructor, pluginInstance ]` pairs.\n\t */\n\tpublic* [ Symbol.iterator ](): IterableIterator<PluginEntry<TContext>> {\n\t\tfor ( const entry of this._plugins ) {\n\t\t\tif ( typeof entry[ 0 ] == 'function' ) {\n\t\t\t\tyield entry as any;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic get<TConstructor extends PluginClassConstructor<TContext>>( key: TConstructor ): InstanceType<TConstructor>;\n\tpublic get<TName extends string>( key: TName ): PluginsMap[ TName ];\n\n\t/**\n\t * Gets the plugin instance by its constructor or name.\n\t *\n\t * ```ts\n\t * // Check if 'Clipboard' plugin was loaded.\n\t * if ( editor.plugins.has( 'ClipboardPipeline' ) ) {\n\t * \t// Get clipboard plugin instance\n\t * \tconst clipboard = editor.plugins.get( 'ClipboardPipeline' );\n\t *\n\t * \tthis.listenTo( clipboard, 'inputTransformation', ( evt, data ) => {\n\t * \t\t// Do something on clipboard input.\n\t * \t} );\n\t * }\n\t * ```\n\t *\n\t * **Note**: This method will throw an error if a plugin is not loaded. Use `{@link #has editor.plugins.has()}`\n\t * to check if a plugin is available.\n\t *\n\t * @param key The plugin constructor or {@link module:core/plugin~PluginStaticMembers#pluginName name}.\n\t */\n\tpublic get( key: PluginConstructor<TContext> | string ): PluginInterface {\n\t\tconst plugin = this._plugins.get( key );\n\n\t\tif ( !plugin ) {\n\t\t\tlet pluginName = key;\n\n\t\t\tif ( typeof key == 'function' ) {\n\t\t\t\tpluginName = key.pluginName || key.name;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * The plugin is not loaded and could not be obtained.\n\t\t\t *\n\t\t\t * Plugin classes (constructors) need to be provided to the editor and must be loaded before they can be obtained from\n\t\t\t * the plugin collection.\n\t\t\t *\n\t\t\t * **Note**: You can use `{@link module:core/plugincollection~PluginCollection#has editor.plugins.has()}`\n\t\t\t * to check if a plugin was loaded.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-not-loaded\n\t\t\t * @param {string} plugin The name of the plugin which is not loaded.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'plugincollection-plugin-not-loaded', this._context, { plugin: pluginName } );\n\t\t}\n\n\t\treturn plugin;\n\t}\n\n\t/**\n\t * Checks if a plugin is loaded.\n\t *\n\t * ```ts\n\t * // Check if the 'Clipboard' plugin was loaded.\n\t * if ( editor.plugins.has( 'ClipboardPipeline' ) ) {\n\t * \t// Now use the clipboard plugin instance:\n\t * \tconst clipboard = editor.plugins.get( 'ClipboardPipeline' );\n\t *\n\t * \t// ...\n\t * }\n\t * ```\n\t *\n\t * @param key The plugin constructor or {@link module:core/plugin~PluginStaticMembers#pluginName name}.\n\t */\n\tpublic has( key: PluginConstructor<TContext> | string ): boolean {\n\t\treturn this._plugins.has( key );\n\t}\n\n\t/**\n\t * Initializes a set of plugins and adds them to the collection.\n\t *\n\t * @param plugins An array of {@link module:core/plugin~PluginInterface plugin constructors}\n\t * or {@link module:core/plugin~PluginStaticMembers#pluginName plugin names}.\n\t * @param pluginsToRemove Names of the plugins or plugin constructors\n\t * that should not be loaded (despite being specified in the `plugins` array).\n\t * @param pluginsSubstitutions An array of {@link module:core/plugin~PluginInterface plugin constructors}\n\t * that will be used to replace plugins of the same names that were passed in `plugins` or that are in their dependency tree.\n\t * A useful option for replacing built-in plugins while creating tests (for mocking their APIs). Plugins that will be replaced\n\t * must follow these rules:\n\t * * The new plugin must be a class.\n\t * * The new plugin must be named.\n\t * * Both plugins must not depend on other plugins.\n\t * @returns A promise which gets resolved once all plugins are loaded and available in the collection.\n\t */\n\tpublic init(\n\t\tplugins: ReadonlyArray<PluginConstructor<TContext> | string>,\n\t\tpluginsToRemove: ReadonlyArray<PluginConstructor<TContext> | string> = [],\n\t\tpluginsSubstitutions: ReadonlyArray<PluginConstructor<TContext>> = []\n\t): Promise<LoadedPlugins> {\n\t\t// Plugin initialization procedure consists of 2 main steps:\n\t\t// 1) collecting all available plugin constructors,\n\t\t// 2) verification whether all required plugins can be instantiated.\n\t\t//\n\t\t// In the first step, all plugin constructors, available in the provided `plugins` array and inside\n\t\t// plugin's dependencies (from the `Plugin.requires` array), are recursively collected and added to the existing\n\t\t// `this._availablePlugins` map, but without any verification at the given moment. Performing the verification\n\t\t// at this point (during the plugin constructor searching) would cause false errors to occur, that some plugin\n\t\t// is missing but in fact it may be defined further in the array as the dependency of other plugin. After\n\t\t// traversing the entire dependency tree, it will be checked if all required \"top level\" plugins are available.\n\t\t//\n\t\t// In the second step, the list of plugins that have not been explicitly removed is traversed to get all the\n\t\t// plugin constructors to be instantiated in the correct order and to validate against some rules. Finally, if\n\t\t// no plugin is missing and no other error has been found, they all will be instantiated.\n\t\t// eslint-disable-next-line @typescript-eslint/no-this-alias\n\t\tconst that = this;\n\t\tconst context = this._context;\n\n\t\tfindAvailablePluginConstructors( plugins );\n\n\t\tvalidatePlugins( plugins );\n\n\t\tconst pluginsToLoad = plugins.filter( plugin => !isPluginRemoved( plugin, pluginsToRemove ) );\n\n\t\tconst pluginConstructors = [ ...getPluginConstructors( pluginsToLoad ) ];\n\n\t\tsubstitutePlugins( pluginConstructors, pluginsSubstitutions );\n\n\t\tconst pluginInstances = loadPlugins( pluginConstructors );\n\n\t\treturn initPlugins( pluginInstances, 'init' )\n\t\t\t.then( () => initPlugins( pluginInstances, 'afterInit' ) )\n\t\t\t.then( () => pluginInstances );\n\n\t\tfunction isPluginConstructor( plugin: PluginConstructor<TContext> | string | null ): plugin is PluginConstructor<TContext> {\n\t\t\treturn typeof plugin === 'function';\n\t\t}\n\n\t\tfunction isContextPlugin(\n\t\t\tplugin: PluginConstructor<TContext> | string | null\n\t\t): plugin is PluginConstructor<TContext> & { isContextPlugin: true } {\n\t\t\treturn isPluginConstructor( plugin ) && !!plugin.isContextPlugin;\n\t\t}\n\n\t\tfunction isPluginRemoved(\n\t\t\tplugin: PluginConstructor<TContext> | string,\n\t\t\tpluginsToRemove: ReadonlyArray<PluginConstructor<TContext> | string>\n\t\t) {\n\t\t\treturn pluginsToRemove.some( removedPlugin => {\n\t\t\t\tif ( removedPlugin === plugin ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( getPluginName( plugin ) === removedPlugin ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( getPluginName( removedPlugin ) === plugin ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t}\n\n\t\tfunction getPluginName( plugin: PluginConstructor<TContext> | string ) {\n\t\t\treturn isPluginConstructor( plugin ) ?\n\t\t\t\tplugin.pluginName || plugin.name :\n\t\t\t\tplugin;\n\t\t}\n\n\t\tfunction findAvailablePluginConstructors(\n\t\t\tplugins: ReadonlyArray<PluginConstructor<TContext> | string>,\n\t\t\tprocessed = new Set<PluginConstructor<TContext>>()\n\t\t) {\n\t\t\tplugins.forEach( plugin => {\n\t\t\t\tif ( !isPluginConstructor( plugin ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( processed.has( plugin ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tprocessed.add( plugin );\n\n\t\t\t\tif ( plugin.pluginName && !that._availablePlugins.has( plugin.pluginName ) ) {\n\t\t\t\t\tthat._availablePlugins.set( plugin.pluginName, plugin );\n\t\t\t\t}\n\n\t\t\t\tif ( plugin.requires ) {\n\t\t\t\t\tfindAvailablePluginConstructors( plugin.requires, processed );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction getPluginConstructors(\n\t\t\tplugins: ReadonlyArray<PluginConstructor<TContext> | string>,\n\t\t\tprocessed = new Set<PluginConstructor<TContext>>()\n\t\t) {\n\t\t\treturn plugins\n\t\t\t\t.map( plugin => {\n\t\t\t\t\treturn isPluginConstructor( plugin ) ?\n\t\t\t\t\t\tplugin :\n\t\t\t\t\t\tthat._availablePlugins.get( plugin )!;\n\t\t\t\t} )\n\t\t\t\t.reduce( ( result, plugin ) => {\n\t\t\t\t\tif ( processed.has( plugin ) ) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\n\t\t\t\t\tprocessed.add( plugin );\n\n\t\t\t\t\tif ( plugin.requires ) {\n\t\t\t\t\t\tvalidatePlugins( plugin.requires, plugin );\n\n\t\t\t\t\t\tgetPluginConstructors( plugin.requires, processed ).forEach( plugin => result.add( plugin ) );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result.add( plugin );\n\t\t\t\t}, new Set<PluginConstructor<TContext>>() );\n\t\t}\n\n\t\tfunction validatePlugins(\n\t\t\tplugins: ReadonlyArray<PluginConstructor<TContext> | string>,\n\t\t\tparentPluginConstructor: PluginConstructor<TContext> | null = null\n\t\t) {\n\t\t\tplugins\n\t\t\t\t.map( plugin => {\n\t\t\t\t\treturn isPluginConstructor( plugin ) ?\n\t\t\t\t\t\tplugin :\n\t\t\t\t\t\tthat._availablePlugins.get( plugin ) || plugin;\n\t\t\t\t} )\n\t\t\t\t.forEach( plugin => {\n\t\t\t\t\tcheckMissingPlugin( plugin, parentPluginConstructor );\n\t\t\t\t\tcheckContextPlugin( plugin, parentPluginConstructor );\n\t\t\t\t\tcheckRemovedPlugin( plugin, parentPluginConstructor );\n\t\t\t\t} );\n\t\t}\n\n\t\tfunction checkMissingPlugin(\n\t\t\tplugin: PluginConstructor<TContext> | string,\n\t\t\tparentPluginConstructor: PluginConstructor<TContext> | null\n\t\t) {\n\t\t\tif ( isPluginConstructor( plugin ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( parentPluginConstructor ) {\n\t\t\t\t/**\n\t\t\t\t * A required \"soft\" dependency was not found on the plugin list.\n\t\t\t\t *\n\t\t\t\t * When configuring the editor, either prior to building (via\n\t\t\t\t * {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}) or when\n\t\t\t\t * creating a new instance of the editor (e.g. via\n\t\t\t\t * {@link module:core/editor/editorconfig~EditorConfig#plugins `config.plugins`}), you need to provide\n\t\t\t\t * some of the dependencies for other plugins that you used.\n\t\t\t\t *\n\t\t\t\t * This error is thrown when one of these dependencies was not provided. The name of the missing plugin\n\t\t\t\t * can be found in `missingPlugin` and the plugin that required it in `requiredBy`.\n\t\t\t\t *\n\t\t\t\t * In order to resolve it, you need to import the missing plugin and add it to the\n\t\t\t\t * current list of plugins (`Editor.builtinPlugins` or `config.plugins`/`config.extraPlugins`).\n\t\t\t\t *\n\t\t\t\t * Soft requirements were introduced in version 26.0.0. If you happen to stumble upon this error\n\t\t\t\t * when upgrading to version 26.0.0, read also the\n\t\t\t\t * {@glink updating/guides/update-to-26 Migration to 26.0.0} guide.\n\t\t\t\t *\n\t\t\t\t * @error plugincollection-soft-required\n\t\t\t\t * @param {string} missingPlugin The name of the required plugin.\n\t\t\t\t * @param {string} requiredBy The name of the plugin that requires the other plugin.\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'plugincollection-soft-required',\n\t\t\t\t\tcontext,\n\t\t\t\t\t{ missingPlugin: plugin, requiredBy: getPluginName( parentPluginConstructor ) }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * A plugin is not available and could not be loaded.\n\t\t\t *\n\t\t\t * Plugin classes (constructors) need to be provided to the editor before they can be loaded by name.\n\t\t\t * This is usually done in the now deprecated CKEditor 5 builds by setting\n\t\t\t * the {@link module:core/editor/editor~Editor.builtinPlugins} property.\n\t\t\t *\n\t\t\t * **If you see this warning when using one of the deprecated CKEditor 5 Builds**,\n\t\t\t * it means that you tried to enable a plugin that was not included in that build. This may be due to a typo\n\t\t\t * in the plugin name or simply because that plugin was not a part of this build.\n\t\t\t *\n\t\t\t * **Predefined builds are no longer supported and you need to\n\t\t\t * {@glink updating/nim-migration/migration-to-new-installation-methods migrate to new installation methods}**.\n\t\t\t *\n\t\t\t * **If you see this warning when using one of the editor creators directly** (not a build), then it means\n\t\t\t * that you tried loading plugins by name. However, unlike CKEditor 4, CKEditor 5 does not implement a \"plugin loader\".\n\t\t\t * This means that CKEditor 5 does not know where to load the plugin modules from. Therefore, you need to\n\t\t\t * provide each plugin through a reference (as a constructor function). Check out the examples in the\n\t\t\t * {@glink getting-started/installation/cloud/quick-start Quick start} guide.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-not-found\n\t\t\t * @param {string} plugin The name of the plugin which could not be loaded.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'plugincollection-plugin-not-found',\n\t\t\t\tcontext,\n\t\t\t\t{ plugin }\n\t\t\t);\n\t\t}\n\n\t\tfunction checkContextPlugin(\n\t\t\tplugin: PluginConstructor<TContext> | string,\n\t\t\tparentPluginConstructor: PluginConstructor<TContext> | null\n\t\t) {\n\t\t\tif ( !isContextPlugin( parentPluginConstructor ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isContextPlugin( plugin ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * If a plugin is a context plugin, all plugins it requires should also be context plugins\n\t\t\t * instead of plugins. In other words, if one plugin can be used in the context,\n\t\t\t * all its requirements should also be ready to be used in the context. Note that the context\n\t\t\t * provides only a part of the API provided by the editor. If one plugin needs a full\n\t\t\t * editor API, all plugins which require it are considered as plugins that need a full\n\t\t\t * editor API.\n\t\t\t *\n\t\t\t * @error plugincollection-context-required\n\t\t\t * @param {string} plugin The name of the required plugin.\n\t\t\t * @param {string} requiredBy The name of the parent plugin.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'plugincollection-context-required',\n\t\t\t\tcontext,\n\t\t\t\t{ plugin: getPluginName( plugin ), requiredBy: getPluginName( parentPluginConstructor ) }\n\t\t\t);\n\t\t}\n\n\t\tfunction checkRemovedPlugin(\n\t\t\tplugin: PluginConstructor<TContext> | string,\n\t\t\tparentPluginConstructor: PluginConstructor<TContext> | null\n\t\t) {\n\t\t\tif ( !parentPluginConstructor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( !isPluginRemoved( plugin, pluginsToRemove ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Cannot load a plugin because one of its dependencies is listed in the `removePlugins` option.\n\t\t\t *\n\t\t\t * @error plugincollection-required\n\t\t\t * @param {string} plugin The name of the required plugin.\n\t\t\t * @param {string} requiredBy The name of the parent plugin.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'plugincollection-required',\n\t\t\t\tcontext,\n\t\t\t\t{ plugin: getPluginName( plugin ), requiredBy: getPluginName( parentPluginConstructor ) }\n\t\t\t);\n\t\t}\n\n\t\tfunction loadPlugins( pluginConstructors: ReadonlyArray<PluginConstructor<TContext>> ) {\n\t\t\treturn pluginConstructors.map( PluginConstructor => {\n\t\t\t\tlet pluginInstance = that._contextPlugins.get( PluginConstructor ) as ( PluginInterface | undefined );\n\n\t\t\t\tpluginInstance = pluginInstance || new ( PluginConstructor as PluginClassConstructor<TContext> )( context );\n\n\t\t\t\tthat._add( PluginConstructor, pluginInstance );\n\n\t\t\t\treturn pluginInstance;\n\t\t\t} );\n\t\t}\n\n\t\tfunction initPlugins( pluginInstances: ReadonlyArray<PluginInterface>, method: 'init' | 'afterInit' ) {\n\t\t\treturn pluginInstances.reduce<Promise<unknown>>( ( promise, plugin ) => {\n\t\t\t\tif ( !plugin[ method ] ) {\n\t\t\t\t\treturn promise;\n\t\t\t\t}\n\n\t\t\t\tif ( that._contextPlugins.has( plugin ) ) {\n\t\t\t\t\treturn promise;\n\t\t\t\t}\n\n\t\t\t\treturn promise.then( plugin[ method ]!.bind( plugin ) );\n\t\t\t}, Promise.resolve() );\n\t\t}\n\n\t\t/**\n\t\t * Replaces plugin constructors with the specified set of plugins.\n\t\t */\n\t\tfunction substitutePlugins(\n\t\t\tpluginConstructors: Array<PluginConstructor<TContext>>,\n\t\t\tpluginsSubstitutions: ReadonlyArray<PluginConstructor<TContext>>\n\t\t) {\n\t\t\tfor ( const pluginItem of pluginsSubstitutions ) {\n\t\t\t\tif ( typeof pluginItem != 'function' ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * The plugin replacing an existing plugin must be a function.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replace-plugin-invalid-type\n\t\t\t\t\t * @param {never} pluginItem The plugin item.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-replace-plugin-invalid-type', null, { pluginItem } );\n\t\t\t\t}\n\n\t\t\t\tconst pluginName = pluginItem.pluginName;\n\n\t\t\t\tif ( !pluginName ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * The plugin replacing an existing plugin must have a name.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replace-plugin-missing-name\n\t\t\t\t\t * @param {module:core/plugin~PluginConstructor} pluginItem The plugin item.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-replace-plugin-missing-name', null, { pluginItem } );\n\t\t\t\t}\n\n\t\t\t\tif ( pluginItem.requires && pluginItem.requires.length ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * The plugin replacing an existing plugin cannot depend on other plugins.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-cannot-have-dependencies\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-plugin-for-replacing-cannot-have-dependencies', null, { pluginName } );\n\t\t\t\t}\n\n\t\t\t\tconst pluginToReplace = that._availablePlugins.get( pluginName );\n\n\t\t\t\tif ( !pluginToReplace ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * The replaced plugin does not exist in the\n\t\t\t\t\t * {@link module:core/plugincollection~PluginCollection available plugins} collection.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-not-exist\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-plugin-for-replacing-not-exist', null, { pluginName } );\n\t\t\t\t}\n\n\t\t\t\tconst indexInPluginConstructors = pluginConstructors.indexOf( pluginToReplace );\n\n\t\t\t\tif ( indexInPluginConstructors === -1 ) {\n\t\t\t\t\t// The Context feature can substitute plugins as well.\n\t\t\t\t\t// It may happen that the editor will be created with the given context, where the plugin for substitute\n\t\t\t\t\t// was already replaced. In such a case, we don't want to do it again.\n\t\t\t\t\tif ( that._contextPlugins.has( pluginToReplace ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t/**\n\t\t\t\t\t * The replaced plugin will not be loaded so it cannot be replaced.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-not-loaded\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-plugin-for-replacing-not-loaded', null, { pluginName } );\n\t\t\t\t}\n\n\t\t\t\tif ( pluginToReplace.requires && pluginToReplace.requires.length ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * The replaced plugin cannot depend on other plugins.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replaced-plugin-cannot-have-dependencies\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-replaced-plugin-cannot-have-dependencies', null, { pluginName } );\n\t\t\t\t}\n\n\t\t\t\tpluginConstructors.splice( indexInPluginConstructors, 1, pluginItem );\n\t\t\t\tthat._availablePlugins.set( pluginName, pluginItem );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Destroys all loaded plugins.\n\t */\n\tpublic destroy(): Promise<unknown> {\n\t\tconst promises: Array<unknown> = [];\n\n\t\tfor ( const [ , pluginInstance ] of this ) {\n\t\t\tif ( typeof pluginInstance.destroy == 'function' && !this._contextPlugins.has( pluginInstance ) ) {\n\t\t\t\tpromises.push( pluginInstance.destroy() );\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all( promises );\n\t}\n\n\t/**\n\t * Adds the plugin to the collection. Exposed mainly for testing purposes.\n\t *\n\t * @param PluginConstructor The plugin constructor.\n\t * @param plugin The instance of the plugin.\n\t */\n\tprivate _add( PluginConstructor: PluginConstructor<TContext>, plugin: PluginInterface ) {\n\t\tthis._plugins.set( PluginConstructor, plugin );\n\n\t\tconst pluginName = PluginConstructor.pluginName;\n\n\t\tif ( !pluginName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this._plugins.has( pluginName ) ) {\n\t\t\t/**\n\t\t\t * Two plugins with the same {@link module:core/plugin~PluginStaticMembers#pluginName} were loaded.\n\t\t\t * This will lead to runtime conflicts between these plugins.\n\t\t\t *\n\t\t\t * In practice, this warning usually means that new plugins were added to an existing CKEditor 5 build.\n\t\t\t * Plugins should always be added to a source version of the editor (`@ckeditor/ckeditor5-editor-*`),\n\t\t\t * not to an editor imported from one of the `@ckeditor/ckeditor5-build-*` packages.\n\t\t\t *\n\t\t\t * Check your import paths and the list of plugins passed to\n\t\t\t * {@link module:core/editor/editor~Editor.create `Editor.create()`}\n\t\t\t * or specified in {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}.\n\t\t\t *\n\t\t\t * Predefined builds are a deprecated solution and we strongly advise\n\t\t\t * {@glink updating/nim-migration/migration-to-new-installation-methods migrating to new installation methods}.\n\t\t\t *\n\t\t\t * The second option is that your `node_modules/` directory contains duplicated versions of the same\n\t\t\t * CKEditor 5 packages. Normally, on clean installations, npm deduplicates packages in `node_modules/`, so\n\t\t\t * it may be enough to call `rm -rf node_modules && npm i`. However, if you installed conflicting versions\n\t\t\t * of some packages, their dependencies may need to be installed in more than one version which may lead to this\n\t\t\t * warning.\n\t\t\t *\n\t\t\t * Technically speaking, this error occurs because after adding a plugin to an existing editor build\n\t\t\t * the dependencies of this plugin are being duplicated.\n\t\t\t * They are already built into that editor build and now get added for the second time as dependencies\n\t\t\t * of the plugin you are installing.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-name-conflict\n\t\t\t * @param {string} pluginName The duplicated plugin name.\n\t\t\t * @param {module:core/plugin~PluginConstructor} plugin1 The first plugin constructor.\n\t\t\t * @param {module:core/plugin~PluginConstructor} plugin2 The second plugin constructor.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'plugincollection-plugin-name-conflict',\n\t\t\t\tnull,\n\t\t\t\t{ pluginName, plugin1: this._plugins.get( pluginName )!.constructor, plugin2: PluginConstructor }\n\t\t\t);\n\t\t}\n\n\t\tthis._plugins.set( pluginName, plugin );\n\t}\n}\n\n/**\n * A `[ PluginConstructor, pluginInstance ]` pair.\n */\nexport type PluginEntry<TContext> = [ PluginConstructor<TContext>, PluginInterface ];\n\n/**\n * Helper type that maps plugin names to their types.\n * It is meant to be extended with module augmentation.\n *\n * ```ts\n * class MyPlugin extends Plugin {\n * \tpublic static pluginName() {\n * \t\treturn 'MyPlugin' as const;\n * \t}\n * }\n *\n * declare module '@ckeditor/ckeditor5-core' {\n * \tinterface PluginsMap {\n * \t\t[ MyPlugin.pluginName ]: MyPlugin;\n * \t}\n * }\n *\n * // Returns `MyPlugin`.\n * const myPlugin = editor.plugins.get( 'MyPlugin' );\n * ```\n */\nexport interface PluginsMap {\n\t[ name: string ]: PluginInterface;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/context\n */\n\nimport {\n\tConfig,\n\tCollection,\n\tCKEditorError,\n\tLocale,\n\ttype LocaleTranslate\n} from '@ckeditor/ckeditor5-utils';\n\nimport { PluginCollection } from './plugincollection.js';\nimport { type Editor } from './editor/editor.js';\nimport type { LoadedPlugins, PluginConstructor } from './plugin.js';\nimport type { EditorConfig } from './editor/editorconfig.js';\n\n/**\n * Provides a common, higher-level environment for solutions that use multiple {@link module:core/editor/editor~Editor editors}\n * or plugins that work outside the editor. Use it instead of {@link module:core/editor/editor~Editor.create `Editor.create()`}\n * in advanced application integrations.\n *\n * All configuration options passed to a context will be used as default options for the editor instances initialized in that context.\n *\n * {@link module:core/contextplugin~ContextPlugin Context plugins} passed to a context instance will be shared among all\n * editor instances initialized in this context. These will be the same plugin instances for all the editors.\n *\n * **Note:** The context can only be initialized with {@link module:core/contextplugin~ContextPlugin context plugins}\n * (e.g. [comments](https://ckeditor.com/collaboration/comments/)). Regular {@link module:core/plugin~Plugin plugins} require an\n * editor instance to work and cannot be added to a context.\n *\n * **Note:** You can add a context plugin to an editor instance, though.\n *\n * If you are using multiple editor instances on one page and use any context plugins, create a context to share the configuration and\n * plugins among these editors. Some plugins will use the information about all existing editors to better integrate between them.\n *\n * If you are using plugins that do not require an editor to work (e.g. [comments](https://ckeditor.com/collaboration/comments/)),\n * enable and configure them using the context.\n *\n * If you are using only a single editor on each page, use {@link module:core/editor/editor~Editor.create `Editor.create()`} instead.\n * In such a case, a context instance will be created by the editor instance in a transparent way.\n *\n * See {@link ~Context.create `Context.create()`} for usage examples.\n */\nexport class Context {\n\t/**\n\t * Stores all the configurations specific to this context instance.\n\t */\n\tpublic readonly config: Config<ContextConfig>;\n\n\t/**\n\t * The plugins loaded and in use by this context instance.\n\t */\n\tpublic readonly plugins: PluginCollection<Context | Editor>;\n\n\tpublic readonly locale: Locale;\n\n\t/**\n\t * Shorthand for {@link module:utils/locale~Locale#t}.\n\t */\n\tpublic readonly t: LocaleTranslate;\n\n\t/**\n\t * A list of editors that this context instance is injected to.\n\t */\n\tpublic readonly editors: Collection<Editor>;\n\n\t/**\n\t * The default configuration which is built into the `Context` class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds featuring `Context` to provide the default configuration options\n\t * which are later used during the context initialization.\n\t *\n\t * ```ts\n\t * Context.defaultConfig = {\n\t * \tfoo: 1,\n\t * \tbar: 2\n\t * };\n\t *\n\t * Context\n\t * \t.create()\n\t * \t.then( context => {\n\t * \t\tcontext.config.get( 'foo' ); // -> 1\n\t * \t\tcontext.config.get( 'bar' ); // -> 2\n\t * \t} );\n\t *\n\t * // The default options can be overridden by the configuration passed to create().\n\t * Context\n\t * \t.create( { bar: 3 } )\n\t * \t.then( context => {\n\t * \t\tcontext.config.get( 'foo' ); // -> 1\n\t * \t\tcontext.config.get( 'bar' ); // -> 3\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/context~Context.builtinPlugins `Context.builtinPlugins`}\n\t * and {@link module:core/editor/editor~Editor.defaultConfig `Editor.defaultConfig`}.\n\t */\n\tpublic static defaultConfig: ContextConfig;\n\n\t/**\n\t * An array of plugins built into the `Context` class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds featuring `Context` to provide the default configuration options\n\t * which are later used during the context initialization.\n\t *\n\t * They will be automatically initialized by `Context` unless `config.plugins` is passed.\n\t *\n\t * ```ts\n\t * // Build some context plugins into the Context class first.\n\t * Context.builtinPlugins = [ FooPlugin, BarPlugin ];\n\t *\n\t * // Normally, you need to define config.plugins, but since Context.builtinPlugins was\n\t * // defined, now you can call create() without any configuration.\n\t * Context\n\t * \t.create()\n\t * \t.then( context => {\n\t * \t\tcontext.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\tcontext.plugins.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/context~Context.defaultConfig `Context.defaultConfig`}\n\t * and {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}.\n\t */\n\tpublic static builtinPlugins: Array<PluginConstructor<Context | Editor>>;\n\n\t/**\n\t * Reference to the editor which created the context.\n\t * Null when the context was created outside of the editor.\n\t *\n\t * It is used to destroy the context when removing the editor that has created the context.\n\t */\n\tprivate _contextOwner: Editor | null = null;\n\n\t/**\n\t * Creates a context instance with a given configuration.\n\t *\n\t * Usually not to be used directly. See the static {@link module:core/context~Context.create `create()`} method.\n\t *\n\t * @param config The context configuration.\n\t */\n\tconstructor( config?: ContextConfig ) {\n\t\t// We don't pass translations to the config, because its behavior of splitting keys\n\t\t// with dots (e.g. `resize.width` => `resize: { width }`) breaks the translations.\n\t\tconst { translations, ...rest } = config || {};\n\n\t\tthis.config = new Config<ContextConfig>( rest, ( this.constructor as typeof Context ).defaultConfig );\n\n\t\tconst availablePlugins = ( this.constructor as typeof Context ).builtinPlugins;\n\n\t\tthis.config.define( 'plugins', availablePlugins );\n\n\t\tthis.plugins = new PluginCollection<Context | Editor>( this, availablePlugins );\n\n\t\tconst languageConfig = this.config.get( 'language' ) || {};\n\n\t\tthis.locale = new Locale( {\n\t\t\tuiLanguage: typeof languageConfig === 'string' ? languageConfig : languageConfig.ui,\n\t\t\tcontentLanguage: this.config.get( 'language.content' ),\n\t\t\ttranslations\n\t\t} );\n\n\t\tthis.t = this.locale.t;\n\n\t\tthis.editors = new Collection<Editor>();\n\t}\n\n\t/**\n\t * Loads and initializes plugins specified in the configuration.\n\t *\n\t * @returns A promise which resolves once the initialization is completed, providing an array of loaded plugins.\n\t */\n\tpublic initPlugins(): Promise<LoadedPlugins> {\n\t\tconst plugins = this.config.get( 'plugins' ) || [];\n\t\tconst substitutePlugins = this.config.get( 'substitutePlugins' ) || [];\n\n\t\t// Plugins for substitution should be checked as well.\n\t\tfor ( const Plugin of plugins.concat( substitutePlugins ) ) {\n\t\t\tif ( typeof Plugin != 'function' ) {\n\t\t\t\t/**\n\t\t\t\t * Only a constructor function is allowed as a {@link module:core/contextplugin~ContextPlugin context plugin}.\n\t\t\t\t *\n\t\t\t\t * @error context-initplugins-constructor-only\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'context-initplugins-constructor-only',\n\t\t\t\t\tnull,\n\t\t\t\t\t{ Plugin }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( Plugin.isContextPlugin !== true ) {\n\t\t\t\t/**\n\t\t\t\t * Only a plugin marked as a {@link module:core/contextplugin~ContextPlugin.isContextPlugin context plugin}\n\t\t\t\t * is allowed to be used with a context.\n\t\t\t\t *\n\t\t\t\t * @error context-initplugins-invalid-plugin\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'context-initplugins-invalid-plugin',\n\t\t\t\t\tnull,\n\t\t\t\t\t{ Plugin }\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn this.plugins.init( plugins, [], substitutePlugins );\n\t}\n\n\t/**\n\t * Destroys the context instance and all editors used with the context,\n\t * releasing all resources used by the context.\n\t *\n\t * @returns A promise that resolves once the context instance is fully destroyed.\n\t */\n\tpublic destroy(): Promise<unknown> {\n\t\treturn Promise.all( Array.from( this.editors, editor => editor.destroy() ) )\n\t\t\t.then( () => this.plugins.destroy() );\n\t}\n\n\t/**\n\t * Adds a reference to the editor which is used with this context.\n\t *\n\t * When the given editor has created the context, the reference to this editor will be stored\n\t * as a {@link ~Context#_contextOwner}.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @param isContextOwner Stores the given editor as a context owner.\n\t */\n\tpublic _addEditor( editor: Editor, isContextOwner: boolean ): void {\n\t\tif ( this._contextOwner ) {\n\t\t\t/**\n\t\t\t * Cannot add multiple editors to the context which is created by the editor.\n\t\t\t *\n\t\t\t * @error context-addeditor-private-context\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'context-addeditor-private-context' );\n\t\t}\n\n\t\tthis.editors.add( editor );\n\n\t\tif ( isContextOwner ) {\n\t\t\tthis._contextOwner = editor;\n\t\t}\n\t}\n\n\t/**\n\t * Removes a reference to the editor which was used with this context.\n\t * When the context was created by the given editor, the context will be destroyed.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @return A promise that resolves once the editor is removed from the context or when the context was destroyed.\n\t */\n\tpublic _removeEditor( editor: Editor ): Promise<unknown> {\n\t\tif ( this.editors.has( editor ) ) {\n\t\t\tthis.editors.remove( editor );\n\t\t}\n\n\t\tif ( this._contextOwner === editor ) {\n\t\t\treturn this.destroy();\n\t\t}\n\n\t\treturn Promise.resolve();\n\t}\n\n\t/**\n\t * Returns the context configuration which will be copied to the editors created using this context.\n\t *\n\t * The configuration returned by this method has the plugins configuration removed &ndash; plugins are shared with all editors\n\t * through another mechanism.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @returns Configuration as a plain object.\n\t */\n\tpublic _getEditorConfig(): Partial<EditorConfig> {\n\t\tconst result: Record<string, unknown> = {};\n\n\t\tfor ( const name of this.config.names() ) {\n\t\t\tif ( ![ 'plugins', 'removePlugins', 'extraPlugins' ].includes( name ) ) {\n\t\t\t\tresult[ name ] = this.config.get( name );\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Creates and initializes a new context instance.\n\t *\n\t * ```ts\n\t * const commonConfig = { ... }; // Configuration for all the plugins and editors.\n\t * const editorPlugins = [ ... ]; // Regular plugins here.\n\t *\n\t * Context\n\t * \t.create( {\n\t * \t\t// Only context plugins here.\n\t * \t\tplugins: [ ... ],\n\t *\n\t * \t\t// Configure the language for all the editors (it cannot be overwritten).\n\t * \t\tlanguage: { ... },\n\t *\n\t * \t\t// Configuration for context plugins.\n\t * \t\tcomments: { ... },\n\t * \t\t...\n\t *\n\t * \t\t// Default configuration for editor plugins.\n\t * \t\ttoolbar: { ... },\n\t * \t\timage: { ... },\n\t * \t\t...\n\t * \t} )\n\t * \t.then( context => {\n\t * \t\tconst promises = [];\n\t *\n\t * \t\tpromises.push( ClassicEditor.create(\n\t * \t\t\tdocument.getElementById( 'editor1' ),\n\t * \t\t\t{\n\t * \t\t\t\teditorPlugins,\n\t * \t\t\t\tcontext\n\t * \t\t\t}\n\t * \t\t) );\n\t *\n\t * \t\tpromises.push( ClassicEditor.create(\n\t * \t\t\tdocument.getElementById( 'editor2' ),\n\t * \t\t\t{\n\t * \t\t\t\teditorPlugins,\n\t * \t\t\t\tcontext,\n\t * \t\t\t\ttoolbar: { ... } // You can overwrite the configuration of the context.\n\t * \t\t\t}\n\t * \t\t) );\n\t *\n\t * \t\treturn Promise.all( promises );\n\t * \t} );\n\t * ```\n\t *\n\t * @param config The context configuration.\n\t * @returns A promise resolved once the context is ready. The promise resolves with the created context instance.\n\t */\n\tpublic static create( config?: ContextConfig ): Promise<Context> {\n\t\treturn new Promise( resolve => {\n\t\t\tconst context = new this( config );\n\n\t\t\tresolve( context.initPlugins().then( () => context ) );\n\t\t} );\n\t}\n}\n\n/**\n * The context configuration.\n */\nexport type ContextConfig = {\n\tplugins?: Array<PluginConstructor<Context | Editor>>;\n\tsubstitutePlugins?: Array<PluginConstructor<Context | Editor>>;\n} & Omit<EditorConfig, 'plugins' | 'substitutePlugins' | 'removePlugins' | 'extraPlugins'>;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/contextplugin\n */\n\nimport {\n\tObservableMixin,\n\ttype Collection,\n\ttype Config,\n\ttype Locale,\n\ttype LocaleTranslate\n} from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from './editor/editor.js';\nimport type { EditorConfig } from './editor/editorconfig.js';\nimport { type Context } from './context.js';\nimport type { PluginDependencies, PluginInterface } from './plugin.js';\nimport { type PluginCollection } from './plugincollection.js';\n\n/**\n * The base class for {@link module:core/context~Context} plugin classes.\n *\n * A context plugin can either be initialized for an {@link module:core/editor/editor~Editor editor} or for\n * a {@link module:core/context~Context context}. In other words, it can either\n * work within one editor instance or with one or more editor instances that use a single context.\n * It is the context plugin's role to implement handling for both modes.\n *\n * There are a few rules for interaction between the editor plugins and context plugins:\n *\n * * A context plugin can require another context plugin.\n * * An {@link module:core/plugin~Plugin editor plugin} can require a context plugin.\n * * A context plugin MUST NOT require an {@link module:core/plugin~Plugin editor plugin}.\n */\nexport class ContextPlugin extends /* #__PURE__ */ ObservableMixin() implements PluginInterface {\n\t/**\n\t * The context or editor instance.\n\t */\n\tpublic readonly context: ContextInterface;\n\n\t/**\n\t * Creates a new plugin instance.\n\t */\n\tconstructor( context: Context | Editor ) {\n\t\tsuper();\n\n\t\tthis.context = context as ContextInterface;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic destroy(): void {\n\t\tthis.stopListening();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get isContextPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get isOfficialPlugin(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get isPremiumPlugin(): boolean {\n\t\treturn false;\n\t}\n}\n\n/**\n * The common interface of {@link module:core/context~Context} and {@link module:core/editor/editor~Editor}.\n */\nexport interface ContextInterface {\n\tconfig: Config<Omit<EditorConfig, 'plugins' | 'substitutePlugins' | 'removePlugins' | 'extraPlugins'>>;\n\tplugins: PluginCollection<Context | Editor>;\n\tlocale: Locale;\n\tt: LocaleTranslate;\n\teditors?: Collection<Editor>;\n}\n\nexport type ContextPluginDependencies = PluginDependencies<Context | Editor>;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editingkeystrokehandler\n */\n\nimport { KeystrokeHandler, type PriorityString } from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from './editor/editor.js';\n\n/**\n * A keystroke handler for editor editing. Its instance is available\n * in {@link module:core/editor/editor~Editor#keystrokes} so plugins\n * can register their keystrokes.\n *\n * E.g. an undo plugin would do this:\n *\n * ```ts\n * editor.keystrokes.set( 'Ctrl+Z', 'undo' );\n * editor.keystrokes.set( 'Ctrl+Shift+Z', 'redo' );\n * editor.keystrokes.set( 'Ctrl+Y', 'redo' );\n * ```\n */\nexport class EditingKeystrokeHandler extends KeystrokeHandler {\n\t/**\n\t * The editor instance.\n\t */\n\tpublic readonly editor: Editor;\n\n\t/**\n\t * Creates an instance of the keystroke handler.\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper();\n\t\tthis.editor = editor;\n\t}\n\n\t/**\n\t * Registers a handler for the specified keystroke.\n\t *\n\t * The handler can be specified as a command name or a callback.\n\t *\n\t * @param keystroke Keystroke defined in a format accepted by\n\t * the {@link module:utils/keyboard~parseKeystroke} function.\n\t * @param callback If a string is passed, then the keystroke will\n\t * {@link module:core/editor/editor~Editor#execute execute a command}.\n\t * If a function, then it will be called with the\n\t * {@link module:engine/view/observer/keyobserver~ViewDocumentKeyEventData key event data} object and\n\t * a `cancel()` helper to both `preventDefault()` and `stopPropagation()` of the event.\n\t * @param options Additional options.\n\t * @param options.priority The priority of the keystroke callback. The higher the priority value\n\t * the sooner the callback will be executed. Keystrokes having the same priority\n\t * are called in the order they were added.\n\t */\n\tpublic override set(\n\t\tkeystroke: string | Array<string | number>,\n\t\tcallback: EditingKeystrokeCallback,\n\t\toptions: { readonly priority?: PriorityString } = {}\n\t): void {\n\t\tif ( typeof callback == 'string' ) {\n\t\t\tconst commandName = callback;\n\n\t\t\tcallback = ( evtData, cancel ) => {\n\t\t\t\tthis.editor.execute( commandName );\n\t\t\t\tcancel();\n\t\t\t};\n\t\t}\n\n\t\tsuper.set( keystroke, callback, options );\n\t}\n}\n\n/**\n * Command name or a callback to be executed when a given keystroke is pressed.\n */\nexport type EditingKeystrokeCallback = string | ( ( ev: KeyboardEvent, cancel: () => void ) => void );\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/accessibility\n */\n\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils';\nimport { type Editor } from './editor/editor.js';\n\nconst DEFAULT_CATEGORY_ID = 'contentEditing' as const;\n\n/**\n * @internal\n */\nexport const DEFAULT_GROUP_ID = 'common' as const;\n\n/**\n * A common namespace for various accessibility features of the editor.\n *\n * **Information about editor keystrokes**\n *\n * * The information about keystrokes available in the editor is stored in the {@link #keystrokeInfos} property.\n * * New info entries can be added using the {@link #addKeystrokeInfoCategory}, {@link #addKeystrokeInfoGroup},\n * and {@link #addKeystrokeInfos} methods.\n */\nexport class Accessibility {\n\t/**\n\t * Stores information about keystrokes brought by editor features for the users to interact with the editor, mainly\n\t * keystroke combinations and their accessible labels.\n\t *\n\t * This information is particularly useful for screen reader and other assistive technology users. It gets displayed\n\t * by the {@link module:ui/editorui/accessibilityhelp/accessibilityhelp~AccessibilityHelp Accessibility help} dialog.\n\t *\n\t * Keystrokes are organized in categories and groups. They can be added using ({@link #addKeystrokeInfoCategory},\n\t * {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfos}) methods.\n\t *\n\t * Please note that:\n\t * * two categories are always available:\n\t * * `'contentEditing'` for keystrokes related to content creation,\n\t * * `'navigation'` for keystrokes related to navigation in the UI and the content.\n\t * * unless specified otherwise, new keystrokes are added into the `'contentEditing'` category and the `'common'`\n\t * keystroke group within that category while using the {@link #addKeystrokeInfos} method.\n\t */\n\tpublic readonly keystrokeInfos: KeystrokeInfoDefinitions = new Map();\n\n\t/**\n\t * The editor instance.\n\t */\n\tprivate readonly _editor: Editor;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tthis._editor = editor;\n\t\tconst isMenuBarVisible = editor.config.get( 'menuBar.isVisible' );\n\n\t\tconst t = editor.locale.t;\n\n\t\tthis.addKeystrokeInfoCategory( {\n\t\t\tid: DEFAULT_CATEGORY_ID,\n\t\t\tlabel: t( 'Content editing keystrokes' ),\n\t\t\tdescription: t( 'These keyboard shortcuts allow for quick access to content editing features.' )\n\t\t} );\n\n\t\tconst navigationKeystrokes = [\n\t\t\t{\n\t\t\t\tlabel: t( 'Close contextual balloons, dropdowns, and dialogs' ),\n\t\t\t\tkeystroke: 'Esc'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t( 'Open the accessibility help dialog' ),\n\t\t\t\tkeystroke: 'Alt+0'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t( 'Move focus between form fields (inputs, buttons, etc.)' ),\n\t\t\t\tkeystroke: [ [ 'Tab' ], [ 'Shift+Tab' ] ]\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t( 'Move focus to the toolbar, navigate between toolbars' ),\n\t\t\t\tkeystroke: 'Alt+F10',\n\t\t\t\tmayRequireFn: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t( 'Navigate through the toolbar or menu bar' ),\n\t\t\t\tkeystroke: [ [ 'arrowup' ], [ 'arrowright' ], [ 'arrowdown' ], [ 'arrowleft' ] ]\n\t\t\t},\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line @stylistic/max-len\n\t\t\t\tlabel: t( 'Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.' ),\n\t\t\t\tkeystroke: [ [ 'Enter' ], [ 'Space' ] ]\n\t\t\t}\n\t\t];\n\n\t\tif ( isMenuBarVisible ) {\n\t\t\tnavigationKeystrokes.push(\n\t\t\t\t{\n\t\t\t\t\tlabel: t( 'Move focus to the menu bar, navigate between menu bars' ),\n\t\t\t\t\tkeystroke: 'Alt+F9',\n\t\t\t\t\tmayRequireFn: true\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tthis.addKeystrokeInfoCategory( {\n\t\t\tid: 'navigation',\n\t\t\tlabel: t( 'User interface and content navigation keystrokes' ),\n\t\t\tdescription: t( 'Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.' ),\n\t\t\tgroups: [\n\t\t\t\t{\n\t\t\t\t\tid: 'common',\n\t\t\t\t\tkeystrokes: navigationKeystrokes\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\t}\n\n\t/**\n\t * Adds a top-level category in the {@link #keystrokeInfos keystroke information database} with a label and optional description.\n\t *\n\t * Categories organize keystrokes and help users to find the right keystroke. Each category can have multiple groups\n\t * of keystrokes that narrow down the context in which the keystrokes are available. Every keystroke category comes\n\t * with a `'common'` group by default.\n\t *\n\t * By default, two categories are available:\n\t * * `'contentEditing'` for keystrokes related to content creation,\n\t * * `'navigation'` for keystrokes related to navigation in the UI and the content.\n\t *\n\t * To create a new keystroke category with new groups, use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfoCategory( {\n\t * \t\t\tid: 'myCategory',\n\t * \t\t\tlabel: t( 'My category' ),\n\t * \t\t\tdescription: t( 'My category description.' ),\n\t * \t\t\tgroups: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tid: 'myGroup',\n\t * \t\t\t\t\tlabel: t( 'My keystroke group' ),\n\t * \t\t\t\t\tkeystrokes: [\n\t * \t\t\t\t\t\t{\n\t * \t\t\t\t\t\t\tlabel: t( 'Keystroke label 1' ),\n\t * \t\t\t\t\t\t\tkeystroke: 'Ctrl+Shift+N'\n\t * \t\t\t\t\t\t},\n\t * \t\t\t\t\t\t{\n\t * \t\t\t\t\t\t\tlabel: t( 'Keystroke label 2' ),\n\t * \t\t\t\t\t\t\tkeystroke: 'Ctrl+Shift+M'\n\t * \t\t\t\t\t\t}\n\t * \t\t\t\t\t]\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t};\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfos}.\n\t */\n\tpublic addKeystrokeInfoCategory( { id, label, description, groups }: AddKeystrokeInfoCategoryData ): void {\n\t\tthis.keystrokeInfos.set( id, {\n\t\t\tid,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tgroups: new Map()\n\t\t} );\n\n\t\tthis.addKeystrokeInfoGroup( {\n\t\t\tcategoryId: id,\n\t\t\tid: DEFAULT_GROUP_ID\n\t\t} );\n\n\t\tif ( groups ) {\n\t\t\tgroups.forEach( group => {\n\t\t\t\tthis.addKeystrokeInfoGroup( {\n\t\t\t\t\tcategoryId: id,\n\t\t\t\t\t...group\n\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Adds a group of keystrokes in a specific category to the {@link #keystrokeInfos keystroke information database}.\n\t *\n\t * Groups narrow down the context in which the keystrokes are available. When `categoryId` is not specified,\n\t * the group goes to the `'contentEditing'` category (default).\n\t *\n\t * To create a new group within an existing category, use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfoGroup( {\n\t * \t\t\tid: 'myGroup',\n\t * \t\t\tcategoryId: 'navigation',\n\t * \t\t\tlabel: t( 'My keystroke group' ),\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label 1' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+Shift+N'\n\t * \t\t\t\t},\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label 2' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+Shift+M'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoCategory}, and {@link #addKeystrokeInfos}.\n\t */\n\tpublic addKeystrokeInfoGroup( {\n\t\tcategoryId = DEFAULT_CATEGORY_ID,\n\t\tid,\n\t\tlabel,\n\t\tkeystrokes\n\t}: AddKeystrokeInfoGroupData ): void {\n\t\tconst category = this.keystrokeInfos.get( categoryId );\n\n\t\tif ( !category ) {\n\t\t\tthrow new CKEditorError( 'accessibility-unknown-keystroke-info-category', this._editor, { groupId: id, categoryId } );\n\t\t}\n\n\t\tcategory.groups.set( id, {\n\t\t\tid,\n\t\t\tlabel,\n\t\t\tkeystrokes: keystrokes || []\n\t\t} );\n\t}\n\n\t/**\n\t * Adds information about keystrokes to the {@link #keystrokeInfos keystroke information database}.\n\t *\n\t * Keystrokes without specified `groupId` or `categoryId` go to the `'common'` group in the `'contentEditing'` category (default).\n\t *\n\t * To add a keystroke brought by your plugin (using default group and category), use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label' ),\n\t * \t\t\t\t\tkeystroke: 'CTRL+B'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t * To add a keystroke in a specific existing `'widget'` group in the default `'contentEditing'` category:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\t// Add a keystroke to the existing \"widget\" group.\n\t * \t\t\tgroupId: 'widget',\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'A an action on a selected widget' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+D',\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * To add a keystroke to another existing category (using default group):\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\t// Add keystrokes to the \"navigation\" category (one of defaults).\n\t * \t\t\tcategoryId: 'navigation',\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label' ),\n\t * \t\t\t\t\tkeystroke: 'CTRL+B'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfoCategory}.\n\t */\n\tpublic addKeystrokeInfos( {\n\t\tcategoryId = DEFAULT_CATEGORY_ID,\n\t\tgroupId = DEFAULT_GROUP_ID,\n\t\tkeystrokes\n\t}: AddKeystrokeInfosData ): void {\n\t\tif ( !this.keystrokeInfos.has( categoryId ) ) {\n\t\t\t/**\n\t\t\t * Cannot add keystrokes in an unknown category. Use\n\t\t\t * {@link module:core/accessibility~Accessibility#addKeystrokeInfoCategory}\n\t\t\t * to add a new category or make sure the specified category exists.\n\t\t\t *\n\t\t\t * @error accessibility-unknown-keystroke-info-category\n\t\t\t * @param {string} categoryId The id of the unknown keystroke category.\n\t\t\t * @param {module:core/accessibility~AddKeystrokeInfosData#keystrokes} keystrokes Keystroke definitions about to be added.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'accessibility-unknown-keystroke-info-category', this._editor, { categoryId, keystrokes } );\n\t\t}\n\n\t\tconst category = this.keystrokeInfos.get( categoryId )!;\n\n\t\tif ( !category.groups.has( groupId ) ) {\n\t\t\t/**\n\t\t\t * Cannot add keystrokes to an unknown group.\n\t\t\t *\n\t\t\t * Use {@link module:core/accessibility~Accessibility#addKeystrokeInfoGroup}\n\t\t\t * to add a new group or make sure the specified group exists.\n\t\t\t *\n\t\t\t * @error accessibility-unknown-keystroke-info-group\n\t\t\t * @param {string} groupId The id of the unknown keystroke group.\n\t\t\t * @param {string} categoryId The id of category the unknown group should belong to.\n\t\t\t * @param {module:core/accessibility~AddKeystrokeInfosData#keystrokes} keystrokes Keystroke definitions about to be added.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'accessibility-unknown-keystroke-info-group', this._editor, { groupId, categoryId, keystrokes } );\n\t\t}\n\n\t\tcategory.groups.get( groupId )!.keystrokes.push( ...keystrokes );\n\t}\n}\n\n/**\n * A description of category of keystrokes accepted by the {@link module:core/accessibility~Accessibility#addKeystrokeInfoCategory} method.\n *\n * Top-level categories organize keystrokes and help users to find the right keystroke. Each category can have multiple groups of\n * keystrokes that narrow down the context in which the keystrokes are available.\n *\n * See {@link module:core/accessibility~Accessibility#addKeystrokeInfoGroup} and\n * {@link module:core/accessibility~Accessibility#addKeystrokeInfos}.\n */\nexport interface AddKeystrokeInfoCategoryData {\n\n\t/**\n\t * The unique id of the category.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the category.\n\t */\n\tlabel: string;\n\n\t/**\n\t * The description of the category (optional).\n\t */\n\tdescription?: string;\n\n\t/**\n\t * Groups of keystrokes within the category.\n\t */\n\tgroups?: Array<AddKeystrokeInfoGroupData>;\n}\n\n/**\n * A description of keystroke group accepted by the {@link module:core/accessibility~Accessibility#addKeystrokeInfoGroup} method.\n *\n * Groups narrow down the context in which the keystrokes are available. When `categoryId` is not specified, the group goes\n * to the `'contentEditing'` category (default).\n *\n * See {@link module:core/accessibility~Accessibility#addKeystrokeInfoCategory} and\n * {@link module:core/accessibility~Accessibility#addKeystrokeInfos}.\n */\nexport interface AddKeystrokeInfoGroupData {\n\n\t/**\n\t * The category id the group belongs to.\n\t */\n\tcategoryId?: string;\n\n\t/**\n\t * The unique id of the group.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the group (optional).\n\t */\n\tlabel?: string;\n\n\t/**\n\t * Keystroke definitions within the group.\n\t */\n\tkeystrokes?: Array<KeystrokeInfoDefinition>;\n}\n\n/**\n * Description of keystrokes accepted by the {@link module:core/accessibility~Accessibility#addKeystrokeInfos} method.\n *\n * Keystrokes without specified `groupId` or `categoryId` go to the `'common'` group in the `'contentEditing'` category (default).\n *\n * See {@link module:core/accessibility~Accessibility#addKeystrokeInfoCategory} and\n * {@link module:core/accessibility~Accessibility#addKeystrokeInfoGroup}.\n */\nexport interface AddKeystrokeInfosData {\n\n\t/**\n\t * The category id the keystrokes belong to.\n\t */\n\tcategoryId?: string;\n\n\t/**\n\t * The group id the keystrokes belong to.\n\t */\n\tgroupId?: string;\n\n\t/**\n\t * An array of keystroke definitions.\n\t */\n\tkeystrokes: Array<KeystrokeInfoDefinition>;\n}\n\nexport type KeystrokeInfoDefinitions = Map<string, KeystrokeInfoCategoryDefinition>;\n\n/**\n * A category of keystrokes in {@link module:core/accessibility~Accessibility#keystrokeInfos}.\n */\nexport type KeystrokeInfoCategoryDefinition = {\n\n\t/**\n\t * The unique id of the category.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the category.\n\t */\n\tlabel: string;\n\n\t/**\n\t * The description of the category (optional).\n\t */\n\tdescription?: string;\n\n\t/**\n\t * Groups of keystrokes within the category.\n\t */\n\tgroups: Map<string, KeystrokeInfoGroupDefinition>;\n};\n\n/**\n * A group of keystrokes in {@link module:core/accessibility~Accessibility#keystrokeInfos}.\n */\nexport type KeystrokeInfoGroupDefinition = {\n\n\t/**\n\t * The unique id of the group.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the group (optional).\n\t */\n\tlabel?: string;\n\n\t/**\n\t * Keystroke definitions within the group.\n\t */\n\tkeystrokes: Array<KeystrokeInfoDefinition>;\n};\n\n/**\n * A keystroke info definition in {@link module:core/accessibility~Accessibility#keystrokeInfos}\n */\nexport interface KeystrokeInfoDefinition {\n\n\t/**\n\t * The label of the keystroke. It should briefly describe the action that the keystroke performs. It may contain HTML.\n\t */\n\tlabel: string;\n\n\t/**\n\t * The keystroke string. In its basic form, it must be a combination of {@link module:utils/keyboard#keyCodes known key names}\n\t * joined by the `+` sign, the same as the keystroke format accepted by the\n\t * {@link module:utils/keystrokehandler~KeystrokeHandler#set `KeystrokeHandler#set()`} method used to register most of the\n\t * keystroke interactions in the editor.\n\t *\n\t * * The keystroke string can represent a single keystroke, for instance: `keystroke: 'Ctrl+B'`, `keystroke: 'Shift+Enter'`,\n\t * `keystroke: 'Alt+F10'`, etc.\n\t * * The keystroke can be activated by successive press of multiple keys. For instance `keystroke: [ [ 'arrowleft', 'arrowleft' ] ]`\n\t * will indicate that a specific action will be performed by pressing <kbd>←</kbd> twice in a row.\n\t * * Keystrokes can have alternatives. For instance `keystroke: [ [ 'Ctrl+Y' ], [ 'Ctrl+Shift+Z' ] ]` will indicate that\n\t * a specific action can be performed by pressing either <kbd>Ctrl</kbd> + <kbd>Y</kbd> or\n\t * <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Z</kbd>.\n\t *\n\t * Please note that the keystrokes are automatically translated to the environment-specific form. For example, `Ctrl+A`\n\t * will be rendered as `⌘A` in the {@link module:utils/env~EnvType#isMac Mac environment}. Always use the IBM PC keyboard\n\t * syntax, for instance `Ctrl` instead of `⌘`, `Alt` instead of `⌥`, etc.\n\t */\n\tkeystroke: string | Array<string> | Array<Array<string>>;\n\n\t/**\n\t * This (optional) flag suggests that the keystroke(s) may require a function (<kbd>Fn</kbd>) key to be pressed\n\t * in order to work in the {@link module:utils/env~EnvType#isMac Mac environment}. If set `true`, an additional\n\t * information will be displayed next to the keystroke.\n\t */\n\tmayRequireFn?: boolean;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editor/utils/editorusagedata\n */\n\nimport { env, global, uid } from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from '../editor.js';\nimport type { ToolbarConfig, ToolbarConfigItem } from '../editorconfig.js';\nimport { type PluginCollection } from '../../plugincollection.js';\n\n/**\n * This part of the code is not executed in open-source implementations using a GPL key.\n * It only runs when a specific license key is provided. If you are uncertain whether\n * this applies to your installation, please contact our support team.\n *\n * @internal\n */\nexport function getEditorUsageData( editor: Editor ): EditorUsageData {\n\treturn {\n\t\tsessionId: getSessionId(),\n\t\tpageSessionId: getPageSessionID(),\n\t\thostname: window.location.hostname,\n\t\tversion: globalThis.CKEDITOR_VERSION,\n\t\ttype: getEditorType( editor ),\n\t\tplugins: getPluginsUsageData( editor.plugins ),\n\t\tdistribution: getDistributionUsageData(),\n\t\tenv: getEnvUsageData(),\n\t\tintegration: Object.create( null ),\n\t\tmenuBar: {\n\t\t\tisVisible: !!editor.config.get( 'menuBar.isVisible' )\n\t\t},\n\t\tlanguage: {\n\t\t\tui: editor.locale.uiLanguage,\n\t\t\tcontent: editor.locale.contentLanguage\n\t\t},\n\t\ttoolbar: {\n\t\t\tmain: getToolbarUsageData( editor.config.get( 'toolbar' ) ),\n\t\t\tblock: getToolbarUsageData( editor.config.get( 'blockToolbar' ) ),\n\t\t\tballoon: getToolbarUsageData( editor.config.get( 'balloonToolbar' ) )\n\t\t}\n\t};\n}\n\nfunction getEditorType( editor: Editor ): `${ string }Editor` {\n\treturn Object.getPrototypeOf( editor ).constructor.editorName!;\n}\n\nfunction getPluginsUsageData( collection: PluginCollection<Editor> ): Array<PluginUsageData> {\n\treturn Array\n\t\t.from( collection )\n\t\t.filter( ( [ PluginConstructor ] ) => !!PluginConstructor.pluginName )\n\t\t.map( ( [ PluginConstructor ] ): PluginUsageData => {\n\t\t\tconst {\n\t\t\t\tpluginName,\n\t\t\t\tisContextPlugin,\n\t\t\t\tisOfficialPlugin,\n\t\t\t\tisPremiumPlugin\n\t\t\t} = PluginConstructor;\n\n\t\t\treturn {\n\t\t\t\tisContext: !!isContextPlugin,\n\t\t\t\tisOfficial: !!isOfficialPlugin,\n\t\t\t\tisPremium: !!isPremiumPlugin,\n\t\t\t\tname: pluginName!\n\t\t\t};\n\t\t} );\n}\n\nfunction getToolbarUsageData( toolbarConfig: ToolbarConfig | undefined ): ToolbarUsageData | undefined {\n\tif ( !toolbarConfig ) {\n\t\treturn undefined;\n\t}\n\n\tconst normalizedToolbar: Exclude<ToolbarConfig, Array<unknown>> =\n\t\tArray.isArray( toolbarConfig ) ?\n\t\t\t{ items: toolbarConfig } :\n\t\t\ttoolbarConfig;\n\n\tconst flattenToolbarConfigNames = extractToolbarConfigItemsNames( normalizedToolbar.items || [] );\n\tconst isMultiline = flattenToolbarConfigNames.includes( '-' );\n\n\treturn {\n\t\tisMultiline,\n\t\tshouldNotGroupWhenFull: !!normalizedToolbar.shouldNotGroupWhenFull,\n\t\titems: stripToolbarSeparatorItems( flattenToolbarConfigNames )\n\t};\n\n\tfunction stripToolbarSeparatorItems( items: Array<string> ): Array<string> {\n\t\treturn items.filter( ( item: string ) => item !== '|' && item !== '-' );\n\t}\n\n\tfunction extractToolbarConfigItemsNames( items: Array<ToolbarConfigItem> ): Array<string> {\n\t\treturn items.flatMap( item => {\n\t\t\tif ( typeof item === 'string' ) {\n\t\t\t\treturn [ item ];\n\t\t\t}\n\n\t\t\treturn extractToolbarConfigItemsNames( item.items );\n\t\t} );\n\t}\n}\n\nfunction getDistributionUsageData(): DistributionUsageData {\n\treturn {\n\t\tchannel: ( window[ Symbol.for( 'cke distribution' ) as any ] || 'sh' ) as unknown as string\n\t};\n}\n\nfunction getEnvUsageData(): EnvUsageData {\n\tlet os: EnvUsageData[ 'os' ] = 'unknown';\n\tlet browser: EnvUsageData[ 'browser' ] = 'unknown';\n\n\tif ( env.isMac ) {\n\t\tos = 'mac';\n\t} else if ( env.isWindows ) {\n\t\tos = 'windows';\n\t} else if ( env.isiOS ) {\n\t\tos = 'ios';\n\t} else if ( env.isAndroid ) {\n\t\tos = 'android';\n\t}\n\n\tif ( env.isGecko ) {\n\t\tbrowser = 'gecko';\n\t} else if ( env.isBlink ) {\n\t\tbrowser = 'blink';\n\t} else if ( env.isSafari ) {\n\t\tbrowser = 'safari';\n\t}\n\n\treturn {\n\t\tos,\n\t\tbrowser\n\t};\n}\n\nfunction getSessionId(): string {\n\tif ( !localStorage.getItem( '__ckeditor-session-id' ) ) {\n\t\tlocalStorage.setItem( '__ckeditor-session-id', uid() );\n\t}\n\n\treturn localStorage.getItem( '__ckeditor-session-id' )!;\n}\n\nfunction getPageSessionID() {\n\tglobal.window.CKEDITOR_PAGE_SESSION_ID = global.window.CKEDITOR_PAGE_SESSION_ID || uid();\n\n\treturn global.window.CKEDITOR_PAGE_SESSION_ID;\n}\n\ndeclare global {\n\tinterface Window {\n\t\tCKEDITOR_PAGE_SESSION_ID?: string;\n\t}\n}\n\n/**\n * @internal\n */\nexport type EditorUsageData = {\n\tsessionId: string;\n\tpageSessionId: string;\n\thostname: string;\n\tversion: string;\n\ttype: `${ string }Editor`;\n\tplugins: Array<PluginUsageData>;\n\ttoolbar: {\n\t\tmain?: ToolbarUsageData;\n\t\tblock?: ToolbarUsageData;\n\t\tballoon?: ToolbarUsageData;\n\t};\n\tmenuBar: {\n\t\tisVisible: boolean;\n\t};\n\tlanguage: {\n\t\tui: string;\n\t\tcontent: string;\n\t};\n\tdistribution: {\n\t\tchannel: string;\n\t};\n\tenv: EnvUsageData;\n\tintegration: {\n\t\t[integrationName: string]: IntegrationUsageData;\n\t};\n};\n\ntype IntegrationUsageData = {\n\tversion: string;\n\tframeworkVersion?: string;\n};\n\ntype DistributionUsageData = {\n\tchannel: string;\n};\n\ntype EnvUsageData = {\n\tos: 'mac' | 'windows' | 'ios' | 'android' | 'unknown';\n\tbrowser: 'safari' | 'gecko' | 'blink' | 'unknown';\n};\n\ntype ToolbarUsageData = {\n\titems: Array<string>;\n\tisMultiline: boolean;\n\tshouldNotGroupWhenFull: boolean;\n};\n\ntype PluginUsageData = {\n\tname: string;\n\tisPremium: boolean;\n\tisOfficial: boolean;\n\tisContext: boolean;\n};\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editor/editor\n */\n\nimport { set, get } from 'es-toolkit/compat';\n\nimport {\n\tConfig,\n\tCKEditorError,\n\tObservableMixin,\n\tlogError,\n\treleaseDate,\n\ttoArray,\n\tuid,\n\tcrc32,\n\tdecodeLicenseKey,\n\tisFeatureBlockedByLicenseKey,\n\ttype Locale,\n\ttype LocaleTranslate,\n\ttype ObservableChangeEvent,\n\ttype CRCData\n} from '@ckeditor/ckeditor5-utils';\n\nimport {\n\tConversion,\n\tDataController,\n\tEditingController,\n\tModel,\n\tStylesProcessor\n} from '@ckeditor/ckeditor5-engine';\n\nimport type { EditorUI } from '@ckeditor/ckeditor5-ui';\nimport { ContextWatchdog, EditorWatchdog } from '@ckeditor/ckeditor5-watchdog';\n\nimport { Context } from '../context.js';\nimport { PluginCollection } from '../plugincollection.js';\nimport { CommandCollection, type CommandsMap } from '../commandcollection.js';\nimport { EditingKeystrokeHandler } from '../editingkeystrokehandler.js';\nimport { Accessibility } from '../accessibility.js';\nimport { getEditorUsageData, type EditorUsageData } from './utils/editorusagedata.js';\n\nimport type { LoadedPlugins, PluginConstructor } from '../plugin.js';\nimport type { EditorConfig } from './editorconfig.js';\n\nimport '../../theme/core.css';\n\ndeclare global {\n\tvar CKEDITOR_GLOBAL_LICENSE_KEY: string | undefined;\n\tvar CKEDITOR_WARNING_SUPPRESSIONS: Record<string, boolean>;\n}\n\n/**\n * The class representing a basic, generic editor.\n *\n * Check out the list of its subclasses to learn about specific editor implementations.\n *\n * All editor implementations (like {@link module:editor-classic/classiceditor~ClassicEditor} or\n * {@link module:editor-inline/inlineeditor~InlineEditor}) should extend this class. They can add their\n * own methods and properties.\n *\n * When you are implementing a plugin, this editor represents the API\n * which your plugin can expect to get when using its {@link module:core/plugin~Plugin#editor} property.\n *\n * This API should be sufficient in order to implement the \"editing\" part of your feature\n * (schema definition, conversion, commands, keystrokes, etc.).\n * It does not define the editor UI, which is available only if\n * the specific editor implements also the {@link ~Editor#ui} property\n * (as most editor implementations do).\n */\nexport abstract class Editor extends /* #__PURE__ */ ObservableMixin() {\n\t/**\n\t * A required name of the editor class. The name should reflect the constructor name.\n\t */\n\tpublic static get editorName(): `${ string }Editor` {\n\t\treturn 'Editor';\n\t}\n\n\t/**\n\t * A namespace for the accessibility features of the editor.\n\t */\n\tpublic readonly accessibility: Accessibility;\n\n\t/**\n\t * Commands registered to the editor.\n\t *\n\t * Use the shorthand {@link #execute `editor.execute()`} method to execute commands:\n\t *\n\t * ```ts\n\t * // Execute the bold command:\n\t * editor.execute( 'bold' );\n\t *\n\t * // Check the state of the bold command:\n\t * editor.commands.get( 'bold' ).value;\n\t * ```\n\t */\n\tpublic readonly commands: CommandCollection;\n\n\t/**\n\t * Stores all configurations specific to this editor instance.\n\t *\n\t * ```ts\n\t * editor.config.get( 'image.toolbar' );\n\t * // -> [ 'imageStyle:block', 'imageStyle:side', '|', 'toggleImageCaption', 'imageTextAlternative' ]\n\t * ```\n\t */\n\tpublic readonly config: Config<EditorConfig>;\n\n\t/**\n\t * Conversion manager through which you can register model-to-view and view-to-model converters.\n\t *\n\t * See the {@link module:engine/conversion/conversion~Conversion} documentation to learn how to add converters.\n\t */\n\tpublic readonly conversion: Conversion;\n\n\t/**\n\t * The {@link module:engine/controller/datacontroller~DataController data controller}.\n\t * Used e.g. for setting and retrieving the editor data.\n\t */\n\tpublic readonly data: DataController;\n\n\t/**\n\t * The {@link module:engine/controller/editingcontroller~EditingController editing controller}.\n\t * Controls user input and rendering the content for editing.\n\t */\n\tpublic readonly editing: EditingController;\n\n\t/**\n\t * The locale instance.\n\t */\n\tpublic readonly locale: Locale;\n\n\t/**\n\t * The editor's model.\n\t *\n\t * The central point of the editor's abstract data model.\n\t */\n\tpublic readonly model: Model;\n\n\t/**\n\t * The plugins loaded and in use by this editor instance.\n\t *\n\t * ```ts\n\t * editor.plugins.get( 'ClipboardPipeline' ); // -> An instance of the clipboard pipeline plugin.\n\t * ```\n\t */\n\tpublic readonly plugins: PluginCollection<Editor>;\n\n\t/**\n\t * An instance of the {@link module:core/editingkeystrokehandler~EditingKeystrokeHandler}.\n\t *\n\t * It allows setting simple keystrokes:\n\t *\n\t * ```ts\n\t * // Execute the bold command on Ctrl+E:\n\t * editor.keystrokes.set( 'Ctrl+E', 'bold' );\n\t *\n\t * // Execute your own callback:\n\t * editor.keystrokes.set( 'Ctrl+E', ( data, cancel ) => {\n\t * \tconsole.log( data.keyCode );\n\t *\n\t * \t// Prevent the default (native) action and stop the underlying keydown event\n\t * \t// so no other editor feature will interfere.\n\t * \tcancel();\n\t * } );\n\t * ```\n\t *\n\t * Note: Certain typing-oriented keystrokes (like <kbd>Backspace</kbd> or <kbd>Enter</kbd>) are handled\n\t * by a low-level mechanism and trying to listen to them via the keystroke handler will not work reliably.\n\t * To handle these specific keystrokes, see the events fired by the\n\t * {@link module:engine/view/document~ViewDocument editing view document} (`editor.editing.view.document`).\n\t */\n\tpublic readonly keystrokes: EditingKeystrokeHandler;\n\n\t/**\n\t * Shorthand for {@link module:utils/locale~Locale#t}.\n\t *\n\t * @see module:utils/locale~Locale#t\n\t */\n\tpublic readonly t: LocaleTranslate;\n\n\tpublic declare readonly id: string;\n\n\t/**\n\t * Indicates the editor life-cycle state.\n\t *\n\t * The editor is in one of the following states:\n\t *\n\t * * `initializing` &ndash; During the editor initialization (before\n\t * {@link module:core/editor/editor~Editor.create `Editor.create()`}) finished its job.\n\t * * `ready` &ndash; After the promise returned by the {@link module:core/editor/editor~Editor.create `Editor.create()`}\n\t * method is resolved.\n\t * * `destroyed` &ndash; Once the {@link #destroy `editor.destroy()`} method was called.\n\t *\n\t * @observable\n\t */\n\tpublic declare state: 'initializing' | 'ready' | 'destroyed';\n\n\t/**\n\t * The default configuration which is built into the editor class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds to provide the default configuration options\n\t * which are later used during the editor initialization.\n\t *\n\t * ```ts\n\t * ClassicEditor.defaultConfig = {\n\t * \tfoo: 1,\n\t * \tbar: 2\n\t * };\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement )\n\t * \t.then( editor => {\n\t * \t\teditor.config.get( 'foo' ); // -> 1\n\t * \t\teditor.config.get( 'bar' ); // -> 2\n\t * \t} );\n\t *\n\t * // The default options can be overridden by the configuration passed to create().\n\t * ClassicEditor\n\t * \t.create( sourceElement, { bar: 3 } )\n\t * \t.then( editor => {\n\t * \t\teditor.config.get( 'foo' ); // -> 1\n\t * \t\teditor.config.get( 'bar' ); // -> 3\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/editor/editor~Editor.builtinPlugins}.\n\t */\n\tpublic static defaultConfig?: EditorConfig;\n\n\t/**\n\t * An array of plugins built into this editor class.\n\t *\n\t * It is used in the now deprecated CKEditor 5 builds to provide a list of plugins which are later automatically initialized\n\t * during the editor initialization.\n\t *\n\t * They will be automatically initialized by the editor, unless listed in `config.removePlugins` and\n\t * unless `config.plugins` is passed.\n\t *\n\t * ```ts\n\t * // Build some plugins into the editor class first.\n\t * ClassicEditor.builtinPlugins = [ FooPlugin, BarPlugin ];\n\t *\n\t * // Normally, you need to define config.plugins, but since ClassicEditor.builtinPlugins was\n\t * // defined, now you can call create() without any configuration.\n\t * ClassicEditor\n\t * \t.create( sourceElement )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\teditor.plugins.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement, {\n\t * \t\t// Do not initialize these plugins (note: it is defined by a string):\n\t * \t\tremovePlugins: [ 'Foo' ]\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> Undefined.\n\t * \t\teditor.config.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement, {\n\t * \t\t// Load only this plugin. It can also be defined by a string if\n\t * \t\t// this plugin was built into the editor class.\n\t * \t\tplugins: [ FooPlugin ]\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\teditor.config.get( BarPlugin ); // -> Undefined.\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/editor/editor~Editor.defaultConfig}.\n\t */\n\tpublic static builtinPlugins?: Array<PluginConstructor<Editor>>;\n\n\t/**\n\t * The editor UI instance.\n\t */\n\tpublic abstract get ui(): EditorUI;\n\n\t/**\n\t * The editor context.\n\t * When it is not provided through the configuration, the editor creates it.\n\t */\n\tprotected readonly _context: Context;\n\n\t/**\n\t * A set of lock IDs for the {@link #isReadOnly} getter.\n\t */\n\tprotected readonly _readOnlyLocks: Set<symbol | string>;\n\n\t/**\n\t * Creates a new instance of the editor class.\n\t *\n\t * Usually, not to be used directly. See the static {@link module:core/editor/editor~Editor.create `create()`} method.\n\t *\n\t * @param config The editor configuration.\n\t */\n\tconstructor( config: EditorConfig = {} ) {\n\t\tsuper();\n\n\t\tif ( 'sanitizeHtml' in config ) {\n\t\t\t/**\n\t\t\t * Configuration property `config.sanitizeHtml` was removed in CKEditor version 43.1.0 and is no longer supported.\n\t\t\t *\n\t\t\t * Please use `config.htmlEmbed.sanitizeHtml` and/or `config.mergeFields.sanitizeHtml` instead.\n\t\t\t *\n\t\t\t * @error editor-config-sanitizehtml-not-supported\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'editor-config-sanitizehtml-not-supported' );\n\t\t}\n\n\t\tconst constructor = this.constructor as typeof Editor;\n\n\t\t// We don't pass translations to the config, because its behavior of splitting keys\n\t\t// with dots (e.g. `resize.width` => `resize: { width }`) breaks the translations.\n\t\tconst { translations: defaultTranslations, ...defaultConfig } = constructor.defaultConfig || {};\n\t\tconst { translations = defaultTranslations, ...rest } = config;\n\n\t\t// Prefer the language passed as the argument to the constructor instead of the constructor's `defaultConfig`, if both are set.\n\t\tconst language = config.language || defaultConfig.language;\n\n\t\tthis._context = config.context || new Context( { language, translations } );\n\t\tthis._context._addEditor( this, !config.context );\n\n\t\t// Clone the plugins to make sure that the plugin array will not be shared\n\t\t// between editors and make the watchdog feature work correctly.\n\t\tconst availablePlugins = Array.from( constructor.builtinPlugins || [] );\n\n\t\tthis.config = new Config<EditorConfig>( rest, defaultConfig );\n\t\tthis.config.define( 'plugins', availablePlugins );\n\t\tthis.config.define( this._context._getEditorConfig() );\n\n\t\tcheckLicenseKeyIsDefined( this.config );\n\n\t\tthis.plugins = new PluginCollection<Editor>( this, availablePlugins, this._context.plugins );\n\n\t\tthis.locale = this._context.locale;\n\t\tthis.t = this.locale.t;\n\n\t\tthis._readOnlyLocks = new Set();\n\n\t\tthis.commands = new CommandCollection();\n\n\t\tthis.set( 'state', 'initializing' );\n\t\tthis.once<EditorReadyEvent>( 'ready', () => ( this.state = 'ready' ), { priority: 'high' } );\n\t\tthis.once<EditorDestroyEvent>( 'destroy', () => ( this.state = 'destroyed' ), { priority: 'high' } );\n\n\t\tthis.model = new Model();\n\n\t\tthis.on( 'change:isReadOnly', () => {\n\t\t\tthis.model.document.isReadOnly = this.isReadOnly;\n\t\t} );\n\n\t\tconst stylesProcessor = new StylesProcessor();\n\n\t\tthis.data = new DataController( this.model, stylesProcessor );\n\n\t\tthis.editing = new EditingController( this.model, stylesProcessor );\n\t\tthis.editing.view.document.bind( 'isReadOnly' ).to( this );\n\n\t\tthis.conversion = new Conversion( [ this.editing.downcastDispatcher, this.data.downcastDispatcher ], this.data.upcastDispatcher );\n\t\tthis.conversion.addAlias( 'dataDowncast', this.data.downcastDispatcher );\n\t\tthis.conversion.addAlias( 'editingDowncast', this.editing.downcastDispatcher );\n\n\t\tthis.keystrokes = new EditingKeystrokeHandler( this );\n\t\tthis.keystrokes.listenTo( this.editing.view.document );\n\n\t\tthis.accessibility = new Accessibility( this );\n\n\t\tverifyLicenseKey( this );\n\n\t\t// Checks if the license key is defined and throws an error if it is not.\n\t\tfunction checkLicenseKeyIsDefined( config: Config<EditorConfig> ) {\n\t\t\tlet licenseKey = config.get( 'licenseKey' );\n\n\t\t\tif ( !licenseKey && window.CKEDITOR_GLOBAL_LICENSE_KEY ) {\n\t\t\t\tlicenseKey = window.CKEDITOR_GLOBAL_LICENSE_KEY;\n\t\t\t\tconfig.set( 'licenseKey', licenseKey );\n\t\t\t}\n\n\t\t\tif ( !licenseKey ) {\n\t\t\t\t/**\n\t\t\t\t * The `licenseKey` property is missing in the editor configuration.\n\t\t\t\t *\n\t\t\t\t * * If you are using the editor in a commercial setup, please provide your license key.\n\t\t\t\t * * If you still need to acquire a key, please [contact us](https://ckeditor.com/contact/) or\n\t\t\t\t * [create a free account with a 14 day premium features trial](https://portal.ckeditor.com/checkout?plan=free).\n\t\t\t\t * * If you are using the editor under a GPL license or another license from our Open Source Initiative,\n\t\t\t\t * use the 'GPL' license key instead.\n\t\t\t\t *\n\t\t\t\t * ```js\n\t\t\t\t * ClassicEditor.create( document.querySelector( '#editor' ), {\n\t\t\t\t * \tlicenseKey: '<YOUR_LICENSE_KEY>', // Or 'GPL'.\n\t\t\t\t * \t// ... Other configuration options ...\n\t\t\t\t * } ) ;\n\t\t\t\t *\n\t\t\t\t * @error license-key-missing\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-missing' );\n\t\t\t}\n\t\t}\n\n\t\tfunction verifyLicenseKey( editor: Editor ) {\n\t\t\tconst licenseKey = editor.config.get( 'licenseKey' )!;\n\t\t\tconst distributionChannel = ( window as any )[ Symbol.for( 'cke distribution' ) ] || 'sh';\n\n\t\t\tfunction blockEditor( reason: LicenseErrorReason, name?: string ) {\n\t\t\t\teditor.enableReadOnlyMode( Symbol( 'invalidLicense' ) );\n\t\t\t\teditor._showLicenseError( reason, name );\n\t\t\t}\n\n\t\t\tfunction hasAllRequiredFields( licensePayload: Record<string, unknown> ) {\n\t\t\t\tconst requiredFields = [ 'exp', 'jti', 'vc' ];\n\n\t\t\t\treturn requiredFields.every( field => field in licensePayload );\n\t\t\t}\n\n\t\t\tfunction getCrcInputData( licensePayload: Record<string, unknown> ): CRCData {\n\t\t\t\tconst keysToCheck = Object.getOwnPropertyNames( licensePayload ).sort();\n\n\t\t\t\tconst filteredValues = keysToCheck\n\t\t\t\t\t.filter( key => key != 'vc' && licensePayload[ key ] != null )\n\t\t\t\t\t.map( key => licensePayload[ key ] );\n\n\t\t\t\treturn filteredValues as CRCData;\n\t\t\t}\n\n\t\t\tfunction checkLicensedHosts( licensedHosts: Array<string> ): boolean {\n\t\t\t\tconst { hostname } = new URL( window.location.href );\n\n\t\t\t\tif ( licensedHosts.includes( hostname ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst segments = hostname.split( '.' );\n\n\t\t\t\treturn licensedHosts\n\t\t\t\t\t// Filter out hosts without wildcards.\n\t\t\t\t\t.filter( host => host.includes( '*' ) )\n\t\t\t\t\t// Split the hosts into segments.\n\t\t\t\t\t.map( host => host.split( '.' ) )\n\t\t\t\t\t// Filter out hosts that have more segments than the current hostname.\n\t\t\t\t\t.filter( host => host.length <= segments.length )\n\t\t\t\t\t// Pad the beginning of the licensed host if it's shorter than the current hostname.\n\t\t\t\t\t.map( host => Array( segments.length - host.length ).fill( host[ 0 ] === '*' ? '*' : '' ).concat( host ) )\n\t\t\t\t\t// Check if some license host matches the hostname.\n\t\t\t\t\t.some( octets => segments.every( ( segment, index ) => octets[ index ] === segment || octets[ index ] === '*' ) );\n\t\t\t}\n\n\t\t\tfunction warnAboutNonProductionLicenseKey( licenseType: string ) {\n\t\t\t\tconst capitalizedLicenseType = licenseType[ 0 ].toUpperCase() + licenseType.slice( 1 );\n\t\t\t\tconst article = licenseType === 'evaluation' ? 'an' : 'a';\n\n\t\t\t\tconsole.info(\n\t\t\t\t\t`%cCKEditor 5 ${ capitalizedLicenseType } License`,\n\t\t\t\t\t'color: #ffffff; background: #743CCD; font-size: 14px; padding: 4px 8px; border-radius: 4px;'\n\t\t\t\t);\n\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`⚠️ You are using ${ article } ${ licenseType } license of CKEditor 5` +\n\t\t\t\t\t`${ licenseType === 'trial' ? ' which is for evaluation purposes only' : '' }. ` +\n\t\t\t\t\t'For production usage, please obtain a production license at https://portal.ckeditor.com/'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( licenseKey == 'GPL' ) {\n\t\t\t\tif ( distributionChannel == 'cloud' ) {\n\t\t\t\t\tblockEditor( 'distributionChannel' );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst licensePayload = decodeLicenseKey( licenseKey );\n\n\t\t\tif ( !licensePayload ) {\n\t\t\t\tblockEditor( 'invalid' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( !hasAllRequiredFields( licensePayload ) ) {\n\t\t\t\tblockEditor( 'invalid' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( licensePayload.distributionChannel && !toArray( licensePayload.distributionChannel ).includes( distributionChannel ) ) {\n\t\t\t\tblockEditor( 'distributionChannel' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( crc32( getCrcInputData( licensePayload ) ) != licensePayload.vc.toLowerCase() ) {\n\t\t\t\tblockEditor( 'invalid' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst expirationDate = new Date( licensePayload.exp * 1000 );\n\n\t\t\tif ( expirationDate < releaseDate ) {\n\t\t\t\tblockEditor( 'expired' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst licensedHosts: Array<string> | undefined = licensePayload.licensedHosts;\n\n\t\t\tif ( licensedHosts && licensedHosts.length > 0 && !checkLicensedHosts( licensedHosts ) ) {\n\t\t\t\tblockEditor( 'domainLimit' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( [ 'evaluation', 'trial' ].includes( licensePayload.licenseType ) && licensePayload.exp * 1000 < Date.now() ) {\n\t\t\t\tblockEditor( 'expired' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( [ 'development', 'evaluation', 'trial' ].includes( licensePayload.licenseType ) ) {\n\t\t\t\tconst { licenseType } = licensePayload;\n\n\t\t\t\twindow.CKEDITOR_WARNING_SUPPRESSIONS = window.CKEDITOR_WARNING_SUPPRESSIONS || {};\n\n\t\t\t\tif ( !window.CKEDITOR_WARNING_SUPPRESSIONS[ licenseType ] ) {\n\t\t\t\t\twarnAboutNonProductionLicenseKey( licenseType );\n\n\t\t\t\t\twindow.CKEDITOR_WARNING_SUPPRESSIONS[ licenseType ] = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( [ 'evaluation', 'trial' ].includes( licensePayload.licenseType ) ) {\n\t\t\t\tconst licenseType: 'evaluation' | 'trial' = licensePayload.licenseType;\n\t\t\t\tconst timerId = setTimeout( () => {\n\t\t\t\t\tblockEditor( `${ licenseType }Limit` );\n\t\t\t\t}, 600000 );\n\n\t\t\t\teditor.on( 'destroy', () => {\n\t\t\t\t\tclearTimeout( timerId );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( licensePayload.usageEndpoint ) {\n\t\t\t\teditor.once<EditorReadyEvent>( 'ready', () => {\n\t\t\t\t\tconst request = {\n\t\t\t\t\t\trequestId: uid(),\n\t\t\t\t\t\trequestTime: Math.round( Date.now() / 1000 ),\n\t\t\t\t\t\tlicense: licenseKey,\n\t\t\t\t\t\teditor: collectUsageData( editor )\n\t\t\t\t\t};\n\n\t\t\t\t\t/**\n\t\t\t\t\t * This part of the code is not executed in open-source implementations using a GPL key.\n\t\t\t\t\t * It only runs when a specific license key is provided. If you are uncertain whether\n\t\t\t\t\t * this applies to your installation, please contact our support team.\n\t\t\t\t\t */\n\t\t\t\t\teditor._sendUsageRequest( licensePayload.usageEndpoint, request ).then( response => {\n\t\t\t\t\t\tconst { status, message } = response;\n\n\t\t\t\t\t\tif ( message ) {\n\t\t\t\t\t\t\tconsole.warn( message );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( status != 'ok' ) {\n\t\t\t\t\t\t\tblockEditor( 'usageLimit' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Your license key cannot be validated due to a network issue.\n\t\t\t\t\t\t * Please ensure that your setup does not block requests to the validation endpoint.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @error license-key-validation-endpoint-not-reachable\n\t\t\t\t\t\t * @param {string} url The URL that was attempted to be reached for validation.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tlogError( 'license-key-validation-endpoint-not-reachable', { url: licensePayload.usageEndpoint } );\n\t\t\t\t\t} );\n\t\t\t\t}, { priority: 'high' } );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Defines whether the editor is in the read-only mode.\n\t *\n\t * In read-only mode the editor {@link #commands commands} are disabled so it is not possible\n\t * to modify the document by using them. Also, the editable element(s) become non-editable.\n\t *\n\t * In order to make the editor read-only, you need to call the {@link #enableReadOnlyMode} method:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'feature-id' );\n\t * ```\n\t *\n * Later, to turn off the read-only mode, call {@link #disableReadOnlyMode}:\n\t *\n\t * ```ts\n\t * editor.disableReadOnlyMode( 'feature-id' );\n\t * ```\n\t *\n\t * @readonly\n\t * @observable\n\t */\n\tpublic get isReadOnly(): boolean {\n\t\treturn this._readOnlyLocks.size > 0;\n\t}\n\n\tpublic set isReadOnly( value: boolean ) {\n\t\t/**\n\t\t * The {@link module:core/editor/editor~Editor#isReadOnly Editor#isReadOnly} property is read-only since version `34.0.0`\n\t\t * and can be set only using {@link module:core/editor/editor~Editor#enableReadOnlyMode `Editor#enableReadOnlyMode( lockId )`} and\n\t\t * {@link module:core/editor/editor~Editor#disableReadOnlyMode `Editor#disableReadOnlyMode( lockId )`}.\n\t\t *\n\t\t * Usage before version `34.0.0`:\n\t\t *\n\t\t * ```ts\n\t\t * editor.isReadOnly = true;\n\t\t * editor.isReadOnly = false;\n\t\t * ```\n\t\t *\n\t\t * Usage since version `34.0.0`:\n\t\t *\n\t\t * ```ts\n\t\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t\t * ```\n\t\t *\n\t\t * @error editor-isreadonly-has-no-setter\n\t\t */\n\t\tthrow new CKEditorError( 'editor-isreadonly-has-no-setter' );\n\t}\n\n\t/**\n\t * Turns on the read-only mode in the editor.\n\t *\n\t * Editor can be switched to or out of the read-only mode by many features, under various circumstances. The editor supports locking\n\t * mechanism for the read-only mode. It enables easy control over the read-only mode when many features wants to turn it on or off at\n\t * the same time, without conflicting with each other. It guarantees that you will not make the editor editable accidentally (which\n\t * could lead to errors).\n\t *\n\t * Each read-only mode request is identified by a unique id (also called \"lock\"). If multiple plugins requested to turn on the\n\t * read-only mode, then, the editor will become editable only after all these plugins turn the read-only mode off (using the same ids).\n\t *\n\t * Note, that you cannot force the editor to disable the read-only mode if other plugins set it.\n\t *\n\t * After the first `enableReadOnlyMode()` call, the {@link #isReadOnly `isReadOnly` property} will be set to `true`:\n\t *\n\t * ```ts\n\t * editor.isReadOnly; // `false`.\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `true`.\n\t * ```\n\t *\n\t * You can turn off the read-only mode (\"clear the lock\") using the {@link #disableReadOnlyMode `disableReadOnlyMode()`} method:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * // ...\n\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `false`.\n\t * ```\n\t *\n\t * All \"locks\" need to be removed to enable editing:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * editor.enableReadOnlyMode( 'my-other-feature-id' );\n\t * // ...\n\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `true`.\n\t * editor.disableReadOnlyMode( 'my-other-feature-id' );\n\t * editor.isReadOnly; // `false`.\n\t * ```\n\t *\n\t * @param lockId A unique ID for setting the editor to the read-only state.\n\t */\n\tpublic enableReadOnlyMode( lockId: string | symbol ): void {\n\t\tif ( typeof lockId !== 'string' && typeof lockId !== 'symbol' ) {\n\t\t\t/**\n\t\t\t * The lock ID is missing or it is not a string or symbol.\n\t\t\t *\n\t\t\t * @error editor-read-only-lock-id-invalid\n\t\t\t * @param {never} lockId Lock ID.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'editor-read-only-lock-id-invalid', null, { lockId } );\n\t\t}\n\n\t\tif ( this._readOnlyLocks.has( lockId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._readOnlyLocks.add( lockId );\n\n\t\tif ( this._readOnlyLocks.size === 1 ) {\n\t\t\t// Manually fire the `change:isReadOnly` event as only getter is provided.\n\t\t\tthis.fire<ObservableChangeEvent<boolean>>( 'change:isReadOnly', 'isReadOnly', true, false );\n\t\t}\n\t}\n\n\t/**\n\t * Removes the read-only lock from the editor with given lock ID.\n\t *\n\t * When no lock is present on the editor anymore, then the {@link #isReadOnly `isReadOnly` property} will be set to `false`.\n\t *\n\t * @param lockId The lock ID for setting the editor to the read-only state.\n\t */\n\tpublic disableReadOnlyMode( lockId: string | symbol ): void {\n\t\tif ( typeof lockId !== 'string' && typeof lockId !== 'symbol' ) {\n\t\t\tthrow new CKEditorError( 'editor-read-only-lock-id-invalid', null, { lockId } );\n\t\t}\n\n\t\tif ( !this._readOnlyLocks.has( lockId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._readOnlyLocks.delete( lockId );\n\n\t\tif ( this._readOnlyLocks.size === 0 ) {\n\t\t\t// Manually fire the `change:isReadOnly` event as only getter is provided.\n\t\t\tthis.fire<ObservableChangeEvent<boolean>>( 'change:isReadOnly', 'isReadOnly', false, true );\n\t\t}\n\t}\n\n\t/**\n\t * Sets the data in the editor.\n\t *\n\t * ```ts\n\t * editor.setData( '<p>This is editor!</p>' );\n\t * ```\n\t *\n\t * If your editor implementation uses multiple roots, you should pass an object with keys corresponding\n\t * to the editor root names and values equal to the data that should be set in each root:\n\t *\n\t * ```ts\n\t * editor.setData( {\n\t * header: '<p>Content for header part.</p>',\n\t * content: '<p>Content for main part.</p>',\n\t * footer: '<p>Content for footer part.</p>'\n\t * } );\n\t * ```\n\t *\n\t * By default the editor accepts HTML. This can be controlled by injecting a different data processor.\n\t * See the {@glink features/markdown Markdown output} guide for more details.\n\t *\n\t * @param data Input data.\n\t */\n\tpublic setData( data: string | Record<string, string> ): void {\n\t\tthis.data.set( data );\n\t}\n\n\t/**\n\t * Gets the data from the editor.\n\t *\n\t * ```ts\n\t * editor.getData(); // -> '<p>This is editor!</p>'\n\t * ```\n\t *\n\t * If your editor implementation uses multiple roots, you should pass root name as one of the options:\n\t *\n\t * ```ts\n\t * editor.getData( { rootName: 'header' } ); // -> '<p>Content for header part.</p>'\n\t * ```\n\t *\n\t * By default, the editor outputs HTML. This can be controlled by injecting a different data processor.\n\t * See the {@glink features/markdown Markdown output} guide for more details.\n\t *\n\t * A warning is logged when you try to retrieve data for a detached root, as most probably this is a mistake. A detached root should\n\t * be treated like it is removed, and you should not save its data. Note, that the detached root data is always an empty string.\n\t *\n\t * @param options Additional configuration for the retrieved data.\n\t * Editor features may introduce more configuration options that can be set through this parameter.\n\t * @param options.rootName Root name. Defaults to `'main'`.\n\t * @param options.trim Whether returned data should be trimmed. This option is set to `'empty'` by default,\n\t * which means that whenever editor content is considered empty, an empty string is returned. To turn off trimming\n\t * use `'none'`. In such cases exact content will be returned (for example `'<p>&nbsp;</p>'` for an empty editor).\n\t * @returns Output data.\n\t */\n\tpublic getData( options?: {\n\t\trootName?: string;\n\t\ttrim?: 'empty' | 'none';\n\t\t[ key: string ]: unknown;\n\t} ): string {\n\t\treturn this.data.get( options );\n\t}\n\n\t/**\n\t * Loads and initializes plugins specified in the configuration.\n\t *\n\t * @returns A promise which resolves once the initialization is completed, providing an array of loaded plugins.\n\t */\n\tpublic initPlugins(): Promise<LoadedPlugins> {\n\t\tconst config = this.config;\n\t\tconst plugins = config.get( 'plugins' )!;\n\t\tconst removePlugins = config.get( 'removePlugins' ) || [];\n\t\tconst extraPlugins = config.get( 'extraPlugins' ) || [];\n\t\tconst substitutePlugins = config.get( 'substitutePlugins' ) || [];\n\n\t\treturn this.plugins.init( plugins.concat( extraPlugins ), removePlugins, substitutePlugins )\n\t\t\t.then( plugins => {\n\t\t\t\tcheckPluginsAllowedByLicenseKey( this );\n\n\t\t\t\treturn plugins;\n\t\t\t} );\n\n\t\tfunction checkPluginsAllowedByLicenseKey( editor: Editor ): void {\n\t\t\tconst licenseKey = editor.config.get( 'licenseKey' )!;\n\n\t\t\tif ( licenseKey === 'GPL' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst decodedPayload = decodeLicenseKey( licenseKey );\n\n\t\t\tif ( !decodedPayload ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst disallowedPlugin = [ ...editor.plugins ]\n\t\t\t\t.map( ( [ pluginConstructor ] ) => pluginConstructor )\n\t\t\t\t.find( pluginConstructor => {\n\t\t\t\t\tif ( !pluginConstructor.pluginName ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !pluginConstructor.licenseFeatureCode ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn isFeatureBlockedByLicenseKey( decodedPayload, pluginConstructor.licenseFeatureCode );\n\t\t\t\t} );\n\n\t\t\tif ( disallowedPlugin ) {\n\t\t\t\teditor.enableReadOnlyMode( Symbol( 'invalidLicense' ) );\n\t\t\t\teditor._showLicenseError( 'pluginNotAllowed', disallowedPlugin.pluginName );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Destroys the editor instance, releasing all resources used by it.\n\t *\n\t * **Note** The editor cannot be destroyed during the initialization phase so if it is called\n\t * while the editor {@link #state is being initialized}, it will wait for the editor initialization before destroying it.\n\t *\n\t * @fires destroy\n\t * @returns A promise that resolves once the editor instance is fully destroyed.\n\t */\n\tpublic destroy(): Promise<unknown> {\n\t\tlet readyPromise: Promise<unknown> = Promise.resolve();\n\n\t\tif ( this.state == 'initializing' ) {\n\t\t\treadyPromise = new Promise( resolve => this.once<EditorReadyEvent>( 'ready', resolve ) );\n\t\t}\n\n\t\treturn readyPromise\n\t\t\t.then( () => {\n\t\t\t\tthis.fire<EditorDestroyEvent>( 'destroy' );\n\t\t\t\tthis.stopListening();\n\t\t\t\tthis.commands.destroy();\n\t\t\t} )\n\t\t\t.then( () => this.plugins.destroy() )\n\t\t\t.then( () => {\n\t\t\t\tthis.model.destroy();\n\t\t\t\tthis.data.destroy();\n\t\t\t\tthis.editing.destroy();\n\t\t\t\tthis.keystrokes.destroy();\n\t\t\t} )\n\t\t\t// Remove the editor from the context.\n\t\t\t// When the context was created by this editor, the context will be destroyed.\n\t\t\t.then( () => this._context._removeEditor( this ) );\n\t}\n\n\t/**\n\t * Executes the specified command with given parameters.\n\t *\n\t * Shorthand for:\n\t *\n\t * ```ts\n\t * editor.commands.get( commandName ).execute( ... );\n\t * ```\n\t *\n\t * @param commandName The name of the command to execute.\n\t * @param commandParams Command parameters.\n\t * @returns The value returned by the {@link module:core/commandcollection~CommandCollection#execute `commands.execute()`}.\n\t */\n\tpublic execute<TName extends string>(\n\t\tcommandName: TName,\n\t\t...commandParams: Parameters<CommandsMap[ TName ][ 'execute' ]>\n\t): ReturnType<CommandsMap[ TName ][ 'execute' ]> {\n\t\ttry {\n\t\t\treturn this.commands.execute( commandName, ...commandParams );\n\t\t} catch ( err: any ) {\n\t\t\t// @if CK_DEBUG // throw err;\n\t\t\t/* istanbul ignore next -- @preserve */\n\t\t\tCKEditorError.rethrowUnexpectedError( err, this );\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the editor.\n\t *\n\t * **Note** To explicitly focus the editing area of the editor, use the\n\t * {@link module:engine/view/view~EditingView#focus `editor.editing.view.focus()`} method of the editing view.\n\t *\n\t * Check out the {@glink framework/deep-dive/ui/focus-tracking#focus-in-the-editor-ui Focus in the editor UI} section\n\t * of the {@glink framework/deep-dive/ui/focus-tracking Deep dive into focus tracking} guide to learn more.\n\t */\n\tpublic focus(): void {\n\t\tthis.editing.view.focus();\n\t}\n\n\t/* istanbul ignore next -- @preserve */\n\t/**\n\t * Creates and initializes a new editor instance.\n\t *\n\t * This is an abstract method. Every editor type needs to implement its own initialization logic.\n\t *\n\t * See the `create()` methods of the existing editor types to learn how to use them:\n\t *\n\t * * {@link module:editor-classic/classiceditor~ClassicEditor.create `ClassicEditor.create()`}\n\t * * {@link module:editor-balloon/ballooneditor~BalloonEditor.create `BalloonEditor.create()`}\n\t * * {@link module:editor-decoupled/decouplededitor~DecoupledEditor.create `DecoupledEditor.create()`}\n\t * * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`}\n\t */\n\tpublic static create( ...args: Array<unknown> ): void { // eslint-disable-line @typescript-eslint/no-unused-vars\n\t\tthrow new Error( 'This is an abstract method.' );\n\t}\n\n\t/**\n\t * The {@link module:core/context~Context} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */\n\tpublic static Context = Context;\n\n\t/**\n\t * The {@link module:watchdog/editorwatchdog~EditorWatchdog} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */\n\tpublic static EditorWatchdog = EditorWatchdog;\n\n\t/**\n\t * The {@link module:watchdog/contextwatchdog~ContextWatchdog} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */\n\tpublic static ContextWatchdog = ContextWatchdog;\n\n\tprotected _showLicenseError( reason: LicenseErrorReason, name?: string ): void {\n\t\tsetTimeout( () => {\n\t\t\tif ( reason == 'invalid' ) {\n\t\t\t\t/**\n\t\t\t\t * The license key provided is invalid. Please ensure that it is copied correctly\n\t\t\t\t * from the [Customer Portal](http://portal.ckeditor.com). If the issue persists,\n\t\t\t\t * please [contact our customer support](https://ckeditor.com/contact/).\n\t\t\t\t *\n\t\t\t\t * @error invalid-license-key\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'invalid-license-key' );\n\t\t\t}\n\n\t\t\tif ( reason == 'expired' ) {\n\t\t\t\t/**\n\t\t\t\t * Your license key has expired.\n\t\t\t\t *\n\t\t\t\t * If you used our free trial, you either need to switch to\n\t\t\t\t * [open-source license](https://ckeditor.com/docs/ckeditor5/latest/getting-started/licensing/license-and-legal.html), or\n\t\t\t\t * in case of a commercial plan, change the trial key to production key or development key.\n\t\t\t\t * Switching from trial, you also need to align the editor configuration to the features available in your plan.\n\t\t\t\t *\n\t\t\t\t * If you already had one of our Cloud or Custom plans, please renew your license in the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com).\n\t\t\t\t *\n\t\t\t\t * @error license-key-expired\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-expired' );\n\t\t\t}\n\n\t\t\tif ( reason == 'domainLimit' ) {\n\t\t\t\t/**\n\t\t\t\t * The provided license does not allow the editor to run on this domain.\n\t\t\t\t * Some license keys are restricted to local test environments only.\n\t\t\t\t * For more details, please refer to the\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types license key type documentation}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-domain-limit\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-domain-limit' );\n\t\t\t}\n\n\t\t\tif ( reason == 'pluginNotAllowed' ) {\n\t\t\t\t/**\n\t\t\t\t * The plugin you are trying to use is not permitted under your current license.\n\t\t\t\t * Please check the available features on the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact support](https://ckeditor.com/contact/) for more information.\n\t\t\t\t *\n\t\t\t\t * @error license-key-plugin-not-allowed\n\t\t\t\t * @param {String} pluginName The plugin you tried to load.\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-plugin-not-allowed', null, { pluginName: name } );\n\t\t\t}\n\n\t\t\tif ( reason == 'featureNotAllowed' ) {\n\t\t\t\t/**\n\t\t\t\t * The feature you are trying to use is not permitted under your current license.\n\t\t\t\t * Please check the available features on the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact support](https://ckeditor.com/contact/) for more information.\n\t\t\t\t *\n\t\t\t\t * @error license-key-feature-not-allowed\n\t\t\t\t * @param {String} featureName The feature you tried to use.\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-feature-not-allowed', null, { featureName: name } );\n\t\t\t}\n\n\t\t\tif ( reason == 'evaluationLimit' ) {\n\t\t\t\t/**\n\t\t\t\t * You have exceeded the editor operation limit available for your evaluation license key.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-evaluation-limit\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-evaluation-limit' );\n\t\t\t}\n\n\t\t\tif ( reason == 'trialLimit' ) {\n\t\t\t\t/**\n\t\t\t\t * You have exceeded the editor operation limit for your trial license key.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-trial-limit\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-trial-limit' );\n\t\t\t}\n\n\t\t\tif ( reason == 'developmentLimit' ) {\n\t\t\t\t/**\n\t\t\t\t * You have exceeded the operation limit for your development license key within the editor.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-development-limit\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-development-limit' );\n\t\t\t}\n\n\t\t\tif ( reason == 'usageLimit' ) {\n\t\t\t\t/**\n\t\t\t\t * You have reached the usage limit of your license key. This can occur in the following situations:\n\t\t\t\t *\n\t\t\t\t * * You are on a free subscription without a connected payment method and have exceeded the allowed usage threshold.\n\t\t\t\t * * Your account has overdue invoices and the grace period has ended.\n\t\t\t\t *\n\t\t\t\t * To extend the limit and restore access, please update the required details in the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact our customer support](https://ckeditor.com/contact).\n\t\t\t\t *\n\t\t\t\t * @error license-key-usage-limit\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-usage-limit' );\n\t\t\t}\n\n\t\t\tif ( reason == 'distributionChannel' ) {\n\t\t\t\t/**\n\t\t\t\t * Your license does not allow the current distribution channel.\n\t\t\t\t *\n\t\t\t\t * These are the available distribution channels:\n\t\t\t\t * * Self-hosted - the editor is installed via npm or from a ZIP package\n\t\t\t\t * * Cloud - the editor is run from CDN\n\t\t\t\t *\n\t\t\t\t * The licenses available include:\n\t\t\t\t * * GPL license for open-source users.\n\t\t\t\t * * Commercial plans (Cloud or sales-assisted).\n\t\t\t\t *\n\t\t\t\t * The relation between distribution channels and licenses works as follows:\n\t\t\t\t * * With the 'GPL' license key, you may use the editor installed via npm or a ZIP package (self-hosted).\n\t\t\t\t * * With the CKEditor Cloud plans, you may use the editor via our CDN.\n\t\t\t\t * * With the CKEditor Custom plans, depending on your plan details, you can use the editor via npm\n\t\t\t\t * or a ZIP package (self-hosted) or Cloud (CDN).\n\t\t\t\t *\n\t\t\t\t * {@glink getting-started/licensing/usage-based-billing#key-terms Read more about distributions in the documentation}.\n\t\t\t\t * Please verify your installation or [contact support](https://ckeditor.com/contact/) for assistance.\n\t\t\t\t * Should you need to migrate your installation from npm to CDN, please refer to our\n\t\t\t\t * [dedicated migration guides](https://ckeditor.com/docs/ckeditor5/latest/updating/migrations/vanilla-js.html).\n\t\t\t\t *\n\t\t\t\t * @error license-key-invalid-distribution-channel\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-invalid-distribution-channel' );\n\t\t\t}\n\n\t\t\t/* istanbul ignore next -- @preserve */\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\tconst unreachable: never = reason;\n\t\t}, 0 );\n\n\t\tthis._showLicenseError = () => {};\n\t}\n\n\t/**\n\t * This part of the code is _not_ executed in installations under the GPL license (with `config.licenseKey = 'GPL'`).\n *\n\t * It is only executed when a specific license key is provided. If you are uncertain whether\n\t * this applies to your installation, please contact our support team.\n\t */\n\tprivate async _sendUsageRequest( endpoint: string, request: unknown ) {\n\t\tconst headers = new Headers( { 'Content-Type': 'application/json' } );\n\t\tconst response = await fetch( new URL( endpoint ), {\n\t\t\tmethod: 'POST',\n\t\t\theaders,\n\t\t\tbody: JSON.stringify( request )\n\t\t} );\n\n\t\tif ( !response.ok ) {\n\t\t\t// TODO: refine message.\n\t\t\tthrow new Error( `HTTP Response: ${ response.status }` );\n\t\t}\n\n\t\treturn response.json();\n\t}\n}\n\nfunction collectUsageData( editor: Editor ): EditorUsageData {\n\tconst collectedData = getEditorUsageData( editor );\n\n\tfunction setUsageData( path: string, value: unknown ) {\n\t\tif ( get( collectedData, path ) !== undefined ) {\n\t\t\t/**\n\t\t\t * The error thrown when trying to set the usage data path that was already set.\n\t\t\t * Make sure that you are not setting the same path multiple times.\n\t\t\t *\n\t\t\t * @error editor-usage-data-path-already-set\n\t\t\t * @param {string} path The path that was already set.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'editor-usage-data-path-already-set', { path } );\n\t\t}\n\n\t\tset( collectedData, path, value );\n\t}\n\n\teditor.fire<EditorCollectUsageDataEvent>( 'collectUsageData', {\n\t\tsetUsageData\n\t} );\n\n\treturn collectedData;\n}\n\n/**\n * @internal\n */\nexport type LicenseErrorReason =\n\t'invalid' |\n\t'expired' |\n\t'domainLimit' |\n\t'pluginNotAllowed' |\n\t'featureNotAllowed' |\n\t'evaluationLimit' |\n\t'trialLimit' |\n\t'developmentLimit' |\n\t'usageLimit' |\n\t'distributionChannel';\n\n/**\n * Fired when the {@link module:engine/controller/datacontroller~DataController#event:ready data} and all additional\n * editor components are ready.\n *\n * Note: This event is most useful for plugin developers. When integrating the editor with your website or\n * application, you do not have to listen to `editor#ready` because when the promise returned by the static\n * {@link module:core/editor/editor~Editor.create `Editor.create()`} event is resolved, the editor is already ready.\n * In fact, since the first moment when the editor instance is available to you is inside `then()`'s callback,\n * you cannot even add a listener to the `editor#ready` event.\n *\n * See also the {@link module:core/editor/editor~Editor#state `editor.state`} property.\n *\n * @eventName ~Editor#ready\n */\nexport type EditorReadyEvent = {\n\tname: 'ready';\n\targs: [];\n};\n\n/**\n * Fired when the editor is about to collect usage data.\n *\n * This event is fired when the editor is about to collect usage data. It allows plugins to provide additional data for\n * the usage statistics. The usage data is collected by the editor and sent to the usage tracking server. All plugins are\n * expected to be ready at this point.\n *\n * @eventName ~Editor#collectUsageData\n */\nexport type EditorCollectUsageDataEvent = {\n\tname: 'collectUsageData';\n\targs: [\n\t\t{\n\t\t\tsetUsageData( path: string, value: unknown ): void;\n\t\t}\n\t];\n};\n\n/**\n * Fired when this editor instance is destroyed. The editor at this point is not usable and this event should be used to\n * perform the clean-up in any plugin.\n *\n * See also the {@link module:core/editor/editor~Editor#state `editor.state`} property.\n *\n * @eventName ~Editor#destroy\n */\nexport type EditorDestroyEvent = {\n\tname: 'destroy';\n\targs: [];\n};\n\n/**\n * This error is thrown when trying to pass a `<textarea>` element to a `create()` function of an editor class.\n *\n * The only editor type which can be initialized on `<textarea>` elements is\n * the {@glink getting-started/setup/editor-types#classic-editor classic editor}.\n * This editor hides the passed element and inserts its own UI next to it. Other types of editors reuse the passed element as their root\n * editable element and therefore `<textarea>` is not appropriate for them. Use a `<div>` or another text container instead:\n *\n * ```html\n * <div id=\"editor\">\n * \t<p>Initial content.</p>\n * </div>\n * ```\n *\n * @error editor-wrong-element\n */\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editor/utils/attachtoform\n */\n\nimport { isFunction } from 'es-toolkit/compat';\n\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils';\n\nimport type { Editor, EditorDestroyEvent } from '../editor.js';\nimport type { ElementApi } from './elementapimixin.js';\n\n/**\n * Checks if the editor is initialized on a `<textarea>` element that belongs to a form. If yes, it updates the editor's element\n * content before submitting the form.\n *\n * This helper requires the {@link module:core/editor/utils/elementapimixin~ElementApi ElementApi interface}.\n *\n * @param editor Editor instance.\n */\nexport function attachToForm( editor: Editor & ElementApi ): void {\n\tif ( !isFunction( editor.updateSourceElement ) ) {\n\t\t/**\n\t\t * The editor passed to `attachToForm()` must implement the\n\t\t * {@link module:core/editor/utils/elementapimixin~ElementApi} interface.\n\t\t *\n\t\t * @error attachtoform-missing-elementapi-interface\n\t\t */\n\t\tthrow new CKEditorError(\n\t\t\t'attachtoform-missing-elementapi-interface',\n\t\t\teditor\n\t\t);\n\t}\n\n\tconst sourceElement = editor.sourceElement;\n\n\t// Only when replacing a textarea which is inside of a form element.\n\tif ( isTextArea( sourceElement ) && sourceElement.form ) {\n\t\tlet originalSubmit: () => void;\n\t\tconst form = sourceElement.form;\n\t\tconst onSubmit = () => editor.updateSourceElement();\n\n\t\t// Replace the original form#submit() to call a custom submit function first.\n\t\t// Check if #submit is a function because the form might have an input named \"submit\".\n\t\tif ( isFunction( form.submit ) ) {\n\t\t\toriginalSubmit = form.submit;\n\n\t\t\tform.submit = () => {\n\t\t\t\tonSubmit();\n\t\t\t\toriginalSubmit.apply( form );\n\t\t\t};\n\t\t}\n\n\t\t// Update the replaced textarea with data before each form#submit event.\n\t\tform.addEventListener( 'submit', onSubmit );\n\n\t\t// Remove the submit listener and revert the original submit method on\n\t\t// editor#destroy.\n\t\teditor.on<EditorDestroyEvent>( 'destroy', () => {\n\t\t\tform.removeEventListener( 'submit', onSubmit );\n\n\t\t\tif ( originalSubmit ) {\n\t\t\t\tform.submit = originalSubmit;\n\t\t\t}\n\t\t} );\n\t}\n}\n\nfunction isTextArea( sourceElement: HTMLElement | undefined ): sourceElement is HTMLTextAreaElement {\n\treturn !!sourceElement && sourceElement.tagName.toLowerCase() === 'textarea';\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editor/utils/elementapimixin\n */\n\nimport {\n\tCKEditorError,\n\tsetDataInElement,\n\ttype Constructor,\n\ttype Mixed\n} from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from '../editor.js';\n\n/**\n * Implementation of the {@link module:core/editor/utils/elementapimixin~ElementApi}.\n */\nexport function ElementApiMixin<Base extends Constructor<Editor>>( base: Base ): Mixed<Base, ElementApi> {\n\tabstract class Mixin extends base implements ElementApi {\n\t\tpublic sourceElement: HTMLElement | undefined;\n\n\t\tpublic updateSourceElement( data?: string ): void {\n\t\t\tif ( !this.sourceElement ) {\n\t\t\t\t/**\n\t\t\t\t * Cannot update the source element of a detached editor.\n\t\t\t\t *\n\t\t\t\t * The {@link module:core/editor/utils/elementapimixin~ElementApi#updateSourceElement `updateSourceElement()`}\n\t\t\t\t * method cannot be called if you did not pass an element to `Editor.create()`.\n\t\t\t\t *\n\t\t\t\t * @error editor-missing-sourceelement\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'editor-missing-sourceelement',\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst shouldUpdateSourceElement = this.config.get( 'updateSourceElementOnDestroy' );\n\t\t\tconst isSourceElementTextArea = this.sourceElement instanceof HTMLTextAreaElement;\n\n\t\t\t// The data returned by the editor might be unsafe, so we want to prevent rendering\n\t\t\t// unsafe content inside the source element different than <textarea>, which is considered\n\t\t\t// secure. This behavior could be changed by setting the `updateSourceElementOnDestroy`\n\t\t\t// configuration option to `true`.\n\t\t\tif ( !shouldUpdateSourceElement && !isSourceElementTextArea ) {\n\t\t\t\tsetDataInElement( this.sourceElement, '' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dataToSet = typeof data === 'string' ? data : this.data.get();\n\n\t\t\tsetDataInElement( this.sourceElement, dataToSet );\n\t\t}\n\t}\n\n\treturn Mixin as any;\n}\n\n/**\n * Interface describing an editor that replaced a DOM element (was \"initialized on an element\").\n *\n * Such an editor should provide a method to\n * {@link module:core/editor/utils/elementapimixin~ElementApi#updateSourceElement update the replaced element with the current data}.\n */\nexport interface ElementApi {\n\n\t/**\n\t * The element on which the editor has been initialized.\n\t *\n\t * @readonly\n\t */\n\tsourceElement: HTMLElement | undefined;\n\n\t/**\n\t * Updates the {@link #sourceElement editor source element}'s content with the data if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}\n\t * configuration option is set to `true`.\n\t *\n\t * @param data Data that the {@link #sourceElement editor source element} should be updated with.\n\t */\n\tupdateSourceElement( data?: string ): void;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editor/utils/securesourceelement\n */\n\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils';\n\nimport type { Editor, EditorDestroyEvent } from '../editor.js';\n\n/**\n * Marks the source element on which the editor was initialized. This prevents other editor instances from using this element.\n *\n * Running multiple editor instances on the same source element causes various issues and it is\n * crucial this helper is called as soon as the source element is known to prevent collisions.\n *\n * @param editor Editor instance.\n * @param sourceElement Element to bind with the editor instance.\n */\nexport function secureSourceElement( editor: Editor, sourceElement: HTMLElement & { ckeditorInstance?: Editor } ): void {\n\tif ( sourceElement.ckeditorInstance ) {\n\t\t/**\n\t\t * A DOM element used to create the editor (e.g.\n\t\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`})\n\t\t * has already been used to create another editor instance. Make sure each editor is\n\t\t * created with a unique DOM element.\n\t\t *\n\t\t * @error editor-source-element-already-used\n\t\t * @param {HTMLElement} element DOM element that caused the collision.\n\t\t */\n\t\tthrow new CKEditorError(\n\t\t\t'editor-source-element-already-used',\n\t\t\teditor\n\t\t);\n\t}\n\n\tsourceElement.ckeditorInstance = editor;\n\n\teditor.once<EditorDestroyEvent>( 'destroy', () => {\n\t\tdelete sourceElement.ckeditorInstance;\n\t} );\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/pendingactions\n */\n\nimport { ContextPlugin } from './contextplugin.js';\n\nimport {\n\tCKEditorError,\n\tCollection,\n\tObservableMixin,\n\ttype CollectionAddEvent,\n\ttype CollectionRemoveEvent,\n\ttype Observable\n} from '@ckeditor/ckeditor5-utils';\n\n/**\n * The list of pending editor actions.\n *\n * This plugin should be used to synchronise plugins that execute long-lasting actions\n * (e.g. file upload) with the editor integration. It gives the developer who integrates the editor\n * an easy way to check if there are any actions pending whenever such information is needed.\n * All plugins that register a pending action also provide a message about the action that is ongoing\n * which can be displayed to the user. This lets them decide if they want to interrupt the action or wait.\n *\n * Adding and updating a pending action:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n * const action = pendingActions.add( 'Upload in progress: 0%.' );\n *\n * // You can update the message:\n * action.message = 'Upload in progress: 10%.';\n * ```\n *\n * Removing a pending action:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n * const action = pendingActions.add( 'Unsaved changes.' );\n *\n * pendingActions.remove( action );\n * ```\n *\n * Getting pending actions:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n *\n * const action1 = pendingActions.add( 'Action 1' );\n * const action2 = pendingActions.add( 'Action 2' );\n *\n * pendingActions.first; // Returns action1\n * Array.from( pendingActions ); // Returns [ action1, action2 ]\n * ```\n *\n * This plugin is used by features like {@link module:upload/filerepository~FileRepository} to register their ongoing actions\n * and by features like {@link module:autosave/autosave~Autosave} to detect whether there are any ongoing actions.\n * Read more about saving the data in the\n * {@glink getting-started/setup/getting-and-setting-data Saving and getting data} guide.\n */\nexport class PendingActions extends ContextPlugin implements Iterable<PendingAction> {\n\t/**\n\t * Defines whether there is any registered pending action.\n\t *\n\t * @readonly\n\t * @observable\n\t */\n\tdeclare public hasAny: boolean;\n\n\t/**\n\t * A list of pending actions.\n\t */\n\tprivate _actions!: Collection<PendingAction>;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'PendingActions' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tthis.set( 'hasAny', false );\n\n\t\tthis._actions = new Collection( { idProperty: '_id' } );\n\t\tthis._actions.delegate( 'add', 'remove' ).to( this );\n\t}\n\n\t/**\n\t * Adds an action to the list of pending actions.\n\t *\n\t * This method returns an action object with an observable message property.\n\t * The action object can be later used in the {@link #remove} method. It also allows you to change the message.\n\t *\n\t * @param message The action message.\n\t * @returns An observable object that represents a pending action.\n\t */\n\tpublic add( message: string ): PendingAction {\n\t\tif ( typeof message !== 'string' ) {\n\t\t\t/**\n\t\t\t * The message must be a string.\n\t\t\t *\n\t\t\t * @error pendingactions-add-invalid-message\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'pendingactions-add-invalid-message', this );\n\t\t}\n\n\t\tconst action = new ( ObservableMixin() )() as PendingAction;\n\n\t\taction.set( 'message', message );\n\t\tthis._actions.add( action );\n\t\tthis.hasAny = true;\n\n\t\treturn action;\n\t}\n\n\t/**\n\t * Removes an action from the list of pending actions.\n\t *\n\t * @param action An action object.\n\t */\n\tpublic remove( action: PendingAction ): void {\n\t\tthis._actions.remove( action );\n\t\tthis.hasAny = !!this._actions.length;\n\t}\n\n\t/**\n\t * Returns the first action from the list or null if the list is empty\n\t *\n\t * @returns The pending action object.\n\t */\n\tpublic get first(): PendingAction | null {\n\t\treturn this._actions.get( 0 );\n\t}\n\n\t/**\n\t * Iterable interface.\n\t */\n\tpublic [ Symbol.iterator ](): Iterator<PendingAction> {\n\t\treturn this._actions[ Symbol.iterator ]();\n\t}\n}\n\nexport interface PendingAction extends Observable {\n\tmessage: string;\n}\n\n/**\n * Fired when an action is added to the list.\n *\n * @eventName ~PendingActions#add\n * @param action The added action.\n */\nexport type PendingActionsAddEvent = CollectionAddEvent<PendingAction>;\n\n/**\n * Fired when an action is removed from the list.\n *\n * @eventName ~PendingActions#remove\n * @param action The removed action.\n */\nexport type PendingActionsRemoveEvent = CollectionRemoveEvent<PendingAction>;\n"]}
1
+ {"version":3,"sources":["index.js","../src/plugin.ts","../src/command.ts","../src/multicommand.ts","../src/commandcollection.ts","../src/plugincollection.ts","../src/context.ts","../src/contextplugin.ts","../src/editingkeystrokehandler.ts","../src/accessibility.ts","../src/editor/utils/editorusagedata.ts","../src/editor/editor.ts","../src/editor/utils/attachtoform.ts","../src/editor/utils/elementapimixin.ts","../src/editor/utils/securesourceelement.ts","../src/pendingactions.ts"],"names":["Plugin","ObservableMixin","editor","_disableStack","Set","set","forceDisabled","id","add","size","on","forceDisable","priority","isEnabled","clearForceDisabled","delete","off","destroy","stopListening","isContextPlugin","isOfficialPlugin","isPremiumPlugin","evt","return","stop","Command","_isEnabledBasedOnSelection","_affectsData","undefined","decorate","listenTo","model","document","refresh","affectsData","selection","selectionInGraveyard","getFirstPosition","root","rootName","canEditAtSelection","canEditAt","isReadOnly","execute","args","MultiCommand","_childCommandsDefinitions","command","_getFirstEnabledCommand","registerChildCommand","options","insertToPriorityArray","_checkEnabled","commandDefinition","find","CommandCollection","_commands","Map","commandName","get","commandParams","CKEditorError","names","keys","commands","values","Symbol","iterator","PluginCollection","EmitterMixin","_context","_plugins","_availablePlugins","_contextPlugins","context","availablePlugins","contextPlugins","PluginConstructor","pluginName","pluginInstance","entry","key","plugin","name","has","init","plugins","pluginsToRemove","pluginsSubstitutions","that","findAvailablePluginConstructors","validatePlugins","pluginsToLoad","filter","isPluginRemoved","pluginConstructors","getPluginConstructors","substitutePlugins","pluginInstances","loadPlugins","initPlugins","then","isPluginConstructor","some","removedPlugin","getPluginName","processed","forEach","requires","map","reduce","result","parentPluginConstructor","checkMissingPlugin","checkContextPlugin","checkRemovedPlugin","missingPlugin","requiredBy","_add","method","promise","bind","Promise","resolve","pluginItem","length","pluginToReplace","indexInPluginConstructors","indexOf","splice","promises","push","all","plugin1","plugin2","Context","config","locale","t","editors","defaultConfig","builtinPlugins","_contextOwner","translations","rest","Config","define","languageConfig","Locale","uiLanguage","ui","contentLanguage","Collection","concat","Array","from","_addEditor","isContextOwner","_removeEditor","remove","_getEditorConfig","includes","create","ContextPlugin","EditingKeystrokeHandler","KeystrokeHandler","keystroke","callback","evtData","cancel","DEFAULT_CATEGORY_ID","DEFAULT_GROUP_ID","Accessibility","keystrokeInfos","_editor","isMenuBarVisible","addKeystrokeInfoCategory","label","description","navigationKeystrokes","mayRequireFn","groups","keystrokes","addKeystrokeInfoGroup","categoryId","group","category","groupId","addKeystrokeInfos","getEditorUsageData","sessionId","getSessionId","pageSessionId","getPageSessionID","hostname","window","location","version","globalThis","CKEDITOR_VERSION","type","getEditorType","getPluginsUsageData","distribution","getDistributionUsageData","env","getEnvUsageData","integration","Object","menuBar","isVisible","language","content","toolbar","main","getToolbarUsageData","block","balloon","getPrototypeOf","editorName","collection","isContext","isOfficial","isPremium","toolbarConfig","normalizedToolbar","isArray","items","flattenToolbarConfigNames","extractToolbarConfigItemsNames","isMultiline","shouldNotGroupWhenFull","stripToolbarSeparatorItems","item","flatMap","channel","for","os","browser","isMac","isWindows","isiOS","isAndroid","isGecko","isBlink","isSafari","localStorage","getItem","setItem","uid","global","CKEDITOR_PAGE_SESSION_ID","Editor","accessibility","conversion","data","editing","_readOnlyLocks","constructor","defaultTranslations","checkLicenseKeyIsDefined","once","state","Model","stylesProcessor","StylesProcessor","DataController","EditingController","view","to","Conversion","downcastDispatcher","upcastDispatcher","addAlias","verifyLicenseKey","licenseKey","CKEDITOR_GLOBAL_LICENSE_KEY","distributionChannel","blockEditor","reason","enableReadOnlyMode","_showLicenseError","hasAllRequiredFields","licensePayload","requiredFields","every","field","getCrcInputData","keysToCheck","getOwnPropertyNames","sort","filteredValues","checkLicensedHosts","licensedHosts","URL","href","segments","split","host","fill","octets","segment","index","warnAboutNonProductionLicenseKey","licenseType","capitalizedLicenseType","toUpperCase","slice","article","console","info","warn","decodeLicenseKey","toArray","crc32","vc","toLowerCase","expirationDate","Date","exp","releaseDate","now","CKEDITOR_WARNING_SUPPRESSIONS","timerId","setTimeout","clearTimeout","usageEndpoint","request","requestId","requestTime","Math","round","license","collectUsageData","_sendUsageRequest","response","status","message","logError","url","value","lockId","fire","disableReadOnlyMode","setData","getData","removePlugins","extraPlugins","checkPluginsAllowedByLicenseKey","decodedPayload","disallowedPlugin","pluginConstructor","licenseFeatureCode","isFeatureBlockedByLicenseKey","readyPromise","err","rethrowUnexpectedError","focus","Error","EditorWatchdog","ContextWatchdog","gluePluginName","replace","containsGluePlugin","featureName","endpoint","headers","Headers","fetch","body","JSON","stringify","ok","json","collectedData","setUsageData","path","attachToForm","isFunction","updateSourceElement","sourceElement","isTextArea","form","originalSubmit","onSubmit","submit","apply","addEventListener","removeEventListener","tagName","ElementApiMixin","base","Mixin","shouldUpdateSourceElement","isSourceElementTextArea","HTMLTextAreaElement","setDataInElement","dataToSet","secureSourceElement","ckeditorInstance","PendingActions","_actions","idProperty","delegate","action","hasAny","first"],"mappings":"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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA;AAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA;AAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA;AAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACjF,CAAA,CAAA,CAAA,CAAA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","file":"index.js.map","sourcesContent":["import { ObservableMixin, insertToPriorityArray, CKEditorError, EmitterMixin, Config, Locale, Collection, KeystrokeHandler, env, global, uid, decodeLicenseKey, toArray, crc32, releaseDate, logError, isFeatureBlockedByLicenseKey, setDataInElement } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { get, set, isFunction } from 'es-toolkit/compat';\nimport { Model, StylesProcessor, DataController, EditingController, Conversion } from '@ckeditor/ckeditor5-engine/dist/index.js';\nimport { EditorWatchdog, ContextWatchdog } from '@ckeditor/ckeditor5-watchdog/dist/index.js';\n\n/**\n * The base class for CKEditor plugin classes.\n */ class Plugin extends /* #__PURE__ */ ObservableMixin() {\n /**\n\t * The editor instance.\n\t *\n\t * Note that most editors implement the {@link module:core/editor/editor~Editor#ui} property.\n\t * However, editors with an external UI (i.e. Bootstrap-based) or a headless editor may not have this property or\n\t * throw an error when accessing it.\n\t *\n\t * Because of above, to make plugins more universal, it is recommended to split features into:\n\t * - The \"editing\" part that uses the {@link module:core/editor/editor~Editor} class without `ui` property.\n\t * - The \"UI\" part that uses the {@link module:core/editor/editor~Editor} class and accesses `ui` property.\n\t */ editor;\n /**\n\t * Holds identifiers for {@link #forceDisabled} mechanism.\n\t */ _disableStack = new Set();\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super();\n this.editor = editor;\n this.set('isEnabled', true);\n }\n /**\n\t * Disables the plugin.\n\t *\n\t * Plugin may be disabled by multiple features or algorithms (at once). When disabling a plugin, unique id should be passed\n\t * (e.g. feature name). The same identifier should be used when {@link #clearForceDisabled enabling back} the plugin.\n\t * The plugin becomes enabled only after all features {@link #clearForceDisabled enabled it back}.\n\t *\n\t * Disabling and enabling a plugin:\n\t *\n\t * ```ts\n\t * plugin.isEnabled; // -> true\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> false\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * Plugin disabled by multiple features:\n\t *\n\t * ```ts\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.forceDisabled( 'OtherFeature' );\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> false\n\t * plugin.clearForceDisabled( 'OtherFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * Multiple disabling with the same identifier is redundant:\n\t *\n\t * ```ts\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * **Note:** some plugins or algorithms may have more complex logic when it comes to enabling or disabling certain plugins,\n\t * so the plugin might be still disabled after {@link #clearForceDisabled} was used.\n\t *\n\t * @param id Unique identifier for disabling. Use the same id when {@link #clearForceDisabled enabling back} the plugin.\n\t */ forceDisabled(id) {\n this._disableStack.add(id);\n if (this._disableStack.size == 1) {\n this.on('set:isEnabled', forceDisable$1, {\n priority: 'highest'\n });\n this.isEnabled = false;\n }\n }\n /**\n\t * Clears forced disable previously set through {@link #forceDisabled}. See {@link #forceDisabled}.\n\t *\n\t * @param id Unique identifier, equal to the one passed in {@link #forceDisabled} call.\n\t */ clearForceDisabled(id) {\n this._disableStack.delete(id);\n if (this._disableStack.size == 0) {\n this.off('set:isEnabled', forceDisable$1);\n this.isEnabled = true;\n }\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n this.stopListening();\n }\n /**\n\t * @inheritDoc\n\t */ static get isContextPlugin() {\n return false;\n }\n /**\n\t * @inheritDoc\n\t * @internal\n\t */ static get isOfficialPlugin() {\n return false;\n }\n /**\n\t * @inheritDoc\n\t * @internal\n\t */ static get isPremiumPlugin() {\n return false;\n }\n}\n/**\n * Helper function that forces plugin to be disabled.\n */ function forceDisable$1(evt) {\n evt.return = false;\n evt.stop();\n}\n\n/**\n * Base class for the CKEditor commands.\n *\n * Commands are the main way to manipulate the editor contents and state. They are mostly used by UI elements (or by other\n * commands) to make changes in the model. Commands are available in every part of the code that has access to\n * the {@link module:core/editor/editor~Editor editor} instance.\n *\n * Instances of registered commands can be retrieved from {@link module:core/editor/editor~Editor#commands `editor.commands`}.\n * The easiest way to execute a command is through {@link module:core/editor/editor~Editor#execute `editor.execute()`}.\n *\n * By default, commands are disabled when the editor is in the {@link module:core/editor/editor~Editor#isReadOnly read-only} mode\n * but commands with the {@link module:core/command~Command#affectsData `affectsData`} flag set to `false` will not be disabled.\n */ class Command extends /* #__PURE__ */ ObservableMixin() {\n /**\n\t * The editor on which this command will be used.\n\t */ editor;\n /**\n\t * A flag indicating whether a command's `isEnabled` state should be changed depending on where the document\n\t * selection is placed.\n\t *\n\t * By default, it is set to `true`. If the document selection is placed in a\n\t * {@link module:engine/model/model~Model#canEditAt non-editable} place (such as non-editable root), the command becomes disabled.\n\t *\n\t * The flag should be changed to `false` in a concrete command's constructor if the command should not change its `isEnabled`\n\t * accordingly to the document selection.\n\t */ _isEnabledBasedOnSelection;\n /**\n\t * A flag indicating whether a command execution changes the editor data or not.\n\t *\n\t * @see #affectsData\n\t */ _affectsData;\n /**\n\t * Holds identifiers for {@link #forceDisabled} mechanism.\n\t */ _disableStack;\n /**\n\t * Creates a new `Command` instance.\n\t *\n\t * @param editor The editor on which this command will be used.\n\t */ constructor(editor){\n super();\n this.editor = editor;\n this.set('value', undefined);\n this.set('isEnabled', false);\n this._affectsData = true;\n this._isEnabledBasedOnSelection = true;\n this._disableStack = new Set();\n this.decorate('execute');\n // By default, every command is refreshed when changes are applied to the model.\n this.listenTo(this.editor.model.document, 'change', ()=>{\n this.refresh();\n });\n this.listenTo(editor, 'change:isReadOnly', ()=>{\n this.refresh();\n });\n // By default, commands are disabled if the selection is in non-editable place or editor is in read-only mode.\n this.on('set:isEnabled', (evt)=>{\n if (!this.affectsData) {\n return;\n }\n const selection = editor.model.document.selection;\n const selectionInGraveyard = selection.getFirstPosition().root.rootName == '$graveyard';\n const canEditAtSelection = !selectionInGraveyard && editor.model.canEditAt(selection);\n // Disable if editor is read only, or when selection is in a place which cannot be edited.\n //\n // Checking `editor.isReadOnly` is needed for all commands that have `_isEnabledBasedOnSelection == false`.\n // E.g. undo does not base on selection, but affects data and should be disabled when the editor is in read-only mode.\n if (editor.isReadOnly || this._isEnabledBasedOnSelection && !canEditAtSelection) {\n evt.return = false;\n evt.stop();\n }\n }, {\n priority: 'highest'\n });\n this.on('execute', (evt)=>{\n if (!this.isEnabled) {\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n }\n /**\n\t * A flag indicating whether a command execution changes the editor data or not.\n\t *\n\t * Commands with `affectsData` set to `false` will not be automatically disabled in\n\t * the {@link module:core/editor/editor~Editor#isReadOnly read-only mode} and\n\t * {@glink features/read-only#related-features other editor modes} with restricted user write permissions.\n\t *\n\t * **Note:** You do not have to set it for your every command. It is `true` by default.\n\t *\n\t * @default true\n\t */ get affectsData() {\n return this._affectsData;\n }\n set affectsData(affectsData) {\n this._affectsData = affectsData;\n }\n /**\n\t * Refreshes the command. The command should update its {@link #isEnabled} and {@link #value} properties\n\t * in this method.\n\t *\n\t * This method is automatically called when\n\t * {@link module:engine/model/document~ModelDocument#event:change any changes are applied to the document}.\n\t */ refresh() {\n this.isEnabled = true;\n }\n /**\n\t * Disables the command.\n\t *\n\t * Command may be disabled by multiple features or algorithms (at once). When disabling a command, unique id should be passed\n\t * (e.g. the feature name). The same identifier should be used when {@link #clearForceDisabled enabling back} the command.\n\t * The command becomes enabled only after all features {@link #clearForceDisabled enabled it back}.\n\t *\n\t * Disabling and enabling a command:\n\t *\n\t * ```ts\n\t * command.isEnabled; // -> true\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> false\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * Command disabled by multiple features:\n\t *\n\t * ```ts\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.forceDisabled( 'OtherFeature' );\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> false\n\t * command.clearForceDisabled( 'OtherFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * Multiple disabling with the same identifier is redundant:\n\t *\n\t * ```ts\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * **Note:** some commands or algorithms may have more complex logic when it comes to enabling or disabling certain commands,\n\t * so the command might be still disabled after {@link #clearForceDisabled} was used.\n\t *\n\t * @param id Unique identifier for disabling. Use the same id when {@link #clearForceDisabled enabling back} the command.\n\t */ forceDisabled(id) {\n this._disableStack.add(id);\n if (this._disableStack.size == 1) {\n this.on('set:isEnabled', forceDisable, {\n priority: 'highest'\n });\n this.isEnabled = false;\n }\n }\n /**\n\t * Clears forced disable previously set through {@link #forceDisabled}. See {@link #forceDisabled}.\n\t *\n\t * @param id Unique identifier, equal to the one passed in {@link #forceDisabled} call.\n\t */ clearForceDisabled(id) {\n this._disableStack.delete(id);\n if (this._disableStack.size == 0) {\n this.off('set:isEnabled', forceDisable);\n this.refresh();\n }\n }\n /**\n\t * Executes the command.\n\t *\n\t * A command may accept parameters. They will be passed from {@link module:core/editor/editor~Editor#execute `editor.execute()`}\n\t * to the command.\n\t *\n\t * The `execute()` method will automatically abort when the command is disabled ({@link #isEnabled} is `false`).\n\t * This behavior is implemented by a high priority listener to the {@link #event:execute} event.\n\t *\n\t * In order to see how to disable a command from \"outside\" see the {@link #isEnabled} documentation.\n\t *\n\t * This method may return a value, which would be forwarded all the way down to the\n\t * {@link module:core/editor/editor~Editor#execute `editor.execute()`}.\n\t *\n\t * @fires execute\n\t */ execute(...args) {\n return undefined;\n }\n /**\n\t * Destroys the command.\n\t */ destroy() {\n this.stopListening();\n }\n}\n/**\n * Helper function that forces command to be disabled.\n */ function forceDisable(evt) {\n evt.return = false;\n evt.stop();\n}\n\n/**\n * A CKEditor command that aggregates other commands.\n *\n * This command is used to proxy multiple commands. The multi-command is enabled when\n * at least one of its registered child commands is enabled.\n * When executing a multi-command, the first enabled command with highest priority will be executed.\n *\n * ```ts\n * const multiCommand = new MultiCommand( editor );\n *\n * const commandFoo = new Command( editor );\n * const commandBar = new Command( editor );\n *\n * // Register a child command.\n * multiCommand.registerChildCommand( commandFoo );\n * // Register a child command with a low priority.\n * multiCommand.registerChildCommand( commandBar, { priority: 'low' } );\n *\n * // Enable one of the commands.\n * commandBar.isEnabled = true;\n *\n * multiCommand.execute(); // Will execute commandBar.\n * ```\n */ class MultiCommand extends Command {\n /**\n\t * Registered child commands definitions.\n\t */ _childCommandsDefinitions = [];\n /**\n\t * @inheritDoc\n\t */ refresh() {\n // Override base command refresh(): the command's state is changed when one of child commands changes states.\n }\n /**\n\t * Executes the first enabled command which has the highest priority of all registered child commands.\n\t *\n\t * @returns The value returned by the {@link module:core/command~Command#execute `command.execute()`}.\n\t */ execute(...args) {\n const command = this._getFirstEnabledCommand();\n return !!command && command.execute(args);\n }\n /**\n\t * Registers a child command.\n\t *\n\t * @param options An object with configuration options.\n\t * @param options.priority Priority of a command to register.\n\t */ registerChildCommand(command, options = {}) {\n insertToPriorityArray(this._childCommandsDefinitions, {\n command,\n priority: options.priority || 'normal'\n });\n // Change multi-command enabled state when one of registered commands changes state.\n command.on('change:isEnabled', ()=>this._checkEnabled());\n this._checkEnabled();\n }\n /**\n\t * Checks if any of child commands is enabled.\n\t */ _checkEnabled() {\n this.isEnabled = !!this._getFirstEnabledCommand();\n }\n /**\n\t * Returns a first enabled command with the highest priority or `undefined` if none of them is enabled.\n\t */ _getFirstEnabledCommand() {\n const commandDefinition = this._childCommandsDefinitions.find(({ command })=>command.isEnabled);\n return commandDefinition && commandDefinition.command;\n }\n}\n\n/**\n * Collection of commands. Its instance is available in {@link module:core/editor/editor~Editor#commands `editor.commands`}.\n */ class CommandCollection {\n /**\n\t * Command map.\n\t */ _commands;\n /**\n\t * Creates collection instance.\n\t */ constructor(){\n this._commands = new Map();\n }\n /**\n\t * Registers a new command.\n\t *\n\t * @param commandName The name of the command.\n\t */ add(commandName, command) {\n this._commands.set(commandName, command);\n }\n /**\n\t * Retrieves a command from the collection.\n\t *\n\t * @param commandName The name of the command.\n\t */ get(commandName) {\n return this._commands.get(commandName);\n }\n /**\n\t * Executes a command.\n\t *\n\t * @param commandName The name of the command.\n\t * @param commandParams Command parameters.\n\t * @returns The value returned by the {@link module:core/command~Command#execute `command.execute()`}.\n\t */ execute(commandName, ...commandParams) {\n const command = this.get(commandName);\n if (!command) {\n /**\n\t\t\t * Command does not exist.\n\t\t\t *\n\t\t\t * @error commandcollection-command-not-found\n\t\t\t * @param {string} commandName Name of the command.\n\t\t\t */ throw new CKEditorError('commandcollection-command-not-found', this, {\n commandName\n });\n }\n return command.execute(...commandParams);\n }\n /**\n\t * Returns iterator of command names.\n\t */ *names() {\n yield* this._commands.keys();\n }\n /**\n\t * Returns iterator of command instances.\n\t */ *commands() {\n yield* this._commands.values();\n }\n /**\n\t * Iterable interface.\n\t *\n\t * Returns `[ commandName, commandInstance ]` pairs.\n\t */ [Symbol.iterator]() {\n return this._commands[Symbol.iterator]();\n }\n /**\n\t * Destroys all collection commands.\n\t */ destroy() {\n for (const command of this.commands()){\n command.destroy();\n }\n }\n}\n\n/**\n * Manages a list of CKEditor plugins, including loading, resolving dependencies and initialization.\n */ class PluginCollection extends /* #__PURE__ */ EmitterMixin() {\n _context;\n _plugins = new Map();\n /**\n\t * A map of plugin constructors that can be retrieved by their names.\n\t */ _availablePlugins;\n /**\n\t * Map of {@link module:core/contextplugin~ContextPlugin context plugins} which can be retrieved by their constructors or instances.\n\t */ _contextPlugins;\n /**\n\t * Creates an instance of the plugin collection class.\n\t * Allows loading and initializing plugins and their dependencies.\n\t * Allows providing a list of already loaded plugins. These plugins will not be destroyed along with this collection.\n\t *\n\t * @param availablePlugins Plugins (constructors) which the collection will be able to use\n\t * when {@link module:core/plugincollection~PluginCollection#init} is used with the plugin names (strings, instead of constructors).\n\t * Usually, the editor will pass its built-in plugins to the collection so they can later be\n\t * used in `config.plugins` or `config.removePlugins` by names.\n\t * @param contextPlugins A list of already initialized plugins represented by a `[ PluginConstructor, pluginInstance ]` pair.\n\t */ constructor(context, availablePlugins = [], contextPlugins = []){\n super();\n this._context = context;\n this._availablePlugins = new Map();\n for (const PluginConstructor of availablePlugins){\n if (PluginConstructor.pluginName) {\n this._availablePlugins.set(PluginConstructor.pluginName, PluginConstructor);\n }\n }\n this._contextPlugins = new Map();\n for (const [PluginConstructor, pluginInstance] of contextPlugins){\n this._contextPlugins.set(PluginConstructor, pluginInstance);\n this._contextPlugins.set(pluginInstance, PluginConstructor);\n // To make it possible to require a plugin by its name.\n if (PluginConstructor.pluginName) {\n this._availablePlugins.set(PluginConstructor.pluginName, PluginConstructor);\n }\n }\n }\n /**\n\t * Iterable interface.\n\t *\n\t * Returns `[ PluginConstructor, pluginInstance ]` pairs.\n\t */ *[Symbol.iterator]() {\n for (const entry of this._plugins){\n if (typeof entry[0] == 'function') {\n yield entry;\n }\n }\n }\n /**\n\t * Gets the plugin instance by its constructor or name.\n\t *\n\t * ```ts\n\t * // Check if 'Clipboard' plugin was loaded.\n\t * if ( editor.plugins.has( 'ClipboardPipeline' ) ) {\n\t * \t// Get clipboard plugin instance\n\t * \tconst clipboard = editor.plugins.get( 'ClipboardPipeline' );\n\t *\n\t * \tthis.listenTo( clipboard, 'inputTransformation', ( evt, data ) => {\n\t * \t\t// Do something on clipboard input.\n\t * \t} );\n\t * }\n\t * ```\n\t *\n\t * **Note**: This method will throw an error if a plugin is not loaded. Use `{@link #has editor.plugins.has()}`\n\t * to check if a plugin is available.\n\t *\n\t * @param key The plugin constructor or {@link module:core/plugin~PluginStaticMembers#pluginName name}.\n\t */ get(key) {\n const plugin = this._plugins.get(key);\n if (!plugin) {\n let pluginName = key;\n if (typeof key == 'function') {\n pluginName = key.pluginName || key.name;\n }\n /**\n\t\t\t * The plugin is not loaded and could not be obtained.\n\t\t\t *\n\t\t\t * Plugin classes (constructors) need to be provided to the editor and must be loaded before they can be obtained from\n\t\t\t * the plugin collection.\n\t\t\t *\n\t\t\t * **Note**: You can use `{@link module:core/plugincollection~PluginCollection#has editor.plugins.has()}`\n\t\t\t * to check if a plugin was loaded.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-not-loaded\n\t\t\t * @param {string} plugin The name of the plugin which is not loaded.\n\t\t\t */ throw new CKEditorError('plugincollection-plugin-not-loaded', this._context, {\n plugin: pluginName\n });\n }\n return plugin;\n }\n /**\n\t * Checks if a plugin is loaded.\n\t *\n\t * ```ts\n\t * // Check if the 'Clipboard' plugin was loaded.\n\t * if ( editor.plugins.has( 'ClipboardPipeline' ) ) {\n\t * \t// Now use the clipboard plugin instance:\n\t * \tconst clipboard = editor.plugins.get( 'ClipboardPipeline' );\n\t *\n\t * \t// ...\n\t * }\n\t * ```\n\t *\n\t * @param key The plugin constructor or {@link module:core/plugin~PluginStaticMembers#pluginName name}.\n\t */ has(key) {\n return this._plugins.has(key);\n }\n /**\n\t * Initializes a set of plugins and adds them to the collection.\n\t *\n\t * @param plugins An array of {@link module:core/plugin~PluginInterface plugin constructors}\n\t * or {@link module:core/plugin~PluginStaticMembers#pluginName plugin names}.\n\t * @param pluginsToRemove Names of the plugins or plugin constructors\n\t * that should not be loaded (despite being specified in the `plugins` array).\n\t * @param pluginsSubstitutions An array of {@link module:core/plugin~PluginInterface plugin constructors}\n\t * that will be used to replace plugins of the same names that were passed in `plugins` or that are in their dependency tree.\n\t * A useful option for replacing built-in plugins while creating tests (for mocking their APIs). Plugins that will be replaced\n\t * must follow these rules:\n\t * * The new plugin must be a class.\n\t * * The new plugin must be named.\n\t * * Both plugins must not depend on other plugins.\n\t * @returns A promise which gets resolved once all plugins are loaded and available in the collection.\n\t */ init(plugins, pluginsToRemove = [], pluginsSubstitutions = []) {\n // Plugin initialization procedure consists of 2 main steps:\n // 1) collecting all available plugin constructors,\n // 2) verification whether all required plugins can be instantiated.\n //\n // In the first step, all plugin constructors, available in the provided `plugins` array and inside\n // plugin's dependencies (from the `Plugin.requires` array), are recursively collected and added to the existing\n // `this._availablePlugins` map, but without any verification at the given moment. Performing the verification\n // at this point (during the plugin constructor searching) would cause false errors to occur, that some plugin\n // is missing but in fact it may be defined further in the array as the dependency of other plugin. After\n // traversing the entire dependency tree, it will be checked if all required \"top level\" plugins are available.\n //\n // In the second step, the list of plugins that have not been explicitly removed is traversed to get all the\n // plugin constructors to be instantiated in the correct order and to validate against some rules. Finally, if\n // no plugin is missing and no other error has been found, they all will be instantiated.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const context = this._context;\n findAvailablePluginConstructors(plugins);\n validatePlugins(plugins);\n const pluginsToLoad = plugins.filter((plugin)=>!isPluginRemoved(plugin, pluginsToRemove));\n const pluginConstructors = [\n ...getPluginConstructors(pluginsToLoad)\n ];\n substitutePlugins(pluginConstructors, pluginsSubstitutions);\n const pluginInstances = loadPlugins(pluginConstructors);\n return initPlugins(pluginInstances, 'init').then(()=>initPlugins(pluginInstances, 'afterInit')).then(()=>pluginInstances);\n function isPluginConstructor(plugin) {\n return typeof plugin === 'function';\n }\n function isContextPlugin(plugin) {\n return isPluginConstructor(plugin) && !!plugin.isContextPlugin;\n }\n function isPluginRemoved(plugin, pluginsToRemove) {\n return pluginsToRemove.some((removedPlugin)=>{\n if (removedPlugin === plugin) {\n return true;\n }\n if (getPluginName(plugin) === removedPlugin) {\n return true;\n }\n if (getPluginName(removedPlugin) === plugin) {\n return true;\n }\n return false;\n });\n }\n function getPluginName(plugin) {\n return isPluginConstructor(plugin) ? plugin.pluginName || plugin.name : plugin;\n }\n function findAvailablePluginConstructors(plugins, processed = new Set()) {\n plugins.forEach((plugin)=>{\n if (!isPluginConstructor(plugin)) {\n return;\n }\n if (processed.has(plugin)) {\n return;\n }\n processed.add(plugin);\n if (plugin.pluginName && !that._availablePlugins.has(plugin.pluginName)) {\n that._availablePlugins.set(plugin.pluginName, plugin);\n }\n if (plugin.requires) {\n findAvailablePluginConstructors(plugin.requires, processed);\n }\n });\n }\n function getPluginConstructors(plugins, processed = new Set()) {\n return plugins.map((plugin)=>{\n return isPluginConstructor(plugin) ? plugin : that._availablePlugins.get(plugin);\n }).reduce((result, plugin)=>{\n if (processed.has(plugin)) {\n return result;\n }\n processed.add(plugin);\n if (plugin.requires) {\n validatePlugins(plugin.requires, plugin);\n getPluginConstructors(plugin.requires, processed).forEach((plugin)=>result.add(plugin));\n }\n return result.add(plugin);\n }, new Set());\n }\n function validatePlugins(plugins, parentPluginConstructor = null) {\n plugins.map((plugin)=>{\n return isPluginConstructor(plugin) ? plugin : that._availablePlugins.get(plugin) || plugin;\n }).forEach((plugin)=>{\n checkMissingPlugin(plugin, parentPluginConstructor);\n checkContextPlugin(plugin, parentPluginConstructor);\n checkRemovedPlugin(plugin, parentPluginConstructor);\n });\n }\n function checkMissingPlugin(plugin, parentPluginConstructor) {\n if (isPluginConstructor(plugin)) {\n return;\n }\n if (parentPluginConstructor) {\n /**\n\t\t\t\t * A required \"soft\" dependency was not found on the plugin list.\n\t\t\t\t *\n\t\t\t\t * When configuring the editor, either prior to building (via\n\t\t\t\t * {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}) or when\n\t\t\t\t * creating a new instance of the editor (e.g. via\n\t\t\t\t * {@link module:core/editor/editorconfig~EditorConfig#plugins `config.plugins`}), you need to provide\n\t\t\t\t * some of the dependencies for other plugins that you used.\n\t\t\t\t *\n\t\t\t\t * This error is thrown when one of these dependencies was not provided. The name of the missing plugin\n\t\t\t\t * can be found in `missingPlugin` and the plugin that required it in `requiredBy`.\n\t\t\t\t *\n\t\t\t\t * In order to resolve it, you need to import the missing plugin and add it to the\n\t\t\t\t * current list of plugins (`Editor.builtinPlugins` or `config.plugins`/`config.extraPlugins`).\n\t\t\t\t *\n\t\t\t\t * Soft requirements were introduced in version 26.0.0. If you happen to stumble upon this error\n\t\t\t\t * when upgrading to version 26.0.0, read also the\n\t\t\t\t * {@glink updating/guides/update-to-26 Migration to 26.0.0} guide.\n\t\t\t\t *\n\t\t\t\t * @error plugincollection-soft-required\n\t\t\t\t * @param {string} missingPlugin The name of the required plugin.\n\t\t\t\t * @param {string} requiredBy The name of the plugin that requires the other plugin.\n\t\t\t\t */ throw new CKEditorError('plugincollection-soft-required', context, {\n missingPlugin: plugin,\n requiredBy: getPluginName(parentPluginConstructor)\n });\n }\n /**\n\t\t\t * A plugin is not available and could not be loaded.\n\t\t\t *\n\t\t\t * Plugin classes (constructors) need to be provided to the editor before they can be loaded by name.\n\t\t\t * This is usually done in the now deprecated CKEditor 5 builds by setting\n\t\t\t * the {@link module:core/editor/editor~Editor.builtinPlugins} property.\n\t\t\t *\n\t\t\t * **If you see this warning when using one of the deprecated CKEditor 5 Builds**,\n\t\t\t * it means that you tried to enable a plugin that was not included in that build. This may be due to a typo\n\t\t\t * in the plugin name or simply because that plugin was not a part of this build.\n\t\t\t *\n\t\t\t * **Predefined builds are no longer supported and you need to\n\t\t\t * {@glink updating/nim-migration/migration-to-new-installation-methods migrate to new installation methods}**.\n\t\t\t *\n\t\t\t * **If you see this warning when using one of the editor creators directly** (not a build), then it means\n\t\t\t * that you tried loading plugins by name. However, unlike CKEditor 4, CKEditor 5 does not implement a \"plugin loader\".\n\t\t\t * This means that CKEditor 5 does not know where to load the plugin modules from. Therefore, you need to\n\t\t\t * provide each plugin through a reference (as a constructor function). Check out the examples in the\n\t\t\t * {@glink getting-started/installation/cloud/quick-start Quick start} guide.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-not-found\n\t\t\t * @param {string} plugin The name of the plugin which could not be loaded.\n\t\t\t */ throw new CKEditorError('plugincollection-plugin-not-found', context, {\n plugin\n });\n }\n function checkContextPlugin(plugin, parentPluginConstructor) {\n if (!isContextPlugin(parentPluginConstructor)) {\n return;\n }\n if (isContextPlugin(plugin)) {\n return;\n }\n /**\n\t\t\t * If a plugin is a context plugin, all plugins it requires should also be context plugins\n\t\t\t * instead of plugins. In other words, if one plugin can be used in the context,\n\t\t\t * all its requirements should also be ready to be used in the context. Note that the context\n\t\t\t * provides only a part of the API provided by the editor. If one plugin needs a full\n\t\t\t * editor API, all plugins which require it are considered as plugins that need a full\n\t\t\t * editor API.\n\t\t\t *\n\t\t\t * @error plugincollection-context-required\n\t\t\t * @param {string} plugin The name of the required plugin.\n\t\t\t * @param {string} requiredBy The name of the parent plugin.\n\t\t\t */ throw new CKEditorError('plugincollection-context-required', context, {\n plugin: getPluginName(plugin),\n requiredBy: getPluginName(parentPluginConstructor)\n });\n }\n function checkRemovedPlugin(plugin, parentPluginConstructor) {\n if (!parentPluginConstructor) {\n return;\n }\n if (!isPluginRemoved(plugin, pluginsToRemove)) {\n return;\n }\n /**\n\t\t\t * Cannot load a plugin because one of its dependencies is listed in the `removePlugins` option.\n\t\t\t *\n\t\t\t * @error plugincollection-required\n\t\t\t * @param {string} plugin The name of the required plugin.\n\t\t\t * @param {string} requiredBy The name of the parent plugin.\n\t\t\t */ throw new CKEditorError('plugincollection-required', context, {\n plugin: getPluginName(plugin),\n requiredBy: getPluginName(parentPluginConstructor)\n });\n }\n function loadPlugins(pluginConstructors) {\n return pluginConstructors.map((PluginConstructor)=>{\n let pluginInstance = that._contextPlugins.get(PluginConstructor);\n pluginInstance = pluginInstance || new PluginConstructor(context);\n that._add(PluginConstructor, pluginInstance);\n return pluginInstance;\n });\n }\n function initPlugins(pluginInstances, method) {\n return pluginInstances.reduce((promise, plugin)=>{\n if (!plugin[method]) {\n return promise;\n }\n if (that._contextPlugins.has(plugin)) {\n return promise;\n }\n return promise.then(plugin[method].bind(plugin));\n }, Promise.resolve());\n }\n /**\n\t\t * Replaces plugin constructors with the specified set of plugins.\n\t\t */ function substitutePlugins(pluginConstructors, pluginsSubstitutions) {\n for (const pluginItem of pluginsSubstitutions){\n if (typeof pluginItem != 'function') {\n /**\n\t\t\t\t\t * The plugin replacing an existing plugin must be a function.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replace-plugin-invalid-type\n\t\t\t\t\t * @param {never} pluginItem The plugin item.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-replace-plugin-invalid-type', null, {\n pluginItem\n });\n }\n const pluginName = pluginItem.pluginName;\n if (!pluginName) {\n /**\n\t\t\t\t\t * The plugin replacing an existing plugin must have a name.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replace-plugin-missing-name\n\t\t\t\t\t * @param {module:core/plugin~PluginConstructor} pluginItem The plugin item.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-replace-plugin-missing-name', null, {\n pluginItem\n });\n }\n if (pluginItem.requires && pluginItem.requires.length) {\n /**\n\t\t\t\t\t * The plugin replacing an existing plugin cannot depend on other plugins.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-cannot-have-dependencies\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-plugin-for-replacing-cannot-have-dependencies', null, {\n pluginName\n });\n }\n const pluginToReplace = that._availablePlugins.get(pluginName);\n if (!pluginToReplace) {\n /**\n\t\t\t\t\t * The replaced plugin does not exist in the\n\t\t\t\t\t * {@link module:core/plugincollection~PluginCollection available plugins} collection.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-not-exist\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-plugin-for-replacing-not-exist', null, {\n pluginName\n });\n }\n const indexInPluginConstructors = pluginConstructors.indexOf(pluginToReplace);\n if (indexInPluginConstructors === -1) {\n // The Context feature can substitute plugins as well.\n // It may happen that the editor will be created with the given context, where the plugin for substitute\n // was already replaced. In such a case, we don't want to do it again.\n if (that._contextPlugins.has(pluginToReplace)) {\n return;\n }\n /**\n\t\t\t\t\t * The replaced plugin will not be loaded so it cannot be replaced.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-not-loaded\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-plugin-for-replacing-not-loaded', null, {\n pluginName\n });\n }\n if (pluginToReplace.requires && pluginToReplace.requires.length) {\n /**\n\t\t\t\t\t * The replaced plugin cannot depend on other plugins.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replaced-plugin-cannot-have-dependencies\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */ throw new CKEditorError('plugincollection-replaced-plugin-cannot-have-dependencies', null, {\n pluginName\n });\n }\n pluginConstructors.splice(indexInPluginConstructors, 1, pluginItem);\n that._availablePlugins.set(pluginName, pluginItem);\n }\n }\n }\n /**\n\t * Destroys all loaded plugins.\n\t */ destroy() {\n const promises = [];\n for (const [, pluginInstance] of this){\n if (typeof pluginInstance.destroy == 'function' && !this._contextPlugins.has(pluginInstance)) {\n promises.push(pluginInstance.destroy());\n }\n }\n return Promise.all(promises);\n }\n /**\n\t * Adds the plugin to the collection. Exposed mainly for testing purposes.\n\t *\n\t * @param PluginConstructor The plugin constructor.\n\t * @param plugin The instance of the plugin.\n\t */ _add(PluginConstructor, plugin) {\n this._plugins.set(PluginConstructor, plugin);\n const pluginName = PluginConstructor.pluginName;\n if (!pluginName) {\n return;\n }\n if (this._plugins.has(pluginName)) {\n /**\n\t\t\t * Two plugins with the same {@link module:core/plugin~PluginStaticMembers#pluginName} were loaded.\n\t\t\t * This will lead to runtime conflicts between these plugins.\n\t\t\t *\n\t\t\t * In practice, this warning usually means that new plugins were added to an existing CKEditor 5 build.\n\t\t\t * Plugins should always be added to a source version of the editor (`@ckeditor/ckeditor5-editor-*`),\n\t\t\t * not to an editor imported from one of the `@ckeditor/ckeditor5-build-*` packages.\n\t\t\t *\n\t\t\t * Check your import paths and the list of plugins passed to\n\t\t\t * {@link module:core/editor/editor~Editor.create `Editor.create()`}\n\t\t\t * or specified in {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}.\n\t\t\t *\n\t\t\t * Predefined builds are a deprecated solution and we strongly advise\n\t\t\t * {@glink updating/nim-migration/migration-to-new-installation-methods migrating to new installation methods}.\n\t\t\t *\n\t\t\t * The second option is that your `node_modules/` directory contains duplicated versions of the same\n\t\t\t * CKEditor 5 packages. Normally, on clean installations, npm deduplicates packages in `node_modules/`, so\n\t\t\t * it may be enough to call `rm -rf node_modules && npm i`. However, if you installed conflicting versions\n\t\t\t * of some packages, their dependencies may need to be installed in more than one version which may lead to this\n\t\t\t * warning.\n\t\t\t *\n\t\t\t * Technically speaking, this error occurs because after adding a plugin to an existing editor build\n\t\t\t * the dependencies of this plugin are being duplicated.\n\t\t\t * They are already built into that editor build and now get added for the second time as dependencies\n\t\t\t * of the plugin you are installing.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-name-conflict\n\t\t\t * @param {string} pluginName The duplicated plugin name.\n\t\t\t * @param {module:core/plugin~PluginConstructor} plugin1 The first plugin constructor.\n\t\t\t * @param {module:core/plugin~PluginConstructor} plugin2 The second plugin constructor.\n\t\t\t */ throw new CKEditorError('plugincollection-plugin-name-conflict', null, {\n pluginName,\n plugin1: this._plugins.get(pluginName).constructor,\n plugin2: PluginConstructor\n });\n }\n this._plugins.set(pluginName, plugin);\n }\n}\n\n/**\n * Provides a common, higher-level environment for solutions that use multiple {@link module:core/editor/editor~Editor editors}\n * or plugins that work outside the editor. Use it instead of {@link module:core/editor/editor~Editor.create `Editor.create()`}\n * in advanced application integrations.\n *\n * All configuration options passed to a context will be used as default options for the editor instances initialized in that context.\n *\n * {@link module:core/contextplugin~ContextPlugin Context plugins} passed to a context instance will be shared among all\n * editor instances initialized in this context. These will be the same plugin instances for all the editors.\n *\n * **Note:** The context can only be initialized with {@link module:core/contextplugin~ContextPlugin context plugins}\n * (e.g. [comments](https://ckeditor.com/collaboration/comments/)). Regular {@link module:core/plugin~Plugin plugins} require an\n * editor instance to work and cannot be added to a context.\n *\n * **Note:** You can add a context plugin to an editor instance, though.\n *\n * If you are using multiple editor instances on one page and use any context plugins, create a context to share the configuration and\n * plugins among these editors. Some plugins will use the information about all existing editors to better integrate between them.\n *\n * If you are using plugins that do not require an editor to work (e.g. [comments](https://ckeditor.com/collaboration/comments/)),\n * enable and configure them using the context.\n *\n * If you are using only a single editor on each page, use {@link module:core/editor/editor~Editor.create `Editor.create()`} instead.\n * In such a case, a context instance will be created by the editor instance in a transparent way.\n *\n * See {@link ~Context.create `Context.create()`} for usage examples.\n */ class Context {\n /**\n\t * Stores all the configurations specific to this context instance.\n\t */ config;\n /**\n\t * The plugins loaded and in use by this context instance.\n\t */ plugins;\n locale;\n /**\n\t * Shorthand for {@link module:utils/locale~Locale#t}.\n\t */ t;\n /**\n\t * A list of editors that this context instance is injected to.\n\t */ editors;\n /**\n\t * The default configuration which is built into the `Context` class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds featuring `Context` to provide the default configuration options\n\t * which are later used during the context initialization.\n\t *\n\t * ```ts\n\t * Context.defaultConfig = {\n\t * \tfoo: 1,\n\t * \tbar: 2\n\t * };\n\t *\n\t * Context\n\t * \t.create()\n\t * \t.then( context => {\n\t * \t\tcontext.config.get( 'foo' ); // -> 1\n\t * \t\tcontext.config.get( 'bar' ); // -> 2\n\t * \t} );\n\t *\n\t * // The default options can be overridden by the configuration passed to create().\n\t * Context\n\t * \t.create( { bar: 3 } )\n\t * \t.then( context => {\n\t * \t\tcontext.config.get( 'foo' ); // -> 1\n\t * \t\tcontext.config.get( 'bar' ); // -> 3\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/context~Context.builtinPlugins `Context.builtinPlugins`}\n\t * and {@link module:core/editor/editor~Editor.defaultConfig `Editor.defaultConfig`}.\n\t */ static defaultConfig;\n /**\n\t * An array of plugins built into the `Context` class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds featuring `Context` to provide the default configuration options\n\t * which are later used during the context initialization.\n\t *\n\t * They will be automatically initialized by `Context` unless `config.plugins` is passed.\n\t *\n\t * ```ts\n\t * // Build some context plugins into the Context class first.\n\t * Context.builtinPlugins = [ FooPlugin, BarPlugin ];\n\t *\n\t * // Normally, you need to define config.plugins, but since Context.builtinPlugins was\n\t * // defined, now you can call create() without any configuration.\n\t * Context\n\t * \t.create()\n\t * \t.then( context => {\n\t * \t\tcontext.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\tcontext.plugins.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/context~Context.defaultConfig `Context.defaultConfig`}\n\t * and {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}.\n\t */ static builtinPlugins;\n /**\n\t * Reference to the editor which created the context.\n\t * Null when the context was created outside of the editor.\n\t *\n\t * It is used to destroy the context when removing the editor that has created the context.\n\t */ _contextOwner = null;\n /**\n\t * Creates a context instance with a given configuration.\n\t *\n\t * Usually not to be used directly. See the static {@link module:core/context~Context.create `create()`} method.\n\t *\n\t * @param config The context configuration.\n\t */ constructor(config){\n // We don't pass translations to the config, because its behavior of splitting keys\n // with dots (e.g. `resize.width` => `resize: { width }`) breaks the translations.\n const { translations, ...rest } = config || {};\n this.config = new Config(rest, this.constructor.defaultConfig);\n const availablePlugins = this.constructor.builtinPlugins;\n this.config.define('plugins', availablePlugins);\n this.plugins = new PluginCollection(this, availablePlugins);\n const languageConfig = this.config.get('language') || {};\n this.locale = new Locale({\n uiLanguage: typeof languageConfig === 'string' ? languageConfig : languageConfig.ui,\n contentLanguage: this.config.get('language.content'),\n translations\n });\n this.t = this.locale.t;\n this.editors = new Collection();\n }\n /**\n\t * Loads and initializes plugins specified in the configuration.\n\t *\n\t * @returns A promise which resolves once the initialization is completed, providing an array of loaded plugins.\n\t */ initPlugins() {\n const plugins = this.config.get('plugins') || [];\n const substitutePlugins = this.config.get('substitutePlugins') || [];\n // Plugins for substitution should be checked as well.\n for (const Plugin of plugins.concat(substitutePlugins)){\n if (typeof Plugin != 'function') {\n /**\n\t\t\t\t * Only a constructor function is allowed as a {@link module:core/contextplugin~ContextPlugin context plugin}.\n\t\t\t\t *\n\t\t\t\t * @error context-initplugins-constructor-only\n\t\t\t\t */ throw new CKEditorError('context-initplugins-constructor-only', null, {\n Plugin\n });\n }\n if (Plugin.isContextPlugin !== true) {\n /**\n\t\t\t\t * Only a plugin marked as a {@link module:core/contextplugin~ContextPlugin.isContextPlugin context plugin}\n\t\t\t\t * is allowed to be used with a context.\n\t\t\t\t *\n\t\t\t\t * @error context-initplugins-invalid-plugin\n\t\t\t\t */ throw new CKEditorError('context-initplugins-invalid-plugin', null, {\n Plugin\n });\n }\n }\n return this.plugins.init(plugins, [], substitutePlugins);\n }\n /**\n\t * Destroys the context instance and all editors used with the context,\n\t * releasing all resources used by the context.\n\t *\n\t * @returns A promise that resolves once the context instance is fully destroyed.\n\t */ destroy() {\n return Promise.all(Array.from(this.editors, (editor)=>editor.destroy())).then(()=>this.plugins.destroy());\n }\n /**\n\t * Adds a reference to the editor which is used with this context.\n\t *\n\t * When the given editor has created the context, the reference to this editor will be stored\n\t * as a {@link ~Context#_contextOwner}.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @param isContextOwner Stores the given editor as a context owner.\n\t */ _addEditor(editor, isContextOwner) {\n if (this._contextOwner) {\n /**\n\t\t\t * Cannot add multiple editors to the context which is created by the editor.\n\t\t\t *\n\t\t\t * @error context-addeditor-private-context\n\t\t\t */ throw new CKEditorError('context-addeditor-private-context');\n }\n this.editors.add(editor);\n if (isContextOwner) {\n this._contextOwner = editor;\n }\n }\n /**\n\t * Removes a reference to the editor which was used with this context.\n\t * When the context was created by the given editor, the context will be destroyed.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @return A promise that resolves once the editor is removed from the context or when the context was destroyed.\n\t */ _removeEditor(editor) {\n if (this.editors.has(editor)) {\n this.editors.remove(editor);\n }\n if (this._contextOwner === editor) {\n return this.destroy();\n }\n return Promise.resolve();\n }\n /**\n\t * Returns the context configuration which will be copied to the editors created using this context.\n\t *\n\t * The configuration returned by this method has the plugins configuration removed &ndash; plugins are shared with all editors\n\t * through another mechanism.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @returns Configuration as a plain object.\n\t */ _getEditorConfig() {\n const result = {};\n for (const name of this.config.names()){\n if (![\n 'plugins',\n 'removePlugins',\n 'extraPlugins'\n ].includes(name)) {\n result[name] = this.config.get(name);\n }\n }\n return result;\n }\n /**\n\t * Creates and initializes a new context instance.\n\t *\n\t * ```ts\n\t * const commonConfig = { ... }; // Configuration for all the plugins and editors.\n\t * const editorPlugins = [ ... ]; // Regular plugins here.\n\t *\n\t * Context\n\t * \t.create( {\n\t * \t\t// Only context plugins here.\n\t * \t\tplugins: [ ... ],\n\t *\n\t * \t\t// Configure the language for all the editors (it cannot be overwritten).\n\t * \t\tlanguage: { ... },\n\t *\n\t * \t\t// Configuration for context plugins.\n\t * \t\tcomments: { ... },\n\t * \t\t...\n\t *\n\t * \t\t// Default configuration for editor plugins.\n\t * \t\ttoolbar: { ... },\n\t * \t\timage: { ... },\n\t * \t\t...\n\t * \t} )\n\t * \t.then( context => {\n\t * \t\tconst promises = [];\n\t *\n\t * \t\tpromises.push( ClassicEditor.create(\n\t * \t\t\tdocument.getElementById( 'editor1' ),\n\t * \t\t\t{\n\t * \t\t\t\teditorPlugins,\n\t * \t\t\t\tcontext\n\t * \t\t\t}\n\t * \t\t) );\n\t *\n\t * \t\tpromises.push( ClassicEditor.create(\n\t * \t\t\tdocument.getElementById( 'editor2' ),\n\t * \t\t\t{\n\t * \t\t\t\teditorPlugins,\n\t * \t\t\t\tcontext,\n\t * \t\t\t\ttoolbar: { ... } // You can overwrite the configuration of the context.\n\t * \t\t\t}\n\t * \t\t) );\n\t *\n\t * \t\treturn Promise.all( promises );\n\t * \t} );\n\t * ```\n\t *\n\t * @param config The context configuration.\n\t * @returns A promise resolved once the context is ready. The promise resolves with the created context instance.\n\t */ static create(config) {\n return new Promise((resolve)=>{\n const context = new this(config);\n resolve(context.initPlugins().then(()=>context));\n });\n }\n}\n\n/**\n * The base class for {@link module:core/context~Context} plugin classes.\n *\n * A context plugin can either be initialized for an {@link module:core/editor/editor~Editor editor} or for\n * a {@link module:core/context~Context context}. In other words, it can either\n * work within one editor instance or with one or more editor instances that use a single context.\n * It is the context plugin's role to implement handling for both modes.\n *\n * There are a few rules for interaction between the editor plugins and context plugins:\n *\n * * A context plugin can require another context plugin.\n * * An {@link module:core/plugin~Plugin editor plugin} can require a context plugin.\n * * A context plugin MUST NOT require an {@link module:core/plugin~Plugin editor plugin}.\n */ class ContextPlugin extends /* #__PURE__ */ ObservableMixin() {\n /**\n\t * The context or editor instance.\n\t */ context;\n /**\n\t * Creates a new plugin instance.\n\t */ constructor(context){\n super();\n this.context = context;\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n this.stopListening();\n }\n /**\n\t * @inheritDoc\n\t */ static get isContextPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return false;\n }\n /**\n\t * @inheritDoc\n\t */ static get isPremiumPlugin() {\n return false;\n }\n}\n\n/**\n * A keystroke handler for editor editing. Its instance is available\n * in {@link module:core/editor/editor~Editor#keystrokes} so plugins\n * can register their keystrokes.\n *\n * E.g. an undo plugin would do this:\n *\n * ```ts\n * editor.keystrokes.set( 'Ctrl+Z', 'undo' );\n * editor.keystrokes.set( 'Ctrl+Shift+Z', 'redo' );\n * editor.keystrokes.set( 'Ctrl+Y', 'redo' );\n * ```\n */ class EditingKeystrokeHandler extends KeystrokeHandler {\n /**\n\t * The editor instance.\n\t */ editor;\n /**\n\t * Creates an instance of the keystroke handler.\n\t */ constructor(editor){\n super();\n this.editor = editor;\n }\n /**\n\t * Registers a handler for the specified keystroke.\n\t *\n\t * The handler can be specified as a command name or a callback.\n\t *\n\t * @param keystroke Keystroke defined in a format accepted by\n\t * the {@link module:utils/keyboard~parseKeystroke} function.\n\t * @param callback If a string is passed, then the keystroke will\n\t * {@link module:core/editor/editor~Editor#execute execute a command}.\n\t * If a function, then it will be called with the\n\t * {@link module:engine/view/observer/keyobserver~ViewDocumentKeyEventData key event data} object and\n\t * a `cancel()` helper to both `preventDefault()` and `stopPropagation()` of the event.\n\t * @param options Additional options.\n\t * @param options.priority The priority of the keystroke callback. The higher the priority value\n\t * the sooner the callback will be executed. Keystrokes having the same priority\n\t * are called in the order they were added.\n\t */ set(keystroke, callback, options = {}) {\n if (typeof callback == 'string') {\n const commandName = callback;\n callback = (evtData, cancel)=>{\n this.editor.execute(commandName);\n cancel();\n };\n }\n super.set(keystroke, callback, options);\n }\n}\n\nconst DEFAULT_CATEGORY_ID = 'contentEditing';\n/**\n * @internal\n */ const DEFAULT_GROUP_ID = 'common';\n/**\n * A common namespace for various accessibility features of the editor.\n *\n * **Information about editor keystrokes**\n *\n * * The information about keystrokes available in the editor is stored in the {@link #keystrokeInfos} property.\n * * New info entries can be added using the {@link #addKeystrokeInfoCategory}, {@link #addKeystrokeInfoGroup},\n * and {@link #addKeystrokeInfos} methods.\n */ class Accessibility {\n /**\n\t * Stores information about keystrokes brought by editor features for the users to interact with the editor, mainly\n\t * keystroke combinations and their accessible labels.\n\t *\n\t * This information is particularly useful for screen reader and other assistive technology users. It gets displayed\n\t * by the {@link module:ui/editorui/accessibilityhelp/accessibilityhelp~AccessibilityHelp Accessibility help} dialog.\n\t *\n\t * Keystrokes are organized in categories and groups. They can be added using ({@link #addKeystrokeInfoCategory},\n\t * {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfos}) methods.\n\t *\n\t * Please note that:\n\t * * two categories are always available:\n\t * * `'contentEditing'` for keystrokes related to content creation,\n\t * * `'navigation'` for keystrokes related to navigation in the UI and the content.\n\t * * unless specified otherwise, new keystrokes are added into the `'contentEditing'` category and the `'common'`\n\t * keystroke group within that category while using the {@link #addKeystrokeInfos} method.\n\t */ keystrokeInfos = new Map();\n /**\n\t * The editor instance.\n\t */ _editor;\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n this._editor = editor;\n const isMenuBarVisible = editor.config.get('menuBar.isVisible');\n const t = editor.locale.t;\n this.addKeystrokeInfoCategory({\n id: DEFAULT_CATEGORY_ID,\n label: t('Content editing keystrokes'),\n description: t('These keyboard shortcuts allow for quick access to content editing features.')\n });\n const navigationKeystrokes = [\n {\n label: t('Close contextual balloons, dropdowns, and dialogs'),\n keystroke: 'Esc'\n },\n {\n label: t('Open the accessibility help dialog'),\n keystroke: 'Alt+0'\n },\n {\n label: t('Move focus between form fields (inputs, buttons, etc.)'),\n keystroke: [\n [\n 'Tab'\n ],\n [\n 'Shift+Tab'\n ]\n ]\n },\n {\n label: t('Move focus to the toolbar, navigate between toolbars'),\n keystroke: 'Alt+F10',\n mayRequireFn: true\n },\n {\n label: t('Navigate through the toolbar or menu bar'),\n keystroke: [\n [\n 'arrowup'\n ],\n [\n 'arrowright'\n ],\n [\n 'arrowdown'\n ],\n [\n 'arrowleft'\n ]\n ]\n },\n {\n // eslint-disable-next-line @stylistic/max-len\n label: t('Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.'),\n keystroke: [\n [\n 'Enter'\n ],\n [\n 'Space'\n ]\n ]\n }\n ];\n if (isMenuBarVisible) {\n navigationKeystrokes.push({\n label: t('Move focus to the menu bar, navigate between menu bars'),\n keystroke: 'Alt+F9',\n mayRequireFn: true\n });\n }\n this.addKeystrokeInfoCategory({\n id: 'navigation',\n label: t('User interface and content navigation keystrokes'),\n description: t('Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.'),\n groups: [\n {\n id: 'common',\n keystrokes: navigationKeystrokes\n }\n ]\n });\n }\n /**\n\t * Adds a top-level category in the {@link #keystrokeInfos keystroke information database} with a label and optional description.\n\t *\n\t * Categories organize keystrokes and help users to find the right keystroke. Each category can have multiple groups\n\t * of keystrokes that narrow down the context in which the keystrokes are available. Every keystroke category comes\n\t * with a `'common'` group by default.\n\t *\n\t * By default, two categories are available:\n\t * * `'contentEditing'` for keystrokes related to content creation,\n\t * * `'navigation'` for keystrokes related to navigation in the UI and the content.\n\t *\n\t * To create a new keystroke category with new groups, use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfoCategory( {\n\t * \t\t\tid: 'myCategory',\n\t * \t\t\tlabel: t( 'My category' ),\n\t * \t\t\tdescription: t( 'My category description.' ),\n\t * \t\t\tgroups: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tid: 'myGroup',\n\t * \t\t\t\t\tlabel: t( 'My keystroke group' ),\n\t * \t\t\t\t\tkeystrokes: [\n\t * \t\t\t\t\t\t{\n\t * \t\t\t\t\t\t\tlabel: t( 'Keystroke label 1' ),\n\t * \t\t\t\t\t\t\tkeystroke: 'Ctrl+Shift+N'\n\t * \t\t\t\t\t\t},\n\t * \t\t\t\t\t\t{\n\t * \t\t\t\t\t\t\tlabel: t( 'Keystroke label 2' ),\n\t * \t\t\t\t\t\t\tkeystroke: 'Ctrl+Shift+M'\n\t * \t\t\t\t\t\t}\n\t * \t\t\t\t\t]\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t};\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfos}.\n\t */ addKeystrokeInfoCategory({ id, label, description, groups }) {\n this.keystrokeInfos.set(id, {\n id,\n label,\n description,\n groups: new Map()\n });\n this.addKeystrokeInfoGroup({\n categoryId: id,\n id: DEFAULT_GROUP_ID\n });\n if (groups) {\n groups.forEach((group)=>{\n this.addKeystrokeInfoGroup({\n categoryId: id,\n ...group\n });\n });\n }\n }\n /**\n\t * Adds a group of keystrokes in a specific category to the {@link #keystrokeInfos keystroke information database}.\n\t *\n\t * Groups narrow down the context in which the keystrokes are available. When `categoryId` is not specified,\n\t * the group goes to the `'contentEditing'` category (default).\n\t *\n\t * To create a new group within an existing category, use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfoGroup( {\n\t * \t\t\tid: 'myGroup',\n\t * \t\t\tcategoryId: 'navigation',\n\t * \t\t\tlabel: t( 'My keystroke group' ),\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label 1' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+Shift+N'\n\t * \t\t\t\t},\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label 2' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+Shift+M'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoCategory}, and {@link #addKeystrokeInfos}.\n\t */ addKeystrokeInfoGroup({ categoryId = DEFAULT_CATEGORY_ID, id, label, keystrokes }) {\n const category = this.keystrokeInfos.get(categoryId);\n if (!category) {\n throw new CKEditorError('accessibility-unknown-keystroke-info-category', this._editor, {\n groupId: id,\n categoryId\n });\n }\n category.groups.set(id, {\n id,\n label,\n keystrokes: keystrokes || []\n });\n }\n /**\n\t * Adds information about keystrokes to the {@link #keystrokeInfos keystroke information database}.\n\t *\n\t * Keystrokes without specified `groupId` or `categoryId` go to the `'common'` group in the `'contentEditing'` category (default).\n\t *\n\t * To add a keystroke brought by your plugin (using default group and category), use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label' ),\n\t * \t\t\t\t\tkeystroke: 'CTRL+B'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t * To add a keystroke in a specific existing `'widget'` group in the default `'contentEditing'` category:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\t// Add a keystroke to the existing \"widget\" group.\n\t * \t\t\tgroupId: 'widget',\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'A an action on a selected widget' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+D',\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * To add a keystroke to another existing category (using default group):\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\t// Add keystrokes to the \"navigation\" category (one of defaults).\n\t * \t\t\tcategoryId: 'navigation',\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label' ),\n\t * \t\t\t\t\tkeystroke: 'CTRL+B'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfoCategory}.\n\t */ addKeystrokeInfos({ categoryId = DEFAULT_CATEGORY_ID, groupId = DEFAULT_GROUP_ID, keystrokes }) {\n if (!this.keystrokeInfos.has(categoryId)) {\n /**\n\t\t\t * Cannot add keystrokes in an unknown category. Use\n\t\t\t * {@link module:core/accessibility~Accessibility#addKeystrokeInfoCategory}\n\t\t\t * to add a new category or make sure the specified category exists.\n\t\t\t *\n\t\t\t * @error accessibility-unknown-keystroke-info-category\n\t\t\t * @param {string} categoryId The id of the unknown keystroke category.\n\t\t\t * @param {module:core/accessibility~AddKeystrokeInfosData#keystrokes} keystrokes Keystroke definitions about to be added.\n\t\t\t */ throw new CKEditorError('accessibility-unknown-keystroke-info-category', this._editor, {\n categoryId,\n keystrokes\n });\n }\n const category = this.keystrokeInfos.get(categoryId);\n if (!category.groups.has(groupId)) {\n /**\n\t\t\t * Cannot add keystrokes to an unknown group.\n\t\t\t *\n\t\t\t * Use {@link module:core/accessibility~Accessibility#addKeystrokeInfoGroup}\n\t\t\t * to add a new group or make sure the specified group exists.\n\t\t\t *\n\t\t\t * @error accessibility-unknown-keystroke-info-group\n\t\t\t * @param {string} groupId The id of the unknown keystroke group.\n\t\t\t * @param {string} categoryId The id of category the unknown group should belong to.\n\t\t\t * @param {module:core/accessibility~AddKeystrokeInfosData#keystrokes} keystrokes Keystroke definitions about to be added.\n\t\t\t */ throw new CKEditorError('accessibility-unknown-keystroke-info-group', this._editor, {\n groupId,\n categoryId,\n keystrokes\n });\n }\n category.groups.get(groupId).keystrokes.push(...keystrokes);\n }\n}\n\n/**\n * This part of the code is not executed in open-source implementations using a GPL key.\n * It only runs when a specific license key is provided. If you are uncertain whether\n * this applies to your installation, please contact our support team.\n *\n * @internal\n */ function getEditorUsageData(editor) {\n return {\n sessionId: getSessionId(),\n pageSessionId: getPageSessionID(),\n hostname: window.location.hostname,\n version: globalThis.CKEDITOR_VERSION,\n type: getEditorType(editor),\n plugins: getPluginsUsageData(editor.plugins),\n distribution: getDistributionUsageData(),\n env: getEnvUsageData(),\n integration: Object.create(null),\n menuBar: {\n isVisible: !!editor.config.get('menuBar.isVisible')\n },\n language: {\n ui: editor.locale.uiLanguage,\n content: editor.locale.contentLanguage\n },\n toolbar: {\n main: getToolbarUsageData(editor.config.get('toolbar')),\n block: getToolbarUsageData(editor.config.get('blockToolbar')),\n balloon: getToolbarUsageData(editor.config.get('balloonToolbar'))\n }\n };\n}\nfunction getEditorType(editor) {\n return Object.getPrototypeOf(editor).constructor.editorName;\n}\nfunction getPluginsUsageData(collection) {\n return Array.from(collection).filter(([PluginConstructor])=>!!PluginConstructor.pluginName).map(([PluginConstructor])=>{\n const { pluginName, isContextPlugin, isOfficialPlugin, isPremiumPlugin } = PluginConstructor;\n return {\n isContext: !!isContextPlugin,\n isOfficial: !!isOfficialPlugin,\n isPremium: !!isPremiumPlugin,\n name: pluginName\n };\n });\n}\nfunction getToolbarUsageData(toolbarConfig) {\n if (!toolbarConfig) {\n return undefined;\n }\n const normalizedToolbar = Array.isArray(toolbarConfig) ? {\n items: toolbarConfig\n } : toolbarConfig;\n const flattenToolbarConfigNames = extractToolbarConfigItemsNames(normalizedToolbar.items || []);\n const isMultiline = flattenToolbarConfigNames.includes('-');\n return {\n isMultiline,\n shouldNotGroupWhenFull: !!normalizedToolbar.shouldNotGroupWhenFull,\n items: stripToolbarSeparatorItems(flattenToolbarConfigNames)\n };\n function stripToolbarSeparatorItems(items) {\n return items.filter((item)=>item !== '|' && item !== '-');\n }\n function extractToolbarConfigItemsNames(items) {\n return items.flatMap((item)=>{\n if (typeof item === 'string') {\n return [\n item\n ];\n }\n return extractToolbarConfigItemsNames(item.items);\n });\n }\n}\nfunction getDistributionUsageData() {\n return {\n channel: window[Symbol.for('cke distribution')] || 'sh'\n };\n}\nfunction getEnvUsageData() {\n let os = 'unknown';\n let browser = 'unknown';\n if (env.isMac) {\n os = 'mac';\n } else if (env.isWindows) {\n os = 'windows';\n } else if (env.isiOS) {\n os = 'ios';\n } else if (env.isAndroid) {\n os = 'android';\n }\n if (env.isGecko) {\n browser = 'gecko';\n } else if (env.isBlink) {\n browser = 'blink';\n } else if (env.isSafari) {\n browser = 'safari';\n }\n return {\n os,\n browser\n };\n}\nfunction getSessionId() {\n if (!localStorage.getItem('__ckeditor-session-id')) {\n localStorage.setItem('__ckeditor-session-id', uid());\n }\n return localStorage.getItem('__ckeditor-session-id');\n}\nfunction getPageSessionID() {\n global.window.CKEDITOR_PAGE_SESSION_ID = global.window.CKEDITOR_PAGE_SESSION_ID || uid();\n return global.window.CKEDITOR_PAGE_SESSION_ID;\n}\n\n/**\n * The class representing a basic, generic editor.\n *\n * Check out the list of its subclasses to learn about specific editor implementations.\n *\n * All editor implementations (like {@link module:editor-classic/classiceditor~ClassicEditor} or\n * {@link module:editor-inline/inlineeditor~InlineEditor}) should extend this class. They can add their\n * own methods and properties.\n *\n * When you are implementing a plugin, this editor represents the API\n * which your plugin can expect to get when using its {@link module:core/plugin~Plugin#editor} property.\n *\n * This API should be sufficient in order to implement the \"editing\" part of your feature\n * (schema definition, conversion, commands, keystrokes, etc.).\n * It does not define the editor UI, which is available only if\n * the specific editor implements also the {@link ~Editor#ui} property\n * (as most editor implementations do).\n */ class Editor extends /* #__PURE__ */ ObservableMixin() {\n /**\n\t * A required name of the editor class. The name should reflect the constructor name.\n\t */ static get editorName() {\n return 'Editor';\n }\n /**\n\t * A namespace for the accessibility features of the editor.\n\t */ accessibility;\n /**\n\t * Commands registered to the editor.\n\t *\n\t * Use the shorthand {@link #execute `editor.execute()`} method to execute commands:\n\t *\n\t * ```ts\n\t * // Execute the bold command:\n\t * editor.execute( 'bold' );\n\t *\n\t * // Check the state of the bold command:\n\t * editor.commands.get( 'bold' ).value;\n\t * ```\n\t */ commands;\n /**\n\t * Stores all configurations specific to this editor instance.\n\t *\n\t * ```ts\n\t * editor.config.get( 'image.toolbar' );\n\t * // -> [ 'imageStyle:block', 'imageStyle:side', '|', 'toggleImageCaption', 'imageTextAlternative' ]\n\t * ```\n\t */ config;\n /**\n\t * Conversion manager through which you can register model-to-view and view-to-model converters.\n\t *\n\t * See the {@link module:engine/conversion/conversion~Conversion} documentation to learn how to add converters.\n\t */ conversion;\n /**\n\t * The {@link module:engine/controller/datacontroller~DataController data controller}.\n\t * Used e.g. for setting and retrieving the editor data.\n\t */ data;\n /**\n\t * The {@link module:engine/controller/editingcontroller~EditingController editing controller}.\n\t * Controls user input and rendering the content for editing.\n\t */ editing;\n /**\n\t * The locale instance.\n\t */ locale;\n /**\n\t * The editor's model.\n\t *\n\t * The central point of the editor's abstract data model.\n\t */ model;\n /**\n\t * The plugins loaded and in use by this editor instance.\n\t *\n\t * ```ts\n\t * editor.plugins.get( 'ClipboardPipeline' ); // -> An instance of the clipboard pipeline plugin.\n\t * ```\n\t */ plugins;\n /**\n\t * An instance of the {@link module:core/editingkeystrokehandler~EditingKeystrokeHandler}.\n\t *\n\t * It allows setting simple keystrokes:\n\t *\n\t * ```ts\n\t * // Execute the bold command on Ctrl+E:\n\t * editor.keystrokes.set( 'Ctrl+E', 'bold' );\n\t *\n\t * // Execute your own callback:\n\t * editor.keystrokes.set( 'Ctrl+E', ( data, cancel ) => {\n\t * \tconsole.log( data.keyCode );\n\t *\n\t * \t// Prevent the default (native) action and stop the underlying keydown event\n\t * \t// so no other editor feature will interfere.\n\t * \tcancel();\n\t * } );\n\t * ```\n\t *\n\t * Note: Certain typing-oriented keystrokes (like <kbd>Backspace</kbd> or <kbd>Enter</kbd>) are handled\n\t * by a low-level mechanism and trying to listen to them via the keystroke handler will not work reliably.\n\t * To handle these specific keystrokes, see the events fired by the\n\t * {@link module:engine/view/document~ViewDocument editing view document} (`editor.editing.view.document`).\n\t */ keystrokes;\n /**\n\t * Shorthand for {@link module:utils/locale~Locale#t}.\n\t *\n\t * @see module:utils/locale~Locale#t\n\t */ t;\n /**\n\t * The default configuration which is built into the editor class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds to provide the default configuration options\n\t * which are later used during the editor initialization.\n\t *\n\t * ```ts\n\t * ClassicEditor.defaultConfig = {\n\t * \tfoo: 1,\n\t * \tbar: 2\n\t * };\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement )\n\t * \t.then( editor => {\n\t * \t\teditor.config.get( 'foo' ); // -> 1\n\t * \t\teditor.config.get( 'bar' ); // -> 2\n\t * \t} );\n\t *\n\t * // The default options can be overridden by the configuration passed to create().\n\t * ClassicEditor\n\t * \t.create( sourceElement, { bar: 3 } )\n\t * \t.then( editor => {\n\t * \t\teditor.config.get( 'foo' ); // -> 1\n\t * \t\teditor.config.get( 'bar' ); // -> 3\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/editor/editor~Editor.builtinPlugins}.\n\t */ static defaultConfig;\n /**\n\t * An array of plugins built into this editor class.\n\t *\n\t * It is used in the now deprecated CKEditor 5 builds to provide a list of plugins which are later automatically initialized\n\t * during the editor initialization.\n\t *\n\t * They will be automatically initialized by the editor, unless listed in `config.removePlugins` and\n\t * unless `config.plugins` is passed.\n\t *\n\t * ```ts\n\t * // Build some plugins into the editor class first.\n\t * ClassicEditor.builtinPlugins = [ FooPlugin, BarPlugin ];\n\t *\n\t * // Normally, you need to define config.plugins, but since ClassicEditor.builtinPlugins was\n\t * // defined, now you can call create() without any configuration.\n\t * ClassicEditor\n\t * \t.create( sourceElement )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\teditor.plugins.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement, {\n\t * \t\t// Do not initialize these plugins (note: it is defined by a string):\n\t * \t\tremovePlugins: [ 'Foo' ]\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> Undefined.\n\t * \t\teditor.config.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement, {\n\t * \t\t// Load only this plugin. It can also be defined by a string if\n\t * \t\t// this plugin was built into the editor class.\n\t * \t\tplugins: [ FooPlugin ]\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\teditor.config.get( BarPlugin ); // -> Undefined.\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/editor/editor~Editor.defaultConfig}.\n\t */ static builtinPlugins;\n /**\n\t * The editor context.\n\t * When it is not provided through the configuration, the editor creates it.\n\t */ _context;\n /**\n\t * A set of lock IDs for the {@link #isReadOnly} getter.\n\t */ _readOnlyLocks;\n /**\n\t * Creates a new instance of the editor class.\n\t *\n\t * Usually, not to be used directly. See the static {@link module:core/editor/editor~Editor.create `create()`} method.\n\t *\n\t * @param config The editor configuration.\n\t */ constructor(config = {}){\n super();\n if ('sanitizeHtml' in config) {\n /**\n\t\t\t * Configuration property `config.sanitizeHtml` was removed in CKEditor version 43.1.0 and is no longer supported.\n\t\t\t *\n\t\t\t * Please use `config.htmlEmbed.sanitizeHtml` and/or `config.mergeFields.sanitizeHtml` instead.\n\t\t\t *\n\t\t\t * @error editor-config-sanitizehtml-not-supported\n\t\t\t */ throw new CKEditorError('editor-config-sanitizehtml-not-supported');\n }\n const constructor = this.constructor;\n // We don't pass translations to the config, because its behavior of splitting keys\n // with dots (e.g. `resize.width` => `resize: { width }`) breaks the translations.\n const { translations: defaultTranslations, ...defaultConfig } = constructor.defaultConfig || {};\n const { translations = defaultTranslations, ...rest } = config;\n // Prefer the language passed as the argument to the constructor instead of the constructor's `defaultConfig`, if both are set.\n const language = config.language || defaultConfig.language;\n this._context = config.context || new Context({\n language,\n translations\n });\n this._context._addEditor(this, !config.context);\n // Clone the plugins to make sure that the plugin array will not be shared\n // between editors and make the watchdog feature work correctly.\n const availablePlugins = Array.from(constructor.builtinPlugins || []);\n this.config = new Config(rest, defaultConfig);\n this.config.define('plugins', availablePlugins);\n this.config.define(this._context._getEditorConfig());\n checkLicenseKeyIsDefined(this.config);\n this.plugins = new PluginCollection(this, availablePlugins, this._context.plugins);\n this.locale = this._context.locale;\n this.t = this.locale.t;\n this._readOnlyLocks = new Set();\n this.commands = new CommandCollection();\n this.set('state', 'initializing');\n this.once('ready', ()=>this.state = 'ready', {\n priority: 'high'\n });\n this.once('destroy', ()=>this.state = 'destroyed', {\n priority: 'high'\n });\n this.model = new Model();\n this.on('change:isReadOnly', ()=>{\n this.model.document.isReadOnly = this.isReadOnly;\n });\n const stylesProcessor = new StylesProcessor();\n this.data = new DataController(this.model, stylesProcessor);\n this.editing = new EditingController(this.model, stylesProcessor);\n this.editing.view.document.bind('isReadOnly').to(this);\n this.conversion = new Conversion([\n this.editing.downcastDispatcher,\n this.data.downcastDispatcher\n ], this.data.upcastDispatcher);\n this.conversion.addAlias('dataDowncast', this.data.downcastDispatcher);\n this.conversion.addAlias('editingDowncast', this.editing.downcastDispatcher);\n this.keystrokes = new EditingKeystrokeHandler(this);\n this.keystrokes.listenTo(this.editing.view.document);\n this.accessibility = new Accessibility(this);\n verifyLicenseKey(this);\n // Checks if the license key is defined and throws an error if it is not.\n function checkLicenseKeyIsDefined(config) {\n let licenseKey = config.get('licenseKey');\n if (!licenseKey && window.CKEDITOR_GLOBAL_LICENSE_KEY) {\n licenseKey = window.CKEDITOR_GLOBAL_LICENSE_KEY;\n config.set('licenseKey', licenseKey);\n }\n if (!licenseKey) {\n /**\n\t\t\t\t * The `licenseKey` property is missing in the editor configuration.\n\t\t\t\t *\n\t\t\t\t * * If you are using the editor in a commercial setup, please provide your license key.\n\t\t\t\t * * If you still need to acquire a key, please [contact us](https://ckeditor.com/contact/) or\n\t\t\t\t * [create a free account with a 14 day premium features trial](https://portal.ckeditor.com/checkout?plan=free).\n\t\t\t\t * * If you are using the editor under a GPL license or another license from our Open Source Initiative,\n\t\t\t\t * use the 'GPL' license key instead.\n\t\t\t\t *\n\t\t\t\t * ```js\n\t\t\t\t * ClassicEditor.create( document.querySelector( '#editor' ), {\n\t\t\t\t * \tlicenseKey: '<YOUR_LICENSE_KEY>', // Or 'GPL'.\n\t\t\t\t * \t// ... Other configuration options ...\n\t\t\t\t * } ) ;\n\t\t\t\t *\n\t\t\t\t * @error license-key-missing\n\t\t\t\t */ throw new CKEditorError('license-key-missing');\n }\n }\n function verifyLicenseKey(editor) {\n const licenseKey = editor.config.get('licenseKey');\n const distributionChannel = window[Symbol.for('cke distribution')] || 'sh';\n function blockEditor(reason, name) {\n editor.enableReadOnlyMode(Symbol('invalidLicense'));\n editor._showLicenseError(reason, name);\n }\n function hasAllRequiredFields(licensePayload) {\n const requiredFields = [\n 'exp',\n 'jti',\n 'vc'\n ];\n return requiredFields.every((field)=>field in licensePayload);\n }\n function getCrcInputData(licensePayload) {\n const keysToCheck = Object.getOwnPropertyNames(licensePayload).sort();\n const filteredValues = keysToCheck.filter((key)=>key != 'vc' && licensePayload[key] != null).map((key)=>licensePayload[key]);\n return filteredValues;\n }\n function checkLicensedHosts(licensedHosts) {\n const { hostname } = new URL(window.location.href);\n if (licensedHosts.includes(hostname)) {\n return true;\n }\n const segments = hostname.split('.');\n return licensedHosts// Filter out hosts without wildcards.\n .filter((host)=>host.includes('*'))// Split the hosts into segments.\n .map((host)=>host.split('.'))// Filter out hosts that have more segments than the current hostname.\n .filter((host)=>host.length <= segments.length)// Pad the beginning of the licensed host if it's shorter than the current hostname.\n .map((host)=>Array(segments.length - host.length).fill(host[0] === '*' ? '*' : '').concat(host))// Check if some license host matches the hostname.\n .some((octets)=>segments.every((segment, index)=>octets[index] === segment || octets[index] === '*'));\n }\n function warnAboutNonProductionLicenseKey(licenseType) {\n const capitalizedLicenseType = licenseType[0].toUpperCase() + licenseType.slice(1);\n const article = licenseType === 'evaluation' ? 'an' : 'a';\n console.info(`%cCKEditor 5 ${capitalizedLicenseType} License`, 'color: #ffffff; background: #743CCD; font-size: 14px; padding: 4px 8px; border-radius: 4px;');\n console.warn(`⚠️ You are using ${article} ${licenseType} license of CKEditor 5` + `${licenseType === 'trial' ? ' which is for evaluation purposes only' : ''}. ` + 'For production usage, please obtain a production license at https://portal.ckeditor.com/');\n }\n if (licenseKey == 'GPL') {\n if (distributionChannel == 'cloud') {\n blockEditor('distributionChannel');\n }\n return;\n }\n const licensePayload = decodeLicenseKey(licenseKey);\n if (!licensePayload) {\n blockEditor('invalid');\n return;\n }\n if (!hasAllRequiredFields(licensePayload)) {\n blockEditor('invalid');\n return;\n }\n if (licensePayload.distributionChannel && !toArray(licensePayload.distributionChannel).includes(distributionChannel)) {\n blockEditor('distributionChannel');\n return;\n }\n if (crc32(getCrcInputData(licensePayload)) != licensePayload.vc.toLowerCase()) {\n blockEditor('invalid');\n return;\n }\n const expirationDate = new Date(licensePayload.exp * 1000);\n if (expirationDate < releaseDate) {\n blockEditor('expired');\n return;\n }\n const licensedHosts = licensePayload.licensedHosts;\n if (licensedHosts && licensedHosts.length > 0 && !checkLicensedHosts(licensedHosts)) {\n blockEditor('domainLimit');\n return;\n }\n if ([\n 'evaluation',\n 'trial'\n ].includes(licensePayload.licenseType) && licensePayload.exp * 1000 < Date.now()) {\n blockEditor('expired');\n return;\n }\n if ([\n 'development',\n 'evaluation',\n 'trial'\n ].includes(licensePayload.licenseType)) {\n const { licenseType } = licensePayload;\n window.CKEDITOR_WARNING_SUPPRESSIONS = window.CKEDITOR_WARNING_SUPPRESSIONS || {};\n if (!window.CKEDITOR_WARNING_SUPPRESSIONS[licenseType]) {\n warnAboutNonProductionLicenseKey(licenseType);\n window.CKEDITOR_WARNING_SUPPRESSIONS[licenseType] = true;\n }\n }\n if ([\n 'evaluation',\n 'trial'\n ].includes(licensePayload.licenseType)) {\n const licenseType = licensePayload.licenseType;\n const timerId = setTimeout(()=>{\n blockEditor(`${licenseType}Limit`);\n }, 600000);\n editor.on('destroy', ()=>{\n clearTimeout(timerId);\n });\n }\n if (licensePayload.usageEndpoint) {\n editor.once('ready', ()=>{\n const request = {\n requestId: uid(),\n requestTime: Math.round(Date.now() / 1000),\n license: licenseKey,\n editor: collectUsageData(editor)\n };\n /**\n\t\t\t\t\t * This part of the code is not executed in open-source implementations using a GPL key.\n\t\t\t\t\t * It only runs when a specific license key is provided. If you are uncertain whether\n\t\t\t\t\t * this applies to your installation, please contact our support team.\n\t\t\t\t\t */ editor._sendUsageRequest(licensePayload.usageEndpoint, request).then((response)=>{\n const { status, message } = response;\n if (message) {\n console.warn(message);\n }\n if (status != 'ok') {\n blockEditor('usageLimit');\n }\n }, ()=>{\n /**\n\t\t\t\t\t\t * Your license key cannot be validated due to a network issue.\n\t\t\t\t\t\t * Please ensure that your setup does not block requests to the validation endpoint.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @error license-key-validation-endpoint-not-reachable\n\t\t\t\t\t\t * @param {string} url The URL that was attempted to be reached for validation.\n\t\t\t\t\t\t */ logError('license-key-validation-endpoint-not-reachable', {\n url: licensePayload.usageEndpoint\n });\n });\n }, {\n priority: 'high'\n });\n }\n }\n }\n /**\n\t * Defines whether the editor is in the read-only mode.\n\t *\n\t * In read-only mode the editor {@link #commands commands} are disabled so it is not possible\n\t * to modify the document by using them. Also, the editable element(s) become non-editable.\n\t *\n\t * In order to make the editor read-only, you need to call the {@link #enableReadOnlyMode} method:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'feature-id' );\n\t * ```\n\t *\n * Later, to turn off the read-only mode, call {@link #disableReadOnlyMode}:\n\t *\n\t * ```ts\n\t * editor.disableReadOnlyMode( 'feature-id' );\n\t * ```\n\t *\n\t * @readonly\n\t * @observable\n\t */ get isReadOnly() {\n return this._readOnlyLocks.size > 0;\n }\n set isReadOnly(value) {\n /**\n\t\t * The {@link module:core/editor/editor~Editor#isReadOnly Editor#isReadOnly} property is read-only since version `34.0.0`\n\t\t * and can be set only using {@link module:core/editor/editor~Editor#enableReadOnlyMode `Editor#enableReadOnlyMode( lockId )`} and\n\t\t * {@link module:core/editor/editor~Editor#disableReadOnlyMode `Editor#disableReadOnlyMode( lockId )`}.\n\t\t *\n\t\t * Usage before version `34.0.0`:\n\t\t *\n\t\t * ```ts\n\t\t * editor.isReadOnly = true;\n\t\t * editor.isReadOnly = false;\n\t\t * ```\n\t\t *\n\t\t * Usage since version `34.0.0`:\n\t\t *\n\t\t * ```ts\n\t\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t\t * ```\n\t\t *\n\t\t * @error editor-isreadonly-has-no-setter\n\t\t */ throw new CKEditorError('editor-isreadonly-has-no-setter');\n }\n /**\n\t * Turns on the read-only mode in the editor.\n\t *\n\t * Editor can be switched to or out of the read-only mode by many features, under various circumstances. The editor supports locking\n\t * mechanism for the read-only mode. It enables easy control over the read-only mode when many features wants to turn it on or off at\n\t * the same time, without conflicting with each other. It guarantees that you will not make the editor editable accidentally (which\n\t * could lead to errors).\n\t *\n\t * Each read-only mode request is identified by a unique id (also called \"lock\"). If multiple plugins requested to turn on the\n\t * read-only mode, then, the editor will become editable only after all these plugins turn the read-only mode off (using the same ids).\n\t *\n\t * Note, that you cannot force the editor to disable the read-only mode if other plugins set it.\n\t *\n\t * After the first `enableReadOnlyMode()` call, the {@link #isReadOnly `isReadOnly` property} will be set to `true`:\n\t *\n\t * ```ts\n\t * editor.isReadOnly; // `false`.\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `true`.\n\t * ```\n\t *\n\t * You can turn off the read-only mode (\"clear the lock\") using the {@link #disableReadOnlyMode `disableReadOnlyMode()`} method:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * // ...\n\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `false`.\n\t * ```\n\t *\n\t * All \"locks\" need to be removed to enable editing:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * editor.enableReadOnlyMode( 'my-other-feature-id' );\n\t * // ...\n\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `true`.\n\t * editor.disableReadOnlyMode( 'my-other-feature-id' );\n\t * editor.isReadOnly; // `false`.\n\t * ```\n\t *\n\t * @param lockId A unique ID for setting the editor to the read-only state.\n\t */ enableReadOnlyMode(lockId) {\n if (typeof lockId !== 'string' && typeof lockId !== 'symbol') {\n /**\n\t\t\t * The lock ID is missing or it is not a string or symbol.\n\t\t\t *\n\t\t\t * @error editor-read-only-lock-id-invalid\n\t\t\t * @param {never} lockId Lock ID.\n\t\t\t */ throw new CKEditorError('editor-read-only-lock-id-invalid', null, {\n lockId\n });\n }\n if (this._readOnlyLocks.has(lockId)) {\n return;\n }\n this._readOnlyLocks.add(lockId);\n if (this._readOnlyLocks.size === 1) {\n // Manually fire the `change:isReadOnly` event as only getter is provided.\n this.fire('change:isReadOnly', 'isReadOnly', true, false);\n }\n }\n /**\n\t * Removes the read-only lock from the editor with given lock ID.\n\t *\n\t * When no lock is present on the editor anymore, then the {@link #isReadOnly `isReadOnly` property} will be set to `false`.\n\t *\n\t * @param lockId The lock ID for setting the editor to the read-only state.\n\t */ disableReadOnlyMode(lockId) {\n if (typeof lockId !== 'string' && typeof lockId !== 'symbol') {\n throw new CKEditorError('editor-read-only-lock-id-invalid', null, {\n lockId\n });\n }\n if (!this._readOnlyLocks.has(lockId)) {\n return;\n }\n this._readOnlyLocks.delete(lockId);\n if (this._readOnlyLocks.size === 0) {\n // Manually fire the `change:isReadOnly` event as only getter is provided.\n this.fire('change:isReadOnly', 'isReadOnly', false, true);\n }\n }\n /**\n\t * Sets the data in the editor.\n\t *\n\t * ```ts\n\t * editor.setData( '<p>This is editor!</p>' );\n\t * ```\n\t *\n\t * If your editor implementation uses multiple roots, you should pass an object with keys corresponding\n\t * to the editor root names and values equal to the data that should be set in each root:\n\t *\n\t * ```ts\n\t * editor.setData( {\n\t * header: '<p>Content for header part.</p>',\n\t * content: '<p>Content for main part.</p>',\n\t * footer: '<p>Content for footer part.</p>'\n\t * } );\n\t * ```\n\t *\n\t * By default the editor accepts HTML. This can be controlled by injecting a different data processor.\n\t * See the {@glink features/markdown Markdown output} guide for more details.\n\t *\n\t * @param data Input data.\n\t */ setData(data) {\n this.data.set(data);\n }\n /**\n\t * Gets the data from the editor.\n\t *\n\t * ```ts\n\t * editor.getData(); // -> '<p>This is editor!</p>'\n\t * ```\n\t *\n\t * If your editor implementation uses multiple roots, you should pass root name as one of the options:\n\t *\n\t * ```ts\n\t * editor.getData( { rootName: 'header' } ); // -> '<p>Content for header part.</p>'\n\t * ```\n\t *\n\t * By default, the editor outputs HTML. This can be controlled by injecting a different data processor.\n\t * See the {@glink features/markdown Markdown output} guide for more details.\n\t *\n\t * A warning is logged when you try to retrieve data for a detached root, as most probably this is a mistake. A detached root should\n\t * be treated like it is removed, and you should not save its data. Note, that the detached root data is always an empty string.\n\t *\n\t * @param options Additional configuration for the retrieved data.\n\t * Editor features may introduce more configuration options that can be set through this parameter.\n\t * @param options.rootName Root name. Defaults to `'main'`.\n\t * @param options.trim Whether returned data should be trimmed. This option is set to `'empty'` by default,\n\t * which means that whenever editor content is considered empty, an empty string is returned. To turn off trimming\n\t * use `'none'`. In such cases exact content will be returned (for example `'<p>&nbsp;</p>'` for an empty editor).\n\t * @returns Output data.\n\t */ getData(options) {\n return this.data.get(options);\n }\n /**\n\t * Loads and initializes plugins specified in the configuration.\n\t *\n\t * @returns A promise which resolves once the initialization is completed, providing an array of loaded plugins.\n\t */ initPlugins() {\n const config = this.config;\n const plugins = config.get('plugins');\n const removePlugins = config.get('removePlugins') || [];\n const extraPlugins = config.get('extraPlugins') || [];\n const substitutePlugins = config.get('substitutePlugins') || [];\n return this.plugins.init(plugins.concat(extraPlugins), removePlugins, substitutePlugins).then((plugins)=>{\n checkPluginsAllowedByLicenseKey(this);\n return plugins;\n });\n function checkPluginsAllowedByLicenseKey(editor) {\n const licenseKey = editor.config.get('licenseKey');\n if (licenseKey === 'GPL') {\n return;\n }\n const decodedPayload = decodeLicenseKey(licenseKey);\n if (!decodedPayload) {\n return;\n }\n const disallowedPlugin = [\n ...editor.plugins\n ].map(([pluginConstructor])=>pluginConstructor).find((pluginConstructor)=>{\n if (!pluginConstructor.pluginName) {\n return false;\n }\n if (!pluginConstructor.licenseFeatureCode) {\n return false;\n }\n return isFeatureBlockedByLicenseKey(decodedPayload, pluginConstructor.licenseFeatureCode);\n });\n if (disallowedPlugin) {\n editor.enableReadOnlyMode(Symbol('invalidLicense'));\n editor._showLicenseError('pluginNotAllowed', disallowedPlugin.pluginName);\n }\n }\n }\n /**\n\t * Destroys the editor instance, releasing all resources used by it.\n\t *\n\t * **Note** The editor cannot be destroyed during the initialization phase so if it is called\n\t * while the editor {@link #state is being initialized}, it will wait for the editor initialization before destroying it.\n\t *\n\t * @fires destroy\n\t * @returns A promise that resolves once the editor instance is fully destroyed.\n\t */ destroy() {\n let readyPromise = Promise.resolve();\n if (this.state == 'initializing') {\n readyPromise = new Promise((resolve)=>this.once('ready', resolve));\n }\n return readyPromise.then(()=>{\n this.fire('destroy');\n this.stopListening();\n this.commands.destroy();\n }).then(()=>this.plugins.destroy()).then(()=>{\n this.model.destroy();\n this.data.destroy();\n this.editing.destroy();\n this.keystrokes.destroy();\n })// Remove the editor from the context.\n // When the context was created by this editor, the context will be destroyed.\n .then(()=>this._context._removeEditor(this));\n }\n /**\n\t * Executes the specified command with given parameters.\n\t *\n\t * Shorthand for:\n\t *\n\t * ```ts\n\t * editor.commands.get( commandName ).execute( ... );\n\t * ```\n\t *\n\t * @param commandName The name of the command to execute.\n\t * @param commandParams Command parameters.\n\t * @returns The value returned by the {@link module:core/commandcollection~CommandCollection#execute `commands.execute()`}.\n\t */ execute(commandName, ...commandParams) {\n try {\n return this.commands.execute(commandName, ...commandParams);\n } catch (err) {\n // @if CK_DEBUG // throw err;\n /* istanbul ignore next -- @preserve */ CKEditorError.rethrowUnexpectedError(err, this);\n }\n }\n /**\n\t * Focuses the editor.\n\t *\n\t * **Note** To explicitly focus the editing area of the editor, use the\n\t * {@link module:engine/view/view~EditingView#focus `editor.editing.view.focus()`} method of the editing view.\n\t *\n\t * Check out the {@glink framework/deep-dive/ui/focus-tracking#focus-in-the-editor-ui Focus in the editor UI} section\n\t * of the {@glink framework/deep-dive/ui/focus-tracking Deep dive into focus tracking} guide to learn more.\n\t */ focus() {\n this.editing.view.focus();\n }\n /* istanbul ignore next -- @preserve */ /**\n\t * Creates and initializes a new editor instance.\n\t *\n\t * This is an abstract method. Every editor type needs to implement its own initialization logic.\n\t *\n\t * See the `create()` methods of the existing editor types to learn how to use them:\n\t *\n\t * * {@link module:editor-classic/classiceditor~ClassicEditor.create `ClassicEditor.create()`}\n\t * * {@link module:editor-balloon/ballooneditor~BalloonEditor.create `BalloonEditor.create()`}\n\t * * {@link module:editor-decoupled/decouplededitor~DecoupledEditor.create `DecoupledEditor.create()`}\n\t * * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`}\n\t */ static create(...args) {\n throw new Error('This is an abstract method.');\n }\n /**\n\t * The {@link module:core/context~Context} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */ static Context = Context;\n /**\n\t * The {@link module:watchdog/editorwatchdog~EditorWatchdog} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */ static EditorWatchdog = EditorWatchdog;\n /**\n\t * The {@link module:watchdog/contextwatchdog~ContextWatchdog} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */ static ContextWatchdog = ContextWatchdog;\n _showLicenseError(reason, name) {\n setTimeout(()=>{\n if (reason == 'invalid') {\n /**\n\t\t\t\t * The license key provided is invalid. Please ensure that it is copied correctly\n\t\t\t\t * from the [Customer Portal](http://portal.ckeditor.com). If the issue persists,\n\t\t\t\t * please [contact our customer support](https://ckeditor.com/contact/).\n\t\t\t\t *\n\t\t\t\t * @error invalid-license-key\n\t\t\t\t */ throw new CKEditorError('invalid-license-key');\n }\n if (reason == 'expired') {\n /**\n\t\t\t\t * Your license key has expired.\n\t\t\t\t *\n\t\t\t\t * If you used our free trial, you either need to switch to\n\t\t\t\t * [open-source license](https://ckeditor.com/docs/ckeditor5/latest/getting-started/licensing/license-and-legal.html), or\n\t\t\t\t * in case of a commercial plan, change the trial key to production key or development key.\n\t\t\t\t * Switching from trial, you also need to align the editor configuration to the features available in your plan.\n\t\t\t\t *\n\t\t\t\t * If you already had one of our Cloud or Custom plans, please renew your license in the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com).\n\t\t\t\t *\n\t\t\t\t * @error license-key-expired\n\t\t\t\t */ throw new CKEditorError('license-key-expired');\n }\n if (reason == 'domainLimit') {\n /**\n\t\t\t\t * The provided license does not allow the editor to run on this domain.\n\t\t\t\t * Some license keys are restricted to local test environments only.\n\t\t\t\t * For more details, please refer to the\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types license key type documentation}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-domain-limit\n\t\t\t\t */ throw new CKEditorError('license-key-domain-limit');\n }\n if (reason == 'pluginNotAllowed') {\n // It's safe to assume `name` exists because `pluginNotAllowed` must know a plugin name when checking the license.\n const gluePluginName = name.replace(/(Editing|UI)$/, '');\n const containsGluePlugin = this.plugins.has(gluePluginName);\n /**\n\t\t\t\t * The plugin you are trying to use is not permitted under your current license.\n\t\t\t\t * Please check the available features on the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact support](https://ckeditor.com/contact/) for more information.\n\t\t\t\t *\n\t\t\t\t * @error license-key-plugin-not-allowed\n\t\t\t\t * @param {String} pluginName The plugin you tried to load.\n\t\t\t\t */ throw new CKEditorError('license-key-plugin-not-allowed', null, {\n pluginName: containsGluePlugin ? gluePluginName : name\n });\n }\n if (reason == 'featureNotAllowed') {\n /**\n\t\t\t\t * The feature you are trying to use is not permitted under your current license.\n\t\t\t\t * Please check the available features on the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact support](https://ckeditor.com/contact/) for more information.\n\t\t\t\t *\n\t\t\t\t * @error license-key-feature-not-allowed\n\t\t\t\t * @param {String} featureName The feature you tried to use.\n\t\t\t\t */ throw new CKEditorError('license-key-feature-not-allowed', null, {\n featureName: name\n });\n }\n if (reason == 'evaluationLimit') {\n /**\n\t\t\t\t * You have exceeded the editor operation limit available for your evaluation license key.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-evaluation-limit\n\t\t\t\t */ throw new CKEditorError('license-key-evaluation-limit');\n }\n if (reason == 'trialLimit') {\n /**\n\t\t\t\t * You have exceeded the editor operation limit for your trial license key.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-trial-limit\n\t\t\t\t */ throw new CKEditorError('license-key-trial-limit');\n }\n if (reason == 'developmentLimit') {\n /**\n\t\t\t\t * You have exceeded the operation limit for your development license key within the editor.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-development-limit\n\t\t\t\t */ throw new CKEditorError('license-key-development-limit');\n }\n if (reason == 'usageLimit') {\n /**\n\t\t\t\t * You have reached the usage limit of your license key. This can occur in the following situations:\n\t\t\t\t *\n\t\t\t\t * * You are on a free subscription without a connected payment method and have exceeded the allowed usage threshold.\n\t\t\t\t * * Your account has overdue invoices and the grace period has ended.\n\t\t\t\t *\n\t\t\t\t * To extend the limit and restore access, please update the required details in the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact our customer support](https://ckeditor.com/contact).\n\t\t\t\t *\n\t\t\t\t * @error license-key-usage-limit\n\t\t\t\t */ throw new CKEditorError('license-key-usage-limit');\n }\n if (reason == 'distributionChannel') {\n /**\n\t\t\t\t * Your license does not allow the current distribution channel.\n\t\t\t\t *\n\t\t\t\t * These are the available distribution channels:\n\t\t\t\t * * Self-hosted - the editor is installed via npm or from a ZIP package\n\t\t\t\t * * Cloud - the editor is run from CDN\n\t\t\t\t *\n\t\t\t\t * The licenses available include:\n\t\t\t\t * * GPL license for open-source users.\n\t\t\t\t * * Commercial plans (Cloud or sales-assisted).\n\t\t\t\t *\n\t\t\t\t * The relation between distribution channels and licenses works as follows:\n\t\t\t\t * * With the 'GPL' license key, you may use the editor installed via npm or a ZIP package (self-hosted).\n\t\t\t\t * * With the CKEditor Cloud plans, you may use the editor via our CDN.\n\t\t\t\t * * With the CKEditor Custom plans, depending on your plan details, you can use the editor via npm\n\t\t\t\t * or a ZIP package (self-hosted) or Cloud (CDN).\n\t\t\t\t *\n\t\t\t\t * {@glink getting-started/licensing/usage-based-billing#key-terms Read more about distributions in the documentation}.\n\t\t\t\t * Please verify your installation or [contact support](https://ckeditor.com/contact/) for assistance.\n\t\t\t\t * Should you need to migrate your installation from npm to CDN, please refer to our\n\t\t\t\t * [dedicated migration guides](https://ckeditor.com/docs/ckeditor5/latest/updating/migrations/vanilla-js.html).\n\t\t\t\t *\n\t\t\t\t * @error license-key-invalid-distribution-channel\n\t\t\t\t */ throw new CKEditorError('license-key-invalid-distribution-channel');\n }\n }, 0);\n this._showLicenseError = ()=>{};\n }\n /**\n\t * This part of the code is _not_ executed in installations under the GPL license (with `config.licenseKey = 'GPL'`).\n *\n\t * It is only executed when a specific license key is provided. If you are uncertain whether\n\t * this applies to your installation, please contact our support team.\n\t */ async _sendUsageRequest(endpoint, request) {\n const headers = new Headers({\n 'Content-Type': 'application/json'\n });\n const response = await fetch(new URL(endpoint), {\n method: 'POST',\n headers,\n body: JSON.stringify(request)\n });\n if (!response.ok) {\n // TODO: refine message.\n throw new Error(`HTTP Response: ${response.status}`);\n }\n return response.json();\n }\n}\nfunction collectUsageData(editor) {\n const collectedData = getEditorUsageData(editor);\n function setUsageData(path, value) {\n if (get(collectedData, path) !== undefined) {\n /**\n\t\t\t * The error thrown when trying to set the usage data path that was already set.\n\t\t\t * Make sure that you are not setting the same path multiple times.\n\t\t\t *\n\t\t\t * @error editor-usage-data-path-already-set\n\t\t\t * @param {string} path The path that was already set.\n\t\t\t */ throw new CKEditorError('editor-usage-data-path-already-set', {\n path\n });\n }\n set(collectedData, path, value);\n }\n editor.fire('collectUsageData', {\n setUsageData\n });\n return collectedData;\n}\n /**\n * This error is thrown when trying to pass a `<textarea>` element to a `create()` function of an editor class.\n *\n * The only editor type which can be initialized on `<textarea>` elements is\n * the {@glink getting-started/setup/editor-types#classic-editor classic editor}.\n * This editor hides the passed element and inserts its own UI next to it. Other types of editors reuse the passed element as their root\n * editable element and therefore `<textarea>` is not appropriate for them. Use a `<div>` or another text container instead:\n *\n * ```html\n * <div id=\"editor\">\n * \t<p>Initial content.</p>\n * </div>\n * ```\n *\n * @error editor-wrong-element\n */\n\n/**\n * Checks if the editor is initialized on a `<textarea>` element that belongs to a form. If yes, it updates the editor's element\n * content before submitting the form.\n *\n * This helper requires the {@link module:core/editor/utils/elementapimixin~ElementApi ElementApi interface}.\n *\n * @param editor Editor instance.\n */ function attachToForm(editor) {\n if (!isFunction(editor.updateSourceElement)) {\n /**\n\t\t * The editor passed to `attachToForm()` must implement the\n\t\t * {@link module:core/editor/utils/elementapimixin~ElementApi} interface.\n\t\t *\n\t\t * @error attachtoform-missing-elementapi-interface\n\t\t */ throw new CKEditorError('attachtoform-missing-elementapi-interface', editor);\n }\n const sourceElement = editor.sourceElement;\n // Only when replacing a textarea which is inside of a form element.\n if (isTextArea(sourceElement) && sourceElement.form) {\n let originalSubmit;\n const form = sourceElement.form;\n const onSubmit = ()=>editor.updateSourceElement();\n // Replace the original form#submit() to call a custom submit function first.\n // Check if #submit is a function because the form might have an input named \"submit\".\n if (isFunction(form.submit)) {\n originalSubmit = form.submit;\n form.submit = ()=>{\n onSubmit();\n originalSubmit.apply(form);\n };\n }\n // Update the replaced textarea with data before each form#submit event.\n form.addEventListener('submit', onSubmit);\n // Remove the submit listener and revert the original submit method on\n // editor#destroy.\n editor.on('destroy', ()=>{\n form.removeEventListener('submit', onSubmit);\n if (originalSubmit) {\n form.submit = originalSubmit;\n }\n });\n }\n}\nfunction isTextArea(sourceElement) {\n return !!sourceElement && sourceElement.tagName.toLowerCase() === 'textarea';\n}\n\n/**\n * Implementation of the {@link module:core/editor/utils/elementapimixin~ElementApi}.\n */ function ElementApiMixin(base) {\n class Mixin extends base {\n sourceElement;\n updateSourceElement(data) {\n if (!this.sourceElement) {\n /**\n\t\t\t\t * Cannot update the source element of a detached editor.\n\t\t\t\t *\n\t\t\t\t * The {@link module:core/editor/utils/elementapimixin~ElementApi#updateSourceElement `updateSourceElement()`}\n\t\t\t\t * method cannot be called if you did not pass an element to `Editor.create()`.\n\t\t\t\t *\n\t\t\t\t * @error editor-missing-sourceelement\n\t\t\t\t */ throw new CKEditorError('editor-missing-sourceelement', this);\n }\n const shouldUpdateSourceElement = this.config.get('updateSourceElementOnDestroy');\n const isSourceElementTextArea = this.sourceElement instanceof HTMLTextAreaElement;\n // The data returned by the editor might be unsafe, so we want to prevent rendering\n // unsafe content inside the source element different than <textarea>, which is considered\n // secure. This behavior could be changed by setting the `updateSourceElementOnDestroy`\n // configuration option to `true`.\n if (!shouldUpdateSourceElement && !isSourceElementTextArea) {\n setDataInElement(this.sourceElement, '');\n return;\n }\n const dataToSet = typeof data === 'string' ? data : this.data.get();\n setDataInElement(this.sourceElement, dataToSet);\n }\n }\n return Mixin;\n}\n\n/**\n * Marks the source element on which the editor was initialized. This prevents other editor instances from using this element.\n *\n * Running multiple editor instances on the same source element causes various issues and it is\n * crucial this helper is called as soon as the source element is known to prevent collisions.\n *\n * @param editor Editor instance.\n * @param sourceElement Element to bind with the editor instance.\n */ function secureSourceElement(editor, sourceElement) {\n if (sourceElement.ckeditorInstance) {\n /**\n\t\t * A DOM element used to create the editor (e.g.\n\t\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`})\n\t\t * has already been used to create another editor instance. Make sure each editor is\n\t\t * created with a unique DOM element.\n\t\t *\n\t\t * @error editor-source-element-already-used\n\t\t * @param {HTMLElement} element DOM element that caused the collision.\n\t\t */ throw new CKEditorError('editor-source-element-already-used', editor);\n }\n sourceElement.ckeditorInstance = editor;\n editor.once('destroy', ()=>{\n delete sourceElement.ckeditorInstance;\n });\n}\n\n/**\n * The list of pending editor actions.\n *\n * This plugin should be used to synchronise plugins that execute long-lasting actions\n * (e.g. file upload) with the editor integration. It gives the developer who integrates the editor\n * an easy way to check if there are any actions pending whenever such information is needed.\n * All plugins that register a pending action also provide a message about the action that is ongoing\n * which can be displayed to the user. This lets them decide if they want to interrupt the action or wait.\n *\n * Adding and updating a pending action:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n * const action = pendingActions.add( 'Upload in progress: 0%.' );\n *\n * // You can update the message:\n * action.message = 'Upload in progress: 10%.';\n * ```\n *\n * Removing a pending action:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n * const action = pendingActions.add( 'Unsaved changes.' );\n *\n * pendingActions.remove( action );\n * ```\n *\n * Getting pending actions:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n *\n * const action1 = pendingActions.add( 'Action 1' );\n * const action2 = pendingActions.add( 'Action 2' );\n *\n * pendingActions.first; // Returns action1\n * Array.from( pendingActions ); // Returns [ action1, action2 ]\n * ```\n *\n * This plugin is used by features like {@link module:upload/filerepository~FileRepository} to register their ongoing actions\n * and by features like {@link module:autosave/autosave~Autosave} to detect whether there are any ongoing actions.\n * Read more about saving the data in the\n * {@glink getting-started/setup/getting-and-setting-data Saving and getting data} guide.\n */ class PendingActions extends ContextPlugin {\n /**\n\t * A list of pending actions.\n\t */ _actions;\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'PendingActions';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n this.set('hasAny', false);\n this._actions = new Collection({\n idProperty: '_id'\n });\n this._actions.delegate('add', 'remove').to(this);\n }\n /**\n\t * Adds an action to the list of pending actions.\n\t *\n\t * This method returns an action object with an observable message property.\n\t * The action object can be later used in the {@link #remove} method. It also allows you to change the message.\n\t *\n\t * @param message The action message.\n\t * @returns An observable object that represents a pending action.\n\t */ add(message) {\n if (typeof message !== 'string') {\n /**\n\t\t\t * The message must be a string.\n\t\t\t *\n\t\t\t * @error pendingactions-add-invalid-message\n\t\t\t */ throw new CKEditorError('pendingactions-add-invalid-message', this);\n }\n const action = new (ObservableMixin())();\n action.set('message', message);\n this._actions.add(action);\n this.hasAny = true;\n return action;\n }\n /**\n\t * Removes an action from the list of pending actions.\n\t *\n\t * @param action An action object.\n\t */ remove(action) {\n this._actions.remove(action);\n this.hasAny = !!this._actions.length;\n }\n /**\n\t * Returns the first action from the list or null if the list is empty\n\t *\n\t * @returns The pending action object.\n\t */ get first() {\n return this._actions.get(0);\n }\n /**\n\t * Iterable interface.\n\t */ [Symbol.iterator]() {\n return this._actions[Symbol.iterator]();\n }\n}\n\nexport { Accessibility, Command, CommandCollection, Context, ContextPlugin, EditingKeystrokeHandler, Editor, ElementApiMixin, MultiCommand, PendingActions, Plugin, DEFAULT_GROUP_ID as _DEFAULT_ACCESSIBILITY_GROUP_ID, getEditorUsageData as _getEditorUsageData, attachToForm, secureSourceElement };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/plugin\n */\n\n/* eslint-disable @typescript-eslint/no-invalid-void-type */\n\nimport { ObservableMixin, type ObservableSetEvent, type EventInfo } from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from './editor/editor.js';\n\n/**\n * The base class for CKEditor plugin classes.\n */\nexport class Plugin extends /* #__PURE__ */ ObservableMixin() implements PluginInterface {\n\t/**\n\t * The editor instance.\n\t *\n\t * Note that most editors implement the {@link module:core/editor/editor~Editor#ui} property.\n\t * However, editors with an external UI (i.e. Bootstrap-based) or a headless editor may not have this property or\n\t * throw an error when accessing it.\n\t *\n\t * Because of above, to make plugins more universal, it is recommended to split features into:\n\t * - The \"editing\" part that uses the {@link module:core/editor/editor~Editor} class without `ui` property.\n\t * - The \"UI\" part that uses the {@link module:core/editor/editor~Editor} class and accesses `ui` property.\n\t */\n\tpublic readonly editor: Editor;\n\n\t/**\n\t * Flag indicating whether a plugin is enabled or disabled.\n\t * A disabled plugin will not transform text.\n\t *\n\t * Plugin can be simply disabled like that:\n\t *\n\t * ```ts\n\t * // Disable the plugin so that no toolbars are visible.\n\t * editor.plugins.get( 'TextTransformation' ).isEnabled = false;\n\t * ```\n\t *\n\t * You can also use {@link #forceDisabled} method.\n\t *\n\t * @observable\n\t * @readonly\n\t */\n\tpublic declare isEnabled: boolean;\n\n\t/**\n\t * Holds identifiers for {@link #forceDisabled} mechanism.\n\t */\n\tprivate _disableStack = new Set<string>();\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper();\n\n\t\tthis.editor = editor;\n\n\t\tthis.set( 'isEnabled', true );\n\t}\n\n\t/**\n\t * Disables the plugin.\n\t *\n\t * Plugin may be disabled by multiple features or algorithms (at once). When disabling a plugin, unique id should be passed\n\t * (e.g. feature name). The same identifier should be used when {@link #clearForceDisabled enabling back} the plugin.\n\t * The plugin becomes enabled only after all features {@link #clearForceDisabled enabled it back}.\n\t *\n\t * Disabling and enabling a plugin:\n\t *\n\t * ```ts\n\t * plugin.isEnabled; // -> true\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> false\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * Plugin disabled by multiple features:\n\t *\n\t * ```ts\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.forceDisabled( 'OtherFeature' );\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> false\n\t * plugin.clearForceDisabled( 'OtherFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * Multiple disabling with the same identifier is redundant:\n\t *\n\t * ```ts\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.forceDisabled( 'MyFeature' );\n\t * plugin.clearForceDisabled( 'MyFeature' );\n\t * plugin.isEnabled; // -> true\n\t * ```\n\t *\n\t * **Note:** some plugins or algorithms may have more complex logic when it comes to enabling or disabling certain plugins,\n\t * so the plugin might be still disabled after {@link #clearForceDisabled} was used.\n\t *\n\t * @param id Unique identifier for disabling. Use the same id when {@link #clearForceDisabled enabling back} the plugin.\n\t */\n\tpublic forceDisabled( id: string ): void {\n\t\tthis._disableStack.add( id );\n\n\t\tif ( this._disableStack.size == 1 ) {\n\t\t\tthis.on<ObservableSetEvent<boolean>>( 'set:isEnabled', forceDisable, { priority: 'highest' } );\n\t\t\tthis.isEnabled = false;\n\t\t}\n\t}\n\n\t/**\n\t * Clears forced disable previously set through {@link #forceDisabled}. See {@link #forceDisabled}.\n\t *\n\t * @param id Unique identifier, equal to the one passed in {@link #forceDisabled} call.\n\t */\n\tpublic clearForceDisabled( id: string ): void {\n\t\tthis._disableStack.delete( id );\n\n\t\tif ( this._disableStack.size == 0 ) {\n\t\t\tthis.off( 'set:isEnabled', forceDisable );\n\t\t\tthis.isEnabled = true;\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic destroy(): void {\n\t\tthis.stopListening();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get isContextPlugin(): false {\n\t\treturn false;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t * @internal\n\t */\n\tpublic static get isOfficialPlugin(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t * @internal\n\t */\n\tpublic static get isPremiumPlugin(): boolean {\n\t\treturn false;\n\t}\n}\n\n/**\n * The base interface for CKEditor plugins.\n *\n * In its minimal form a plugin can be a simple function that accepts {@link module:core/editor/editor~Editor the editor}\n * as a parameter:\n *\n * ```ts\n * // A simple plugin that enables a data processor.\n * function MyPlugin( editor ) {\n * \teditor.data.processor = new MyDataProcessor();\n * }\n * ```\n *\n * In most cases however, you will want to inherit from the {@link ~Plugin} class which implements the\n * {@link module:utils/observablemixin~Observable} and is, therefore, more convenient:\n *\n * ```ts\n * class MyPlugin extends Plugin {\n * \tinit() {\n * \t\t// `listenTo()` and `editor` are available thanks to `Plugin`.\n * \t\t// By using `listenTo()` you will ensure that the listener is removed when\n * \t\t// the plugin is destroyed.\n * \t\tthis.listenTo( this.editor.data, 'ready', () => {\n * \t\t\t// Do something when the data is ready.\n * \t\t} );\n * \t}\n * }\n * ```\n *\n * The plugin class can have `pluginName` and `requires` static members. See {@link ~PluginStaticMembers} for more details.\n *\n * The plugin can also implement methods (e.g. {@link ~PluginInterface#init `init()`} or\n * {@link ~PluginInterface#destroy `destroy()`}) which, when present, will be used to properly\n * initialize and destroy the plugin.\n *\n * **Note:** When defined as a plain function, the plugin acts as a constructor and will be\n * called in parallel with other plugins' {@link ~PluginConstructor constructors}.\n * This means the code of that plugin will be executed **before** {@link ~PluginInterface#init `init()`} and\n * {@link ~PluginInterface#afterInit `afterInit()`} methods of other plugins and, for instance,\n * you cannot use it to extend other plugins' {@glink framework/architecture/editing-engine#schema schema}\n * rules as they are defined later on during the `init()` stage.\n */\nexport interface PluginInterface {\n\n\t/**\n\t * The second stage (after plugin constructor) of the plugin initialization.\n\t * Unlike the plugin constructor this method can be asynchronous.\n\t *\n\t * A plugin's `init()` method is called after its {@link ~PluginStaticMembers#requires dependencies} are initialized,\n\t * so in the same order as the constructors of these plugins.\n\t *\n\t * **Note:** This method is optional. A plugin instance does not need to have it defined.\n\t */\n\tinit?(): Promise<unknown> | null | undefined | void;\n\n\t/**\n\t * The third (and last) stage of the plugin initialization. See also {@link ~PluginConstructor} and {@link ~PluginInterface#init}.\n\t *\n\t * **Note:** This method is optional. A plugin instance does not need to have it defined.\n\t */\n\tafterInit?(): Promise<unknown> | null | undefined | void;\n\n\t/**\n\t * Destroys the plugin.\n\t *\n\t * **Note:** This method is optional. A plugin instance does not need to have it defined.\n\t */\n\tdestroy?(): Promise<unknown> | null | undefined | void;\n}\n\n/**\n * Creates a new plugin instance. This is the first step of the plugin initialization.\n * See also {@link ~PluginInterface#init} and {@link ~PluginInterface#afterInit}.\n *\n * The plugin static properties should conform to {@link ~PluginStaticMembers `PluginStaticMembers` interface}.\n *\n * A plugin is always instantiated after its {@link ~PluginStaticMembers#requires dependencies} and the\n * {@link ~PluginInterface#init} and {@link ~PluginInterface#afterInit} methods are called in the same order.\n *\n * Usually, you will want to put your plugin's initialization code in the {@link ~PluginInterface#init} method.\n * The constructor can be understood as \"before init\" and used in special cases, just like\n * {@link ~PluginInterface#afterInit} serves the special \"after init\" scenarios (e.g.the code which depends on other\n * plugins, but which does not {@link ~PluginStaticMembers#requires explicitly require} them).\n */\nexport type PluginConstructor<TContext = Editor> =\n\t( PluginClassConstructor<TContext> | PluginFunctionConstructor<TContext> ) & PluginStaticMembers<TContext>;\n\n/**\n * In most cases, you will want to inherit from the {@link ~Plugin} class which implements the\n * {@link module:utils/observablemixin~Observable} and is, therefore, more convenient:\n *\n * ```ts\n * class MyPlugin extends Plugin {\n * \tinit() {\n * \t\t// `listenTo()` and `editor` are available thanks to `Plugin`.\n * \t\t// By using `listenTo()` you will ensure that the listener is removed when\n * \t\t// the plugin is destroyed.\n * \t\tthis.listenTo( this.editor.data, 'ready', () => {\n * \t\t\t// Do something when the data is ready.\n * \t\t} );\n * \t}\n * }\n * ```\n */\nexport type PluginClassConstructor<TContext = Editor> = new ( editor: TContext ) => PluginInterface;\n\n/**\n * In its minimal form a plugin can be a simple function that accepts {@link module:core/editor/editor~Editor the editor}\n * as a parameter:\n *\n * ```ts\n * // A simple plugin that enables a data processor.\n * function MyPlugin( editor ) {\n * \teditor.data.processor = new MyDataProcessor();\n * }\n * ```\n */\nexport type PluginFunctionConstructor<TContext = Editor> = ( editor: TContext ) => void;\n\n/**\n * Static properties of a plugin.\n */\nexport interface PluginStaticMembers<TContext = Editor> {\n\n\t/**\n\t * An array of plugins required by this plugin.\n\t *\n\t * To keep the plugin class definition tight it is recommended to define this property as a static getter:\n\t *\n\t * ```ts\n\t * import { Image } from './image.js';\n\t *\n\t * export class ImageCaption {\n\t * \tstatic get requires() {\n\t * \t\treturn [ Image ];\n\t * \t}\n\t * }\n\t * ```\n\t */\n\treadonly requires?: PluginDependencies<TContext>;\n\n\t/**\n\t * An optional name of the plugin. If set, the plugin will be available in\n\t * {@link module:core/plugincollection~PluginCollection#get} by its\n\t * name and its constructor. If not, then only by its constructor.\n\t *\n\t * The name should reflect the constructor name.\n\t *\n\t * To keep the plugin class definition tight, it is recommended to define this property as a static getter:\n\t *\n\t * ```ts\n\t * export class ImageCaption {\n\t * \tstatic get pluginName() {\n\t * \t\treturn 'ImageCaption';\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * Note: The native `Function.name` property could not be used to keep the plugin name because\n\t * it will be mangled during code minification.\n\t *\n\t * Naming a plugin is necessary to enable removing it through the\n\t * {@link module:core/editor/editorconfig~EditorConfig#removePlugins `config.removePlugins`} option.\n\t */\n\treadonly pluginName?: string;\n\n\t/**\n\t * A flag which defines if a plugin is allowed or not allowed to be used directly by a {@link module:core/context~Context}.\n\t */\n\treadonly isContextPlugin?: boolean;\n\n\t/**\n\t * A flag which defines if a plugin is an official CKEditor 5 plugin.\n\t *\n\t * @internal\n\t */\n\treadonly isOfficialPlugin?: boolean;\n\n\t/**\n\t * A flag which defines if a plugin is a premium CKEditor 5 plugin.\n\t *\n\t * @internal\n\t */\n\treadonly isPremiumPlugin?: boolean;\n\n\t/**\n\t * An unique id of a plugin which belongs to the free plan on commercial license.\n\t *\n\t * @internal\n\t */\n\treadonly licenseFeatureCode?: string;\n}\n\nexport type PluginDependencies<TContext = Editor> = ReadonlyArray<PluginConstructor<TContext> | string>;\n\n/**\n * An array of loaded plugins.\n */\nexport type LoadedPlugins = Array<PluginInterface>;\n\n/**\n * Helper function that forces plugin to be disabled.\n */\nfunction forceDisable( evt: EventInfo<string, boolean> ) {\n\tevt.return = false;\n\tevt.stop();\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/command\n */\n\nimport {\n\tObservableMixin,\n\ttype EventInfo,\n\ttype ObservableChangeEvent,\n\ttype DecoratedMethodEvent,\n\ttype ObservableSetEvent\n} from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from './editor/editor.js';\n\n/**\n * Base class for the CKEditor commands.\n *\n * Commands are the main way to manipulate the editor contents and state. They are mostly used by UI elements (or by other\n * commands) to make changes in the model. Commands are available in every part of the code that has access to\n * the {@link module:core/editor/editor~Editor editor} instance.\n *\n * Instances of registered commands can be retrieved from {@link module:core/editor/editor~Editor#commands `editor.commands`}.\n * The easiest way to execute a command is through {@link module:core/editor/editor~Editor#execute `editor.execute()`}.\n *\n * By default, commands are disabled when the editor is in the {@link module:core/editor/editor~Editor#isReadOnly read-only} mode\n * but commands with the {@link module:core/command~Command#affectsData `affectsData`} flag set to `false` will not be disabled.\n */\nexport class Command extends /* #__PURE__ */ ObservableMixin() {\n\t/**\n\t * The editor on which this command will be used.\n\t */\n\tpublic readonly editor: Editor;\n\n\t/**\n\t * The value of the command. A given command class should define what it represents for it.\n\t *\n\t * For example, the `'bold'` command's value indicates whether the selection starts in a bolded text.\n\t * And the value of the `'link'` command may be an object with link details.\n\t *\n\t * It is possible for a command to have no value (e.g. for stateless actions such as `'uploadImage'`).\n\t *\n\t * A given command class should control this value by overriding the {@link #refresh `refresh()`} method.\n\t *\n\t * @observable\n\t * @readonly\n\t */\n\tdeclare public value: unknown;\n\n\t/**\n\t * Flag indicating whether a command is enabled or disabled.\n\t * A disabled command will do nothing when executed.\n\t *\n\t * A given command class should control this value by overriding the {@link #refresh `refresh()`} method.\n\t *\n\t * It is possible to disable a command \"from outside\" using {@link #forceDisabled} method.\n\t *\n\t * @observable\n\t * @readonly\n\t */\n\tdeclare public isEnabled: boolean;\n\n\t/**\n\t * A flag indicating whether a command's `isEnabled` state should be changed depending on where the document\n\t * selection is placed.\n\t *\n\t * By default, it is set to `true`. If the document selection is placed in a\n\t * {@link module:engine/model/model~Model#canEditAt non-editable} place (such as non-editable root), the command becomes disabled.\n\t *\n\t * The flag should be changed to `false` in a concrete command's constructor if the command should not change its `isEnabled`\n\t * accordingly to the document selection.\n\t */\n\tprotected _isEnabledBasedOnSelection: boolean;\n\n\t/**\n\t * A flag indicating whether a command execution changes the editor data or not.\n\t *\n\t * @see #affectsData\n\t */\n\tprivate _affectsData: boolean;\n\n\t/**\n\t * Holds identifiers for {@link #forceDisabled} mechanism.\n\t */\n\tprivate readonly _disableStack: Set<string>;\n\n\t/**\n\t * Creates a new `Command` instance.\n\t *\n\t * @param editor The editor on which this command will be used.\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper();\n\n\t\tthis.editor = editor;\n\t\tthis.set( 'value', undefined );\n\t\tthis.set( 'isEnabled', false );\n\n\t\tthis._affectsData = true;\n\t\tthis._isEnabledBasedOnSelection = true;\n\t\tthis._disableStack = new Set();\n\n\t\tthis.decorate( 'execute' );\n\n\t\t// By default, every command is refreshed when changes are applied to the model.\n\t\tthis.listenTo( this.editor.model.document, 'change', () => {\n\t\t\tthis.refresh();\n\t\t} );\n\n\t\tthis.listenTo<ObservableChangeEvent<boolean>>( editor, 'change:isReadOnly', () => {\n\t\t\tthis.refresh();\n\t\t} );\n\n\t\t// By default, commands are disabled if the selection is in non-editable place or editor is in read-only mode.\n\t\tthis.on<ObservableSetEvent<boolean>>( 'set:isEnabled', evt => {\n\t\t\tif ( !this.affectsData ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selection = editor.model.document.selection;\n\t\t\tconst selectionInGraveyard = selection.getFirstPosition()!.root.rootName == '$graveyard';\n\t\t\tconst canEditAtSelection = !selectionInGraveyard && editor.model.canEditAt( selection );\n\n\t\t\t// Disable if editor is read only, or when selection is in a place which cannot be edited.\n\t\t\t//\n\t\t\t// Checking `editor.isReadOnly` is needed for all commands that have `_isEnabledBasedOnSelection == false`.\n\t\t\t// E.g. undo does not base on selection, but affects data and should be disabled when the editor is in read-only mode.\n\t\t\tif ( editor.isReadOnly || this._isEnabledBasedOnSelection && !canEditAtSelection ) {\n\t\t\t\tevt.return = false;\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'highest' } );\n\n\t\tthis.on<CommandExecuteEvent>( 'execute', evt => {\n\t\t\tif ( !this.isEnabled ) {\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\t}\n\n\t/**\n\t * A flag indicating whether a command execution changes the editor data or not.\n\t *\n\t * Commands with `affectsData` set to `false` will not be automatically disabled in\n\t * the {@link module:core/editor/editor~Editor#isReadOnly read-only mode} and\n\t * {@glink features/read-only#related-features other editor modes} with restricted user write permissions.\n\t *\n\t * **Note:** You do not have to set it for your every command. It is `true` by default.\n\t *\n\t * @default true\n\t */\n\tpublic get affectsData(): boolean {\n\t\treturn this._affectsData;\n\t}\n\n\tprotected set affectsData( affectsData: boolean ) {\n\t\tthis._affectsData = affectsData;\n\t}\n\n\t/**\n\t * Refreshes the command. The command should update its {@link #isEnabled} and {@link #value} properties\n\t * in this method.\n\t *\n\t * This method is automatically called when\n\t * {@link module:engine/model/document~ModelDocument#event:change any changes are applied to the document}.\n\t */\n\tpublic refresh(): void {\n\t\tthis.isEnabled = true;\n\t}\n\n\t/**\n\t * Disables the command.\n\t *\n\t * Command may be disabled by multiple features or algorithms (at once). When disabling a command, unique id should be passed\n\t * (e.g. the feature name). The same identifier should be used when {@link #clearForceDisabled enabling back} the command.\n\t * The command becomes enabled only after all features {@link #clearForceDisabled enabled it back}.\n\t *\n\t * Disabling and enabling a command:\n\t *\n\t * ```ts\n\t * command.isEnabled; // -> true\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> false\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * Command disabled by multiple features:\n\t *\n\t * ```ts\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.forceDisabled( 'OtherFeature' );\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> false\n\t * command.clearForceDisabled( 'OtherFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * Multiple disabling with the same identifier is redundant:\n\t *\n\t * ```ts\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.forceDisabled( 'MyFeature' );\n\t * command.clearForceDisabled( 'MyFeature' );\n\t * command.isEnabled; // -> true\n\t * ```\n\t *\n\t * **Note:** some commands or algorithms may have more complex logic when it comes to enabling or disabling certain commands,\n\t * so the command might be still disabled after {@link #clearForceDisabled} was used.\n\t *\n\t * @param id Unique identifier for disabling. Use the same id when {@link #clearForceDisabled enabling back} the command.\n\t */\n\tpublic forceDisabled( id: string ): void {\n\t\tthis._disableStack.add( id );\n\n\t\tif ( this._disableStack.size == 1 ) {\n\t\t\tthis.on<ObservableSetEvent<boolean>>( 'set:isEnabled', forceDisable, { priority: 'highest' } );\n\t\t\tthis.isEnabled = false;\n\t\t}\n\t}\n\n\t/**\n\t * Clears forced disable previously set through {@link #forceDisabled}. See {@link #forceDisabled}.\n\t *\n\t * @param id Unique identifier, equal to the one passed in {@link #forceDisabled} call.\n\t */\n\tpublic clearForceDisabled( id: string ): void {\n\t\tthis._disableStack.delete( id );\n\n\t\tif ( this._disableStack.size == 0 ) {\n\t\t\tthis.off( 'set:isEnabled', forceDisable );\n\t\t\tthis.refresh();\n\t\t}\n\t}\n\n\t/**\n\t * Executes the command.\n\t *\n\t * A command may accept parameters. They will be passed from {@link module:core/editor/editor~Editor#execute `editor.execute()`}\n\t * to the command.\n\t *\n\t * The `execute()` method will automatically abort when the command is disabled ({@link #isEnabled} is `false`).\n\t * This behavior is implemented by a high priority listener to the {@link #event:execute} event.\n\t *\n\t * In order to see how to disable a command from \"outside\" see the {@link #isEnabled} documentation.\n\t *\n\t * This method may return a value, which would be forwarded all the way down to the\n\t * {@link module:core/editor/editor~Editor#execute `editor.execute()`}.\n\t *\n\t * @fires execute\n\t */\n\tpublic execute( ...args: Array<unknown> ): unknown { return undefined; } // eslint-disable-line @typescript-eslint/no-unused-vars\n\n\t/**\n\t * Destroys the command.\n\t */\n\tpublic destroy(): void {\n\t\tthis.stopListening();\n\t}\n}\n\n/**\n * Helper function that forces command to be disabled.\n */\nfunction forceDisable( evt: EventInfo<string, boolean> ) {\n\tevt.return = false;\n\tevt.stop();\n}\n\n/**\n * Event fired by the {@link module:core/command~Command#execute} method. The command action is a listener to this event so it's\n * possible to change/cancel the behavior of the command by listening to this event.\n *\n * See {@link module:utils/observablemixin~Observable#decorate} for more information and samples.\n *\n * **Note:** This event is fired even if command is disabled. However, it is automatically blocked\n * by a high priority listener in order to prevent command execution.\n *\n * @eventName ~Command#execute\n */\nexport type CommandExecuteEvent = DecoratedMethodEvent<Command, 'execute'>;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/multicommand\n */\n\nimport { Command } from './command.js';\n\nimport {\n\tinsertToPriorityArray,\n\ttype PriorityString,\n\ttype ObservableChangeEvent\n} from '@ckeditor/ckeditor5-utils';\n\n/**\n * A CKEditor command that aggregates other commands.\n *\n * This command is used to proxy multiple commands. The multi-command is enabled when\n * at least one of its registered child commands is enabled.\n * When executing a multi-command, the first enabled command with highest priority will be executed.\n *\n * ```ts\n * const multiCommand = new MultiCommand( editor );\n *\n * const commandFoo = new Command( editor );\n * const commandBar = new Command( editor );\n *\n * // Register a child command.\n * multiCommand.registerChildCommand( commandFoo );\n * // Register a child command with a low priority.\n * multiCommand.registerChildCommand( commandBar, { priority: 'low' } );\n *\n * // Enable one of the commands.\n * commandBar.isEnabled = true;\n *\n * multiCommand.execute(); // Will execute commandBar.\n * ```\n */\nexport class MultiCommand extends Command {\n\t/**\n\t * Registered child commands definitions.\n\t */\n\tprivate _childCommandsDefinitions: Array<{ command: Command; priority: PriorityString }> = [];\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override refresh(): void {\n\t\t// Override base command refresh(): the command's state is changed when one of child commands changes states.\n\t}\n\n\t/**\n\t * Executes the first enabled command which has the highest priority of all registered child commands.\n\t *\n\t * @returns The value returned by the {@link module:core/command~Command#execute `command.execute()`}.\n\t */\n\tpublic override execute( ...args: Array<unknown> ): unknown {\n\t\tconst command = this._getFirstEnabledCommand();\n\n\t\treturn !!command && command.execute( args );\n\t}\n\n\t/**\n\t * Registers a child command.\n\t *\n\t * @param options An object with configuration options.\n\t * @param options.priority Priority of a command to register.\n\t */\n\tpublic registerChildCommand(\n\t\tcommand: Command,\n\t\toptions: { priority?: PriorityString } = {}\n\t): void {\n\t\tinsertToPriorityArray( this._childCommandsDefinitions, { command, priority: options.priority || 'normal' } );\n\n\t\t// Change multi-command enabled state when one of registered commands changes state.\n\t\tcommand.on<ObservableChangeEvent<boolean>>( 'change:isEnabled', () => this._checkEnabled() );\n\n\t\tthis._checkEnabled();\n\t}\n\n\t/**\n\t * Checks if any of child commands is enabled.\n\t */\n\tprivate _checkEnabled(): void {\n\t\tthis.isEnabled = !!this._getFirstEnabledCommand();\n\t}\n\n\t/**\n\t * Returns a first enabled command with the highest priority or `undefined` if none of them is enabled.\n\t */\n\tprivate _getFirstEnabledCommand(): Command | undefined {\n\t\tconst commandDefinition = this._childCommandsDefinitions.find( ( { command } ) => command.isEnabled );\n\n\t\treturn commandDefinition && commandDefinition.command;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/commandcollection\n */\n\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils';\nimport { type Command } from './command.js';\n\n/**\n * Collection of commands. Its instance is available in {@link module:core/editor/editor~Editor#commands `editor.commands`}.\n */\nexport class CommandCollection implements Iterable<[ string, Command ]> {\n\t/**\n\t * Command map.\n\t */\n\tprivate _commands: Map<string, Command>;\n\n\t/**\n\t * Creates collection instance.\n\t */\n\tconstructor() {\n\t\tthis._commands = new Map();\n\t}\n\n\t/**\n\t * Registers a new command.\n\t *\n\t * @param commandName The name of the command.\n\t */\n\tpublic add<TName extends string>(\n\t\tcommandName: TName,\n\t\tcommand: CommandsMap[ TName ]\n\t): void {\n\t\tthis._commands.set( commandName, command );\n\t}\n\n\t/**\n\t * Retrieves a command from the collection.\n\t *\n\t * @param commandName The name of the command.\n\t */\n\tpublic get<TName extends string>( commandName: TName ): CommandsMap[ TName ] | undefined {\n\t\treturn this._commands.get( commandName );\n\t}\n\n\t/**\n\t * Executes a command.\n\t *\n\t * @param commandName The name of the command.\n\t * @param commandParams Command parameters.\n\t * @returns The value returned by the {@link module:core/command~Command#execute `command.execute()`}.\n\t */\n\tpublic execute<TName extends string>(\n\t\tcommandName: TName,\n\t\t...commandParams: Parameters<CommandsMap[ TName ][ 'execute' ]>\n\t): ReturnType<CommandsMap[ TName ][ 'execute' ]> {\n\t\tconst command = this.get( commandName );\n\n\t\tif ( !command ) {\n\t\t\t/**\n\t\t\t * Command does not exist.\n\t\t\t *\n\t\t\t * @error commandcollection-command-not-found\n\t\t\t * @param {string} commandName Name of the command.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'commandcollection-command-not-found', this, { commandName } );\n\t\t}\n\n\t\treturn command.execute( ...commandParams ) as any;\n\t}\n\n\t/**\n\t * Returns iterator of command names.\n\t */\n\tpublic* names(): IterableIterator<string> {\n\t\tyield* this._commands.keys();\n\t}\n\n\t/**\n\t * Returns iterator of command instances.\n\t */\n\tpublic* commands(): IterableIterator<Command> {\n\t\tyield* this._commands.values();\n\t}\n\n\t/**\n\t * Iterable interface.\n\t *\n\t * Returns `[ commandName, commandInstance ]` pairs.\n\t */\n\tpublic [ Symbol.iterator ](): Iterator<[ string, Command ]> {\n\t\treturn this._commands[ Symbol.iterator ]();\n\t}\n\n\t/**\n\t * Destroys all collection commands.\n\t */\n\tpublic destroy(): void {\n\t\tfor ( const command of this.commands() ) {\n\t\t\tcommand.destroy();\n\t\t}\n\t}\n}\n\n/**\n * Helper type that maps command names to their types.\n * It is meant to be extended with module augmentation.\n *\n * ```ts\n * class MyCommand extends Command {\n * \tpublic execute( parameter: A ): B {\n * \t\t// ...\n * \t}\n * }\n *\n * declare module '@ckeditor/ckeditor5-core' {\n * \tinterface CommandsMap {\n * \t\tmyCommand: MyCommand;\n * \t}\n * }\n *\n * // Returns `MyCommand | undefined`.\n * const myCommand = editor.commands.get( 'myCommand' );\n *\n * // Expects `A` type as parameter and returns `B`.\n * const value = editor.commands.execute( 'myCommand', new A() );\n * ```\n */\nexport interface CommandsMap {\n\t[ name: string ]: Command;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/plugincollection\n */\n\nimport { CKEditorError, EmitterMixin } from '@ckeditor/ckeditor5-utils';\nimport type { LoadedPlugins, PluginClassConstructor, PluginConstructor, PluginInterface } from './plugin.js';\n\n/**\n * Manages a list of CKEditor plugins, including loading, resolving dependencies and initialization.\n */\nexport class PluginCollection<TContext extends object>\n\textends /* #__PURE__ */ EmitterMixin()\n\timplements Iterable<PluginEntry<TContext>> {\n\tprivate _context: TContext;\n\n\tprivate _plugins = new Map<PluginConstructor<TContext> | string, PluginInterface>();\n\n\t/**\n\t * A map of plugin constructors that can be retrieved by their names.\n\t */\n\tprivate _availablePlugins: Map<string, PluginConstructor<TContext>>;\n\n\t/**\n\t * Map of {@link module:core/contextplugin~ContextPlugin context plugins} which can be retrieved by their constructors or instances.\n\t */\n\tprivate _contextPlugins: Map<PluginConstructor<TContext> | PluginInterface, PluginConstructor<TContext> | PluginInterface>;\n\n\t/**\n\t * Creates an instance of the plugin collection class.\n\t * Allows loading and initializing plugins and their dependencies.\n\t * Allows providing a list of already loaded plugins. These plugins will not be destroyed along with this collection.\n\t *\n\t * @param availablePlugins Plugins (constructors) which the collection will be able to use\n\t * when {@link module:core/plugincollection~PluginCollection#init} is used with the plugin names (strings, instead of constructors).\n\t * Usually, the editor will pass its built-in plugins to the collection so they can later be\n\t * used in `config.plugins` or `config.removePlugins` by names.\n\t * @param contextPlugins A list of already initialized plugins represented by a `[ PluginConstructor, pluginInstance ]` pair.\n\t */\n\tconstructor(\n\t\tcontext: TContext,\n\t\tavailablePlugins: Iterable<PluginConstructor<TContext>> = [],\n\t\tcontextPlugins: Iterable<PluginEntry<TContext>> = []\n\t) {\n\t\tsuper();\n\n\t\tthis._context = context;\n\t\tthis._availablePlugins = new Map();\n\n\t\tfor ( const PluginConstructor of availablePlugins ) {\n\t\t\tif ( PluginConstructor.pluginName ) {\n\t\t\t\tthis._availablePlugins.set( PluginConstructor.pluginName, PluginConstructor );\n\t\t\t}\n\t\t}\n\n\t\tthis._contextPlugins = new Map();\n\n\t\tfor ( const [ PluginConstructor, pluginInstance ] of contextPlugins ) {\n\t\t\tthis._contextPlugins.set( PluginConstructor, pluginInstance );\n\t\t\tthis._contextPlugins.set( pluginInstance, PluginConstructor );\n\n\t\t\t// To make it possible to require a plugin by its name.\n\t\t\tif ( PluginConstructor.pluginName ) {\n\t\t\t\tthis._availablePlugins.set( PluginConstructor.pluginName, PluginConstructor );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Iterable interface.\n\t *\n\t * Returns `[ PluginConstructor, pluginInstance ]` pairs.\n\t */\n\tpublic* [ Symbol.iterator ](): IterableIterator<PluginEntry<TContext>> {\n\t\tfor ( const entry of this._plugins ) {\n\t\t\tif ( typeof entry[ 0 ] == 'function' ) {\n\t\t\t\tyield entry as any;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic get<TConstructor extends PluginClassConstructor<TContext>>( key: TConstructor ): InstanceType<TConstructor>;\n\tpublic get<TName extends string>( key: TName ): PluginsMap[ TName ];\n\n\t/**\n\t * Gets the plugin instance by its constructor or name.\n\t *\n\t * ```ts\n\t * // Check if 'Clipboard' plugin was loaded.\n\t * if ( editor.plugins.has( 'ClipboardPipeline' ) ) {\n\t * \t// Get clipboard plugin instance\n\t * \tconst clipboard = editor.plugins.get( 'ClipboardPipeline' );\n\t *\n\t * \tthis.listenTo( clipboard, 'inputTransformation', ( evt, data ) => {\n\t * \t\t// Do something on clipboard input.\n\t * \t} );\n\t * }\n\t * ```\n\t *\n\t * **Note**: This method will throw an error if a plugin is not loaded. Use `{@link #has editor.plugins.has()}`\n\t * to check if a plugin is available.\n\t *\n\t * @param key The plugin constructor or {@link module:core/plugin~PluginStaticMembers#pluginName name}.\n\t */\n\tpublic get( key: PluginConstructor<TContext> | string ): PluginInterface {\n\t\tconst plugin = this._plugins.get( key );\n\n\t\tif ( !plugin ) {\n\t\t\tlet pluginName = key;\n\n\t\t\tif ( typeof key == 'function' ) {\n\t\t\t\tpluginName = key.pluginName || key.name;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * The plugin is not loaded and could not be obtained.\n\t\t\t *\n\t\t\t * Plugin classes (constructors) need to be provided to the editor and must be loaded before they can be obtained from\n\t\t\t * the plugin collection.\n\t\t\t *\n\t\t\t * **Note**: You can use `{@link module:core/plugincollection~PluginCollection#has editor.plugins.has()}`\n\t\t\t * to check if a plugin was loaded.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-not-loaded\n\t\t\t * @param {string} plugin The name of the plugin which is not loaded.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'plugincollection-plugin-not-loaded', this._context, { plugin: pluginName } );\n\t\t}\n\n\t\treturn plugin;\n\t}\n\n\t/**\n\t * Checks if a plugin is loaded.\n\t *\n\t * ```ts\n\t * // Check if the 'Clipboard' plugin was loaded.\n\t * if ( editor.plugins.has( 'ClipboardPipeline' ) ) {\n\t * \t// Now use the clipboard plugin instance:\n\t * \tconst clipboard = editor.plugins.get( 'ClipboardPipeline' );\n\t *\n\t * \t// ...\n\t * }\n\t * ```\n\t *\n\t * @param key The plugin constructor or {@link module:core/plugin~PluginStaticMembers#pluginName name}.\n\t */\n\tpublic has( key: PluginConstructor<TContext> | string ): boolean {\n\t\treturn this._plugins.has( key );\n\t}\n\n\t/**\n\t * Initializes a set of plugins and adds them to the collection.\n\t *\n\t * @param plugins An array of {@link module:core/plugin~PluginInterface plugin constructors}\n\t * or {@link module:core/plugin~PluginStaticMembers#pluginName plugin names}.\n\t * @param pluginsToRemove Names of the plugins or plugin constructors\n\t * that should not be loaded (despite being specified in the `plugins` array).\n\t * @param pluginsSubstitutions An array of {@link module:core/plugin~PluginInterface plugin constructors}\n\t * that will be used to replace plugins of the same names that were passed in `plugins` or that are in their dependency tree.\n\t * A useful option for replacing built-in plugins while creating tests (for mocking their APIs). Plugins that will be replaced\n\t * must follow these rules:\n\t * * The new plugin must be a class.\n\t * * The new plugin must be named.\n\t * * Both plugins must not depend on other plugins.\n\t * @returns A promise which gets resolved once all plugins are loaded and available in the collection.\n\t */\n\tpublic init(\n\t\tplugins: ReadonlyArray<PluginConstructor<TContext> | string>,\n\t\tpluginsToRemove: ReadonlyArray<PluginConstructor<TContext> | string> = [],\n\t\tpluginsSubstitutions: ReadonlyArray<PluginConstructor<TContext>> = []\n\t): Promise<LoadedPlugins> {\n\t\t// Plugin initialization procedure consists of 2 main steps:\n\t\t// 1) collecting all available plugin constructors,\n\t\t// 2) verification whether all required plugins can be instantiated.\n\t\t//\n\t\t// In the first step, all plugin constructors, available in the provided `plugins` array and inside\n\t\t// plugin's dependencies (from the `Plugin.requires` array), are recursively collected and added to the existing\n\t\t// `this._availablePlugins` map, but without any verification at the given moment. Performing the verification\n\t\t// at this point (during the plugin constructor searching) would cause false errors to occur, that some plugin\n\t\t// is missing but in fact it may be defined further in the array as the dependency of other plugin. After\n\t\t// traversing the entire dependency tree, it will be checked if all required \"top level\" plugins are available.\n\t\t//\n\t\t// In the second step, the list of plugins that have not been explicitly removed is traversed to get all the\n\t\t// plugin constructors to be instantiated in the correct order and to validate against some rules. Finally, if\n\t\t// no plugin is missing and no other error has been found, they all will be instantiated.\n\t\t// eslint-disable-next-line @typescript-eslint/no-this-alias\n\t\tconst that = this;\n\t\tconst context = this._context;\n\n\t\tfindAvailablePluginConstructors( plugins );\n\n\t\tvalidatePlugins( plugins );\n\n\t\tconst pluginsToLoad = plugins.filter( plugin => !isPluginRemoved( plugin, pluginsToRemove ) );\n\n\t\tconst pluginConstructors = [ ...getPluginConstructors( pluginsToLoad ) ];\n\n\t\tsubstitutePlugins( pluginConstructors, pluginsSubstitutions );\n\n\t\tconst pluginInstances = loadPlugins( pluginConstructors );\n\n\t\treturn initPlugins( pluginInstances, 'init' )\n\t\t\t.then( () => initPlugins( pluginInstances, 'afterInit' ) )\n\t\t\t.then( () => pluginInstances );\n\n\t\tfunction isPluginConstructor( plugin: PluginConstructor<TContext> | string | null ): plugin is PluginConstructor<TContext> {\n\t\t\treturn typeof plugin === 'function';\n\t\t}\n\n\t\tfunction isContextPlugin(\n\t\t\tplugin: PluginConstructor<TContext> | string | null\n\t\t): plugin is PluginConstructor<TContext> & { isContextPlugin: true } {\n\t\t\treturn isPluginConstructor( plugin ) && !!plugin.isContextPlugin;\n\t\t}\n\n\t\tfunction isPluginRemoved(\n\t\t\tplugin: PluginConstructor<TContext> | string,\n\t\t\tpluginsToRemove: ReadonlyArray<PluginConstructor<TContext> | string>\n\t\t) {\n\t\t\treturn pluginsToRemove.some( removedPlugin => {\n\t\t\t\tif ( removedPlugin === plugin ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( getPluginName( plugin ) === removedPlugin ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( getPluginName( removedPlugin ) === plugin ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t}\n\n\t\tfunction getPluginName( plugin: PluginConstructor<TContext> | string ) {\n\t\t\treturn isPluginConstructor( plugin ) ?\n\t\t\t\tplugin.pluginName || plugin.name :\n\t\t\t\tplugin;\n\t\t}\n\n\t\tfunction findAvailablePluginConstructors(\n\t\t\tplugins: ReadonlyArray<PluginConstructor<TContext> | string>,\n\t\t\tprocessed = new Set<PluginConstructor<TContext>>()\n\t\t) {\n\t\t\tplugins.forEach( plugin => {\n\t\t\t\tif ( !isPluginConstructor( plugin ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( processed.has( plugin ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tprocessed.add( plugin );\n\n\t\t\t\tif ( plugin.pluginName && !that._availablePlugins.has( plugin.pluginName ) ) {\n\t\t\t\t\tthat._availablePlugins.set( plugin.pluginName, plugin );\n\t\t\t\t}\n\n\t\t\t\tif ( plugin.requires ) {\n\t\t\t\t\tfindAvailablePluginConstructors( plugin.requires, processed );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction getPluginConstructors(\n\t\t\tplugins: ReadonlyArray<PluginConstructor<TContext> | string>,\n\t\t\tprocessed = new Set<PluginConstructor<TContext>>()\n\t\t) {\n\t\t\treturn plugins\n\t\t\t\t.map( plugin => {\n\t\t\t\t\treturn isPluginConstructor( plugin ) ?\n\t\t\t\t\t\tplugin :\n\t\t\t\t\t\tthat._availablePlugins.get( plugin )!;\n\t\t\t\t} )\n\t\t\t\t.reduce( ( result, plugin ) => {\n\t\t\t\t\tif ( processed.has( plugin ) ) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\n\t\t\t\t\tprocessed.add( plugin );\n\n\t\t\t\t\tif ( plugin.requires ) {\n\t\t\t\t\t\tvalidatePlugins( plugin.requires, plugin );\n\n\t\t\t\t\t\tgetPluginConstructors( plugin.requires, processed ).forEach( plugin => result.add( plugin ) );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result.add( plugin );\n\t\t\t\t}, new Set<PluginConstructor<TContext>>() );\n\t\t}\n\n\t\tfunction validatePlugins(\n\t\t\tplugins: ReadonlyArray<PluginConstructor<TContext> | string>,\n\t\t\tparentPluginConstructor: PluginConstructor<TContext> | null = null\n\t\t) {\n\t\t\tplugins\n\t\t\t\t.map( plugin => {\n\t\t\t\t\treturn isPluginConstructor( plugin ) ?\n\t\t\t\t\t\tplugin :\n\t\t\t\t\t\tthat._availablePlugins.get( plugin ) || plugin;\n\t\t\t\t} )\n\t\t\t\t.forEach( plugin => {\n\t\t\t\t\tcheckMissingPlugin( plugin, parentPluginConstructor );\n\t\t\t\t\tcheckContextPlugin( plugin, parentPluginConstructor );\n\t\t\t\t\tcheckRemovedPlugin( plugin, parentPluginConstructor );\n\t\t\t\t} );\n\t\t}\n\n\t\tfunction checkMissingPlugin(\n\t\t\tplugin: PluginConstructor<TContext> | string,\n\t\t\tparentPluginConstructor: PluginConstructor<TContext> | null\n\t\t) {\n\t\t\tif ( isPluginConstructor( plugin ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( parentPluginConstructor ) {\n\t\t\t\t/**\n\t\t\t\t * A required \"soft\" dependency was not found on the plugin list.\n\t\t\t\t *\n\t\t\t\t * When configuring the editor, either prior to building (via\n\t\t\t\t * {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}) or when\n\t\t\t\t * creating a new instance of the editor (e.g. via\n\t\t\t\t * {@link module:core/editor/editorconfig~EditorConfig#plugins `config.plugins`}), you need to provide\n\t\t\t\t * some of the dependencies for other plugins that you used.\n\t\t\t\t *\n\t\t\t\t * This error is thrown when one of these dependencies was not provided. The name of the missing plugin\n\t\t\t\t * can be found in `missingPlugin` and the plugin that required it in `requiredBy`.\n\t\t\t\t *\n\t\t\t\t * In order to resolve it, you need to import the missing plugin and add it to the\n\t\t\t\t * current list of plugins (`Editor.builtinPlugins` or `config.plugins`/`config.extraPlugins`).\n\t\t\t\t *\n\t\t\t\t * Soft requirements were introduced in version 26.0.0. If you happen to stumble upon this error\n\t\t\t\t * when upgrading to version 26.0.0, read also the\n\t\t\t\t * {@glink updating/guides/update-to-26 Migration to 26.0.0} guide.\n\t\t\t\t *\n\t\t\t\t * @error plugincollection-soft-required\n\t\t\t\t * @param {string} missingPlugin The name of the required plugin.\n\t\t\t\t * @param {string} requiredBy The name of the plugin that requires the other plugin.\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'plugincollection-soft-required',\n\t\t\t\t\tcontext,\n\t\t\t\t\t{ missingPlugin: plugin, requiredBy: getPluginName( parentPluginConstructor ) }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * A plugin is not available and could not be loaded.\n\t\t\t *\n\t\t\t * Plugin classes (constructors) need to be provided to the editor before they can be loaded by name.\n\t\t\t * This is usually done in the now deprecated CKEditor 5 builds by setting\n\t\t\t * the {@link module:core/editor/editor~Editor.builtinPlugins} property.\n\t\t\t *\n\t\t\t * **If you see this warning when using one of the deprecated CKEditor 5 Builds**,\n\t\t\t * it means that you tried to enable a plugin that was not included in that build. This may be due to a typo\n\t\t\t * in the plugin name or simply because that plugin was not a part of this build.\n\t\t\t *\n\t\t\t * **Predefined builds are no longer supported and you need to\n\t\t\t * {@glink updating/nim-migration/migration-to-new-installation-methods migrate to new installation methods}**.\n\t\t\t *\n\t\t\t * **If you see this warning when using one of the editor creators directly** (not a build), then it means\n\t\t\t * that you tried loading plugins by name. However, unlike CKEditor 4, CKEditor 5 does not implement a \"plugin loader\".\n\t\t\t * This means that CKEditor 5 does not know where to load the plugin modules from. Therefore, you need to\n\t\t\t * provide each plugin through a reference (as a constructor function). Check out the examples in the\n\t\t\t * {@glink getting-started/installation/cloud/quick-start Quick start} guide.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-not-found\n\t\t\t * @param {string} plugin The name of the plugin which could not be loaded.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'plugincollection-plugin-not-found',\n\t\t\t\tcontext,\n\t\t\t\t{ plugin }\n\t\t\t);\n\t\t}\n\n\t\tfunction checkContextPlugin(\n\t\t\tplugin: PluginConstructor<TContext> | string,\n\t\t\tparentPluginConstructor: PluginConstructor<TContext> | null\n\t\t) {\n\t\t\tif ( !isContextPlugin( parentPluginConstructor ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isContextPlugin( plugin ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * If a plugin is a context plugin, all plugins it requires should also be context plugins\n\t\t\t * instead of plugins. In other words, if one plugin can be used in the context,\n\t\t\t * all its requirements should also be ready to be used in the context. Note that the context\n\t\t\t * provides only a part of the API provided by the editor. If one plugin needs a full\n\t\t\t * editor API, all plugins which require it are considered as plugins that need a full\n\t\t\t * editor API.\n\t\t\t *\n\t\t\t * @error plugincollection-context-required\n\t\t\t * @param {string} plugin The name of the required plugin.\n\t\t\t * @param {string} requiredBy The name of the parent plugin.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'plugincollection-context-required',\n\t\t\t\tcontext,\n\t\t\t\t{ plugin: getPluginName( plugin ), requiredBy: getPluginName( parentPluginConstructor ) }\n\t\t\t);\n\t\t}\n\n\t\tfunction checkRemovedPlugin(\n\t\t\tplugin: PluginConstructor<TContext> | string,\n\t\t\tparentPluginConstructor: PluginConstructor<TContext> | null\n\t\t) {\n\t\t\tif ( !parentPluginConstructor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( !isPluginRemoved( plugin, pluginsToRemove ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Cannot load a plugin because one of its dependencies is listed in the `removePlugins` option.\n\t\t\t *\n\t\t\t * @error plugincollection-required\n\t\t\t * @param {string} plugin The name of the required plugin.\n\t\t\t * @param {string} requiredBy The name of the parent plugin.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'plugincollection-required',\n\t\t\t\tcontext,\n\t\t\t\t{ plugin: getPluginName( plugin ), requiredBy: getPluginName( parentPluginConstructor ) }\n\t\t\t);\n\t\t}\n\n\t\tfunction loadPlugins( pluginConstructors: ReadonlyArray<PluginConstructor<TContext>> ) {\n\t\t\treturn pluginConstructors.map( PluginConstructor => {\n\t\t\t\tlet pluginInstance = that._contextPlugins.get( PluginConstructor ) as ( PluginInterface | undefined );\n\n\t\t\t\tpluginInstance = pluginInstance || new ( PluginConstructor as PluginClassConstructor<TContext> )( context );\n\n\t\t\t\tthat._add( PluginConstructor, pluginInstance );\n\n\t\t\t\treturn pluginInstance;\n\t\t\t} );\n\t\t}\n\n\t\tfunction initPlugins( pluginInstances: ReadonlyArray<PluginInterface>, method: 'init' | 'afterInit' ) {\n\t\t\treturn pluginInstances.reduce<Promise<unknown>>( ( promise, plugin ) => {\n\t\t\t\tif ( !plugin[ method ] ) {\n\t\t\t\t\treturn promise;\n\t\t\t\t}\n\n\t\t\t\tif ( that._contextPlugins.has( plugin ) ) {\n\t\t\t\t\treturn promise;\n\t\t\t\t}\n\n\t\t\t\treturn promise.then( plugin[ method ]!.bind( plugin ) );\n\t\t\t}, Promise.resolve() );\n\t\t}\n\n\t\t/**\n\t\t * Replaces plugin constructors with the specified set of plugins.\n\t\t */\n\t\tfunction substitutePlugins(\n\t\t\tpluginConstructors: Array<PluginConstructor<TContext>>,\n\t\t\tpluginsSubstitutions: ReadonlyArray<PluginConstructor<TContext>>\n\t\t) {\n\t\t\tfor ( const pluginItem of pluginsSubstitutions ) {\n\t\t\t\tif ( typeof pluginItem != 'function' ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * The plugin replacing an existing plugin must be a function.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replace-plugin-invalid-type\n\t\t\t\t\t * @param {never} pluginItem The plugin item.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-replace-plugin-invalid-type', null, { pluginItem } );\n\t\t\t\t}\n\n\t\t\t\tconst pluginName = pluginItem.pluginName;\n\n\t\t\t\tif ( !pluginName ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * The plugin replacing an existing plugin must have a name.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replace-plugin-missing-name\n\t\t\t\t\t * @param {module:core/plugin~PluginConstructor} pluginItem The plugin item.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-replace-plugin-missing-name', null, { pluginItem } );\n\t\t\t\t}\n\n\t\t\t\tif ( pluginItem.requires && pluginItem.requires.length ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * The plugin replacing an existing plugin cannot depend on other plugins.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-cannot-have-dependencies\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-plugin-for-replacing-cannot-have-dependencies', null, { pluginName } );\n\t\t\t\t}\n\n\t\t\t\tconst pluginToReplace = that._availablePlugins.get( pluginName );\n\n\t\t\t\tif ( !pluginToReplace ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * The replaced plugin does not exist in the\n\t\t\t\t\t * {@link module:core/plugincollection~PluginCollection available plugins} collection.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-not-exist\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-plugin-for-replacing-not-exist', null, { pluginName } );\n\t\t\t\t}\n\n\t\t\t\tconst indexInPluginConstructors = pluginConstructors.indexOf( pluginToReplace );\n\n\t\t\t\tif ( indexInPluginConstructors === -1 ) {\n\t\t\t\t\t// The Context feature can substitute plugins as well.\n\t\t\t\t\t// It may happen that the editor will be created with the given context, where the plugin for substitute\n\t\t\t\t\t// was already replaced. In such a case, we don't want to do it again.\n\t\t\t\t\tif ( that._contextPlugins.has( pluginToReplace ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t/**\n\t\t\t\t\t * The replaced plugin will not be loaded so it cannot be replaced.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-plugin-for-replacing-not-loaded\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-plugin-for-replacing-not-loaded', null, { pluginName } );\n\t\t\t\t}\n\n\t\t\t\tif ( pluginToReplace.requires && pluginToReplace.requires.length ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * The replaced plugin cannot depend on other plugins.\n\t\t\t\t\t *\n\t\t\t\t\t * @error plugincollection-replaced-plugin-cannot-have-dependencies\n\t\t\t\t\t * @param {string} pluginName The name of the plugin.\n\t\t\t\t\t */\n\t\t\t\t\tthrow new CKEditorError( 'plugincollection-replaced-plugin-cannot-have-dependencies', null, { pluginName } );\n\t\t\t\t}\n\n\t\t\t\tpluginConstructors.splice( indexInPluginConstructors, 1, pluginItem );\n\t\t\t\tthat._availablePlugins.set( pluginName, pluginItem );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Destroys all loaded plugins.\n\t */\n\tpublic destroy(): Promise<unknown> {\n\t\tconst promises: Array<unknown> = [];\n\n\t\tfor ( const [ , pluginInstance ] of this ) {\n\t\t\tif ( typeof pluginInstance.destroy == 'function' && !this._contextPlugins.has( pluginInstance ) ) {\n\t\t\t\tpromises.push( pluginInstance.destroy() );\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all( promises );\n\t}\n\n\t/**\n\t * Adds the plugin to the collection. Exposed mainly for testing purposes.\n\t *\n\t * @param PluginConstructor The plugin constructor.\n\t * @param plugin The instance of the plugin.\n\t */\n\tprivate _add( PluginConstructor: PluginConstructor<TContext>, plugin: PluginInterface ) {\n\t\tthis._plugins.set( PluginConstructor, plugin );\n\n\t\tconst pluginName = PluginConstructor.pluginName;\n\n\t\tif ( !pluginName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this._plugins.has( pluginName ) ) {\n\t\t\t/**\n\t\t\t * Two plugins with the same {@link module:core/plugin~PluginStaticMembers#pluginName} were loaded.\n\t\t\t * This will lead to runtime conflicts between these plugins.\n\t\t\t *\n\t\t\t * In practice, this warning usually means that new plugins were added to an existing CKEditor 5 build.\n\t\t\t * Plugins should always be added to a source version of the editor (`@ckeditor/ckeditor5-editor-*`),\n\t\t\t * not to an editor imported from one of the `@ckeditor/ckeditor5-build-*` packages.\n\t\t\t *\n\t\t\t * Check your import paths and the list of plugins passed to\n\t\t\t * {@link module:core/editor/editor~Editor.create `Editor.create()`}\n\t\t\t * or specified in {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}.\n\t\t\t *\n\t\t\t * Predefined builds are a deprecated solution and we strongly advise\n\t\t\t * {@glink updating/nim-migration/migration-to-new-installation-methods migrating to new installation methods}.\n\t\t\t *\n\t\t\t * The second option is that your `node_modules/` directory contains duplicated versions of the same\n\t\t\t * CKEditor 5 packages. Normally, on clean installations, npm deduplicates packages in `node_modules/`, so\n\t\t\t * it may be enough to call `rm -rf node_modules && npm i`. However, if you installed conflicting versions\n\t\t\t * of some packages, their dependencies may need to be installed in more than one version which may lead to this\n\t\t\t * warning.\n\t\t\t *\n\t\t\t * Technically speaking, this error occurs because after adding a plugin to an existing editor build\n\t\t\t * the dependencies of this plugin are being duplicated.\n\t\t\t * They are already built into that editor build and now get added for the second time as dependencies\n\t\t\t * of the plugin you are installing.\n\t\t\t *\n\t\t\t * @error plugincollection-plugin-name-conflict\n\t\t\t * @param {string} pluginName The duplicated plugin name.\n\t\t\t * @param {module:core/plugin~PluginConstructor} plugin1 The first plugin constructor.\n\t\t\t * @param {module:core/plugin~PluginConstructor} plugin2 The second plugin constructor.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'plugincollection-plugin-name-conflict',\n\t\t\t\tnull,\n\t\t\t\t{ pluginName, plugin1: this._plugins.get( pluginName )!.constructor, plugin2: PluginConstructor }\n\t\t\t);\n\t\t}\n\n\t\tthis._plugins.set( pluginName, plugin );\n\t}\n}\n\n/**\n * A `[ PluginConstructor, pluginInstance ]` pair.\n */\nexport type PluginEntry<TContext> = [ PluginConstructor<TContext>, PluginInterface ];\n\n/**\n * Helper type that maps plugin names to their types.\n * It is meant to be extended with module augmentation.\n *\n * ```ts\n * class MyPlugin extends Plugin {\n * \tpublic static pluginName() {\n * \t\treturn 'MyPlugin' as const;\n * \t}\n * }\n *\n * declare module '@ckeditor/ckeditor5-core' {\n * \tinterface PluginsMap {\n * \t\t[ MyPlugin.pluginName ]: MyPlugin;\n * \t}\n * }\n *\n * // Returns `MyPlugin`.\n * const myPlugin = editor.plugins.get( 'MyPlugin' );\n * ```\n */\nexport interface PluginsMap {\n\t[ name: string ]: PluginInterface;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/context\n */\n\nimport {\n\tConfig,\n\tCollection,\n\tCKEditorError,\n\tLocale,\n\ttype LocaleTranslate\n} from '@ckeditor/ckeditor5-utils';\n\nimport { PluginCollection } from './plugincollection.js';\nimport { type Editor } from './editor/editor.js';\nimport type { LoadedPlugins, PluginConstructor } from './plugin.js';\nimport type { EditorConfig } from './editor/editorconfig.js';\n\n/**\n * Provides a common, higher-level environment for solutions that use multiple {@link module:core/editor/editor~Editor editors}\n * or plugins that work outside the editor. Use it instead of {@link module:core/editor/editor~Editor.create `Editor.create()`}\n * in advanced application integrations.\n *\n * All configuration options passed to a context will be used as default options for the editor instances initialized in that context.\n *\n * {@link module:core/contextplugin~ContextPlugin Context plugins} passed to a context instance will be shared among all\n * editor instances initialized in this context. These will be the same plugin instances for all the editors.\n *\n * **Note:** The context can only be initialized with {@link module:core/contextplugin~ContextPlugin context plugins}\n * (e.g. [comments](https://ckeditor.com/collaboration/comments/)). Regular {@link module:core/plugin~Plugin plugins} require an\n * editor instance to work and cannot be added to a context.\n *\n * **Note:** You can add a context plugin to an editor instance, though.\n *\n * If you are using multiple editor instances on one page and use any context plugins, create a context to share the configuration and\n * plugins among these editors. Some plugins will use the information about all existing editors to better integrate between them.\n *\n * If you are using plugins that do not require an editor to work (e.g. [comments](https://ckeditor.com/collaboration/comments/)),\n * enable and configure them using the context.\n *\n * If you are using only a single editor on each page, use {@link module:core/editor/editor~Editor.create `Editor.create()`} instead.\n * In such a case, a context instance will be created by the editor instance in a transparent way.\n *\n * See {@link ~Context.create `Context.create()`} for usage examples.\n */\nexport class Context {\n\t/**\n\t * Stores all the configurations specific to this context instance.\n\t */\n\tpublic readonly config: Config<ContextConfig>;\n\n\t/**\n\t * The plugins loaded and in use by this context instance.\n\t */\n\tpublic readonly plugins: PluginCollection<Context | Editor>;\n\n\tpublic readonly locale: Locale;\n\n\t/**\n\t * Shorthand for {@link module:utils/locale~Locale#t}.\n\t */\n\tpublic readonly t: LocaleTranslate;\n\n\t/**\n\t * A list of editors that this context instance is injected to.\n\t */\n\tpublic readonly editors: Collection<Editor>;\n\n\t/**\n\t * The default configuration which is built into the `Context` class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds featuring `Context` to provide the default configuration options\n\t * which are later used during the context initialization.\n\t *\n\t * ```ts\n\t * Context.defaultConfig = {\n\t * \tfoo: 1,\n\t * \tbar: 2\n\t * };\n\t *\n\t * Context\n\t * \t.create()\n\t * \t.then( context => {\n\t * \t\tcontext.config.get( 'foo' ); // -> 1\n\t * \t\tcontext.config.get( 'bar' ); // -> 2\n\t * \t} );\n\t *\n\t * // The default options can be overridden by the configuration passed to create().\n\t * Context\n\t * \t.create( { bar: 3 } )\n\t * \t.then( context => {\n\t * \t\tcontext.config.get( 'foo' ); // -> 1\n\t * \t\tcontext.config.get( 'bar' ); // -> 3\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/context~Context.builtinPlugins `Context.builtinPlugins`}\n\t * and {@link module:core/editor/editor~Editor.defaultConfig `Editor.defaultConfig`}.\n\t */\n\tpublic static defaultConfig: ContextConfig;\n\n\t/**\n\t * An array of plugins built into the `Context` class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds featuring `Context` to provide the default configuration options\n\t * which are later used during the context initialization.\n\t *\n\t * They will be automatically initialized by `Context` unless `config.plugins` is passed.\n\t *\n\t * ```ts\n\t * // Build some context plugins into the Context class first.\n\t * Context.builtinPlugins = [ FooPlugin, BarPlugin ];\n\t *\n\t * // Normally, you need to define config.plugins, but since Context.builtinPlugins was\n\t * // defined, now you can call create() without any configuration.\n\t * Context\n\t * \t.create()\n\t * \t.then( context => {\n\t * \t\tcontext.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\tcontext.plugins.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/context~Context.defaultConfig `Context.defaultConfig`}\n\t * and {@link module:core/editor/editor~Editor.builtinPlugins `Editor.builtinPlugins`}.\n\t */\n\tpublic static builtinPlugins: Array<PluginConstructor<Context | Editor>>;\n\n\t/**\n\t * Reference to the editor which created the context.\n\t * Null when the context was created outside of the editor.\n\t *\n\t * It is used to destroy the context when removing the editor that has created the context.\n\t */\n\tprivate _contextOwner: Editor | null = null;\n\n\t/**\n\t * Creates a context instance with a given configuration.\n\t *\n\t * Usually not to be used directly. See the static {@link module:core/context~Context.create `create()`} method.\n\t *\n\t * @param config The context configuration.\n\t */\n\tconstructor( config?: ContextConfig ) {\n\t\t// We don't pass translations to the config, because its behavior of splitting keys\n\t\t// with dots (e.g. `resize.width` => `resize: { width }`) breaks the translations.\n\t\tconst { translations, ...rest } = config || {};\n\n\t\tthis.config = new Config<ContextConfig>( rest, ( this.constructor as typeof Context ).defaultConfig );\n\n\t\tconst availablePlugins = ( this.constructor as typeof Context ).builtinPlugins;\n\n\t\tthis.config.define( 'plugins', availablePlugins );\n\n\t\tthis.plugins = new PluginCollection<Context | Editor>( this, availablePlugins );\n\n\t\tconst languageConfig = this.config.get( 'language' ) || {};\n\n\t\tthis.locale = new Locale( {\n\t\t\tuiLanguage: typeof languageConfig === 'string' ? languageConfig : languageConfig.ui,\n\t\t\tcontentLanguage: this.config.get( 'language.content' ),\n\t\t\ttranslations\n\t\t} );\n\n\t\tthis.t = this.locale.t;\n\n\t\tthis.editors = new Collection<Editor>();\n\t}\n\n\t/**\n\t * Loads and initializes plugins specified in the configuration.\n\t *\n\t * @returns A promise which resolves once the initialization is completed, providing an array of loaded plugins.\n\t */\n\tpublic initPlugins(): Promise<LoadedPlugins> {\n\t\tconst plugins = this.config.get( 'plugins' ) || [];\n\t\tconst substitutePlugins = this.config.get( 'substitutePlugins' ) || [];\n\n\t\t// Plugins for substitution should be checked as well.\n\t\tfor ( const Plugin of plugins.concat( substitutePlugins ) ) {\n\t\t\tif ( typeof Plugin != 'function' ) {\n\t\t\t\t/**\n\t\t\t\t * Only a constructor function is allowed as a {@link module:core/contextplugin~ContextPlugin context plugin}.\n\t\t\t\t *\n\t\t\t\t * @error context-initplugins-constructor-only\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'context-initplugins-constructor-only',\n\t\t\t\t\tnull,\n\t\t\t\t\t{ Plugin }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( Plugin.isContextPlugin !== true ) {\n\t\t\t\t/**\n\t\t\t\t * Only a plugin marked as a {@link module:core/contextplugin~ContextPlugin.isContextPlugin context plugin}\n\t\t\t\t * is allowed to be used with a context.\n\t\t\t\t *\n\t\t\t\t * @error context-initplugins-invalid-plugin\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'context-initplugins-invalid-plugin',\n\t\t\t\t\tnull,\n\t\t\t\t\t{ Plugin }\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn this.plugins.init( plugins, [], substitutePlugins );\n\t}\n\n\t/**\n\t * Destroys the context instance and all editors used with the context,\n\t * releasing all resources used by the context.\n\t *\n\t * @returns A promise that resolves once the context instance is fully destroyed.\n\t */\n\tpublic destroy(): Promise<unknown> {\n\t\treturn Promise.all( Array.from( this.editors, editor => editor.destroy() ) )\n\t\t\t.then( () => this.plugins.destroy() );\n\t}\n\n\t/**\n\t * Adds a reference to the editor which is used with this context.\n\t *\n\t * When the given editor has created the context, the reference to this editor will be stored\n\t * as a {@link ~Context#_contextOwner}.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @param isContextOwner Stores the given editor as a context owner.\n\t */\n\tpublic _addEditor( editor: Editor, isContextOwner: boolean ): void {\n\t\tif ( this._contextOwner ) {\n\t\t\t/**\n\t\t\t * Cannot add multiple editors to the context which is created by the editor.\n\t\t\t *\n\t\t\t * @error context-addeditor-private-context\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'context-addeditor-private-context' );\n\t\t}\n\n\t\tthis.editors.add( editor );\n\n\t\tif ( isContextOwner ) {\n\t\t\tthis._contextOwner = editor;\n\t\t}\n\t}\n\n\t/**\n\t * Removes a reference to the editor which was used with this context.\n\t * When the context was created by the given editor, the context will be destroyed.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @return A promise that resolves once the editor is removed from the context or when the context was destroyed.\n\t */\n\tpublic _removeEditor( editor: Editor ): Promise<unknown> {\n\t\tif ( this.editors.has( editor ) ) {\n\t\t\tthis.editors.remove( editor );\n\t\t}\n\n\t\tif ( this._contextOwner === editor ) {\n\t\t\treturn this.destroy();\n\t\t}\n\n\t\treturn Promise.resolve();\n\t}\n\n\t/**\n\t * Returns the context configuration which will be copied to the editors created using this context.\n\t *\n\t * The configuration returned by this method has the plugins configuration removed &ndash; plugins are shared with all editors\n\t * through another mechanism.\n\t *\n\t * This method should only be used by the editor.\n\t *\n\t * @internal\n\t * @returns Configuration as a plain object.\n\t */\n\tpublic _getEditorConfig(): Partial<EditorConfig> {\n\t\tconst result: Record<string, unknown> = {};\n\n\t\tfor ( const name of this.config.names() ) {\n\t\t\tif ( ![ 'plugins', 'removePlugins', 'extraPlugins' ].includes( name ) ) {\n\t\t\t\tresult[ name ] = this.config.get( name );\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Creates and initializes a new context instance.\n\t *\n\t * ```ts\n\t * const commonConfig = { ... }; // Configuration for all the plugins and editors.\n\t * const editorPlugins = [ ... ]; // Regular plugins here.\n\t *\n\t * Context\n\t * \t.create( {\n\t * \t\t// Only context plugins here.\n\t * \t\tplugins: [ ... ],\n\t *\n\t * \t\t// Configure the language for all the editors (it cannot be overwritten).\n\t * \t\tlanguage: { ... },\n\t *\n\t * \t\t// Configuration for context plugins.\n\t * \t\tcomments: { ... },\n\t * \t\t...\n\t *\n\t * \t\t// Default configuration for editor plugins.\n\t * \t\ttoolbar: { ... },\n\t * \t\timage: { ... },\n\t * \t\t...\n\t * \t} )\n\t * \t.then( context => {\n\t * \t\tconst promises = [];\n\t *\n\t * \t\tpromises.push( ClassicEditor.create(\n\t * \t\t\tdocument.getElementById( 'editor1' ),\n\t * \t\t\t{\n\t * \t\t\t\teditorPlugins,\n\t * \t\t\t\tcontext\n\t * \t\t\t}\n\t * \t\t) );\n\t *\n\t * \t\tpromises.push( ClassicEditor.create(\n\t * \t\t\tdocument.getElementById( 'editor2' ),\n\t * \t\t\t{\n\t * \t\t\t\teditorPlugins,\n\t * \t\t\t\tcontext,\n\t * \t\t\t\ttoolbar: { ... } // You can overwrite the configuration of the context.\n\t * \t\t\t}\n\t * \t\t) );\n\t *\n\t * \t\treturn Promise.all( promises );\n\t * \t} );\n\t * ```\n\t *\n\t * @param config The context configuration.\n\t * @returns A promise resolved once the context is ready. The promise resolves with the created context instance.\n\t */\n\tpublic static create( config?: ContextConfig ): Promise<Context> {\n\t\treturn new Promise( resolve => {\n\t\t\tconst context = new this( config );\n\n\t\t\tresolve( context.initPlugins().then( () => context ) );\n\t\t} );\n\t}\n}\n\n/**\n * The context configuration.\n */\nexport type ContextConfig = {\n\tplugins?: Array<PluginConstructor<Context | Editor>>;\n\tsubstitutePlugins?: Array<PluginConstructor<Context | Editor>>;\n} & Omit<EditorConfig, 'plugins' | 'substitutePlugins' | 'removePlugins' | 'extraPlugins'>;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/contextplugin\n */\n\nimport {\n\tObservableMixin,\n\ttype Collection,\n\ttype Config,\n\ttype Locale,\n\ttype LocaleTranslate\n} from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from './editor/editor.js';\nimport type { EditorConfig } from './editor/editorconfig.js';\nimport { type Context } from './context.js';\nimport type { PluginDependencies, PluginInterface } from './plugin.js';\nimport { type PluginCollection } from './plugincollection.js';\n\n/**\n * The base class for {@link module:core/context~Context} plugin classes.\n *\n * A context plugin can either be initialized for an {@link module:core/editor/editor~Editor editor} or for\n * a {@link module:core/context~Context context}. In other words, it can either\n * work within one editor instance or with one or more editor instances that use a single context.\n * It is the context plugin's role to implement handling for both modes.\n *\n * There are a few rules for interaction between the editor plugins and context plugins:\n *\n * * A context plugin can require another context plugin.\n * * An {@link module:core/plugin~Plugin editor plugin} can require a context plugin.\n * * A context plugin MUST NOT require an {@link module:core/plugin~Plugin editor plugin}.\n */\nexport class ContextPlugin extends /* #__PURE__ */ ObservableMixin() implements PluginInterface {\n\t/**\n\t * The context or editor instance.\n\t */\n\tpublic readonly context: ContextInterface;\n\n\t/**\n\t * Creates a new plugin instance.\n\t */\n\tconstructor( context: Context | Editor ) {\n\t\tsuper();\n\n\t\tthis.context = context as ContextInterface;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic destroy(): void {\n\t\tthis.stopListening();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get isContextPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get isOfficialPlugin(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get isPremiumPlugin(): boolean {\n\t\treturn false;\n\t}\n}\n\n/**\n * The common interface of {@link module:core/context~Context} and {@link module:core/editor/editor~Editor}.\n */\nexport interface ContextInterface {\n\tconfig: Config<Omit<EditorConfig, 'plugins' | 'substitutePlugins' | 'removePlugins' | 'extraPlugins'>>;\n\tplugins: PluginCollection<Context | Editor>;\n\tlocale: Locale;\n\tt: LocaleTranslate;\n\teditors?: Collection<Editor>;\n}\n\nexport type ContextPluginDependencies = PluginDependencies<Context | Editor>;\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editingkeystrokehandler\n */\n\nimport { KeystrokeHandler, type PriorityString } from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from './editor/editor.js';\n\n/**\n * A keystroke handler for editor editing. Its instance is available\n * in {@link module:core/editor/editor~Editor#keystrokes} so plugins\n * can register their keystrokes.\n *\n * E.g. an undo plugin would do this:\n *\n * ```ts\n * editor.keystrokes.set( 'Ctrl+Z', 'undo' );\n * editor.keystrokes.set( 'Ctrl+Shift+Z', 'redo' );\n * editor.keystrokes.set( 'Ctrl+Y', 'redo' );\n * ```\n */\nexport class EditingKeystrokeHandler extends KeystrokeHandler {\n\t/**\n\t * The editor instance.\n\t */\n\tpublic readonly editor: Editor;\n\n\t/**\n\t * Creates an instance of the keystroke handler.\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper();\n\t\tthis.editor = editor;\n\t}\n\n\t/**\n\t * Registers a handler for the specified keystroke.\n\t *\n\t * The handler can be specified as a command name or a callback.\n\t *\n\t * @param keystroke Keystroke defined in a format accepted by\n\t * the {@link module:utils/keyboard~parseKeystroke} function.\n\t * @param callback If a string is passed, then the keystroke will\n\t * {@link module:core/editor/editor~Editor#execute execute a command}.\n\t * If a function, then it will be called with the\n\t * {@link module:engine/view/observer/keyobserver~ViewDocumentKeyEventData key event data} object and\n\t * a `cancel()` helper to both `preventDefault()` and `stopPropagation()` of the event.\n\t * @param options Additional options.\n\t * @param options.priority The priority of the keystroke callback. The higher the priority value\n\t * the sooner the callback will be executed. Keystrokes having the same priority\n\t * are called in the order they were added.\n\t */\n\tpublic override set(\n\t\tkeystroke: string | Array<string | number>,\n\t\tcallback: EditingKeystrokeCallback,\n\t\toptions: { readonly priority?: PriorityString } = {}\n\t): void {\n\t\tif ( typeof callback == 'string' ) {\n\t\t\tconst commandName = callback;\n\n\t\t\tcallback = ( evtData, cancel ) => {\n\t\t\t\tthis.editor.execute( commandName );\n\t\t\t\tcancel();\n\t\t\t};\n\t\t}\n\n\t\tsuper.set( keystroke, callback, options );\n\t}\n}\n\n/**\n * Command name or a callback to be executed when a given keystroke is pressed.\n */\nexport type EditingKeystrokeCallback = string | ( ( ev: KeyboardEvent, cancel: () => void ) => void );\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/accessibility\n */\n\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils';\nimport { type Editor } from './editor/editor.js';\n\nconst DEFAULT_CATEGORY_ID = 'contentEditing' as const;\n\n/**\n * @internal\n */\nexport const DEFAULT_GROUP_ID = 'common' as const;\n\n/**\n * A common namespace for various accessibility features of the editor.\n *\n * **Information about editor keystrokes**\n *\n * * The information about keystrokes available in the editor is stored in the {@link #keystrokeInfos} property.\n * * New info entries can be added using the {@link #addKeystrokeInfoCategory}, {@link #addKeystrokeInfoGroup},\n * and {@link #addKeystrokeInfos} methods.\n */\nexport class Accessibility {\n\t/**\n\t * Stores information about keystrokes brought by editor features for the users to interact with the editor, mainly\n\t * keystroke combinations and their accessible labels.\n\t *\n\t * This information is particularly useful for screen reader and other assistive technology users. It gets displayed\n\t * by the {@link module:ui/editorui/accessibilityhelp/accessibilityhelp~AccessibilityHelp Accessibility help} dialog.\n\t *\n\t * Keystrokes are organized in categories and groups. They can be added using ({@link #addKeystrokeInfoCategory},\n\t * {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfos}) methods.\n\t *\n\t * Please note that:\n\t * * two categories are always available:\n\t * * `'contentEditing'` for keystrokes related to content creation,\n\t * * `'navigation'` for keystrokes related to navigation in the UI and the content.\n\t * * unless specified otherwise, new keystrokes are added into the `'contentEditing'` category and the `'common'`\n\t * keystroke group within that category while using the {@link #addKeystrokeInfos} method.\n\t */\n\tpublic readonly keystrokeInfos: KeystrokeInfoDefinitions = new Map();\n\n\t/**\n\t * The editor instance.\n\t */\n\tprivate readonly _editor: Editor;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tthis._editor = editor;\n\t\tconst isMenuBarVisible = editor.config.get( 'menuBar.isVisible' );\n\n\t\tconst t = editor.locale.t;\n\n\t\tthis.addKeystrokeInfoCategory( {\n\t\t\tid: DEFAULT_CATEGORY_ID,\n\t\t\tlabel: t( 'Content editing keystrokes' ),\n\t\t\tdescription: t( 'These keyboard shortcuts allow for quick access to content editing features.' )\n\t\t} );\n\n\t\tconst navigationKeystrokes = [\n\t\t\t{\n\t\t\t\tlabel: t( 'Close contextual balloons, dropdowns, and dialogs' ),\n\t\t\t\tkeystroke: 'Esc'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t( 'Open the accessibility help dialog' ),\n\t\t\t\tkeystroke: 'Alt+0'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t( 'Move focus between form fields (inputs, buttons, etc.)' ),\n\t\t\t\tkeystroke: [ [ 'Tab' ], [ 'Shift+Tab' ] ]\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t( 'Move focus to the toolbar, navigate between toolbars' ),\n\t\t\t\tkeystroke: 'Alt+F10',\n\t\t\t\tmayRequireFn: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t( 'Navigate through the toolbar or menu bar' ),\n\t\t\t\tkeystroke: [ [ 'arrowup' ], [ 'arrowright' ], [ 'arrowdown' ], [ 'arrowleft' ] ]\n\t\t\t},\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line @stylistic/max-len\n\t\t\t\tlabel: t( 'Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.' ),\n\t\t\t\tkeystroke: [ [ 'Enter' ], [ 'Space' ] ]\n\t\t\t}\n\t\t];\n\n\t\tif ( isMenuBarVisible ) {\n\t\t\tnavigationKeystrokes.push(\n\t\t\t\t{\n\t\t\t\t\tlabel: t( 'Move focus to the menu bar, navigate between menu bars' ),\n\t\t\t\t\tkeystroke: 'Alt+F9',\n\t\t\t\t\tmayRequireFn: true\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tthis.addKeystrokeInfoCategory( {\n\t\t\tid: 'navigation',\n\t\t\tlabel: t( 'User interface and content navigation keystrokes' ),\n\t\t\tdescription: t( 'Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.' ),\n\t\t\tgroups: [\n\t\t\t\t{\n\t\t\t\t\tid: 'common',\n\t\t\t\t\tkeystrokes: navigationKeystrokes\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\t}\n\n\t/**\n\t * Adds a top-level category in the {@link #keystrokeInfos keystroke information database} with a label and optional description.\n\t *\n\t * Categories organize keystrokes and help users to find the right keystroke. Each category can have multiple groups\n\t * of keystrokes that narrow down the context in which the keystrokes are available. Every keystroke category comes\n\t * with a `'common'` group by default.\n\t *\n\t * By default, two categories are available:\n\t * * `'contentEditing'` for keystrokes related to content creation,\n\t * * `'navigation'` for keystrokes related to navigation in the UI and the content.\n\t *\n\t * To create a new keystroke category with new groups, use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfoCategory( {\n\t * \t\t\tid: 'myCategory',\n\t * \t\t\tlabel: t( 'My category' ),\n\t * \t\t\tdescription: t( 'My category description.' ),\n\t * \t\t\tgroups: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tid: 'myGroup',\n\t * \t\t\t\t\tlabel: t( 'My keystroke group' ),\n\t * \t\t\t\t\tkeystrokes: [\n\t * \t\t\t\t\t\t{\n\t * \t\t\t\t\t\t\tlabel: t( 'Keystroke label 1' ),\n\t * \t\t\t\t\t\t\tkeystroke: 'Ctrl+Shift+N'\n\t * \t\t\t\t\t\t},\n\t * \t\t\t\t\t\t{\n\t * \t\t\t\t\t\t\tlabel: t( 'Keystroke label 2' ),\n\t * \t\t\t\t\t\t\tkeystroke: 'Ctrl+Shift+M'\n\t * \t\t\t\t\t\t}\n\t * \t\t\t\t\t]\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t};\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfos}.\n\t */\n\tpublic addKeystrokeInfoCategory( { id, label, description, groups }: AddKeystrokeInfoCategoryData ): void {\n\t\tthis.keystrokeInfos.set( id, {\n\t\t\tid,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tgroups: new Map()\n\t\t} );\n\n\t\tthis.addKeystrokeInfoGroup( {\n\t\t\tcategoryId: id,\n\t\t\tid: DEFAULT_GROUP_ID\n\t\t} );\n\n\t\tif ( groups ) {\n\t\t\tgroups.forEach( group => {\n\t\t\t\tthis.addKeystrokeInfoGroup( {\n\t\t\t\t\tcategoryId: id,\n\t\t\t\t\t...group\n\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Adds a group of keystrokes in a specific category to the {@link #keystrokeInfos keystroke information database}.\n\t *\n\t * Groups narrow down the context in which the keystrokes are available. When `categoryId` is not specified,\n\t * the group goes to the `'contentEditing'` category (default).\n\t *\n\t * To create a new group within an existing category, use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfoGroup( {\n\t * \t\t\tid: 'myGroup',\n\t * \t\t\tcategoryId: 'navigation',\n\t * \t\t\tlabel: t( 'My keystroke group' ),\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label 1' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+Shift+N'\n\t * \t\t\t\t},\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label 2' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+Shift+M'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoCategory}, and {@link #addKeystrokeInfos}.\n\t */\n\tpublic addKeystrokeInfoGroup( {\n\t\tcategoryId = DEFAULT_CATEGORY_ID,\n\t\tid,\n\t\tlabel,\n\t\tkeystrokes\n\t}: AddKeystrokeInfoGroupData ): void {\n\t\tconst category = this.keystrokeInfos.get( categoryId );\n\n\t\tif ( !category ) {\n\t\t\tthrow new CKEditorError( 'accessibility-unknown-keystroke-info-category', this._editor, { groupId: id, categoryId } );\n\t\t}\n\n\t\tcategory.groups.set( id, {\n\t\t\tid,\n\t\t\tlabel,\n\t\t\tkeystrokes: keystrokes || []\n\t\t} );\n\t}\n\n\t/**\n\t * Adds information about keystrokes to the {@link #keystrokeInfos keystroke information database}.\n\t *\n\t * Keystrokes without specified `groupId` or `categoryId` go to the `'common'` group in the `'contentEditing'` category (default).\n\t *\n\t * To add a keystroke brought by your plugin (using default group and category), use the following code:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label' ),\n\t * \t\t\t\t\tkeystroke: 'CTRL+B'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t * To add a keystroke in a specific existing `'widget'` group in the default `'contentEditing'` category:\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\t// Add a keystroke to the existing \"widget\" group.\n\t * \t\t\tgroupId: 'widget',\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'A an action on a selected widget' ),\n\t * \t\t\t\t\tkeystroke: 'Ctrl+D',\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * To add a keystroke to another existing category (using default group):\n\t *\n\t * ```js\n\t * class MyPlugin extends Plugin {\n\t * \t// ...\n\t * \tinit() {\n\t * \t\tconst editor = this.editor;\n\t * \t\tconst t = editor.t;\n\t *\n\t * \t\t// ...\n\t *\n\t * \t\teditor.accessibility.addKeystrokeInfos( {\n\t * \t\t\t// Add keystrokes to the \"navigation\" category (one of defaults).\n\t * \t\t\tcategoryId: 'navigation',\n\t * \t\t\tkeystrokes: [\n\t * \t\t\t\t{\n\t * \t\t\t\t\tlabel: t( 'Keystroke label' ),\n\t * \t\t\t\t\tkeystroke: 'CTRL+B'\n\t * \t\t\t\t}\n\t * \t\t\t]\n\t * \t\t} );\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * See {@link #keystrokeInfos}, {@link #addKeystrokeInfoGroup}, and {@link #addKeystrokeInfoCategory}.\n\t */\n\tpublic addKeystrokeInfos( {\n\t\tcategoryId = DEFAULT_CATEGORY_ID,\n\t\tgroupId = DEFAULT_GROUP_ID,\n\t\tkeystrokes\n\t}: AddKeystrokeInfosData ): void {\n\t\tif ( !this.keystrokeInfos.has( categoryId ) ) {\n\t\t\t/**\n\t\t\t * Cannot add keystrokes in an unknown category. Use\n\t\t\t * {@link module:core/accessibility~Accessibility#addKeystrokeInfoCategory}\n\t\t\t * to add a new category or make sure the specified category exists.\n\t\t\t *\n\t\t\t * @error accessibility-unknown-keystroke-info-category\n\t\t\t * @param {string} categoryId The id of the unknown keystroke category.\n\t\t\t * @param {module:core/accessibility~AddKeystrokeInfosData#keystrokes} keystrokes Keystroke definitions about to be added.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'accessibility-unknown-keystroke-info-category', this._editor, { categoryId, keystrokes } );\n\t\t}\n\n\t\tconst category = this.keystrokeInfos.get( categoryId )!;\n\n\t\tif ( !category.groups.has( groupId ) ) {\n\t\t\t/**\n\t\t\t * Cannot add keystrokes to an unknown group.\n\t\t\t *\n\t\t\t * Use {@link module:core/accessibility~Accessibility#addKeystrokeInfoGroup}\n\t\t\t * to add a new group or make sure the specified group exists.\n\t\t\t *\n\t\t\t * @error accessibility-unknown-keystroke-info-group\n\t\t\t * @param {string} groupId The id of the unknown keystroke group.\n\t\t\t * @param {string} categoryId The id of category the unknown group should belong to.\n\t\t\t * @param {module:core/accessibility~AddKeystrokeInfosData#keystrokes} keystrokes Keystroke definitions about to be added.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'accessibility-unknown-keystroke-info-group', this._editor, { groupId, categoryId, keystrokes } );\n\t\t}\n\n\t\tcategory.groups.get( groupId )!.keystrokes.push( ...keystrokes );\n\t}\n}\n\n/**\n * A description of category of keystrokes accepted by the {@link module:core/accessibility~Accessibility#addKeystrokeInfoCategory} method.\n *\n * Top-level categories organize keystrokes and help users to find the right keystroke. Each category can have multiple groups of\n * keystrokes that narrow down the context in which the keystrokes are available.\n *\n * See {@link module:core/accessibility~Accessibility#addKeystrokeInfoGroup} and\n * {@link module:core/accessibility~Accessibility#addKeystrokeInfos}.\n */\nexport interface AddKeystrokeInfoCategoryData {\n\n\t/**\n\t * The unique id of the category.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the category.\n\t */\n\tlabel: string;\n\n\t/**\n\t * The description of the category (optional).\n\t */\n\tdescription?: string;\n\n\t/**\n\t * Groups of keystrokes within the category.\n\t */\n\tgroups?: Array<AddKeystrokeInfoGroupData>;\n}\n\n/**\n * A description of keystroke group accepted by the {@link module:core/accessibility~Accessibility#addKeystrokeInfoGroup} method.\n *\n * Groups narrow down the context in which the keystrokes are available. When `categoryId` is not specified, the group goes\n * to the `'contentEditing'` category (default).\n *\n * See {@link module:core/accessibility~Accessibility#addKeystrokeInfoCategory} and\n * {@link module:core/accessibility~Accessibility#addKeystrokeInfos}.\n */\nexport interface AddKeystrokeInfoGroupData {\n\n\t/**\n\t * The category id the group belongs to.\n\t */\n\tcategoryId?: string;\n\n\t/**\n\t * The unique id of the group.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the group (optional).\n\t */\n\tlabel?: string;\n\n\t/**\n\t * Keystroke definitions within the group.\n\t */\n\tkeystrokes?: Array<KeystrokeInfoDefinition>;\n}\n\n/**\n * Description of keystrokes accepted by the {@link module:core/accessibility~Accessibility#addKeystrokeInfos} method.\n *\n * Keystrokes without specified `groupId` or `categoryId` go to the `'common'` group in the `'contentEditing'` category (default).\n *\n * See {@link module:core/accessibility~Accessibility#addKeystrokeInfoCategory} and\n * {@link module:core/accessibility~Accessibility#addKeystrokeInfoGroup}.\n */\nexport interface AddKeystrokeInfosData {\n\n\t/**\n\t * The category id the keystrokes belong to.\n\t */\n\tcategoryId?: string;\n\n\t/**\n\t * The group id the keystrokes belong to.\n\t */\n\tgroupId?: string;\n\n\t/**\n\t * An array of keystroke definitions.\n\t */\n\tkeystrokes: Array<KeystrokeInfoDefinition>;\n}\n\nexport type KeystrokeInfoDefinitions = Map<string, KeystrokeInfoCategoryDefinition>;\n\n/**\n * A category of keystrokes in {@link module:core/accessibility~Accessibility#keystrokeInfos}.\n */\nexport type KeystrokeInfoCategoryDefinition = {\n\n\t/**\n\t * The unique id of the category.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the category.\n\t */\n\tlabel: string;\n\n\t/**\n\t * The description of the category (optional).\n\t */\n\tdescription?: string;\n\n\t/**\n\t * Groups of keystrokes within the category.\n\t */\n\tgroups: Map<string, KeystrokeInfoGroupDefinition>;\n};\n\n/**\n * A group of keystrokes in {@link module:core/accessibility~Accessibility#keystrokeInfos}.\n */\nexport type KeystrokeInfoGroupDefinition = {\n\n\t/**\n\t * The unique id of the group.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the group (optional).\n\t */\n\tlabel?: string;\n\n\t/**\n\t * Keystroke definitions within the group.\n\t */\n\tkeystrokes: Array<KeystrokeInfoDefinition>;\n};\n\n/**\n * A keystroke info definition in {@link module:core/accessibility~Accessibility#keystrokeInfos}\n */\nexport interface KeystrokeInfoDefinition {\n\n\t/**\n\t * The label of the keystroke. It should briefly describe the action that the keystroke performs. It may contain HTML.\n\t */\n\tlabel: string;\n\n\t/**\n\t * The keystroke string. In its basic form, it must be a combination of {@link module:utils/keyboard#keyCodes known key names}\n\t * joined by the `+` sign, the same as the keystroke format accepted by the\n\t * {@link module:utils/keystrokehandler~KeystrokeHandler#set `KeystrokeHandler#set()`} method used to register most of the\n\t * keystroke interactions in the editor.\n\t *\n\t * * The keystroke string can represent a single keystroke, for instance: `keystroke: 'Ctrl+B'`, `keystroke: 'Shift+Enter'`,\n\t * `keystroke: 'Alt+F10'`, etc.\n\t * * The keystroke can be activated by successive press of multiple keys. For instance `keystroke: [ [ 'arrowleft', 'arrowleft' ] ]`\n\t * will indicate that a specific action will be performed by pressing <kbd>←</kbd> twice in a row.\n\t * * Keystrokes can have alternatives. For instance `keystroke: [ [ 'Ctrl+Y' ], [ 'Ctrl+Shift+Z' ] ]` will indicate that\n\t * a specific action can be performed by pressing either <kbd>Ctrl</kbd> + <kbd>Y</kbd> or\n\t * <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Z</kbd>.\n\t *\n\t * Please note that the keystrokes are automatically translated to the environment-specific form. For example, `Ctrl+A`\n\t * will be rendered as `⌘A` in the {@link module:utils/env~EnvType#isMac Mac environment}. Always use the IBM PC keyboard\n\t * syntax, for instance `Ctrl` instead of `⌘`, `Alt` instead of `⌥`, etc.\n\t */\n\tkeystroke: string | Array<string> | Array<Array<string>>;\n\n\t/**\n\t * This (optional) flag suggests that the keystroke(s) may require a function (<kbd>Fn</kbd>) key to be pressed\n\t * in order to work in the {@link module:utils/env~EnvType#isMac Mac environment}. If set `true`, an additional\n\t * information will be displayed next to the keystroke.\n\t */\n\tmayRequireFn?: boolean;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editor/utils/editorusagedata\n */\n\nimport { env, global, uid } from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from '../editor.js';\nimport type { ToolbarConfig, ToolbarConfigItem } from '../editorconfig.js';\nimport { type PluginCollection } from '../../plugincollection.js';\n\n/**\n * This part of the code is not executed in open-source implementations using a GPL key.\n * It only runs when a specific license key is provided. If you are uncertain whether\n * this applies to your installation, please contact our support team.\n *\n * @internal\n */\nexport function getEditorUsageData( editor: Editor ): EditorUsageData {\n\treturn {\n\t\tsessionId: getSessionId(),\n\t\tpageSessionId: getPageSessionID(),\n\t\thostname: window.location.hostname,\n\t\tversion: globalThis.CKEDITOR_VERSION,\n\t\ttype: getEditorType( editor ),\n\t\tplugins: getPluginsUsageData( editor.plugins ),\n\t\tdistribution: getDistributionUsageData(),\n\t\tenv: getEnvUsageData(),\n\t\tintegration: Object.create( null ),\n\t\tmenuBar: {\n\t\t\tisVisible: !!editor.config.get( 'menuBar.isVisible' )\n\t\t},\n\t\tlanguage: {\n\t\t\tui: editor.locale.uiLanguage,\n\t\t\tcontent: editor.locale.contentLanguage\n\t\t},\n\t\ttoolbar: {\n\t\t\tmain: getToolbarUsageData( editor.config.get( 'toolbar' ) ),\n\t\t\tblock: getToolbarUsageData( editor.config.get( 'blockToolbar' ) ),\n\t\t\tballoon: getToolbarUsageData( editor.config.get( 'balloonToolbar' ) )\n\t\t}\n\t};\n}\n\nfunction getEditorType( editor: Editor ): `${ string }Editor` {\n\treturn Object.getPrototypeOf( editor ).constructor.editorName!;\n}\n\nfunction getPluginsUsageData( collection: PluginCollection<Editor> ): Array<PluginUsageData> {\n\treturn Array\n\t\t.from( collection )\n\t\t.filter( ( [ PluginConstructor ] ) => !!PluginConstructor.pluginName )\n\t\t.map( ( [ PluginConstructor ] ): PluginUsageData => {\n\t\t\tconst {\n\t\t\t\tpluginName,\n\t\t\t\tisContextPlugin,\n\t\t\t\tisOfficialPlugin,\n\t\t\t\tisPremiumPlugin\n\t\t\t} = PluginConstructor;\n\n\t\t\treturn {\n\t\t\t\tisContext: !!isContextPlugin,\n\t\t\t\tisOfficial: !!isOfficialPlugin,\n\t\t\t\tisPremium: !!isPremiumPlugin,\n\t\t\t\tname: pluginName!\n\t\t\t};\n\t\t} );\n}\n\nfunction getToolbarUsageData( toolbarConfig: ToolbarConfig | undefined ): ToolbarUsageData | undefined {\n\tif ( !toolbarConfig ) {\n\t\treturn undefined;\n\t}\n\n\tconst normalizedToolbar: Exclude<ToolbarConfig, Array<unknown>> =\n\t\tArray.isArray( toolbarConfig ) ?\n\t\t\t{ items: toolbarConfig } :\n\t\t\ttoolbarConfig;\n\n\tconst flattenToolbarConfigNames = extractToolbarConfigItemsNames( normalizedToolbar.items || [] );\n\tconst isMultiline = flattenToolbarConfigNames.includes( '-' );\n\n\treturn {\n\t\tisMultiline,\n\t\tshouldNotGroupWhenFull: !!normalizedToolbar.shouldNotGroupWhenFull,\n\t\titems: stripToolbarSeparatorItems( flattenToolbarConfigNames )\n\t};\n\n\tfunction stripToolbarSeparatorItems( items: Array<string> ): Array<string> {\n\t\treturn items.filter( ( item: string ) => item !== '|' && item !== '-' );\n\t}\n\n\tfunction extractToolbarConfigItemsNames( items: Array<ToolbarConfigItem> ): Array<string> {\n\t\treturn items.flatMap( item => {\n\t\t\tif ( typeof item === 'string' ) {\n\t\t\t\treturn [ item ];\n\t\t\t}\n\n\t\t\treturn extractToolbarConfigItemsNames( item.items );\n\t\t} );\n\t}\n}\n\nfunction getDistributionUsageData(): DistributionUsageData {\n\treturn {\n\t\tchannel: ( window[ Symbol.for( 'cke distribution' ) as any ] || 'sh' ) as unknown as string\n\t};\n}\n\nfunction getEnvUsageData(): EnvUsageData {\n\tlet os: EnvUsageData[ 'os' ] = 'unknown';\n\tlet browser: EnvUsageData[ 'browser' ] = 'unknown';\n\n\tif ( env.isMac ) {\n\t\tos = 'mac';\n\t} else if ( env.isWindows ) {\n\t\tos = 'windows';\n\t} else if ( env.isiOS ) {\n\t\tos = 'ios';\n\t} else if ( env.isAndroid ) {\n\t\tos = 'android';\n\t}\n\n\tif ( env.isGecko ) {\n\t\tbrowser = 'gecko';\n\t} else if ( env.isBlink ) {\n\t\tbrowser = 'blink';\n\t} else if ( env.isSafari ) {\n\t\tbrowser = 'safari';\n\t}\n\n\treturn {\n\t\tos,\n\t\tbrowser\n\t};\n}\n\nfunction getSessionId(): string {\n\tif ( !localStorage.getItem( '__ckeditor-session-id' ) ) {\n\t\tlocalStorage.setItem( '__ckeditor-session-id', uid() );\n\t}\n\n\treturn localStorage.getItem( '__ckeditor-session-id' )!;\n}\n\nfunction getPageSessionID() {\n\tglobal.window.CKEDITOR_PAGE_SESSION_ID = global.window.CKEDITOR_PAGE_SESSION_ID || uid();\n\n\treturn global.window.CKEDITOR_PAGE_SESSION_ID;\n}\n\ndeclare global {\n\tinterface Window {\n\t\tCKEDITOR_PAGE_SESSION_ID?: string;\n\t}\n}\n\n/**\n * @internal\n */\nexport type EditorUsageData = {\n\tsessionId: string;\n\tpageSessionId: string;\n\thostname: string;\n\tversion: string;\n\ttype: `${ string }Editor`;\n\tplugins: Array<PluginUsageData>;\n\ttoolbar: {\n\t\tmain?: ToolbarUsageData;\n\t\tblock?: ToolbarUsageData;\n\t\tballoon?: ToolbarUsageData;\n\t};\n\tmenuBar: {\n\t\tisVisible: boolean;\n\t};\n\tlanguage: {\n\t\tui: string;\n\t\tcontent: string;\n\t};\n\tdistribution: {\n\t\tchannel: string;\n\t};\n\tenv: EnvUsageData;\n\tintegration: {\n\t\t[integrationName: string]: IntegrationUsageData;\n\t};\n};\n\ntype IntegrationUsageData = {\n\tversion: string;\n\tframeworkVersion?: string;\n};\n\ntype DistributionUsageData = {\n\tchannel: string;\n};\n\ntype EnvUsageData = {\n\tos: 'mac' | 'windows' | 'ios' | 'android' | 'unknown';\n\tbrowser: 'safari' | 'gecko' | 'blink' | 'unknown';\n};\n\ntype ToolbarUsageData = {\n\titems: Array<string>;\n\tisMultiline: boolean;\n\tshouldNotGroupWhenFull: boolean;\n};\n\ntype PluginUsageData = {\n\tname: string;\n\tisPremium: boolean;\n\tisOfficial: boolean;\n\tisContext: boolean;\n};\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editor/editor\n */\n\nimport { set, get } from 'es-toolkit/compat';\n\nimport {\n\tConfig,\n\tCKEditorError,\n\tObservableMixin,\n\tlogError,\n\treleaseDate,\n\ttoArray,\n\tuid,\n\tcrc32,\n\tdecodeLicenseKey,\n\tisFeatureBlockedByLicenseKey,\n\ttype Locale,\n\ttype LocaleTranslate,\n\ttype ObservableChangeEvent,\n\ttype CRCData\n} from '@ckeditor/ckeditor5-utils';\n\nimport {\n\tConversion,\n\tDataController,\n\tEditingController,\n\tModel,\n\tStylesProcessor\n} from '@ckeditor/ckeditor5-engine';\n\nimport type { EditorUI } from '@ckeditor/ckeditor5-ui';\nimport { ContextWatchdog, EditorWatchdog } from '@ckeditor/ckeditor5-watchdog';\n\nimport { Context } from '../context.js';\nimport { PluginCollection } from '../plugincollection.js';\nimport { CommandCollection, type CommandsMap } from '../commandcollection.js';\nimport { EditingKeystrokeHandler } from '../editingkeystrokehandler.js';\nimport { Accessibility } from '../accessibility.js';\nimport { getEditorUsageData, type EditorUsageData } from './utils/editorusagedata.js';\n\nimport type { LoadedPlugins, PluginConstructor } from '../plugin.js';\nimport type { EditorConfig } from './editorconfig.js';\n\nimport '../../theme/core.css';\n\ndeclare global {\n\tvar CKEDITOR_GLOBAL_LICENSE_KEY: string | undefined;\n\tvar CKEDITOR_WARNING_SUPPRESSIONS: Record<string, boolean>;\n}\n\n/**\n * The class representing a basic, generic editor.\n *\n * Check out the list of its subclasses to learn about specific editor implementations.\n *\n * All editor implementations (like {@link module:editor-classic/classiceditor~ClassicEditor} or\n * {@link module:editor-inline/inlineeditor~InlineEditor}) should extend this class. They can add their\n * own methods and properties.\n *\n * When you are implementing a plugin, this editor represents the API\n * which your plugin can expect to get when using its {@link module:core/plugin~Plugin#editor} property.\n *\n * This API should be sufficient in order to implement the \"editing\" part of your feature\n * (schema definition, conversion, commands, keystrokes, etc.).\n * It does not define the editor UI, which is available only if\n * the specific editor implements also the {@link ~Editor#ui} property\n * (as most editor implementations do).\n */\nexport abstract class Editor extends /* #__PURE__ */ ObservableMixin() {\n\t/**\n\t * A required name of the editor class. The name should reflect the constructor name.\n\t */\n\tpublic static get editorName(): `${ string }Editor` {\n\t\treturn 'Editor';\n\t}\n\n\t/**\n\t * A namespace for the accessibility features of the editor.\n\t */\n\tpublic readonly accessibility: Accessibility;\n\n\t/**\n\t * Commands registered to the editor.\n\t *\n\t * Use the shorthand {@link #execute `editor.execute()`} method to execute commands:\n\t *\n\t * ```ts\n\t * // Execute the bold command:\n\t * editor.execute( 'bold' );\n\t *\n\t * // Check the state of the bold command:\n\t * editor.commands.get( 'bold' ).value;\n\t * ```\n\t */\n\tpublic readonly commands: CommandCollection;\n\n\t/**\n\t * Stores all configurations specific to this editor instance.\n\t *\n\t * ```ts\n\t * editor.config.get( 'image.toolbar' );\n\t * // -> [ 'imageStyle:block', 'imageStyle:side', '|', 'toggleImageCaption', 'imageTextAlternative' ]\n\t * ```\n\t */\n\tpublic readonly config: Config<EditorConfig>;\n\n\t/**\n\t * Conversion manager through which you can register model-to-view and view-to-model converters.\n\t *\n\t * See the {@link module:engine/conversion/conversion~Conversion} documentation to learn how to add converters.\n\t */\n\tpublic readonly conversion: Conversion;\n\n\t/**\n\t * The {@link module:engine/controller/datacontroller~DataController data controller}.\n\t * Used e.g. for setting and retrieving the editor data.\n\t */\n\tpublic readonly data: DataController;\n\n\t/**\n\t * The {@link module:engine/controller/editingcontroller~EditingController editing controller}.\n\t * Controls user input and rendering the content for editing.\n\t */\n\tpublic readonly editing: EditingController;\n\n\t/**\n\t * The locale instance.\n\t */\n\tpublic readonly locale: Locale;\n\n\t/**\n\t * The editor's model.\n\t *\n\t * The central point of the editor's abstract data model.\n\t */\n\tpublic readonly model: Model;\n\n\t/**\n\t * The plugins loaded and in use by this editor instance.\n\t *\n\t * ```ts\n\t * editor.plugins.get( 'ClipboardPipeline' ); // -> An instance of the clipboard pipeline plugin.\n\t * ```\n\t */\n\tpublic readonly plugins: PluginCollection<Editor>;\n\n\t/**\n\t * An instance of the {@link module:core/editingkeystrokehandler~EditingKeystrokeHandler}.\n\t *\n\t * It allows setting simple keystrokes:\n\t *\n\t * ```ts\n\t * // Execute the bold command on Ctrl+E:\n\t * editor.keystrokes.set( 'Ctrl+E', 'bold' );\n\t *\n\t * // Execute your own callback:\n\t * editor.keystrokes.set( 'Ctrl+E', ( data, cancel ) => {\n\t * \tconsole.log( data.keyCode );\n\t *\n\t * \t// Prevent the default (native) action and stop the underlying keydown event\n\t * \t// so no other editor feature will interfere.\n\t * \tcancel();\n\t * } );\n\t * ```\n\t *\n\t * Note: Certain typing-oriented keystrokes (like <kbd>Backspace</kbd> or <kbd>Enter</kbd>) are handled\n\t * by a low-level mechanism and trying to listen to them via the keystroke handler will not work reliably.\n\t * To handle these specific keystrokes, see the events fired by the\n\t * {@link module:engine/view/document~ViewDocument editing view document} (`editor.editing.view.document`).\n\t */\n\tpublic readonly keystrokes: EditingKeystrokeHandler;\n\n\t/**\n\t * Shorthand for {@link module:utils/locale~Locale#t}.\n\t *\n\t * @see module:utils/locale~Locale#t\n\t */\n\tpublic readonly t: LocaleTranslate;\n\n\tpublic declare readonly id: string;\n\n\t/**\n\t * Indicates the editor life-cycle state.\n\t *\n\t * The editor is in one of the following states:\n\t *\n\t * * `initializing` &ndash; During the editor initialization (before\n\t * {@link module:core/editor/editor~Editor.create `Editor.create()`}) finished its job.\n\t * * `ready` &ndash; After the promise returned by the {@link module:core/editor/editor~Editor.create `Editor.create()`}\n\t * method is resolved.\n\t * * `destroyed` &ndash; Once the {@link #destroy `editor.destroy()`} method was called.\n\t *\n\t * @observable\n\t */\n\tpublic declare state: 'initializing' | 'ready' | 'destroyed';\n\n\t/**\n\t * The default configuration which is built into the editor class.\n\t *\n\t * It was used in the now deprecated CKEditor 5 builds to provide the default configuration options\n\t * which are later used during the editor initialization.\n\t *\n\t * ```ts\n\t * ClassicEditor.defaultConfig = {\n\t * \tfoo: 1,\n\t * \tbar: 2\n\t * };\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement )\n\t * \t.then( editor => {\n\t * \t\teditor.config.get( 'foo' ); // -> 1\n\t * \t\teditor.config.get( 'bar' ); // -> 2\n\t * \t} );\n\t *\n\t * // The default options can be overridden by the configuration passed to create().\n\t * ClassicEditor\n\t * \t.create( sourceElement, { bar: 3 } )\n\t * \t.then( editor => {\n\t * \t\teditor.config.get( 'foo' ); // -> 1\n\t * \t\teditor.config.get( 'bar' ); // -> 3\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/editor/editor~Editor.builtinPlugins}.\n\t */\n\tpublic static defaultConfig?: EditorConfig;\n\n\t/**\n\t * An array of plugins built into this editor class.\n\t *\n\t * It is used in the now deprecated CKEditor 5 builds to provide a list of plugins which are later automatically initialized\n\t * during the editor initialization.\n\t *\n\t * They will be automatically initialized by the editor, unless listed in `config.removePlugins` and\n\t * unless `config.plugins` is passed.\n\t *\n\t * ```ts\n\t * // Build some plugins into the editor class first.\n\t * ClassicEditor.builtinPlugins = [ FooPlugin, BarPlugin ];\n\t *\n\t * // Normally, you need to define config.plugins, but since ClassicEditor.builtinPlugins was\n\t * // defined, now you can call create() without any configuration.\n\t * ClassicEditor\n\t * \t.create( sourceElement )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\teditor.plugins.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement, {\n\t * \t\t// Do not initialize these plugins (note: it is defined by a string):\n\t * \t\tremovePlugins: [ 'Foo' ]\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> Undefined.\n\t * \t\teditor.config.get( BarPlugin ); // -> An instance of the Bar plugin.\n\t * \t} );\n\t *\n\t * ClassicEditor\n\t * \t.create( sourceElement, {\n\t * \t\t// Load only this plugin. It can also be defined by a string if\n\t * \t\t// this plugin was built into the editor class.\n\t * \t\tplugins: [ FooPlugin ]\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\teditor.plugins.get( FooPlugin ); // -> An instance of the Foo plugin.\n\t * \t\teditor.config.get( BarPlugin ); // -> Undefined.\n\t * \t} );\n\t * ```\n\t *\n\t * See also {@link module:core/editor/editor~Editor.defaultConfig}.\n\t */\n\tpublic static builtinPlugins?: Array<PluginConstructor<Editor>>;\n\n\t/**\n\t * The editor UI instance.\n\t */\n\tpublic abstract get ui(): EditorUI;\n\n\t/**\n\t * The editor context.\n\t * When it is not provided through the configuration, the editor creates it.\n\t */\n\tprotected readonly _context: Context;\n\n\t/**\n\t * A set of lock IDs for the {@link #isReadOnly} getter.\n\t */\n\tprotected readonly _readOnlyLocks: Set<symbol | string>;\n\n\t/**\n\t * Creates a new instance of the editor class.\n\t *\n\t * Usually, not to be used directly. See the static {@link module:core/editor/editor~Editor.create `create()`} method.\n\t *\n\t * @param config The editor configuration.\n\t */\n\tconstructor( config: EditorConfig = {} ) {\n\t\tsuper();\n\n\t\tif ( 'sanitizeHtml' in config ) {\n\t\t\t/**\n\t\t\t * Configuration property `config.sanitizeHtml` was removed in CKEditor version 43.1.0 and is no longer supported.\n\t\t\t *\n\t\t\t * Please use `config.htmlEmbed.sanitizeHtml` and/or `config.mergeFields.sanitizeHtml` instead.\n\t\t\t *\n\t\t\t * @error editor-config-sanitizehtml-not-supported\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'editor-config-sanitizehtml-not-supported' );\n\t\t}\n\n\t\tconst constructor = this.constructor as typeof Editor;\n\n\t\t// We don't pass translations to the config, because its behavior of splitting keys\n\t\t// with dots (e.g. `resize.width` => `resize: { width }`) breaks the translations.\n\t\tconst { translations: defaultTranslations, ...defaultConfig } = constructor.defaultConfig || {};\n\t\tconst { translations = defaultTranslations, ...rest } = config;\n\n\t\t// Prefer the language passed as the argument to the constructor instead of the constructor's `defaultConfig`, if both are set.\n\t\tconst language = config.language || defaultConfig.language;\n\n\t\tthis._context = config.context || new Context( { language, translations } );\n\t\tthis._context._addEditor( this, !config.context );\n\n\t\t// Clone the plugins to make sure that the plugin array will not be shared\n\t\t// between editors and make the watchdog feature work correctly.\n\t\tconst availablePlugins = Array.from( constructor.builtinPlugins || [] );\n\n\t\tthis.config = new Config<EditorConfig>( rest, defaultConfig );\n\t\tthis.config.define( 'plugins', availablePlugins );\n\t\tthis.config.define( this._context._getEditorConfig() );\n\n\t\tcheckLicenseKeyIsDefined( this.config );\n\n\t\tthis.plugins = new PluginCollection<Editor>( this, availablePlugins, this._context.plugins );\n\n\t\tthis.locale = this._context.locale;\n\t\tthis.t = this.locale.t;\n\n\t\tthis._readOnlyLocks = new Set();\n\n\t\tthis.commands = new CommandCollection();\n\n\t\tthis.set( 'state', 'initializing' );\n\t\tthis.once<EditorReadyEvent>( 'ready', () => ( this.state = 'ready' ), { priority: 'high' } );\n\t\tthis.once<EditorDestroyEvent>( 'destroy', () => ( this.state = 'destroyed' ), { priority: 'high' } );\n\n\t\tthis.model = new Model();\n\n\t\tthis.on( 'change:isReadOnly', () => {\n\t\t\tthis.model.document.isReadOnly = this.isReadOnly;\n\t\t} );\n\n\t\tconst stylesProcessor = new StylesProcessor();\n\n\t\tthis.data = new DataController( this.model, stylesProcessor );\n\n\t\tthis.editing = new EditingController( this.model, stylesProcessor );\n\t\tthis.editing.view.document.bind( 'isReadOnly' ).to( this );\n\n\t\tthis.conversion = new Conversion( [ this.editing.downcastDispatcher, this.data.downcastDispatcher ], this.data.upcastDispatcher );\n\t\tthis.conversion.addAlias( 'dataDowncast', this.data.downcastDispatcher );\n\t\tthis.conversion.addAlias( 'editingDowncast', this.editing.downcastDispatcher );\n\n\t\tthis.keystrokes = new EditingKeystrokeHandler( this );\n\t\tthis.keystrokes.listenTo( this.editing.view.document );\n\n\t\tthis.accessibility = new Accessibility( this );\n\n\t\tverifyLicenseKey( this );\n\n\t\t// Checks if the license key is defined and throws an error if it is not.\n\t\tfunction checkLicenseKeyIsDefined( config: Config<EditorConfig> ) {\n\t\t\tlet licenseKey = config.get( 'licenseKey' );\n\n\t\t\tif ( !licenseKey && window.CKEDITOR_GLOBAL_LICENSE_KEY ) {\n\t\t\t\tlicenseKey = window.CKEDITOR_GLOBAL_LICENSE_KEY;\n\t\t\t\tconfig.set( 'licenseKey', licenseKey );\n\t\t\t}\n\n\t\t\tif ( !licenseKey ) {\n\t\t\t\t/**\n\t\t\t\t * The `licenseKey` property is missing in the editor configuration.\n\t\t\t\t *\n\t\t\t\t * * If you are using the editor in a commercial setup, please provide your license key.\n\t\t\t\t * * If you still need to acquire a key, please [contact us](https://ckeditor.com/contact/) or\n\t\t\t\t * [create a free account with a 14 day premium features trial](https://portal.ckeditor.com/checkout?plan=free).\n\t\t\t\t * * If you are using the editor under a GPL license or another license from our Open Source Initiative,\n\t\t\t\t * use the 'GPL' license key instead.\n\t\t\t\t *\n\t\t\t\t * ```js\n\t\t\t\t * ClassicEditor.create( document.querySelector( '#editor' ), {\n\t\t\t\t * \tlicenseKey: '<YOUR_LICENSE_KEY>', // Or 'GPL'.\n\t\t\t\t * \t// ... Other configuration options ...\n\t\t\t\t * } ) ;\n\t\t\t\t *\n\t\t\t\t * @error license-key-missing\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-missing' );\n\t\t\t}\n\t\t}\n\n\t\tfunction verifyLicenseKey( editor: Editor ) {\n\t\t\tconst licenseKey = editor.config.get( 'licenseKey' )!;\n\t\t\tconst distributionChannel = ( window as any )[ Symbol.for( 'cke distribution' ) ] || 'sh';\n\n\t\t\tfunction blockEditor( reason: LicenseErrorReason, name?: string ) {\n\t\t\t\teditor.enableReadOnlyMode( Symbol( 'invalidLicense' ) );\n\t\t\t\teditor._showLicenseError( reason, name );\n\t\t\t}\n\n\t\t\tfunction hasAllRequiredFields( licensePayload: Record<string, unknown> ) {\n\t\t\t\tconst requiredFields = [ 'exp', 'jti', 'vc' ];\n\n\t\t\t\treturn requiredFields.every( field => field in licensePayload );\n\t\t\t}\n\n\t\t\tfunction getCrcInputData( licensePayload: Record<string, unknown> ): CRCData {\n\t\t\t\tconst keysToCheck = Object.getOwnPropertyNames( licensePayload ).sort();\n\n\t\t\t\tconst filteredValues = keysToCheck\n\t\t\t\t\t.filter( key => key != 'vc' && licensePayload[ key ] != null )\n\t\t\t\t\t.map( key => licensePayload[ key ] );\n\n\t\t\t\treturn filteredValues as CRCData;\n\t\t\t}\n\n\t\t\tfunction checkLicensedHosts( licensedHosts: Array<string> ): boolean {\n\t\t\t\tconst { hostname } = new URL( window.location.href );\n\n\t\t\t\tif ( licensedHosts.includes( hostname ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst segments = hostname.split( '.' );\n\n\t\t\t\treturn licensedHosts\n\t\t\t\t\t// Filter out hosts without wildcards.\n\t\t\t\t\t.filter( host => host.includes( '*' ) )\n\t\t\t\t\t// Split the hosts into segments.\n\t\t\t\t\t.map( host => host.split( '.' ) )\n\t\t\t\t\t// Filter out hosts that have more segments than the current hostname.\n\t\t\t\t\t.filter( host => host.length <= segments.length )\n\t\t\t\t\t// Pad the beginning of the licensed host if it's shorter than the current hostname.\n\t\t\t\t\t.map( host => Array( segments.length - host.length ).fill( host[ 0 ] === '*' ? '*' : '' ).concat( host ) )\n\t\t\t\t\t// Check if some license host matches the hostname.\n\t\t\t\t\t.some( octets => segments.every( ( segment, index ) => octets[ index ] === segment || octets[ index ] === '*' ) );\n\t\t\t}\n\n\t\t\tfunction warnAboutNonProductionLicenseKey( licenseType: string ) {\n\t\t\t\tconst capitalizedLicenseType = licenseType[ 0 ].toUpperCase() + licenseType.slice( 1 );\n\t\t\t\tconst article = licenseType === 'evaluation' ? 'an' : 'a';\n\n\t\t\t\tconsole.info(\n\t\t\t\t\t`%cCKEditor 5 ${ capitalizedLicenseType } License`,\n\t\t\t\t\t'color: #ffffff; background: #743CCD; font-size: 14px; padding: 4px 8px; border-radius: 4px;'\n\t\t\t\t);\n\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`⚠️ You are using ${ article } ${ licenseType } license of CKEditor 5` +\n\t\t\t\t\t`${ licenseType === 'trial' ? ' which is for evaluation purposes only' : '' }. ` +\n\t\t\t\t\t'For production usage, please obtain a production license at https://portal.ckeditor.com/'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( licenseKey == 'GPL' ) {\n\t\t\t\tif ( distributionChannel == 'cloud' ) {\n\t\t\t\t\tblockEditor( 'distributionChannel' );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst licensePayload = decodeLicenseKey( licenseKey );\n\n\t\t\tif ( !licensePayload ) {\n\t\t\t\tblockEditor( 'invalid' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( !hasAllRequiredFields( licensePayload ) ) {\n\t\t\t\tblockEditor( 'invalid' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( licensePayload.distributionChannel && !toArray( licensePayload.distributionChannel ).includes( distributionChannel ) ) {\n\t\t\t\tblockEditor( 'distributionChannel' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( crc32( getCrcInputData( licensePayload ) ) != licensePayload.vc.toLowerCase() ) {\n\t\t\t\tblockEditor( 'invalid' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst expirationDate = new Date( licensePayload.exp * 1000 );\n\n\t\t\tif ( expirationDate < releaseDate ) {\n\t\t\t\tblockEditor( 'expired' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst licensedHosts: Array<string> | undefined = licensePayload.licensedHosts;\n\n\t\t\tif ( licensedHosts && licensedHosts.length > 0 && !checkLicensedHosts( licensedHosts ) ) {\n\t\t\t\tblockEditor( 'domainLimit' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( [ 'evaluation', 'trial' ].includes( licensePayload.licenseType ) && licensePayload.exp * 1000 < Date.now() ) {\n\t\t\t\tblockEditor( 'expired' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( [ 'development', 'evaluation', 'trial' ].includes( licensePayload.licenseType ) ) {\n\t\t\t\tconst { licenseType } = licensePayload;\n\n\t\t\t\twindow.CKEDITOR_WARNING_SUPPRESSIONS = window.CKEDITOR_WARNING_SUPPRESSIONS || {};\n\n\t\t\t\tif ( !window.CKEDITOR_WARNING_SUPPRESSIONS[ licenseType ] ) {\n\t\t\t\t\twarnAboutNonProductionLicenseKey( licenseType );\n\n\t\t\t\t\twindow.CKEDITOR_WARNING_SUPPRESSIONS[ licenseType ] = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( [ 'evaluation', 'trial' ].includes( licensePayload.licenseType ) ) {\n\t\t\t\tconst licenseType: 'evaluation' | 'trial' = licensePayload.licenseType;\n\t\t\t\tconst timerId = setTimeout( () => {\n\t\t\t\t\tblockEditor( `${ licenseType }Limit` );\n\t\t\t\t}, 600000 );\n\n\t\t\t\teditor.on( 'destroy', () => {\n\t\t\t\t\tclearTimeout( timerId );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( licensePayload.usageEndpoint ) {\n\t\t\t\teditor.once<EditorReadyEvent>( 'ready', () => {\n\t\t\t\t\tconst request = {\n\t\t\t\t\t\trequestId: uid(),\n\t\t\t\t\t\trequestTime: Math.round( Date.now() / 1000 ),\n\t\t\t\t\t\tlicense: licenseKey,\n\t\t\t\t\t\teditor: collectUsageData( editor )\n\t\t\t\t\t};\n\n\t\t\t\t\t/**\n\t\t\t\t\t * This part of the code is not executed in open-source implementations using a GPL key.\n\t\t\t\t\t * It only runs when a specific license key is provided. If you are uncertain whether\n\t\t\t\t\t * this applies to your installation, please contact our support team.\n\t\t\t\t\t */\n\t\t\t\t\teditor._sendUsageRequest( licensePayload.usageEndpoint, request ).then( response => {\n\t\t\t\t\t\tconst { status, message } = response;\n\n\t\t\t\t\t\tif ( message ) {\n\t\t\t\t\t\t\tconsole.warn( message );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( status != 'ok' ) {\n\t\t\t\t\t\t\tblockEditor( 'usageLimit' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, () => {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Your license key cannot be validated due to a network issue.\n\t\t\t\t\t\t * Please ensure that your setup does not block requests to the validation endpoint.\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @error license-key-validation-endpoint-not-reachable\n\t\t\t\t\t\t * @param {string} url The URL that was attempted to be reached for validation.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tlogError( 'license-key-validation-endpoint-not-reachable', { url: licensePayload.usageEndpoint } );\n\t\t\t\t\t} );\n\t\t\t\t}, { priority: 'high' } );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Defines whether the editor is in the read-only mode.\n\t *\n\t * In read-only mode the editor {@link #commands commands} are disabled so it is not possible\n\t * to modify the document by using them. Also, the editable element(s) become non-editable.\n\t *\n\t * In order to make the editor read-only, you need to call the {@link #enableReadOnlyMode} method:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'feature-id' );\n\t * ```\n\t *\n * Later, to turn off the read-only mode, call {@link #disableReadOnlyMode}:\n\t *\n\t * ```ts\n\t * editor.disableReadOnlyMode( 'feature-id' );\n\t * ```\n\t *\n\t * @readonly\n\t * @observable\n\t */\n\tpublic get isReadOnly(): boolean {\n\t\treturn this._readOnlyLocks.size > 0;\n\t}\n\n\tpublic set isReadOnly( value: boolean ) {\n\t\t/**\n\t\t * The {@link module:core/editor/editor~Editor#isReadOnly Editor#isReadOnly} property is read-only since version `34.0.0`\n\t\t * and can be set only using {@link module:core/editor/editor~Editor#enableReadOnlyMode `Editor#enableReadOnlyMode( lockId )`} and\n\t\t * {@link module:core/editor/editor~Editor#disableReadOnlyMode `Editor#disableReadOnlyMode( lockId )`}.\n\t\t *\n\t\t * Usage before version `34.0.0`:\n\t\t *\n\t\t * ```ts\n\t\t * editor.isReadOnly = true;\n\t\t * editor.isReadOnly = false;\n\t\t * ```\n\t\t *\n\t\t * Usage since version `34.0.0`:\n\t\t *\n\t\t * ```ts\n\t\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t\t * ```\n\t\t *\n\t\t * @error editor-isreadonly-has-no-setter\n\t\t */\n\t\tthrow new CKEditorError( 'editor-isreadonly-has-no-setter' );\n\t}\n\n\t/**\n\t * Turns on the read-only mode in the editor.\n\t *\n\t * Editor can be switched to or out of the read-only mode by many features, under various circumstances. The editor supports locking\n\t * mechanism for the read-only mode. It enables easy control over the read-only mode when many features wants to turn it on or off at\n\t * the same time, without conflicting with each other. It guarantees that you will not make the editor editable accidentally (which\n\t * could lead to errors).\n\t *\n\t * Each read-only mode request is identified by a unique id (also called \"lock\"). If multiple plugins requested to turn on the\n\t * read-only mode, then, the editor will become editable only after all these plugins turn the read-only mode off (using the same ids).\n\t *\n\t * Note, that you cannot force the editor to disable the read-only mode if other plugins set it.\n\t *\n\t * After the first `enableReadOnlyMode()` call, the {@link #isReadOnly `isReadOnly` property} will be set to `true`:\n\t *\n\t * ```ts\n\t * editor.isReadOnly; // `false`.\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `true`.\n\t * ```\n\t *\n\t * You can turn off the read-only mode (\"clear the lock\") using the {@link #disableReadOnlyMode `disableReadOnlyMode()`} method:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * // ...\n\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `false`.\n\t * ```\n\t *\n\t * All \"locks\" need to be removed to enable editing:\n\t *\n\t * ```ts\n\t * editor.enableReadOnlyMode( 'my-feature-id' );\n\t * editor.enableReadOnlyMode( 'my-other-feature-id' );\n\t * // ...\n\t * editor.disableReadOnlyMode( 'my-feature-id' );\n\t * editor.isReadOnly; // `true`.\n\t * editor.disableReadOnlyMode( 'my-other-feature-id' );\n\t * editor.isReadOnly; // `false`.\n\t * ```\n\t *\n\t * @param lockId A unique ID for setting the editor to the read-only state.\n\t */\n\tpublic enableReadOnlyMode( lockId: string | symbol ): void {\n\t\tif ( typeof lockId !== 'string' && typeof lockId !== 'symbol' ) {\n\t\t\t/**\n\t\t\t * The lock ID is missing or it is not a string or symbol.\n\t\t\t *\n\t\t\t * @error editor-read-only-lock-id-invalid\n\t\t\t * @param {never} lockId Lock ID.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'editor-read-only-lock-id-invalid', null, { lockId } );\n\t\t}\n\n\t\tif ( this._readOnlyLocks.has( lockId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._readOnlyLocks.add( lockId );\n\n\t\tif ( this._readOnlyLocks.size === 1 ) {\n\t\t\t// Manually fire the `change:isReadOnly` event as only getter is provided.\n\t\t\tthis.fire<ObservableChangeEvent<boolean>>( 'change:isReadOnly', 'isReadOnly', true, false );\n\t\t}\n\t}\n\n\t/**\n\t * Removes the read-only lock from the editor with given lock ID.\n\t *\n\t * When no lock is present on the editor anymore, then the {@link #isReadOnly `isReadOnly` property} will be set to `false`.\n\t *\n\t * @param lockId The lock ID for setting the editor to the read-only state.\n\t */\n\tpublic disableReadOnlyMode( lockId: string | symbol ): void {\n\t\tif ( typeof lockId !== 'string' && typeof lockId !== 'symbol' ) {\n\t\t\tthrow new CKEditorError( 'editor-read-only-lock-id-invalid', null, { lockId } );\n\t\t}\n\n\t\tif ( !this._readOnlyLocks.has( lockId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._readOnlyLocks.delete( lockId );\n\n\t\tif ( this._readOnlyLocks.size === 0 ) {\n\t\t\t// Manually fire the `change:isReadOnly` event as only getter is provided.\n\t\t\tthis.fire<ObservableChangeEvent<boolean>>( 'change:isReadOnly', 'isReadOnly', false, true );\n\t\t}\n\t}\n\n\t/**\n\t * Sets the data in the editor.\n\t *\n\t * ```ts\n\t * editor.setData( '<p>This is editor!</p>' );\n\t * ```\n\t *\n\t * If your editor implementation uses multiple roots, you should pass an object with keys corresponding\n\t * to the editor root names and values equal to the data that should be set in each root:\n\t *\n\t * ```ts\n\t * editor.setData( {\n\t * header: '<p>Content for header part.</p>',\n\t * content: '<p>Content for main part.</p>',\n\t * footer: '<p>Content for footer part.</p>'\n\t * } );\n\t * ```\n\t *\n\t * By default the editor accepts HTML. This can be controlled by injecting a different data processor.\n\t * See the {@glink features/markdown Markdown output} guide for more details.\n\t *\n\t * @param data Input data.\n\t */\n\tpublic setData( data: string | Record<string, string> ): void {\n\t\tthis.data.set( data );\n\t}\n\n\t/**\n\t * Gets the data from the editor.\n\t *\n\t * ```ts\n\t * editor.getData(); // -> '<p>This is editor!</p>'\n\t * ```\n\t *\n\t * If your editor implementation uses multiple roots, you should pass root name as one of the options:\n\t *\n\t * ```ts\n\t * editor.getData( { rootName: 'header' } ); // -> '<p>Content for header part.</p>'\n\t * ```\n\t *\n\t * By default, the editor outputs HTML. This can be controlled by injecting a different data processor.\n\t * See the {@glink features/markdown Markdown output} guide for more details.\n\t *\n\t * A warning is logged when you try to retrieve data for a detached root, as most probably this is a mistake. A detached root should\n\t * be treated like it is removed, and you should not save its data. Note, that the detached root data is always an empty string.\n\t *\n\t * @param options Additional configuration for the retrieved data.\n\t * Editor features may introduce more configuration options that can be set through this parameter.\n\t * @param options.rootName Root name. Defaults to `'main'`.\n\t * @param options.trim Whether returned data should be trimmed. This option is set to `'empty'` by default,\n\t * which means that whenever editor content is considered empty, an empty string is returned. To turn off trimming\n\t * use `'none'`. In such cases exact content will be returned (for example `'<p>&nbsp;</p>'` for an empty editor).\n\t * @returns Output data.\n\t */\n\tpublic getData( options?: {\n\t\trootName?: string;\n\t\ttrim?: 'empty' | 'none';\n\t\t[ key: string ]: unknown;\n\t} ): string {\n\t\treturn this.data.get( options );\n\t}\n\n\t/**\n\t * Loads and initializes plugins specified in the configuration.\n\t *\n\t * @returns A promise which resolves once the initialization is completed, providing an array of loaded plugins.\n\t */\n\tpublic initPlugins(): Promise<LoadedPlugins> {\n\t\tconst config = this.config;\n\t\tconst plugins = config.get( 'plugins' )!;\n\t\tconst removePlugins = config.get( 'removePlugins' ) || [];\n\t\tconst extraPlugins = config.get( 'extraPlugins' ) || [];\n\t\tconst substitutePlugins = config.get( 'substitutePlugins' ) || [];\n\n\t\treturn this.plugins.init( plugins.concat( extraPlugins ), removePlugins, substitutePlugins )\n\t\t\t.then( plugins => {\n\t\t\t\tcheckPluginsAllowedByLicenseKey( this );\n\n\t\t\t\treturn plugins;\n\t\t\t} );\n\n\t\tfunction checkPluginsAllowedByLicenseKey( editor: Editor ): void {\n\t\t\tconst licenseKey = editor.config.get( 'licenseKey' )!;\n\n\t\t\tif ( licenseKey === 'GPL' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst decodedPayload = decodeLicenseKey( licenseKey );\n\n\t\t\tif ( !decodedPayload ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst disallowedPlugin = [ ...editor.plugins ]\n\t\t\t\t.map( ( [ pluginConstructor ] ) => pluginConstructor )\n\t\t\t\t.find( pluginConstructor => {\n\t\t\t\t\tif ( !pluginConstructor.pluginName ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !pluginConstructor.licenseFeatureCode ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn isFeatureBlockedByLicenseKey( decodedPayload, pluginConstructor.licenseFeatureCode );\n\t\t\t\t} );\n\n\t\t\tif ( disallowedPlugin ) {\n\t\t\t\teditor.enableReadOnlyMode( Symbol( 'invalidLicense' ) );\n\t\t\t\teditor._showLicenseError( 'pluginNotAllowed', disallowedPlugin.pluginName );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Destroys the editor instance, releasing all resources used by it.\n\t *\n\t * **Note** The editor cannot be destroyed during the initialization phase so if it is called\n\t * while the editor {@link #state is being initialized}, it will wait for the editor initialization before destroying it.\n\t *\n\t * @fires destroy\n\t * @returns A promise that resolves once the editor instance is fully destroyed.\n\t */\n\tpublic destroy(): Promise<unknown> {\n\t\tlet readyPromise: Promise<unknown> = Promise.resolve();\n\n\t\tif ( this.state == 'initializing' ) {\n\t\t\treadyPromise = new Promise( resolve => this.once<EditorReadyEvent>( 'ready', resolve ) );\n\t\t}\n\n\t\treturn readyPromise\n\t\t\t.then( () => {\n\t\t\t\tthis.fire<EditorDestroyEvent>( 'destroy' );\n\t\t\t\tthis.stopListening();\n\t\t\t\tthis.commands.destroy();\n\t\t\t} )\n\t\t\t.then( () => this.plugins.destroy() )\n\t\t\t.then( () => {\n\t\t\t\tthis.model.destroy();\n\t\t\t\tthis.data.destroy();\n\t\t\t\tthis.editing.destroy();\n\t\t\t\tthis.keystrokes.destroy();\n\t\t\t} )\n\t\t\t// Remove the editor from the context.\n\t\t\t// When the context was created by this editor, the context will be destroyed.\n\t\t\t.then( () => this._context._removeEditor( this ) );\n\t}\n\n\t/**\n\t * Executes the specified command with given parameters.\n\t *\n\t * Shorthand for:\n\t *\n\t * ```ts\n\t * editor.commands.get( commandName ).execute( ... );\n\t * ```\n\t *\n\t * @param commandName The name of the command to execute.\n\t * @param commandParams Command parameters.\n\t * @returns The value returned by the {@link module:core/commandcollection~CommandCollection#execute `commands.execute()`}.\n\t */\n\tpublic execute<TName extends string>(\n\t\tcommandName: TName,\n\t\t...commandParams: Parameters<CommandsMap[ TName ][ 'execute' ]>\n\t): ReturnType<CommandsMap[ TName ][ 'execute' ]> {\n\t\ttry {\n\t\t\treturn this.commands.execute( commandName, ...commandParams );\n\t\t} catch ( err: any ) {\n\t\t\t// @if CK_DEBUG // throw err;\n\t\t\t/* istanbul ignore next -- @preserve */\n\t\t\tCKEditorError.rethrowUnexpectedError( err, this );\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the editor.\n\t *\n\t * **Note** To explicitly focus the editing area of the editor, use the\n\t * {@link module:engine/view/view~EditingView#focus `editor.editing.view.focus()`} method of the editing view.\n\t *\n\t * Check out the {@glink framework/deep-dive/ui/focus-tracking#focus-in-the-editor-ui Focus in the editor UI} section\n\t * of the {@glink framework/deep-dive/ui/focus-tracking Deep dive into focus tracking} guide to learn more.\n\t */\n\tpublic focus(): void {\n\t\tthis.editing.view.focus();\n\t}\n\n\t/* istanbul ignore next -- @preserve */\n\t/**\n\t * Creates and initializes a new editor instance.\n\t *\n\t * This is an abstract method. Every editor type needs to implement its own initialization logic.\n\t *\n\t * See the `create()` methods of the existing editor types to learn how to use them:\n\t *\n\t * * {@link module:editor-classic/classiceditor~ClassicEditor.create `ClassicEditor.create()`}\n\t * * {@link module:editor-balloon/ballooneditor~BalloonEditor.create `BalloonEditor.create()`}\n\t * * {@link module:editor-decoupled/decouplededitor~DecoupledEditor.create `DecoupledEditor.create()`}\n\t * * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`}\n\t */\n\tpublic static create( ...args: Array<unknown> ): void { // eslint-disable-line @typescript-eslint/no-unused-vars\n\t\tthrow new Error( 'This is an abstract method.' );\n\t}\n\n\t/**\n\t * The {@link module:core/context~Context} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */\n\tpublic static Context = Context;\n\n\t/**\n\t * The {@link module:watchdog/editorwatchdog~EditorWatchdog} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */\n\tpublic static EditorWatchdog = EditorWatchdog;\n\n\t/**\n\t * The {@link module:watchdog/contextwatchdog~ContextWatchdog} class.\n\t *\n\t * Exposed as static editor field for easier access in editor builds.\n\t */\n\tpublic static ContextWatchdog = ContextWatchdog;\n\n\tprotected _showLicenseError( reason: LicenseErrorReason, name?: string ): void {\n\t\tsetTimeout( () => {\n\t\t\tif ( reason == 'invalid' ) {\n\t\t\t\t/**\n\t\t\t\t * The license key provided is invalid. Please ensure that it is copied correctly\n\t\t\t\t * from the [Customer Portal](http://portal.ckeditor.com). If the issue persists,\n\t\t\t\t * please [contact our customer support](https://ckeditor.com/contact/).\n\t\t\t\t *\n\t\t\t\t * @error invalid-license-key\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'invalid-license-key' );\n\t\t\t}\n\n\t\t\tif ( reason == 'expired' ) {\n\t\t\t\t/**\n\t\t\t\t * Your license key has expired.\n\t\t\t\t *\n\t\t\t\t * If you used our free trial, you either need to switch to\n\t\t\t\t * [open-source license](https://ckeditor.com/docs/ckeditor5/latest/getting-started/licensing/license-and-legal.html), or\n\t\t\t\t * in case of a commercial plan, change the trial key to production key or development key.\n\t\t\t\t * Switching from trial, you also need to align the editor configuration to the features available in your plan.\n\t\t\t\t *\n\t\t\t\t * If you already had one of our Cloud or Custom plans, please renew your license in the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com).\n\t\t\t\t *\n\t\t\t\t * @error license-key-expired\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-expired' );\n\t\t\t}\n\n\t\t\tif ( reason == 'domainLimit' ) {\n\t\t\t\t/**\n\t\t\t\t * The provided license does not allow the editor to run on this domain.\n\t\t\t\t * Some license keys are restricted to local test environments only.\n\t\t\t\t * For more details, please refer to the\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types license key type documentation}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-domain-limit\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-domain-limit' );\n\t\t\t}\n\n\t\t\tif ( reason == 'pluginNotAllowed' ) {\n\t\t\t\t// It's safe to assume `name` exists because `pluginNotAllowed` must know a plugin name when checking the license.\n\t\t\t\tconst gluePluginName = name!.replace( /(Editing|UI)$/, '' );\n\t\t\t\tconst containsGluePlugin = this.plugins.has( gluePluginName );\n\n\t\t\t\t/**\n\t\t\t\t * The plugin you are trying to use is not permitted under your current license.\n\t\t\t\t * Please check the available features on the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact support](https://ckeditor.com/contact/) for more information.\n\t\t\t\t *\n\t\t\t\t * @error license-key-plugin-not-allowed\n\t\t\t\t * @param {String} pluginName The plugin you tried to load.\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-plugin-not-allowed', null, {\n\t\t\t\t\tpluginName: containsGluePlugin ? gluePluginName : name\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( reason == 'featureNotAllowed' ) {\n\t\t\t\t/**\n\t\t\t\t * The feature you are trying to use is not permitted under your current license.\n\t\t\t\t * Please check the available features on the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact support](https://ckeditor.com/contact/) for more information.\n\t\t\t\t *\n\t\t\t\t * @error license-key-feature-not-allowed\n\t\t\t\t * @param {String} featureName The feature you tried to use.\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-feature-not-allowed', null, { featureName: name } );\n\t\t\t}\n\n\t\t\tif ( reason == 'evaluationLimit' ) {\n\t\t\t\t/**\n\t\t\t\t * You have exceeded the editor operation limit available for your evaluation license key.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-evaluation-limit\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-evaluation-limit' );\n\t\t\t}\n\n\t\t\tif ( reason == 'trialLimit' ) {\n\t\t\t\t/**\n\t\t\t\t * You have exceeded the editor operation limit for your trial license key.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-trial-limit\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-trial-limit' );\n\t\t\t}\n\n\t\t\tif ( reason == 'developmentLimit' ) {\n\t\t\t\t/**\n\t\t\t\t * You have exceeded the operation limit for your development license key within the editor.\n\t\t\t\t * Please restart the editor to continue using it.\n\t\t\t\t * {@glink getting-started/licensing/license-key-and-activation#license-key-types Read more about license key types}.\n\t\t\t\t *\n\t\t\t\t * @error license-key-development-limit\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-development-limit' );\n\t\t\t}\n\n\t\t\tif ( reason == 'usageLimit' ) {\n\t\t\t\t/**\n\t\t\t\t * You have reached the usage limit of your license key. This can occur in the following situations:\n\t\t\t\t *\n\t\t\t\t * * You are on a free subscription without a connected payment method and have exceeded the allowed usage threshold.\n\t\t\t\t * * Your account has overdue invoices and the grace period has ended.\n\t\t\t\t *\n\t\t\t\t * To extend the limit and restore access, please update the required details in the\n\t\t\t\t * [Customer Portal](https://portal.ckeditor.com) or\n\t\t\t\t * [contact our customer support](https://ckeditor.com/contact).\n\t\t\t\t *\n\t\t\t\t * @error license-key-usage-limit\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-usage-limit' );\n\t\t\t}\n\n\t\t\tif ( reason == 'distributionChannel' ) {\n\t\t\t\t/**\n\t\t\t\t * Your license does not allow the current distribution channel.\n\t\t\t\t *\n\t\t\t\t * These are the available distribution channels:\n\t\t\t\t * * Self-hosted - the editor is installed via npm or from a ZIP package\n\t\t\t\t * * Cloud - the editor is run from CDN\n\t\t\t\t *\n\t\t\t\t * The licenses available include:\n\t\t\t\t * * GPL license for open-source users.\n\t\t\t\t * * Commercial plans (Cloud or sales-assisted).\n\t\t\t\t *\n\t\t\t\t * The relation between distribution channels and licenses works as follows:\n\t\t\t\t * * With the 'GPL' license key, you may use the editor installed via npm or a ZIP package (self-hosted).\n\t\t\t\t * * With the CKEditor Cloud plans, you may use the editor via our CDN.\n\t\t\t\t * * With the CKEditor Custom plans, depending on your plan details, you can use the editor via npm\n\t\t\t\t * or a ZIP package (self-hosted) or Cloud (CDN).\n\t\t\t\t *\n\t\t\t\t * {@glink getting-started/licensing/usage-based-billing#key-terms Read more about distributions in the documentation}.\n\t\t\t\t * Please verify your installation or [contact support](https://ckeditor.com/contact/) for assistance.\n\t\t\t\t * Should you need to migrate your installation from npm to CDN, please refer to our\n\t\t\t\t * [dedicated migration guides](https://ckeditor.com/docs/ckeditor5/latest/updating/migrations/vanilla-js.html).\n\t\t\t\t *\n\t\t\t\t * @error license-key-invalid-distribution-channel\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'license-key-invalid-distribution-channel' );\n\t\t\t}\n\n\t\t\t/* istanbul ignore next -- @preserve */\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\tconst unreachable: never = reason;\n\t\t}, 0 );\n\n\t\tthis._showLicenseError = () => {};\n\t}\n\n\t/**\n\t * This part of the code is _not_ executed in installations under the GPL license (with `config.licenseKey = 'GPL'`).\n *\n\t * It is only executed when a specific license key is provided. If you are uncertain whether\n\t * this applies to your installation, please contact our support team.\n\t */\n\tprivate async _sendUsageRequest( endpoint: string, request: unknown ) {\n\t\tconst headers = new Headers( { 'Content-Type': 'application/json' } );\n\t\tconst response = await fetch( new URL( endpoint ), {\n\t\t\tmethod: 'POST',\n\t\t\theaders,\n\t\t\tbody: JSON.stringify( request )\n\t\t} );\n\n\t\tif ( !response.ok ) {\n\t\t\t// TODO: refine message.\n\t\t\tthrow new Error( `HTTP Response: ${ response.status }` );\n\t\t}\n\n\t\treturn response.json();\n\t}\n}\n\nfunction collectUsageData( editor: Editor ): EditorUsageData {\n\tconst collectedData = getEditorUsageData( editor );\n\n\tfunction setUsageData( path: string, value: unknown ) {\n\t\tif ( get( collectedData, path ) !== undefined ) {\n\t\t\t/**\n\t\t\t * The error thrown when trying to set the usage data path that was already set.\n\t\t\t * Make sure that you are not setting the same path multiple times.\n\t\t\t *\n\t\t\t * @error editor-usage-data-path-already-set\n\t\t\t * @param {string} path The path that was already set.\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'editor-usage-data-path-already-set', { path } );\n\t\t}\n\n\t\tset( collectedData, path, value );\n\t}\n\n\teditor.fire<EditorCollectUsageDataEvent>( 'collectUsageData', {\n\t\tsetUsageData\n\t} );\n\n\treturn collectedData;\n}\n\n/**\n * @internal\n */\nexport type LicenseErrorReason =\n\t'invalid' |\n\t'expired' |\n\t'domainLimit' |\n\t'pluginNotAllowed' |\n\t'featureNotAllowed' |\n\t'evaluationLimit' |\n\t'trialLimit' |\n\t'developmentLimit' |\n\t'usageLimit' |\n\t'distributionChannel';\n\n/**\n * Fired when the {@link module:engine/controller/datacontroller~DataController#event:ready data} and all additional\n * editor components are ready.\n *\n * Note: This event is most useful for plugin developers. When integrating the editor with your website or\n * application, you do not have to listen to `editor#ready` because when the promise returned by the static\n * {@link module:core/editor/editor~Editor.create `Editor.create()`} event is resolved, the editor is already ready.\n * In fact, since the first moment when the editor instance is available to you is inside `then()`'s callback,\n * you cannot even add a listener to the `editor#ready` event.\n *\n * See also the {@link module:core/editor/editor~Editor#state `editor.state`} property.\n *\n * @eventName ~Editor#ready\n */\nexport type EditorReadyEvent = {\n\tname: 'ready';\n\targs: [];\n};\n\n/**\n * Fired when the editor is about to collect usage data.\n *\n * This event is fired when the editor is about to collect usage data. It allows plugins to provide additional data for\n * the usage statistics. The usage data is collected by the editor and sent to the usage tracking server. All plugins are\n * expected to be ready at this point.\n *\n * @eventName ~Editor#collectUsageData\n */\nexport type EditorCollectUsageDataEvent = {\n\tname: 'collectUsageData';\n\targs: [\n\t\t{\n\t\t\tsetUsageData( path: string, value: unknown ): void;\n\t\t}\n\t];\n};\n\n/**\n * Fired when this editor instance is destroyed. The editor at this point is not usable and this event should be used to\n * perform the clean-up in any plugin.\n *\n * See also the {@link module:core/editor/editor~Editor#state `editor.state`} property.\n *\n * @eventName ~Editor#destroy\n */\nexport type EditorDestroyEvent = {\n\tname: 'destroy';\n\targs: [];\n};\n\n/**\n * This error is thrown when trying to pass a `<textarea>` element to a `create()` function of an editor class.\n *\n * The only editor type which can be initialized on `<textarea>` elements is\n * the {@glink getting-started/setup/editor-types#classic-editor classic editor}.\n * This editor hides the passed element and inserts its own UI next to it. Other types of editors reuse the passed element as their root\n * editable element and therefore `<textarea>` is not appropriate for them. Use a `<div>` or another text container instead:\n *\n * ```html\n * <div id=\"editor\">\n * \t<p>Initial content.</p>\n * </div>\n * ```\n *\n * @error editor-wrong-element\n */\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editor/utils/attachtoform\n */\n\nimport { isFunction } from 'es-toolkit/compat';\n\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils';\n\nimport type { Editor, EditorDestroyEvent } from '../editor.js';\nimport type { ElementApi } from './elementapimixin.js';\n\n/**\n * Checks if the editor is initialized on a `<textarea>` element that belongs to a form. If yes, it updates the editor's element\n * content before submitting the form.\n *\n * This helper requires the {@link module:core/editor/utils/elementapimixin~ElementApi ElementApi interface}.\n *\n * @param editor Editor instance.\n */\nexport function attachToForm( editor: Editor & ElementApi ): void {\n\tif ( !isFunction( editor.updateSourceElement ) ) {\n\t\t/**\n\t\t * The editor passed to `attachToForm()` must implement the\n\t\t * {@link module:core/editor/utils/elementapimixin~ElementApi} interface.\n\t\t *\n\t\t * @error attachtoform-missing-elementapi-interface\n\t\t */\n\t\tthrow new CKEditorError(\n\t\t\t'attachtoform-missing-elementapi-interface',\n\t\t\teditor\n\t\t);\n\t}\n\n\tconst sourceElement = editor.sourceElement;\n\n\t// Only when replacing a textarea which is inside of a form element.\n\tif ( isTextArea( sourceElement ) && sourceElement.form ) {\n\t\tlet originalSubmit: () => void;\n\t\tconst form = sourceElement.form;\n\t\tconst onSubmit = () => editor.updateSourceElement();\n\n\t\t// Replace the original form#submit() to call a custom submit function first.\n\t\t// Check if #submit is a function because the form might have an input named \"submit\".\n\t\tif ( isFunction( form.submit ) ) {\n\t\t\toriginalSubmit = form.submit;\n\n\t\t\tform.submit = () => {\n\t\t\t\tonSubmit();\n\t\t\t\toriginalSubmit.apply( form );\n\t\t\t};\n\t\t}\n\n\t\t// Update the replaced textarea with data before each form#submit event.\n\t\tform.addEventListener( 'submit', onSubmit );\n\n\t\t// Remove the submit listener and revert the original submit method on\n\t\t// editor#destroy.\n\t\teditor.on<EditorDestroyEvent>( 'destroy', () => {\n\t\t\tform.removeEventListener( 'submit', onSubmit );\n\n\t\t\tif ( originalSubmit ) {\n\t\t\t\tform.submit = originalSubmit;\n\t\t\t}\n\t\t} );\n\t}\n}\n\nfunction isTextArea( sourceElement: HTMLElement | undefined ): sourceElement is HTMLTextAreaElement {\n\treturn !!sourceElement && sourceElement.tagName.toLowerCase() === 'textarea';\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editor/utils/elementapimixin\n */\n\nimport {\n\tCKEditorError,\n\tsetDataInElement,\n\ttype Constructor,\n\ttype Mixed\n} from '@ckeditor/ckeditor5-utils';\n\nimport { type Editor } from '../editor.js';\n\n/**\n * Implementation of the {@link module:core/editor/utils/elementapimixin~ElementApi}.\n */\nexport function ElementApiMixin<Base extends Constructor<Editor>>( base: Base ): Mixed<Base, ElementApi> {\n\tabstract class Mixin extends base implements ElementApi {\n\t\tpublic sourceElement: HTMLElement | undefined;\n\n\t\tpublic updateSourceElement( data?: string ): void {\n\t\t\tif ( !this.sourceElement ) {\n\t\t\t\t/**\n\t\t\t\t * Cannot update the source element of a detached editor.\n\t\t\t\t *\n\t\t\t\t * The {@link module:core/editor/utils/elementapimixin~ElementApi#updateSourceElement `updateSourceElement()`}\n\t\t\t\t * method cannot be called if you did not pass an element to `Editor.create()`.\n\t\t\t\t *\n\t\t\t\t * @error editor-missing-sourceelement\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError(\n\t\t\t\t\t'editor-missing-sourceelement',\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst shouldUpdateSourceElement = this.config.get( 'updateSourceElementOnDestroy' );\n\t\t\tconst isSourceElementTextArea = this.sourceElement instanceof HTMLTextAreaElement;\n\n\t\t\t// The data returned by the editor might be unsafe, so we want to prevent rendering\n\t\t\t// unsafe content inside the source element different than <textarea>, which is considered\n\t\t\t// secure. This behavior could be changed by setting the `updateSourceElementOnDestroy`\n\t\t\t// configuration option to `true`.\n\t\t\tif ( !shouldUpdateSourceElement && !isSourceElementTextArea ) {\n\t\t\t\tsetDataInElement( this.sourceElement, '' );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst dataToSet = typeof data === 'string' ? data : this.data.get();\n\n\t\t\tsetDataInElement( this.sourceElement, dataToSet );\n\t\t}\n\t}\n\n\treturn Mixin as any;\n}\n\n/**\n * Interface describing an editor that replaced a DOM element (was \"initialized on an element\").\n *\n * Such an editor should provide a method to\n * {@link module:core/editor/utils/elementapimixin~ElementApi#updateSourceElement update the replaced element with the current data}.\n */\nexport interface ElementApi {\n\n\t/**\n\t * The element on which the editor has been initialized.\n\t *\n\t * @readonly\n\t */\n\tsourceElement: HTMLElement | undefined;\n\n\t/**\n\t * Updates the {@link #sourceElement editor source element}'s content with the data if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}\n\t * configuration option is set to `true`.\n\t *\n\t * @param data Data that the {@link #sourceElement editor source element} should be updated with.\n\t */\n\tupdateSourceElement( data?: string ): void;\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/editor/utils/securesourceelement\n */\n\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils';\n\nimport type { Editor, EditorDestroyEvent } from '../editor.js';\n\n/**\n * Marks the source element on which the editor was initialized. This prevents other editor instances from using this element.\n *\n * Running multiple editor instances on the same source element causes various issues and it is\n * crucial this helper is called as soon as the source element is known to prevent collisions.\n *\n * @param editor Editor instance.\n * @param sourceElement Element to bind with the editor instance.\n */\nexport function secureSourceElement( editor: Editor, sourceElement: HTMLElement & { ckeditorInstance?: Editor } ): void {\n\tif ( sourceElement.ckeditorInstance ) {\n\t\t/**\n\t\t * A DOM element used to create the editor (e.g.\n\t\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`})\n\t\t * has already been used to create another editor instance. Make sure each editor is\n\t\t * created with a unique DOM element.\n\t\t *\n\t\t * @error editor-source-element-already-used\n\t\t * @param {HTMLElement} element DOM element that caused the collision.\n\t\t */\n\t\tthrow new CKEditorError(\n\t\t\t'editor-source-element-already-used',\n\t\t\teditor\n\t\t);\n\t}\n\n\tsourceElement.ckeditorInstance = editor;\n\n\teditor.once<EditorDestroyEvent>( 'destroy', () => {\n\t\tdelete sourceElement.ckeditorInstance;\n\t} );\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module core/pendingactions\n */\n\nimport { ContextPlugin } from './contextplugin.js';\n\nimport {\n\tCKEditorError,\n\tCollection,\n\tObservableMixin,\n\ttype CollectionAddEvent,\n\ttype CollectionRemoveEvent,\n\ttype Observable\n} from '@ckeditor/ckeditor5-utils';\n\n/**\n * The list of pending editor actions.\n *\n * This plugin should be used to synchronise plugins that execute long-lasting actions\n * (e.g. file upload) with the editor integration. It gives the developer who integrates the editor\n * an easy way to check if there are any actions pending whenever such information is needed.\n * All plugins that register a pending action also provide a message about the action that is ongoing\n * which can be displayed to the user. This lets them decide if they want to interrupt the action or wait.\n *\n * Adding and updating a pending action:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n * const action = pendingActions.add( 'Upload in progress: 0%.' );\n *\n * // You can update the message:\n * action.message = 'Upload in progress: 10%.';\n * ```\n *\n * Removing a pending action:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n * const action = pendingActions.add( 'Unsaved changes.' );\n *\n * pendingActions.remove( action );\n * ```\n *\n * Getting pending actions:\n *\n * ```ts\n * const pendingActions = editor.plugins.get( 'PendingActions' );\n *\n * const action1 = pendingActions.add( 'Action 1' );\n * const action2 = pendingActions.add( 'Action 2' );\n *\n * pendingActions.first; // Returns action1\n * Array.from( pendingActions ); // Returns [ action1, action2 ]\n * ```\n *\n * This plugin is used by features like {@link module:upload/filerepository~FileRepository} to register their ongoing actions\n * and by features like {@link module:autosave/autosave~Autosave} to detect whether there are any ongoing actions.\n * Read more about saving the data in the\n * {@glink getting-started/setup/getting-and-setting-data Saving and getting data} guide.\n */\nexport class PendingActions extends ContextPlugin implements Iterable<PendingAction> {\n\t/**\n\t * Defines whether there is any registered pending action.\n\t *\n\t * @readonly\n\t * @observable\n\t */\n\tdeclare public hasAny: boolean;\n\n\t/**\n\t * A list of pending actions.\n\t */\n\tprivate _actions!: Collection<PendingAction>;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'PendingActions' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tthis.set( 'hasAny', false );\n\n\t\tthis._actions = new Collection( { idProperty: '_id' } );\n\t\tthis._actions.delegate( 'add', 'remove' ).to( this );\n\t}\n\n\t/**\n\t * Adds an action to the list of pending actions.\n\t *\n\t * This method returns an action object with an observable message property.\n\t * The action object can be later used in the {@link #remove} method. It also allows you to change the message.\n\t *\n\t * @param message The action message.\n\t * @returns An observable object that represents a pending action.\n\t */\n\tpublic add( message: string ): PendingAction {\n\t\tif ( typeof message !== 'string' ) {\n\t\t\t/**\n\t\t\t * The message must be a string.\n\t\t\t *\n\t\t\t * @error pendingactions-add-invalid-message\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'pendingactions-add-invalid-message', this );\n\t\t}\n\n\t\tconst action = new ( ObservableMixin() )() as PendingAction;\n\n\t\taction.set( 'message', message );\n\t\tthis._actions.add( action );\n\t\tthis.hasAny = true;\n\n\t\treturn action;\n\t}\n\n\t/**\n\t * Removes an action from the list of pending actions.\n\t *\n\t * @param action An action object.\n\t */\n\tpublic remove( action: PendingAction ): void {\n\t\tthis._actions.remove( action );\n\t\tthis.hasAny = !!this._actions.length;\n\t}\n\n\t/**\n\t * Returns the first action from the list or null if the list is empty\n\t *\n\t * @returns The pending action object.\n\t */\n\tpublic get first(): PendingAction | null {\n\t\treturn this._actions.get( 0 );\n\t}\n\n\t/**\n\t * Iterable interface.\n\t */\n\tpublic [ Symbol.iterator ](): Iterator<PendingAction> {\n\t\treturn this._actions[ Symbol.iterator ]();\n\t}\n}\n\nexport interface PendingAction extends Observable {\n\tmessage: string;\n}\n\n/**\n * Fired when an action is added to the list.\n *\n * @eventName ~PendingActions#add\n * @param action The added action.\n */\nexport type PendingActionsAddEvent = CollectionAddEvent<PendingAction>;\n\n/**\n * Fired when an action is removed from the list.\n *\n * @eventName ~PendingActions#remove\n * @param action The removed action.\n */\nexport type PendingActionsRemoveEvent = CollectionRemoveEvent<PendingAction>;\n"]}