@ckeditor/ckeditor5-font 46.0.0-alpha.3 → 46.0.0-alpha.5

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/fontcommand.ts","../src/utils.ts","../src/fontfamily/fontfamilycommand.ts","../src/fontfamily/utils.ts","../src/fontfamily/fontfamilyediting.ts","../src/fontfamily/fontfamilyui.ts","../src/fontfamily.ts","../src/fontsize/fontsizecommand.ts","../src/fontsize/utils.ts","../src/fontsize/fontsizeediting.ts","../src/fontsize/fontsizeui.ts","../src/fontsize.ts","../src/fontcolor/fontcolorcommand.ts","../src/fontcolor/fontcolorediting.ts","../src/ui/colorui.ts","../src/fontcolor/fontcolorui.ts","../src/fontcolor.ts","../src/fontbackgroundcolor/fontbackgroundcolorcommand.ts","../src/fontbackgroundcolor/fontbackgroundcolorediting.ts","../src/fontbackgroundcolor/fontbackgroundcolorui.ts","../src/fontbackgroundcolor.ts","../src/font.ts"],"names":["FontCommand","Command","attributeKey","editor","refresh","model","doc","document","value","selection","getAttribute","isEnabled","schema","checkAttributeInSelection","execute","options","batch","updateAttribute","writer","isCollapsed","setSelectionAttribute","removeSelectionAttribute","ranges","getValidRanges","getRanges","range","setAttribute","removeAttribute","enqueueChange","change","FONT_SIZE","FONT_FAMILY","FONT_COLOR","FONT_BACKGROUND_COLOR","buildDefinition","modelAttributeKey","definition","key","values","view","upcastAlso","option","push","renderUpcastAttribute","styleAttr","viewElement","normalizeColorCode","getStyle","renderDowncastElement","modelAttributeValue","createAttributeElement","style","priority","addColorSelectorToDropdown","dropdownView","colors","columns","removeButtonLabel","colorPickerLabel","documentColorsLabel","documentColorsCount","colorPickerViewConfig","locale","colorSelectorView","ColorSelectorView","panelView","children","add","replace","FontFamilyCommand","normalizeOptions","configuredOptions","map","getOptionDefinition","filter","undefined","normalizeFontFamilies","fontDefinition","split","name","trim","title","generateFontPreset","fontNames","firstFontName","cssFontNames","normalizeFontNameForCSS","join","styles","fontName","indexOf","FontFamilyEditing","Plugin","pluginName","isOfficialPlugin","config","define","supportAllValues","init","extend","allowAttributes","setAttributeProperties","isFormatting","copyOnEnter","get","item","_prepareAnyValueConverters","_prepareCompatibilityConverter","conversion","attributeToElement","commands","for","attributeValue","elementToAttribute","attributes","FontFamilyUI","t","_getLocalizedOptions","command","accessibleLabel","listOptions","_prepareListOptions","ui","componentFactory","createDropdown","addListToDropdown","role","ariaLabel","buttonView","set","label","icon","IconFontFamily","tooltip","extendTemplate","class","bind","to","listenTo","evt","source","commandName","commandParam","editing","focus","menuView","MenuBarMenuView","listView","MenuBarMenuListView","listItemView","MenuBarMenuListItemView","MenuBarMenuListItemButtonView","isToggleable","Object","keys","delegate","on","items","itemDefinitions","Collection","def","type","UIModel","withText","valueNormalized","toLowerCase","optionNormalized","FontFamily","requires","FontSizeCommand","namedPresets","tiny","classes","small","big","huge","String","isFullItemDefinition","attachPriority","preset","findPreset","isNumericalDefinition","generatePixelPreset","parseFloat","numberValue","CKEditorError","isNaN","styleFontSize","FontSizeEditing","presets","isLengthStyleValue","isPercentageStyleValue","length","isRelative","size","parseInt","maxSize","clampedSize","Math","min","max","FontSizeUI","IconFontSize","localizedTitles","Default","Tiny","Small","Big","Huge","assign","FontSize","normalizeSizeOptions","FontColorCommand","FontColorEditing","color","hasBorder","FontColorUIBase","componentName","dropdownLabel","componentConfig","colorsConfig","normalizeColorOptions","localizedColors","getLocalizedColorOptions","documentColors","hasColorPicker","colorPicker","dropdownContentRendered","data","isOpen","_undoStepBatch","createBatch","operations","isVisible","appendUI","updateDocumentColors","updateSelectedColors","showColorGridsFragment","focusChildOnDropdownOpen","colorGridsFragmentView","staticColorsGrid","find","isOn","contentRendered","FontColorUI","IconFontColor","FontColor","FontBackgroundColorCommand","FontBackgroundColorEditing","addStyleProcessorRules","addBackgroundStylesRules","FontBackgroundColorUI","IconFontBackground","FontBackgroundColor","Font"],"mappings":"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AA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,SAAA,CAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,OAAA,CAAA,CAAA,SAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,IAAA,CAAA,OAAA,CAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,MAAA,CAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,CAAA,KAAA,CAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA,SAAA,CAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,MAAA,CAAA,CAAA,IAAA,CAAA,KAAA;AACA,CAAA,CAAA,CAAA,CA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","file":"index.js.map","sourcesContent":["import { Command, Plugin } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { ColorSelectorView, createDropdown, addListToDropdown, MenuBarMenuView, MenuBarMenuListView, MenuBarMenuListItemView, MenuBarMenuListItemButtonView, UIModel, normalizeColorOptions, getLocalizedColorOptions, focusChildOnDropdownOpen } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { Collection, CKEditorError } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { IconFontFamily, IconFontSize, IconFontColor, IconFontBackground } from '@ckeditor/ckeditor5-icons/dist/index.js';\nimport { isLengthStyleValue, isPercentageStyleValue, addBackgroundStylesRules } from '@ckeditor/ckeditor5-engine/dist/index.js';\n\n/**\n * The base font command.\n */ class FontCommand extends Command {\n /**\n\t * A model attribute on which this command operates.\n\t */ attributeKey;\n /**\n\t * Creates an instance of the command.\n\t *\n\t * @param editor Editor instance.\n\t * @param attributeKey The name of a model attribute on which this command operates.\n\t */ constructor(editor, attributeKey){\n super(editor);\n this.attributeKey = attributeKey;\n }\n /**\n\t * @inheritDoc\n\t */ refresh() {\n const model = this.editor.model;\n const doc = model.document;\n this.value = doc.selection.getAttribute(this.attributeKey);\n this.isEnabled = model.schema.checkAttributeInSelection(doc.selection, this.attributeKey);\n }\n /**\n\t * Executes the command. Applies the `value` of the {@link #attributeKey} to the selection.\n\t * If no `value` is passed, it removes the attribute from the selection.\n\t *\n\t * @param options Options for the executed command.\n\t * @param options.value The value to apply.\n\t * @fires execute\n\t */ execute(options = {}) {\n const model = this.editor.model;\n const document = model.document;\n const selection = document.selection;\n const value = options.value;\n const batch = options.batch;\n const updateAttribute = (writer)=>{\n if (selection.isCollapsed) {\n if (value) {\n writer.setSelectionAttribute(this.attributeKey, value);\n } else {\n writer.removeSelectionAttribute(this.attributeKey);\n }\n } else {\n const ranges = model.schema.getValidRanges(selection.getRanges(), this.attributeKey);\n for (const range of ranges){\n if (value) {\n writer.setAttribute(this.attributeKey, value, range);\n } else {\n writer.removeAttribute(this.attributeKey, range);\n }\n }\n }\n };\n // In some scenarios, you may want to use a single undo step for multiple changes (e.g. in color picker).\n if (batch) {\n model.enqueueChange(batch, (writer)=>{\n updateAttribute(writer);\n });\n } else {\n model.change((writer)=>{\n updateAttribute(writer);\n });\n }\n }\n}\n\n/**\n * The name of the font size plugin.\n */ const FONT_SIZE = 'fontSize';\n/**\n * The name of the font family plugin.\n */ const FONT_FAMILY = 'fontFamily';\n/**\n * The name of the font color plugin.\n */ const FONT_COLOR = 'fontColor';\n/**\n * The name of the font background color plugin.\n */ const FONT_BACKGROUND_COLOR = 'fontBackgroundColor';\n/**\n * Builds a proper converter definition out of input data.\n *\n * @internal\n */ function buildDefinition(modelAttributeKey, options) {\n const definition = {\n model: {\n key: modelAttributeKey,\n values: []\n },\n view: {},\n upcastAlso: {}\n };\n for (const option of options){\n definition.model.values.push(option.model);\n definition.view[option.model] = option.view;\n if (option.upcastAlso) {\n definition.upcastAlso[option.model] = option.upcastAlso;\n }\n }\n return definition;\n}\n/**\n * A {@link module:font/fontcolor~FontColor font color} and\n * {@link module:font/fontbackgroundcolor~FontBackgroundColor font background color} helper\n * responsible for upcasting data to the model.\n *\n * **Note**: The `styleAttr` parameter should be either `'color'` or `'background-color'`.\n *\n * @internal\n */ function renderUpcastAttribute(styleAttr) {\n return (viewElement)=>normalizeColorCode(viewElement.getStyle(styleAttr));\n}\n/**\n * A {@link module:font/fontcolor~FontColor font color} and\n * {@link module:font/fontbackgroundcolor~FontBackgroundColor font background color} helper\n * responsible for downcasting a color attribute to a `<span>` element.\n *\n * **Note**: The `styleAttr` parameter should be either `'color'` or `'background-color'`.\n *\n * @internal\n */ function renderDowncastElement(styleAttr) {\n return (modelAttributeValue, { writer })=>writer.createAttributeElement('span', {\n style: `${styleAttr}:${modelAttributeValue}`\n }, {\n priority: 7\n });\n}\n/**\n * A helper that adds {@link module:ui/colorselector/colorselectorview~ColorSelectorView} to the color dropdown with proper initial values.\n *\n * @param options Configuration options\n * @param options.dropdownView The dropdown view to which a {@link module:ui/colorselector/colorselectorview~ColorSelectorView}\n * will be added.\n * @param options.colors An array with definitions representing colors to be displayed in the color selector.\n * @param options.columns The number of columns in the color grid.\n * @param options.removeButtonLabel The label for the button responsible for removing the color.\n * @param options.colorPickerLabel The label for the color picker button.\n * @param options.documentColorsLabel The label for the section with document colors.\n * @param options.documentColorsCount The number of document colors inside the dropdown.\n * @param options.colorPickerViewConfig Configuration of the color picker view.\n * @returns The new color selector view.\n * @internal\n */ function addColorSelectorToDropdown({ dropdownView, colors, columns, removeButtonLabel, colorPickerLabel, documentColorsLabel, documentColorsCount, colorPickerViewConfig }) {\n const locale = dropdownView.locale;\n const colorSelectorView = new ColorSelectorView(locale, {\n colors,\n columns,\n removeButtonLabel,\n colorPickerLabel,\n documentColorsLabel,\n documentColorsCount,\n colorPickerViewConfig\n });\n dropdownView.colorSelectorView = colorSelectorView;\n dropdownView.panelView.children.add(colorSelectorView);\n return colorSelectorView;\n}\n/**\n * Fixes the color value string.\n */ function normalizeColorCode(value) {\n return value.replace(/\\s/g, '');\n}\n\n/**\n * The font family command. It is used by {@link module:font/fontfamily/fontfamilyediting~FontFamilyEditing}\n * to apply the font family.\n *\n * ```ts\n * editor.execute( 'fontFamily', { value: 'Arial' } );\n * ```\n *\n * **Note**: Executing the command without the value removes the attribute from the model.\n */ class FontFamilyCommand extends FontCommand {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor, FONT_FAMILY);\n }\n}\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 * @module font/fontfamily/utils\n */ /**\n * Normalizes the {@link module:font/fontconfig~FontFamilyConfig#options configuration options}\n * to the {@link module:font/fontconfig~FontFamilyOption} format.\n *\n * @param configuredOptions An array of options taken from the configuration.\n * @internal\n */ function normalizeOptions$1(configuredOptions) {\n // Convert options to objects.\n return configuredOptions.map(getOptionDefinition$1)// Filter out undefined values that `getOptionDefinition` might return.\n .filter((option)=>option !== undefined);\n}\n/**\n * Normalizes the CSS `font-family` property value to an array of unquoted and trimmed font faces.\n *\n * @internal\n */ function normalizeFontFamilies(fontDefinition) {\n return fontDefinition.replace(/[\"']/g, '').split(',').map((name)=>name.trim());\n}\n/**\n * Returns an option definition either created from string shortcut.\n * If object is passed then this method will return it without alternating it. Returns undefined for item than cannot be parsed.\n *\n */ function getOptionDefinition$1(option) {\n // Treat any object as full item definition provided by user in configuration.\n if (typeof option === 'object') {\n return option;\n }\n // Handle 'default' string as a special case. It will be used to remove the fontFamily attribute.\n if (option === 'default') {\n return {\n title: 'Default',\n model: undefined\n };\n }\n // Ignore values that we cannot parse to a definition.\n if (typeof option !== 'string') {\n return undefined;\n }\n // Return font family definition from font string.\n return generateFontPreset(option);\n}\n/**\n * Creates a predefined preset for pixel size. It deconstructs font-family like string into full configuration option.\n * A font definition is passed as coma delimited set of font family names. Font names might be quoted.\n *\n * @param fontDefinition A font definition form configuration.\n */ function generateFontPreset(fontDefinition) {\n // Remove quotes from font names. They will be normalized later.\n const fontNames = normalizeFontFamilies(fontDefinition);\n // The first matched font name will be used as dropdown list item title and as model value.\n const firstFontName = fontNames[0];\n // CSS-compatible font names.\n const cssFontNames = fontNames.map(normalizeFontNameForCSS).join(', ');\n return {\n title: firstFontName,\n model: cssFontNames,\n view: {\n name: 'span',\n styles: {\n 'font-family': cssFontNames\n },\n priority: 7\n }\n };\n}\n/**\n * Normalizes font name for the style attribute. It adds braces (') if font name contains spaces.\n */ function normalizeFontNameForCSS(fontName) {\n fontName = fontName.trim();\n // Compound font names should be quoted.\n if (fontName.indexOf(' ') > 0) {\n fontName = `'${fontName}'`;\n }\n return fontName;\n}\n\n/**\n * The font family editing feature.\n *\n * It introduces the {@link module:font/fontfamily/fontfamilycommand~FontFamilyCommand command} and\n * the `fontFamily` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as an inline `<span>` element (`<span style=\"font-family: Arial\">`),\n * depending on the {@link module:font/fontconfig~FontFamilyConfig configuration}.\n */ class FontFamilyEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontFamilyEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n // Define default configuration using font families shortcuts.\n editor.config.define(FONT_FAMILY, {\n options: [\n 'default',\n 'Arial, Helvetica, sans-serif',\n 'Courier New, Courier, monospace',\n 'Georgia, serif',\n 'Lucida Sans Unicode, Lucida Grande, sans-serif',\n 'Tahoma, Geneva, sans-serif',\n 'Times New Roman, Times, serif',\n 'Trebuchet MS, Helvetica, sans-serif',\n 'Verdana, Geneva, sans-serif'\n ],\n supportAllValues: false\n });\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n // Allow fontFamily attribute on text nodes.\n editor.model.schema.extend('$text', {\n allowAttributes: FONT_FAMILY\n });\n editor.model.schema.setAttributeProperties(FONT_FAMILY, {\n isFormatting: true,\n copyOnEnter: true\n });\n // Get configured font family options without \"default\" option.\n const options = normalizeOptions$1(editor.config.get('fontFamily.options')).filter((item)=>item.model);\n const definition = buildDefinition(FONT_FAMILY, options);\n // Set-up the two-way conversion.\n if (editor.config.get('fontFamily.supportAllValues')) {\n this._prepareAnyValueConverters();\n this._prepareCompatibilityConverter();\n } else {\n editor.conversion.attributeToElement(definition);\n }\n editor.commands.add(FONT_FAMILY, new FontFamilyCommand(editor));\n }\n /**\n\t * These converters enable keeping any value found as `style=\"font-family: *\"` as a value of an attribute on a text even\n\t * if it is not defined in the plugin configuration.\n\t */ _prepareAnyValueConverters() {\n const editor = this.editor;\n editor.conversion.for('downcast').attributeToElement({\n model: FONT_FAMILY,\n view: (attributeValue, { writer })=>{\n return writer.createAttributeElement('span', {\n style: 'font-family:' + attributeValue\n }, {\n priority: 7\n });\n }\n });\n editor.conversion.for('upcast').elementToAttribute({\n model: {\n key: FONT_FAMILY,\n value: (viewElement)=>viewElement.getStyle('font-family')\n },\n view: {\n name: 'span',\n styles: {\n 'font-family': /.*/\n }\n }\n });\n }\n /**\n\t * Adds support for legacy `<font face=\"..\">` formatting.\n\t */ _prepareCompatibilityConverter() {\n const editor = this.editor;\n editor.conversion.for('upcast').elementToAttribute({\n view: {\n name: 'font',\n attributes: {\n 'face': /.*/\n }\n },\n model: {\n key: FONT_FAMILY,\n value: (viewElement)=>viewElement.getAttribute('face')\n }\n });\n }\n}\n\n/**\n * The font family UI plugin. It introduces the `'fontFamily'` dropdown.\n */ class FontFamilyUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontFamilyUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const t = editor.t;\n const options = this._getLocalizedOptions();\n const command = editor.commands.get(FONT_FAMILY);\n const accessibleLabel = t('Font Family');\n const listOptions = _prepareListOptions$1(options, command);\n // Register UI component.\n editor.ui.componentFactory.add(FONT_FAMILY, (locale)=>{\n const dropdownView = createDropdown(locale);\n addListToDropdown(dropdownView, listOptions, {\n role: 'menu',\n ariaLabel: accessibleLabel\n });\n dropdownView.buttonView.set({\n label: accessibleLabel,\n icon: IconFontFamily,\n tooltip: true\n });\n dropdownView.extendTemplate({\n attributes: {\n class: 'ck-font-family-dropdown'\n }\n });\n dropdownView.bind('isEnabled').to(command);\n // Execute command when an item from the dropdown is selected.\n this.listenTo(dropdownView, 'execute', (evt)=>{\n editor.execute(evt.source.commandName, {\n value: evt.source.commandParam\n });\n editor.editing.view.focus();\n });\n return dropdownView;\n });\n editor.ui.componentFactory.add(`menuBar:${FONT_FAMILY}`, (locale)=>{\n const menuView = new MenuBarMenuView(locale);\n menuView.buttonView.set({\n label: accessibleLabel,\n icon: IconFontFamily\n });\n menuView.bind('isEnabled').to(command);\n const listView = new MenuBarMenuListView(locale);\n for (const definition of listOptions){\n const listItemView = new MenuBarMenuListItemView(locale, menuView);\n const buttonView = new MenuBarMenuListItemButtonView(locale);\n buttonView.set({\n role: 'menuitemradio',\n isToggleable: true\n });\n buttonView.bind(...Object.keys(definition.model)).to(definition.model);\n buttonView.delegate('execute').to(menuView);\n buttonView.on('execute', ()=>{\n editor.execute(definition.model.commandName, {\n value: definition.model.commandParam\n });\n editor.editing.view.focus();\n });\n listItemView.children.add(buttonView);\n listView.items.add(listItemView);\n }\n menuView.panelView.children.add(listView);\n return menuView;\n });\n }\n /**\n\t * Returns options as defined in `config.fontFamily.options` but processed to account for\n\t * editor localization, i.e. to display {@link module:font/fontconfig~FontFamilyOption}\n\t * in the correct language.\n\t *\n\t * Note: The reason behind this method is that there is no way to use {@link module:utils/locale~Locale#t}\n\t * when the user configuration is defined because the editor does not exist yet.\n\t */ _getLocalizedOptions() {\n const editor = this.editor;\n const t = editor.t;\n const options = normalizeOptions$1(editor.config.get(FONT_FAMILY).options);\n return options.map((option)=>{\n // The only title to localize is \"Default\" others are font names.\n if (option.title === 'Default') {\n option.title = t('Default');\n }\n return option;\n });\n }\n}\n/**\n * Prepares FontFamily dropdown items.\n */ function _prepareListOptions$1(options, command) {\n const itemDefinitions = new Collection();\n // Create dropdown items.\n for (const option of options){\n const def = {\n type: 'button',\n model: new UIModel({\n commandName: FONT_FAMILY,\n commandParam: option.model,\n label: option.title,\n role: 'menuitemradio',\n withText: true\n })\n };\n def.model.bind('isOn').to(command, 'value', (value)=>{\n // \"Default\" or check in strict font-family converters mode.\n if (value === option.model) {\n return true;\n }\n if (!value || !option.model) {\n return false;\n }\n const valueNormalized = normalizeFontFamilies(value)[0].toLowerCase();\n const optionNormalized = normalizeFontFamilies(option.model)[0].toLowerCase();\n return valueNormalized === optionNormalized;\n });\n // Try to set a dropdown list item style.\n if (option.view && typeof option.view !== 'string' && option.view.styles) {\n def.model.set('labelStyle', `font-family: ${option.view.styles['font-family']}`);\n }\n itemDefinitions.add(def);\n }\n return itemDefinitions;\n}\n\n/**\n * The font family plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentatiom\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontfamily/fontfamilyediting~FontFamilyEditing} and\n * {@link module:font/fontfamily/fontfamilyui~FontFamilyUI} features in the editor.\n */ class FontFamily extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FontFamilyEditing,\n FontFamilyUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontFamily';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\n/**\n * The font size command. It is used by {@link module:font/fontsize/fontsizeediting~FontSizeEditing}\n * to apply the font size.\n *\n * ```ts\n * editor.execute( 'fontSize', { value: 'small' } );\n * ```\n *\n * **Note**: Executing the command without the value removes the attribute from the model.\n */ class FontSizeCommand extends FontCommand {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor, FONT_SIZE);\n }\n}\n\n/**\n * Normalizes and translates the {@link module:font/fontconfig~FontSizeConfig#options configuration options}\n * to the {@link module:font/fontconfig~FontSizeOption} format.\n *\n * @param configuredOptions An array of options taken from the configuration.\n * @internal\n */ function normalizeOptions(configuredOptions) {\n // Convert options to objects.\n return configuredOptions.map((item)=>getOptionDefinition(item))// Filter out undefined values that `getOptionDefinition` might return.\n .filter((option)=>option !== undefined);\n}\n// Default named presets map. Always create a new instance of the preset object in order to avoid modifying references.\nconst namedPresets = {\n get tiny () {\n return {\n title: 'Tiny',\n model: 'tiny',\n view: {\n name: 'span',\n classes: 'text-tiny',\n priority: 7\n }\n };\n },\n get small () {\n return {\n title: 'Small',\n model: 'small',\n view: {\n name: 'span',\n classes: 'text-small',\n priority: 7\n }\n };\n },\n get big () {\n return {\n title: 'Big',\n model: 'big',\n view: {\n name: 'span',\n classes: 'text-big',\n priority: 7\n }\n };\n },\n get huge () {\n return {\n title: 'Huge',\n model: 'huge',\n view: {\n name: 'span',\n classes: 'text-huge',\n priority: 7\n }\n };\n }\n};\n/**\n * Returns an option definition either from preset or creates one from number shortcut.\n * If object is passed then this method will return it without alternating it. Returns undefined for item than cannot be parsed.\n */ function getOptionDefinition(option) {\n if (typeof option === 'number') {\n option = String(option);\n }\n // Check whether passed option is a full item definition provided by user in configuration.\n if (typeof option === 'object' && isFullItemDefinition(option)) {\n return attachPriority(option);\n }\n const preset = findPreset(option);\n // Item is a named preset.\n if (preset) {\n return attachPriority(preset);\n }\n // 'Default' font size. It will be used to remove the fontSize attribute.\n if (option === 'default') {\n return {\n model: undefined,\n title: 'Default'\n };\n }\n // At this stage we probably have numerical value to generate a preset so parse it's value.\n // Discard any faulty values.\n if (isNumericalDefinition(option)) {\n return undefined;\n }\n // Return font size definition from size value.\n return generatePixelPreset(option);\n}\n/**\n * Creates a predefined preset for pixel size.\n * @param definition Font size in pixels.\n * @returns\n */ function generatePixelPreset(definition) {\n // Extend a short (numeric value) definition.\n if (typeof definition === 'string') {\n definition = {\n title: definition,\n model: `${parseFloat(definition)}px`\n };\n }\n definition.view = {\n name: 'span',\n styles: {\n 'font-size': definition.model\n }\n };\n return attachPriority(definition);\n}\n/**\n * Adds the priority to the view element definition if missing. It's required due to ckeditor/ckeditor5#2291\n */ function attachPriority(definition) {\n if (definition.view && typeof definition.view !== 'string' && !definition.view.priority) {\n definition.view.priority = 7;\n }\n return definition;\n}\n/**\n * Returns a prepared preset definition. If passed an object, a name of preset should be defined as `model` value.\n *\n * @param definition.model A preset name.\n */ function findPreset(definition) {\n return typeof definition === 'string' ? namedPresets[definition] : namedPresets[definition.model];\n}\n/**\n * We treat `definition` as completed if it is an object that contains `title`, `model` and `view` values.\n */ function isFullItemDefinition(definition) {\n return definition.title && definition.model && definition.view;\n}\nfunction isNumericalDefinition(definition) {\n let numberValue;\n if (typeof definition === 'object') {\n if (!definition.model) {\n /**\n\t\t\t * Provided value as an option for {@link module:font/fontsize~FontSize} seems to invalid.\n\t\t\t *\n\t\t\t * See valid examples described in the {@link module:font/fontconfig~FontSizeConfig#options plugin configuration}.\n\t\t\t *\n\t\t\t * @error font-size-invalid-definition\n\t\t\t */ throw new CKEditorError('font-size-invalid-definition', null, definition);\n } else {\n numberValue = parseFloat(definition.model);\n }\n } else {\n numberValue = parseFloat(definition);\n }\n return isNaN(numberValue);\n}\n\n// Mapping of `<font size=\"..\">` styling to CSS's `font-size` values.\nconst styleFontSize = [\n 'x-small',\n 'x-small',\n 'small',\n 'medium',\n 'large',\n 'x-large',\n 'xx-large',\n 'xxx-large'\n];\n/**\n * The font size editing feature.\n *\n * It introduces the {@link module:font/fontsize/fontsizecommand~FontSizeCommand command} and the `fontSize`\n * attribute in the {@link module:engine/model/model~Model model} which renders in the {@link module:engine/view/view view}\n * as a `<span>` element with either:\n * * a style attribute (`<span style=\"font-size:12px\">...</span>`),\n * * or a class attribute (`<span class=\"text-small\">...</span>`)\n *\n * depending on the {@link module:font/fontconfig~FontSizeConfig configuration}.\n */ class FontSizeEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontSizeEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n // Define default configuration using named presets.\n editor.config.define(FONT_SIZE, {\n options: [\n 'tiny',\n 'small',\n 'default',\n 'big',\n 'huge'\n ],\n supportAllValues: false\n });\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n // Allow fontSize attribute on text nodes.\n editor.model.schema.extend('$text', {\n allowAttributes: FONT_SIZE\n });\n editor.model.schema.setAttributeProperties(FONT_SIZE, {\n isFormatting: true,\n copyOnEnter: true\n });\n const supportAllValues = editor.config.get('fontSize.supportAllValues');\n // Define view to model conversion.\n const options = normalizeOptions(this.editor.config.get('fontSize.options')).filter((item)=>item.model);\n const definition = buildDefinition(FONT_SIZE, options);\n // Set-up the two-way conversion.\n if (supportAllValues) {\n this._prepareAnyValueConverters(definition);\n this._prepareCompatibilityConverter();\n } else {\n editor.conversion.attributeToElement(definition);\n }\n // Add FontSize command.\n editor.commands.add(FONT_SIZE, new FontSizeCommand(editor));\n }\n /**\n\t * These converters enable keeping any value found as `style=\"font-size: *\"` as a value of an attribute on a text even\n\t * if it is not defined in the plugin configuration.\n\t *\n\t * @param definition Converter definition out of input data.\n\t */ _prepareAnyValueConverters(definition) {\n const editor = this.editor;\n // If `fontSize.supportAllValues=true`, we do not allow to use named presets in the plugin's configuration.\n const presets = definition.model.values.filter((value)=>{\n return !isLengthStyleValue(String(value)) && !isPercentageStyleValue(String(value));\n });\n if (presets.length) {\n /**\n\t\t\t * If {@link module:font/fontconfig~FontSizeConfig#supportAllValues `config.fontSize.supportAllValues`} is `true`,\n\t\t\t * you need to use numerical values as font size options.\n\t\t\t *\n\t\t\t * See valid examples described in the {@link module:font/fontconfig~FontSizeConfig#options plugin configuration}.\n\t\t\t *\n\t\t\t * @error font-size-invalid-use-of-named-presets\n\t\t\t * @param {Array.<string>} presets Invalid values.\n\t\t\t */ throw new CKEditorError('font-size-invalid-use-of-named-presets', null, {\n presets\n });\n }\n editor.conversion.for('downcast').attributeToElement({\n model: FONT_SIZE,\n view: (attributeValue, { writer })=>{\n if (!attributeValue) {\n return;\n }\n return writer.createAttributeElement('span', {\n style: 'font-size:' + attributeValue\n }, {\n priority: 7\n });\n }\n });\n editor.conversion.for('upcast').elementToAttribute({\n model: {\n key: FONT_SIZE,\n value: (viewElement)=>viewElement.getStyle('font-size')\n },\n view: {\n name: 'span',\n styles: {\n 'font-size': /.*/\n }\n }\n });\n }\n /**\n\t * Adds support for legacy `<font size=\"..\">` formatting.\n\t */ _prepareCompatibilityConverter() {\n const editor = this.editor;\n editor.conversion.for('upcast').elementToAttribute({\n view: {\n name: 'font',\n attributes: {\n // Documentation mentions sizes from 1 to 7. To handle old content we support all values\n // up to 999 but clamp it to the valid range. Why 999? It should cover accidental values\n // similar to percentage, e.g. 100%, 200% which could be the usual mistake for font size.\n 'size': /^[+-]?\\d{1,3}$/\n }\n },\n model: {\n key: FONT_SIZE,\n value: (viewElement)=>{\n const value = viewElement.getAttribute('size');\n const isRelative = value[0] === '-' || value[0] === '+';\n let size = parseInt(value, 10);\n if (isRelative) {\n // Add relative size (which can be negative) to the default size = 3.\n size = 3 + size;\n }\n const maxSize = styleFontSize.length - 1;\n const clampedSize = Math.min(Math.max(size, 0), maxSize);\n return styleFontSize[clampedSize];\n }\n }\n });\n }\n}\n\n/**\n * The font size UI plugin. It introduces the `'fontSize'` dropdown.\n */ class FontSizeUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontSizeUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const t = editor.t;\n const options = this._getLocalizedOptions();\n const command = editor.commands.get(FONT_SIZE);\n const accessibleLabel = t('Font Size');\n const listOptions = _prepareListOptions(options, command);\n // Register UI component.\n editor.ui.componentFactory.add(FONT_SIZE, (locale)=>{\n const dropdownView = createDropdown(locale);\n addListToDropdown(dropdownView, listOptions, {\n role: 'menu',\n ariaLabel: accessibleLabel\n });\n // Create dropdown model.\n dropdownView.buttonView.set({\n label: accessibleLabel,\n icon: IconFontSize,\n tooltip: true\n });\n dropdownView.extendTemplate({\n attributes: {\n class: [\n 'ck-font-size-dropdown'\n ]\n }\n });\n dropdownView.bind('isEnabled').to(command);\n // Execute command when an item from the dropdown is selected.\n this.listenTo(dropdownView, 'execute', (evt)=>{\n editor.execute(evt.source.commandName, {\n value: evt.source.commandParam\n });\n editor.editing.view.focus();\n });\n return dropdownView;\n });\n editor.ui.componentFactory.add(`menuBar:${FONT_SIZE}`, (locale)=>{\n const menuView = new MenuBarMenuView(locale);\n menuView.buttonView.set({\n label: accessibleLabel,\n icon: IconFontSize\n });\n menuView.bind('isEnabled').to(command);\n const listView = new MenuBarMenuListView(locale);\n for (const definition of listOptions){\n const listItemView = new MenuBarMenuListItemView(locale, menuView);\n const buttonView = new MenuBarMenuListItemButtonView(locale);\n buttonView.set({\n role: 'menuitemradio',\n isToggleable: true\n });\n buttonView.bind(...Object.keys(definition.model)).to(definition.model);\n buttonView.delegate('execute').to(menuView);\n buttonView.on('execute', ()=>{\n editor.execute(definition.model.commandName, {\n value: definition.model.commandParam\n });\n editor.editing.view.focus();\n });\n listItemView.children.add(buttonView);\n listView.items.add(listItemView);\n }\n menuView.panelView.children.add(listView);\n return menuView;\n });\n }\n /**\n\t * Returns options as defined in `config.fontSize.options` but processed to account for\n\t * editor localization, i.e. to display {@link module:font/fontconfig~FontSizeOption}\n\t * in the correct language.\n\t *\n\t * Note: The reason behind this method is that there is no way to use {@link module:utils/locale~Locale#t}\n\t * when the user configuration is defined because the editor does not exist yet.\n\t */ _getLocalizedOptions() {\n const editor = this.editor;\n const t = editor.t;\n const localizedTitles = {\n Default: t('Default'),\n Tiny: t('Tiny'),\n Small: t('Small'),\n Big: t('Big'),\n Huge: t('Huge')\n };\n const options = normalizeOptions(editor.config.get(FONT_SIZE).options);\n return options.map((option)=>{\n const title = localizedTitles[option.title];\n if (title && title != option.title) {\n // Clone the option to avoid altering the original `namedPresets` from `./utils.js`.\n option = Object.assign({}, option, {\n title\n });\n }\n return option;\n });\n }\n}\n/**\n * Prepares FontSize dropdown items.\n */ function _prepareListOptions(options, command) {\n const itemDefinitions = new Collection();\n for (const option of options){\n const def = {\n type: 'button',\n model: new UIModel({\n commandName: FONT_SIZE,\n commandParam: option.model,\n label: option.title,\n class: 'ck-fontsize-option',\n role: 'menuitemradio',\n withText: true\n })\n };\n if (option.view && typeof option.view !== 'string') {\n if (option.view.styles) {\n def.model.set('labelStyle', `font-size:${option.view.styles['font-size']}`);\n }\n if (option.view.classes) {\n def.model.set('class', `${def.model.class} ${option.view.classes}`);\n }\n }\n def.model.bind('isOn').to(command, 'value', (value)=>value === option.model);\n // Add the option to the collection.\n itemDefinitions.add(def);\n }\n return itemDefinitions;\n}\n\n/**\n * The font size plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontsize/fontsizeediting~FontSizeEditing} and\n * {@link module:font/fontsize/fontsizeui~FontSizeUI} features in the editor.\n */ class FontSize extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FontSizeEditing,\n FontSizeUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontSize';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * Normalizes and translates the {@link module:font/fontconfig~FontSizeConfig#options configuration options}\n\t * to the {@link module:font/fontconfig~FontSizeOption} format.\n\t *\n\t * @param options An array of options taken from the configuration.\n\t */ normalizeSizeOptions(options) {\n return normalizeOptions(options);\n }\n}\n\n/**\n * The font color command. It is used by {@link module:font/fontcolor/fontcolorediting~FontColorEditing}\n * to apply the font color.\n *\n * ```ts\n * editor.execute( 'fontColor', { value: 'rgb(250, 20, 20)' } );\n * ```\n *\n * **Note**: Executing the command with the `null` value removes the attribute from the model.\n */ class FontColorCommand extends FontCommand {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor, FONT_COLOR);\n }\n}\n\n/**\n * The font color editing feature.\n *\n * It introduces the {@link module:font/fontcolor/fontcolorcommand~FontColorCommand command} and\n * the `fontColor` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as a `<span>` element (`<span style=\"color: ...\">`),\n * depending on the {@link module:font/fontconfig~FontColorConfig configuration}.\n */ class FontColorEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontColorEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n editor.config.define(FONT_COLOR, {\n colors: [\n {\n color: 'hsl(0, 0%, 0%)',\n label: 'Black'\n },\n {\n color: 'hsl(0, 0%, 30%)',\n label: 'Dim grey'\n },\n {\n color: 'hsl(0, 0%, 60%)',\n label: 'Grey'\n },\n {\n color: 'hsl(0, 0%, 90%)',\n label: 'Light grey'\n },\n {\n color: 'hsl(0, 0%, 100%)',\n label: 'White',\n hasBorder: true\n },\n {\n color: 'hsl(0, 75%, 60%)',\n label: 'Red'\n },\n {\n color: 'hsl(30, 75%, 60%)',\n label: 'Orange'\n },\n {\n color: 'hsl(60, 75%, 60%)',\n label: 'Yellow'\n },\n {\n color: 'hsl(90, 75%, 60%)',\n label: 'Light green'\n },\n {\n color: 'hsl(120, 75%, 60%)',\n label: 'Green'\n },\n {\n color: 'hsl(150, 75%, 60%)',\n label: 'Aquamarine'\n },\n {\n color: 'hsl(180, 75%, 60%)',\n label: 'Turquoise'\n },\n {\n color: 'hsl(210, 75%, 60%)',\n label: 'Light blue'\n },\n {\n color: 'hsl(240, 75%, 60%)',\n label: 'Blue'\n },\n {\n color: 'hsl(270, 75%, 60%)',\n label: 'Purple'\n }\n ],\n columns: 5\n });\n editor.conversion.for('upcast').elementToAttribute({\n view: {\n name: 'span',\n styles: {\n 'color': /[\\s\\S]+/\n }\n },\n model: {\n key: FONT_COLOR,\n value: renderUpcastAttribute('color')\n }\n });\n // Support legacy `<font color=\"..\">` formatting.\n editor.conversion.for('upcast').elementToAttribute({\n view: {\n name: 'font',\n attributes: {\n 'color': /^#?\\w+$/\n }\n },\n model: {\n key: FONT_COLOR,\n value: (viewElement)=>viewElement.getAttribute('color')\n }\n });\n editor.conversion.for('downcast').attributeToElement({\n model: FONT_COLOR,\n view: renderDowncastElement('color')\n });\n editor.commands.add(FONT_COLOR, new FontColorCommand(editor));\n // Allow the font color attribute on text nodes.\n editor.model.schema.extend('$text', {\n allowAttributes: FONT_COLOR\n });\n editor.model.schema.setAttributeProperties(FONT_COLOR, {\n isFormatting: true,\n copyOnEnter: true\n });\n }\n}\n\n/**\n * The color UI plugin which isolates the common logic responsible for displaying dropdowns with color grids.\n *\n * It is used to create the `'fontBackgroundColor'` and `'fontColor'` dropdowns, each hosting\n * a {@link module:ui/colorselector/colorselectorview~ColorSelectorView}.\n */ class FontColorUIBase extends Plugin {\n /**\n\t * The name of the command which will be executed when a color tile is clicked.\n\t */ commandName;\n /**\n\t * The name of this component in the {@link module:ui/componentfactory~ComponentFactory}.\n\t * Also the configuration scope name in `editor.config`.\n\t */ componentName;\n /**\n\t * The SVG icon used by the dropdown.\n\t */ icon;\n /**\n\t * The label used by the dropdown.\n\t */ dropdownLabel;\n /**\n\t * The number of columns in the color grid.\n\t */ columns;\n /**\n\t * Creates a plugin which introduces a dropdown with a pre–configured\n\t * {@link module:ui/colorselector/colorselectorview~ColorSelectorView}.\n\t *\n\t * @param editor An editor instance.\n\t * @param config The configuration object.\n\t * @param config.commandName The name of the command which will be executed when a color tile is clicked.\n\t * @param config.componentName The name of the dropdown in the {@link module:ui/componentfactory~ComponentFactory}\n\t * and the configuration scope name in `editor.config`.\n\t * @param config.icon The SVG icon used by the dropdown.\n\t * @param config.dropdownLabel The label used by the dropdown.\n\t */ constructor(editor, { commandName, componentName, icon, dropdownLabel }){\n super(editor);\n this.commandName = commandName;\n this.componentName = componentName;\n this.icon = icon;\n this.dropdownLabel = dropdownLabel;\n this.columns = editor.config.get(`${this.componentName}.columns`);\n }\n /**\n\t* @inheritDoc\n\t*/ init() {\n const editor = this.editor;\n const locale = editor.locale;\n const t = locale.t;\n const command = editor.commands.get(this.commandName);\n const componentConfig = editor.config.get(this.componentName);\n const colorsConfig = normalizeColorOptions(componentConfig.colors);\n const localizedColors = getLocalizedColorOptions(locale, colorsConfig);\n const documentColorsCount = componentConfig.documentColors;\n const hasColorPicker = componentConfig.colorPicker !== false;\n // Register the UI component.\n editor.ui.componentFactory.add(this.componentName, (locale)=>{\n const dropdownView = createDropdown(locale);\n // Font color dropdown rendering is deferred once it gets open to improve performance (#6192).\n let dropdownContentRendered = false;\n const colorSelectorView = addColorSelectorToDropdown({\n dropdownView,\n colors: localizedColors.map((option)=>({\n label: option.label,\n color: option.model,\n options: {\n hasBorder: option.hasBorder\n }\n })),\n columns: this.columns,\n removeButtonLabel: t('Remove color'),\n colorPickerLabel: t('Color picker'),\n documentColorsLabel: documentColorsCount !== 0 ? t('Document colors') : '',\n documentColorsCount: documentColorsCount === undefined ? this.columns : documentColorsCount,\n colorPickerViewConfig: hasColorPicker ? componentConfig.colorPicker || {} : false\n });\n colorSelectorView.bind('selectedColor').to(command, 'value');\n dropdownView.buttonView.set({\n label: this.dropdownLabel,\n icon: this.icon,\n tooltip: true\n });\n dropdownView.extendTemplate({\n attributes: {\n class: 'ck-color-ui-dropdown'\n }\n });\n dropdownView.bind('isEnabled').to(command);\n colorSelectorView.on('execute', (evt, data)=>{\n if (dropdownView.isOpen) {\n editor.execute(this.commandName, {\n value: data.value,\n batch: this._undoStepBatch\n });\n }\n if (data.source !== 'colorPicker') {\n editor.editing.view.focus();\n }\n if (data.source === 'colorPickerSaveButton') {\n dropdownView.isOpen = false;\n }\n });\n colorSelectorView.on('colorPicker:show', ()=>{\n this._undoStepBatch = editor.model.createBatch();\n });\n colorSelectorView.on('colorPicker:cancel', ()=>{\n if (this._undoStepBatch.operations.length) {\n // We need to close the dropdown before the undo batch.\n // Otherwise, FontColorUIBase treats undo as a selected color change,\n // propagating the update to the whole selection.\n // That's an issue if spans with various colors were selected.\n dropdownView.isOpen = false;\n editor.execute('undo', this._undoStepBatch);\n }\n editor.editing.view.focus();\n });\n dropdownView.on('change:isOpen', (evt, name, isVisible)=>{\n if (!dropdownContentRendered) {\n dropdownContentRendered = true;\n dropdownView.colorSelectorView.appendUI();\n }\n if (isVisible) {\n if (documentColorsCount !== 0) {\n colorSelectorView.updateDocumentColors(editor.model, this.componentName);\n }\n colorSelectorView.updateSelectedColors();\n colorSelectorView.showColorGridsFragment();\n }\n });\n // Accessibility: focus the first active color when opening the dropdown.\n focusChildOnDropdownOpen(dropdownView, ()=>dropdownView.colorSelectorView.colorGridsFragmentView.staticColorsGrid.items.find((item)=>item.isOn));\n return dropdownView;\n });\n // Register menu bar button..\n editor.ui.componentFactory.add(`menuBar:${this.componentName}`, (locale)=>{\n const menuView = new MenuBarMenuView(locale);\n menuView.buttonView.set({\n label: this.dropdownLabel,\n icon: this.icon\n });\n menuView.bind('isEnabled').to(command);\n // Font color sub-menu rendering is deferred once it gets open to improve performance (#6192).\n let contentRendered = false;\n const colorSelectorView = new ColorSelectorView(locale, {\n colors: localizedColors.map((option)=>({\n label: option.label,\n color: option.model,\n options: {\n hasBorder: option.hasBorder\n }\n })),\n columns: this.columns,\n removeButtonLabel: t('Remove color'),\n colorPickerLabel: t('Color picker'),\n documentColorsLabel: documentColorsCount !== 0 ? t('Document colors') : '',\n documentColorsCount: documentColorsCount === undefined ? this.columns : documentColorsCount,\n colorPickerViewConfig: false\n });\n colorSelectorView.bind('selectedColor').to(command, 'value');\n colorSelectorView.delegate('execute').to(menuView);\n colorSelectorView.on('execute', (evt, data)=>{\n editor.execute(this.commandName, {\n value: data.value,\n batch: this._undoStepBatch\n });\n editor.editing.view.focus();\n });\n menuView.on('change:isOpen', (evt, name, isVisible)=>{\n if (!contentRendered) {\n contentRendered = true;\n colorSelectorView.appendUI();\n }\n if (isVisible) {\n if (documentColorsCount !== 0) {\n colorSelectorView.updateDocumentColors(editor.model, this.componentName);\n }\n colorSelectorView.updateSelectedColors();\n colorSelectorView.showColorGridsFragment();\n }\n });\n menuView.panelView.children.add(colorSelectorView);\n return menuView;\n });\n }\n}\n\n/**\n * The font color UI plugin. It introduces the `'fontColor'` dropdown.\n */ class FontColorUI extends FontColorUIBase {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n const t = editor.locale.t;\n super(editor, {\n commandName: FONT_COLOR,\n componentName: FONT_COLOR,\n icon: IconFontColor,\n dropdownLabel: t('Font Color')\n });\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontColorUI';\n }\n}\n\n/**\n * The font color plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontcolor/fontcolorediting~FontColorEditing} and\n * {@link module:font/fontcolor/fontcolorui~FontColorUI} features in the editor.\n */ class FontColor extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FontColorEditing,\n FontColorUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontColor';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\n/**\n * The font background color command. It is used by\n * {@link module:font/fontbackgroundcolor/fontbackgroundcolorediting~FontBackgroundColorEditing}\n * to apply the font background color.\n *\n * ```ts\n * editor.execute( 'fontBackgroundColor', { value: 'rgb(250, 20, 20)' } );\n * ```\n *\n * **Note**: Executing the command with the `null` value removes the attribute from the model.\n */ class FontBackgroundColorCommand extends FontCommand {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor, FONT_BACKGROUND_COLOR);\n }\n}\n\n/**\n * The font background color editing feature.\n *\n * It introduces the {@link module:font/fontbackgroundcolor/fontbackgroundcolorcommand~FontBackgroundColorCommand command} and\n * the `fontBackgroundColor` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as a `<span>` element (`<span style=\"background-color: ...\">`),\n * depending on the {@link module:font/fontconfig~FontColorConfig configuration}.\n */ class FontBackgroundColorEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontBackgroundColorEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n editor.config.define(FONT_BACKGROUND_COLOR, {\n colors: [\n {\n color: 'hsl(0, 0%, 0%)',\n label: 'Black'\n },\n {\n color: 'hsl(0, 0%, 30%)',\n label: 'Dim grey'\n },\n {\n color: 'hsl(0, 0%, 60%)',\n label: 'Grey'\n },\n {\n color: 'hsl(0, 0%, 90%)',\n label: 'Light grey'\n },\n {\n color: 'hsl(0, 0%, 100%)',\n label: 'White',\n hasBorder: true\n },\n {\n color: 'hsl(0, 75%, 60%)',\n label: 'Red'\n },\n {\n color: 'hsl(30, 75%, 60%)',\n label: 'Orange'\n },\n {\n color: 'hsl(60, 75%, 60%)',\n label: 'Yellow'\n },\n {\n color: 'hsl(90, 75%, 60%)',\n label: 'Light green'\n },\n {\n color: 'hsl(120, 75%, 60%)',\n label: 'Green'\n },\n {\n color: 'hsl(150, 75%, 60%)',\n label: 'Aquamarine'\n },\n {\n color: 'hsl(180, 75%, 60%)',\n label: 'Turquoise'\n },\n {\n color: 'hsl(210, 75%, 60%)',\n label: 'Light blue'\n },\n {\n color: 'hsl(240, 75%, 60%)',\n label: 'Blue'\n },\n {\n color: 'hsl(270, 75%, 60%)',\n label: 'Purple'\n }\n ],\n columns: 5\n });\n editor.data.addStyleProcessorRules(addBackgroundStylesRules);\n editor.conversion.for('upcast').elementToAttribute({\n view: {\n name: 'span',\n styles: {\n 'background-color': /[\\s\\S]+/\n }\n },\n model: {\n key: FONT_BACKGROUND_COLOR,\n value: renderUpcastAttribute('background-color')\n }\n });\n editor.conversion.for('downcast').attributeToElement({\n model: FONT_BACKGROUND_COLOR,\n view: renderDowncastElement('background-color')\n });\n editor.commands.add(FONT_BACKGROUND_COLOR, new FontBackgroundColorCommand(editor));\n // Allow the font backgroundColor attribute on text nodes.\n editor.model.schema.extend('$text', {\n allowAttributes: FONT_BACKGROUND_COLOR\n });\n editor.model.schema.setAttributeProperties(FONT_BACKGROUND_COLOR, {\n isFormatting: true,\n copyOnEnter: true\n });\n }\n}\n\n/**\n * The font background color UI plugin. It introduces the `'fontBackgroundColor'` dropdown.\n */ class FontBackgroundColorUI extends FontColorUIBase {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n const t = editor.locale.t;\n super(editor, {\n commandName: FONT_BACKGROUND_COLOR,\n componentName: FONT_BACKGROUND_COLOR,\n icon: IconFontBackground,\n dropdownLabel: t('Font Background Color')\n });\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontBackgroundColorUI';\n }\n}\n\n/**\n * The font background color plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads\n * the {@link module:font/fontbackgroundcolor/fontbackgroundcolorediting~FontBackgroundColorEditing} and\n * {@link module:font/fontbackgroundcolor/fontbackgroundcolorui~FontBackgroundColorUI} features in the editor.\n */ class FontBackgroundColor extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FontBackgroundColorEditing,\n FontBackgroundColorUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontBackgroundColor';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\n/**\n * A plugin that enables a set of text styling features:\n *\n * * {@link module:font/fontsize~FontSize},\n * * {@link module:font/fontfamily~FontFamily}.\n * * {@link module:font/fontcolor~FontColor},\n * * {@link module:font/fontbackgroundcolor~FontBackgroundColor}.\n *\n * For a detailed overview, check the {@glink features/font Font feature} documentation\n * and the {@glink api/font package page}.\n */ class Font extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FontFamily,\n FontSize,\n FontColor,\n FontBackgroundColor\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'Font';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\nexport { Font, FontBackgroundColor, FontBackgroundColorCommand, FontBackgroundColorEditing, FontBackgroundColorUI, FontColor, FontColorCommand, FontColorEditing, FontColorUI, FontColorUIBase, FontCommand, FontFamily, FontFamilyCommand, FontFamilyEditing, FontFamilyUI, FontSize, FontSizeCommand, FontSizeEditing, FontSizeUI, addColorSelectorToDropdown as _addFontColorSelectorToDropdown, buildDefinition as _buildFontDefinition, normalizeOptions$1 as _normalizeFontFamilyOptions, normalizeOptions as _normalizeFontSizeOptions, renderDowncastElement as _renderDowncastFontElement, renderUpcastAttribute as _renderUpcastFontColorAttribute };\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 font/fontcommand\n */\n\nimport { Command, type Editor } from 'ckeditor5/src/core.js';\nimport { type Batch, type ModelWriter } from 'ckeditor5/src/engine.js';\n\n/**\n * The base font command.\n */\nexport abstract class FontCommand extends Command {\n\t/**\n\t * When set, it reflects the {@link #attributeKey} value of the selection.\n\t *\n\t * @observable\n\t * @readonly\n\t */\n\tdeclare public value: string;\n\n\t/**\n\t * A model attribute on which this command operates.\n\t */\n\tpublic readonly attributeKey: string;\n\n\t/**\n\t * Creates an instance of the command.\n\t *\n\t * @param editor Editor instance.\n\t * @param attributeKey The name of a model attribute on which this command operates.\n\t */\n\tconstructor( editor: Editor, attributeKey: string ) {\n\t\tsuper( editor );\n\n\t\tthis.attributeKey = attributeKey;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override refresh(): void {\n\t\tconst model = this.editor.model;\n\t\tconst doc = model.document;\n\n\t\tthis.value = doc.selection.getAttribute( this.attributeKey ) as string;\n\t\tthis.isEnabled = model.schema.checkAttributeInSelection( doc.selection, this.attributeKey );\n\t}\n\n\t/**\n\t * Executes the command. Applies the `value` of the {@link #attributeKey} to the selection.\n\t * If no `value` is passed, it removes the attribute from the selection.\n\t *\n\t * @param options Options for the executed command.\n\t * @param options.value The value to apply.\n\t * @fires execute\n\t */\n\tpublic override execute( options: { value?: string; batch?: Batch } = {} ): void {\n\t\tconst model = this.editor.model;\n\t\tconst document = model.document;\n\t\tconst selection = document.selection;\n\n\t\tconst value = options.value;\n\t\tconst batch = options.batch;\n\n\t\tconst updateAttribute = ( writer: ModelWriter ) => {\n\t\t\tif ( selection.isCollapsed ) {\n\t\t\t\tif ( value ) {\n\t\t\t\t\twriter.setSelectionAttribute( this.attributeKey, value );\n\t\t\t\t} else {\n\t\t\t\t\twriter.removeSelectionAttribute( this.attributeKey );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst ranges = model.schema.getValidRanges( selection.getRanges(), this.attributeKey );\n\n\t\t\t\tfor ( const range of ranges ) {\n\t\t\t\t\tif ( value ) {\n\t\t\t\t\t\twriter.setAttribute( this.attributeKey, value, range );\n\t\t\t\t\t} else {\n\t\t\t\t\t\twriter.removeAttribute( this.attributeKey, range );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// In some scenarios, you may want to use a single undo step for multiple changes (e.g. in color picker).\n\t\tif ( batch ) {\n\t\t\tmodel.enqueueChange( batch, writer => {\n\t\t\t\tupdateAttribute( writer );\n\t\t\t} );\n\t\t} else {\n\t\t\tmodel.change( writer => {\n\t\t\t\tupdateAttribute( writer );\n\t\t\t} );\n\t\t}\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 font/utils\n */\n\nimport type { FontFamilyOption, FontSizeOption } from './fontconfig.js';\nimport { ColorSelectorView, type ColorDefinition, type ColorPickerViewConfig, type DropdownView } from 'ckeditor5/src/ui.js';\nimport type { ArrayOrItem } from 'ckeditor5/src/utils.js';\nimport type {\n\tViewAttributeElement,\n\tViewElement,\n\tMatcherPattern,\n\tViewElementDefinition,\n\tDowncastConversionApi\n} from 'ckeditor5/src/engine.js';\n\n/**\n * The name of the font size plugin.\n */\nexport const FONT_SIZE = 'fontSize';\n\n/**\n * The name of the font family plugin.\n */\nexport const FONT_FAMILY = 'fontFamily';\n\n/**\n * The name of the font color plugin.\n */\nexport const FONT_COLOR = 'fontColor';\n\n/**\n * The name of the font background color plugin.\n */\nexport const FONT_BACKGROUND_COLOR = 'fontBackgroundColor';\n\n/**\n * Builds a proper converter definition out of input data.\n *\n * @internal\n */\nexport function buildDefinition(\n\tmodelAttributeKey: string,\n\toptions: Array<FontFamilyOption> | Array<FontSizeOption>\n): FontConverterDefinition {\n\tconst definition: FontConverterDefinition = {\n\t\tmodel: {\n\t\t\tkey: modelAttributeKey,\n\t\t\tvalues: []\n\t\t},\n\t\tview: {},\n\t\tupcastAlso: {}\n\t};\n\n\tfor ( const option of options ) {\n\t\tdefinition.model.values.push( option.model! );\n\t\tdefinition.view[ option.model! ] = option.view!;\n\n\t\tif ( option.upcastAlso ) {\n\t\t\tdefinition.upcastAlso[ option.model! ] = option.upcastAlso;\n\t\t}\n\t}\n\n\treturn definition;\n}\n\n/**\n * @internal\n */\nexport type FontConverterDefinition = {\n\tmodel: { key: string; values: Array<string> };\n\tview: Record<string, ViewElementDefinition>;\n\tupcastAlso: Record<string, ArrayOrItem<MatcherPattern>>;\n};\n\n/**\n * A {@link module:font/fontcolor~FontColor font color} and\n * {@link module:font/fontbackgroundcolor~FontBackgroundColor font background color} helper\n * responsible for upcasting data to the model.\n *\n * **Note**: The `styleAttr` parameter should be either `'color'` or `'background-color'`.\n *\n * @internal\n */\nexport function renderUpcastAttribute( styleAttr: string ) {\n\treturn ( viewElement: ViewElement ): string => normalizeColorCode( viewElement.getStyle( styleAttr )! );\n}\n\n/**\n * A {@link module:font/fontcolor~FontColor font color} and\n * {@link module:font/fontbackgroundcolor~FontBackgroundColor font background color} helper\n * responsible for downcasting a color attribute to a `<span>` element.\n *\n * **Note**: The `styleAttr` parameter should be either `'color'` or `'background-color'`.\n *\n * @internal\n */\nexport function renderDowncastElement( styleAttr: string ) {\n\treturn ( modelAttributeValue: string, { writer }: DowncastConversionApi ): ViewAttributeElement =>\n\t\twriter.createAttributeElement( 'span', {\n\t\t\tstyle: `${ styleAttr }:${ modelAttributeValue }`\n\t\t}, { priority: 7 } );\n}\n\n/**\n * A helper that adds {@link module:ui/colorselector/colorselectorview~ColorSelectorView} to the color dropdown with proper initial values.\n *\n * @param options Configuration options\n * @param options.dropdownView The dropdown view to which a {@link module:ui/colorselector/colorselectorview~ColorSelectorView}\n * will be added.\n * @param options.colors An array with definitions representing colors to be displayed in the color selector.\n * @param options.columns The number of columns in the color grid.\n * @param options.removeButtonLabel The label for the button responsible for removing the color.\n * @param options.colorPickerLabel The label for the color picker button.\n * @param options.documentColorsLabel The label for the section with document colors.\n * @param options.documentColorsCount The number of document colors inside the dropdown.\n * @param options.colorPickerViewConfig Configuration of the color picker view.\n * @returns The new color selector view.\n * @internal\n */\nexport function addColorSelectorToDropdown(\n\t{\n\t\tdropdownView, colors, columns, removeButtonLabel, colorPickerLabel,\n\t\tdocumentColorsLabel, documentColorsCount, colorPickerViewConfig\n\t}: {\n\t\tdropdownView: FontColorSelectorDropdownView;\n\t\tcolors: Array<ColorDefinition>;\n\t\tcolumns: number;\n\t\tremoveButtonLabel: string;\n\t\tcolorPickerLabel: string;\n\t\tdocumentColorsLabel?: string;\n\t\tdocumentColorsCount?: number;\n\t\tcolorPickerViewConfig: ColorPickerViewConfig | false;\n\t}\n): ColorSelectorView {\n\tconst locale = dropdownView.locale!;\n\tconst colorSelectorView = new ColorSelectorView( locale, {\n\t\tcolors,\n\t\tcolumns,\n\t\tremoveButtonLabel,\n\t\tcolorPickerLabel,\n\t\tdocumentColorsLabel,\n\t\tdocumentColorsCount,\n\t\tcolorPickerViewConfig\n\t} );\n\n\tdropdownView.colorSelectorView = colorSelectorView;\n\tdropdownView.panelView.children.add( colorSelectorView );\n\n\treturn colorSelectorView;\n}\n\n/**\n * Fixes the color value string.\n */\nfunction normalizeColorCode( value: string ): string {\n\treturn value.replace( /\\s/g, '' );\n}\n\nexport type FontColorSelectorDropdownView = DropdownView & {\n\tcolorSelectorView?: ColorSelectorView;\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 font/fontfamily/fontfamilycommand\n */\n\nimport type { Editor } from 'ckeditor5/src/core.js';\nimport { FontCommand } from '../fontcommand.js';\nimport { FONT_FAMILY } from '../utils.js';\n\n/**\n * The font family command. It is used by {@link module:font/fontfamily/fontfamilyediting~FontFamilyEditing}\n * to apply the font family.\n *\n * ```ts\n * editor.execute( 'fontFamily', { value: 'Arial' } );\n * ```\n *\n * **Note**: Executing the command without the value removes the attribute from the model.\n */\nexport class FontFamilyCommand extends FontCommand {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor, FONT_FAMILY );\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\nimport type { FontFamilyOption } from '../fontconfig.js';\n\n/**\n * @module font/fontfamily/utils\n */\n\n/**\n * Normalizes the {@link module:font/fontconfig~FontFamilyConfig#options configuration options}\n * to the {@link module:font/fontconfig~FontFamilyOption} format.\n *\n * @param configuredOptions An array of options taken from the configuration.\n * @internal\n */\nexport function normalizeOptions( configuredOptions: Array<string | FontFamilyOption> ): Array<FontFamilyOption> {\n\t// Convert options to objects.\n\treturn configuredOptions\n\t\t.map( getOptionDefinition )\n\t\t// Filter out undefined values that `getOptionDefinition` might return.\n\t\t.filter( option => option !== undefined ) as Array<FontFamilyOption>;\n}\n\n/**\n * Normalizes the CSS `font-family` property value to an array of unquoted and trimmed font faces.\n *\n * @internal\n */\nexport function normalizeFontFamilies( fontDefinition: string ): Array<string> {\n\treturn fontDefinition\n\t\t.replace( /[\"']/g, '' ).split( ',' )\n\t\t.map( name => name.trim() );\n}\n\n/**\n * Returns an option definition either created from string shortcut.\n * If object is passed then this method will return it without alternating it. Returns undefined for item than cannot be parsed.\n *\n */\nfunction getOptionDefinition( option: string | FontFamilyOption ): FontFamilyOption | undefined {\n\t// Treat any object as full item definition provided by user in configuration.\n\tif ( typeof option === 'object' ) {\n\t\treturn option;\n\t}\n\n\t// Handle 'default' string as a special case. It will be used to remove the fontFamily attribute.\n\tif ( option === 'default' ) {\n\t\treturn {\n\t\t\ttitle: 'Default',\n\t\t\tmodel: undefined\n\t\t};\n\t}\n\n\t// Ignore values that we cannot parse to a definition.\n\tif ( typeof option !== 'string' ) {\n\t\treturn undefined;\n\t}\n\n\t// Return font family definition from font string.\n\treturn generateFontPreset( option );\n}\n\n/**\n * Creates a predefined preset for pixel size. It deconstructs font-family like string into full configuration option.\n * A font definition is passed as coma delimited set of font family names. Font names might be quoted.\n *\n * @param fontDefinition A font definition form configuration.\n */\nfunction generateFontPreset( fontDefinition: string ): FontFamilyOption {\n\t// Remove quotes from font names. They will be normalized later.\n\tconst fontNames = normalizeFontFamilies( fontDefinition );\n\n\t// The first matched font name will be used as dropdown list item title and as model value.\n\tconst firstFontName = fontNames[ 0 ];\n\n\t// CSS-compatible font names.\n\tconst cssFontNames = fontNames.map( normalizeFontNameForCSS ).join( ', ' );\n\n\treturn {\n\t\ttitle: firstFontName,\n\t\tmodel: cssFontNames,\n\t\tview: {\n\t\t\tname: 'span',\n\t\t\tstyles: {\n\t\t\t\t'font-family': cssFontNames\n\t\t\t},\n\t\t\tpriority: 7\n\t\t}\n\t};\n}\n\n/**\n * Normalizes font name for the style attribute. It adds braces (') if font name contains spaces.\n */\nfunction normalizeFontNameForCSS( fontName: string ): string {\n\tfontName = fontName.trim();\n\n\t// Compound font names should be quoted.\n\tif ( fontName.indexOf( ' ' ) > 0 ) {\n\t\tfontName = `'${ fontName }'`;\n\t}\n\n\treturn fontName;\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 font/fontfamily/fontfamilyediting\n */\n\nimport { type Editor, Plugin } from 'ckeditor5/src/core.js';\nimport type { ViewElement } from 'ckeditor5/src/engine.js';\n\nimport { FontFamilyCommand } from './fontfamilycommand.js';\nimport { normalizeOptions } from './utils.js';\nimport { buildDefinition, FONT_FAMILY } from '../utils.js';\n\n/**\n * The font family editing feature.\n *\n * It introduces the {@link module:font/fontfamily/fontfamilycommand~FontFamilyCommand command} and\n * the `fontFamily` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as an inline `<span>` element (`<span style=\"font-family: Arial\">`),\n * depending on the {@link module:font/fontconfig~FontFamilyConfig configuration}.\n */\nexport class FontFamilyEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontFamilyEditing' 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\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\t// Define default configuration using font families shortcuts.\n\t\teditor.config.define( FONT_FAMILY, {\n\t\t\toptions: [\n\t\t\t\t'default',\n\t\t\t\t'Arial, Helvetica, sans-serif',\n\t\t\t\t'Courier New, Courier, monospace',\n\t\t\t\t'Georgia, serif',\n\t\t\t\t'Lucida Sans Unicode, Lucida Grande, sans-serif',\n\t\t\t\t'Tahoma, Geneva, sans-serif',\n\t\t\t\t'Times New Roman, Times, serif',\n\t\t\t\t'Trebuchet MS, Helvetica, sans-serif',\n\t\t\t\t'Verdana, Geneva, sans-serif'\n\t\t\t],\n\t\t\tsupportAllValues: false\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\t// Allow fontFamily attribute on text nodes.\n\t\teditor.model.schema.extend( '$text', { allowAttributes: FONT_FAMILY } );\n\t\teditor.model.schema.setAttributeProperties( FONT_FAMILY, {\n\t\t\tisFormatting: true,\n\t\t\tcopyOnEnter: true\n\t\t} );\n\n\t\t// Get configured font family options without \"default\" option.\n\t\tconst options = normalizeOptions(\n\t\t\teditor.config.get( 'fontFamily.options' )!\n\t\t).filter( item => item.model );\n\t\tconst definition = buildDefinition( FONT_FAMILY, options );\n\n\t\t// Set-up the two-way conversion.\n\t\tif ( editor.config.get( 'fontFamily.supportAllValues' ) ) {\n\t\t\tthis._prepareAnyValueConverters();\n\t\t\tthis._prepareCompatibilityConverter();\n\t\t} else {\n\t\t\teditor.conversion.attributeToElement( definition );\n\t\t}\n\n\t\teditor.commands.add( FONT_FAMILY, new FontFamilyCommand( editor ) );\n\t}\n\n\t/**\n\t * These converters enable keeping any value found as `style=\"font-family: *\"` as a value of an attribute on a text even\n\t * if it is not defined in the plugin configuration.\n\t */\n\tprivate _prepareAnyValueConverters(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.conversion.for( 'downcast' ).attributeToElement( {\n\t\t\tmodel: FONT_FAMILY,\n\t\t\tview: ( attributeValue, { writer } ) => {\n\t\t\t\treturn writer.createAttributeElement( 'span', { style: 'font-family:' + attributeValue }, { priority: 7 } );\n\t\t\t}\n\t\t} );\n\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_FAMILY,\n\t\t\t\tvalue: ( viewElement: ViewElement ) => viewElement.getStyle( 'font-family' )\n\t\t\t},\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tstyles: {\n\t\t\t\t\t'font-family': /.*/\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds support for legacy `<font face=\"..\">` formatting.\n\t */\n\tprivate _prepareCompatibilityConverter(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tview: {\n\t\t\t\tname: 'font',\n\t\t\t\tattributes: {\n\t\t\t\t\t'face': /.*/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_FAMILY,\n\t\t\t\tvalue: ( viewElement: ViewElement ) => viewElement.getAttribute( 'face' )\n\t\t\t}\n\t\t} );\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 font/fontfamily/fontfamilyui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { Collection } from 'ckeditor5/src/utils.js';\nimport { IconFontFamily } from 'ckeditor5/src/icons.js';\nimport {\n\tUIModel,\n\tcreateDropdown,\n\taddListToDropdown,\n\tMenuBarMenuView,\n\tMenuBarMenuListView,\n\tMenuBarMenuListItemView,\n\tMenuBarMenuListItemButtonView,\n\ttype ListDropdownButtonDefinition\n} from 'ckeditor5/src/ui.js';\n\nimport { normalizeFontFamilies, normalizeOptions } from './utils.js';\nimport { FONT_FAMILY } from '../utils.js';\n\nimport type { FontFamilyOption } from '../fontconfig.js';\nimport { type FontFamilyCommand } from './fontfamilycommand.js';\n\n/**\n * The font family UI plugin. It introduces the `'fontFamily'` dropdown.\n */\nexport class FontFamilyUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontFamilyUI' 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\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\tconst options = this._getLocalizedOptions();\n\n\t\tconst command: FontFamilyCommand = editor.commands.get( FONT_FAMILY )!;\n\t\tconst accessibleLabel = t( 'Font Family' );\n\t\tconst listOptions = _prepareListOptions( options, command );\n\n\t\t// Register UI component.\n\t\teditor.ui.componentFactory.add( FONT_FAMILY, locale => {\n\t\t\tconst dropdownView = createDropdown( locale );\n\n\t\t\taddListToDropdown( dropdownView, listOptions, {\n\t\t\t\trole: 'menu',\n\t\t\t\tariaLabel: accessibleLabel\n\t\t\t} );\n\n\t\t\tdropdownView.buttonView.set( {\n\t\t\t\tlabel: accessibleLabel,\n\t\t\t\ticon: IconFontFamily,\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\tdropdownView.extendTemplate( {\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: 'ck-font-family-dropdown'\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tdropdownView.bind( 'isEnabled' ).to( command );\n\n\t\t\t// Execute command when an item from the dropdown is selected.\n\t\t\tthis.listenTo( dropdownView, 'execute', evt => {\n\t\t\t\teditor.execute( ( evt.source as any ).commandName, { value: ( evt.source as any ).commandParam } );\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\treturn dropdownView;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( `menuBar:${ FONT_FAMILY }`, locale => {\n\t\t\tconst menuView = new MenuBarMenuView( locale );\n\n\t\t\tmenuView.buttonView.set( {\n\t\t\t\tlabel: accessibleLabel,\n\t\t\t\ticon: IconFontFamily\n\t\t\t} );\n\n\t\t\tmenuView.bind( 'isEnabled' ).to( command );\n\n\t\t\tconst listView = new MenuBarMenuListView( locale );\n\n\t\t\tfor ( const definition of listOptions ) {\n\t\t\t\tconst listItemView = new MenuBarMenuListItemView( locale, menuView );\n\t\t\t\tconst buttonView = new MenuBarMenuListItemButtonView( locale );\n\n\t\t\t\tbuttonView.set( {\n\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t\tisToggleable: true\n\t\t\t\t} );\n\n\t\t\t\tbuttonView.bind( ...Object.keys( definition.model ) as Array<keyof MenuBarMenuListItemButtonView> ).to( definition.model );\n\t\t\t\tbuttonView.delegate( 'execute' ).to( menuView );\n\n\t\t\t\tbuttonView.on( 'execute', () => {\n\t\t\t\t\teditor.execute( ( definition.model as any ).commandName, {\n\t\t\t\t\t\tvalue: ( definition.model as any ).commandParam\n\t\t\t\t\t} );\n\n\t\t\t\t\teditor.editing.view.focus();\n\t\t\t\t} );\n\n\t\t\t\tlistItemView.children.add( buttonView );\n\t\t\t\tlistView.items.add( listItemView );\n\t\t\t}\n\n\t\t\tmenuView.panelView.children.add( listView );\n\n\t\t\treturn menuView;\n\t\t} );\n\t}\n\n\t/**\n\t * Returns options as defined in `config.fontFamily.options` but processed to account for\n\t * editor localization, i.e. to display {@link module:font/fontconfig~FontFamilyOption}\n\t * in the correct language.\n\t *\n\t * Note: The reason behind this method is that there is no way to use {@link module:utils/locale~Locale#t}\n\t * when the user configuration is defined because the editor does not exist yet.\n\t */\n\tprivate _getLocalizedOptions(): Array<FontFamilyOption> {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\tconst options = normalizeOptions( ( editor.config.get( FONT_FAMILY )! ).options! );\n\n\t\treturn options.map( option => {\n\t\t\t// The only title to localize is \"Default\" others are font names.\n\t\t\tif ( option.title === 'Default' ) {\n\t\t\t\toption.title = t( 'Default' );\n\t\t\t}\n\n\t\t\treturn option;\n\t\t} );\n\t}\n}\n\n/**\n * Prepares FontFamily dropdown items.\n */\nfunction _prepareListOptions( options: Array<FontFamilyOption>, command: FontFamilyCommand ): Collection<ListDropdownButtonDefinition> {\n\tconst itemDefinitions = new Collection<ListDropdownButtonDefinition>();\n\n\t// Create dropdown items.\n\tfor ( const option of options ) {\n\t\tconst def = {\n\t\t\ttype: 'button' as const,\n\t\t\tmodel: new UIModel( {\n\t\t\t\tcommandName: FONT_FAMILY,\n\t\t\t\tcommandParam: option.model,\n\t\t\t\tlabel: option.title,\n\t\t\t\trole: 'menuitemradio',\n\t\t\t\twithText: true\n\t\t\t} )\n\t\t};\n\n\t\tdef.model.bind( 'isOn' ).to( command, 'value', value => {\n\t\t\t// \"Default\" or check in strict font-family converters mode.\n\t\t\tif ( value === option.model ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( !value || !option.model ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst valueNormalized = normalizeFontFamilies( value )[ 0 ].toLowerCase();\n\t\t\tconst optionNormalized = normalizeFontFamilies( option.model )[ 0 ].toLowerCase();\n\n\t\t\treturn valueNormalized === optionNormalized;\n\t\t} );\n\n\t\t// Try to set a dropdown list item style.\n\t\tif ( option.view && typeof option.view !== 'string' && option.view.styles ) {\n\t\t\tdef.model.set( 'labelStyle', `font-family: ${ option.view.styles[ 'font-family' ] }` );\n\t\t}\n\n\t\titemDefinitions.add( def );\n\t}\n\treturn itemDefinitions;\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 font/fontfamily\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { FontFamilyEditing } from './fontfamily/fontfamilyediting.js';\nimport { FontFamilyUI } from './fontfamily/fontfamilyui.js';\n\n/**\n * The font family plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentatiom\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontfamily/fontfamilyediting~FontFamilyEditing} and\n * {@link module:font/fontfamily/fontfamilyui~FontFamilyUI} features in the editor.\n */\nexport class FontFamily extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FontFamilyEditing, FontFamilyUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontFamily' 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","/**\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 font/fontsize/fontsizecommand\n */\n\nimport type { Editor } from 'ckeditor5/src/core.js';\nimport { FontCommand } from '../fontcommand.js';\nimport { FONT_SIZE } from '../utils.js';\n\n/**\n * The font size command. It is used by {@link module:font/fontsize/fontsizeediting~FontSizeEditing}\n * to apply the font size.\n *\n * ```ts\n * editor.execute( 'fontSize', { value: 'small' } );\n * ```\n *\n * **Note**: Executing the command without the value removes the attribute from the model.\n */\nexport class FontSizeCommand extends FontCommand {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor, FONT_SIZE );\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 font/fontsize/utils\n */\n\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\nimport { type FontSizeOption } from '../fontconfig.js';\n\n/**\n * Normalizes and translates the {@link module:font/fontconfig~FontSizeConfig#options configuration options}\n * to the {@link module:font/fontconfig~FontSizeOption} format.\n *\n * @param configuredOptions An array of options taken from the configuration.\n * @internal\n */\nexport function normalizeOptions( configuredOptions: Array<string | number | FontSizeOption> ): Array<FontSizeOption> {\n\t// Convert options to objects.\n\treturn configuredOptions\n\t\t.map( item => getOptionDefinition( item ) )\n\t\t// Filter out undefined values that `getOptionDefinition` might return.\n\t\t.filter( ( option ): option is FontSizeOption => option !== undefined );\n}\n\n// Default named presets map. Always create a new instance of the preset object in order to avoid modifying references.\nconst namedPresets: Record<string, FontSizeOption> = {\n\tget tiny(): FontSizeOption {\n\t\treturn {\n\t\t\ttitle: 'Tiny',\n\t\t\tmodel: 'tiny',\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tclasses: 'text-tiny',\n\t\t\t\tpriority: 7\n\t\t\t}\n\t\t};\n\t},\n\tget small(): FontSizeOption {\n\t\treturn {\n\t\t\ttitle: 'Small',\n\t\t\tmodel: 'small',\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tclasses: 'text-small',\n\t\t\t\tpriority: 7\n\t\t\t}\n\t\t};\n\t},\n\tget big(): FontSizeOption {\n\t\treturn {\n\t\t\ttitle: 'Big',\n\t\t\tmodel: 'big',\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tclasses: 'text-big',\n\t\t\t\tpriority: 7\n\t\t\t}\n\t\t};\n\t},\n\tget huge(): FontSizeOption {\n\t\treturn {\n\t\t\ttitle: 'Huge',\n\t\t\tmodel: 'huge',\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tclasses: 'text-huge',\n\t\t\t\tpriority: 7\n\t\t\t}\n\t\t};\n\t}\n};\n\n/**\n * Returns an option definition either from preset or creates one from number shortcut.\n * If object is passed then this method will return it without alternating it. Returns undefined for item than cannot be parsed.\n */\nfunction getOptionDefinition( option: string | number | FontSizeOption ): FontSizeOption | undefined {\n\tif ( typeof option === 'number' ) {\n\t\toption = String( option );\n\t}\n\n\t// Check whether passed option is a full item definition provided by user in configuration.\n\tif ( typeof option === 'object' && isFullItemDefinition( option ) ) {\n\t\treturn attachPriority( option );\n\t}\n\n\tconst preset = findPreset( option );\n\n\t// Item is a named preset.\n\tif ( preset ) {\n\t\treturn attachPriority( preset );\n\t}\n\n\t// 'Default' font size. It will be used to remove the fontSize attribute.\n\tif ( option === 'default' ) {\n\t\treturn {\n\t\t\tmodel: undefined,\n\t\t\ttitle: 'Default'\n\t\t};\n\t}\n\n\t// At this stage we probably have numerical value to generate a preset so parse it's value.\n\t// Discard any faulty values.\n\tif ( isNumericalDefinition( option ) ) {\n\t\treturn undefined;\n\t}\n\n\t// Return font size definition from size value.\n\treturn generatePixelPreset( option );\n}\n\n/**\n * Creates a predefined preset for pixel size.\n * @param definition Font size in pixels.\n * @returns\n */\nfunction generatePixelPreset( definition: string | FontSizeOption ): FontSizeOption {\n\t// Extend a short (numeric value) definition.\n\tif ( typeof definition === 'string' ) {\n\t\tdefinition = {\n\t\t\ttitle: definition,\n\t\t\tmodel: `${ parseFloat( definition ) }px`\n\t\t};\n\t}\n\n\tdefinition.view = {\n\t\tname: 'span',\n\t\tstyles: {\n\t\t\t'font-size': definition.model!\n\t\t}\n\t};\n\n\treturn attachPriority( definition );\n}\n\n/**\n * Adds the priority to the view element definition if missing. It's required due to ckeditor/ckeditor5#2291\n */\nfunction attachPriority( definition: FontSizeOption ): FontSizeOption {\n\tif ( definition.view && typeof definition.view !== 'string' && !definition.view.priority ) {\n\t\tdefinition.view!.priority = 7;\n\t}\n\n\treturn definition;\n}\n\n/**\n * Returns a prepared preset definition. If passed an object, a name of preset should be defined as `model` value.\n *\n * @param definition.model A preset name.\n */\nfunction findPreset( definition: string | { model?: string } ): FontSizeOption | undefined {\n\treturn typeof definition === 'string' ? namedPresets[ definition ] : namedPresets[ definition.model! ];\n}\n\n/**\n * We treat `definition` as completed if it is an object that contains `title`, `model` and `view` values.\n */\nfunction isFullItemDefinition( definition: Record<string, any> ): boolean {\n\treturn definition.title && definition.model && definition.view;\n}\n\nfunction isNumericalDefinition( definition: string | FontSizeOption ): boolean {\n\tlet numberValue;\n\n\tif ( typeof definition === 'object' ) {\n\t\tif ( !definition.model ) {\n\t\t\t/**\n\t\t\t * Provided value as an option for {@link module:font/fontsize~FontSize} seems to invalid.\n\t\t\t *\n\t\t\t * See valid examples described in the {@link module:font/fontconfig~FontSizeConfig#options plugin configuration}.\n\t\t\t *\n\t\t\t * @error font-size-invalid-definition\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'font-size-invalid-definition', null, definition );\n\t\t} else {\n\t\t\tnumberValue = parseFloat( definition.model );\n\t\t}\n\t} else {\n\t\tnumberValue = parseFloat( definition );\n\t}\n\n\treturn isNaN( numberValue );\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 font/fontsize/fontsizeediting\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\nimport {\n\tisLengthStyleValue,\n\tisPercentageStyleValue,\n\ttype ViewElement\n} from 'ckeditor5/src/engine.js';\n\nimport { FontSizeCommand } from './fontsizecommand.js';\nimport { normalizeOptions } from './utils.js';\nimport { buildDefinition, FONT_SIZE, type FontConverterDefinition } from '../utils.js';\n\n// Mapping of `<font size=\"..\">` styling to CSS's `font-size` values.\nconst styleFontSize = [\n\t'x-small', // Size \"0\" equal to \"1\".\n\t'x-small',\n\t'small',\n\t'medium',\n\t'large',\n\t'x-large',\n\t'xx-large',\n\t'xxx-large'\n];\n\n/**\n * The font size editing feature.\n *\n * It introduces the {@link module:font/fontsize/fontsizecommand~FontSizeCommand command} and the `fontSize`\n * attribute in the {@link module:engine/model/model~Model model} which renders in the {@link module:engine/view/view view}\n * as a `<span>` element with either:\n * * a style attribute (`<span style=\"font-size:12px\">...</span>`),\n * * or a class attribute (`<span class=\"text-small\">...</span>`)\n *\n * depending on the {@link module:font/fontconfig~FontSizeConfig configuration}.\n */\nexport class FontSizeEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontSizeEditing' 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\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\t// Define default configuration using named presets.\n\t\teditor.config.define( FONT_SIZE, {\n\t\t\toptions: [\n\t\t\t\t'tiny',\n\t\t\t\t'small',\n\t\t\t\t'default',\n\t\t\t\t'big',\n\t\t\t\t'huge'\n\t\t\t],\n\t\t\tsupportAllValues: false\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\t// Allow fontSize attribute on text nodes.\n\t\teditor.model.schema.extend( '$text', { allowAttributes: FONT_SIZE } );\n\t\teditor.model.schema.setAttributeProperties( FONT_SIZE, {\n\t\t\tisFormatting: true,\n\t\t\tcopyOnEnter: true\n\t\t} );\n\n\t\tconst supportAllValues = editor.config.get( 'fontSize.supportAllValues' );\n\n\t\t// Define view to model conversion.\n\t\tconst options = normalizeOptions( this.editor.config.get( 'fontSize.options' )! )\n\t\t\t.filter( item => item.model );\n\t\tconst definition = buildDefinition( FONT_SIZE, options );\n\n\t\t// Set-up the two-way conversion.\n\t\tif ( supportAllValues ) {\n\t\t\tthis._prepareAnyValueConverters( definition );\n\t\t\tthis._prepareCompatibilityConverter();\n\t\t} else {\n\t\t\teditor.conversion.attributeToElement( definition );\n\t\t}\n\n\t\t// Add FontSize command.\n\t\teditor.commands.add( FONT_SIZE, new FontSizeCommand( editor ) );\n\t}\n\n\t/**\n\t * These converters enable keeping any value found as `style=\"font-size: *\"` as a value of an attribute on a text even\n\t * if it is not defined in the plugin configuration.\n\t *\n\t * @param definition Converter definition out of input data.\n\t */\n\tprivate _prepareAnyValueConverters( definition: FontConverterDefinition ): void {\n\t\tconst editor = this.editor;\n\n\t\t// If `fontSize.supportAllValues=true`, we do not allow to use named presets in the plugin's configuration.\n\t\tconst presets = definition.model!.values.filter( ( value: any ) => {\n\t\t\treturn !isLengthStyleValue( String( value ) ) && !isPercentageStyleValue( String( value ) );\n\t\t} );\n\n\t\tif ( presets.length ) {\n\t\t\t/**\n\t\t\t * If {@link module:font/fontconfig~FontSizeConfig#supportAllValues `config.fontSize.supportAllValues`} is `true`,\n\t\t\t * you need to use numerical values as font size options.\n\t\t\t *\n\t\t\t * See valid examples described in the {@link module:font/fontconfig~FontSizeConfig#options plugin configuration}.\n\t\t\t *\n\t\t\t * @error font-size-invalid-use-of-named-presets\n\t\t\t * @param {Array.<string>} presets Invalid values.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'font-size-invalid-use-of-named-presets',\n\t\t\t\tnull, { presets }\n\t\t\t);\n\t\t}\n\n\t\teditor.conversion.for( 'downcast' ).attributeToElement( {\n\t\t\tmodel: FONT_SIZE,\n\t\t\tview: ( attributeValue, { writer } ) => {\n\t\t\t\tif ( !attributeValue ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\treturn writer.createAttributeElement( 'span', { style: 'font-size:' + attributeValue }, { priority: 7 } );\n\t\t\t}\n\t\t} );\n\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_SIZE,\n\t\t\t\tvalue: ( viewElement: ViewElement ) => viewElement.getStyle( 'font-size' )\n\t\t\t},\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tstyles: {\n\t\t\t\t\t'font-size': /.*/\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds support for legacy `<font size=\"..\">` formatting.\n\t */\n\tprivate _prepareCompatibilityConverter(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tview: {\n\t\t\t\tname: 'font',\n\t\t\t\tattributes: {\n\t\t\t\t\t// Documentation mentions sizes from 1 to 7. To handle old content we support all values\n\t\t\t\t\t// up to 999 but clamp it to the valid range. Why 999? It should cover accidental values\n\t\t\t\t\t// similar to percentage, e.g. 100%, 200% which could be the usual mistake for font size.\n\t\t\t\t\t'size': /^[+-]?\\d{1,3}$/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_SIZE,\n\t\t\t\tvalue: ( viewElement: ViewElement ) => {\n\t\t\t\t\tconst value = viewElement.getAttribute( 'size' )!;\n\t\t\t\t\tconst isRelative = value[ 0 ] === '-' || value[ 0 ] === '+';\n\n\t\t\t\t\tlet size = parseInt( value, 10 );\n\n\t\t\t\t\tif ( isRelative ) {\n\t\t\t\t\t\t// Add relative size (which can be negative) to the default size = 3.\n\t\t\t\t\t\tsize = 3 + size;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst maxSize = styleFontSize.length - 1;\n\t\t\t\t\tconst clampedSize = Math.min( Math.max( size, 0 ), maxSize );\n\n\t\t\t\t\treturn styleFontSize[ clampedSize ];\n\t\t\t\t}\n\t\t\t}\n\t\t} );\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 font/fontsize/fontsizeui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { IconFontSize } from 'ckeditor5/src/icons.js';\nimport {\n\tUIModel,\n\tcreateDropdown,\n\taddListToDropdown,\n\ttype ListDropdownButtonDefinition,\n\tMenuBarMenuView,\n\tMenuBarMenuListView,\n\tMenuBarMenuListItemView,\n\tMenuBarMenuListItemButtonView\n} from 'ckeditor5/src/ui.js';\nimport { Collection } from 'ckeditor5/src/utils.js';\n\nimport { normalizeOptions } from './utils.js';\nimport { FONT_SIZE } from '../utils.js';\n\nimport '../../theme/fontsize.css';\nimport type { FontSizeOption } from '../fontconfig.js';\nimport { type FontSizeCommand } from './fontsizecommand.js';\n\n/**\n * The font size UI plugin. It introduces the `'fontSize'` dropdown.\n */\nexport class FontSizeUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontSizeUI' 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\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\tconst options = this._getLocalizedOptions();\n\n\t\tconst command: FontSizeCommand = editor.commands.get( FONT_SIZE )!;\n\t\tconst accessibleLabel = t( 'Font Size' );\n\n\t\tconst listOptions = _prepareListOptions( options, command );\n\n\t\t// Register UI component.\n\t\teditor.ui.componentFactory.add( FONT_SIZE, locale => {\n\t\t\tconst dropdownView = createDropdown( locale );\n\n\t\t\taddListToDropdown( dropdownView, listOptions, {\n\t\t\t\trole: 'menu',\n\t\t\t\tariaLabel: accessibleLabel\n\t\t\t} );\n\n\t\t\t// Create dropdown model.\n\t\t\tdropdownView.buttonView.set( {\n\t\t\t\tlabel: accessibleLabel,\n\t\t\t\ticon: IconFontSize,\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\tdropdownView.extendTemplate( {\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: [\n\t\t\t\t\t\t'ck-font-size-dropdown'\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tdropdownView.bind( 'isEnabled' ).to( command );\n\n\t\t\t// Execute command when an item from the dropdown is selected.\n\t\t\tthis.listenTo( dropdownView, 'execute', evt => {\n\t\t\t\teditor.execute( ( evt.source as any ).commandName, { value: ( evt.source as any ).commandParam } );\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\treturn dropdownView;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( `menuBar:${ FONT_SIZE }`, locale => {\n\t\t\tconst menuView = new MenuBarMenuView( locale );\n\n\t\t\tmenuView.buttonView.set( {\n\t\t\t\tlabel: accessibleLabel,\n\t\t\t\ticon: IconFontSize\n\t\t\t} );\n\n\t\t\tmenuView.bind( 'isEnabled' ).to( command );\n\n\t\t\tconst listView = new MenuBarMenuListView( locale );\n\n\t\t\tfor ( const definition of listOptions ) {\n\t\t\t\tconst listItemView = new MenuBarMenuListItemView( locale, menuView );\n\t\t\t\tconst buttonView = new MenuBarMenuListItemButtonView( locale );\n\n\t\t\t\tbuttonView.set( {\n\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t\tisToggleable: true\n\t\t\t\t} );\n\n\t\t\t\tbuttonView.bind( ...Object.keys( definition.model ) as Array<keyof MenuBarMenuListItemButtonView> ).to( definition.model );\n\t\t\t\tbuttonView.delegate( 'execute' ).to( menuView );\n\n\t\t\t\tbuttonView.on( 'execute', () => {\n\t\t\t\t\teditor.execute( ( definition.model as any ).commandName, {\n\t\t\t\t\t\tvalue: ( definition.model as any ).commandParam\n\t\t\t\t\t} );\n\n\t\t\t\t\teditor.editing.view.focus();\n\t\t\t\t} );\n\n\t\t\t\tlistItemView.children.add( buttonView );\n\t\t\t\tlistView.items.add( listItemView );\n\t\t\t}\n\n\t\t\tmenuView.panelView.children.add( listView );\n\n\t\t\treturn menuView;\n\t\t} );\n\t}\n\n\t/**\n\t * Returns options as defined in `config.fontSize.options` but processed to account for\n\t * editor localization, i.e. to display {@link module:font/fontconfig~FontSizeOption}\n\t * in the correct language.\n\t *\n\t * Note: The reason behind this method is that there is no way to use {@link module:utils/locale~Locale#t}\n\t * when the user configuration is defined because the editor does not exist yet.\n\t */\n\tprivate _getLocalizedOptions(): Array<FontSizeOption> {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\tconst localizedTitles: Record<string, string> = {\n\t\t\tDefault: t( 'Default' ),\n\t\t\tTiny: t( 'Tiny' ),\n\t\t\tSmall: t( 'Small' ),\n\t\t\tBig: t( 'Big' ),\n\t\t\tHuge: t( 'Huge' )\n\t\t};\n\n\t\tconst options = normalizeOptions( ( editor.config.get( FONT_SIZE )! ).options! );\n\n\t\treturn options.map( option => {\n\t\t\tconst title = localizedTitles[ option.title ];\n\n\t\t\tif ( title && title != option.title ) {\n\t\t\t\t// Clone the option to avoid altering the original `namedPresets` from `./utils.js`.\n\t\t\t\toption = Object.assign( {}, option, { title } );\n\t\t\t}\n\n\t\t\treturn option;\n\t\t} );\n\t}\n}\n\n/**\n * Prepares FontSize dropdown items.\n */\nfunction _prepareListOptions( options: Array<FontSizeOption>, command: FontSizeCommand ): Collection<ListDropdownButtonDefinition> {\n\tconst itemDefinitions = new Collection<ListDropdownButtonDefinition>();\n\n\tfor ( const option of options ) {\n\t\tconst def = {\n\t\t\ttype: 'button' as const,\n\t\t\tmodel: new UIModel( {\n\t\t\t\tcommandName: FONT_SIZE,\n\t\t\t\tcommandParam: option.model,\n\t\t\t\tlabel: option.title,\n\t\t\t\tclass: 'ck-fontsize-option',\n\t\t\t\trole: 'menuitemradio',\n\t\t\t\twithText: true\n\t\t\t} )\n\t\t};\n\n\t\tif ( option.view && typeof option.view !== 'string' ) {\n\t\t\tif ( option.view.styles ) {\n\t\t\t\tdef.model.set( 'labelStyle', `font-size:${ option.view.styles[ 'font-size' ] }` );\n\t\t\t}\n\t\t\tif ( option.view.classes ) {\n\t\t\t\tdef.model.set( 'class', `${ def.model.class } ${ option.view.classes }` );\n\t\t\t}\n\t\t}\n\n\t\tdef.model.bind( 'isOn' ).to( command, 'value', value => value === option.model );\n\n\t\t// Add the option to the collection.\n\t\titemDefinitions.add( def );\n\t}\n\n\treturn itemDefinitions;\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 font/fontsize\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { FontSizeEditing } from './fontsize/fontsizeediting.js';\nimport { FontSizeUI } from './fontsize/fontsizeui.js';\nimport { normalizeOptions } from './fontsize/utils.js';\nimport type { FontSizeOption } from './fontconfig.js';\n\n/**\n * The font size plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontsize/fontsizeediting~FontSizeEditing} and\n * {@link module:font/fontsize/fontsizeui~FontSizeUI} features in the editor.\n */\nexport class FontSize extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FontSizeEditing, FontSizeUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontSize' 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 * Normalizes and translates the {@link module:font/fontconfig~FontSizeConfig#options configuration options}\n\t * to the {@link module:font/fontconfig~FontSizeOption} format.\n\t *\n\t * @param options An array of options taken from the configuration.\n\t */\n\tpublic normalizeSizeOptions( options: Array<string | number | FontSizeOption> ): Array<FontSizeOption> {\n\t\treturn normalizeOptions( options );\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 font/fontcolor/fontcolorcommand\n */\n\nimport type { Editor } from 'ckeditor5/src/core.js';\nimport { FontCommand } from '../fontcommand.js';\nimport { FONT_COLOR } from '../utils.js';\n\n/**\n * The font color command. It is used by {@link module:font/fontcolor/fontcolorediting~FontColorEditing}\n * to apply the font color.\n *\n * ```ts\n * editor.execute( 'fontColor', { value: 'rgb(250, 20, 20)' } );\n * ```\n *\n * **Note**: Executing the command with the `null` value removes the attribute from the model.\n */\nexport class FontColorCommand extends FontCommand {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor, FONT_COLOR );\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 font/fontcolor/fontcolorediting\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport { FontColorCommand } from './fontcolorcommand.js';\nimport type { ViewElement } from 'ckeditor5/src/engine.js';\nimport { FONT_COLOR, renderDowncastElement, renderUpcastAttribute } from '../utils.js';\n\n/**\n * The font color editing feature.\n *\n * It introduces the {@link module:font/fontcolor/fontcolorcommand~FontColorCommand command} and\n * the `fontColor` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as a `<span>` element (`<span style=\"color: ...\">`),\n * depending on the {@link module:font/fontconfig~FontColorConfig configuration}.\n */\nexport class FontColorEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontColorEditing' 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\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\teditor.config.define( FONT_COLOR, {\n\t\t\tcolors: [\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 0%)',\n\t\t\t\t\tlabel: 'Black'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 30%)',\n\t\t\t\t\tlabel: 'Dim grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 60%)',\n\t\t\t\t\tlabel: 'Grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 90%)',\n\t\t\t\t\tlabel: 'Light grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 100%)',\n\t\t\t\t\tlabel: 'White',\n\t\t\t\t\thasBorder: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 75%, 60%)',\n\t\t\t\t\tlabel: 'Red'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(30, 75%, 60%)',\n\t\t\t\t\tlabel: 'Orange'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(60, 75%, 60%)',\n\t\t\t\t\tlabel: 'Yellow'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(90, 75%, 60%)',\n\t\t\t\t\tlabel: 'Light green'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(120, 75%, 60%)',\n\t\t\t\t\tlabel: 'Green'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(150, 75%, 60%)',\n\t\t\t\t\tlabel: 'Aquamarine'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(180, 75%, 60%)',\n\t\t\t\t\tlabel: 'Turquoise'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(210, 75%, 60%)',\n\t\t\t\t\tlabel: 'Light blue'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(240, 75%, 60%)',\n\t\t\t\t\tlabel: 'Blue'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(270, 75%, 60%)',\n\t\t\t\t\tlabel: 'Purple'\n\t\t\t\t}\n\t\t\t],\n\t\t\tcolumns: 5\n\t\t} );\n\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tstyles: {\n\t\t\t\t\t'color': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_COLOR,\n\t\t\t\tvalue: renderUpcastAttribute( 'color' )\n\t\t\t}\n\t\t} );\n\n\t\t// Support legacy `<font color=\"..\">` formatting.\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tview: {\n\t\t\t\tname: 'font',\n\t\t\t\tattributes: {\n\t\t\t\t\t'color': /^#?\\w+$/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_COLOR,\n\t\t\t\tvalue: ( viewElement: ViewElement ) => viewElement.getAttribute( 'color' )\n\t\t\t}\n\t\t} );\n\n\t\teditor.conversion.for( 'downcast' ).attributeToElement( {\n\t\t\tmodel: FONT_COLOR,\n\t\t\tview: renderDowncastElement( 'color' )\n\t\t} );\n\n\t\teditor.commands.add( FONT_COLOR, new FontColorCommand( editor ) );\n\n\t\t// Allow the font color attribute on text nodes.\n\t\teditor.model.schema.extend( '$text', { allowAttributes: FONT_COLOR } );\n\n\t\teditor.model.schema.setAttributeProperties( FONT_COLOR, {\n\t\t\tisFormatting: true,\n\t\t\tcopyOnEnter: true\n\t\t} );\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 font/ui/colorui\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport type { Batch } from 'ckeditor5/src/engine.js';\nimport {\n\tcreateDropdown,\n\tnormalizeColorOptions,\n\tgetLocalizedColorOptions,\n\tfocusChildOnDropdownOpen,\n\ttype ColorSelectorExecuteEvent,\n\ttype ColorSelectorColorPickerCancelEvent,\n\ttype ColorSelectorColorPickerShowEvent,\n\tMenuBarMenuView,\n\tColorSelectorView\n} from 'ckeditor5/src/ui.js';\n\nimport {\n\taddColorSelectorToDropdown,\n\ttype FontColorSelectorDropdownView,\n\ttype FONT_BACKGROUND_COLOR,\n\ttype FONT_COLOR\n} from '../utils.js';\nimport { type FontColorCommand } from '../fontcolor/fontcolorcommand.js';\nimport { type FontBackgroundColorCommand } from '../fontbackgroundcolor/fontbackgroundcolorcommand.js';\nimport type { FontColorConfig } from '../fontconfig.js';\n\n/**\n * The color UI plugin which isolates the common logic responsible for displaying dropdowns with color grids.\n *\n * It is used to create the `'fontBackgroundColor'` and `'fontColor'` dropdowns, each hosting\n * a {@link module:ui/colorselector/colorselectorview~ColorSelectorView}.\n */\nexport class FontColorUIBase extends Plugin {\n\t/**\n\t * The name of the command which will be executed when a color tile is clicked.\n\t */\n\tpublic commandName: typeof FONT_BACKGROUND_COLOR | typeof FONT_COLOR;\n\n\t/**\n\t * The name of this component in the {@link module:ui/componentfactory~ComponentFactory}.\n\t * Also the configuration scope name in `editor.config`.\n\t */\n\tpublic componentName: typeof FONT_BACKGROUND_COLOR | typeof FONT_COLOR;\n\n\t/**\n\t * The SVG icon used by the dropdown.\n\t */\n\tpublic icon: string;\n\n\t/**\n\t * The label used by the dropdown.\n\t */\n\tpublic dropdownLabel: string;\n\n\t/**\n\t * The number of columns in the color grid.\n\t */\n\tpublic columns: number;\n\n\t/**\n\t * Keeps all changes in color picker in one batch while dropdown is open.\n\t */\n\tdeclare private _undoStepBatch: Batch;\n\n\t/**\n\t * Creates a plugin which introduces a dropdown with a pre–configured\n\t * {@link module:ui/colorselector/colorselectorview~ColorSelectorView}.\n\t *\n\t * @param editor An editor instance.\n\t * @param config The configuration object.\n\t * @param config.commandName The name of the command which will be executed when a color tile is clicked.\n\t * @param config.componentName The name of the dropdown in the {@link module:ui/componentfactory~ComponentFactory}\n\t * and the configuration scope name in `editor.config`.\n\t * @param config.icon The SVG icon used by the dropdown.\n\t * @param config.dropdownLabel The label used by the dropdown.\n\t */\n\tconstructor(\n\t\teditor: Editor,\n\t\t{ commandName, componentName, icon, dropdownLabel }: {\n\t\t\tcommandName: typeof FONT_BACKGROUND_COLOR | typeof FONT_COLOR;\n\t\t\tcomponentName: typeof FONT_BACKGROUND_COLOR | typeof FONT_COLOR;\n\t\t\ticon: string;\n\t\t\tdropdownLabel: string;\n\t\t}\n\t) {\n\t\tsuper( editor );\n\n\t\tthis.commandName = commandName;\n\t\tthis.componentName = componentName;\n\t\tthis.icon = icon;\n\t\tthis.dropdownLabel = dropdownLabel;\n\t\tthis.columns = editor.config.get( `${ this.componentName }.columns` )!;\n\t}\n\n\t/**\n\t* @inheritDoc\n\t*/\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst t = locale.t;\n\t\tconst command: FontColorCommand | FontBackgroundColorCommand = editor.commands.get( this.commandName )!;\n\t\tconst componentConfig = editor.config.get( this.componentName )! as FontColorConfig;\n\t\tconst colorsConfig = normalizeColorOptions( componentConfig.colors! );\n\t\tconst localizedColors = getLocalizedColorOptions( locale, colorsConfig );\n\t\tconst documentColorsCount = componentConfig.documentColors;\n\t\tconst hasColorPicker = componentConfig.colorPicker !== false;\n\n\t\t// Register the UI component.\n\t\teditor.ui.componentFactory.add( this.componentName, locale => {\n\t\t\tconst dropdownView: FontColorSelectorDropdownView = createDropdown( locale );\n\t\t\t// Font color dropdown rendering is deferred once it gets open to improve performance (#6192).\n\t\t\tlet dropdownContentRendered = false;\n\n\t\t\tconst colorSelectorView = addColorSelectorToDropdown( {\n\t\t\t\tdropdownView,\n\t\t\t\tcolors: localizedColors.map( option => ( {\n\t\t\t\t\tlabel: option.label,\n\t\t\t\t\tcolor: option.model,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\thasBorder: option.hasBorder\n\t\t\t\t\t}\n\t\t\t\t} ) ),\n\t\t\t\tcolumns: this.columns,\n\t\t\t\tremoveButtonLabel: t( 'Remove color' ),\n\t\t\t\tcolorPickerLabel: t( 'Color picker' ),\n\t\t\t\tdocumentColorsLabel: documentColorsCount !== 0 ? t( 'Document colors' ) : '',\n\t\t\t\tdocumentColorsCount: documentColorsCount === undefined ? this.columns : documentColorsCount,\n\t\t\t\tcolorPickerViewConfig: hasColorPicker ? ( componentConfig.colorPicker || {} ) : false\n\t\t\t} );\n\n\t\t\tcolorSelectorView.bind( 'selectedColor' ).to( command, 'value' );\n\n\t\t\tdropdownView.buttonView.set( {\n\t\t\t\tlabel: this.dropdownLabel,\n\t\t\t\ticon: this.icon,\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\tdropdownView.extendTemplate( {\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: 'ck-color-ui-dropdown'\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tdropdownView.bind( 'isEnabled' ).to( command );\n\n\t\t\tcolorSelectorView.on<ColorSelectorExecuteEvent>( 'execute', ( evt, data ) => {\n\t\t\t\tif ( dropdownView.isOpen ) {\n\t\t\t\t\teditor.execute( this.commandName, {\n\t\t\t\t\t\tvalue: data.value,\n\t\t\t\t\t\tbatch: this._undoStepBatch\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( data.source !== 'colorPicker' ) {\n\t\t\t\t\teditor.editing.view.focus();\n\t\t\t\t}\n\n\t\t\t\tif ( data.source === 'colorPickerSaveButton' ) {\n\t\t\t\t\tdropdownView.isOpen = false;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tcolorSelectorView.on<ColorSelectorColorPickerShowEvent>( 'colorPicker:show', () => {\n\t\t\t\tthis._undoStepBatch = editor.model.createBatch();\n\t\t\t} );\n\n\t\t\tcolorSelectorView.on<ColorSelectorColorPickerCancelEvent>( 'colorPicker:cancel', () => {\n\t\t\t\tif ( this._undoStepBatch!.operations.length ) {\n\t\t\t\t\t// We need to close the dropdown before the undo batch.\n\t\t\t\t\t// Otherwise, FontColorUIBase treats undo as a selected color change,\n\t\t\t\t\t// propagating the update to the whole selection.\n\t\t\t\t\t// That's an issue if spans with various colors were selected.\n\t\t\t\t\tdropdownView.isOpen = false;\n\t\t\t\t\teditor.execute( 'undo', this._undoStepBatch );\n\t\t\t\t}\n\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\tdropdownView.on( 'change:isOpen', ( evt, name, isVisible ) => {\n\t\t\t\tif ( !dropdownContentRendered ) {\n\t\t\t\t\tdropdownContentRendered = true;\n\n\t\t\t\t\tdropdownView.colorSelectorView!.appendUI();\n\t\t\t\t}\n\n\t\t\t\tif ( isVisible ) {\n\t\t\t\t\tif ( documentColorsCount !== 0 ) {\n\t\t\t\t\t\tcolorSelectorView!.updateDocumentColors( editor.model, this.componentName );\n\t\t\t\t\t}\n\n\t\t\t\t\tcolorSelectorView!.updateSelectedColors();\n\t\t\t\t\tcolorSelectorView!.showColorGridsFragment();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Accessibility: focus the first active color when opening the dropdown.\n\t\t\tfocusChildOnDropdownOpen(\n\t\t\t\tdropdownView,\n\t\t\t\t() => dropdownView.colorSelectorView!.colorGridsFragmentView.staticColorsGrid!.items.find( ( item: any ) => item.isOn )\n\t\t\t);\n\n\t\t\treturn dropdownView;\n\t\t} );\n\n\t\t// Register menu bar button..\n\t\teditor.ui.componentFactory.add( `menuBar:${ this.componentName }`, locale => {\n\t\t\tconst menuView = new MenuBarMenuView( locale );\n\n\t\t\tmenuView.buttonView.set( {\n\t\t\t\tlabel: this.dropdownLabel,\n\t\t\t\ticon: this.icon\n\t\t\t} );\n\n\t\t\tmenuView.bind( 'isEnabled' ).to( command );\n\n\t\t\t// Font color sub-menu rendering is deferred once it gets open to improve performance (#6192).\n\t\t\tlet contentRendered = false;\n\n\t\t\tconst colorSelectorView = new ColorSelectorView( locale, {\n\t\t\t\tcolors: localizedColors.map( option => ( {\n\t\t\t\t\tlabel: option.label,\n\t\t\t\t\tcolor: option.model,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\thasBorder: option.hasBorder\n\t\t\t\t\t}\n\t\t\t\t} ) ),\n\t\t\t\tcolumns: this.columns,\n\t\t\t\tremoveButtonLabel: t( 'Remove color' ),\n\t\t\t\tcolorPickerLabel: t( 'Color picker' ),\n\t\t\t\tdocumentColorsLabel: documentColorsCount !== 0 ? t( 'Document colors' ) : '',\n\t\t\t\tdocumentColorsCount: documentColorsCount === undefined ? this.columns : documentColorsCount,\n\t\t\t\tcolorPickerViewConfig: false\n\t\t\t} );\n\n\t\t\tcolorSelectorView.bind( 'selectedColor' ).to( command, 'value' );\n\n\t\t\tcolorSelectorView.delegate( 'execute' ).to( menuView );\n\t\t\tcolorSelectorView.on<ColorSelectorExecuteEvent>( 'execute', ( evt, data ) => {\n\t\t\t\teditor.execute( this.commandName, {\n\t\t\t\t\tvalue: data.value,\n\t\t\t\t\tbatch: this._undoStepBatch\n\t\t\t\t} );\n\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\tmenuView.on( 'change:isOpen', ( evt, name, isVisible ) => {\n\t\t\t\tif ( !contentRendered ) {\n\t\t\t\t\tcontentRendered = true;\n\n\t\t\t\t\tcolorSelectorView!.appendUI();\n\t\t\t\t}\n\n\t\t\t\tif ( isVisible ) {\n\t\t\t\t\tif ( documentColorsCount !== 0 ) {\n\t\t\t\t\t\tcolorSelectorView!.updateDocumentColors( editor.model, this.componentName );\n\t\t\t\t\t}\n\n\t\t\t\t\tcolorSelectorView!.updateSelectedColors();\n\t\t\t\t\tcolorSelectorView!.showColorGridsFragment();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tmenuView.panelView.children.add( colorSelectorView );\n\n\t\t\treturn menuView;\n\t\t} );\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 font/fontcolor/fontcolorui\n */\n\nimport { IconFontColor } from 'ckeditor5/src/icons.js';\nimport { FontColorUIBase } from '../ui/colorui.js';\nimport { FONT_COLOR } from '../utils.js';\nimport type { Editor } from 'ckeditor5/src/core.js';\n\n/**\n * The font color UI plugin. It introduces the `'fontColor'` dropdown.\n */\nexport class FontColorUI extends FontColorUIBase {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tconst t = editor.locale.t;\n\n\t\tsuper( editor, {\n\t\t\tcommandName: FONT_COLOR,\n\t\t\tcomponentName: FONT_COLOR,\n\t\t\ticon: IconFontColor,\n\t\t\tdropdownLabel: t( 'Font Color' )\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontColorUI' as const;\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 font/fontcolor\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { FontColorEditing } from './fontcolor/fontcolorediting.js';\nimport { FontColorUI } from './fontcolor/fontcolorui.js';\n\n/**\n * The font color plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontcolor/fontcolorediting~FontColorEditing} and\n * {@link module:font/fontcolor/fontcolorui~FontColorUI} features in the editor.\n */\nexport class FontColor extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FontColorEditing, FontColorUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontColor' 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","/**\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 font/fontbackgroundcolor/fontbackgroundcolorcommand\n */\n\nimport type { Editor } from 'ckeditor5/src/core.js';\nimport { FontCommand } from '../fontcommand.js';\nimport { FONT_BACKGROUND_COLOR } from '../utils.js';\n\n/**\n * The font background color command. It is used by\n * {@link module:font/fontbackgroundcolor/fontbackgroundcolorediting~FontBackgroundColorEditing}\n * to apply the font background color.\n *\n * ```ts\n * editor.execute( 'fontBackgroundColor', { value: 'rgb(250, 20, 20)' } );\n * ```\n *\n * **Note**: Executing the command with the `null` value removes the attribute from the model.\n */\nexport class FontBackgroundColorCommand extends FontCommand {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor, FONT_BACKGROUND_COLOR );\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 font/fontbackgroundcolor/fontbackgroundcolorediting\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport { addBackgroundStylesRules } from 'ckeditor5/src/engine.js';\n\nimport { FontBackgroundColorCommand } from './fontbackgroundcolorcommand.js';\nimport { FONT_BACKGROUND_COLOR, renderDowncastElement, renderUpcastAttribute } from '../utils.js';\n\n/**\n * The font background color editing feature.\n *\n * It introduces the {@link module:font/fontbackgroundcolor/fontbackgroundcolorcommand~FontBackgroundColorCommand command} and\n * the `fontBackgroundColor` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as a `<span>` element (`<span style=\"background-color: ...\">`),\n * depending on the {@link module:font/fontconfig~FontColorConfig configuration}.\n */\nexport class FontBackgroundColorEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontBackgroundColorEditing' 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\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\teditor.config.define( FONT_BACKGROUND_COLOR, {\n\t\t\tcolors: [\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 0%)',\n\t\t\t\t\tlabel: 'Black'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 30%)',\n\t\t\t\t\tlabel: 'Dim grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 60%)',\n\t\t\t\t\tlabel: 'Grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 90%)',\n\t\t\t\t\tlabel: 'Light grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 100%)',\n\t\t\t\t\tlabel: 'White',\n\t\t\t\t\thasBorder: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 75%, 60%)',\n\t\t\t\t\tlabel: 'Red'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(30, 75%, 60%)',\n\t\t\t\t\tlabel: 'Orange'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(60, 75%, 60%)',\n\t\t\t\t\tlabel: 'Yellow'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(90, 75%, 60%)',\n\t\t\t\t\tlabel: 'Light green'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(120, 75%, 60%)',\n\t\t\t\t\tlabel: 'Green'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(150, 75%, 60%)',\n\t\t\t\t\tlabel: 'Aquamarine'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(180, 75%, 60%)',\n\t\t\t\t\tlabel: 'Turquoise'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(210, 75%, 60%)',\n\t\t\t\t\tlabel: 'Light blue'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(240, 75%, 60%)',\n\t\t\t\t\tlabel: 'Blue'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(270, 75%, 60%)',\n\t\t\t\t\tlabel: 'Purple'\n\t\t\t\t}\n\t\t\t],\n\t\t\tcolumns: 5\n\t\t} );\n\n\t\teditor.data.addStyleProcessorRules( addBackgroundStylesRules );\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tstyles: {\n\t\t\t\t\t'background-color': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_BACKGROUND_COLOR,\n\t\t\t\tvalue: renderUpcastAttribute( 'background-color' )\n\t\t\t}\n\t\t} );\n\n\t\teditor.conversion.for( 'downcast' ).attributeToElement( {\n\t\t\tmodel: FONT_BACKGROUND_COLOR,\n\t\t\tview: renderDowncastElement( 'background-color' )\n\t\t} );\n\n\t\teditor.commands.add( FONT_BACKGROUND_COLOR, new FontBackgroundColorCommand( editor ) );\n\n\t\t// Allow the font backgroundColor attribute on text nodes.\n\t\teditor.model.schema.extend( '$text', { allowAttributes: FONT_BACKGROUND_COLOR } );\n\n\t\teditor.model.schema.setAttributeProperties( FONT_BACKGROUND_COLOR, {\n\t\t\tisFormatting: true,\n\t\t\tcopyOnEnter: true\n\t\t} );\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 font/fontbackgroundcolor/fontbackgroundcolorui\n */\n\nimport { IconFontBackground } from 'ckeditor5/src/icons.js';\nimport { FontColorUIBase } from '../ui/colorui.js';\nimport { FONT_BACKGROUND_COLOR } from '../utils.js';\nimport type { Editor } from 'ckeditor5/src/core.js';\n\n/**\n * The font background color UI plugin. It introduces the `'fontBackgroundColor'` dropdown.\n */\nexport class FontBackgroundColorUI extends FontColorUIBase {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tconst t = editor.locale.t;\n\n\t\tsuper( editor, {\n\t\t\tcommandName: FONT_BACKGROUND_COLOR,\n\t\t\tcomponentName: FONT_BACKGROUND_COLOR,\n\t\t\ticon: IconFontBackground,\n\t\t\tdropdownLabel: t( 'Font Background Color' )\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontBackgroundColorUI' as const;\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 font/fontbackgroundcolor\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { FontBackgroundColorEditing } from './fontbackgroundcolor/fontbackgroundcolorediting.js';\nimport { FontBackgroundColorUI } from './fontbackgroundcolor/fontbackgroundcolorui.js';\n\n/**\n * The font background color plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads\n * the {@link module:font/fontbackgroundcolor/fontbackgroundcolorediting~FontBackgroundColorEditing} and\n * {@link module:font/fontbackgroundcolor/fontbackgroundcolorui~FontBackgroundColorUI} features in the editor.\n */\nexport class FontBackgroundColor extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FontBackgroundColorEditing, FontBackgroundColorUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontBackgroundColor' 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","/**\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 font/font\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\n\nimport { FontFamily } from './fontfamily.js';\nimport { FontSize } from './fontsize.js';\nimport { FontColor } from './fontcolor.js';\nimport { FontBackgroundColor } from './fontbackgroundcolor.js';\n\n/**\n * A plugin that enables a set of text styling features:\n *\n * * {@link module:font/fontsize~FontSize},\n * * {@link module:font/fontfamily~FontFamily}.\n * * {@link module:font/fontcolor~FontColor},\n * * {@link module:font/fontbackgroundcolor~FontBackgroundColor}.\n *\n * For a detailed overview, check the {@glink features/font Font feature} documentation\n * and the {@glink api/font package page}.\n */\nexport class Font extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FontFamily, FontSize, FontColor, FontBackgroundColor ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Font' 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"]}
1
+ {"version":3,"sources":["index.js","../src/fontcommand.ts","../src/utils.ts","../src/fontfamily/fontfamilycommand.ts","../src/fontfamily/utils.ts","../src/fontfamily/fontfamilyediting.ts","../src/fontfamily/fontfamilyui.ts","../src/fontfamily.ts","../src/fontsize/fontsizecommand.ts","../src/fontsize/utils.ts","../src/fontsize/fontsizeediting.ts","../src/fontsize/fontsizeui.ts","../src/fontsize.ts","../src/fontcolor/fontcolorcommand.ts","../src/fontcolor/fontcolorediting.ts","../src/ui/colorui.ts","../src/fontcolor/fontcolorui.ts","../src/fontcolor.ts","../src/fontbackgroundcolor/fontbackgroundcolorcommand.ts","../src/fontbackgroundcolor/fontbackgroundcolorediting.ts","../src/fontbackgroundcolor/fontbackgroundcolorui.ts","../src/fontbackgroundcolor.ts","../src/font.ts"],"names":["FontCommand","Command","attributeKey","editor","refresh","model","doc","document","value","selection","getAttribute","isEnabled","schema","checkAttributeInSelection","execute","options","batch","updateAttribute","writer","isCollapsed","setSelectionAttribute","removeSelectionAttribute","ranges","getValidRanges","getRanges","range","setAttribute","removeAttribute","enqueueChange","change","FONT_SIZE","FONT_FAMILY","FONT_COLOR","FONT_BACKGROUND_COLOR","buildDefinition","modelAttributeKey","definition","key","values","view","upcastAlso","option","push","renderUpcastAttribute","styleAttr","viewElement","normalizeColorCode","getStyle","renderDowncastElement","modelAttributeValue","createAttributeElement","style","priority","addColorSelectorToDropdown","dropdownView","colors","columns","removeButtonLabel","colorPickerLabel","documentColorsLabel","documentColorsCount","colorPickerViewConfig","locale","colorSelectorView","ColorSelectorView","panelView","children","add","replace","FontFamilyCommand","normalizeOptions","configuredOptions","map","getOptionDefinition","filter","undefined","normalizeFontFamilies","fontDefinition","split","name","trim","title","generateFontPreset","fontNames","firstFontName","cssFontNames","normalizeFontNameForCSS","join","styles","fontName","indexOf","FontFamilyEditing","Plugin","pluginName","isOfficialPlugin","config","define","supportAllValues","init","extend","allowAttributes","setAttributeProperties","isFormatting","copyOnEnter","get","item","_prepareAnyValueConverters","_prepareCompatibilityConverter","conversion","attributeToElement","commands","for","attributeValue","elementToAttribute","attributes","FontFamilyUI","t","_getLocalizedOptions","command","accessibleLabel","listOptions","_prepareListOptions","ui","componentFactory","createDropdown","addListToDropdown","role","ariaLabel","buttonView","set","label","icon","IconFontFamily","tooltip","extendTemplate","class","bind","to","listenTo","evt","source","commandName","commandParam","editing","focus","menuView","MenuBarMenuView","listView","MenuBarMenuListView","listItemView","MenuBarMenuListItemView","MenuBarMenuListItemButtonView","isToggleable","Object","keys","delegate","on","items","itemDefinitions","Collection","def","type","UIModel","withText","valueNormalized","toLowerCase","optionNormalized","FontFamily","requires","FontSizeCommand","namedPresets","tiny","classes","small","big","huge","String","isFullItemDefinition","attachPriority","preset","findPreset","isNumericalDefinition","generatePixelPreset","parseFloat","numberValue","CKEditorError","isNaN","styleFontSize","FontSizeEditing","presets","isLengthStyleValue","isPercentageStyleValue","length","isRelative","size","parseInt","maxSize","clampedSize","Math","min","max","FontSizeUI","IconFontSize","localizedTitles","Default","Tiny","Small","Big","Huge","assign","FontSize","normalizeSizeOptions","FontColorCommand","FontColorEditing","color","hasBorder","FontColorUIBase","componentName","dropdownLabel","componentConfig","colorsConfig","normalizeColorOptions","localizedColors","getLocalizedColorOptions","documentColors","hasColorPicker","colorPicker","dropdownContentRendered","data","isOpen","_undoStepBatch","createBatch","operations","isVisible","appendUI","updateDocumentColors","updateSelectedColors","showColorGridsFragment","focusChildOnDropdownOpen","colorGridsFragmentView","staticColorsGrid","find","isOn","contentRendered","FontColorUI","IconFontColor","FontColor","FontBackgroundColorCommand","FontBackgroundColorEditing","addStyleProcessorRules","addBackgroundStylesRules","FontBackgroundColorUI","IconFontBackground","FontBackgroundColor","Font"],"mappings":"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AA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,SAAA,CAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,OAAA,CAAA,CAAA,SAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,IAAA,CAAA,OAAA,CAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,MAAA,CAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,CAAA,KAAA,CAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA,SAAA,CAAA,CAAA,IAAA,CAAA,KAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,MAAA,CAAA,CAAA,IAAA,CAAA,KAAA;AACA,CAAA,CAAA,CAAA,CA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","file":"index.js.map","sourcesContent":["import { Command, Plugin } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { ColorSelectorView, createDropdown, addListToDropdown, MenuBarMenuView, MenuBarMenuListView, MenuBarMenuListItemView, MenuBarMenuListItemButtonView, UIModel, normalizeColorOptions, getLocalizedColorOptions, focusChildOnDropdownOpen } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { Collection, CKEditorError } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { IconFontFamily, IconFontSize, IconFontColor, IconFontBackground } from '@ckeditor/ckeditor5-icons/dist/index.js';\nimport { isLengthStyleValue, isPercentageStyleValue, addBackgroundStylesRules } from '@ckeditor/ckeditor5-engine/dist/index.js';\n\n/**\n * The base font command.\n */ class FontCommand extends Command {\n /**\n\t * A model attribute on which this command operates.\n\t */ attributeKey;\n /**\n\t * Creates an instance of the command.\n\t *\n\t * @param editor Editor instance.\n\t * @param attributeKey The name of a model attribute on which this command operates.\n\t */ constructor(editor, attributeKey){\n super(editor);\n this.attributeKey = attributeKey;\n }\n /**\n\t * @inheritDoc\n\t */ refresh() {\n const model = this.editor.model;\n const doc = model.document;\n this.value = doc.selection.getAttribute(this.attributeKey);\n this.isEnabled = model.schema.checkAttributeInSelection(doc.selection, this.attributeKey);\n }\n /**\n\t * Executes the command. Applies the `value` of the {@link #attributeKey} to the selection.\n\t * If no `value` is passed, it removes the attribute from the selection.\n\t *\n\t * @param options Options for the executed command.\n\t * @param options.value The value to apply.\n\t * @fires execute\n\t */ execute(options = {}) {\n const model = this.editor.model;\n const document = model.document;\n const selection = document.selection;\n const value = options.value;\n const batch = options.batch;\n const updateAttribute = (writer)=>{\n if (selection.isCollapsed) {\n if (value) {\n writer.setSelectionAttribute(this.attributeKey, value);\n } else {\n writer.removeSelectionAttribute(this.attributeKey);\n }\n } else {\n const ranges = model.schema.getValidRanges(selection.getRanges(), this.attributeKey);\n for (const range of ranges){\n if (value) {\n writer.setAttribute(this.attributeKey, value, range);\n } else {\n writer.removeAttribute(this.attributeKey, range);\n }\n }\n }\n };\n // In some scenarios, you may want to use a single undo step for multiple changes (e.g. in color picker).\n if (batch) {\n model.enqueueChange(batch, (writer)=>{\n updateAttribute(writer);\n });\n } else {\n model.change((writer)=>{\n updateAttribute(writer);\n });\n }\n }\n}\n\n/**\n * The name of the font size plugin.\n */ const FONT_SIZE = 'fontSize';\n/**\n * The name of the font family plugin.\n */ const FONT_FAMILY = 'fontFamily';\n/**\n * The name of the font color plugin.\n */ const FONT_COLOR = 'fontColor';\n/**\n * The name of the font background color plugin.\n */ const FONT_BACKGROUND_COLOR = 'fontBackgroundColor';\n/**\n * Builds a proper converter definition out of input data.\n *\n * @internal\n */ function buildDefinition(modelAttributeKey, options) {\n const definition = {\n model: {\n key: modelAttributeKey,\n values: []\n },\n view: {},\n upcastAlso: {}\n };\n for (const option of options){\n definition.model.values.push(option.model);\n definition.view[option.model] = option.view;\n if (option.upcastAlso) {\n definition.upcastAlso[option.model] = option.upcastAlso;\n }\n }\n return definition;\n}\n/**\n * A {@link module:font/fontcolor~FontColor font color} and\n * {@link module:font/fontbackgroundcolor~FontBackgroundColor font background color} helper\n * responsible for upcasting data to the model.\n *\n * **Note**: The `styleAttr` parameter should be either `'color'` or `'background-color'`.\n *\n * @internal\n */ function renderUpcastAttribute(styleAttr) {\n return (viewElement)=>normalizeColorCode(viewElement.getStyle(styleAttr));\n}\n/**\n * A {@link module:font/fontcolor~FontColor font color} and\n * {@link module:font/fontbackgroundcolor~FontBackgroundColor font background color} helper\n * responsible for downcasting a color attribute to a `<span>` element.\n *\n * **Note**: The `styleAttr` parameter should be either `'color'` or `'background-color'`.\n *\n * @internal\n */ function renderDowncastElement(styleAttr) {\n return (modelAttributeValue, { writer })=>writer.createAttributeElement('span', {\n style: `${styleAttr}:${modelAttributeValue}`\n }, {\n priority: 7\n });\n}\n/**\n * A helper that adds {@link module:ui/colorselector/colorselectorview~ColorSelectorView} to the color dropdown with proper initial values.\n *\n * @param options Configuration options\n * @param options.dropdownView The dropdown view to which a {@link module:ui/colorselector/colorselectorview~ColorSelectorView}\n * will be added.\n * @param options.colors An array with definitions representing colors to be displayed in the color selector.\n * @param options.columns The number of columns in the color grid.\n * @param options.removeButtonLabel The label for the button responsible for removing the color.\n * @param options.colorPickerLabel The label for the color picker button.\n * @param options.documentColorsLabel The label for the section with document colors.\n * @param options.documentColorsCount The number of document colors inside the dropdown.\n * @param options.colorPickerViewConfig Configuration of the color picker view.\n * @returns The new color selector view.\n * @internal\n */ function addColorSelectorToDropdown({ dropdownView, colors, columns, removeButtonLabel, colorPickerLabel, documentColorsLabel, documentColorsCount, colorPickerViewConfig }) {\n const locale = dropdownView.locale;\n const colorSelectorView = new ColorSelectorView(locale, {\n colors,\n columns,\n removeButtonLabel,\n colorPickerLabel,\n documentColorsLabel,\n documentColorsCount,\n colorPickerViewConfig\n });\n dropdownView.colorSelectorView = colorSelectorView;\n dropdownView.panelView.children.add(colorSelectorView);\n return colorSelectorView;\n}\n/**\n * Fixes the color value string.\n */ function normalizeColorCode(value) {\n return value.replace(/\\s/g, '');\n}\n\n/**\n * The font family command. It is used by {@link module:font/fontfamily/fontfamilyediting~FontFamilyEditing}\n * to apply the font family.\n *\n * ```ts\n * editor.execute( 'fontFamily', { value: 'Arial' } );\n * ```\n *\n * **Note**: Executing the command without the value removes the attribute from the model.\n */ class FontFamilyCommand extends FontCommand {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor, FONT_FAMILY);\n }\n}\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 * @module font/fontfamily/utils\n */ /**\n * Normalizes the {@link module:font/fontconfig~FontFamilyConfig#options configuration options}\n * to the {@link module:font/fontconfig~FontFamilyOption} format.\n *\n * @param configuredOptions An array of options taken from the configuration.\n * @internal\n */ function normalizeOptions$1(configuredOptions) {\n // Convert options to objects.\n return configuredOptions.map(getOptionDefinition$1)// Filter out undefined values that `getOptionDefinition` might return.\n .filter((option)=>option !== undefined);\n}\n/**\n * Normalizes the CSS `font-family` property value to an array of unquoted and trimmed font faces.\n *\n * @internal\n */ function normalizeFontFamilies(fontDefinition) {\n return fontDefinition.replace(/[\"']/g, '').split(',').map((name)=>name.trim());\n}\n/**\n * Returns an option definition either created from string shortcut.\n * If object is passed then this method will return it without alternating it. Returns undefined for item than cannot be parsed.\n *\n */ function getOptionDefinition$1(option) {\n // Treat any object as full item definition provided by user in configuration.\n if (typeof option === 'object') {\n return option;\n }\n // Handle 'default' string as a special case. It will be used to remove the fontFamily attribute.\n if (option === 'default') {\n return {\n title: 'Default',\n model: undefined\n };\n }\n // Ignore values that we cannot parse to a definition.\n if (typeof option !== 'string') {\n return undefined;\n }\n // Return font family definition from font string.\n return generateFontPreset(option);\n}\n/**\n * Creates a predefined preset for pixel size. It deconstructs font-family like string into full configuration option.\n * A font definition is passed as coma delimited set of font family names. Font names might be quoted.\n *\n * @param fontDefinition A font definition form configuration.\n */ function generateFontPreset(fontDefinition) {\n // Remove quotes from font names. They will be normalized later.\n const fontNames = normalizeFontFamilies(fontDefinition);\n // The first matched font name will be used as dropdown list item title and as model value.\n const firstFontName = fontNames[0];\n // CSS-compatible font names.\n const cssFontNames = fontNames.map(normalizeFontNameForCSS).join(', ');\n return {\n title: firstFontName,\n model: cssFontNames,\n view: {\n name: 'span',\n styles: {\n 'font-family': cssFontNames\n },\n priority: 7\n }\n };\n}\n/**\n * Normalizes font name for the style attribute. It adds braces (') if font name contains spaces.\n */ function normalizeFontNameForCSS(fontName) {\n fontName = fontName.trim();\n // Compound font names should be quoted.\n if (fontName.indexOf(' ') > 0) {\n fontName = `'${fontName}'`;\n }\n return fontName;\n}\n\n/**\n * The font family editing feature.\n *\n * It introduces the {@link module:font/fontfamily/fontfamilycommand~FontFamilyCommand command} and\n * the `fontFamily` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as an inline `<span>` element (`<span style=\"font-family: Arial\">`),\n * depending on the {@link module:font/fontconfig~FontFamilyConfig configuration}.\n */ class FontFamilyEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontFamilyEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n // Define default configuration using font families shortcuts.\n editor.config.define(FONT_FAMILY, {\n options: [\n 'default',\n 'Arial, Helvetica, sans-serif',\n 'Courier New, Courier, monospace',\n 'Georgia, serif',\n 'Lucida Sans Unicode, Lucida Grande, sans-serif',\n 'Tahoma, Geneva, sans-serif',\n 'Times New Roman, Times, serif',\n 'Trebuchet MS, Helvetica, sans-serif',\n 'Verdana, Geneva, sans-serif'\n ],\n supportAllValues: false\n });\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n // Allow fontFamily attribute on text nodes.\n editor.model.schema.extend('$text', {\n allowAttributes: FONT_FAMILY\n });\n editor.model.schema.setAttributeProperties(FONT_FAMILY, {\n isFormatting: true,\n copyOnEnter: true\n });\n // Get configured font family options without \"default\" option.\n const options = normalizeOptions$1(editor.config.get('fontFamily.options')).filter((item)=>item.model);\n const definition = buildDefinition(FONT_FAMILY, options);\n // Set-up the two-way conversion.\n if (editor.config.get('fontFamily.supportAllValues')) {\n this._prepareAnyValueConverters();\n this._prepareCompatibilityConverter();\n } else {\n editor.conversion.attributeToElement(definition);\n }\n editor.commands.add(FONT_FAMILY, new FontFamilyCommand(editor));\n }\n /**\n\t * These converters enable keeping any value found as `style=\"font-family: *\"` as a value of an attribute on a text even\n\t * if it is not defined in the plugin configuration.\n\t */ _prepareAnyValueConverters() {\n const editor = this.editor;\n editor.conversion.for('downcast').attributeToElement({\n model: FONT_FAMILY,\n view: (attributeValue, { writer })=>{\n return writer.createAttributeElement('span', {\n style: 'font-family:' + attributeValue\n }, {\n priority: 7\n });\n }\n });\n editor.conversion.for('upcast').elementToAttribute({\n model: {\n key: FONT_FAMILY,\n value: (viewElement)=>viewElement.getStyle('font-family')\n },\n view: {\n name: 'span',\n styles: {\n 'font-family': /.*/\n }\n }\n });\n }\n /**\n\t * Adds support for legacy `<font face=\"..\">` formatting.\n\t */ _prepareCompatibilityConverter() {\n const editor = this.editor;\n editor.conversion.for('upcast').elementToAttribute({\n view: {\n name: 'font',\n attributes: {\n 'face': /.*/\n }\n },\n model: {\n key: FONT_FAMILY,\n value: (viewElement)=>viewElement.getAttribute('face')\n }\n });\n }\n}\n\n/**\n * The font family UI plugin. It introduces the `'fontFamily'` dropdown.\n */ class FontFamilyUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontFamilyUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const t = editor.t;\n const options = this._getLocalizedOptions();\n const command = editor.commands.get(FONT_FAMILY);\n const accessibleLabel = t('Font Family');\n const listOptions = _prepareListOptions$1(options, command);\n // Register UI component.\n editor.ui.componentFactory.add(FONT_FAMILY, (locale)=>{\n const dropdownView = createDropdown(locale);\n addListToDropdown(dropdownView, listOptions, {\n role: 'menu',\n ariaLabel: accessibleLabel\n });\n dropdownView.buttonView.set({\n label: accessibleLabel,\n icon: IconFontFamily,\n tooltip: true\n });\n dropdownView.extendTemplate({\n attributes: {\n class: 'ck-font-family-dropdown'\n }\n });\n dropdownView.bind('isEnabled').to(command);\n // Execute command when an item from the dropdown is selected.\n this.listenTo(dropdownView, 'execute', (evt)=>{\n editor.execute(evt.source.commandName, {\n value: evt.source.commandParam\n });\n editor.editing.view.focus();\n });\n return dropdownView;\n });\n editor.ui.componentFactory.add(`menuBar:${FONT_FAMILY}`, (locale)=>{\n const menuView = new MenuBarMenuView(locale);\n menuView.buttonView.set({\n label: accessibleLabel,\n icon: IconFontFamily\n });\n menuView.bind('isEnabled').to(command);\n const listView = new MenuBarMenuListView(locale);\n for (const definition of listOptions){\n const listItemView = new MenuBarMenuListItemView(locale, menuView);\n const buttonView = new MenuBarMenuListItemButtonView(locale);\n buttonView.set({\n role: 'menuitemradio',\n isToggleable: true\n });\n buttonView.bind(...Object.keys(definition.model)).to(definition.model);\n buttonView.delegate('execute').to(menuView);\n buttonView.on('execute', ()=>{\n editor.execute(definition.model.commandName, {\n value: definition.model.commandParam\n });\n editor.editing.view.focus();\n });\n listItemView.children.add(buttonView);\n listView.items.add(listItemView);\n }\n menuView.panelView.children.add(listView);\n return menuView;\n });\n }\n /**\n\t * Returns options as defined in `config.fontFamily.options` but processed to account for\n\t * editor localization, i.e. to display {@link module:font/fontconfig~FontFamilyOption}\n\t * in the correct language.\n\t *\n\t * Note: The reason behind this method is that there is no way to use {@link module:utils/locale~Locale#t}\n\t * when the user configuration is defined because the editor does not exist yet.\n\t */ _getLocalizedOptions() {\n const editor = this.editor;\n const t = editor.t;\n const options = normalizeOptions$1(editor.config.get(FONT_FAMILY).options);\n return options.map((option)=>{\n // The only title to localize is \"Default\" others are font names.\n if (option.title === 'Default') {\n option.title = t('Default');\n }\n return option;\n });\n }\n}\n/**\n * Prepares FontFamily dropdown items.\n */ function _prepareListOptions$1(options, command) {\n const itemDefinitions = new Collection();\n // Create dropdown items.\n for (const option of options){\n const def = {\n type: 'button',\n model: new UIModel({\n commandName: FONT_FAMILY,\n commandParam: option.model,\n label: option.title,\n role: 'menuitemradio',\n withText: true\n })\n };\n def.model.bind('isOn').to(command, 'value', (value)=>{\n // \"Default\" or check in strict font-family converters mode.\n if (value === option.model) {\n return true;\n }\n if (!value || !option.model) {\n return false;\n }\n const valueNormalized = normalizeFontFamilies(value)[0].toLowerCase();\n const optionNormalized = normalizeFontFamilies(option.model)[0].toLowerCase();\n return valueNormalized === optionNormalized;\n });\n // Try to set a dropdown list item style.\n if (option.view && typeof option.view !== 'string' && option.view.styles) {\n def.model.set('labelStyle', `font-family: ${option.view.styles['font-family']}`);\n }\n itemDefinitions.add(def);\n }\n return itemDefinitions;\n}\n\n/**\n * The font family plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentatiom\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontfamily/fontfamilyediting~FontFamilyEditing} and\n * {@link module:font/fontfamily/fontfamilyui~FontFamilyUI} features in the editor.\n */ class FontFamily extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FontFamilyEditing,\n FontFamilyUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontFamily';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\n/**\n * The font size command. It is used by {@link module:font/fontsize/fontsizeediting~FontSizeEditing}\n * to apply the font size.\n *\n * ```ts\n * editor.execute( 'fontSize', { value: 'small' } );\n * ```\n *\n * **Note**: Executing the command without the value removes the attribute from the model.\n */ class FontSizeCommand extends FontCommand {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor, FONT_SIZE);\n }\n}\n\n/**\n * Normalizes and translates the {@link module:font/fontconfig~FontSizeConfig#options configuration options}\n * to the {@link module:font/fontconfig~FontSizeOption} format.\n *\n * @param configuredOptions An array of options taken from the configuration.\n * @internal\n */ function normalizeOptions(configuredOptions) {\n // Convert options to objects.\n return configuredOptions.map((item)=>getOptionDefinition(item))// Filter out undefined values that `getOptionDefinition` might return.\n .filter((option)=>option !== undefined);\n}\n// Default named presets map. Always create a new instance of the preset object in order to avoid modifying references.\nconst namedPresets = {\n get tiny () {\n return {\n title: 'Tiny',\n model: 'tiny',\n view: {\n name: 'span',\n classes: 'text-tiny',\n priority: 7\n }\n };\n },\n get small () {\n return {\n title: 'Small',\n model: 'small',\n view: {\n name: 'span',\n classes: 'text-small',\n priority: 7\n }\n };\n },\n get big () {\n return {\n title: 'Big',\n model: 'big',\n view: {\n name: 'span',\n classes: 'text-big',\n priority: 7\n }\n };\n },\n get huge () {\n return {\n title: 'Huge',\n model: 'huge',\n view: {\n name: 'span',\n classes: 'text-huge',\n priority: 7\n }\n };\n }\n};\n/**\n * Returns an option definition either from preset or creates one from number shortcut.\n * If object is passed then this method will return it without alternating it. Returns undefined for item than cannot be parsed.\n */ function getOptionDefinition(option) {\n if (typeof option === 'number') {\n option = String(option);\n }\n // Check whether passed option is a full item definition provided by user in configuration.\n if (typeof option === 'object' && isFullItemDefinition(option)) {\n return attachPriority(option);\n }\n const preset = findPreset(option);\n // Item is a named preset.\n if (preset) {\n return attachPriority(preset);\n }\n // 'Default' font size. It will be used to remove the fontSize attribute.\n if (option === 'default') {\n return {\n model: undefined,\n title: 'Default'\n };\n }\n // At this stage we probably have numerical value to generate a preset so parse it's value.\n // Discard any faulty values.\n if (isNumericalDefinition(option)) {\n return undefined;\n }\n // Return font size definition from size value.\n return generatePixelPreset(option);\n}\n/**\n * Creates a predefined preset for pixel size.\n * @param definition Font size in pixels.\n * @returns\n */ function generatePixelPreset(definition) {\n // Extend a short (numeric value) definition.\n if (typeof definition === 'string') {\n definition = {\n title: definition,\n model: `${parseFloat(definition)}px`\n };\n }\n definition.view = {\n name: 'span',\n styles: {\n 'font-size': definition.model\n }\n };\n return attachPriority(definition);\n}\n/**\n * Adds the priority to the view element definition if missing. It's required due to ckeditor/ckeditor5#2291\n */ function attachPriority(definition) {\n if (definition.view && typeof definition.view !== 'string' && !definition.view.priority) {\n definition.view.priority = 7;\n }\n return definition;\n}\n/**\n * Returns a prepared preset definition. If passed an object, a name of preset should be defined as `model` value.\n *\n * @param definition.model A preset name.\n */ function findPreset(definition) {\n return typeof definition === 'string' ? namedPresets[definition] : namedPresets[definition.model];\n}\n/**\n * We treat `definition` as completed if it is an object that contains `title`, `model` and `view` values.\n */ function isFullItemDefinition(definition) {\n return definition.title && definition.model && definition.view;\n}\nfunction isNumericalDefinition(definition) {\n let numberValue;\n if (typeof definition === 'object') {\n if (!definition.model) {\n /**\n\t\t\t * Provided value as an option for {@link module:font/fontsize~FontSize} seems to invalid.\n\t\t\t *\n\t\t\t * See valid examples described in the {@link module:font/fontconfig~FontSizeConfig#options plugin configuration}.\n\t\t\t *\n\t\t\t * @error font-size-invalid-definition\n\t\t\t */ throw new CKEditorError('font-size-invalid-definition', null, definition);\n } else {\n numberValue = parseFloat(definition.model);\n }\n } else {\n numberValue = parseFloat(definition);\n }\n return isNaN(numberValue);\n}\n\n// Mapping of `<font size=\"..\">` styling to CSS's `font-size` values.\nconst styleFontSize = [\n 'x-small',\n 'x-small',\n 'small',\n 'medium',\n 'large',\n 'x-large',\n 'xx-large',\n 'xxx-large'\n];\n/**\n * The font size editing feature.\n *\n * It introduces the {@link module:font/fontsize/fontsizecommand~FontSizeCommand command} and the `fontSize`\n * attribute in the {@link module:engine/model/model~Model model} which renders in the {@link module:engine/view/view view}\n * as a `<span>` element with either:\n * * a style attribute (`<span style=\"font-size:12px\">...</span>`),\n * * or a class attribute (`<span class=\"text-small\">...</span>`)\n *\n * depending on the {@link module:font/fontconfig~FontSizeConfig configuration}.\n */ class FontSizeEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontSizeEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n // Define default configuration using named presets.\n editor.config.define(FONT_SIZE, {\n options: [\n 'tiny',\n 'small',\n 'default',\n 'big',\n 'huge'\n ],\n supportAllValues: false\n });\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n // Allow fontSize attribute on text nodes.\n editor.model.schema.extend('$text', {\n allowAttributes: FONT_SIZE\n });\n editor.model.schema.setAttributeProperties(FONT_SIZE, {\n isFormatting: true,\n copyOnEnter: true\n });\n const supportAllValues = editor.config.get('fontSize.supportAllValues');\n // Define view to model conversion.\n const options = normalizeOptions(this.editor.config.get('fontSize.options')).filter((item)=>item.model);\n const definition = buildDefinition(FONT_SIZE, options);\n // Set-up the two-way conversion.\n if (supportAllValues) {\n this._prepareAnyValueConverters(definition);\n this._prepareCompatibilityConverter();\n } else {\n editor.conversion.attributeToElement(definition);\n }\n // Add FontSize command.\n editor.commands.add(FONT_SIZE, new FontSizeCommand(editor));\n }\n /**\n\t * These converters enable keeping any value found as `style=\"font-size: *\"` as a value of an attribute on a text even\n\t * if it is not defined in the plugin configuration.\n\t *\n\t * @param definition Converter definition out of input data.\n\t */ _prepareAnyValueConverters(definition) {\n const editor = this.editor;\n // If `fontSize.supportAllValues=true`, we do not allow to use named presets in the plugin's configuration.\n const presets = definition.model.values.filter((value)=>{\n return !isLengthStyleValue(String(value)) && !isPercentageStyleValue(String(value));\n });\n if (presets.length) {\n /**\n\t\t\t * If {@link module:font/fontconfig~FontSizeConfig#supportAllValues `config.fontSize.supportAllValues`} is `true`,\n\t\t\t * you need to use numerical values as font size options.\n\t\t\t *\n\t\t\t * See valid examples described in the {@link module:font/fontconfig~FontSizeConfig#options plugin configuration}.\n\t\t\t *\n\t\t\t * @error font-size-invalid-use-of-named-presets\n\t\t\t * @param {Array.<string>} presets Invalid values.\n\t\t\t */ throw new CKEditorError('font-size-invalid-use-of-named-presets', null, {\n presets\n });\n }\n editor.conversion.for('downcast').attributeToElement({\n model: FONT_SIZE,\n view: (attributeValue, { writer })=>{\n if (!attributeValue) {\n return;\n }\n return writer.createAttributeElement('span', {\n style: 'font-size:' + attributeValue\n }, {\n priority: 7\n });\n }\n });\n editor.conversion.for('upcast').elementToAttribute({\n model: {\n key: FONT_SIZE,\n value: (viewElement)=>viewElement.getStyle('font-size')\n },\n view: {\n name: 'span',\n styles: {\n 'font-size': /.*/\n }\n }\n });\n }\n /**\n\t * Adds support for legacy `<font size=\"..\">` formatting.\n\t */ _prepareCompatibilityConverter() {\n const editor = this.editor;\n editor.conversion.for('upcast').elementToAttribute({\n view: {\n name: 'font',\n attributes: {\n // Documentation mentions sizes from 1 to 7. To handle old content we support all values\n // up to 999 but clamp it to the valid range. Why 999? It should cover accidental values\n // similar to percentage, e.g. 100%, 200% which could be the usual mistake for font size.\n 'size': /^[+-]?\\d{1,3}$/\n }\n },\n model: {\n key: FONT_SIZE,\n value: (viewElement)=>{\n const value = viewElement.getAttribute('size');\n const isRelative = value[0] === '-' || value[0] === '+';\n let size = parseInt(value, 10);\n if (isRelative) {\n // Add relative size (which can be negative) to the default size = 3.\n size = 3 + size;\n }\n const maxSize = styleFontSize.length - 1;\n const clampedSize = Math.min(Math.max(size, 0), maxSize);\n return styleFontSize[clampedSize];\n }\n }\n });\n }\n}\n\n/**\n * The font size UI plugin. It introduces the `'fontSize'` dropdown.\n */ class FontSizeUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontSizeUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const t = editor.t;\n const options = this._getLocalizedOptions();\n const command = editor.commands.get(FONT_SIZE);\n const accessibleLabel = t('Font Size');\n const listOptions = _prepareListOptions(options, command);\n // Register UI component.\n editor.ui.componentFactory.add(FONT_SIZE, (locale)=>{\n const dropdownView = createDropdown(locale);\n addListToDropdown(dropdownView, listOptions, {\n role: 'menu',\n ariaLabel: accessibleLabel\n });\n // Create dropdown model.\n dropdownView.buttonView.set({\n label: accessibleLabel,\n icon: IconFontSize,\n tooltip: true\n });\n dropdownView.extendTemplate({\n attributes: {\n class: [\n 'ck-font-size-dropdown'\n ]\n }\n });\n dropdownView.bind('isEnabled').to(command);\n // Execute command when an item from the dropdown is selected.\n this.listenTo(dropdownView, 'execute', (evt)=>{\n editor.execute(evt.source.commandName, {\n value: evt.source.commandParam\n });\n editor.editing.view.focus();\n });\n return dropdownView;\n });\n editor.ui.componentFactory.add(`menuBar:${FONT_SIZE}`, (locale)=>{\n const menuView = new MenuBarMenuView(locale);\n menuView.buttonView.set({\n label: accessibleLabel,\n icon: IconFontSize\n });\n menuView.bind('isEnabled').to(command);\n const listView = new MenuBarMenuListView(locale);\n for (const definition of listOptions){\n const listItemView = new MenuBarMenuListItemView(locale, menuView);\n const buttonView = new MenuBarMenuListItemButtonView(locale);\n buttonView.set({\n role: 'menuitemradio',\n isToggleable: true\n });\n buttonView.bind(...Object.keys(definition.model)).to(definition.model);\n buttonView.delegate('execute').to(menuView);\n buttonView.on('execute', ()=>{\n editor.execute(definition.model.commandName, {\n value: definition.model.commandParam\n });\n editor.editing.view.focus();\n });\n listItemView.children.add(buttonView);\n listView.items.add(listItemView);\n }\n menuView.panelView.children.add(listView);\n return menuView;\n });\n }\n /**\n\t * Returns options as defined in `config.fontSize.options` but processed to account for\n\t * editor localization, i.e. to display {@link module:font/fontconfig~FontSizeOption}\n\t * in the correct language.\n\t *\n\t * Note: The reason behind this method is that there is no way to use {@link module:utils/locale~Locale#t}\n\t * when the user configuration is defined because the editor does not exist yet.\n\t */ _getLocalizedOptions() {\n const editor = this.editor;\n const t = editor.t;\n const localizedTitles = {\n Default: t('Default'),\n Tiny: t('Tiny'),\n Small: t('Small'),\n Big: t('Big'),\n Huge: t('Huge')\n };\n const options = normalizeOptions(editor.config.get(FONT_SIZE).options);\n return options.map((option)=>{\n const title = localizedTitles[option.title];\n if (title && title != option.title) {\n // Clone the option to avoid altering the original `namedPresets` from `./utils.js`.\n option = Object.assign({}, option, {\n title\n });\n }\n return option;\n });\n }\n}\n/**\n * Prepares FontSize dropdown items.\n */ function _prepareListOptions(options, command) {\n const itemDefinitions = new Collection();\n for (const option of options){\n const def = {\n type: 'button',\n model: new UIModel({\n commandName: FONT_SIZE,\n commandParam: option.model,\n label: option.title,\n class: 'ck-fontsize-option',\n role: 'menuitemradio',\n withText: true\n })\n };\n if (option.view && typeof option.view !== 'string') {\n if (option.view.styles) {\n def.model.set('labelStyle', `font-size:${option.view.styles['font-size']}`);\n }\n if (option.view.classes) {\n def.model.set('class', `${def.model.class} ${option.view.classes}`);\n }\n }\n def.model.bind('isOn').to(command, 'value', (value)=>value === option.model);\n // Add the option to the collection.\n itemDefinitions.add(def);\n }\n return itemDefinitions;\n}\n\n/**\n * The font size plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontsize/fontsizeediting~FontSizeEditing} and\n * {@link module:font/fontsize/fontsizeui~FontSizeUI} features in the editor.\n */ class FontSize extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FontSizeEditing,\n FontSizeUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontSize';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * Normalizes and translates the {@link module:font/fontconfig~FontSizeConfig#options configuration options}\n\t * to the {@link module:font/fontconfig~FontSizeOption} format.\n\t *\n\t * @param options An array of options taken from the configuration.\n\t */ normalizeSizeOptions(options) {\n return normalizeOptions(options);\n }\n}\n\n/**\n * The font color command. It is used by {@link module:font/fontcolor/fontcolorediting~FontColorEditing}\n * to apply the font color.\n *\n * ```ts\n * editor.execute( 'fontColor', { value: 'rgb(250, 20, 20)' } );\n * ```\n *\n * **Note**: Executing the command with the `null` value removes the attribute from the model.\n */ class FontColorCommand extends FontCommand {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor, FONT_COLOR);\n }\n}\n\n/**\n * The font color editing feature.\n *\n * It introduces the {@link module:font/fontcolor/fontcolorcommand~FontColorCommand command} and\n * the `fontColor` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as a `<span>` element (`<span style=\"color: ...\">`),\n * depending on the {@link module:font/fontconfig~FontColorConfig configuration}.\n */ class FontColorEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontColorEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n editor.config.define(FONT_COLOR, {\n colors: [\n {\n color: 'hsl(0, 0%, 0%)',\n label: 'Black'\n },\n {\n color: 'hsl(0, 0%, 30%)',\n label: 'Dim grey'\n },\n {\n color: 'hsl(0, 0%, 60%)',\n label: 'Grey'\n },\n {\n color: 'hsl(0, 0%, 90%)',\n label: 'Light grey'\n },\n {\n color: 'hsl(0, 0%, 100%)',\n label: 'White',\n hasBorder: true\n },\n {\n color: 'hsl(0, 75%, 60%)',\n label: 'Red'\n },\n {\n color: 'hsl(30, 75%, 60%)',\n label: 'Orange'\n },\n {\n color: 'hsl(60, 75%, 60%)',\n label: 'Yellow'\n },\n {\n color: 'hsl(90, 75%, 60%)',\n label: 'Light green'\n },\n {\n color: 'hsl(120, 75%, 60%)',\n label: 'Green'\n },\n {\n color: 'hsl(150, 75%, 60%)',\n label: 'Aquamarine'\n },\n {\n color: 'hsl(180, 75%, 60%)',\n label: 'Turquoise'\n },\n {\n color: 'hsl(210, 75%, 60%)',\n label: 'Light blue'\n },\n {\n color: 'hsl(240, 75%, 60%)',\n label: 'Blue'\n },\n {\n color: 'hsl(270, 75%, 60%)',\n label: 'Purple'\n }\n ],\n columns: 5\n });\n editor.conversion.for('upcast').elementToAttribute({\n view: {\n name: 'span',\n styles: {\n 'color': /[\\s\\S]+/\n }\n },\n model: {\n key: FONT_COLOR,\n value: renderUpcastAttribute('color')\n }\n });\n // Support legacy `<font color=\"..\">` formatting.\n editor.conversion.for('upcast').elementToAttribute({\n view: {\n name: 'font',\n attributes: {\n 'color': /^#?\\w+$/\n }\n },\n model: {\n key: FONT_COLOR,\n value: (viewElement)=>viewElement.getAttribute('color')\n }\n });\n editor.conversion.for('downcast').attributeToElement({\n model: FONT_COLOR,\n view: renderDowncastElement('color')\n });\n editor.commands.add(FONT_COLOR, new FontColorCommand(editor));\n // Allow the font color attribute on text nodes.\n editor.model.schema.extend('$text', {\n allowAttributes: FONT_COLOR\n });\n editor.model.schema.setAttributeProperties(FONT_COLOR, {\n isFormatting: true,\n copyOnEnter: true\n });\n }\n}\n\n/**\n * The color UI plugin which isolates the common logic responsible for displaying dropdowns with color grids.\n *\n * It is used to create the `'fontBackgroundColor'` and `'fontColor'` dropdowns, each hosting\n * a {@link module:ui/colorselector/colorselectorview~ColorSelectorView}.\n */ class FontColorUIBase extends Plugin {\n /**\n\t * The name of the command which will be executed when a color tile is clicked.\n\t */ commandName;\n /**\n\t * The name of this component in the {@link module:ui/componentfactory~ComponentFactory}.\n\t * Also the configuration scope name in `editor.config`.\n\t */ componentName;\n /**\n\t * The SVG icon used by the dropdown.\n\t */ icon;\n /**\n\t * The label used by the dropdown.\n\t */ dropdownLabel;\n /**\n\t * The number of columns in the color grid.\n\t */ columns;\n /**\n\t * Creates a plugin which introduces a dropdown with a pre–configured\n\t * {@link module:ui/colorselector/colorselectorview~ColorSelectorView}.\n\t *\n\t * @param editor An editor instance.\n\t * @param config The configuration object.\n\t * @param config.commandName The name of the command which will be executed when a color tile is clicked.\n\t * @param config.componentName The name of the dropdown in the {@link module:ui/componentfactory~ComponentFactory}\n\t * and the configuration scope name in `editor.config`.\n\t * @param config.icon The SVG icon used by the dropdown.\n\t * @param config.dropdownLabel The label used by the dropdown.\n\t */ constructor(editor, { commandName, componentName, icon, dropdownLabel }){\n super(editor);\n this.commandName = commandName;\n this.componentName = componentName;\n this.icon = icon;\n this.dropdownLabel = dropdownLabel;\n this.columns = editor.config.get(`${this.componentName}.columns`);\n }\n /**\n\t* @inheritDoc\n\t*/ init() {\n const editor = this.editor;\n const locale = editor.locale;\n const t = locale.t;\n const command = editor.commands.get(this.commandName);\n const componentConfig = editor.config.get(this.componentName);\n const colorsConfig = normalizeColorOptions(componentConfig.colors);\n const localizedColors = getLocalizedColorOptions(locale, colorsConfig);\n const documentColorsCount = componentConfig.documentColors;\n const hasColorPicker = componentConfig.colorPicker !== false;\n // Register the UI component.\n editor.ui.componentFactory.add(this.componentName, (locale)=>{\n const dropdownView = createDropdown(locale);\n // Font color dropdown rendering is deferred once it gets open to improve performance (#6192).\n let dropdownContentRendered = false;\n const colorSelectorView = addColorSelectorToDropdown({\n dropdownView,\n colors: localizedColors.map((option)=>({\n label: option.label,\n color: option.model,\n options: {\n hasBorder: option.hasBorder\n }\n })),\n columns: this.columns,\n removeButtonLabel: t('Remove color'),\n colorPickerLabel: t('Color picker'),\n documentColorsLabel: documentColorsCount !== 0 ? t('Document colors') : '',\n documentColorsCount: documentColorsCount === undefined ? this.columns : documentColorsCount,\n colorPickerViewConfig: hasColorPicker ? componentConfig.colorPicker || {} : false\n });\n colorSelectorView.bind('selectedColor').to(command, 'value');\n dropdownView.buttonView.set({\n label: this.dropdownLabel,\n icon: this.icon,\n tooltip: true\n });\n dropdownView.extendTemplate({\n attributes: {\n class: 'ck-color-ui-dropdown'\n }\n });\n dropdownView.bind('isEnabled').to(command);\n colorSelectorView.on('execute', (evt, data)=>{\n if (dropdownView.isOpen) {\n editor.execute(this.commandName, {\n value: data.value,\n batch: this._undoStepBatch\n });\n }\n if (data.source !== 'colorPicker') {\n editor.editing.view.focus();\n }\n if (data.source === 'colorPickerSaveButton') {\n dropdownView.isOpen = false;\n }\n });\n colorSelectorView.on('colorPicker:show', ()=>{\n this._undoStepBatch = editor.model.createBatch();\n });\n colorSelectorView.on('colorPicker:cancel', ()=>{\n if (this._undoStepBatch.operations.length) {\n // We need to close the dropdown before the undo batch.\n // Otherwise, FontColorUIBase treats undo as a selected color change,\n // propagating the update to the whole selection.\n // That's an issue if spans with various colors were selected.\n dropdownView.isOpen = false;\n editor.execute('undo', this._undoStepBatch);\n }\n editor.editing.view.focus();\n });\n dropdownView.on('change:isOpen', (evt, name, isVisible)=>{\n if (!dropdownContentRendered) {\n dropdownContentRendered = true;\n dropdownView.colorSelectorView.appendUI();\n }\n if (isVisible) {\n if (documentColorsCount !== 0) {\n colorSelectorView.updateDocumentColors(editor.model, this.componentName);\n }\n colorSelectorView.updateSelectedColors();\n colorSelectorView.showColorGridsFragment();\n }\n });\n // Accessibility: focus the first active color when opening the dropdown.\n focusChildOnDropdownOpen(dropdownView, ()=>dropdownView.colorSelectorView.colorGridsFragmentView.staticColorsGrid.items.find((item)=>item.isOn));\n return dropdownView;\n });\n // Register menu bar button..\n editor.ui.componentFactory.add(`menuBar:${this.componentName}`, (locale)=>{\n const menuView = new MenuBarMenuView(locale);\n menuView.buttonView.set({\n label: this.dropdownLabel,\n icon: this.icon\n });\n menuView.bind('isEnabled').to(command);\n // Font color sub-menu rendering is deferred once it gets open to improve performance (#6192).\n let contentRendered = false;\n const colorSelectorView = new ColorSelectorView(locale, {\n colors: localizedColors.map((option)=>({\n label: option.label,\n color: option.model,\n options: {\n hasBorder: option.hasBorder\n }\n })),\n columns: this.columns,\n removeButtonLabel: t('Remove color'),\n colorPickerLabel: t('Color picker'),\n documentColorsLabel: documentColorsCount !== 0 ? t('Document colors') : '',\n documentColorsCount: documentColorsCount === undefined ? this.columns : documentColorsCount,\n colorPickerViewConfig: false\n });\n colorSelectorView.bind('selectedColor').to(command, 'value');\n colorSelectorView.delegate('execute').to(menuView);\n colorSelectorView.on('execute', (evt, data)=>{\n editor.execute(this.commandName, {\n value: data.value,\n batch: this._undoStepBatch\n });\n editor.editing.view.focus();\n });\n menuView.on('change:isOpen', (evt, name, isVisible)=>{\n if (!contentRendered) {\n contentRendered = true;\n colorSelectorView.appendUI();\n }\n if (isVisible) {\n if (documentColorsCount !== 0) {\n colorSelectorView.updateDocumentColors(editor.model, this.componentName);\n }\n colorSelectorView.updateSelectedColors();\n colorSelectorView.showColorGridsFragment();\n }\n });\n menuView.panelView.children.add(colorSelectorView);\n return menuView;\n });\n }\n}\n\n/**\n * The font color UI plugin. It introduces the `'fontColor'` dropdown.\n */ class FontColorUI extends FontColorUIBase {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n const t = editor.locale.t;\n super(editor, {\n commandName: FONT_COLOR,\n componentName: FONT_COLOR,\n icon: IconFontColor,\n dropdownLabel: t('Font Color')\n });\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontColorUI';\n }\n}\n\n/**\n * The font color plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontcolor/fontcolorediting~FontColorEditing} and\n * {@link module:font/fontcolor/fontcolorui~FontColorUI} features in the editor.\n */ class FontColor extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FontColorEditing,\n FontColorUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontColor';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\n/**\n * The font background color command. It is used by\n * {@link module:font/fontbackgroundcolor/fontbackgroundcolorediting~FontBackgroundColorEditing}\n * to apply the font background color.\n *\n * ```ts\n * editor.execute( 'fontBackgroundColor', { value: 'rgb(250, 20, 20)' } );\n * ```\n *\n * **Note**: Executing the command with the `null` value removes the attribute from the model.\n */ class FontBackgroundColorCommand extends FontCommand {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor, FONT_BACKGROUND_COLOR);\n }\n}\n\n/**\n * The font background color editing feature.\n *\n * It introduces the {@link module:font/fontbackgroundcolor/fontbackgroundcolorcommand~FontBackgroundColorCommand command} and\n * the `fontBackgroundColor` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as a `<span>` element (`<span style=\"background-color: ...\">`),\n * depending on the {@link module:font/fontconfig~FontColorConfig configuration}.\n */ class FontBackgroundColorEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontBackgroundColorEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n editor.config.define(FONT_BACKGROUND_COLOR, {\n colors: [\n {\n color: 'hsl(0, 0%, 0%)',\n label: 'Black'\n },\n {\n color: 'hsl(0, 0%, 30%)',\n label: 'Dim grey'\n },\n {\n color: 'hsl(0, 0%, 60%)',\n label: 'Grey'\n },\n {\n color: 'hsl(0, 0%, 90%)',\n label: 'Light grey'\n },\n {\n color: 'hsl(0, 0%, 100%)',\n label: 'White',\n hasBorder: true\n },\n {\n color: 'hsl(0, 75%, 60%)',\n label: 'Red'\n },\n {\n color: 'hsl(30, 75%, 60%)',\n label: 'Orange'\n },\n {\n color: 'hsl(60, 75%, 60%)',\n label: 'Yellow'\n },\n {\n color: 'hsl(90, 75%, 60%)',\n label: 'Light green'\n },\n {\n color: 'hsl(120, 75%, 60%)',\n label: 'Green'\n },\n {\n color: 'hsl(150, 75%, 60%)',\n label: 'Aquamarine'\n },\n {\n color: 'hsl(180, 75%, 60%)',\n label: 'Turquoise'\n },\n {\n color: 'hsl(210, 75%, 60%)',\n label: 'Light blue'\n },\n {\n color: 'hsl(240, 75%, 60%)',\n label: 'Blue'\n },\n {\n color: 'hsl(270, 75%, 60%)',\n label: 'Purple'\n }\n ],\n columns: 5\n });\n editor.data.addStyleProcessorRules(addBackgroundStylesRules);\n editor.conversion.for('upcast').elementToAttribute({\n view: {\n name: 'span',\n styles: {\n 'background-color': /[\\s\\S]+/\n }\n },\n model: {\n key: FONT_BACKGROUND_COLOR,\n value: renderUpcastAttribute('background-color')\n }\n });\n editor.conversion.for('downcast').attributeToElement({\n model: FONT_BACKGROUND_COLOR,\n view: renderDowncastElement('background-color')\n });\n editor.commands.add(FONT_BACKGROUND_COLOR, new FontBackgroundColorCommand(editor));\n // Allow the font backgroundColor attribute on text nodes.\n editor.model.schema.extend('$text', {\n allowAttributes: FONT_BACKGROUND_COLOR\n });\n editor.model.schema.setAttributeProperties(FONT_BACKGROUND_COLOR, {\n isFormatting: true,\n copyOnEnter: true\n });\n }\n}\n\n/**\n * The font background color UI plugin. It introduces the `'fontBackgroundColor'` dropdown.\n */ class FontBackgroundColorUI extends FontColorUIBase {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n const t = editor.locale.t;\n super(editor, {\n commandName: FONT_BACKGROUND_COLOR,\n componentName: FONT_BACKGROUND_COLOR,\n icon: IconFontBackground,\n dropdownLabel: t('Font Background Color')\n });\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontBackgroundColorUI';\n }\n}\n\n/**\n * The font background color plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads\n * the {@link module:font/fontbackgroundcolor/fontbackgroundcolorediting~FontBackgroundColorEditing} and\n * {@link module:font/fontbackgroundcolor/fontbackgroundcolorui~FontBackgroundColorUI} features in the editor.\n */ class FontBackgroundColor extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FontBackgroundColorEditing,\n FontBackgroundColorUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FontBackgroundColor';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\n/**\n * A plugin that enables a set of text styling features:\n *\n * * {@link module:font/fontsize~FontSize},\n * * {@link module:font/fontfamily~FontFamily}.\n * * {@link module:font/fontcolor~FontColor},\n * * {@link module:font/fontbackgroundcolor~FontBackgroundColor}.\n *\n * For a detailed overview, check the {@glink features/font Font feature} documentation\n * and the {@glink api/font package page}.\n */ class Font extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FontFamily,\n FontSize,\n FontColor,\n FontBackgroundColor\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'Font';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\nexport { Font, FontBackgroundColor, FontBackgroundColorCommand, FontBackgroundColorEditing, FontBackgroundColorUI, FontColor, FontColorCommand, FontColorEditing, FontColorUI, FontColorUIBase, FontCommand, FontFamily, FontFamilyCommand, FontFamilyEditing, FontFamilyUI, FontSize, FontSizeCommand, FontSizeEditing, FontSizeUI, addColorSelectorToDropdown as _addFontColorSelectorToDropdown, buildDefinition as _buildFontDefinition, normalizeOptions$1 as _normalizeFontFamilyOptions, normalizeOptions as _normalizeFontSizeOptions, renderDowncastElement as _renderDowncastFontElement, renderUpcastAttribute as _renderUpcastFontColorAttribute };\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 font/fontcommand\n */\n\nimport { Command, type Editor } from 'ckeditor5/src/core.js';\nimport { type Batch, type ModelWriter } from 'ckeditor5/src/engine.js';\n\n/**\n * The base font command.\n */\nexport abstract class FontCommand extends Command {\n\t/**\n\t * When set, it reflects the {@link #attributeKey} value of the selection.\n\t *\n\t * @observable\n\t * @readonly\n\t */\n\tdeclare public value: string;\n\n\t/**\n\t * A model attribute on which this command operates.\n\t */\n\tpublic readonly attributeKey: string;\n\n\t/**\n\t * Creates an instance of the command.\n\t *\n\t * @param editor Editor instance.\n\t * @param attributeKey The name of a model attribute on which this command operates.\n\t */\n\tconstructor( editor: Editor, attributeKey: string ) {\n\t\tsuper( editor );\n\n\t\tthis.attributeKey = attributeKey;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override refresh(): void {\n\t\tconst model = this.editor.model;\n\t\tconst doc = model.document;\n\n\t\tthis.value = doc.selection.getAttribute( this.attributeKey ) as string;\n\t\tthis.isEnabled = model.schema.checkAttributeInSelection( doc.selection, this.attributeKey );\n\t}\n\n\t/**\n\t * Executes the command. Applies the `value` of the {@link #attributeKey} to the selection.\n\t * If no `value` is passed, it removes the attribute from the selection.\n\t *\n\t * @param options Options for the executed command.\n\t * @param options.value The value to apply.\n\t * @fires execute\n\t */\n\tpublic override execute( options: { value?: string; batch?: Batch } = {} ): void {\n\t\tconst model = this.editor.model;\n\t\tconst document = model.document;\n\t\tconst selection = document.selection;\n\n\t\tconst value = options.value;\n\t\tconst batch = options.batch;\n\n\t\tconst updateAttribute = ( writer: ModelWriter ) => {\n\t\t\tif ( selection.isCollapsed ) {\n\t\t\t\tif ( value ) {\n\t\t\t\t\twriter.setSelectionAttribute( this.attributeKey, value );\n\t\t\t\t} else {\n\t\t\t\t\twriter.removeSelectionAttribute( this.attributeKey );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst ranges = model.schema.getValidRanges( selection.getRanges(), this.attributeKey );\n\n\t\t\t\tfor ( const range of ranges ) {\n\t\t\t\t\tif ( value ) {\n\t\t\t\t\t\twriter.setAttribute( this.attributeKey, value, range );\n\t\t\t\t\t} else {\n\t\t\t\t\t\twriter.removeAttribute( this.attributeKey, range );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// In some scenarios, you may want to use a single undo step for multiple changes (e.g. in color picker).\n\t\tif ( batch ) {\n\t\t\tmodel.enqueueChange( batch, writer => {\n\t\t\t\tupdateAttribute( writer );\n\t\t\t} );\n\t\t} else {\n\t\t\tmodel.change( writer => {\n\t\t\t\tupdateAttribute( writer );\n\t\t\t} );\n\t\t}\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 font/utils\n */\n\nimport type { FontFamilyOption, FontSizeOption } from './fontconfig.js';\nimport { ColorSelectorView, type ColorDefinition, type ColorPickerViewConfig, type DropdownView } from 'ckeditor5/src/ui.js';\nimport type { ArrayOrItem } from 'ckeditor5/src/utils.js';\nimport type {\n\tViewAttributeElement,\n\tViewElement,\n\tMatcherPattern,\n\tViewElementDefinition,\n\tDowncastConversionApi\n} from 'ckeditor5/src/engine.js';\n\n/**\n * The name of the font size plugin.\n */\nexport const FONT_SIZE = 'fontSize';\n\n/**\n * The name of the font family plugin.\n */\nexport const FONT_FAMILY = 'fontFamily';\n\n/**\n * The name of the font color plugin.\n */\nexport const FONT_COLOR = 'fontColor';\n\n/**\n * The name of the font background color plugin.\n */\nexport const FONT_BACKGROUND_COLOR = 'fontBackgroundColor';\n\n/**\n * Builds a proper converter definition out of input data.\n *\n * @internal\n */\nexport function buildDefinition(\n\tmodelAttributeKey: string,\n\toptions: Array<FontFamilyOption> | Array<FontSizeOption>\n): FontConverterDefinition {\n\tconst definition: FontConverterDefinition = {\n\t\tmodel: {\n\t\t\tkey: modelAttributeKey,\n\t\t\tvalues: []\n\t\t},\n\t\tview: {},\n\t\tupcastAlso: {}\n\t};\n\n\tfor ( const option of options ) {\n\t\tdefinition.model.values.push( option.model! );\n\t\tdefinition.view[ option.model! ] = option.view!;\n\n\t\tif ( option.upcastAlso ) {\n\t\t\tdefinition.upcastAlso[ option.model! ] = option.upcastAlso;\n\t\t}\n\t}\n\n\treturn definition;\n}\n\n/**\n * @internal\n */\nexport type FontConverterDefinition = {\n\tmodel: { key: string; values: Array<string> };\n\tview: Record<string, ViewElementDefinition>;\n\tupcastAlso: Record<string, ArrayOrItem<MatcherPattern>>;\n};\n\n/**\n * A {@link module:font/fontcolor~FontColor font color} and\n * {@link module:font/fontbackgroundcolor~FontBackgroundColor font background color} helper\n * responsible for upcasting data to the model.\n *\n * **Note**: The `styleAttr` parameter should be either `'color'` or `'background-color'`.\n *\n * @internal\n */\nexport function renderUpcastAttribute( styleAttr: string ) {\n\treturn ( viewElement: ViewElement ): string => normalizeColorCode( viewElement.getStyle( styleAttr )! );\n}\n\n/**\n * A {@link module:font/fontcolor~FontColor font color} and\n * {@link module:font/fontbackgroundcolor~FontBackgroundColor font background color} helper\n * responsible for downcasting a color attribute to a `<span>` element.\n *\n * **Note**: The `styleAttr` parameter should be either `'color'` or `'background-color'`.\n *\n * @internal\n */\nexport function renderDowncastElement( styleAttr: string ) {\n\treturn ( modelAttributeValue: string, { writer }: DowncastConversionApi ): ViewAttributeElement =>\n\t\twriter.createAttributeElement( 'span', {\n\t\t\tstyle: `${ styleAttr }:${ modelAttributeValue }`\n\t\t}, { priority: 7 } );\n}\n\n/**\n * A helper that adds {@link module:ui/colorselector/colorselectorview~ColorSelectorView} to the color dropdown with proper initial values.\n *\n * @param options Configuration options\n * @param options.dropdownView The dropdown view to which a {@link module:ui/colorselector/colorselectorview~ColorSelectorView}\n * will be added.\n * @param options.colors An array with definitions representing colors to be displayed in the color selector.\n * @param options.columns The number of columns in the color grid.\n * @param options.removeButtonLabel The label for the button responsible for removing the color.\n * @param options.colorPickerLabel The label for the color picker button.\n * @param options.documentColorsLabel The label for the section with document colors.\n * @param options.documentColorsCount The number of document colors inside the dropdown.\n * @param options.colorPickerViewConfig Configuration of the color picker view.\n * @returns The new color selector view.\n * @internal\n */\nexport function addColorSelectorToDropdown(\n\t{\n\t\tdropdownView, colors, columns, removeButtonLabel, colorPickerLabel,\n\t\tdocumentColorsLabel, documentColorsCount, colorPickerViewConfig\n\t}: {\n\t\tdropdownView: FontColorSelectorDropdownView;\n\t\tcolors: Array<ColorDefinition>;\n\t\tcolumns: number;\n\t\tremoveButtonLabel: string;\n\t\tcolorPickerLabel: string;\n\t\tdocumentColorsLabel?: string;\n\t\tdocumentColorsCount?: number;\n\t\tcolorPickerViewConfig: ColorPickerViewConfig | false;\n\t}\n): ColorSelectorView {\n\tconst locale = dropdownView.locale!;\n\tconst colorSelectorView = new ColorSelectorView( locale, {\n\t\tcolors,\n\t\tcolumns,\n\t\tremoveButtonLabel,\n\t\tcolorPickerLabel,\n\t\tdocumentColorsLabel,\n\t\tdocumentColorsCount,\n\t\tcolorPickerViewConfig\n\t} );\n\n\tdropdownView.colorSelectorView = colorSelectorView;\n\tdropdownView.panelView.children.add( colorSelectorView );\n\n\treturn colorSelectorView;\n}\n\n/**\n * Fixes the color value string.\n */\nfunction normalizeColorCode( value: string ): string {\n\treturn value.replace( /\\s/g, '' );\n}\n\nexport type FontColorSelectorDropdownView = DropdownView & {\n\tcolorSelectorView?: ColorSelectorView;\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 font/fontfamily/fontfamilycommand\n */\n\nimport type { Editor } from 'ckeditor5/src/core.js';\nimport { FontCommand } from '../fontcommand.js';\nimport { FONT_FAMILY } from '../utils.js';\n\n/**\n * The font family command. It is used by {@link module:font/fontfamily/fontfamilyediting~FontFamilyEditing}\n * to apply the font family.\n *\n * ```ts\n * editor.execute( 'fontFamily', { value: 'Arial' } );\n * ```\n *\n * **Note**: Executing the command without the value removes the attribute from the model.\n */\nexport class FontFamilyCommand extends FontCommand {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor, FONT_FAMILY );\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\nimport type { FontFamilyOption } from '../fontconfig.js';\n\n/**\n * @module font/fontfamily/utils\n */\n\n/**\n * Normalizes the {@link module:font/fontconfig~FontFamilyConfig#options configuration options}\n * to the {@link module:font/fontconfig~FontFamilyOption} format.\n *\n * @param configuredOptions An array of options taken from the configuration.\n * @internal\n */\nexport function normalizeOptions( configuredOptions: Array<string | FontFamilyOption> ): Array<FontFamilyOption> {\n\t// Convert options to objects.\n\treturn configuredOptions\n\t\t.map( getOptionDefinition )\n\t\t// Filter out undefined values that `getOptionDefinition` might return.\n\t\t.filter( option => option !== undefined ) as Array<FontFamilyOption>;\n}\n\n/**\n * Normalizes the CSS `font-family` property value to an array of unquoted and trimmed font faces.\n *\n * @internal\n */\nexport function normalizeFontFamilies( fontDefinition: string ): Array<string> {\n\treturn fontDefinition\n\t\t.replace( /[\"']/g, '' ).split( ',' )\n\t\t.map( name => name.trim() );\n}\n\n/**\n * Returns an option definition either created from string shortcut.\n * If object is passed then this method will return it without alternating it. Returns undefined for item than cannot be parsed.\n *\n */\nfunction getOptionDefinition( option: string | FontFamilyOption ): FontFamilyOption | undefined {\n\t// Treat any object as full item definition provided by user in configuration.\n\tif ( typeof option === 'object' ) {\n\t\treturn option;\n\t}\n\n\t// Handle 'default' string as a special case. It will be used to remove the fontFamily attribute.\n\tif ( option === 'default' ) {\n\t\treturn {\n\t\t\ttitle: 'Default',\n\t\t\tmodel: undefined\n\t\t};\n\t}\n\n\t// Ignore values that we cannot parse to a definition.\n\tif ( typeof option !== 'string' ) {\n\t\treturn undefined;\n\t}\n\n\t// Return font family definition from font string.\n\treturn generateFontPreset( option );\n}\n\n/**\n * Creates a predefined preset for pixel size. It deconstructs font-family like string into full configuration option.\n * A font definition is passed as coma delimited set of font family names. Font names might be quoted.\n *\n * @param fontDefinition A font definition form configuration.\n */\nfunction generateFontPreset( fontDefinition: string ): FontFamilyOption {\n\t// Remove quotes from font names. They will be normalized later.\n\tconst fontNames = normalizeFontFamilies( fontDefinition );\n\n\t// The first matched font name will be used as dropdown list item title and as model value.\n\tconst firstFontName = fontNames[ 0 ];\n\n\t// CSS-compatible font names.\n\tconst cssFontNames = fontNames.map( normalizeFontNameForCSS ).join( ', ' );\n\n\treturn {\n\t\ttitle: firstFontName,\n\t\tmodel: cssFontNames,\n\t\tview: {\n\t\t\tname: 'span',\n\t\t\tstyles: {\n\t\t\t\t'font-family': cssFontNames\n\t\t\t},\n\t\t\tpriority: 7\n\t\t}\n\t};\n}\n\n/**\n * Normalizes font name for the style attribute. It adds braces (') if font name contains spaces.\n */\nfunction normalizeFontNameForCSS( fontName: string ): string {\n\tfontName = fontName.trim();\n\n\t// Compound font names should be quoted.\n\tif ( fontName.indexOf( ' ' ) > 0 ) {\n\t\tfontName = `'${ fontName }'`;\n\t}\n\n\treturn fontName;\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 font/fontfamily/fontfamilyediting\n */\n\nimport { type Editor, Plugin } from 'ckeditor5/src/core.js';\nimport type { ViewElement } from 'ckeditor5/src/engine.js';\n\nimport { FontFamilyCommand } from './fontfamilycommand.js';\nimport { normalizeOptions } from './utils.js';\nimport { buildDefinition, FONT_FAMILY } from '../utils.js';\n\n/**\n * The font family editing feature.\n *\n * It introduces the {@link module:font/fontfamily/fontfamilycommand~FontFamilyCommand command} and\n * the `fontFamily` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as an inline `<span>` element (`<span style=\"font-family: Arial\">`),\n * depending on the {@link module:font/fontconfig~FontFamilyConfig configuration}.\n */\nexport class FontFamilyEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontFamilyEditing' 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\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\t// Define default configuration using font families shortcuts.\n\t\teditor.config.define( FONT_FAMILY, {\n\t\t\toptions: [\n\t\t\t\t'default',\n\t\t\t\t'Arial, Helvetica, sans-serif',\n\t\t\t\t'Courier New, Courier, monospace',\n\t\t\t\t'Georgia, serif',\n\t\t\t\t'Lucida Sans Unicode, Lucida Grande, sans-serif',\n\t\t\t\t'Tahoma, Geneva, sans-serif',\n\t\t\t\t'Times New Roman, Times, serif',\n\t\t\t\t'Trebuchet MS, Helvetica, sans-serif',\n\t\t\t\t'Verdana, Geneva, sans-serif'\n\t\t\t],\n\t\t\tsupportAllValues: false\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\t// Allow fontFamily attribute on text nodes.\n\t\teditor.model.schema.extend( '$text', { allowAttributes: FONT_FAMILY } );\n\t\teditor.model.schema.setAttributeProperties( FONT_FAMILY, {\n\t\t\tisFormatting: true,\n\t\t\tcopyOnEnter: true\n\t\t} );\n\n\t\t// Get configured font family options without \"default\" option.\n\t\tconst options = normalizeOptions(\n\t\t\teditor.config.get( 'fontFamily.options' )!\n\t\t).filter( item => item.model );\n\t\tconst definition = buildDefinition( FONT_FAMILY, options );\n\n\t\t// Set-up the two-way conversion.\n\t\tif ( editor.config.get( 'fontFamily.supportAllValues' ) ) {\n\t\t\tthis._prepareAnyValueConverters();\n\t\t\tthis._prepareCompatibilityConverter();\n\t\t} else {\n\t\t\teditor.conversion.attributeToElement( definition );\n\t\t}\n\n\t\teditor.commands.add( FONT_FAMILY, new FontFamilyCommand( editor ) );\n\t}\n\n\t/**\n\t * These converters enable keeping any value found as `style=\"font-family: *\"` as a value of an attribute on a text even\n\t * if it is not defined in the plugin configuration.\n\t */\n\tprivate _prepareAnyValueConverters(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.conversion.for( 'downcast' ).attributeToElement( {\n\t\t\tmodel: FONT_FAMILY,\n\t\t\tview: ( attributeValue, { writer } ) => {\n\t\t\t\treturn writer.createAttributeElement( 'span', { style: 'font-family:' + attributeValue }, { priority: 7 } );\n\t\t\t}\n\t\t} );\n\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_FAMILY,\n\t\t\t\tvalue: ( viewElement: ViewElement ) => viewElement.getStyle( 'font-family' )\n\t\t\t},\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tstyles: {\n\t\t\t\t\t'font-family': /.*/\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds support for legacy `<font face=\"..\">` formatting.\n\t */\n\tprivate _prepareCompatibilityConverter(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tview: {\n\t\t\t\tname: 'font',\n\t\t\t\tattributes: {\n\t\t\t\t\t'face': /.*/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_FAMILY,\n\t\t\t\tvalue: ( viewElement: ViewElement ) => viewElement.getAttribute( 'face' )\n\t\t\t}\n\t\t} );\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 font/fontfamily/fontfamilyui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { Collection } from 'ckeditor5/src/utils.js';\nimport { IconFontFamily } from 'ckeditor5/src/icons.js';\nimport {\n\tUIModel,\n\tcreateDropdown,\n\taddListToDropdown,\n\tMenuBarMenuView,\n\tMenuBarMenuListView,\n\tMenuBarMenuListItemView,\n\tMenuBarMenuListItemButtonView,\n\ttype ListDropdownButtonDefinition\n} from 'ckeditor5/src/ui.js';\n\nimport { normalizeFontFamilies, normalizeOptions } from './utils.js';\nimport { FONT_FAMILY } from '../utils.js';\n\nimport type { FontFamilyOption } from '../fontconfig.js';\nimport { type FontFamilyCommand } from './fontfamilycommand.js';\n\n/**\n * The font family UI plugin. It introduces the `'fontFamily'` dropdown.\n */\nexport class FontFamilyUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontFamilyUI' 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\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\tconst options = this._getLocalizedOptions();\n\n\t\tconst command: FontFamilyCommand = editor.commands.get( FONT_FAMILY )!;\n\t\tconst accessibleLabel = t( 'Font Family' );\n\t\tconst listOptions = _prepareListOptions( options, command );\n\n\t\t// Register UI component.\n\t\teditor.ui.componentFactory.add( FONT_FAMILY, locale => {\n\t\t\tconst dropdownView = createDropdown( locale );\n\n\t\t\taddListToDropdown( dropdownView, listOptions, {\n\t\t\t\trole: 'menu',\n\t\t\t\tariaLabel: accessibleLabel\n\t\t\t} );\n\n\t\t\tdropdownView.buttonView.set( {\n\t\t\t\tlabel: accessibleLabel,\n\t\t\t\ticon: IconFontFamily,\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\tdropdownView.extendTemplate( {\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: 'ck-font-family-dropdown'\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tdropdownView.bind( 'isEnabled' ).to( command );\n\n\t\t\t// Execute command when an item from the dropdown is selected.\n\t\t\tthis.listenTo( dropdownView, 'execute', evt => {\n\t\t\t\teditor.execute( ( evt.source as any ).commandName, { value: ( evt.source as any ).commandParam } );\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\treturn dropdownView;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( `menuBar:${ FONT_FAMILY }`, locale => {\n\t\t\tconst menuView = new MenuBarMenuView( locale );\n\n\t\t\tmenuView.buttonView.set( {\n\t\t\t\tlabel: accessibleLabel,\n\t\t\t\ticon: IconFontFamily\n\t\t\t} );\n\n\t\t\tmenuView.bind( 'isEnabled' ).to( command );\n\n\t\t\tconst listView = new MenuBarMenuListView( locale );\n\n\t\t\tfor ( const definition of listOptions ) {\n\t\t\t\tconst listItemView = new MenuBarMenuListItemView( locale, menuView );\n\t\t\t\tconst buttonView = new MenuBarMenuListItemButtonView( locale );\n\n\t\t\t\tbuttonView.set( {\n\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t\tisToggleable: true\n\t\t\t\t} );\n\n\t\t\t\tbuttonView.bind( ...Object.keys( definition.model ) as Array<keyof MenuBarMenuListItemButtonView> ).to( definition.model );\n\t\t\t\tbuttonView.delegate( 'execute' ).to( menuView );\n\n\t\t\t\tbuttonView.on( 'execute', () => {\n\t\t\t\t\teditor.execute( ( definition.model as any ).commandName, {\n\t\t\t\t\t\tvalue: ( definition.model as any ).commandParam\n\t\t\t\t\t} );\n\n\t\t\t\t\teditor.editing.view.focus();\n\t\t\t\t} );\n\n\t\t\t\tlistItemView.children.add( buttonView );\n\t\t\t\tlistView.items.add( listItemView );\n\t\t\t}\n\n\t\t\tmenuView.panelView.children.add( listView );\n\n\t\t\treturn menuView;\n\t\t} );\n\t}\n\n\t/**\n\t * Returns options as defined in `config.fontFamily.options` but processed to account for\n\t * editor localization, i.e. to display {@link module:font/fontconfig~FontFamilyOption}\n\t * in the correct language.\n\t *\n\t * Note: The reason behind this method is that there is no way to use {@link module:utils/locale~Locale#t}\n\t * when the user configuration is defined because the editor does not exist yet.\n\t */\n\tprivate _getLocalizedOptions(): Array<FontFamilyOption> {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\tconst options = normalizeOptions( ( editor.config.get( FONT_FAMILY )! ).options! );\n\n\t\treturn options.map( option => {\n\t\t\t// The only title to localize is \"Default\" others are font names.\n\t\t\tif ( option.title === 'Default' ) {\n\t\t\t\toption.title = t( 'Default' );\n\t\t\t}\n\n\t\t\treturn option;\n\t\t} );\n\t}\n}\n\n/**\n * Prepares FontFamily dropdown items.\n */\nfunction _prepareListOptions( options: Array<FontFamilyOption>, command: FontFamilyCommand ): Collection<ListDropdownButtonDefinition> {\n\tconst itemDefinitions = new Collection<ListDropdownButtonDefinition>();\n\n\t// Create dropdown items.\n\tfor ( const option of options ) {\n\t\tconst def = {\n\t\t\ttype: 'button' as const,\n\t\t\tmodel: new UIModel( {\n\t\t\t\tcommandName: FONT_FAMILY,\n\t\t\t\tcommandParam: option.model,\n\t\t\t\tlabel: option.title,\n\t\t\t\trole: 'menuitemradio',\n\t\t\t\twithText: true\n\t\t\t} )\n\t\t};\n\n\t\tdef.model.bind( 'isOn' ).to( command, 'value', value => {\n\t\t\t// \"Default\" or check in strict font-family converters mode.\n\t\t\tif ( value === option.model ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( !value || !option.model ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst valueNormalized = normalizeFontFamilies( value )[ 0 ].toLowerCase();\n\t\t\tconst optionNormalized = normalizeFontFamilies( option.model )[ 0 ].toLowerCase();\n\n\t\t\treturn valueNormalized === optionNormalized;\n\t\t} );\n\n\t\t// Try to set a dropdown list item style.\n\t\tif ( option.view && typeof option.view !== 'string' && option.view.styles ) {\n\t\t\tdef.model.set( 'labelStyle', `font-family: ${ option.view.styles[ 'font-family' ] }` );\n\t\t}\n\n\t\titemDefinitions.add( def );\n\t}\n\treturn itemDefinitions;\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 font/fontfamily\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { FontFamilyEditing } from './fontfamily/fontfamilyediting.js';\nimport { FontFamilyUI } from './fontfamily/fontfamilyui.js';\n\n/**\n * The font family plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentatiom\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontfamily/fontfamilyediting~FontFamilyEditing} and\n * {@link module:font/fontfamily/fontfamilyui~FontFamilyUI} features in the editor.\n */\nexport class FontFamily extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FontFamilyEditing, FontFamilyUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontFamily' 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","/**\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 font/fontsize/fontsizecommand\n */\n\nimport type { Editor } from 'ckeditor5/src/core.js';\nimport { FontCommand } from '../fontcommand.js';\nimport { FONT_SIZE } from '../utils.js';\n\n/**\n * The font size command. It is used by {@link module:font/fontsize/fontsizeediting~FontSizeEditing}\n * to apply the font size.\n *\n * ```ts\n * editor.execute( 'fontSize', { value: 'small' } );\n * ```\n *\n * **Note**: Executing the command without the value removes the attribute from the model.\n */\nexport class FontSizeCommand extends FontCommand {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor, FONT_SIZE );\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 font/fontsize/utils\n */\n\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\nimport { type FontSizeOption } from '../fontconfig.js';\n\n/**\n * Normalizes and translates the {@link module:font/fontconfig~FontSizeConfig#options configuration options}\n * to the {@link module:font/fontconfig~FontSizeOption} format.\n *\n * @param configuredOptions An array of options taken from the configuration.\n * @internal\n */\nexport function normalizeOptions( configuredOptions: Array<string | number | FontSizeOption> ): Array<FontSizeOption> {\n\t// Convert options to objects.\n\treturn configuredOptions\n\t\t.map( item => getOptionDefinition( item ) )\n\t\t// Filter out undefined values that `getOptionDefinition` might return.\n\t\t.filter( ( option ): option is FontSizeOption => option !== undefined );\n}\n\n// Default named presets map. Always create a new instance of the preset object in order to avoid modifying references.\nconst namedPresets: Record<string, FontSizeOption> = {\n\tget tiny(): FontSizeOption {\n\t\treturn {\n\t\t\ttitle: 'Tiny',\n\t\t\tmodel: 'tiny',\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tclasses: 'text-tiny',\n\t\t\t\tpriority: 7\n\t\t\t}\n\t\t};\n\t},\n\tget small(): FontSizeOption {\n\t\treturn {\n\t\t\ttitle: 'Small',\n\t\t\tmodel: 'small',\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tclasses: 'text-small',\n\t\t\t\tpriority: 7\n\t\t\t}\n\t\t};\n\t},\n\tget big(): FontSizeOption {\n\t\treturn {\n\t\t\ttitle: 'Big',\n\t\t\tmodel: 'big',\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tclasses: 'text-big',\n\t\t\t\tpriority: 7\n\t\t\t}\n\t\t};\n\t},\n\tget huge(): FontSizeOption {\n\t\treturn {\n\t\t\ttitle: 'Huge',\n\t\t\tmodel: 'huge',\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tclasses: 'text-huge',\n\t\t\t\tpriority: 7\n\t\t\t}\n\t\t};\n\t}\n};\n\n/**\n * Returns an option definition either from preset or creates one from number shortcut.\n * If object is passed then this method will return it without alternating it. Returns undefined for item than cannot be parsed.\n */\nfunction getOptionDefinition( option: string | number | FontSizeOption ): FontSizeOption | undefined {\n\tif ( typeof option === 'number' ) {\n\t\toption = String( option );\n\t}\n\n\t// Check whether passed option is a full item definition provided by user in configuration.\n\tif ( typeof option === 'object' && isFullItemDefinition( option ) ) {\n\t\treturn attachPriority( option );\n\t}\n\n\tconst preset = findPreset( option );\n\n\t// Item is a named preset.\n\tif ( preset ) {\n\t\treturn attachPriority( preset );\n\t}\n\n\t// 'Default' font size. It will be used to remove the fontSize attribute.\n\tif ( option === 'default' ) {\n\t\treturn {\n\t\t\tmodel: undefined,\n\t\t\ttitle: 'Default'\n\t\t};\n\t}\n\n\t// At this stage we probably have numerical value to generate a preset so parse it's value.\n\t// Discard any faulty values.\n\tif ( isNumericalDefinition( option ) ) {\n\t\treturn undefined;\n\t}\n\n\t// Return font size definition from size value.\n\treturn generatePixelPreset( option );\n}\n\n/**\n * Creates a predefined preset for pixel size.\n * @param definition Font size in pixels.\n * @returns\n */\nfunction generatePixelPreset( definition: string | FontSizeOption ): FontSizeOption {\n\t// Extend a short (numeric value) definition.\n\tif ( typeof definition === 'string' ) {\n\t\tdefinition = {\n\t\t\ttitle: definition,\n\t\t\tmodel: `${ parseFloat( definition ) }px`\n\t\t};\n\t}\n\n\tdefinition.view = {\n\t\tname: 'span',\n\t\tstyles: {\n\t\t\t'font-size': definition.model!\n\t\t}\n\t};\n\n\treturn attachPriority( definition );\n}\n\n/**\n * Adds the priority to the view element definition if missing. It's required due to ckeditor/ckeditor5#2291\n */\nfunction attachPriority( definition: FontSizeOption ): FontSizeOption {\n\tif ( definition.view && typeof definition.view !== 'string' && !definition.view.priority ) {\n\t\tdefinition.view!.priority = 7;\n\t}\n\n\treturn definition;\n}\n\n/**\n * Returns a prepared preset definition. If passed an object, a name of preset should be defined as `model` value.\n *\n * @param definition.model A preset name.\n */\nfunction findPreset( definition: string | { model?: string } ): FontSizeOption | undefined {\n\treturn typeof definition === 'string' ? namedPresets[ definition ] : namedPresets[ definition.model! ];\n}\n\n/**\n * We treat `definition` as completed if it is an object that contains `title`, `model` and `view` values.\n */\nfunction isFullItemDefinition( definition: Record<string, any> ): boolean {\n\treturn definition.title && definition.model && definition.view;\n}\n\nfunction isNumericalDefinition( definition: string | FontSizeOption ): boolean {\n\tlet numberValue;\n\n\tif ( typeof definition === 'object' ) {\n\t\tif ( !definition.model ) {\n\t\t\t/**\n\t\t\t * Provided value as an option for {@link module:font/fontsize~FontSize} seems to invalid.\n\t\t\t *\n\t\t\t * See valid examples described in the {@link module:font/fontconfig~FontSizeConfig#options plugin configuration}.\n\t\t\t *\n\t\t\t * @error font-size-invalid-definition\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'font-size-invalid-definition', null, definition );\n\t\t} else {\n\t\t\tnumberValue = parseFloat( definition.model );\n\t\t}\n\t} else {\n\t\tnumberValue = parseFloat( definition );\n\t}\n\n\treturn isNaN( numberValue );\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 font/fontsize/fontsizeediting\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\nimport {\n\tisLengthStyleValue,\n\tisPercentageStyleValue,\n\ttype ViewElement\n} from 'ckeditor5/src/engine.js';\n\nimport { FontSizeCommand } from './fontsizecommand.js';\nimport { normalizeOptions } from './utils.js';\nimport { buildDefinition, FONT_SIZE, type FontConverterDefinition } from '../utils.js';\n\n// Mapping of `<font size=\"..\">` styling to CSS's `font-size` values.\nconst styleFontSize = [\n\t'x-small', // Size \"0\" equal to \"1\".\n\t'x-small',\n\t'small',\n\t'medium',\n\t'large',\n\t'x-large',\n\t'xx-large',\n\t'xxx-large'\n];\n\n/**\n * The font size editing feature.\n *\n * It introduces the {@link module:font/fontsize/fontsizecommand~FontSizeCommand command} and the `fontSize`\n * attribute in the {@link module:engine/model/model~Model model} which renders in the {@link module:engine/view/view view}\n * as a `<span>` element with either:\n * * a style attribute (`<span style=\"font-size:12px\">...</span>`),\n * * or a class attribute (`<span class=\"text-small\">...</span>`)\n *\n * depending on the {@link module:font/fontconfig~FontSizeConfig configuration}.\n */\nexport class FontSizeEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontSizeEditing' 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\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\t// Define default configuration using named presets.\n\t\teditor.config.define( FONT_SIZE, {\n\t\t\toptions: [\n\t\t\t\t'tiny',\n\t\t\t\t'small',\n\t\t\t\t'default',\n\t\t\t\t'big',\n\t\t\t\t'huge'\n\t\t\t],\n\t\t\tsupportAllValues: false\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\t// Allow fontSize attribute on text nodes.\n\t\teditor.model.schema.extend( '$text', { allowAttributes: FONT_SIZE } );\n\t\teditor.model.schema.setAttributeProperties( FONT_SIZE, {\n\t\t\tisFormatting: true,\n\t\t\tcopyOnEnter: true\n\t\t} );\n\n\t\tconst supportAllValues = editor.config.get( 'fontSize.supportAllValues' );\n\n\t\t// Define view to model conversion.\n\t\tconst options = normalizeOptions( this.editor.config.get( 'fontSize.options' )! )\n\t\t\t.filter( item => item.model );\n\t\tconst definition = buildDefinition( FONT_SIZE, options );\n\n\t\t// Set-up the two-way conversion.\n\t\tif ( supportAllValues ) {\n\t\t\tthis._prepareAnyValueConverters( definition );\n\t\t\tthis._prepareCompatibilityConverter();\n\t\t} else {\n\t\t\teditor.conversion.attributeToElement( definition );\n\t\t}\n\n\t\t// Add FontSize command.\n\t\teditor.commands.add( FONT_SIZE, new FontSizeCommand( editor ) );\n\t}\n\n\t/**\n\t * These converters enable keeping any value found as `style=\"font-size: *\"` as a value of an attribute on a text even\n\t * if it is not defined in the plugin configuration.\n\t *\n\t * @param definition Converter definition out of input data.\n\t */\n\tprivate _prepareAnyValueConverters( definition: FontConverterDefinition ): void {\n\t\tconst editor = this.editor;\n\n\t\t// If `fontSize.supportAllValues=true`, we do not allow to use named presets in the plugin's configuration.\n\t\tconst presets = definition.model!.values.filter( ( value: any ) => {\n\t\t\treturn !isLengthStyleValue( String( value ) ) && !isPercentageStyleValue( String( value ) );\n\t\t} );\n\n\t\tif ( presets.length ) {\n\t\t\t/**\n\t\t\t * If {@link module:font/fontconfig~FontSizeConfig#supportAllValues `config.fontSize.supportAllValues`} is `true`,\n\t\t\t * you need to use numerical values as font size options.\n\t\t\t *\n\t\t\t * See valid examples described in the {@link module:font/fontconfig~FontSizeConfig#options plugin configuration}.\n\t\t\t *\n\t\t\t * @error font-size-invalid-use-of-named-presets\n\t\t\t * @param {Array.<string>} presets Invalid values.\n\t\t\t */\n\t\t\tthrow new CKEditorError(\n\t\t\t\t'font-size-invalid-use-of-named-presets',\n\t\t\t\tnull, { presets }\n\t\t\t);\n\t\t}\n\n\t\teditor.conversion.for( 'downcast' ).attributeToElement( {\n\t\t\tmodel: FONT_SIZE,\n\t\t\tview: ( attributeValue, { writer } ) => {\n\t\t\t\tif ( !attributeValue ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\treturn writer.createAttributeElement( 'span', { style: 'font-size:' + attributeValue }, { priority: 7 } );\n\t\t\t}\n\t\t} );\n\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_SIZE,\n\t\t\t\tvalue: ( viewElement: ViewElement ) => viewElement.getStyle( 'font-size' )\n\t\t\t},\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tstyles: {\n\t\t\t\t\t'font-size': /.*/\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Adds support for legacy `<font size=\"..\">` formatting.\n\t */\n\tprivate _prepareCompatibilityConverter(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tview: {\n\t\t\t\tname: 'font',\n\t\t\t\tattributes: {\n\t\t\t\t\t// Documentation mentions sizes from 1 to 7. To handle old content we support all values\n\t\t\t\t\t// up to 999 but clamp it to the valid range. Why 999? It should cover accidental values\n\t\t\t\t\t// similar to percentage, e.g. 100%, 200% which could be the usual mistake for font size.\n\t\t\t\t\t'size': /^[+-]?\\d{1,3}$/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_SIZE,\n\t\t\t\tvalue: ( viewElement: ViewElement ) => {\n\t\t\t\t\tconst value = viewElement.getAttribute( 'size' )!;\n\t\t\t\t\tconst isRelative = value[ 0 ] === '-' || value[ 0 ] === '+';\n\n\t\t\t\t\tlet size = parseInt( value, 10 );\n\n\t\t\t\t\tif ( isRelative ) {\n\t\t\t\t\t\t// Add relative size (which can be negative) to the default size = 3.\n\t\t\t\t\t\tsize = 3 + size;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst maxSize = styleFontSize.length - 1;\n\t\t\t\t\tconst clampedSize = Math.min( Math.max( size, 0 ), maxSize );\n\n\t\t\t\t\treturn styleFontSize[ clampedSize ];\n\t\t\t\t}\n\t\t\t}\n\t\t} );\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 font/fontsize/fontsizeui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { IconFontSize } from 'ckeditor5/src/icons.js';\nimport {\n\tUIModel,\n\tcreateDropdown,\n\taddListToDropdown,\n\ttype ListDropdownButtonDefinition,\n\tMenuBarMenuView,\n\tMenuBarMenuListView,\n\tMenuBarMenuListItemView,\n\tMenuBarMenuListItemButtonView\n} from 'ckeditor5/src/ui.js';\nimport { Collection } from 'ckeditor5/src/utils.js';\n\nimport { normalizeOptions } from './utils.js';\nimport { FONT_SIZE } from '../utils.js';\n\nimport '../../theme/fontsize.css';\nimport type { FontSizeOption } from '../fontconfig.js';\nimport { type FontSizeCommand } from './fontsizecommand.js';\n\n/**\n * The font size UI plugin. It introduces the `'fontSize'` dropdown.\n */\nexport class FontSizeUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontSizeUI' 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\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\tconst options = this._getLocalizedOptions();\n\n\t\tconst command: FontSizeCommand = editor.commands.get( FONT_SIZE )!;\n\t\tconst accessibleLabel = t( 'Font Size' );\n\n\t\tconst listOptions = _prepareListOptions( options, command );\n\n\t\t// Register UI component.\n\t\teditor.ui.componentFactory.add( FONT_SIZE, locale => {\n\t\t\tconst dropdownView = createDropdown( locale );\n\n\t\t\taddListToDropdown( dropdownView, listOptions, {\n\t\t\t\trole: 'menu',\n\t\t\t\tariaLabel: accessibleLabel\n\t\t\t} );\n\n\t\t\t// Create dropdown model.\n\t\t\tdropdownView.buttonView.set( {\n\t\t\t\tlabel: accessibleLabel,\n\t\t\t\ticon: IconFontSize,\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\tdropdownView.extendTemplate( {\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: [\n\t\t\t\t\t\t'ck-font-size-dropdown'\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tdropdownView.bind( 'isEnabled' ).to( command );\n\n\t\t\t// Execute command when an item from the dropdown is selected.\n\t\t\tthis.listenTo( dropdownView, 'execute', evt => {\n\t\t\t\teditor.execute( ( evt.source as any ).commandName, { value: ( evt.source as any ).commandParam } );\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\treturn dropdownView;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( `menuBar:${ FONT_SIZE }`, locale => {\n\t\t\tconst menuView = new MenuBarMenuView( locale );\n\n\t\t\tmenuView.buttonView.set( {\n\t\t\t\tlabel: accessibleLabel,\n\t\t\t\ticon: IconFontSize\n\t\t\t} );\n\n\t\t\tmenuView.bind( 'isEnabled' ).to( command );\n\n\t\t\tconst listView = new MenuBarMenuListView( locale );\n\n\t\t\tfor ( const definition of listOptions ) {\n\t\t\t\tconst listItemView = new MenuBarMenuListItemView( locale, menuView );\n\t\t\t\tconst buttonView = new MenuBarMenuListItemButtonView( locale );\n\n\t\t\t\tbuttonView.set( {\n\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t\tisToggleable: true\n\t\t\t\t} );\n\n\t\t\t\tbuttonView.bind( ...Object.keys( definition.model ) as Array<keyof MenuBarMenuListItemButtonView> ).to( definition.model );\n\t\t\t\tbuttonView.delegate( 'execute' ).to( menuView );\n\n\t\t\t\tbuttonView.on( 'execute', () => {\n\t\t\t\t\teditor.execute( ( definition.model as any ).commandName, {\n\t\t\t\t\t\tvalue: ( definition.model as any ).commandParam\n\t\t\t\t\t} );\n\n\t\t\t\t\teditor.editing.view.focus();\n\t\t\t\t} );\n\n\t\t\t\tlistItemView.children.add( buttonView );\n\t\t\t\tlistView.items.add( listItemView );\n\t\t\t}\n\n\t\t\tmenuView.panelView.children.add( listView );\n\n\t\t\treturn menuView;\n\t\t} );\n\t}\n\n\t/**\n\t * Returns options as defined in `config.fontSize.options` but processed to account for\n\t * editor localization, i.e. to display {@link module:font/fontconfig~FontSizeOption}\n\t * in the correct language.\n\t *\n\t * Note: The reason behind this method is that there is no way to use {@link module:utils/locale~Locale#t}\n\t * when the user configuration is defined because the editor does not exist yet.\n\t */\n\tprivate _getLocalizedOptions(): Array<FontSizeOption> {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\n\t\tconst localizedTitles: Record<string, string> = {\n\t\t\tDefault: t( 'Default' ),\n\t\t\tTiny: t( 'Tiny' ),\n\t\t\tSmall: t( 'Small' ),\n\t\t\tBig: t( 'Big' ),\n\t\t\tHuge: t( 'Huge' )\n\t\t};\n\n\t\tconst options = normalizeOptions( ( editor.config.get( FONT_SIZE )! ).options! );\n\n\t\treturn options.map( option => {\n\t\t\tconst title = localizedTitles[ option.title ];\n\n\t\t\tif ( title && title != option.title ) {\n\t\t\t\t// Clone the option to avoid altering the original `namedPresets` from `./utils.js`.\n\t\t\t\toption = Object.assign( {}, option, { title } );\n\t\t\t}\n\n\t\t\treturn option;\n\t\t} );\n\t}\n}\n\n/**\n * Prepares FontSize dropdown items.\n */\nfunction _prepareListOptions( options: Array<FontSizeOption>, command: FontSizeCommand ): Collection<ListDropdownButtonDefinition> {\n\tconst itemDefinitions = new Collection<ListDropdownButtonDefinition>();\n\n\tfor ( const option of options ) {\n\t\tconst def = {\n\t\t\ttype: 'button' as const,\n\t\t\tmodel: new UIModel( {\n\t\t\t\tcommandName: FONT_SIZE,\n\t\t\t\tcommandParam: option.model,\n\t\t\t\tlabel: option.title,\n\t\t\t\tclass: 'ck-fontsize-option',\n\t\t\t\trole: 'menuitemradio',\n\t\t\t\twithText: true\n\t\t\t} )\n\t\t};\n\n\t\tif ( option.view && typeof option.view !== 'string' ) {\n\t\t\tif ( option.view.styles ) {\n\t\t\t\tdef.model.set( 'labelStyle', `font-size:${ option.view.styles[ 'font-size' ] }` );\n\t\t\t}\n\t\t\tif ( option.view.classes ) {\n\t\t\t\tdef.model.set( 'class', `${ def.model.class } ${ option.view.classes }` );\n\t\t\t}\n\t\t}\n\n\t\tdef.model.bind( 'isOn' ).to( command, 'value', value => value === option.model );\n\n\t\t// Add the option to the collection.\n\t\titemDefinitions.add( def );\n\t}\n\n\treturn itemDefinitions;\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 font/fontsize\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { FontSizeEditing } from './fontsize/fontsizeediting.js';\nimport { FontSizeUI } from './fontsize/fontsizeui.js';\nimport { normalizeOptions } from './fontsize/utils.js';\nimport type { FontSizeOption } from './fontconfig.js';\n\n/**\n * The font size plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontsize/fontsizeediting~FontSizeEditing} and\n * {@link module:font/fontsize/fontsizeui~FontSizeUI} features in the editor.\n */\nexport class FontSize extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FontSizeEditing, FontSizeUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontSize' 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 * Normalizes and translates the {@link module:font/fontconfig~FontSizeConfig#options configuration options}\n\t * to the {@link module:font/fontconfig~FontSizeOption} format.\n\t *\n\t * @param options An array of options taken from the configuration.\n\t */\n\tpublic normalizeSizeOptions( options: Array<string | number | FontSizeOption> ): Array<FontSizeOption> {\n\t\treturn normalizeOptions( options );\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 font/fontcolor/fontcolorcommand\n */\n\nimport type { Editor } from 'ckeditor5/src/core.js';\nimport { FontCommand } from '../fontcommand.js';\nimport { FONT_COLOR } from '../utils.js';\n\n/**\n * The font color command. It is used by {@link module:font/fontcolor/fontcolorediting~FontColorEditing}\n * to apply the font color.\n *\n * ```ts\n * editor.execute( 'fontColor', { value: 'rgb(250, 20, 20)' } );\n * ```\n *\n * **Note**: Executing the command with the `null` value removes the attribute from the model.\n */\nexport class FontColorCommand extends FontCommand {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor, FONT_COLOR );\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 font/fontcolor/fontcolorediting\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport { FontColorCommand } from './fontcolorcommand.js';\nimport type { ViewElement } from 'ckeditor5/src/engine.js';\nimport { FONT_COLOR, renderDowncastElement, renderUpcastAttribute } from '../utils.js';\n\n/**\n * The font color editing feature.\n *\n * It introduces the {@link module:font/fontcolor/fontcolorcommand~FontColorCommand command} and\n * the `fontColor` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as a `<span>` element (`<span style=\"color: ...\">`),\n * depending on the {@link module:font/fontconfig~FontColorConfig configuration}.\n */\nexport class FontColorEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontColorEditing' 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\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\teditor.config.define( FONT_COLOR, {\n\t\t\tcolors: [\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 0%)',\n\t\t\t\t\tlabel: 'Black'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 30%)',\n\t\t\t\t\tlabel: 'Dim grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 60%)',\n\t\t\t\t\tlabel: 'Grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 90%)',\n\t\t\t\t\tlabel: 'Light grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 100%)',\n\t\t\t\t\tlabel: 'White',\n\t\t\t\t\thasBorder: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 75%, 60%)',\n\t\t\t\t\tlabel: 'Red'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(30, 75%, 60%)',\n\t\t\t\t\tlabel: 'Orange'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(60, 75%, 60%)',\n\t\t\t\t\tlabel: 'Yellow'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(90, 75%, 60%)',\n\t\t\t\t\tlabel: 'Light green'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(120, 75%, 60%)',\n\t\t\t\t\tlabel: 'Green'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(150, 75%, 60%)',\n\t\t\t\t\tlabel: 'Aquamarine'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(180, 75%, 60%)',\n\t\t\t\t\tlabel: 'Turquoise'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(210, 75%, 60%)',\n\t\t\t\t\tlabel: 'Light blue'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(240, 75%, 60%)',\n\t\t\t\t\tlabel: 'Blue'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(270, 75%, 60%)',\n\t\t\t\t\tlabel: 'Purple'\n\t\t\t\t}\n\t\t\t],\n\t\t\tcolumns: 5\n\t\t} );\n\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tstyles: {\n\t\t\t\t\t'color': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_COLOR,\n\t\t\t\tvalue: renderUpcastAttribute( 'color' )\n\t\t\t}\n\t\t} );\n\n\t\t// Support legacy `<font color=\"..\">` formatting.\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tview: {\n\t\t\t\tname: 'font',\n\t\t\t\tattributes: {\n\t\t\t\t\t'color': /^#?\\w+$/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_COLOR,\n\t\t\t\tvalue: ( viewElement: ViewElement ) => viewElement.getAttribute( 'color' )\n\t\t\t}\n\t\t} );\n\n\t\teditor.conversion.for( 'downcast' ).attributeToElement( {\n\t\t\tmodel: FONT_COLOR,\n\t\t\tview: renderDowncastElement( 'color' )\n\t\t} );\n\n\t\teditor.commands.add( FONT_COLOR, new FontColorCommand( editor ) );\n\n\t\t// Allow the font color attribute on text nodes.\n\t\teditor.model.schema.extend( '$text', { allowAttributes: FONT_COLOR } );\n\n\t\teditor.model.schema.setAttributeProperties( FONT_COLOR, {\n\t\t\tisFormatting: true,\n\t\t\tcopyOnEnter: true\n\t\t} );\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 font/ui/colorui\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport type { Batch } from 'ckeditor5/src/engine.js';\nimport {\n\tcreateDropdown,\n\tnormalizeColorOptions,\n\tgetLocalizedColorOptions,\n\tfocusChildOnDropdownOpen,\n\ttype ColorSelectorExecuteEvent,\n\ttype ColorSelectorColorPickerCancelEvent,\n\ttype ColorSelectorColorPickerShowEvent,\n\tMenuBarMenuView,\n\tColorSelectorView\n} from 'ckeditor5/src/ui.js';\n\nimport {\n\taddColorSelectorToDropdown,\n\ttype FontColorSelectorDropdownView,\n\ttype FONT_BACKGROUND_COLOR,\n\ttype FONT_COLOR\n} from '../utils.js';\nimport { type FontColorCommand } from '../fontcolor/fontcolorcommand.js';\nimport { type FontBackgroundColorCommand } from '../fontbackgroundcolor/fontbackgroundcolorcommand.js';\nimport type { FontColorConfig } from '../fontconfig.js';\n\n/**\n * The color UI plugin which isolates the common logic responsible for displaying dropdowns with color grids.\n *\n * It is used to create the `'fontBackgroundColor'` and `'fontColor'` dropdowns, each hosting\n * a {@link module:ui/colorselector/colorselectorview~ColorSelectorView}.\n */\nexport class FontColorUIBase extends Plugin {\n\t/**\n\t * The name of the command which will be executed when a color tile is clicked.\n\t */\n\tpublic commandName: typeof FONT_BACKGROUND_COLOR | typeof FONT_COLOR;\n\n\t/**\n\t * The name of this component in the {@link module:ui/componentfactory~ComponentFactory}.\n\t * Also the configuration scope name in `editor.config`.\n\t */\n\tpublic componentName: typeof FONT_BACKGROUND_COLOR | typeof FONT_COLOR;\n\n\t/**\n\t * The SVG icon used by the dropdown.\n\t */\n\tpublic icon: string;\n\n\t/**\n\t * The label used by the dropdown.\n\t */\n\tpublic dropdownLabel: string;\n\n\t/**\n\t * The number of columns in the color grid.\n\t */\n\tpublic columns: number;\n\n\t/**\n\t * Keeps all changes in color picker in one batch while dropdown is open.\n\t */\n\tdeclare private _undoStepBatch: Batch;\n\n\t/**\n\t * Creates a plugin which introduces a dropdown with a pre–configured\n\t * {@link module:ui/colorselector/colorselectorview~ColorSelectorView}.\n\t *\n\t * @param editor An editor instance.\n\t * @param config The configuration object.\n\t * @param config.commandName The name of the command which will be executed when a color tile is clicked.\n\t * @param config.componentName The name of the dropdown in the {@link module:ui/componentfactory~ComponentFactory}\n\t * and the configuration scope name in `editor.config`.\n\t * @param config.icon The SVG icon used by the dropdown.\n\t * @param config.dropdownLabel The label used by the dropdown.\n\t */\n\tconstructor(\n\t\teditor: Editor,\n\t\t{ commandName, componentName, icon, dropdownLabel }: {\n\t\t\tcommandName: typeof FONT_BACKGROUND_COLOR | typeof FONT_COLOR;\n\t\t\tcomponentName: typeof FONT_BACKGROUND_COLOR | typeof FONT_COLOR;\n\t\t\ticon: string;\n\t\t\tdropdownLabel: string;\n\t\t}\n\t) {\n\t\tsuper( editor );\n\n\t\tthis.commandName = commandName;\n\t\tthis.componentName = componentName;\n\t\tthis.icon = icon;\n\t\tthis.dropdownLabel = dropdownLabel;\n\t\tthis.columns = editor.config.get( `${ this.componentName }.columns` )!;\n\t}\n\n\t/**\n\t* @inheritDoc\n\t*/\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst t = locale.t;\n\t\tconst command: FontColorCommand | FontBackgroundColorCommand = editor.commands.get( this.commandName )!;\n\t\tconst componentConfig = editor.config.get( this.componentName )! as FontColorConfig;\n\t\tconst colorsConfig = normalizeColorOptions( componentConfig.colors! );\n\t\tconst localizedColors = getLocalizedColorOptions( locale, colorsConfig );\n\t\tconst documentColorsCount = componentConfig.documentColors;\n\t\tconst hasColorPicker = componentConfig.colorPicker !== false;\n\n\t\t// Register the UI component.\n\t\teditor.ui.componentFactory.add( this.componentName, locale => {\n\t\t\tconst dropdownView: FontColorSelectorDropdownView = createDropdown( locale );\n\t\t\t// Font color dropdown rendering is deferred once it gets open to improve performance (#6192).\n\t\t\tlet dropdownContentRendered = false;\n\n\t\t\tconst colorSelectorView = addColorSelectorToDropdown( {\n\t\t\t\tdropdownView,\n\t\t\t\tcolors: localizedColors.map( option => ( {\n\t\t\t\t\tlabel: option.label,\n\t\t\t\t\tcolor: option.model,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\thasBorder: option.hasBorder\n\t\t\t\t\t}\n\t\t\t\t} ) ),\n\t\t\t\tcolumns: this.columns,\n\t\t\t\tremoveButtonLabel: t( 'Remove color' ),\n\t\t\t\tcolorPickerLabel: t( 'Color picker' ),\n\t\t\t\tdocumentColorsLabel: documentColorsCount !== 0 ? t( 'Document colors' ) : '',\n\t\t\t\tdocumentColorsCount: documentColorsCount === undefined ? this.columns : documentColorsCount,\n\t\t\t\tcolorPickerViewConfig: hasColorPicker ? ( componentConfig.colorPicker || {} ) : false\n\t\t\t} );\n\n\t\t\tcolorSelectorView.bind( 'selectedColor' ).to( command, 'value' );\n\n\t\t\tdropdownView.buttonView.set( {\n\t\t\t\tlabel: this.dropdownLabel,\n\t\t\t\ticon: this.icon,\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\tdropdownView.extendTemplate( {\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: 'ck-color-ui-dropdown'\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tdropdownView.bind( 'isEnabled' ).to( command );\n\n\t\t\tcolorSelectorView.on<ColorSelectorExecuteEvent>( 'execute', ( evt, data ) => {\n\t\t\t\tif ( dropdownView.isOpen ) {\n\t\t\t\t\teditor.execute( this.commandName, {\n\t\t\t\t\t\tvalue: data.value,\n\t\t\t\t\t\tbatch: this._undoStepBatch\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( data.source !== 'colorPicker' ) {\n\t\t\t\t\teditor.editing.view.focus();\n\t\t\t\t}\n\n\t\t\t\tif ( data.source === 'colorPickerSaveButton' ) {\n\t\t\t\t\tdropdownView.isOpen = false;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tcolorSelectorView.on<ColorSelectorColorPickerShowEvent>( 'colorPicker:show', () => {\n\t\t\t\tthis._undoStepBatch = editor.model.createBatch();\n\t\t\t} );\n\n\t\t\tcolorSelectorView.on<ColorSelectorColorPickerCancelEvent>( 'colorPicker:cancel', () => {\n\t\t\t\tif ( this._undoStepBatch!.operations.length ) {\n\t\t\t\t\t// We need to close the dropdown before the undo batch.\n\t\t\t\t\t// Otherwise, FontColorUIBase treats undo as a selected color change,\n\t\t\t\t\t// propagating the update to the whole selection.\n\t\t\t\t\t// That's an issue if spans with various colors were selected.\n\t\t\t\t\tdropdownView.isOpen = false;\n\t\t\t\t\teditor.execute( 'undo', this._undoStepBatch );\n\t\t\t\t}\n\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\tdropdownView.on( 'change:isOpen', ( evt, name, isVisible ) => {\n\t\t\t\tif ( !dropdownContentRendered ) {\n\t\t\t\t\tdropdownContentRendered = true;\n\n\t\t\t\t\tdropdownView.colorSelectorView!.appendUI();\n\t\t\t\t}\n\n\t\t\t\tif ( isVisible ) {\n\t\t\t\t\tif ( documentColorsCount !== 0 ) {\n\t\t\t\t\t\tcolorSelectorView!.updateDocumentColors( editor.model, this.componentName );\n\t\t\t\t\t}\n\n\t\t\t\t\tcolorSelectorView!.updateSelectedColors();\n\t\t\t\t\tcolorSelectorView!.showColorGridsFragment();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Accessibility: focus the first active color when opening the dropdown.\n\t\t\tfocusChildOnDropdownOpen(\n\t\t\t\tdropdownView,\n\t\t\t\t() => dropdownView.colorSelectorView!.colorGridsFragmentView.staticColorsGrid!.items.find( ( item: any ) => item.isOn )\n\t\t\t);\n\n\t\t\treturn dropdownView;\n\t\t} );\n\n\t\t// Register menu bar button..\n\t\teditor.ui.componentFactory.add( `menuBar:${ this.componentName }`, locale => {\n\t\t\tconst menuView = new MenuBarMenuView( locale );\n\n\t\t\tmenuView.buttonView.set( {\n\t\t\t\tlabel: this.dropdownLabel,\n\t\t\t\ticon: this.icon\n\t\t\t} );\n\n\t\t\tmenuView.bind( 'isEnabled' ).to( command );\n\n\t\t\t// Font color sub-menu rendering is deferred once it gets open to improve performance (#6192).\n\t\t\tlet contentRendered = false;\n\n\t\t\tconst colorSelectorView = new ColorSelectorView( locale, {\n\t\t\t\tcolors: localizedColors.map( option => ( {\n\t\t\t\t\tlabel: option.label,\n\t\t\t\t\tcolor: option.model,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\thasBorder: option.hasBorder\n\t\t\t\t\t}\n\t\t\t\t} ) ),\n\t\t\t\tcolumns: this.columns,\n\t\t\t\tremoveButtonLabel: t( 'Remove color' ),\n\t\t\t\tcolorPickerLabel: t( 'Color picker' ),\n\t\t\t\tdocumentColorsLabel: documentColorsCount !== 0 ? t( 'Document colors' ) : '',\n\t\t\t\tdocumentColorsCount: documentColorsCount === undefined ? this.columns : documentColorsCount,\n\t\t\t\tcolorPickerViewConfig: false\n\t\t\t} );\n\n\t\t\tcolorSelectorView.bind( 'selectedColor' ).to( command, 'value' );\n\n\t\t\tcolorSelectorView.delegate( 'execute' ).to( menuView );\n\t\t\tcolorSelectorView.on<ColorSelectorExecuteEvent>( 'execute', ( evt, data ) => {\n\t\t\t\teditor.execute( this.commandName, {\n\t\t\t\t\tvalue: data.value,\n\t\t\t\t\tbatch: this._undoStepBatch\n\t\t\t\t} );\n\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\tmenuView.on( 'change:isOpen', ( evt, name, isVisible ) => {\n\t\t\t\tif ( !contentRendered ) {\n\t\t\t\t\tcontentRendered = true;\n\n\t\t\t\t\tcolorSelectorView!.appendUI();\n\t\t\t\t}\n\n\t\t\t\tif ( isVisible ) {\n\t\t\t\t\tif ( documentColorsCount !== 0 ) {\n\t\t\t\t\t\tcolorSelectorView!.updateDocumentColors( editor.model, this.componentName );\n\t\t\t\t\t}\n\n\t\t\t\t\tcolorSelectorView!.updateSelectedColors();\n\t\t\t\t\tcolorSelectorView!.showColorGridsFragment();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tmenuView.panelView.children.add( colorSelectorView );\n\n\t\t\treturn menuView;\n\t\t} );\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 font/fontcolor/fontcolorui\n */\n\nimport { IconFontColor } from 'ckeditor5/src/icons.js';\nimport { FontColorUIBase } from '../ui/colorui.js';\nimport { FONT_COLOR } from '../utils.js';\nimport type { Editor } from 'ckeditor5/src/core.js';\n\n/**\n * The font color UI plugin. It introduces the `'fontColor'` dropdown.\n */\nexport class FontColorUI extends FontColorUIBase {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tconst t = editor.locale.t;\n\n\t\tsuper( editor, {\n\t\t\tcommandName: FONT_COLOR,\n\t\t\tcomponentName: FONT_COLOR,\n\t\t\ticon: IconFontColor,\n\t\t\tdropdownLabel: t( 'Font Color' )\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontColorUI' as const;\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 font/fontcolor\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { FontColorEditing } from './fontcolor/fontcolorediting.js';\nimport { FontColorUI } from './fontcolor/fontcolorui.js';\n\n/**\n * The font color plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads the {@link module:font/fontcolor/fontcolorediting~FontColorEditing} and\n * {@link module:font/fontcolor/fontcolorui~FontColorUI} features in the editor.\n */\nexport class FontColor extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FontColorEditing, FontColorUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontColor' 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","/**\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 font/fontbackgroundcolor/fontbackgroundcolorcommand\n */\n\nimport type { Editor } from 'ckeditor5/src/core.js';\nimport { FontCommand } from '../fontcommand.js';\nimport { FONT_BACKGROUND_COLOR } from '../utils.js';\n\n/**\n * The font background color command. It is used by\n * {@link module:font/fontbackgroundcolor/fontbackgroundcolorediting~FontBackgroundColorEditing}\n * to apply the font background color.\n *\n * ```ts\n * editor.execute( 'fontBackgroundColor', { value: 'rgb(250, 20, 20)' } );\n * ```\n *\n * **Note**: Executing the command with the `null` value removes the attribute from the model.\n */\nexport class FontBackgroundColorCommand extends FontCommand {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor, FONT_BACKGROUND_COLOR );\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 font/fontbackgroundcolor/fontbackgroundcolorediting\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport { addBackgroundStylesRules } from 'ckeditor5/src/engine.js';\n\nimport { FontBackgroundColorCommand } from './fontbackgroundcolorcommand.js';\nimport { FONT_BACKGROUND_COLOR, renderDowncastElement, renderUpcastAttribute } from '../utils.js';\n\n/**\n * The font background color editing feature.\n *\n * It introduces the {@link module:font/fontbackgroundcolor/fontbackgroundcolorcommand~FontBackgroundColorCommand command} and\n * the `fontBackgroundColor` attribute in the {@link module:engine/model/model~Model model} which renders\n * in the {@link module:engine/view/view view} as a `<span>` element (`<span style=\"background-color: ...\">`),\n * depending on the {@link module:font/fontconfig~FontColorConfig configuration}.\n */\nexport class FontBackgroundColorEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontBackgroundColorEditing' 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\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\teditor.config.define( FONT_BACKGROUND_COLOR, {\n\t\t\tcolors: [\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 0%)',\n\t\t\t\t\tlabel: 'Black'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 30%)',\n\t\t\t\t\tlabel: 'Dim grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 60%)',\n\t\t\t\t\tlabel: 'Grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 90%)',\n\t\t\t\t\tlabel: 'Light grey'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 0%, 100%)',\n\t\t\t\t\tlabel: 'White',\n\t\t\t\t\thasBorder: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(0, 75%, 60%)',\n\t\t\t\t\tlabel: 'Red'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(30, 75%, 60%)',\n\t\t\t\t\tlabel: 'Orange'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(60, 75%, 60%)',\n\t\t\t\t\tlabel: 'Yellow'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(90, 75%, 60%)',\n\t\t\t\t\tlabel: 'Light green'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(120, 75%, 60%)',\n\t\t\t\t\tlabel: 'Green'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(150, 75%, 60%)',\n\t\t\t\t\tlabel: 'Aquamarine'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(180, 75%, 60%)',\n\t\t\t\t\tlabel: 'Turquoise'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(210, 75%, 60%)',\n\t\t\t\t\tlabel: 'Light blue'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(240, 75%, 60%)',\n\t\t\t\t\tlabel: 'Blue'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcolor: 'hsl(270, 75%, 60%)',\n\t\t\t\t\tlabel: 'Purple'\n\t\t\t\t}\n\t\t\t],\n\t\t\tcolumns: 5\n\t\t} );\n\n\t\teditor.data.addStyleProcessorRules( addBackgroundStylesRules );\n\t\teditor.conversion.for( 'upcast' ).elementToAttribute( {\n\t\t\tview: {\n\t\t\t\tname: 'span',\n\t\t\t\tstyles: {\n\t\t\t\t\t'background-color': /[\\s\\S]+/\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodel: {\n\t\t\t\tkey: FONT_BACKGROUND_COLOR,\n\t\t\t\tvalue: renderUpcastAttribute( 'background-color' )\n\t\t\t}\n\t\t} );\n\n\t\teditor.conversion.for( 'downcast' ).attributeToElement( {\n\t\t\tmodel: FONT_BACKGROUND_COLOR,\n\t\t\tview: renderDowncastElement( 'background-color' )\n\t\t} );\n\n\t\teditor.commands.add( FONT_BACKGROUND_COLOR, new FontBackgroundColorCommand( editor ) );\n\n\t\t// Allow the font backgroundColor attribute on text nodes.\n\t\teditor.model.schema.extend( '$text', { allowAttributes: FONT_BACKGROUND_COLOR } );\n\n\t\teditor.model.schema.setAttributeProperties( FONT_BACKGROUND_COLOR, {\n\t\t\tisFormatting: true,\n\t\t\tcopyOnEnter: true\n\t\t} );\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 font/fontbackgroundcolor/fontbackgroundcolorui\n */\n\nimport { IconFontBackground } from 'ckeditor5/src/icons.js';\nimport { FontColorUIBase } from '../ui/colorui.js';\nimport { FONT_BACKGROUND_COLOR } from '../utils.js';\nimport type { Editor } from 'ckeditor5/src/core.js';\n\n/**\n * The font background color UI plugin. It introduces the `'fontBackgroundColor'` dropdown.\n */\nexport class FontBackgroundColorUI extends FontColorUIBase {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tconst t = editor.locale.t;\n\n\t\tsuper( editor, {\n\t\t\tcommandName: FONT_BACKGROUND_COLOR,\n\t\t\tcomponentName: FONT_BACKGROUND_COLOR,\n\t\t\ticon: IconFontBackground,\n\t\t\tdropdownLabel: t( 'Font Background Color' )\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontBackgroundColorUI' as const;\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 font/fontbackgroundcolor\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { FontBackgroundColorEditing } from './fontbackgroundcolor/fontbackgroundcolorediting.js';\nimport { FontBackgroundColorUI } from './fontbackgroundcolor/fontbackgroundcolorui.js';\n\n/**\n * The font background color plugin.\n *\n * For a detailed overview, check the {@glink features/font font feature} documentation\n * and the {@glink api/font package page}.\n *\n * This is a \"glue\" plugin which loads\n * the {@link module:font/fontbackgroundcolor/fontbackgroundcolorediting~FontBackgroundColorEditing} and\n * {@link module:font/fontbackgroundcolor/fontbackgroundcolorui~FontBackgroundColorUI} features in the editor.\n */\nexport class FontBackgroundColor extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FontBackgroundColorEditing, FontBackgroundColorUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FontBackgroundColor' 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","/**\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 font/font\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\n\nimport { FontFamily } from './fontfamily.js';\nimport { FontSize } from './fontsize.js';\nimport { FontColor } from './fontcolor.js';\nimport { FontBackgroundColor } from './fontbackgroundcolor.js';\n\n/**\n * A plugin that enables a set of text styling features:\n *\n * * {@link module:font/fontsize~FontSize},\n * * {@link module:font/fontfamily~FontFamily}.\n * * {@link module:font/fontcolor~FontColor},\n * * {@link module:font/fontbackgroundcolor~FontBackgroundColor}.\n *\n * For a detailed overview, check the {@glink features/font Font feature} documentation\n * and the {@glink api/font package page}.\n */\nexport class Font extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FontFamily, FontSize, FontColor, FontBackgroundColor ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Font' 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"]}