@ckeditor/ckeditor5-style 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/ui/stylegridbuttonview.ts","../src/ui/stylegridview.ts","../src/ui/stylegroupview.ts","../src/ui/stylepanelview.ts","../src/styleutils.ts","../src/styleui.ts","../src/stylecommand.ts","../src/integrations/list.ts","../src/integrations/table.ts","../src/integrations/link.ts","../src/styleediting.ts","../src/style.ts"],"names":["StyleGridButtonView","ButtonView","styleDefinition","previewView","locale","_createPreview","set","label","name","class","withText","extendTemplate","attributes","role","children","add","View","setTemplate","tag","previewTemplate","StyleGridView","focusTracker","keystrokes","styleDefinitions","FocusTracker","KeystrokeHandler","createCollection","delegate","to","definition","gridTileView","on","child","isOn","activeStyles","includes","isEnabled","enabledStyles","render","element","addKeyboardHandlingForGrid","keystrokeHandler","gridItems","numberOfColumns","uiLanguageDirection","listenTo","focus","first","destroy","StyleGroupView","gridView","labelView","LabelView","text","id","StylePanelView","blockStylesGroupView","inlineStylesGroupView","_focusables","_focusCycler","t","block","inline","ViewCollection","FocusCycler","focusables","actions","focusPrevious","focusNext","length","bind","focusFirst","focusLast","NON_PREVIEWABLE_ELEMENT_NAMES","StyleUtils","Plugin","_htmlSupport","pluginName","isOfficialPlugin","editor","decorate","init","plugins","get","normalizeConfig","dataSchema","normalizedDefinitions","modelElements","ghsAttributes","ghsDefinition","getDefinitionsForView","appliesToBlock","isBlock","push","ghsBlockDefinition","model","paragraphLikeModel","getStylePreview","isStyleEnabledForBlock","attributeName","getGhsAttributeNameForElement","schema","checkAttribute","isStyleActiveForBlock","ghsAttributeValue","getAttribute","hasAllClasses","classes","getAffectedBlocks","isStyleEnabledForInlineSelection","selection","ghsAttributeName","checkAttributeInSelection","isStyleActiveForInlineSelection","_getValueFromFirstAllowedNode","getAffectedInlineSelectable","isPreviewable","isObject","hasClassesProperty","every","className","configureGHSDataFilter","ghsDataFilter","loadAllowedConfig","map","normalizedStyleDefinitionToMatcherPattern","isCollapsed","range","getRanges","item","getItems","obj","Boolean","Array","isArray","elementName","StyleUI","requires","styleUtils","config","normalizedStyleDefinitions","ui","componentFactory","dropdown","createDropdown","styleCommand","commands","once","panelView","buttonView","value","join","evt","execute","styleName","source","editing","view","StyleCommand","Command","_styleDefinitions","_styleUtils","refresh","document","Set","firstBlock","getSelectedBlocks","getFirstPosition","parent","ancestorBlocks","getAncestors","includeSelf","parentFirst","is","from","sort","forceValue","logWarning","htmlSupport","allDefinitions","activeDefinitions","filter","find","shouldAddStyle","undefined","change","selectables","isBlockStyleDefinition","_findAffectedBlocks","getBlocksFromSelection","selectable","addModelHtmlClass","removeModelHtmlClass","getDefinitionExclusiveClasses","selectedBlocks","blocks","selectedBlock","affectedBlocks","affectedBlock","reduce","currentDefinition","ListStyleSupport","_listUtils","has","_isStyleEnabledForBlock","return","stop","priority","_isStyleActiveForBlock","_getAffectedBlocks","templateDefinition","_getStylePreview","isListItemBlock","isNumbered","isNumberedListType","viewElementName","expandListBlocksToCompleteItems","withNested","expandListBlocksToCompleteList","TableStyleSupport","_tableUtils","_isApplicable","location","getCellLocation","tableRow","table","headingRows","headingColumns","isHeadingCell","row","column","getRows","LinkStyleSupport","_isStyleEnabled","_isStyleActive","_getAffectedSelectable","hasAttribute","isInline","linkHref","findAttributeRange","ranges","expandedRange","createRange","expandAttributePosition","start","end","createRangeOn","normalizeRanges","position","lookBack","referenceNode","textNode","nodeAfter","nodeBefore","attributeValue","findAttributeRangeBound","i","joinedRange","getJoined","splice","StyleEditing","Style"],"mappings":"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","file":"index.js.map","sourcesContent":["import { Plugin, Command } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { ButtonView, View, addKeyboardHandlingForGrid, LabelView, ViewCollection, FocusCycler, createDropdown } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { FocusTracker, KeystrokeHandler, first, logWarning } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { isObject } from 'es-toolkit/compat';\nimport { findAttributeRange, findAttributeRangeBound } from '@ckeditor/ckeditor5-typing/dist/index.js';\n\n/**\n * A class representing an individual button (style) in the grid. Renders a rich preview of the style.\n *\n * @internal\n */ class StyleGridButtonView extends ButtonView {\n /**\n\t * Definition of the style the button will apply when executed.\n\t */ styleDefinition;\n /**\n\t * The view rendering the preview of the style.\n\t */ previewView;\n /**\n\t * Creates an instance of the {@link module:style/ui/stylegridbuttonview~StyleGridButtonView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinition Definition of the style.\n\t */ constructor(locale, styleDefinition){\n super(locale);\n this.styleDefinition = styleDefinition;\n this.previewView = this._createPreview();\n this.set({\n label: styleDefinition.name,\n class: 'ck-style-grid__button',\n withText: true\n });\n this.extendTemplate({\n attributes: {\n role: 'option'\n }\n });\n this.children.add(this.previewView, 0);\n }\n /**\n\t * Creates the view representing the preview of the style.\n\t */ _createPreview() {\n const previewView = new View(this.locale);\n previewView.setTemplate({\n tag: 'div',\n attributes: {\n class: [\n 'ck',\n 'ck-reset_all-excluded',\n 'ck-style-grid__button__preview',\n 'ck-content'\n ],\n // The preview \"AaBbCcDdEeFfGgHhIiJj\" should not be read by screen readers because it is purely presentational.\n 'aria-hidden': 'true'\n },\n children: [\n this.styleDefinition.previewTemplate\n ]\n });\n return previewView;\n }\n}\n\n/**\n * A class representing a grid of styles ({@link module:style/ui/stylegridbuttonview~StyleGridButtonView buttons}).\n * Allows users to select a style.\n *\n * @internal\n */ class StyleGridView extends View {\n /**\n\t * Tracks information about the DOM focus in the view.\n\t */ focusTracker;\n /**\n\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t */ keystrokes;\n /**\n\t * A collection of style {@link module:style/ui/stylegridbuttonview~StyleGridButtonView buttons}.\n\t */ children;\n /**\n\t * Creates an instance of the {@link module:style/ui/stylegridview~StyleGridView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinitions Definitions of the styles.\n\t */ constructor(locale, styleDefinitions){\n super(locale);\n this.focusTracker = new FocusTracker();\n this.keystrokes = new KeystrokeHandler();\n this.set('activeStyles', []);\n this.set('enabledStyles', []);\n this.children = this.createCollection();\n this.children.delegate('execute').to(this);\n for (const definition of styleDefinitions){\n const gridTileView = new StyleGridButtonView(locale, definition);\n this.children.add(gridTileView);\n }\n this.on('change:activeStyles', ()=>{\n for (const child of this.children){\n child.isOn = this.activeStyles.includes(child.styleDefinition.name);\n }\n });\n this.on('change:enabledStyles', ()=>{\n for (const child of this.children){\n child.isEnabled = this.enabledStyles.includes(child.styleDefinition.name);\n }\n });\n this.setTemplate({\n tag: 'div',\n attributes: {\n class: [\n 'ck',\n 'ck-style-grid'\n ],\n role: 'listbox'\n },\n children: this.children\n });\n }\n /**\n\t * @inheritDoc\n\t */ render() {\n super.render();\n for (const child of this.children){\n this.focusTracker.add(child.element);\n }\n addKeyboardHandlingForGrid({\n keystrokeHandler: this.keystrokes,\n focusTracker: this.focusTracker,\n gridItems: this.children,\n numberOfColumns: 3,\n uiLanguageDirection: this.locale && this.locale.uiLanguageDirection\n });\n // Start listening for the keystrokes coming from the grid view.\n this.keystrokes.listenTo(this.element);\n }\n /**\n\t * Focuses the first style button in the grid.\n\t */ focus() {\n this.children.first.focus();\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n super.destroy();\n this.focusTracker.destroy();\n this.keystrokes.destroy();\n }\n}\n\n/**\n * A class representing a group of styles (e.g. \"block\" or \"inline\").\n *\n * Renders a {@link module:style/ui/stylegridview~StyleGridView style grid} and a label.\n *\n * @internal\n */ class StyleGroupView extends View {\n /**\n\t * The styles grid of the group.\n\t */ gridView;\n /**\n\t * The label of the group.\n\t */ labelView;\n /**\n\t * Creates an instance of the {@link module:style/ui/stylegroupview~StyleGroupView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param label The localized label of the group.\n\t * @param styleDefinitions Definitions of the styles in the group.\n\t */ constructor(locale, label, styleDefinitions){\n super(locale);\n this.labelView = new LabelView(locale);\n this.labelView.text = label;\n this.gridView = new StyleGridView(locale, styleDefinitions);\n this.setTemplate({\n tag: 'div',\n attributes: {\n class: [\n 'ck',\n 'ck-style-panel__style-group'\n ],\n role: 'group',\n 'aria-labelledby': this.labelView.id\n },\n children: [\n this.labelView,\n this.gridView\n ]\n });\n }\n}\n\n/**\n * A class representing a panel with available content styles. It renders styles in button grids, grouped\n * in categories.\n *\n * @internal\n */ class StylePanelView extends View {\n /**\n\t * Tracks information about DOM focus in the panel.\n\t */ focusTracker;\n /**\n\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t */ keystrokes;\n /**\n\t * A collection of panel children.\n\t */ children;\n /**\n\t * A view representing block styles group.\n\t */ blockStylesGroupView;\n /**\n\t * A view representing inline styles group\n\t */ inlineStylesGroupView;\n /**\n\t * A collection of views that can be focused in the panel.\n\t */ _focusables;\n /**\n\t * Helps cycling over {@link #_focusables} in the panel.\n\t */ _focusCycler;\n /**\n\t * Creates an instance of the {@link module:style/ui/stylegroupview~StyleGroupView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinitions Normalized definitions of the styles.\n\t */ constructor(locale, styleDefinitions){\n super(locale);\n const t = locale.t;\n this.focusTracker = new FocusTracker();\n this.keystrokes = new KeystrokeHandler();\n this.children = this.createCollection();\n this.blockStylesGroupView = new StyleGroupView(locale, t('Block styles'), styleDefinitions.block);\n this.inlineStylesGroupView = new StyleGroupView(locale, t('Text styles'), styleDefinitions.inline);\n this.set('activeStyles', []);\n this.set('enabledStyles', []);\n this._focusables = new ViewCollection();\n this._focusCycler = new FocusCycler({\n focusables: this._focusables,\n focusTracker: this.focusTracker,\n keystrokeHandler: this.keystrokes,\n actions: {\n // Navigate style groups backwards using the <kbd>Shift</kbd> + <kbd>Tab</kbd> keystroke.\n focusPrevious: [\n 'shift + tab'\n ],\n // Navigate style groups forward using the <kbd>Tab</kbd> key.\n focusNext: [\n 'tab'\n ]\n }\n });\n if (styleDefinitions.block.length) {\n this.children.add(this.blockStylesGroupView);\n }\n if (styleDefinitions.inline.length) {\n this.children.add(this.inlineStylesGroupView);\n }\n this.blockStylesGroupView.gridView.delegate('execute').to(this);\n this.inlineStylesGroupView.gridView.delegate('execute').to(this);\n this.blockStylesGroupView.gridView.bind('activeStyles', 'enabledStyles').to(this, 'activeStyles', 'enabledStyles');\n this.inlineStylesGroupView.gridView.bind('activeStyles', 'enabledStyles').to(this, 'activeStyles', 'enabledStyles');\n this.setTemplate({\n tag: 'div',\n attributes: {\n class: [\n 'ck',\n 'ck-style-panel'\n ]\n },\n children: this.children\n });\n }\n /**\n\t * @inheritDoc\n\t */ render() {\n super.render();\n // Register the views as focusable.\n this._focusables.add(this.blockStylesGroupView.gridView);\n this._focusables.add(this.inlineStylesGroupView.gridView);\n // Register the views in the focus tracker.\n this.focusTracker.add(this.blockStylesGroupView.gridView.element);\n this.focusTracker.add(this.inlineStylesGroupView.gridView.element);\n this.keystrokes.listenTo(this.element);\n }\n /**\n\t * Focuses the first focusable element in the panel.\n\t */ focus() {\n this._focusCycler.focusFirst();\n }\n /**\n\t * Focuses the last focusable element in the panel.\n\t */ focusLast() {\n this._focusCycler.focusLast();\n }\n}\n\n// These are intermediate element names that can't be rendered as style preview because they don't make sense standalone.\nconst NON_PREVIEWABLE_ELEMENT_NAMES = [\n 'caption',\n 'colgroup',\n 'dd',\n 'dt',\n 'figcaption',\n 'legend',\n 'li',\n 'optgroup',\n 'option',\n 'rp',\n 'rt',\n 'summary',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'tr'\n];\nclass StyleUtils extends Plugin {\n _htmlSupport;\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'StyleUtils';\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 this.decorate('isStyleEnabledForBlock');\n this.decorate('isStyleActiveForBlock');\n this.decorate('getAffectedBlocks');\n this.decorate('isStyleEnabledForInlineSelection');\n this.decorate('isStyleActiveForInlineSelection');\n this.decorate('getAffectedInlineSelectable');\n this.decorate('getStylePreview');\n this.decorate('configureGHSDataFilter');\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n this._htmlSupport = this.editor.plugins.get('GeneralHtmlSupport');\n }\n /**\n\t * Normalizes {@link module:style/styleconfig~StyleConfig#definitions} in the configuration of the styles feature.\n\t * The structure of normalized styles looks as follows:\n\t *\n\t * ```ts\n\t * {\n\t * \tblock: [\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t...\n\t * \t],\n\t * \tinline: [\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t...\n\t * \t]\n\t * }\n\t * ```\n\t *\n\t * @returns An object with normalized style definitions grouped into `block` and `inline` categories (arrays).\n\t */ normalizeConfig(dataSchema, styleDefinitions = []) {\n const normalizedDefinitions = {\n block: [],\n inline: []\n };\n for (const definition of styleDefinitions){\n const modelElements = [];\n const ghsAttributes = [];\n for (const ghsDefinition of dataSchema.getDefinitionsForView(definition.element)){\n const appliesToBlock = 'appliesToBlock' in ghsDefinition ? ghsDefinition.appliesToBlock : false;\n if (ghsDefinition.isBlock || appliesToBlock) {\n if (typeof appliesToBlock == 'string') {\n modelElements.push(appliesToBlock);\n } else if (ghsDefinition.isBlock) {\n const ghsBlockDefinition = ghsDefinition;\n modelElements.push(ghsDefinition.model);\n if (ghsBlockDefinition.paragraphLikeModel) {\n modelElements.push(ghsBlockDefinition.paragraphLikeModel);\n }\n }\n } else {\n ghsAttributes.push(ghsDefinition.model);\n }\n }\n const previewTemplate = this.getStylePreview(definition, [\n {\n text: 'AaBbCcDdEeFfGgHhIiJj'\n }\n ]);\n if (modelElements.length) {\n normalizedDefinitions.block.push({\n ...definition,\n previewTemplate,\n modelElements,\n isBlock: true\n });\n } else {\n normalizedDefinitions.inline.push({\n ...definition,\n previewTemplate,\n ghsAttributes\n });\n }\n }\n return normalizedDefinitions;\n }\n /**\n\t * Verifies if the given style is applicable to the provided block element.\n\t *\n\t * @internal\n\t */ isStyleEnabledForBlock(definition, block) {\n const model = this.editor.model;\n const attributeName = this._htmlSupport.getGhsAttributeNameForElement(definition.element);\n if (!model.schema.checkAttribute(block, attributeName)) {\n return false;\n }\n return definition.modelElements.includes(block.name);\n }\n /**\n\t * Returns true if the given style is applied to the specified block element.\n\t *\n\t * @internal\n\t */ isStyleActiveForBlock(definition, block) {\n const attributeName = this._htmlSupport.getGhsAttributeNameForElement(definition.element);\n const ghsAttributeValue = block.getAttribute(attributeName);\n return this.hasAllClasses(ghsAttributeValue, definition.classes);\n }\n /**\n\t * Returns an array of block elements that style should be applied to.\n\t *\n\t * @internal\n\t */ getAffectedBlocks(definition, block) {\n if (definition.modelElements.includes(block.name)) {\n return [\n block\n ];\n }\n return null;\n }\n /**\n\t * Verifies if the given style is applicable to the provided document selection.\n\t *\n\t * @internal\n\t */ isStyleEnabledForInlineSelection(definition, selection) {\n const model = this.editor.model;\n for (const ghsAttributeName of definition.ghsAttributes){\n if (model.schema.checkAttributeInSelection(selection, ghsAttributeName)) {\n return true;\n }\n }\n return false;\n }\n /**\n\t * Returns true if the given style is applied to the specified document selection.\n\t *\n\t * @internal\n\t */ isStyleActiveForInlineSelection(definition, selection) {\n for (const ghsAttributeName of definition.ghsAttributes){\n const ghsAttributeValue = this._getValueFromFirstAllowedNode(selection, ghsAttributeName);\n if (this.hasAllClasses(ghsAttributeValue, definition.classes)) {\n return true;\n }\n }\n return false;\n }\n /**\n\t * Returns a selectable that given style should be applied to.\n\t *\n\t * @internal\n\t */ getAffectedInlineSelectable(definition, selection) {\n return selection;\n }\n /**\n\t * Returns the `TemplateDefinition` used by styles dropdown to render style preview.\n\t *\n\t * @internal\n\t */ getStylePreview(definition, children) {\n const { element, classes } = definition;\n return {\n tag: isPreviewable(element) ? element : 'div',\n attributes: {\n class: classes\n },\n children\n };\n }\n /**\n\t * Verifies if all classes are present in the given GHS attribute.\n\t *\n\t * @internal\n\t */ hasAllClasses(ghsAttributeValue, classes) {\n return isObject(ghsAttributeValue) && hasClassesProperty(ghsAttributeValue) && classes.every((className)=>ghsAttributeValue.classes.includes(className));\n }\n /**\n\t * This is where the styles feature configures the GHS feature. This method translates normalized\n\t * {@link module:style/styleconfig~StyleDefinition style definitions} to\n\t * {@link module:engine/view/matcher~MatcherObjectPattern matcher patterns} and feeds them to the GHS\n\t * {@link module:html-support/datafilter~DataFilter} plugin.\n\t *\n\t * @internal\n\t */ configureGHSDataFilter({ block, inline }) {\n const ghsDataFilter = this.editor.plugins.get('DataFilter');\n ghsDataFilter.loadAllowedConfig(block.map(normalizedStyleDefinitionToMatcherPattern));\n ghsDataFilter.loadAllowedConfig(inline.map(normalizedStyleDefinitionToMatcherPattern));\n }\n /**\n\t * Checks the attribute value of the first node in the selection that allows the attribute.\n\t * For the collapsed selection, returns the selection attribute.\n\t *\n\t * @param selection The document selection.\n\t * @param attributeName Name of the GHS attribute.\n\t * @returns The attribute value.\n\t */ _getValueFromFirstAllowedNode(selection, attributeName) {\n const model = this.editor.model;\n const schema = model.schema;\n if (selection.isCollapsed) {\n return selection.getAttribute(attributeName);\n }\n for (const range of selection.getRanges()){\n for (const item of range.getItems()){\n if (schema.checkAttribute(item, attributeName)) {\n return item.getAttribute(attributeName);\n }\n }\n }\n return null;\n }\n}\n/**\n * Checks if given object has `classes` property which is an array.\n *\n * @param obj Object to check.\n */ function hasClassesProperty(obj) {\n return Boolean(obj.classes) && Array.isArray(obj.classes);\n}\n/**\n * Decides whether an element should be created in the preview or a substitute `<div>` should\n * be used instead. This avoids previewing a standalone `<td>`, `<li>`, etc. without a parent.\n *\n * @param elementName Name of the element\n * @returns Boolean indicating whether the element can be rendered.\n */ function isPreviewable(elementName) {\n return !NON_PREVIEWABLE_ELEMENT_NAMES.includes(elementName);\n}\n/**\n * Translates a normalized style definition to a view matcher pattern.\n */ function normalizedStyleDefinitionToMatcherPattern({ element, classes }) {\n return {\n name: element,\n classes\n };\n}\n\n/**\n * The UI plugin of the style feature .\n *\n * It registers the `'style'` UI dropdown in the editor's {@link module:ui/componentfactory~ComponentFactory component factory}\n * that displays a grid of styles and allows changing styles of the content.\n */ class StyleUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'StyleUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n StyleUtils\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const dataSchema = editor.plugins.get('DataSchema');\n const styleUtils = editor.plugins.get('StyleUtils');\n const styleDefinitions = editor.config.get('style.definitions');\n const normalizedStyleDefinitions = styleUtils.normalizeConfig(dataSchema, styleDefinitions);\n // Add the dropdown to the component factory.\n editor.ui.componentFactory.add('style', (locale)=>{\n const t = locale.t;\n const dropdown = createDropdown(locale);\n const styleCommand = editor.commands.get('style');\n dropdown.once('change:isOpen', ()=>{\n const panelView = new StylePanelView(locale, normalizedStyleDefinitions);\n // Put the styles panel is the dropdown.\n dropdown.panelView.children.add(panelView);\n // Close the dropdown when a style is selected in the styles panel.\n panelView.delegate('execute').to(dropdown);\n // Bind the state of the styles panel to the command.\n panelView.bind('activeStyles').to(styleCommand, 'value');\n panelView.bind('enabledStyles').to(styleCommand, 'enabledStyles');\n });\n // The entire dropdown will be disabled together with the command (e.g. when the editor goes read-only).\n dropdown.bind('isEnabled').to(styleCommand);\n // This dropdown has no icon. It displays text label depending on the selection.\n dropdown.buttonView.withText = true;\n // The label of the dropdown is dynamic and depends on how many styles are active at a time.\n dropdown.buttonView.bind('label').to(styleCommand, 'value', (value)=>{\n if (value.length > 1) {\n return t('Multiple styles');\n } else if (value.length === 1) {\n return value[0];\n } else {\n return t('Styles');\n }\n });\n // The dropdown has a static CSS class for easy customization. There's another CSS class\n // that gets displayed when multiple styles are active at a time allowing visual customization of\n // the label.\n dropdown.bind('class').to(styleCommand, 'value', (value)=>{\n const classes = [\n 'ck-style-dropdown'\n ];\n if (value.length > 1) {\n classes.push('ck-style-dropdown_multiple-active');\n }\n return classes.join(' ');\n });\n // Execute the command when a style is selected in the styles panel.\n // Also focus the editable after executing the command.\n // It overrides a default behaviour where the focus is moved to the dropdown button (#12125).\n dropdown.on('execute', (evt)=>{\n editor.execute('style', {\n styleName: evt.source.styleDefinition.name\n });\n editor.editing.view.focus();\n });\n return dropdown;\n });\n }\n}\n\n/**\n * Style command.\n *\n * Applies and removes styles from selection and elements.\n */ class StyleCommand extends Command {\n /**\n\t * Normalized definitions of the styles.\n\t */ _styleDefinitions;\n /**\n\t * The StyleUtils plugin.\n\t */ _styleUtils;\n /**\n\t * Creates an instance of the command.\n\t *\n\t * @param editor Editor on which this command will be used.\n\t * @param styleDefinitions Normalized definitions of the styles.\n\t */ constructor(editor, styleDefinitions){\n super(editor);\n this.set('value', []);\n this.set('enabledStyles', []);\n this._styleDefinitions = styleDefinitions;\n this._styleUtils = this.editor.plugins.get(StyleUtils);\n }\n /**\n\t * @inheritDoc\n\t */ refresh() {\n const model = this.editor.model;\n const selection = model.document.selection;\n const value = new Set();\n const enabledStyles = new Set();\n // Inline styles.\n for (const definition of this._styleDefinitions.inline){\n // Check if this inline style is enabled.\n if (this._styleUtils.isStyleEnabledForInlineSelection(definition, selection)) {\n enabledStyles.add(definition.name);\n }\n // Check if this inline style is active.\n if (this._styleUtils.isStyleActiveForInlineSelection(definition, selection)) {\n value.add(definition.name);\n }\n }\n // Block styles.\n const firstBlock = first(selection.getSelectedBlocks()) || selection.getFirstPosition().parent;\n if (firstBlock) {\n const ancestorBlocks = firstBlock.getAncestors({\n includeSelf: true,\n parentFirst: true\n });\n for (const block of ancestorBlocks){\n if (block.is('rootElement')) {\n break;\n }\n for (const definition of this._styleDefinitions.block){\n // Check if this block style is enabled.\n if (!this._styleUtils.isStyleEnabledForBlock(definition, block)) {\n continue;\n }\n enabledStyles.add(definition.name);\n // Check if this block style is active.\n if (this._styleUtils.isStyleActiveForBlock(definition, block)) {\n value.add(definition.name);\n }\n }\n // E.g. reached a model table when the selection is in a cell. The command should not modify\n // ancestors of a table.\n if (model.schema.isObject(block)) {\n break;\n }\n }\n }\n this.enabledStyles = Array.from(enabledStyles).sort();\n this.isEnabled = this.enabledStyles.length > 0;\n this.value = this.isEnabled ? Array.from(value).sort() : [];\n }\n /**\n\t * Executes the command &ndash; applies the style classes to the selection or removes it from the selection.\n\t *\n\t * If the command value already contains the requested style, it will remove the style classes. Otherwise, it will set it.\n\t *\n\t * The execution result differs, depending on the {@link module:engine/model/document~ModelDocument#selection} and the\n\t * style type (inline or block):\n\t *\n\t * * When applying inline styles:\n\t * * If the selection is on a range, the command applies the style classes to all nodes in that range.\n\t * * If the selection is collapsed in a non-empty node, the command applies the style classes to the\n\t * {@link module:engine/model/document~ModelDocument#selection}.\n\t *\n\t * * When applying block styles:\n\t * * If the selection is on a range, the command applies the style classes to the nearest block parent element.\n\t *\n\t * @fires execute\n\t * @param options Command options.\n\t * @param options.styleName Style name matching the one defined in the\n\t * {@link module:style/styleconfig~StyleConfig#definitions configuration}.\n\t * @param options.forceValue Whether the command should add given style (`true`) or remove it (`false`) from the selection.\n\t * If not set (default), the command will toggle the style basing on the first selected node. Note, that this will not force\n\t * setting a style on an element that cannot receive given style.\n\t */ execute({ styleName, forceValue }) {\n if (!this.enabledStyles.includes(styleName)) {\n /**\n\t\t\t * Style command can be executed only with a correct style name.\n\t\t\t *\n\t\t\t * This warning may be caused by:\n\t\t\t *\n\t\t\t * * passing a name that is not specified in the {@link module:style/styleconfig~StyleConfig#definitions configuration}\n\t\t\t * (e.g. a CSS class name),\n\t\t\t * * when trying to apply a style that is not allowed on a given element.\n\t\t\t *\n\t\t\t * @error style-command-executed-with-incorrect-style-name\n\t\t\t */ logWarning('style-command-executed-with-incorrect-style-name');\n return;\n }\n const model = this.editor.model;\n const selection = model.document.selection;\n const htmlSupport = this.editor.plugins.get('GeneralHtmlSupport');\n const allDefinitions = [\n ...this._styleDefinitions.inline,\n ...this._styleDefinitions.block\n ];\n const activeDefinitions = allDefinitions.filter(({ name })=>this.value.includes(name));\n const definition = allDefinitions.find(({ name })=>name == styleName);\n const shouldAddStyle = forceValue === undefined ? !this.value.includes(definition.name) : forceValue;\n model.change(()=>{\n let selectables;\n if (isBlockStyleDefinition(definition)) {\n selectables = this._findAffectedBlocks(getBlocksFromSelection(selection), definition);\n } else {\n selectables = [\n this._styleUtils.getAffectedInlineSelectable(definition, selection)\n ];\n }\n for (const selectable of selectables){\n if (shouldAddStyle) {\n htmlSupport.addModelHtmlClass(definition.element, definition.classes, selectable);\n } else {\n htmlSupport.removeModelHtmlClass(definition.element, getDefinitionExclusiveClasses(activeDefinitions, definition), selectable);\n }\n }\n });\n }\n /**\n\t * Returns a set of elements that should be affected by the block-style change.\n\t */ _findAffectedBlocks(selectedBlocks, definition) {\n const blocks = new Set();\n for (const selectedBlock of selectedBlocks){\n const ancestorBlocks = selectedBlock.getAncestors({\n includeSelf: true,\n parentFirst: true\n });\n for (const block of ancestorBlocks){\n if (block.is('rootElement')) {\n break;\n }\n const affectedBlocks = this._styleUtils.getAffectedBlocks(definition, block);\n if (affectedBlocks) {\n for (const affectedBlock of affectedBlocks){\n blocks.add(affectedBlock);\n }\n break;\n }\n }\n }\n return blocks;\n }\n}\n/**\n * Returns classes that are defined only in the supplied definition and not in any other active definition. It's used\n * to ensure that classes used by other definitions are preserved when a style is removed. See #11748.\n *\n * @param activeDefinitions All currently active definitions affecting selected element(s).\n * @param definition Definition whose classes will be compared with all other active definition classes.\n * @returns Array of classes exclusive to the supplied definition.\n */ function getDefinitionExclusiveClasses(activeDefinitions, definition) {\n return activeDefinitions.reduce((classes, currentDefinition)=>{\n if (currentDefinition.name === definition.name) {\n return classes;\n }\n return classes.filter((className)=>!currentDefinition.classes.includes(className));\n }, definition.classes);\n}\n/**\n * Checks if provided style definition is of type block.\n */ function isBlockStyleDefinition(definition) {\n return 'isBlock' in definition;\n}\n/**\n * Gets block elements from selection. If there are none, returns first selected element.\n * @param selection Current document's selection.\n * @returns Selected blocks if there are any, first selected element otherwise.\n */ function getBlocksFromSelection(selection) {\n const blocks = Array.from(selection.getSelectedBlocks());\n if (blocks.length) {\n return blocks;\n }\n return [\n selection.getFirstPosition().parent\n ];\n}\n\nclass ListStyleSupport extends Plugin {\n _listUtils;\n _styleUtils;\n _htmlSupport;\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'ListStyleSupport';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n StyleUtils,\n 'GeneralHtmlSupport'\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n if (!editor.plugins.has('ListEditing')) {\n return;\n }\n this._styleUtils = editor.plugins.get(StyleUtils);\n this._listUtils = this.editor.plugins.get('ListUtils');\n this._htmlSupport = this.editor.plugins.get('GeneralHtmlSupport');\n this.listenTo(this._styleUtils, 'isStyleEnabledForBlock', (evt, [definition, block])=>{\n if (this._isStyleEnabledForBlock(definition, block)) {\n evt.return = true;\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'isStyleActiveForBlock', (evt, [definition, block])=>{\n if (this._isStyleActiveForBlock(definition, block)) {\n evt.return = true;\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'getAffectedBlocks', (evt, [definition, block])=>{\n const blocks = this._getAffectedBlocks(definition, block);\n if (blocks) {\n evt.return = blocks;\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'getStylePreview', (evt, [definition, children])=>{\n const templateDefinition = this._getStylePreview(definition, children);\n if (templateDefinition) {\n evt.return = templateDefinition;\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n }\n /**\n\t * Verifies if the given style is applicable to the provided block element.\n\t */ _isStyleEnabledForBlock(definition, block) {\n const model = this.editor.model;\n if (![\n 'ol',\n 'ul',\n 'li'\n ].includes(definition.element)) {\n return false;\n }\n if (!this._listUtils.isListItemBlock(block)) {\n return false;\n }\n const attributeName = this._htmlSupport.getGhsAttributeNameForElement(definition.element);\n if (definition.element == 'ol' || definition.element == 'ul') {\n if (!model.schema.checkAttribute(block, attributeName)) {\n return false;\n }\n const isNumbered = this._listUtils.isNumberedListType(block.getAttribute('listType'));\n const viewElementName = isNumbered ? 'ol' : 'ul';\n return definition.element == viewElementName;\n } else {\n return model.schema.checkAttribute(block, attributeName);\n }\n }\n /**\n\t * Returns true if the given style is applied to the specified block element.\n\t */ _isStyleActiveForBlock(definition, block) {\n const attributeName = this._htmlSupport.getGhsAttributeNameForElement(definition.element);\n const ghsAttributeValue = block.getAttribute(attributeName);\n return this._styleUtils.hasAllClasses(ghsAttributeValue, definition.classes);\n }\n /**\n\t * Returns an array of block elements that style should be applied to.\n\t */ _getAffectedBlocks(definition, block) {\n if (!this._isStyleEnabledForBlock(definition, block)) {\n return null;\n }\n if (definition.element == 'li') {\n return this._listUtils.expandListBlocksToCompleteItems(block, {\n withNested: false\n });\n } else {\n return this._listUtils.expandListBlocksToCompleteList(block);\n }\n }\n /**\n\t * Returns a view template definition for the style preview.\n\t */ _getStylePreview(definition, children) {\n const { element, classes } = definition;\n if (element == 'ol' || element == 'ul') {\n return {\n tag: element,\n attributes: {\n class: classes\n },\n children: [\n {\n tag: 'li',\n children\n }\n ]\n };\n } else if (element == 'li') {\n return {\n tag: 'ol',\n children: [\n {\n tag: element,\n attributes: {\n class: classes\n },\n children\n }\n ]\n };\n }\n return null;\n }\n}\n\nclass TableStyleSupport extends Plugin {\n _tableUtils;\n _styleUtils;\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'TableStyleSupport';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n StyleUtils\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n if (!editor.plugins.has('TableEditing')) {\n return;\n }\n this._styleUtils = editor.plugins.get(StyleUtils);\n this._tableUtils = this.editor.plugins.get('TableUtils');\n this.listenTo(this._styleUtils, 'isStyleEnabledForBlock', (evt, [definition, block])=>{\n if (this._isApplicable(definition, block)) {\n evt.return = this._isStyleEnabledForBlock(definition, block);\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'getAffectedBlocks', (evt, [definition, block])=>{\n if (this._isApplicable(definition, block)) {\n evt.return = this._getAffectedBlocks(definition, block);\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'configureGHSDataFilter', (evt, [{ block }])=>{\n const ghsDataFilter = this.editor.plugins.get('DataFilter');\n ghsDataFilter.loadAllowedConfig(block.filter((definition)=>definition.element == 'figcaption').map((definition)=>({\n name: 'caption',\n classes: definition.classes\n })));\n });\n }\n /**\n\t * Checks if this plugin's custom logic should be applied for defintion-block pair.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block Block element to check if should be styled.\n\t * @returns True if the defintion-block pair meet the plugin criteria, false otherwise.\n\t */ _isApplicable(definition, block) {\n if ([\n 'td',\n 'th'\n ].includes(definition.element)) {\n return block.name == 'tableCell';\n }\n if ([\n 'thead',\n 'tbody'\n ].includes(definition.element)) {\n return block.name == 'table';\n }\n return false;\n }\n /**\n\t * Checks if the style definition should be applied to selected block.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block Block element to check if should be styled.\n\t * @returns True if the block should be style with the style description, false otherwise.\n\t */ _isStyleEnabledForBlock(definition, block) {\n if ([\n 'td',\n 'th'\n ].includes(definition.element)) {\n const location = this._tableUtils.getCellLocation(block);\n const tableRow = block.parent;\n const table = tableRow.parent;\n const headingRows = table.getAttribute('headingRows') || 0;\n const headingColumns = table.getAttribute('headingColumns') || 0;\n const isHeadingCell = location.row < headingRows || location.column < headingColumns;\n if (definition.element == 'th') {\n return isHeadingCell;\n } else {\n return !isHeadingCell;\n }\n }\n if ([\n 'thead',\n 'tbody'\n ].includes(definition.element)) {\n const headingRows = block.getAttribute('headingRows') || 0;\n if (definition.element == 'thead') {\n return headingRows > 0;\n } else {\n return headingRows < this._tableUtils.getRows(block);\n }\n }\n /* istanbul ignore next -- @preserve */ return false;\n }\n /**\n\t * Gets all blocks that the style should be applied to.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block A block element from selection.\n\t * @returns An array with the block that was passed as an argument if meets the criteria, null otherwise.\n\t */ _getAffectedBlocks(definition, block) {\n if (!this._isStyleEnabledForBlock(definition, block)) {\n return null;\n }\n return [\n block\n ];\n }\n}\n\nclass LinkStyleSupport extends Plugin {\n _styleUtils;\n _htmlSupport;\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'LinkStyleSupport';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n StyleUtils,\n 'GeneralHtmlSupport'\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n if (!editor.plugins.has('LinkEditing')) {\n return;\n }\n this._styleUtils = editor.plugins.get(StyleUtils);\n this._htmlSupport = this.editor.plugins.get('GeneralHtmlSupport');\n this.listenTo(this._styleUtils, 'isStyleEnabledForInlineSelection', (evt, [definition, selection])=>{\n if (definition.element == 'a') {\n evt.return = this._isStyleEnabled(definition, selection);\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'isStyleActiveForInlineSelection', (evt, [definition, selection])=>{\n if (definition.element == 'a') {\n evt.return = this._isStyleActive(definition, selection);\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'getAffectedInlineSelectable', (evt, [definition, selection])=>{\n if (definition.element != 'a') {\n return;\n }\n const selectable = this._getAffectedSelectable(definition, selection);\n if (selectable) {\n evt.return = selectable;\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n }\n /**\n\t * Verifies if the given style is applicable to the provided document selection.\n\t */ _isStyleEnabled(definition, selection) {\n const model = this.editor.model;\n // Handle collapsed selection.\n if (selection.isCollapsed) {\n return selection.hasAttribute('linkHref');\n }\n // Non-collapsed selection.\n for (const range of selection.getRanges()){\n for (const item of range.getItems()){\n if ((item.is('$textProxy') || model.schema.isInline(item)) && item.hasAttribute('linkHref')) {\n return true;\n }\n }\n }\n return false;\n }\n /**\n\t * Returns true if the given style is applied to the specified document selection.\n\t */ _isStyleActive(definition, selection) {\n const model = this.editor.model;\n const attributeName = this._htmlSupport.getGhsAttributeNameForElement(definition.element);\n // Handle collapsed selection.\n if (selection.isCollapsed) {\n if (selection.hasAttribute('linkHref')) {\n const ghsAttributeValue = selection.getAttribute(attributeName);\n if (this._styleUtils.hasAllClasses(ghsAttributeValue, definition.classes)) {\n return true;\n }\n }\n return false;\n }\n // Non-collapsed selection.\n for (const range of selection.getRanges()){\n for (const item of range.getItems()){\n if ((item.is('$textProxy') || model.schema.isInline(item)) && item.hasAttribute('linkHref')) {\n const ghsAttributeValue = item.getAttribute(attributeName);\n return this._styleUtils.hasAllClasses(ghsAttributeValue, definition.classes);\n }\n }\n }\n return false;\n }\n /**\n\t * Returns a selectable that given style should be applied to.\n\t */ _getAffectedSelectable(definition, selection) {\n const model = this.editor.model;\n // Handle collapsed selection.\n if (selection.isCollapsed) {\n const linkHref = selection.getAttribute('linkHref');\n return findAttributeRange(selection.getFirstPosition(), 'linkHref', linkHref, model);\n }\n // Non-collapsed selection.\n const ranges = [];\n for (const range of selection.getRanges()){\n // First expand range to include the whole link.\n const expandedRange = model.createRange(expandAttributePosition(range.start, 'linkHref', true, model), expandAttributePosition(range.end, 'linkHref', false, model));\n // Pick only ranges on links.\n for (const item of expandedRange.getItems()){\n if ((item.is('$textProxy') || model.schema.isInline(item)) && item.hasAttribute('linkHref')) {\n ranges.push(this.editor.model.createRangeOn(item));\n }\n }\n }\n // Make sure that we have a continuous range on a link\n // (not split between text nodes with mixed attributes like bold etc.)\n return normalizeRanges(ranges);\n }\n}\n/**\n * Walks forward or backward (depends on the `lookBack` flag), node by node, as long as they have the same attribute value\n * and returns a position just before or after (depends on the `lookBack` flag) the last matched node.\n */ function expandAttributePosition(position, attributeName, lookBack, model) {\n const referenceNode = position.textNode || (lookBack ? position.nodeAfter : position.nodeBefore);\n if (!referenceNode || !referenceNode.hasAttribute(attributeName)) {\n return position;\n }\n const attributeValue = referenceNode.getAttribute(attributeName);\n return findAttributeRangeBound(position, attributeName, attributeValue, lookBack, model);\n}\n/**\n * Normalizes list of ranges by joining intersecting or \"touching\" ranges.\n *\n * Note: It assumes that ranges are sorted.\n */ function normalizeRanges(ranges) {\n for(let i = 1; i < ranges.length; i++){\n const joinedRange = ranges[i - 1].getJoined(ranges[i]);\n if (joinedRange) {\n // Replace the ranges on the list with the new joined range.\n ranges.splice(--i, 2, joinedRange);\n }\n }\n return ranges;\n}\n\n/**\n * The style engine feature.\n *\n * It configures the {@glink features/html/general-html-support General HTML Support feature} based on\n * {@link module:style/styleconfig~StyleConfig#definitions configured style definitions} and introduces the\n * {@link module:style/stylecommand~StyleCommand style command} that applies styles to the content of the document.\n */ class StyleEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'StyleEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n 'GeneralHtmlSupport',\n StyleUtils,\n ListStyleSupport,\n TableStyleSupport,\n LinkStyleSupport\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const dataSchema = editor.plugins.get('DataSchema');\n const styleUtils = editor.plugins.get('StyleUtils');\n const styleDefinitions = editor.config.get('style.definitions');\n const normalizedStyleDefinitions = styleUtils.normalizeConfig(dataSchema, styleDefinitions);\n editor.commands.add('style', new StyleCommand(editor, normalizedStyleDefinitions));\n styleUtils.configureGHSDataFilter(normalizedStyleDefinitions);\n }\n}\n\n/**\n * The style plugin.\n *\n * This is a \"glue\" plugin that loads the {@link module:style/styleediting~StyleEditing style editing feature}\n * and {@link module:style/styleui~StyleUI style UI feature}.\n */ class Style extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'Style';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n StyleEditing,\n StyleUI\n ];\n }\n}\n\nexport { LinkStyleSupport, ListStyleSupport, Style, StyleCommand, StyleEditing, StyleUI, StyleUtils, TableStyleSupport, StyleGridButtonView as _StyleGridButtonView, StyleGridView as _StyleGridView, StyleGroupView as _StyleGroupView, StylePanelView as _StylePanelView };\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 style/ui/stylegridbuttonview\n */\n\nimport type { Locale } from 'ckeditor5/src/utils.js';\nimport { ButtonView, View } from 'ckeditor5/src/ui.js';\n\nimport type { NormalizedStyleDefinition } from '../styleutils.js';\n\n/**\n * A class representing an individual button (style) in the grid. Renders a rich preview of the style.\n *\n * @internal\n */\nexport class StyleGridButtonView extends ButtonView {\n\t/**\n\t * Definition of the style the button will apply when executed.\n\t */\n\tpublic readonly styleDefinition: NormalizedStyleDefinition;\n\n\t/**\n\t * The view rendering the preview of the style.\n\t */\n\tpublic readonly previewView: View;\n\n\t/**\n\t * Creates an instance of the {@link module:style/ui/stylegridbuttonview~StyleGridButtonView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinition Definition of the style.\n\t */\n\tconstructor( locale: Locale, styleDefinition: NormalizedStyleDefinition ) {\n\t\tsuper( locale );\n\n\t\tthis.styleDefinition = styleDefinition;\n\t\tthis.previewView = this._createPreview();\n\n\t\tthis.set( {\n\t\t\tlabel: styleDefinition.name,\n\t\t\tclass: 'ck-style-grid__button',\n\t\t\twithText: true\n\t\t} );\n\n\t\tthis.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\trole: 'option'\n\t\t\t}\n\t\t} );\n\n\t\tthis.children.add( this.previewView, 0 );\n\t}\n\n\t/**\n\t * Creates the view representing the preview of the style.\n\t */\n\tprivate _createPreview(): View {\n\t\tconst previewView = new View( this.locale );\n\n\t\tpreviewView.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-reset_all-excluded',\n\t\t\t\t\t'ck-style-grid__button__preview',\n\t\t\t\t\t'ck-content'\n\t\t\t\t],\n\t\t\t\t// The preview \"AaBbCcDdEeFfGgHhIiJj\" should not be read by screen readers because it is purely presentational.\n\t\t\t\t'aria-hidden': 'true'\n\t\t\t},\n\n\t\t\tchildren: [\n\t\t\t\tthis.styleDefinition.previewTemplate\n\t\t\t]\n\t\t} );\n\n\t\treturn previewView;\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 style/ui/stylegridview\n */\n\nimport { View, addKeyboardHandlingForGrid, type ViewCollection, type FocusableView } from 'ckeditor5/src/ui.js';\nimport { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils.js';\n\nimport { StyleGridButtonView } from './stylegridbuttonview.js';\nimport type { NormalizedStyleDefinition } from '../styleutils.js';\n\nimport '../../theme/stylegrid.css';\n\n/**\n * A class representing a grid of styles ({@link module:style/ui/stylegridbuttonview~StyleGridButtonView buttons}).\n * Allows users to select a style.\n *\n * @internal\n */\nexport class StyleGridView extends View<HTMLDivElement> implements FocusableView {\n\t/**\n\t * Tracks information about the DOM focus in the view.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t */\n\tpublic readonly keystrokes: KeystrokeHandler;\n\n\t/**\n\t * A collection of style {@link module:style/ui/stylegridbuttonview~StyleGridButtonView buttons}.\n\t */\n\tpublic readonly children: ViewCollection<StyleGridButtonView>;\n\n\t/**\n\t * Array of active style names. They must correspond to the names of styles from\n\t * definitions passed to the {@link #constructor}.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly activeStyles: Array<string>;\n\n\t/**\n\t * Array of enabled style names. They must correspond to the names of styles from\n\t * definitions passed to the {@link #constructor}.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly enabledStyles: Array<string>;\n\n\t/**\n\t * Creates an instance of the {@link module:style/ui/stylegridview~StyleGridView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinitions Definitions of the styles.\n\t */\n\tconstructor( locale: Locale, styleDefinitions: Array<NormalizedStyleDefinition> ) {\n\t\tsuper( locale );\n\n\t\tthis.focusTracker = new FocusTracker();\n\t\tthis.keystrokes = new KeystrokeHandler();\n\n\t\tthis.set( 'activeStyles', [] );\n\t\tthis.set( 'enabledStyles', [] );\n\n\t\tthis.children = this.createCollection<StyleGridButtonView>();\n\t\tthis.children.delegate( 'execute' ).to( this );\n\n\t\tfor ( const definition of styleDefinitions ) {\n\t\t\tconst gridTileView = new StyleGridButtonView( locale, definition );\n\n\t\t\tthis.children.add( gridTileView );\n\t\t}\n\n\t\tthis.on( 'change:activeStyles', () => {\n\t\t\tfor ( const child of this.children ) {\n\t\t\t\tchild.isOn = this.activeStyles.includes( child.styleDefinition.name );\n\t\t\t}\n\t\t} );\n\n\t\tthis.on( 'change:enabledStyles', () => {\n\t\t\tfor ( const child of this.children ) {\n\t\t\t\tchild.isEnabled = this.enabledStyles.includes( child.styleDefinition.name );\n\t\t\t}\n\t\t} );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-style-grid'\n\t\t\t\t],\n\t\t\t\trole: 'listbox'\n\t\t\t},\n\n\t\t\tchildren: this.children\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tfor ( const child of this.children ) {\n\t\t\tthis.focusTracker.add( child.element! );\n\t\t}\n\n\t\taddKeyboardHandlingForGrid( {\n\t\t\tkeystrokeHandler: this.keystrokes,\n\t\t\tfocusTracker: this.focusTracker,\n\t\t\tgridItems: this.children,\n\t\t\tnumberOfColumns: 3,\n\t\t\tuiLanguageDirection: this.locale && this.locale.uiLanguageDirection\n\t\t} );\n\n\t\t// Start listening for the keystrokes coming from the grid view.\n\t\tthis.keystrokes.listenTo( this.element! );\n\t}\n\n\t/**\n\t * Focuses the first style button in the grid.\n\t */\n\tpublic focus(): void {\n\t\tthis.children.first!.focus();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tthis.focusTracker.destroy();\n\t\tthis.keystrokes.destroy();\n\t}\n}\n\n/**\n * Fired when a {@link module:style/ui/stylegridbuttonview~StyleGridButtonView style} was selected (clicked) by the user.\n *\n * @eventName ~StyleGridView#execute\n */\nexport type StyleGridViewExecuteEvent = {\n\tname: 'execute';\n\targs: [];\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 style/ui/stylegroupview\n */\n\nimport { LabelView, View } from 'ckeditor5/src/ui.js';\nimport type { Locale } from 'ckeditor5/src/utils.js';\n\nimport { StyleGridView } from './stylegridview.js';\nimport type { NormalizedStyleDefinition } from '../styleutils.js';\n\nimport '../../theme/stylegroup.css';\n\n/**\n * A class representing a group of styles (e.g. \"block\" or \"inline\").\n *\n * Renders a {@link module:style/ui/stylegridview~StyleGridView style grid} and a label.\n *\n * @internal\n */\nexport class StyleGroupView extends View<HTMLDivElement> {\n\t/**\n\t * The styles grid of the group.\n\t */\n\tpublic readonly gridView: StyleGridView;\n\n\t/**\n\t * The label of the group.\n\t */\n\tpublic readonly labelView: LabelView;\n\n\t/**\n\t * Creates an instance of the {@link module:style/ui/stylegroupview~StyleGroupView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param label The localized label of the group.\n\t * @param styleDefinitions Definitions of the styles in the group.\n\t */\n\tconstructor( locale: Locale, label: string, styleDefinitions: Array<NormalizedStyleDefinition> ) {\n\t\tsuper( locale );\n\n\t\tthis.labelView = new LabelView( locale );\n\t\tthis.labelView.text = label;\n\t\tthis.gridView = new StyleGridView( locale, styleDefinitions );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-style-panel__style-group'\n\t\t\t\t],\n\t\t\t\trole: 'group',\n\t\t\t\t'aria-labelledby': this.labelView.id\n\t\t\t},\n\n\t\t\tchildren: [\n\t\t\t\tthis.labelView,\n\t\t\t\tthis.gridView\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 style/ui/stylepanelview\n */\n\nimport { FocusCycler, View, ViewCollection } from 'ckeditor5/src/ui.js';\nimport { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils.js';\n\nimport { StyleGroupView } from './stylegroupview.js';\nimport { type StyleGridView } from './stylegridview.js';\nimport type { NormalizedStyleDefinitions } from '../styleutils.js';\n\nimport '../../theme/stylepanel.css';\n\n/**\n * A class representing a panel with available content styles. It renders styles in button grids, grouped\n * in categories.\n *\n * @internal\n */\nexport class StylePanelView extends View<HTMLDivElement> {\n\t/**\n\t * Tracks information about DOM focus in the panel.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t */\n\tpublic readonly keystrokes: KeystrokeHandler;\n\n\t/**\n\t * A collection of panel children.\n\t */\n\tpublic readonly children: ViewCollection<StyleGroupView>;\n\n\t/**\n\t * A view representing block styles group.\n\t */\n\tpublic readonly blockStylesGroupView: StyleGroupView;\n\n\t/**\n\t * A view representing inline styles group\n\t */\n\tpublic readonly inlineStylesGroupView: StyleGroupView;\n\n\t/**\n\t * Array of active style names. They must correspond to the names of styles from\n\t * definitions passed to the {@link #constructor}.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly activeStyles: Array<string>;\n\n\t/**\n\t * Array of enabled style names. They must correspond to the names of styles from\n\t * definitions passed to the {@link #constructor}.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly enabledStyles: Array<string>;\n\n\t/**\n\t * A collection of views that can be focused in the panel.\n\t */\n\tprotected readonly _focusables: ViewCollection<StyleGridView>;\n\n\t/**\n\t * Helps cycling over {@link #_focusables} in the panel.\n\t */\n\tprotected readonly _focusCycler: FocusCycler;\n\n\t/**\n\t * Creates an instance of the {@link module:style/ui/stylegroupview~StyleGroupView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinitions Normalized definitions of the styles.\n\t */\n\tconstructor( locale: Locale, styleDefinitions: NormalizedStyleDefinitions ) {\n\t\tsuper( locale );\n\n\t\tconst t = locale.t;\n\n\t\tthis.focusTracker = new FocusTracker();\n\t\tthis.keystrokes = new KeystrokeHandler();\n\t\tthis.children = this.createCollection();\n\t\tthis.blockStylesGroupView = new StyleGroupView( locale, t( 'Block styles' ), styleDefinitions.block );\n\t\tthis.inlineStylesGroupView = new StyleGroupView( locale, t( 'Text styles' ), styleDefinitions.inline );\n\n\t\tthis.set( 'activeStyles', [] );\n\t\tthis.set( 'enabledStyles', [] );\n\n\t\tthis._focusables = new ViewCollection();\n\n\t\tthis._focusCycler = new FocusCycler( {\n\t\t\tfocusables: this._focusables,\n\t\t\tfocusTracker: this.focusTracker,\n\t\t\tkeystrokeHandler: this.keystrokes,\n\t\t\tactions: {\n\t\t\t\t// Navigate style groups backwards using the <kbd>Shift</kbd> + <kbd>Tab</kbd> keystroke.\n\t\t\t\tfocusPrevious: [ 'shift + tab' ],\n\n\t\t\t\t// Navigate style groups forward using the <kbd>Tab</kbd> key.\n\t\t\t\tfocusNext: [ 'tab' ]\n\t\t\t}\n\t\t} );\n\n\t\tif ( styleDefinitions.block.length ) {\n\t\t\tthis.children.add( this.blockStylesGroupView );\n\t\t}\n\n\t\tif ( styleDefinitions.inline.length ) {\n\t\t\tthis.children.add( this.inlineStylesGroupView );\n\t\t}\n\n\t\tthis.blockStylesGroupView.gridView.delegate( 'execute' ).to( this );\n\t\tthis.inlineStylesGroupView.gridView.delegate( 'execute' ).to( this );\n\n\t\tthis.blockStylesGroupView.gridView\n\t\t\t.bind( 'activeStyles', 'enabledStyles' )\n\t\t\t.to( this, 'activeStyles', 'enabledStyles' );\n\n\t\tthis.inlineStylesGroupView.gridView\n\t\t\t.bind( 'activeStyles', 'enabledStyles' )\n\t\t\t.to( this, 'activeStyles', 'enabledStyles' );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-style-panel'\n\t\t\t\t]\n\t\t\t},\n\n\t\t\tchildren: this.children\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\t// Register the views as focusable.\n\t\tthis._focusables.add( this.blockStylesGroupView.gridView );\n\t\tthis._focusables.add( this.inlineStylesGroupView.gridView );\n\n\t\t// Register the views in the focus tracker.\n\t\tthis.focusTracker.add( this.blockStylesGroupView.gridView.element! );\n\t\tthis.focusTracker.add( this.inlineStylesGroupView.gridView.element! );\n\n\t\tthis.keystrokes.listenTo( this.element! );\n\t}\n\n\t/**\n\t * Focuses the first focusable element in the panel.\n\t */\n\tpublic focus(): void {\n\t\tthis._focusCycler.focusFirst();\n\t}\n\n\t/**\n\t * Focuses the last focusable element in the panel.\n\t */\n\tpublic focusLast(): void {\n\t\tthis._focusCycler.focusLast();\n\t}\n}\n\n/**\n * Fired when a style was selected (clicked) by the user.\n *\n * @eventName ~StylePanelView#execute\n */\nexport type StylePanelViewExecuteEvent = {\n\tname: 'execute';\n\targs: [];\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 style/styleutils\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport type { ModelElement, MatcherObjectPattern, ModelDocumentSelection, ModelSelectable } from 'ckeditor5/src/engine.js';\nimport type { DecoratedMethodEvent } from 'ckeditor5/src/utils.js';\nimport type { TemplateDefinition } from 'ckeditor5/src/ui.js';\n\nimport type {\n\tDataFilter,\n\tDataSchema,\n\tGeneralHtmlSupport,\n\tHtmlSupportDataSchemaBlockElementDefinition\n} from '@ckeditor/ckeditor5-html-support';\n\nimport type { StyleDefinition } from './styleconfig.js';\nimport { isObject } from 'es-toolkit/compat';\n\n// These are intermediate element names that can't be rendered as style preview because they don't make sense standalone.\nconst NON_PREVIEWABLE_ELEMENT_NAMES = [\n\t'caption', 'colgroup', 'dd', 'dt', 'figcaption', 'legend', 'li', 'optgroup', 'option', 'rp',\n\t'rt', 'summary', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr'\n];\n\nexport class StyleUtils extends Plugin {\n\tprivate _htmlSupport!: GeneralHtmlSupport;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'StyleUtils' 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\tthis.decorate( 'isStyleEnabledForBlock' );\n\t\tthis.decorate( 'isStyleActiveForBlock' );\n\t\tthis.decorate( 'getAffectedBlocks' );\n\n\t\tthis.decorate( 'isStyleEnabledForInlineSelection' );\n\t\tthis.decorate( 'isStyleActiveForInlineSelection' );\n\t\tthis.decorate( 'getAffectedInlineSelectable' );\n\n\t\tthis.decorate( 'getStylePreview' );\n\t\tthis.decorate( 'configureGHSDataFilter' );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tthis._htmlSupport = this.editor.plugins.get( 'GeneralHtmlSupport' );\n\t}\n\n\t/**\n\t * Normalizes {@link module:style/styleconfig~StyleConfig#definitions} in the configuration of the styles feature.\n\t * The structure of normalized styles looks as follows:\n\t *\n\t * ```ts\n\t * {\n\t * \tblock: [\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t...\n\t * \t],\n\t * \tinline: [\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t...\n\t * \t]\n\t * }\n\t * ```\n\t *\n\t * @returns An object with normalized style definitions grouped into `block` and `inline` categories (arrays).\n\t */\n\tpublic normalizeConfig(\n\t\tdataSchema: DataSchema,\n\t\tstyleDefinitions: Array<StyleDefinition> = []\n\t): NormalizedStyleDefinitions {\n\t\tconst normalizedDefinitions: NormalizedStyleDefinitions = {\n\t\t\tblock: [],\n\t\t\tinline: []\n\t\t};\n\n\t\tfor ( const definition of styleDefinitions ) {\n\t\t\tconst modelElements: Array<string> = [];\n\t\t\tconst ghsAttributes: Array<string> = [];\n\n\t\t\tfor ( const ghsDefinition of dataSchema.getDefinitionsForView( definition.element ) ) {\n\t\t\t\tconst appliesToBlock = 'appliesToBlock' in ghsDefinition ? ghsDefinition.appliesToBlock : false;\n\n\t\t\t\tif ( ghsDefinition.isBlock || appliesToBlock ) {\n\t\t\t\t\tif ( typeof appliesToBlock == 'string' ) {\n\t\t\t\t\t\tmodelElements.push( appliesToBlock );\n\t\t\t\t\t} else if ( ghsDefinition.isBlock ) {\n\t\t\t\t\t\tconst ghsBlockDefinition: HtmlSupportDataSchemaBlockElementDefinition = ghsDefinition;\n\n\t\t\t\t\t\tmodelElements.push( ghsDefinition.model );\n\n\t\t\t\t\t\tif ( ghsBlockDefinition.paragraphLikeModel ) {\n\t\t\t\t\t\t\tmodelElements.push( ghsBlockDefinition.paragraphLikeModel );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tghsAttributes.push( ghsDefinition.model );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst previewTemplate = this.getStylePreview( definition, [\n\t\t\t\t{ text: 'AaBbCcDdEeFfGgHhIiJj' }\n\t\t\t] );\n\n\t\t\tif ( modelElements.length ) {\n\t\t\t\tnormalizedDefinitions.block.push( {\n\t\t\t\t\t...definition,\n\t\t\t\t\tpreviewTemplate,\n\t\t\t\t\tmodelElements,\n\t\t\t\t\tisBlock: true\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tnormalizedDefinitions.inline.push( {\n\t\t\t\t\t...definition,\n\t\t\t\t\tpreviewTemplate,\n\t\t\t\t\tghsAttributes\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn normalizedDefinitions;\n\t}\n\n\t/**\n\t * Verifies if the given style is applicable to the provided block element.\n\t *\n\t * @internal\n\t */\n\tpublic isStyleEnabledForBlock( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tconst model = this.editor.model;\n\t\tconst attributeName = this._htmlSupport.getGhsAttributeNameForElement( definition.element );\n\n\t\tif ( !model.schema.checkAttribute( block, attributeName ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn definition.modelElements.includes( block.name );\n\t}\n\n\t/**\n\t * Returns true if the given style is applied to the specified block element.\n\t *\n\t * @internal\n\t */\n\tpublic isStyleActiveForBlock( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tconst attributeName = this._htmlSupport.getGhsAttributeNameForElement( definition.element );\n\t\tconst ghsAttributeValue = block.getAttribute( attributeName );\n\n\t\treturn this.hasAllClasses( ghsAttributeValue, definition.classes );\n\t}\n\n\t/**\n\t * Returns an array of block elements that style should be applied to.\n\t *\n\t * @internal\n\t */\n\tpublic getAffectedBlocks( definition: BlockStyleDefinition, block: ModelElement ): Array<ModelElement> | null {\n\t\tif ( definition.modelElements.includes( block.name ) ) {\n\t\t\treturn [ block ];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Verifies if the given style is applicable to the provided document selection.\n\t *\n\t * @internal\n\t */\n\tpublic isStyleEnabledForInlineSelection( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): boolean {\n\t\tconst model = this.editor.model;\n\n\t\tfor ( const ghsAttributeName of definition.ghsAttributes ) {\n\t\t\tif ( model.schema.checkAttributeInSelection( selection, ghsAttributeName ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns true if the given style is applied to the specified document selection.\n\t *\n\t * @internal\n\t */\n\tpublic isStyleActiveForInlineSelection( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): boolean {\n\t\tfor ( const ghsAttributeName of definition.ghsAttributes ) {\n\t\t\tconst ghsAttributeValue = this._getValueFromFirstAllowedNode( selection, ghsAttributeName );\n\n\t\t\tif ( this.hasAllClasses( ghsAttributeValue, definition.classes ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns a selectable that given style should be applied to.\n\t *\n\t * @internal\n\t */\n\tpublic getAffectedInlineSelectable( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): ModelSelectable {\n\t\treturn selection;\n\t}\n\n\t/**\n\t * Returns the `TemplateDefinition` used by styles dropdown to render style preview.\n\t *\n\t * @internal\n\t */\n\tpublic getStylePreview( definition: StyleDefinition, children: Iterable<TemplateDefinition> ): TemplateDefinition {\n\t\tconst { element, classes } = definition;\n\n\t\treturn {\n\t\t\ttag: isPreviewable( element ) ? element : 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: classes\n\t\t\t},\n\t\t\tchildren\n\t\t};\n\t}\n\n\t/**\n\t * Verifies if all classes are present in the given GHS attribute.\n\t *\n\t * @internal\n\t */\n\tpublic hasAllClasses( ghsAttributeValue: unknown, classes: Array<string> ): boolean {\n\t\treturn isObject( ghsAttributeValue ) &&\n\t\t\thasClassesProperty( ghsAttributeValue ) &&\n\t\t\tclasses.every( className => ghsAttributeValue.classes.includes( className ) );\n\t}\n\n\t/**\n\t * This is where the styles feature configures the GHS feature. This method translates normalized\n\t * {@link module:style/styleconfig~StyleDefinition style definitions} to\n\t * {@link module:engine/view/matcher~MatcherObjectPattern matcher patterns} and feeds them to the GHS\n\t * {@link module:html-support/datafilter~DataFilter} plugin.\n\t *\n\t * @internal\n\t */\n\tpublic configureGHSDataFilter( { block, inline }: NormalizedStyleDefinitions ): void {\n\t\tconst ghsDataFilter: DataFilter = this.editor.plugins.get( 'DataFilter' );\n\n\t\tghsDataFilter.loadAllowedConfig( block.map( normalizedStyleDefinitionToMatcherPattern ) );\n\t\tghsDataFilter.loadAllowedConfig( inline.map( normalizedStyleDefinitionToMatcherPattern ) );\n\t}\n\n\t/**\n\t * Checks the attribute value of the first node in the selection that allows the attribute.\n\t * For the collapsed selection, returns the selection attribute.\n\t *\n\t * @param selection The document selection.\n\t * @param attributeName Name of the GHS attribute.\n\t * @returns The attribute value.\n\t */\n\tprivate _getValueFromFirstAllowedNode( selection: ModelDocumentSelection, attributeName: string ): unknown | null {\n\t\tconst model = this.editor.model;\n\t\tconst schema = model.schema;\n\n\t\tif ( selection.isCollapsed ) {\n\t\t\treturn selection.getAttribute( attributeName );\n\t\t}\n\n\t\tfor ( const range of selection.getRanges() ) {\n\t\t\tfor ( const item of range.getItems() ) {\n\t\t\t\tif ( schema.checkAttribute( item, attributeName ) ) {\n\t\t\t\t\treturn item.getAttribute( attributeName );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\n/**\n * Checks if given object has `classes` property which is an array.\n *\n * @param obj Object to check.\n */\nfunction hasClassesProperty<T extends { classes?: Array<unknown> }>( obj: T ): obj is T & { classes: Array<unknown> } {\n\treturn Boolean( obj.classes ) && Array.isArray( obj.classes );\n}\n\n/**\n * Decides whether an element should be created in the preview or a substitute `<div>` should\n * be used instead. This avoids previewing a standalone `<td>`, `<li>`, etc. without a parent.\n *\n * @param elementName Name of the element\n * @returns Boolean indicating whether the element can be rendered.\n */\nfunction isPreviewable( elementName: string ): boolean {\n\treturn !NON_PREVIEWABLE_ELEMENT_NAMES.includes( elementName );\n}\n\n/**\n * Translates a normalized style definition to a view matcher pattern.\n */\nfunction normalizedStyleDefinitionToMatcherPattern( { element, classes }: StyleDefinition ): MatcherObjectPattern {\n\treturn {\n\t\tname: element,\n\t\tclasses\n\t};\n}\n\nexport interface NormalizedStyleDefinitions {\n\tblock: Array<BlockStyleDefinition>;\n\tinline: Array<InlineStyleDefinition>;\n}\n\nexport interface BlockStyleDefinition extends StyleDefinition {\n\tisBlock: true;\n\tmodelElements: Array<string>;\n\tpreviewTemplate: TemplateDefinition;\n}\n\nexport interface InlineStyleDefinition extends StyleDefinition {\n\tghsAttributes: Array<string>;\n\tpreviewTemplate: TemplateDefinition;\n}\n\nexport type NormalizedStyleDefinition = BlockStyleDefinition | InlineStyleDefinition;\n\nexport type StyleUtilsIsEnabledForBlockEvent = DecoratedMethodEvent<StyleUtils, 'isStyleEnabledForBlock'>;\nexport type StyleUtilsIsActiveForBlockEvent = DecoratedMethodEvent<StyleUtils, 'isStyleActiveForBlock'>;\nexport type StyleUtilsGetAffectedBlocksEvent = DecoratedMethodEvent<StyleUtils, 'getAffectedBlocks'>;\n\nexport type StyleUtilsIsStyleEnabledForInlineSelectionEvent = DecoratedMethodEvent<StyleUtils, 'isStyleEnabledForInlineSelection'>;\nexport type StyleUtilsIsStyleActiveForInlineSelectionEvent = DecoratedMethodEvent<StyleUtils, 'isStyleActiveForInlineSelection'>;\nexport type StyleUtilsGetAffectedInlineSelectableEvent = DecoratedMethodEvent<StyleUtils, 'getAffectedInlineSelectable'>;\n\nexport type StyleUtilsGetStylePreviewEvent = DecoratedMethodEvent<StyleUtils, 'getStylePreview'>;\nexport type StyleUtilsConfigureGHSDataFilterEvent = DecoratedMethodEvent<StyleUtils, 'configureGHSDataFilter'>;\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 style/styleui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { createDropdown } from 'ckeditor5/src/ui.js';\nimport type { DataSchema } from '@ckeditor/ckeditor5-html-support';\n\nimport { StylePanelView } from './ui/stylepanelview.js';\nimport { StyleUtils } from './styleutils.js';\nimport { type StyleCommand } from './stylecommand.js';\n\nimport '../theme/style.css';\n\n/**\n * The UI plugin of the style feature .\n *\n * It registers the `'style'` UI dropdown in the editor's {@link module:ui/componentfactory~ComponentFactory component factory}\n * that displays a grid of styles and allows changing styles of the content.\n */\nexport class StyleUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'StyleUI' 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 static get requires() {\n\t\treturn [ StyleUtils ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst dataSchema: DataSchema = editor.plugins.get( 'DataSchema' );\n\t\tconst styleUtils: StyleUtils = editor.plugins.get( 'StyleUtils' );\n\t\tconst styleDefinitions = editor.config.get( 'style.definitions' );\n\t\tconst normalizedStyleDefinitions = styleUtils.normalizeConfig( dataSchema, styleDefinitions );\n\n\t\t// Add the dropdown to the component factory.\n\t\teditor.ui.componentFactory.add( 'style', locale => {\n\t\t\tconst t = locale.t;\n\t\t\tconst dropdown = createDropdown( locale );\n\t\t\tconst styleCommand: StyleCommand = editor.commands.get( 'style' )!;\n\n\t\t\tdropdown.once( 'change:isOpen', () => {\n\t\t\t\tconst panelView = new StylePanelView( locale, normalizedStyleDefinitions );\n\n\t\t\t\t// Put the styles panel is the dropdown.\n\t\t\t\tdropdown.panelView.children.add( panelView );\n\n\t\t\t\t// Close the dropdown when a style is selected in the styles panel.\n\t\t\t\tpanelView.delegate( 'execute' ).to( dropdown );\n\n\t\t\t\t// Bind the state of the styles panel to the command.\n\t\t\t\tpanelView.bind( 'activeStyles' ).to( styleCommand, 'value' );\n\t\t\t\tpanelView.bind( 'enabledStyles' ).to( styleCommand, 'enabledStyles' );\n\t\t\t} );\n\n\t\t\t// The entire dropdown will be disabled together with the command (e.g. when the editor goes read-only).\n\t\t\tdropdown.bind( 'isEnabled' ).to( styleCommand );\n\n\t\t\t// This dropdown has no icon. It displays text label depending on the selection.\n\t\t\tdropdown.buttonView.withText = true;\n\n\t\t\t// The label of the dropdown is dynamic and depends on how many styles are active at a time.\n\t\t\tdropdown.buttonView.bind( 'label' ).to( styleCommand, 'value', value => {\n\t\t\t\tif ( value.length > 1 ) {\n\t\t\t\t\treturn t( 'Multiple styles' );\n\t\t\t\t} else if ( value.length === 1 ) {\n\t\t\t\t\treturn value[ 0 ];\n\t\t\t\t} else {\n\t\t\t\t\treturn t( 'Styles' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// The dropdown has a static CSS class for easy customization. There's another CSS class\n\t\t\t// that gets displayed when multiple styles are active at a time allowing visual customization of\n\t\t\t// the label.\n\t\t\tdropdown.bind( 'class' ).to( styleCommand, 'value', value => {\n\t\t\t\tconst classes = [\n\t\t\t\t\t'ck-style-dropdown'\n\t\t\t\t];\n\n\t\t\t\tif ( value.length > 1 ) {\n\t\t\t\t\tclasses.push( 'ck-style-dropdown_multiple-active' );\n\t\t\t\t}\n\n\t\t\t\treturn classes.join( ' ' );\n\t\t\t} );\n\n\t\t\t// Execute the command when a style is selected in the styles panel.\n\t\t\t// Also focus the editable after executing the command.\n\t\t\t// It overrides a default behaviour where the focus is moved to the dropdown button (#12125).\n\t\t\tdropdown.on( 'execute', evt => {\n\t\t\t\teditor.execute( 'style', { styleName: ( evt.source as any ).styleDefinition.name } );\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\treturn dropdown;\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 style/stylecommand\n */\n\nimport type { ModelDocumentSelection, ModelElement } from 'ckeditor5/src/engine.js';\nimport { Command, type Editor } from 'ckeditor5/src/core.js';\nimport { logWarning, first } from 'ckeditor5/src/utils.js';\nimport type { GeneralHtmlSupport } from '@ckeditor/ckeditor5-html-support';\n\nimport {\n\tStyleUtils,\n\ttype BlockStyleDefinition,\n\ttype NormalizedStyleDefinition,\n\ttype NormalizedStyleDefinitions\n} from './styleutils.js';\n\n/**\n * Style command.\n *\n * Applies and removes styles from selection and elements.\n */\nexport class StyleCommand extends Command {\n\t/**\n\t * Set of currently applied styles on the current selection.\n\t *\n\t * Names of styles correspond to the `name` property of\n\t * {@link module:style/styleconfig~StyleDefinition configured definitions}.\n\t *\n\t * @observable\n\t */\n\tdeclare public value: Array<string>;\n\n\t/**\n\t * Names of enabled styles (styles that can be applied to the current selection).\n\t *\n\t * Names of enabled styles correspond to the `name` property of\n\t * {@link module:style/styleconfig~StyleDefinition configured definitions}.\n\t *\n\t * @observable\n\t */\n\tdeclare public enabledStyles: Array<string>;\n\n\t/**\n\t * Normalized definitions of the styles.\n\t */\n\tprivate readonly _styleDefinitions: NormalizedStyleDefinitions;\n\n\t/**\n\t * The StyleUtils plugin.\n\t */\n\tprivate _styleUtils: StyleUtils;\n\n\t/**\n\t * Creates an instance of the command.\n\t *\n\t * @param editor Editor on which this command will be used.\n\t * @param styleDefinitions Normalized definitions of the styles.\n\t */\n\tconstructor( editor: Editor, styleDefinitions: NormalizedStyleDefinitions ) {\n\t\tsuper( editor );\n\n\t\tthis.set( 'value', [] );\n\t\tthis.set( 'enabledStyles', [] );\n\n\t\tthis._styleDefinitions = styleDefinitions;\n\t\tthis._styleUtils = this.editor.plugins.get( StyleUtils );\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 selection = model.document.selection;\n\n\t\tconst value = new Set<string>();\n\t\tconst enabledStyles = new Set<string>();\n\n\t\t// Inline styles.\n\t\tfor ( const definition of this._styleDefinitions.inline ) {\n\t\t\t// Check if this inline style is enabled.\n\t\t\tif ( this._styleUtils.isStyleEnabledForInlineSelection( definition, selection ) ) {\n\t\t\t\tenabledStyles.add( definition.name );\n\t\t\t}\n\n\t\t\t// Check if this inline style is active.\n\t\t\tif ( this._styleUtils.isStyleActiveForInlineSelection( definition, selection ) ) {\n\t\t\t\tvalue.add( definition.name );\n\t\t\t}\n\t\t}\n\n\t\t// Block styles.\n\t\tconst firstBlock = first( selection.getSelectedBlocks() ) || selection.getFirstPosition()!.parent;\n\n\t\tif ( firstBlock ) {\n\t\t\tconst ancestorBlocks = firstBlock.getAncestors( { includeSelf: true, parentFirst: true } ) as Array<ModelElement>;\n\n\t\t\tfor ( const block of ancestorBlocks ) {\n\t\t\t\tif ( block.is( 'rootElement' ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tfor ( const definition of this._styleDefinitions.block ) {\n\t\t\t\t\t// Check if this block style is enabled.\n\t\t\t\t\tif ( !this._styleUtils.isStyleEnabledForBlock( definition, block ) ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tenabledStyles.add( definition.name );\n\n\t\t\t\t\t// Check if this block style is active.\n\t\t\t\t\tif ( this._styleUtils.isStyleActiveForBlock( definition, block ) ) {\n\t\t\t\t\t\tvalue.add( definition.name );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// E.g. reached a model table when the selection is in a cell. The command should not modify\n\t\t\t\t// ancestors of a table.\n\t\t\t\tif ( model.schema.isObject( block ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.enabledStyles = Array.from( enabledStyles ).sort();\n\t\tthis.isEnabled = this.enabledStyles.length > 0;\n\t\tthis.value = this.isEnabled ? Array.from( value ).sort() : [];\n\t}\n\n\t/**\n\t * Executes the command &ndash; applies the style classes to the selection or removes it from the selection.\n\t *\n\t * If the command value already contains the requested style, it will remove the style classes. Otherwise, it will set it.\n\t *\n\t * The execution result differs, depending on the {@link module:engine/model/document~ModelDocument#selection} and the\n\t * style type (inline or block):\n\t *\n\t * * When applying inline styles:\n\t * * If the selection is on a range, the command applies the style classes to all nodes in that range.\n\t * * If the selection is collapsed in a non-empty node, the command applies the style classes to the\n\t * {@link module:engine/model/document~ModelDocument#selection}.\n\t *\n\t * * When applying block styles:\n\t * * If the selection is on a range, the command applies the style classes to the nearest block parent element.\n\t *\n\t * @fires execute\n\t * @param options Command options.\n\t * @param options.styleName Style name matching the one defined in the\n\t * {@link module:style/styleconfig~StyleConfig#definitions configuration}.\n\t * @param options.forceValue Whether the command should add given style (`true`) or remove it (`false`) from the selection.\n\t * If not set (default), the command will toggle the style basing on the first selected node. Note, that this will not force\n\t * setting a style on an element that cannot receive given style.\n\t */\n\tpublic override execute( { styleName, forceValue }: { styleName: string; forceValue?: boolean } ): void {\n\t\tif ( !this.enabledStyles.includes( styleName ) ) {\n\t\t\t/**\n\t\t\t * Style command can be executed only with a correct style name.\n\t\t\t *\n\t\t\t * This warning may be caused by:\n\t\t\t *\n\t\t\t * * passing a name that is not specified in the {@link module:style/styleconfig~StyleConfig#definitions configuration}\n\t\t\t * (e.g. a CSS class name),\n\t\t\t * * when trying to apply a style that is not allowed on a given element.\n\t\t\t *\n\t\t\t * @error style-command-executed-with-incorrect-style-name\n\t\t\t */\n\t\t\tlogWarning( 'style-command-executed-with-incorrect-style-name' );\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this.editor.model;\n\t\tconst selection = model.document.selection;\n\t\tconst htmlSupport: GeneralHtmlSupport = this.editor.plugins.get( 'GeneralHtmlSupport' );\n\n\t\tconst allDefinitions: Array<NormalizedStyleDefinition> = [\n\t\t\t...this._styleDefinitions.inline,\n\t\t\t...this._styleDefinitions.block\n\t\t];\n\n\t\tconst activeDefinitions = allDefinitions.filter( ( { name } ) => this.value.includes( name ) );\n\t\tconst definition: NormalizedStyleDefinition = allDefinitions.find( ( { name } ) => name == styleName )!;\n\t\tconst shouldAddStyle = forceValue === undefined ? !this.value.includes( definition.name ) : forceValue;\n\n\t\tmodel.change( () => {\n\t\t\tlet selectables;\n\n\t\t\tif ( isBlockStyleDefinition( definition ) ) {\n\t\t\t\tselectables = this._findAffectedBlocks( getBlocksFromSelection( selection ),\n\t\t\t\t\tdefinition\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tselectables = [ this._styleUtils.getAffectedInlineSelectable( definition, selection ) ];\n\t\t\t}\n\n\t\t\tfor ( const selectable of selectables ) {\n\t\t\t\tif ( shouldAddStyle ) {\n\t\t\t\t\thtmlSupport.addModelHtmlClass( definition.element, definition.classes, selectable );\n\t\t\t\t} else {\n\t\t\t\t\thtmlSupport.removeModelHtmlClass(\n\t\t\t\t\t\tdefinition.element,\n\t\t\t\t\t\tgetDefinitionExclusiveClasses( activeDefinitions, definition ),\n\t\t\t\t\t\tselectable\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Returns a set of elements that should be affected by the block-style change.\n\t */\n\tprivate _findAffectedBlocks(\n\t\tselectedBlocks: Iterable<ModelElement>,\n\t\tdefinition: BlockStyleDefinition\n\t): Set<ModelElement> {\n\t\tconst blocks = new Set<ModelElement>();\n\n\t\tfor ( const selectedBlock of selectedBlocks ) {\n\t\t\tconst ancestorBlocks = selectedBlock.getAncestors( { includeSelf: true, parentFirst: true } ) as Array<ModelElement>;\n\n\t\t\tfor ( const block of ancestorBlocks ) {\n\t\t\t\tif ( block.is( 'rootElement' ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst affectedBlocks = this._styleUtils.getAffectedBlocks( definition, block );\n\n\t\t\t\tif ( affectedBlocks ) {\n\t\t\t\t\tfor ( const affectedBlock of affectedBlocks ) {\n\t\t\t\t\t\tblocks.add( affectedBlock );\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn blocks;\n\t}\n}\n\n/**\n * Returns classes that are defined only in the supplied definition and not in any other active definition. It's used\n * to ensure that classes used by other definitions are preserved when a style is removed. See #11748.\n *\n * @param activeDefinitions All currently active definitions affecting selected element(s).\n * @param definition Definition whose classes will be compared with all other active definition classes.\n * @returns Array of classes exclusive to the supplied definition.\n */\nfunction getDefinitionExclusiveClasses(\n\tactiveDefinitions: Array<NormalizedStyleDefinition>,\n\tdefinition: NormalizedStyleDefinition\n): Array<string> {\n\treturn activeDefinitions.reduce( ( classes: Array<string>, currentDefinition: NormalizedStyleDefinition ) => {\n\t\tif ( currentDefinition.name === definition.name ) {\n\t\t\treturn classes;\n\t\t}\n\n\t\treturn classes.filter( className => !currentDefinition.classes.includes( className ) );\n\t}, definition.classes );\n}\n\n/**\n * Checks if provided style definition is of type block.\n */\nfunction isBlockStyleDefinition( definition: NormalizedStyleDefinition ): definition is BlockStyleDefinition {\n\treturn 'isBlock' in definition;\n}\n\n/**\n * Gets block elements from selection. If there are none, returns first selected element.\n * @param selection Current document's selection.\n * @returns Selected blocks if there are any, first selected element otherwise.\n */\nfunction getBlocksFromSelection( selection: ModelDocumentSelection ) {\n\tconst blocks = Array.from( selection.getSelectedBlocks() );\n\tif ( blocks.length ) {\n\t\treturn blocks;\n\t}\n\treturn [ selection.getFirstPosition()!.parent as ModelElement ];\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 style/integrations/list\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport type { ModelElement } from 'ckeditor5/src/engine.js';\nimport type { ListType, ListUtils } from '@ckeditor/ckeditor5-list';\nimport type { TemplateDefinition } from 'ckeditor5/src/ui.js';\n\nimport type { GeneralHtmlSupport } from '@ckeditor/ckeditor5-html-support';\n\nimport {\n\tStyleUtils,\n\ttype BlockStyleDefinition,\n\ttype StyleUtilsGetAffectedBlocksEvent,\n\ttype StyleUtilsIsActiveForBlockEvent,\n\ttype StyleUtilsIsEnabledForBlockEvent,\n\ttype StyleUtilsGetStylePreviewEvent\n} from '../styleutils.js';\n\nimport type { StyleDefinition } from '../styleconfig.js';\n\nexport class ListStyleSupport extends Plugin {\n\tprivate _listUtils!: ListUtils;\n\tprivate _styleUtils!: StyleUtils;\n\tprivate _htmlSupport!: GeneralHtmlSupport;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'ListStyleSupport' 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 static get requires() {\n\t\treturn [ StyleUtils, 'GeneralHtmlSupport' ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\tif ( !editor.plugins.has( 'ListEditing' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._styleUtils = editor.plugins.get( StyleUtils );\n\t\tthis._listUtils = this.editor.plugins.get( 'ListUtils' );\n\t\tthis._htmlSupport = this.editor.plugins.get( 'GeneralHtmlSupport' );\n\n\t\tthis.listenTo<StyleUtilsIsEnabledForBlockEvent>( this._styleUtils, 'isStyleEnabledForBlock', ( evt, [ definition, block ] ) => {\n\t\t\tif ( this._isStyleEnabledForBlock( definition, block ) ) {\n\t\t\t\tevt.return = true;\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\tthis.listenTo<StyleUtilsIsActiveForBlockEvent>( this._styleUtils, 'isStyleActiveForBlock', ( evt, [ definition, block ] ) => {\n\t\t\tif ( this._isStyleActiveForBlock( definition, block ) ) {\n\t\t\t\tevt.return = true;\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\tthis.listenTo<StyleUtilsGetAffectedBlocksEvent>( this._styleUtils, 'getAffectedBlocks', ( evt, [ definition, block ] ) => {\n\t\t\tconst blocks = this._getAffectedBlocks( definition, block );\n\n\t\t\tif ( blocks ) {\n\t\t\t\tevt.return = blocks;\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\tthis.listenTo<StyleUtilsGetStylePreviewEvent>( this._styleUtils, 'getStylePreview', ( evt, [ definition, children ] ) => {\n\t\t\tconst templateDefinition = this._getStylePreview( definition, children );\n\n\t\t\tif ( templateDefinition ) {\n\t\t\t\tevt.return = templateDefinition;\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\t}\n\n\t/**\n\t * Verifies if the given style is applicable to the provided block element.\n\t */\n\tprivate _isStyleEnabledForBlock( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tconst model = this.editor.model;\n\n\t\tif ( ![ 'ol', 'ul', 'li' ].includes( definition.element ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( !this._listUtils.isListItemBlock( block ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst attributeName = this._htmlSupport.getGhsAttributeNameForElement( definition.element );\n\n\t\tif ( definition.element == 'ol' || definition.element == 'ul' ) {\n\t\t\tif ( !model.schema.checkAttribute( block, attributeName ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst isNumbered = this._listUtils.isNumberedListType( block.getAttribute( 'listType' ) as ListType );\n\t\t\tconst viewElementName = isNumbered ? 'ol' : 'ul';\n\n\t\t\treturn definition.element == viewElementName;\n\t\t} else {\n\t\t\treturn model.schema.checkAttribute( block, attributeName );\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if the given style is applied to the specified block element.\n\t */\n\tprivate _isStyleActiveForBlock( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tconst attributeName = this._htmlSupport.getGhsAttributeNameForElement( definition.element );\n\t\tconst ghsAttributeValue = block.getAttribute( attributeName );\n\n\t\treturn this._styleUtils.hasAllClasses( ghsAttributeValue, definition.classes );\n\t}\n\n\t/**\n\t * Returns an array of block elements that style should be applied to.\n\t */\n\tprivate _getAffectedBlocks( definition: BlockStyleDefinition, block: ModelElement ): Array<ModelElement> | null {\n\t\tif ( !this._isStyleEnabledForBlock( definition, block ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( definition.element == 'li' ) {\n\t\t\treturn this._listUtils.expandListBlocksToCompleteItems( block, { withNested: false } );\n\t\t} else {\n\t\t\treturn this._listUtils.expandListBlocksToCompleteList( block );\n\t\t}\n\t}\n\n\t/**\n\t * Returns a view template definition for the style preview.\n\t */\n\tprivate _getStylePreview( definition: StyleDefinition, children: Iterable<TemplateDefinition> ): TemplateDefinition | null {\n\t\tconst { element, classes } = definition;\n\n\t\tif ( element == 'ol' || element == 'ul' ) {\n\t\t\treturn {\n\t\t\t\ttag: element,\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: classes\n\t\t\t\t},\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttag: 'li',\n\t\t\t\t\t\tchildren\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t};\n\t\t} else if ( element == 'li' ) {\n\t\t\treturn {\n\t\t\t\ttag: 'ol',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttag: element,\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\tclass: classes\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t};\n\t\t}\n\n\t\treturn null;\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 style/integrations/table\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport type { ModelElement } from 'ckeditor5/src/engine.js';\nimport type { TableUtils } from '@ckeditor/ckeditor5-table';\n\nimport type { DataFilter } from '@ckeditor/ckeditor5-html-support';\n\nimport {\n\tStyleUtils,\n\ttype BlockStyleDefinition,\n\ttype StyleUtilsGetAffectedBlocksEvent,\n\ttype StyleUtilsIsEnabledForBlockEvent,\n\ttype StyleUtilsConfigureGHSDataFilterEvent\n} from '../styleutils.js';\n\nexport class TableStyleSupport extends Plugin {\n\tprivate _tableUtils!: TableUtils;\n\tprivate _styleUtils!: StyleUtils;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'TableStyleSupport' 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 static get requires() {\n\t\treturn [ StyleUtils ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\tif ( !editor.plugins.has( 'TableEditing' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._styleUtils = editor.plugins.get( StyleUtils );\n\t\tthis._tableUtils = this.editor.plugins.get( 'TableUtils' );\n\n\t\tthis.listenTo<StyleUtilsIsEnabledForBlockEvent>( this._styleUtils, 'isStyleEnabledForBlock', ( evt, [ definition, block ] ) => {\n\t\t\tif ( this._isApplicable( definition, block ) ) {\n\t\t\t\tevt.return = this._isStyleEnabledForBlock( definition, block );\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\tthis.listenTo<StyleUtilsGetAffectedBlocksEvent>( this._styleUtils, 'getAffectedBlocks', ( evt, [ definition, block ] ) => {\n\t\t\tif ( this._isApplicable( definition, block ) ) {\n\t\t\t\tevt.return = this._getAffectedBlocks( definition, block );\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\tthis.listenTo<StyleUtilsConfigureGHSDataFilterEvent>(\n\t\t\tthis._styleUtils,\n\t\t\t'configureGHSDataFilter',\n\t\t\t( evt, [ { block } ] ) => {\n\t\t\t\tconst ghsDataFilter: DataFilter = this.editor.plugins.get( 'DataFilter' );\n\n\t\t\t\tghsDataFilter.loadAllowedConfig(\n\t\t\t\t\tblock\n\t\t\t\t\t\t.filter( definition => definition.element == 'figcaption' )\n\t\t\t\t\t\t.map( definition => ( { name: 'caption', classes: definition.classes } ) )\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * Checks if this plugin's custom logic should be applied for defintion-block pair.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block Block element to check if should be styled.\n\t * @returns True if the defintion-block pair meet the plugin criteria, false otherwise.\n\t */\n\tprivate _isApplicable( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tif ( [ 'td', 'th' ].includes( definition.element ) ) {\n\t\t\treturn block.name == 'tableCell';\n\t\t}\n\n\t\tif ( [ 'thead', 'tbody' ].includes( definition.element ) ) {\n\t\t\treturn block.name == 'table';\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Checks if the style definition should be applied to selected block.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block Block element to check if should be styled.\n\t * @returns True if the block should be style with the style description, false otherwise.\n\t */\n\tprivate _isStyleEnabledForBlock( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tif ( [ 'td', 'th' ].includes( definition.element ) ) {\n\t\t\tconst location = this._tableUtils.getCellLocation( block )!;\n\n\t\t\tconst tableRow = block.parent!;\n\t\t\tconst table = tableRow.parent as ModelElement;\n\n\t\t\tconst headingRows = table.getAttribute( 'headingRows' ) as number || 0;\n\t\t\tconst headingColumns = table.getAttribute( 'headingColumns' ) as number || 0;\n\t\t\tconst isHeadingCell = location.row < headingRows || location.column < headingColumns;\n\n\t\t\tif ( definition.element == 'th' ) {\n\t\t\t\treturn isHeadingCell;\n\t\t\t} else {\n\t\t\t\treturn !isHeadingCell;\n\t\t\t}\n\t\t}\n\n\t\tif ( [ 'thead', 'tbody' ].includes( definition.element ) ) {\n\t\t\tconst headingRows = block.getAttribute( 'headingRows' ) as number || 0;\n\n\t\t\tif ( definition.element == 'thead' ) {\n\t\t\t\treturn headingRows > 0;\n\t\t\t} else {\n\t\t\t\treturn headingRows < this._tableUtils.getRows( block );\n\t\t\t}\n\t\t}\n\n\t\t/* istanbul ignore next -- @preserve */\n\t\treturn false;\n\t}\n\n\t/**\n\t * Gets all blocks that the style should be applied to.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block A block element from selection.\n\t * @returns An array with the block that was passed as an argument if meets the criteria, null otherwise.\n\t */\n\tprivate _getAffectedBlocks( definition: BlockStyleDefinition, block: ModelElement ): Array<ModelElement> | null {\n\t\tif ( !this._isStyleEnabledForBlock( definition, block ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn [ block ];\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 style/integrations/link\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport type { ModelSelectable, ModelDocumentSelection, ModelRange, ModelPosition, Model } from 'ckeditor5/src/engine.js';\nimport { findAttributeRange, findAttributeRangeBound } from 'ckeditor5/src/typing.js';\n\nimport type { GeneralHtmlSupport } from '@ckeditor/ckeditor5-html-support';\n\nimport {\n\tStyleUtils,\n\ttype InlineStyleDefinition,\n\ttype StyleUtilsGetAffectedInlineSelectableEvent,\n\ttype StyleUtilsIsStyleEnabledForInlineSelectionEvent,\n\ttype StyleUtilsIsStyleActiveForInlineSelectionEvent\n} from '../styleutils.js';\n\nexport class LinkStyleSupport extends Plugin {\n\tprivate _styleUtils!: StyleUtils;\n\tprivate _htmlSupport!: GeneralHtmlSupport;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'LinkStyleSupport' 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 static get requires() {\n\t\treturn [ StyleUtils, 'GeneralHtmlSupport' ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\tif ( !editor.plugins.has( 'LinkEditing' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._styleUtils = editor.plugins.get( StyleUtils );\n\t\tthis._htmlSupport = this.editor.plugins.get( 'GeneralHtmlSupport' );\n\n\t\tthis.listenTo<StyleUtilsIsStyleEnabledForInlineSelectionEvent>(\n\t\t\tthis._styleUtils,\n\t\t\t'isStyleEnabledForInlineSelection',\n\t\t\t( evt, [ definition, selection ] ) => {\n\t\t\t\tif ( definition.element == 'a' ) {\n\t\t\t\t\tevt.return = this._isStyleEnabled( definition, selection );\n\t\t\t\t\tevt.stop();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: 'high' }\n\t\t);\n\n\t\tthis.listenTo<StyleUtilsIsStyleActiveForInlineSelectionEvent>(\n\t\t\tthis._styleUtils,\n\t\t\t'isStyleActiveForInlineSelection',\n\t\t\t( evt, [ definition, selection ] ) => {\n\t\t\t\tif ( definition.element == 'a' ) {\n\t\t\t\t\tevt.return = this._isStyleActive( definition, selection );\n\t\t\t\t\tevt.stop();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: 'high' }\n\t\t);\n\n\t\tthis.listenTo<StyleUtilsGetAffectedInlineSelectableEvent>(\n\t\t\tthis._styleUtils,\n\t\t\t'getAffectedInlineSelectable',\n\t\t\t( evt, [ definition, selection ] ) => {\n\t\t\t\tif ( definition.element != 'a' ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst selectable = this._getAffectedSelectable( definition, selection );\n\n\t\t\t\tif ( selectable ) {\n\t\t\t\t\tevt.return = selectable;\n\t\t\t\t\tevt.stop();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: 'high' }\n\t\t);\n\t}\n\n\t/**\n\t * Verifies if the given style is applicable to the provided document selection.\n\t */\n\tprivate _isStyleEnabled( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): boolean {\n\t\tconst model = this.editor.model;\n\n\t\t// Handle collapsed selection.\n\t\tif ( selection.isCollapsed ) {\n\t\t\treturn selection.hasAttribute( 'linkHref' );\n\t\t}\n\n\t\t// Non-collapsed selection.\n\t\tfor ( const range of selection.getRanges() ) {\n\t\t\tfor ( const item of range.getItems() ) {\n\t\t\t\tif ( ( item.is( '$textProxy' ) || model.schema.isInline( item ) ) && item.hasAttribute( 'linkHref' ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns true if the given style is applied to the specified document selection.\n\t */\n\tprivate _isStyleActive( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): boolean {\n\t\tconst model = this.editor.model;\n\t\tconst attributeName = this._htmlSupport.getGhsAttributeNameForElement( definition.element );\n\n\t\t// Handle collapsed selection.\n\t\tif ( selection.isCollapsed ) {\n\t\t\tif ( selection.hasAttribute( 'linkHref' ) ) {\n\t\t\t\tconst ghsAttributeValue = selection.getAttribute( attributeName );\n\n\t\t\t\tif ( this._styleUtils.hasAllClasses( ghsAttributeValue, definition.classes ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\t// Non-collapsed selection.\n\t\tfor ( const range of selection.getRanges() ) {\n\t\t\tfor ( const item of range.getItems() ) {\n\t\t\t\tif ( ( item.is( '$textProxy' ) || model.schema.isInline( item ) ) && item.hasAttribute( 'linkHref' ) ) {\n\t\t\t\t\tconst ghsAttributeValue = item.getAttribute( attributeName );\n\n\t\t\t\t\treturn this._styleUtils.hasAllClasses( ghsAttributeValue, definition.classes );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns a selectable that given style should be applied to.\n\t */\n\tprivate _getAffectedSelectable( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): ModelSelectable {\n\t\tconst model = this.editor.model;\n\n\t\t// Handle collapsed selection.\n\t\tif ( selection.isCollapsed ) {\n\t\t\tconst linkHref = selection.getAttribute( 'linkHref' );\n\n\t\t\treturn findAttributeRange( selection.getFirstPosition()!, 'linkHref', linkHref, model );\n\t\t}\n\n\t\t// Non-collapsed selection.\n\t\tconst ranges: Array<ModelRange> = [];\n\n\t\tfor ( const range of selection.getRanges() ) {\n\t\t\t// First expand range to include the whole link.\n\t\t\tconst expandedRange = model.createRange(\n\t\t\t\texpandAttributePosition( range.start, 'linkHref', true, model ),\n\t\t\t\texpandAttributePosition( range.end, 'linkHref', false, model )\n\t\t\t);\n\n\t\t\t// Pick only ranges on links.\n\t\t\tfor ( const item of expandedRange.getItems() ) {\n\t\t\t\tif ( ( item.is( '$textProxy' ) || model.schema.isInline( item ) ) && item.hasAttribute( 'linkHref' ) ) {\n\t\t\t\t\tranges.push( this.editor.model.createRangeOn( item ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Make sure that we have a continuous range on a link\n\t\t// (not split between text nodes with mixed attributes like bold etc.)\n\t\treturn normalizeRanges( ranges );\n\t}\n}\n\n/**\n * Walks forward or backward (depends on the `lookBack` flag), node by node, as long as they have the same attribute value\n * and returns a position just before or after (depends on the `lookBack` flag) the last matched node.\n */\nfunction expandAttributePosition( position: ModelPosition, attributeName: string, lookBack: boolean, model: Model ): ModelPosition {\n\tconst referenceNode = position.textNode || ( lookBack ? position.nodeAfter : position.nodeBefore );\n\n\tif ( !referenceNode || !referenceNode.hasAttribute( attributeName ) ) {\n\t\treturn position;\n\t}\n\n\tconst attributeValue = referenceNode.getAttribute( attributeName );\n\n\treturn findAttributeRangeBound( position, attributeName, attributeValue, lookBack, model );\n}\n\n/**\n * Normalizes list of ranges by joining intersecting or \"touching\" ranges.\n *\n * Note: It assumes that ranges are sorted.\n */\nfunction normalizeRanges( ranges: Array<ModelRange> ): Array<ModelRange> {\n\tfor ( let i = 1; i < ranges.length; i++ ) {\n\t\tconst joinedRange = ranges[ i - 1 ].getJoined( ranges[ i ] );\n\n\t\tif ( joinedRange ) {\n\t\t\t// Replace the ranges on the list with the new joined range.\n\t\t\tranges.splice( --i, 2, joinedRange );\n\t\t}\n\t}\n\n\treturn ranges;\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 style/styleediting\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport type { DataSchema } from '@ckeditor/ckeditor5-html-support';\n\nimport { StyleCommand } from './stylecommand.js';\nimport { StyleUtils } from './styleutils.js';\nimport type { StyleConfig } from './styleconfig.js';\n\nimport { ListStyleSupport } from './integrations/list.js';\nimport { TableStyleSupport } from './integrations/table.js';\nimport { LinkStyleSupport } from './integrations/link.js';\n\n/**\n * The style engine feature.\n *\n * It configures the {@glink features/html/general-html-support General HTML Support feature} based on\n * {@link module:style/styleconfig~StyleConfig#definitions configured style definitions} and introduces the\n * {@link module:style/stylecommand~StyleCommand style command} that applies styles to the content of the document.\n */\nexport class StyleEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'StyleEditing' 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 static get requires() {\n\t\treturn [ 'GeneralHtmlSupport', StyleUtils, ListStyleSupport, TableStyleSupport, LinkStyleSupport ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst dataSchema: DataSchema = editor.plugins.get( 'DataSchema' );\n\t\tconst styleUtils: StyleUtils = editor.plugins.get( 'StyleUtils' );\n\t\tconst styleDefinitions: StyleConfig['definitions'] = editor.config.get( 'style.definitions' )!;\n\t\tconst normalizedStyleDefinitions = styleUtils.normalizeConfig( dataSchema, styleDefinitions );\n\n\t\teditor.commands.add( 'style', new StyleCommand( editor, normalizedStyleDefinitions ) );\n\n\t\tstyleUtils.configureGHSDataFilter( normalizedStyleDefinitions );\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 style/style\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\n\nimport { StyleUI } from './styleui.js';\nimport { StyleEditing } from './styleediting.js';\n\n/**\n * The style plugin.\n *\n * This is a \"glue\" plugin that loads the {@link module:style/styleediting~StyleEditing style editing feature}\n * and {@link module:style/styleui~StyleUI style UI feature}.\n */\nexport class Style extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Style' 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 static get requires() {\n\t\treturn [ StyleEditing, StyleUI ] as const;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["index.js","../src/ui/stylegridbuttonview.ts","../src/ui/stylegridview.ts","../src/ui/stylegroupview.ts","../src/ui/stylepanelview.ts","../src/styleutils.ts","../src/styleui.ts","../src/stylecommand.ts","../src/integrations/list.ts","../src/integrations/table.ts","../src/integrations/link.ts","../src/styleediting.ts","../src/style.ts"],"names":["StyleGridButtonView","ButtonView","styleDefinition","previewView","locale","_createPreview","set","label","name","class","withText","extendTemplate","attributes","role","children","add","View","setTemplate","tag","previewTemplate","StyleGridView","focusTracker","keystrokes","styleDefinitions","FocusTracker","KeystrokeHandler","createCollection","delegate","to","definition","gridTileView","on","child","isOn","activeStyles","includes","isEnabled","enabledStyles","render","element","addKeyboardHandlingForGrid","keystrokeHandler","gridItems","numberOfColumns","uiLanguageDirection","listenTo","focus","first","destroy","StyleGroupView","gridView","labelView","LabelView","text","id","StylePanelView","blockStylesGroupView","inlineStylesGroupView","_focusables","_focusCycler","t","block","inline","ViewCollection","FocusCycler","focusables","actions","focusPrevious","focusNext","length","bind","focusFirst","focusLast","NON_PREVIEWABLE_ELEMENT_NAMES","StyleUtils","Plugin","_htmlSupport","pluginName","isOfficialPlugin","editor","decorate","init","plugins","get","normalizeConfig","dataSchema","normalizedDefinitions","modelElements","ghsAttributes","ghsDefinition","getDefinitionsForView","appliesToBlock","isBlock","push","ghsBlockDefinition","model","paragraphLikeModel","getStylePreview","isStyleEnabledForBlock","attributeName","getGhsAttributeNameForElement","schema","checkAttribute","isStyleActiveForBlock","ghsAttributeValue","getAttribute","hasAllClasses","classes","getAffectedBlocks","isStyleEnabledForInlineSelection","selection","ghsAttributeName","checkAttributeInSelection","isStyleActiveForInlineSelection","_getValueFromFirstAllowedNode","getAffectedInlineSelectable","isPreviewable","isObject","hasClassesProperty","every","className","configureGHSDataFilter","ghsDataFilter","loadAllowedConfig","map","normalizedStyleDefinitionToMatcherPattern","isCollapsed","range","getRanges","item","getItems","obj","Boolean","Array","isArray","elementName","StyleUI","requires","styleUtils","config","normalizedStyleDefinitions","ui","componentFactory","dropdown","createDropdown","styleCommand","commands","once","panelView","buttonView","value","join","evt","execute","styleName","source","editing","view","StyleCommand","Command","_styleDefinitions","_styleUtils","refresh","document","Set","firstBlock","getSelectedBlocks","getFirstPosition","parent","ancestorBlocks","getAncestors","includeSelf","parentFirst","is","from","sort","forceValue","logWarning","htmlSupport","allDefinitions","activeDefinitions","filter","find","shouldAddStyle","undefined","change","selectables","isBlockStyleDefinition","_findAffectedBlocks","getBlocksFromSelection","selectable","addModelHtmlClass","removeModelHtmlClass","getDefinitionExclusiveClasses","selectedBlocks","blocks","selectedBlock","affectedBlocks","affectedBlock","reduce","currentDefinition","ListStyleSupport","_listUtils","has","_isStyleEnabledForBlock","return","stop","priority","_isStyleActiveForBlock","_getAffectedBlocks","templateDefinition","_getStylePreview","isListItemBlock","isNumbered","isNumberedListType","viewElementName","expandListBlocksToCompleteItems","withNested","expandListBlocksToCompleteList","TableStyleSupport","_tableUtils","_isApplicable","location","getCellLocation","tableRow","table","headingRows","headingColumns","isHeadingCell","row","column","getRows","LinkStyleSupport","_isStyleEnabled","_isStyleActive","_getAffectedSelectable","hasAttribute","isInline","linkHref","findAttributeRange","ranges","expandedRange","createRange","expandAttributePosition","start","end","createRangeOn","normalizeRanges","position","lookBack","referenceNode","textNode","nodeAfter","nodeBefore","attributeValue","findAttributeRangeBound","i","joinedRange","getJoined","splice","StyleEditing","Style"],"mappings":"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","file":"index.js.map","sourcesContent":["import { Plugin, Command } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { ButtonView, View, addKeyboardHandlingForGrid, LabelView, ViewCollection, FocusCycler, createDropdown } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { FocusTracker, KeystrokeHandler, first, logWarning } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { isObject } from 'es-toolkit/compat';\nimport { findAttributeRange, findAttributeRangeBound } from '@ckeditor/ckeditor5-typing/dist/index.js';\n\n/**\n * A class representing an individual button (style) in the grid. Renders a rich preview of the style.\n *\n * @internal\n */ class StyleGridButtonView extends ButtonView {\n /**\n\t * Definition of the style the button will apply when executed.\n\t */ styleDefinition;\n /**\n\t * The view rendering the preview of the style.\n\t */ previewView;\n /**\n\t * Creates an instance of the {@link module:style/ui/stylegridbuttonview~StyleGridButtonView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinition Definition of the style.\n\t */ constructor(locale, styleDefinition){\n super(locale);\n this.styleDefinition = styleDefinition;\n this.previewView = this._createPreview();\n this.set({\n label: styleDefinition.name,\n class: 'ck-style-grid__button',\n withText: true\n });\n this.extendTemplate({\n attributes: {\n role: 'option'\n }\n });\n this.children.add(this.previewView, 0);\n }\n /**\n\t * Creates the view representing the preview of the style.\n\t */ _createPreview() {\n const previewView = new View(this.locale);\n previewView.setTemplate({\n tag: 'div',\n attributes: {\n class: [\n 'ck',\n 'ck-reset_all-excluded',\n 'ck-style-grid__button__preview',\n 'ck-content'\n ],\n // The preview \"AaBbCcDdEeFfGgHhIiJj\" should not be read by screen readers because it is purely presentational.\n 'aria-hidden': 'true'\n },\n children: [\n this.styleDefinition.previewTemplate\n ]\n });\n return previewView;\n }\n}\n\n/**\n * A class representing a grid of styles ({@link module:style/ui/stylegridbuttonview~StyleGridButtonView buttons}).\n * Allows users to select a style.\n *\n * @internal\n */ class StyleGridView extends View {\n /**\n\t * Tracks information about the DOM focus in the view.\n\t */ focusTracker;\n /**\n\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t */ keystrokes;\n /**\n\t * A collection of style {@link module:style/ui/stylegridbuttonview~StyleGridButtonView buttons}.\n\t */ children;\n /**\n\t * Creates an instance of the {@link module:style/ui/stylegridview~StyleGridView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinitions Definitions of the styles.\n\t */ constructor(locale, styleDefinitions){\n super(locale);\n this.focusTracker = new FocusTracker();\n this.keystrokes = new KeystrokeHandler();\n this.set('activeStyles', []);\n this.set('enabledStyles', []);\n this.children = this.createCollection();\n this.children.delegate('execute').to(this);\n for (const definition of styleDefinitions){\n const gridTileView = new StyleGridButtonView(locale, definition);\n this.children.add(gridTileView);\n }\n this.on('change:activeStyles', ()=>{\n for (const child of this.children){\n child.isOn = this.activeStyles.includes(child.styleDefinition.name);\n }\n });\n this.on('change:enabledStyles', ()=>{\n for (const child of this.children){\n child.isEnabled = this.enabledStyles.includes(child.styleDefinition.name);\n }\n });\n this.setTemplate({\n tag: 'div',\n attributes: {\n class: [\n 'ck',\n 'ck-style-grid'\n ],\n role: 'listbox'\n },\n children: this.children\n });\n }\n /**\n\t * @inheritDoc\n\t */ render() {\n super.render();\n for (const child of this.children){\n this.focusTracker.add(child.element);\n }\n addKeyboardHandlingForGrid({\n keystrokeHandler: this.keystrokes,\n focusTracker: this.focusTracker,\n gridItems: this.children,\n numberOfColumns: 3,\n uiLanguageDirection: this.locale && this.locale.uiLanguageDirection\n });\n // Start listening for the keystrokes coming from the grid view.\n this.keystrokes.listenTo(this.element);\n }\n /**\n\t * Focuses the first style button in the grid.\n\t */ focus() {\n this.children.first.focus();\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n super.destroy();\n this.focusTracker.destroy();\n this.keystrokes.destroy();\n }\n}\n\n/**\n * A class representing a group of styles (e.g. \"block\" or \"inline\").\n *\n * Renders a {@link module:style/ui/stylegridview~StyleGridView style grid} and a label.\n *\n * @internal\n */ class StyleGroupView extends View {\n /**\n\t * The styles grid of the group.\n\t */ gridView;\n /**\n\t * The label of the group.\n\t */ labelView;\n /**\n\t * Creates an instance of the {@link module:style/ui/stylegroupview~StyleGroupView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param label The localized label of the group.\n\t * @param styleDefinitions Definitions of the styles in the group.\n\t */ constructor(locale, label, styleDefinitions){\n super(locale);\n this.labelView = new LabelView(locale);\n this.labelView.text = label;\n this.gridView = new StyleGridView(locale, styleDefinitions);\n this.setTemplate({\n tag: 'div',\n attributes: {\n class: [\n 'ck',\n 'ck-style-panel__style-group'\n ],\n role: 'group',\n 'aria-labelledby': this.labelView.id\n },\n children: [\n this.labelView,\n this.gridView\n ]\n });\n }\n}\n\n/**\n * A class representing a panel with available content styles. It renders styles in button grids, grouped\n * in categories.\n *\n * @internal\n */ class StylePanelView extends View {\n /**\n\t * Tracks information about DOM focus in the panel.\n\t */ focusTracker;\n /**\n\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t */ keystrokes;\n /**\n\t * A collection of panel children.\n\t */ children;\n /**\n\t * A view representing block styles group.\n\t */ blockStylesGroupView;\n /**\n\t * A view representing inline styles group\n\t */ inlineStylesGroupView;\n /**\n\t * A collection of views that can be focused in the panel.\n\t */ _focusables;\n /**\n\t * Helps cycling over {@link #_focusables} in the panel.\n\t */ _focusCycler;\n /**\n\t * Creates an instance of the {@link module:style/ui/stylegroupview~StyleGroupView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinitions Normalized definitions of the styles.\n\t */ constructor(locale, styleDefinitions){\n super(locale);\n const t = locale.t;\n this.focusTracker = new FocusTracker();\n this.keystrokes = new KeystrokeHandler();\n this.children = this.createCollection();\n this.blockStylesGroupView = new StyleGroupView(locale, t('Block styles'), styleDefinitions.block);\n this.inlineStylesGroupView = new StyleGroupView(locale, t('Text styles'), styleDefinitions.inline);\n this.set('activeStyles', []);\n this.set('enabledStyles', []);\n this._focusables = new ViewCollection();\n this._focusCycler = new FocusCycler({\n focusables: this._focusables,\n focusTracker: this.focusTracker,\n keystrokeHandler: this.keystrokes,\n actions: {\n // Navigate style groups backwards using the <kbd>Shift</kbd> + <kbd>Tab</kbd> keystroke.\n focusPrevious: [\n 'shift + tab'\n ],\n // Navigate style groups forward using the <kbd>Tab</kbd> key.\n focusNext: [\n 'tab'\n ]\n }\n });\n if (styleDefinitions.block.length) {\n this.children.add(this.blockStylesGroupView);\n }\n if (styleDefinitions.inline.length) {\n this.children.add(this.inlineStylesGroupView);\n }\n this.blockStylesGroupView.gridView.delegate('execute').to(this);\n this.inlineStylesGroupView.gridView.delegate('execute').to(this);\n this.blockStylesGroupView.gridView.bind('activeStyles', 'enabledStyles').to(this, 'activeStyles', 'enabledStyles');\n this.inlineStylesGroupView.gridView.bind('activeStyles', 'enabledStyles').to(this, 'activeStyles', 'enabledStyles');\n this.setTemplate({\n tag: 'div',\n attributes: {\n class: [\n 'ck',\n 'ck-style-panel'\n ]\n },\n children: this.children\n });\n }\n /**\n\t * @inheritDoc\n\t */ render() {\n super.render();\n // Register the views as focusable.\n this._focusables.add(this.blockStylesGroupView.gridView);\n this._focusables.add(this.inlineStylesGroupView.gridView);\n // Register the views in the focus tracker.\n this.focusTracker.add(this.blockStylesGroupView.gridView.element);\n this.focusTracker.add(this.inlineStylesGroupView.gridView.element);\n this.keystrokes.listenTo(this.element);\n }\n /**\n\t * Focuses the first focusable element in the panel.\n\t */ focus() {\n this._focusCycler.focusFirst();\n }\n /**\n\t * Focuses the last focusable element in the panel.\n\t */ focusLast() {\n this._focusCycler.focusLast();\n }\n}\n\n// These are intermediate element names that can't be rendered as style preview because they don't make sense standalone.\nconst NON_PREVIEWABLE_ELEMENT_NAMES = [\n 'caption',\n 'colgroup',\n 'dd',\n 'dt',\n 'figcaption',\n 'legend',\n 'li',\n 'optgroup',\n 'option',\n 'rp',\n 'rt',\n 'summary',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'tr'\n];\nclass StyleUtils extends Plugin {\n _htmlSupport;\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'StyleUtils';\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 this.decorate('isStyleEnabledForBlock');\n this.decorate('isStyleActiveForBlock');\n this.decorate('getAffectedBlocks');\n this.decorate('isStyleEnabledForInlineSelection');\n this.decorate('isStyleActiveForInlineSelection');\n this.decorate('getAffectedInlineSelectable');\n this.decorate('getStylePreview');\n this.decorate('configureGHSDataFilter');\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n this._htmlSupport = this.editor.plugins.get('GeneralHtmlSupport');\n }\n /**\n\t * Normalizes {@link module:style/styleconfig~StyleConfig#definitions} in the configuration of the styles feature.\n\t * The structure of normalized styles looks as follows:\n\t *\n\t * ```ts\n\t * {\n\t * \tblock: [\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t...\n\t * \t],\n\t * \tinline: [\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t...\n\t * \t]\n\t * }\n\t * ```\n\t *\n\t * @returns An object with normalized style definitions grouped into `block` and `inline` categories (arrays).\n\t */ normalizeConfig(dataSchema, styleDefinitions = []) {\n const normalizedDefinitions = {\n block: [],\n inline: []\n };\n for (const definition of styleDefinitions){\n const modelElements = [];\n const ghsAttributes = [];\n for (const ghsDefinition of dataSchema.getDefinitionsForView(definition.element)){\n const appliesToBlock = 'appliesToBlock' in ghsDefinition ? ghsDefinition.appliesToBlock : false;\n if (ghsDefinition.isBlock || appliesToBlock) {\n if (typeof appliesToBlock == 'string') {\n modelElements.push(appliesToBlock);\n } else if (ghsDefinition.isBlock) {\n const ghsBlockDefinition = ghsDefinition;\n modelElements.push(ghsDefinition.model);\n if (ghsBlockDefinition.paragraphLikeModel) {\n modelElements.push(ghsBlockDefinition.paragraphLikeModel);\n }\n }\n } else {\n ghsAttributes.push(ghsDefinition.model);\n }\n }\n const previewTemplate = this.getStylePreview(definition, [\n {\n text: 'AaBbCcDdEeFfGgHhIiJj'\n }\n ]);\n if (modelElements.length) {\n normalizedDefinitions.block.push({\n ...definition,\n previewTemplate,\n modelElements,\n isBlock: true\n });\n } else {\n normalizedDefinitions.inline.push({\n ...definition,\n previewTemplate,\n ghsAttributes\n });\n }\n }\n return normalizedDefinitions;\n }\n /**\n\t * Verifies if the given style is applicable to the provided block element.\n\t *\n\t * @internal\n\t */ isStyleEnabledForBlock(definition, block) {\n const model = this.editor.model;\n const attributeName = this._htmlSupport.getGhsAttributeNameForElement(definition.element);\n if (!model.schema.checkAttribute(block, attributeName)) {\n return false;\n }\n return definition.modelElements.includes(block.name);\n }\n /**\n\t * Returns true if the given style is applied to the specified block element.\n\t *\n\t * @internal\n\t */ isStyleActiveForBlock(definition, block) {\n const attributeName = this._htmlSupport.getGhsAttributeNameForElement(definition.element);\n const ghsAttributeValue = block.getAttribute(attributeName);\n return this.hasAllClasses(ghsAttributeValue, definition.classes);\n }\n /**\n\t * Returns an array of block elements that style should be applied to.\n\t *\n\t * @internal\n\t */ getAffectedBlocks(definition, block) {\n if (definition.modelElements.includes(block.name)) {\n return [\n block\n ];\n }\n return null;\n }\n /**\n\t * Verifies if the given style is applicable to the provided document selection.\n\t *\n\t * @internal\n\t */ isStyleEnabledForInlineSelection(definition, selection) {\n const model = this.editor.model;\n for (const ghsAttributeName of definition.ghsAttributes){\n if (model.schema.checkAttributeInSelection(selection, ghsAttributeName)) {\n return true;\n }\n }\n return false;\n }\n /**\n\t * Returns true if the given style is applied to the specified document selection.\n\t *\n\t * @internal\n\t */ isStyleActiveForInlineSelection(definition, selection) {\n for (const ghsAttributeName of definition.ghsAttributes){\n const ghsAttributeValue = this._getValueFromFirstAllowedNode(selection, ghsAttributeName);\n if (this.hasAllClasses(ghsAttributeValue, definition.classes)) {\n return true;\n }\n }\n return false;\n }\n /**\n\t * Returns a selectable that given style should be applied to.\n\t *\n\t * @internal\n\t */ getAffectedInlineSelectable(definition, selection) {\n return selection;\n }\n /**\n\t * Returns the `TemplateDefinition` used by styles dropdown to render style preview.\n\t *\n\t * @internal\n\t */ getStylePreview(definition, children) {\n const { element, classes } = definition;\n return {\n tag: isPreviewable(element) ? element : 'div',\n attributes: {\n class: classes\n },\n children\n };\n }\n /**\n\t * Verifies if all classes are present in the given GHS attribute.\n\t *\n\t * @internal\n\t */ hasAllClasses(ghsAttributeValue, classes) {\n return isObject(ghsAttributeValue) && hasClassesProperty(ghsAttributeValue) && classes.every((className)=>ghsAttributeValue.classes.includes(className));\n }\n /**\n\t * This is where the styles feature configures the GHS feature. This method translates normalized\n\t * {@link module:style/styleconfig~StyleDefinition style definitions} to\n\t * {@link module:engine/view/matcher~MatcherObjectPattern matcher patterns} and feeds them to the GHS\n\t * {@link module:html-support/datafilter~DataFilter} plugin.\n\t *\n\t * @internal\n\t */ configureGHSDataFilter({ block, inline }) {\n const ghsDataFilter = this.editor.plugins.get('DataFilter');\n ghsDataFilter.loadAllowedConfig(block.map(normalizedStyleDefinitionToMatcherPattern));\n ghsDataFilter.loadAllowedConfig(inline.map(normalizedStyleDefinitionToMatcherPattern));\n }\n /**\n\t * Checks the attribute value of the first node in the selection that allows the attribute.\n\t * For the collapsed selection, returns the selection attribute.\n\t *\n\t * @param selection The document selection.\n\t * @param attributeName Name of the GHS attribute.\n\t * @returns The attribute value.\n\t */ _getValueFromFirstAllowedNode(selection, attributeName) {\n const model = this.editor.model;\n const schema = model.schema;\n if (selection.isCollapsed) {\n return selection.getAttribute(attributeName);\n }\n for (const range of selection.getRanges()){\n for (const item of range.getItems()){\n if (schema.checkAttribute(item, attributeName)) {\n return item.getAttribute(attributeName);\n }\n }\n }\n return null;\n }\n}\n/**\n * Checks if given object has `classes` property which is an array.\n *\n * @param obj Object to check.\n */ function hasClassesProperty(obj) {\n return Boolean(obj.classes) && Array.isArray(obj.classes);\n}\n/**\n * Decides whether an element should be created in the preview or a substitute `<div>` should\n * be used instead. This avoids previewing a standalone `<td>`, `<li>`, etc. without a parent.\n *\n * @param elementName Name of the element\n * @returns Boolean indicating whether the element can be rendered.\n */ function isPreviewable(elementName) {\n return !NON_PREVIEWABLE_ELEMENT_NAMES.includes(elementName);\n}\n/**\n * Translates a normalized style definition to a view matcher pattern.\n */ function normalizedStyleDefinitionToMatcherPattern({ element, classes }) {\n return {\n name: element,\n classes\n };\n}\n\n/**\n * The UI plugin of the style feature .\n *\n * It registers the `'style'` UI dropdown in the editor's {@link module:ui/componentfactory~ComponentFactory component factory}\n * that displays a grid of styles and allows changing styles of the content.\n */ class StyleUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'StyleUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n StyleUtils\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const dataSchema = editor.plugins.get('DataSchema');\n const styleUtils = editor.plugins.get('StyleUtils');\n const styleDefinitions = editor.config.get('style.definitions');\n const normalizedStyleDefinitions = styleUtils.normalizeConfig(dataSchema, styleDefinitions);\n // Add the dropdown to the component factory.\n editor.ui.componentFactory.add('style', (locale)=>{\n const t = locale.t;\n const dropdown = createDropdown(locale);\n const styleCommand = editor.commands.get('style');\n dropdown.once('change:isOpen', ()=>{\n const panelView = new StylePanelView(locale, normalizedStyleDefinitions);\n // Put the styles panel is the dropdown.\n dropdown.panelView.children.add(panelView);\n // Close the dropdown when a style is selected in the styles panel.\n panelView.delegate('execute').to(dropdown);\n // Bind the state of the styles panel to the command.\n panelView.bind('activeStyles').to(styleCommand, 'value');\n panelView.bind('enabledStyles').to(styleCommand, 'enabledStyles');\n });\n // The entire dropdown will be disabled together with the command (e.g. when the editor goes read-only).\n dropdown.bind('isEnabled').to(styleCommand);\n // This dropdown has no icon. It displays text label depending on the selection.\n dropdown.buttonView.withText = true;\n // The label of the dropdown is dynamic and depends on how many styles are active at a time.\n dropdown.buttonView.bind('label').to(styleCommand, 'value', (value)=>{\n if (value.length > 1) {\n return t('Multiple styles');\n } else if (value.length === 1) {\n return value[0];\n } else {\n return t('Styles');\n }\n });\n // The dropdown has a static CSS class for easy customization. There's another CSS class\n // that gets displayed when multiple styles are active at a time allowing visual customization of\n // the label.\n dropdown.bind('class').to(styleCommand, 'value', (value)=>{\n const classes = [\n 'ck-style-dropdown'\n ];\n if (value.length > 1) {\n classes.push('ck-style-dropdown_multiple-active');\n }\n return classes.join(' ');\n });\n // Execute the command when a style is selected in the styles panel.\n // Also focus the editable after executing the command.\n // It overrides a default behaviour where the focus is moved to the dropdown button (#12125).\n dropdown.on('execute', (evt)=>{\n editor.execute('style', {\n styleName: evt.source.styleDefinition.name\n });\n editor.editing.view.focus();\n });\n return dropdown;\n });\n }\n}\n\n/**\n * Style command.\n *\n * Applies and removes styles from selection and elements.\n */ class StyleCommand extends Command {\n /**\n\t * Normalized definitions of the styles.\n\t */ _styleDefinitions;\n /**\n\t * The StyleUtils plugin.\n\t */ _styleUtils;\n /**\n\t * Creates an instance of the command.\n\t *\n\t * @param editor Editor on which this command will be used.\n\t * @param styleDefinitions Normalized definitions of the styles.\n\t */ constructor(editor, styleDefinitions){\n super(editor);\n this.set('value', []);\n this.set('enabledStyles', []);\n this._styleDefinitions = styleDefinitions;\n this._styleUtils = this.editor.plugins.get(StyleUtils);\n }\n /**\n\t * @inheritDoc\n\t */ refresh() {\n const model = this.editor.model;\n const selection = model.document.selection;\n const value = new Set();\n const enabledStyles = new Set();\n // Inline styles.\n for (const definition of this._styleDefinitions.inline){\n // Check if this inline style is enabled.\n if (this._styleUtils.isStyleEnabledForInlineSelection(definition, selection)) {\n enabledStyles.add(definition.name);\n }\n // Check if this inline style is active.\n if (this._styleUtils.isStyleActiveForInlineSelection(definition, selection)) {\n value.add(definition.name);\n }\n }\n // Block styles.\n const firstBlock = first(selection.getSelectedBlocks()) || selection.getFirstPosition().parent;\n if (firstBlock) {\n const ancestorBlocks = firstBlock.getAncestors({\n includeSelf: true,\n parentFirst: true\n });\n for (const block of ancestorBlocks){\n if (block.is('rootElement')) {\n break;\n }\n for (const definition of this._styleDefinitions.block){\n // Check if this block style is enabled.\n if (!this._styleUtils.isStyleEnabledForBlock(definition, block)) {\n continue;\n }\n enabledStyles.add(definition.name);\n // Check if this block style is active.\n if (this._styleUtils.isStyleActiveForBlock(definition, block)) {\n value.add(definition.name);\n }\n }\n // E.g. reached a model table when the selection is in a cell. The command should not modify\n // ancestors of a table.\n if (model.schema.isObject(block)) {\n break;\n }\n }\n }\n this.enabledStyles = Array.from(enabledStyles).sort();\n this.isEnabled = this.enabledStyles.length > 0;\n this.value = this.isEnabled ? Array.from(value).sort() : [];\n }\n /**\n\t * Executes the command &ndash; applies the style classes to the selection or removes it from the selection.\n\t *\n\t * If the command value already contains the requested style, it will remove the style classes. Otherwise, it will set it.\n\t *\n\t * The execution result differs, depending on the {@link module:engine/model/document~ModelDocument#selection} and the\n\t * style type (inline or block):\n\t *\n\t * * When applying inline styles:\n\t * * If the selection is on a range, the command applies the style classes to all nodes in that range.\n\t * * If the selection is collapsed in a non-empty node, the command applies the style classes to the\n\t * {@link module:engine/model/document~ModelDocument#selection}.\n\t *\n\t * * When applying block styles:\n\t * * If the selection is on a range, the command applies the style classes to the nearest block parent element.\n\t *\n\t * @fires execute\n\t * @param options Command options.\n\t * @param options.styleName Style name matching the one defined in the\n\t * {@link module:style/styleconfig~StyleConfig#definitions configuration}.\n\t * @param options.forceValue Whether the command should add given style (`true`) or remove it (`false`) from the selection.\n\t * If not set (default), the command will toggle the style basing on the first selected node. Note, that this will not force\n\t * setting a style on an element that cannot receive given style.\n\t */ execute({ styleName, forceValue }) {\n if (!this.enabledStyles.includes(styleName)) {\n /**\n\t\t\t * Style command can be executed only with a correct style name.\n\t\t\t *\n\t\t\t * This warning may be caused by:\n\t\t\t *\n\t\t\t * * passing a name that is not specified in the {@link module:style/styleconfig~StyleConfig#definitions configuration}\n\t\t\t * (e.g. a CSS class name),\n\t\t\t * * when trying to apply a style that is not allowed on a given element.\n\t\t\t *\n\t\t\t * @error style-command-executed-with-incorrect-style-name\n\t\t\t */ logWarning('style-command-executed-with-incorrect-style-name');\n return;\n }\n const model = this.editor.model;\n const selection = model.document.selection;\n const htmlSupport = this.editor.plugins.get('GeneralHtmlSupport');\n const allDefinitions = [\n ...this._styleDefinitions.inline,\n ...this._styleDefinitions.block\n ];\n const activeDefinitions = allDefinitions.filter(({ name })=>this.value.includes(name));\n const definition = allDefinitions.find(({ name })=>name == styleName);\n const shouldAddStyle = forceValue === undefined ? !this.value.includes(definition.name) : forceValue;\n model.change(()=>{\n let selectables;\n if (isBlockStyleDefinition(definition)) {\n selectables = this._findAffectedBlocks(getBlocksFromSelection(selection), definition);\n } else {\n selectables = [\n this._styleUtils.getAffectedInlineSelectable(definition, selection)\n ];\n }\n for (const selectable of selectables){\n if (shouldAddStyle) {\n htmlSupport.addModelHtmlClass(definition.element, definition.classes, selectable);\n } else {\n htmlSupport.removeModelHtmlClass(definition.element, getDefinitionExclusiveClasses(activeDefinitions, definition), selectable);\n }\n }\n });\n }\n /**\n\t * Returns a set of elements that should be affected by the block-style change.\n\t */ _findAffectedBlocks(selectedBlocks, definition) {\n const blocks = new Set();\n for (const selectedBlock of selectedBlocks){\n const ancestorBlocks = selectedBlock.getAncestors({\n includeSelf: true,\n parentFirst: true\n });\n for (const block of ancestorBlocks){\n if (block.is('rootElement')) {\n break;\n }\n const affectedBlocks = this._styleUtils.getAffectedBlocks(definition, block);\n if (affectedBlocks) {\n for (const affectedBlock of affectedBlocks){\n blocks.add(affectedBlock);\n }\n break;\n }\n }\n }\n return blocks;\n }\n}\n/**\n * Returns classes that are defined only in the supplied definition and not in any other active definition. It's used\n * to ensure that classes used by other definitions are preserved when a style is removed. See #11748.\n *\n * @param activeDefinitions All currently active definitions affecting selected element(s).\n * @param definition Definition whose classes will be compared with all other active definition classes.\n * @returns Array of classes exclusive to the supplied definition.\n */ function getDefinitionExclusiveClasses(activeDefinitions, definition) {\n return activeDefinitions.reduce((classes, currentDefinition)=>{\n if (currentDefinition.name === definition.name) {\n return classes;\n }\n return classes.filter((className)=>!currentDefinition.classes.includes(className));\n }, definition.classes);\n}\n/**\n * Checks if provided style definition is of type block.\n */ function isBlockStyleDefinition(definition) {\n return 'isBlock' in definition;\n}\n/**\n * Gets block elements from selection. If there are none, returns first selected element.\n * @param selection Current document's selection.\n * @returns Selected blocks if there are any, first selected element otherwise.\n */ function getBlocksFromSelection(selection) {\n const blocks = Array.from(selection.getSelectedBlocks());\n if (blocks.length) {\n return blocks;\n }\n return [\n selection.getFirstPosition().parent\n ];\n}\n\nclass ListStyleSupport extends Plugin {\n _listUtils;\n _styleUtils;\n _htmlSupport;\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'ListStyleSupport';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n StyleUtils,\n 'GeneralHtmlSupport'\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n if (!editor.plugins.has('ListEditing')) {\n return;\n }\n this._styleUtils = editor.plugins.get(StyleUtils);\n this._listUtils = this.editor.plugins.get('ListUtils');\n this._htmlSupport = this.editor.plugins.get('GeneralHtmlSupport');\n this.listenTo(this._styleUtils, 'isStyleEnabledForBlock', (evt, [definition, block])=>{\n if (this._isStyleEnabledForBlock(definition, block)) {\n evt.return = true;\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'isStyleActiveForBlock', (evt, [definition, block])=>{\n if (this._isStyleActiveForBlock(definition, block)) {\n evt.return = true;\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'getAffectedBlocks', (evt, [definition, block])=>{\n const blocks = this._getAffectedBlocks(definition, block);\n if (blocks) {\n evt.return = blocks;\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'getStylePreview', (evt, [definition, children])=>{\n const templateDefinition = this._getStylePreview(definition, children);\n if (templateDefinition) {\n evt.return = templateDefinition;\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n }\n /**\n\t * Verifies if the given style is applicable to the provided block element.\n\t */ _isStyleEnabledForBlock(definition, block) {\n const model = this.editor.model;\n if (![\n 'ol',\n 'ul',\n 'li'\n ].includes(definition.element)) {\n return false;\n }\n if (!this._listUtils.isListItemBlock(block)) {\n return false;\n }\n const attributeName = this._htmlSupport.getGhsAttributeNameForElement(definition.element);\n if (definition.element == 'ol' || definition.element == 'ul') {\n if (!model.schema.checkAttribute(block, attributeName)) {\n return false;\n }\n const isNumbered = this._listUtils.isNumberedListType(block.getAttribute('listType'));\n const viewElementName = isNumbered ? 'ol' : 'ul';\n return definition.element == viewElementName;\n } else {\n return model.schema.checkAttribute(block, attributeName);\n }\n }\n /**\n\t * Returns true if the given style is applied to the specified block element.\n\t */ _isStyleActiveForBlock(definition, block) {\n const attributeName = this._htmlSupport.getGhsAttributeNameForElement(definition.element);\n const ghsAttributeValue = block.getAttribute(attributeName);\n return this._styleUtils.hasAllClasses(ghsAttributeValue, definition.classes);\n }\n /**\n\t * Returns an array of block elements that style should be applied to.\n\t */ _getAffectedBlocks(definition, block) {\n if (!this._isStyleEnabledForBlock(definition, block)) {\n return null;\n }\n if (definition.element == 'li') {\n return this._listUtils.expandListBlocksToCompleteItems(block, {\n withNested: false\n });\n } else {\n return this._listUtils.expandListBlocksToCompleteList(block);\n }\n }\n /**\n\t * Returns a view template definition for the style preview.\n\t */ _getStylePreview(definition, children) {\n const { element, classes } = definition;\n if (element == 'ol' || element == 'ul') {\n return {\n tag: element,\n attributes: {\n class: classes\n },\n children: [\n {\n tag: 'li',\n children\n }\n ]\n };\n } else if (element == 'li') {\n return {\n tag: 'ol',\n children: [\n {\n tag: element,\n attributes: {\n class: classes\n },\n children\n }\n ]\n };\n }\n return null;\n }\n}\n\nclass TableStyleSupport extends Plugin {\n _tableUtils;\n _styleUtils;\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'TableStyleSupport';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n StyleUtils\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n if (!editor.plugins.has('TableEditing')) {\n return;\n }\n this._styleUtils = editor.plugins.get(StyleUtils);\n this._tableUtils = this.editor.plugins.get('TableUtils');\n this.listenTo(this._styleUtils, 'isStyleEnabledForBlock', (evt, [definition, block])=>{\n if (this._isApplicable(definition, block)) {\n evt.return = this._isStyleEnabledForBlock(definition, block);\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'getAffectedBlocks', (evt, [definition, block])=>{\n if (this._isApplicable(definition, block)) {\n evt.return = this._getAffectedBlocks(definition, block);\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'configureGHSDataFilter', (evt, [{ block }])=>{\n const ghsDataFilter = this.editor.plugins.get('DataFilter');\n ghsDataFilter.loadAllowedConfig(block.filter((definition)=>definition.element == 'figcaption').map((definition)=>({\n name: 'caption',\n classes: definition.classes\n })));\n });\n }\n /**\n\t * Checks if this plugin's custom logic should be applied for defintion-block pair.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block Block element to check if should be styled.\n\t * @returns True if the defintion-block pair meet the plugin criteria, false otherwise.\n\t */ _isApplicable(definition, block) {\n if ([\n 'td',\n 'th'\n ].includes(definition.element)) {\n return block.name == 'tableCell';\n }\n if ([\n 'thead',\n 'tbody'\n ].includes(definition.element)) {\n return block.name == 'table';\n }\n return false;\n }\n /**\n\t * Checks if the style definition should be applied to selected block.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block Block element to check if should be styled.\n\t * @returns True if the block should be style with the style description, false otherwise.\n\t */ _isStyleEnabledForBlock(definition, block) {\n if ([\n 'td',\n 'th'\n ].includes(definition.element)) {\n const location = this._tableUtils.getCellLocation(block);\n const tableRow = block.parent;\n const table = tableRow.parent;\n const headingRows = table.getAttribute('headingRows') || 0;\n const headingColumns = table.getAttribute('headingColumns') || 0;\n const isHeadingCell = location.row < headingRows || location.column < headingColumns;\n if (definition.element == 'th') {\n return isHeadingCell;\n } else {\n return !isHeadingCell;\n }\n }\n if ([\n 'thead',\n 'tbody'\n ].includes(definition.element)) {\n const headingRows = block.getAttribute('headingRows') || 0;\n if (definition.element == 'thead') {\n return headingRows > 0;\n } else {\n return headingRows < this._tableUtils.getRows(block);\n }\n }\n /* istanbul ignore next -- @preserve */ return false;\n }\n /**\n\t * Gets all blocks that the style should be applied to.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block A block element from selection.\n\t * @returns An array with the block that was passed as an argument if meets the criteria, null otherwise.\n\t */ _getAffectedBlocks(definition, block) {\n if (!this._isStyleEnabledForBlock(definition, block)) {\n return null;\n }\n return [\n block\n ];\n }\n}\n\nclass LinkStyleSupport extends Plugin {\n _styleUtils;\n _htmlSupport;\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'LinkStyleSupport';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n StyleUtils,\n 'GeneralHtmlSupport'\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n if (!editor.plugins.has('LinkEditing')) {\n return;\n }\n this._styleUtils = editor.plugins.get(StyleUtils);\n this._htmlSupport = this.editor.plugins.get('GeneralHtmlSupport');\n this.listenTo(this._styleUtils, 'isStyleEnabledForInlineSelection', (evt, [definition, selection])=>{\n if (definition.element == 'a') {\n evt.return = this._isStyleEnabled(definition, selection);\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'isStyleActiveForInlineSelection', (evt, [definition, selection])=>{\n if (definition.element == 'a') {\n evt.return = this._isStyleActive(definition, selection);\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n this.listenTo(this._styleUtils, 'getAffectedInlineSelectable', (evt, [definition, selection])=>{\n if (definition.element != 'a') {\n return;\n }\n const selectable = this._getAffectedSelectable(definition, selection);\n if (selectable) {\n evt.return = selectable;\n evt.stop();\n }\n }, {\n priority: 'high'\n });\n }\n /**\n\t * Verifies if the given style is applicable to the provided document selection.\n\t */ _isStyleEnabled(definition, selection) {\n const model = this.editor.model;\n // Handle collapsed selection.\n if (selection.isCollapsed) {\n return selection.hasAttribute('linkHref');\n }\n // Non-collapsed selection.\n for (const range of selection.getRanges()){\n for (const item of range.getItems()){\n if ((item.is('$textProxy') || model.schema.isInline(item)) && item.hasAttribute('linkHref')) {\n return true;\n }\n }\n }\n return false;\n }\n /**\n\t * Returns true if the given style is applied to the specified document selection.\n\t */ _isStyleActive(definition, selection) {\n const model = this.editor.model;\n const attributeName = this._htmlSupport.getGhsAttributeNameForElement(definition.element);\n // Handle collapsed selection.\n if (selection.isCollapsed) {\n if (selection.hasAttribute('linkHref')) {\n const ghsAttributeValue = selection.getAttribute(attributeName);\n if (this._styleUtils.hasAllClasses(ghsAttributeValue, definition.classes)) {\n return true;\n }\n }\n return false;\n }\n // Non-collapsed selection.\n for (const range of selection.getRanges()){\n for (const item of range.getItems()){\n if ((item.is('$textProxy') || model.schema.isInline(item)) && item.hasAttribute('linkHref')) {\n const ghsAttributeValue = item.getAttribute(attributeName);\n return this._styleUtils.hasAllClasses(ghsAttributeValue, definition.classes);\n }\n }\n }\n return false;\n }\n /**\n\t * Returns a selectable that given style should be applied to.\n\t */ _getAffectedSelectable(definition, selection) {\n const model = this.editor.model;\n // Handle collapsed selection.\n if (selection.isCollapsed) {\n const linkHref = selection.getAttribute('linkHref');\n return findAttributeRange(selection.getFirstPosition(), 'linkHref', linkHref, model);\n }\n // Non-collapsed selection.\n const ranges = [];\n for (const range of selection.getRanges()){\n // First expand range to include the whole link.\n const expandedRange = model.createRange(expandAttributePosition(range.start, 'linkHref', true, model), expandAttributePosition(range.end, 'linkHref', false, model));\n // Pick only ranges on links.\n for (const item of expandedRange.getItems()){\n if ((item.is('$textProxy') || model.schema.isInline(item)) && item.hasAttribute('linkHref')) {\n ranges.push(this.editor.model.createRangeOn(item));\n }\n }\n }\n // Make sure that we have a continuous range on a link\n // (not split between text nodes with mixed attributes like bold etc.)\n return normalizeRanges(ranges);\n }\n}\n/**\n * Walks forward or backward (depends on the `lookBack` flag), node by node, as long as they have the same attribute value\n * and returns a position just before or after (depends on the `lookBack` flag) the last matched node.\n */ function expandAttributePosition(position, attributeName, lookBack, model) {\n const referenceNode = position.textNode || (lookBack ? position.nodeAfter : position.nodeBefore);\n if (!referenceNode || !referenceNode.hasAttribute(attributeName)) {\n return position;\n }\n const attributeValue = referenceNode.getAttribute(attributeName);\n return findAttributeRangeBound(position, attributeName, attributeValue, lookBack, model);\n}\n/**\n * Normalizes list of ranges by joining intersecting or \"touching\" ranges.\n *\n * Note: It assumes that ranges are sorted.\n */ function normalizeRanges(ranges) {\n for(let i = 1; i < ranges.length; i++){\n const joinedRange = ranges[i - 1].getJoined(ranges[i]);\n if (joinedRange) {\n // Replace the ranges on the list with the new joined range.\n ranges.splice(--i, 2, joinedRange);\n }\n }\n return ranges;\n}\n\n/**\n * The style engine feature.\n *\n * It configures the {@glink features/html/general-html-support General HTML Support feature} based on\n * {@link module:style/styleconfig~StyleConfig#definitions configured style definitions} and introduces the\n * {@link module:style/stylecommand~StyleCommand style command} that applies styles to the content of the document.\n */ class StyleEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'StyleEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n 'GeneralHtmlSupport',\n StyleUtils,\n ListStyleSupport,\n TableStyleSupport,\n LinkStyleSupport\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const dataSchema = editor.plugins.get('DataSchema');\n const styleUtils = editor.plugins.get('StyleUtils');\n const styleDefinitions = editor.config.get('style.definitions');\n const normalizedStyleDefinitions = styleUtils.normalizeConfig(dataSchema, styleDefinitions);\n editor.commands.add('style', new StyleCommand(editor, normalizedStyleDefinitions));\n styleUtils.configureGHSDataFilter(normalizedStyleDefinitions);\n }\n}\n\n/**\n * The style plugin.\n *\n * This is a \"glue\" plugin that loads the {@link module:style/styleediting~StyleEditing style editing feature}\n * and {@link module:style/styleui~StyleUI style UI feature}.\n */ class Style extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'Style';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n StyleEditing,\n StyleUI\n ];\n }\n}\n\nexport { LinkStyleSupport, ListStyleSupport, Style, StyleCommand, StyleEditing, StyleUI, StyleUtils, TableStyleSupport, StyleGridButtonView as _StyleGridButtonView, StyleGridView as _StyleGridView, StyleGroupView as _StyleGroupView, StylePanelView as _StylePanelView };\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 style/ui/stylegridbuttonview\n */\n\nimport type { Locale } from 'ckeditor5/src/utils.js';\nimport { ButtonView, View } from 'ckeditor5/src/ui.js';\n\nimport type { NormalizedStyleDefinition } from '../styleutils.js';\n\n/**\n * A class representing an individual button (style) in the grid. Renders a rich preview of the style.\n *\n * @internal\n */\nexport class StyleGridButtonView extends ButtonView {\n\t/**\n\t * Definition of the style the button will apply when executed.\n\t */\n\tpublic readonly styleDefinition: NormalizedStyleDefinition;\n\n\t/**\n\t * The view rendering the preview of the style.\n\t */\n\tpublic readonly previewView: View;\n\n\t/**\n\t * Creates an instance of the {@link module:style/ui/stylegridbuttonview~StyleGridButtonView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinition Definition of the style.\n\t */\n\tconstructor( locale: Locale, styleDefinition: NormalizedStyleDefinition ) {\n\t\tsuper( locale );\n\n\t\tthis.styleDefinition = styleDefinition;\n\t\tthis.previewView = this._createPreview();\n\n\t\tthis.set( {\n\t\t\tlabel: styleDefinition.name,\n\t\t\tclass: 'ck-style-grid__button',\n\t\t\twithText: true\n\t\t} );\n\n\t\tthis.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\trole: 'option'\n\t\t\t}\n\t\t} );\n\n\t\tthis.children.add( this.previewView, 0 );\n\t}\n\n\t/**\n\t * Creates the view representing the preview of the style.\n\t */\n\tprivate _createPreview(): View {\n\t\tconst previewView = new View( this.locale );\n\n\t\tpreviewView.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-reset_all-excluded',\n\t\t\t\t\t'ck-style-grid__button__preview',\n\t\t\t\t\t'ck-content'\n\t\t\t\t],\n\t\t\t\t// The preview \"AaBbCcDdEeFfGgHhIiJj\" should not be read by screen readers because it is purely presentational.\n\t\t\t\t'aria-hidden': 'true'\n\t\t\t},\n\n\t\t\tchildren: [\n\t\t\t\tthis.styleDefinition.previewTemplate\n\t\t\t]\n\t\t} );\n\n\t\treturn previewView;\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 style/ui/stylegridview\n */\n\nimport { View, addKeyboardHandlingForGrid, type ViewCollection, type FocusableView } from 'ckeditor5/src/ui.js';\nimport { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils.js';\n\nimport { StyleGridButtonView } from './stylegridbuttonview.js';\nimport type { NormalizedStyleDefinition } from '../styleutils.js';\n\nimport '../../theme/stylegrid.css';\n\n/**\n * A class representing a grid of styles ({@link module:style/ui/stylegridbuttonview~StyleGridButtonView buttons}).\n * Allows users to select a style.\n *\n * @internal\n */\nexport class StyleGridView extends View<HTMLDivElement> implements FocusableView {\n\t/**\n\t * Tracks information about the DOM focus in the view.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t */\n\tpublic readonly keystrokes: KeystrokeHandler;\n\n\t/**\n\t * A collection of style {@link module:style/ui/stylegridbuttonview~StyleGridButtonView buttons}.\n\t */\n\tpublic readonly children: ViewCollection<StyleGridButtonView>;\n\n\t/**\n\t * Array of active style names. They must correspond to the names of styles from\n\t * definitions passed to the {@link #constructor}.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly activeStyles: Array<string>;\n\n\t/**\n\t * Array of enabled style names. They must correspond to the names of styles from\n\t * definitions passed to the {@link #constructor}.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly enabledStyles: Array<string>;\n\n\t/**\n\t * Creates an instance of the {@link module:style/ui/stylegridview~StyleGridView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinitions Definitions of the styles.\n\t */\n\tconstructor( locale: Locale, styleDefinitions: Array<NormalizedStyleDefinition> ) {\n\t\tsuper( locale );\n\n\t\tthis.focusTracker = new FocusTracker();\n\t\tthis.keystrokes = new KeystrokeHandler();\n\n\t\tthis.set( 'activeStyles', [] );\n\t\tthis.set( 'enabledStyles', [] );\n\n\t\tthis.children = this.createCollection<StyleGridButtonView>();\n\t\tthis.children.delegate( 'execute' ).to( this );\n\n\t\tfor ( const definition of styleDefinitions ) {\n\t\t\tconst gridTileView = new StyleGridButtonView( locale, definition );\n\n\t\t\tthis.children.add( gridTileView );\n\t\t}\n\n\t\tthis.on( 'change:activeStyles', () => {\n\t\t\tfor ( const child of this.children ) {\n\t\t\t\tchild.isOn = this.activeStyles.includes( child.styleDefinition.name );\n\t\t\t}\n\t\t} );\n\n\t\tthis.on( 'change:enabledStyles', () => {\n\t\t\tfor ( const child of this.children ) {\n\t\t\t\tchild.isEnabled = this.enabledStyles.includes( child.styleDefinition.name );\n\t\t\t}\n\t\t} );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-style-grid'\n\t\t\t\t],\n\t\t\t\trole: 'listbox'\n\t\t\t},\n\n\t\t\tchildren: this.children\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tfor ( const child of this.children ) {\n\t\t\tthis.focusTracker.add( child.element! );\n\t\t}\n\n\t\taddKeyboardHandlingForGrid( {\n\t\t\tkeystrokeHandler: this.keystrokes,\n\t\t\tfocusTracker: this.focusTracker,\n\t\t\tgridItems: this.children,\n\t\t\tnumberOfColumns: 3,\n\t\t\tuiLanguageDirection: this.locale && this.locale.uiLanguageDirection\n\t\t} );\n\n\t\t// Start listening for the keystrokes coming from the grid view.\n\t\tthis.keystrokes.listenTo( this.element! );\n\t}\n\n\t/**\n\t * Focuses the first style button in the grid.\n\t */\n\tpublic focus(): void {\n\t\tthis.children.first!.focus();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tthis.focusTracker.destroy();\n\t\tthis.keystrokes.destroy();\n\t}\n}\n\n/**\n * Fired when a {@link module:style/ui/stylegridbuttonview~StyleGridButtonView style} was selected (clicked) by the user.\n *\n * @eventName ~StyleGridView#execute\n */\nexport type StyleGridViewExecuteEvent = {\n\tname: 'execute';\n\targs: [];\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 style/ui/stylegroupview\n */\n\nimport { LabelView, View } from 'ckeditor5/src/ui.js';\nimport type { Locale } from 'ckeditor5/src/utils.js';\n\nimport { StyleGridView } from './stylegridview.js';\nimport type { NormalizedStyleDefinition } from '../styleutils.js';\n\nimport '../../theme/stylegroup.css';\n\n/**\n * A class representing a group of styles (e.g. \"block\" or \"inline\").\n *\n * Renders a {@link module:style/ui/stylegridview~StyleGridView style grid} and a label.\n *\n * @internal\n */\nexport class StyleGroupView extends View<HTMLDivElement> {\n\t/**\n\t * The styles grid of the group.\n\t */\n\tpublic readonly gridView: StyleGridView;\n\n\t/**\n\t * The label of the group.\n\t */\n\tpublic readonly labelView: LabelView;\n\n\t/**\n\t * Creates an instance of the {@link module:style/ui/stylegroupview~StyleGroupView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param label The localized label of the group.\n\t * @param styleDefinitions Definitions of the styles in the group.\n\t */\n\tconstructor( locale: Locale, label: string, styleDefinitions: Array<NormalizedStyleDefinition> ) {\n\t\tsuper( locale );\n\n\t\tthis.labelView = new LabelView( locale );\n\t\tthis.labelView.text = label;\n\t\tthis.gridView = new StyleGridView( locale, styleDefinitions );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-style-panel__style-group'\n\t\t\t\t],\n\t\t\t\trole: 'group',\n\t\t\t\t'aria-labelledby': this.labelView.id\n\t\t\t},\n\n\t\t\tchildren: [\n\t\t\t\tthis.labelView,\n\t\t\t\tthis.gridView\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 style/ui/stylepanelview\n */\n\nimport { FocusCycler, View, ViewCollection } from 'ckeditor5/src/ui.js';\nimport { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils.js';\n\nimport { StyleGroupView } from './stylegroupview.js';\nimport { type StyleGridView } from './stylegridview.js';\nimport type { NormalizedStyleDefinitions } from '../styleutils.js';\n\nimport '../../theme/stylepanel.css';\n\n/**\n * A class representing a panel with available content styles. It renders styles in button grids, grouped\n * in categories.\n *\n * @internal\n */\nexport class StylePanelView extends View<HTMLDivElement> {\n\t/**\n\t * Tracks information about DOM focus in the panel.\n\t */\n\tpublic readonly focusTracker: FocusTracker;\n\n\t/**\n\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t */\n\tpublic readonly keystrokes: KeystrokeHandler;\n\n\t/**\n\t * A collection of panel children.\n\t */\n\tpublic readonly children: ViewCollection<StyleGroupView>;\n\n\t/**\n\t * A view representing block styles group.\n\t */\n\tpublic readonly blockStylesGroupView: StyleGroupView;\n\n\t/**\n\t * A view representing inline styles group\n\t */\n\tpublic readonly inlineStylesGroupView: StyleGroupView;\n\n\t/**\n\t * Array of active style names. They must correspond to the names of styles from\n\t * definitions passed to the {@link #constructor}.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly activeStyles: Array<string>;\n\n\t/**\n\t * Array of enabled style names. They must correspond to the names of styles from\n\t * definitions passed to the {@link #constructor}.\n\t *\n\t * @observable\n\t */\n\tdeclare public readonly enabledStyles: Array<string>;\n\n\t/**\n\t * A collection of views that can be focused in the panel.\n\t */\n\tprotected readonly _focusables: ViewCollection<StyleGridView>;\n\n\t/**\n\t * Helps cycling over {@link #_focusables} in the panel.\n\t */\n\tprotected readonly _focusCycler: FocusCycler;\n\n\t/**\n\t * Creates an instance of the {@link module:style/ui/stylegroupview~StyleGroupView} class.\n\t *\n\t * @param locale The localization services instance.\n\t * @param styleDefinitions Normalized definitions of the styles.\n\t */\n\tconstructor( locale: Locale, styleDefinitions: NormalizedStyleDefinitions ) {\n\t\tsuper( locale );\n\n\t\tconst t = locale.t;\n\n\t\tthis.focusTracker = new FocusTracker();\n\t\tthis.keystrokes = new KeystrokeHandler();\n\t\tthis.children = this.createCollection();\n\t\tthis.blockStylesGroupView = new StyleGroupView( locale, t( 'Block styles' ), styleDefinitions.block );\n\t\tthis.inlineStylesGroupView = new StyleGroupView( locale, t( 'Text styles' ), styleDefinitions.inline );\n\n\t\tthis.set( 'activeStyles', [] );\n\t\tthis.set( 'enabledStyles', [] );\n\n\t\tthis._focusables = new ViewCollection();\n\n\t\tthis._focusCycler = new FocusCycler( {\n\t\t\tfocusables: this._focusables,\n\t\t\tfocusTracker: this.focusTracker,\n\t\t\tkeystrokeHandler: this.keystrokes,\n\t\t\tactions: {\n\t\t\t\t// Navigate style groups backwards using the <kbd>Shift</kbd> + <kbd>Tab</kbd> keystroke.\n\t\t\t\tfocusPrevious: [ 'shift + tab' ],\n\n\t\t\t\t// Navigate style groups forward using the <kbd>Tab</kbd> key.\n\t\t\t\tfocusNext: [ 'tab' ]\n\t\t\t}\n\t\t} );\n\n\t\tif ( styleDefinitions.block.length ) {\n\t\t\tthis.children.add( this.blockStylesGroupView );\n\t\t}\n\n\t\tif ( styleDefinitions.inline.length ) {\n\t\t\tthis.children.add( this.inlineStylesGroupView );\n\t\t}\n\n\t\tthis.blockStylesGroupView.gridView.delegate( 'execute' ).to( this );\n\t\tthis.inlineStylesGroupView.gridView.delegate( 'execute' ).to( this );\n\n\t\tthis.blockStylesGroupView.gridView\n\t\t\t.bind( 'activeStyles', 'enabledStyles' )\n\t\t\t.to( this, 'activeStyles', 'enabledStyles' );\n\n\t\tthis.inlineStylesGroupView.gridView\n\t\t\t.bind( 'activeStyles', 'enabledStyles' )\n\t\t\t.to( this, 'activeStyles', 'enabledStyles' );\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'div',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-style-panel'\n\t\t\t\t]\n\t\t\t},\n\n\t\t\tchildren: this.children\n\t\t} );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\t// Register the views as focusable.\n\t\tthis._focusables.add( this.blockStylesGroupView.gridView );\n\t\tthis._focusables.add( this.inlineStylesGroupView.gridView );\n\n\t\t// Register the views in the focus tracker.\n\t\tthis.focusTracker.add( this.blockStylesGroupView.gridView.element! );\n\t\tthis.focusTracker.add( this.inlineStylesGroupView.gridView.element! );\n\n\t\tthis.keystrokes.listenTo( this.element! );\n\t}\n\n\t/**\n\t * Focuses the first focusable element in the panel.\n\t */\n\tpublic focus(): void {\n\t\tthis._focusCycler.focusFirst();\n\t}\n\n\t/**\n\t * Focuses the last focusable element in the panel.\n\t */\n\tpublic focusLast(): void {\n\t\tthis._focusCycler.focusLast();\n\t}\n}\n\n/**\n * Fired when a style was selected (clicked) by the user.\n *\n * @eventName ~StylePanelView#execute\n */\nexport type StylePanelViewExecuteEvent = {\n\tname: 'execute';\n\targs: [];\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 style/styleutils\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport type { ModelElement, MatcherObjectPattern, ModelDocumentSelection, ModelSelectable } from 'ckeditor5/src/engine.js';\nimport type { DecoratedMethodEvent } from 'ckeditor5/src/utils.js';\nimport type { TemplateDefinition } from 'ckeditor5/src/ui.js';\n\nimport type {\n\tDataFilter,\n\tDataSchema,\n\tGeneralHtmlSupport,\n\tHtmlSupportDataSchemaBlockElementDefinition\n} from '@ckeditor/ckeditor5-html-support';\n\nimport type { StyleDefinition } from './styleconfig.js';\nimport { isObject } from 'es-toolkit/compat';\n\n// These are intermediate element names that can't be rendered as style preview because they don't make sense standalone.\nconst NON_PREVIEWABLE_ELEMENT_NAMES = [\n\t'caption', 'colgroup', 'dd', 'dt', 'figcaption', 'legend', 'li', 'optgroup', 'option', 'rp',\n\t'rt', 'summary', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr'\n];\n\nexport class StyleUtils extends Plugin {\n\tprivate _htmlSupport!: GeneralHtmlSupport;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'StyleUtils' 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\tthis.decorate( 'isStyleEnabledForBlock' );\n\t\tthis.decorate( 'isStyleActiveForBlock' );\n\t\tthis.decorate( 'getAffectedBlocks' );\n\n\t\tthis.decorate( 'isStyleEnabledForInlineSelection' );\n\t\tthis.decorate( 'isStyleActiveForInlineSelection' );\n\t\tthis.decorate( 'getAffectedInlineSelectable' );\n\n\t\tthis.decorate( 'getStylePreview' );\n\t\tthis.decorate( 'configureGHSDataFilter' );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tthis._htmlSupport = this.editor.plugins.get( 'GeneralHtmlSupport' );\n\t}\n\n\t/**\n\t * Normalizes {@link module:style/styleconfig~StyleConfig#definitions} in the configuration of the styles feature.\n\t * The structure of normalized styles looks as follows:\n\t *\n\t * ```ts\n\t * {\n\t * \tblock: [\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t...\n\t * \t],\n\t * \tinline: [\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t<module:style/style~StyleDefinition>,\n\t * \t\t...\n\t * \t]\n\t * }\n\t * ```\n\t *\n\t * @returns An object with normalized style definitions grouped into `block` and `inline` categories (arrays).\n\t */\n\tpublic normalizeConfig(\n\t\tdataSchema: DataSchema,\n\t\tstyleDefinitions: Array<StyleDefinition> = []\n\t): NormalizedStyleDefinitions {\n\t\tconst normalizedDefinitions: NormalizedStyleDefinitions = {\n\t\t\tblock: [],\n\t\t\tinline: []\n\t\t};\n\n\t\tfor ( const definition of styleDefinitions ) {\n\t\t\tconst modelElements: Array<string> = [];\n\t\t\tconst ghsAttributes: Array<string> = [];\n\n\t\t\tfor ( const ghsDefinition of dataSchema.getDefinitionsForView( definition.element ) ) {\n\t\t\t\tconst appliesToBlock = 'appliesToBlock' in ghsDefinition ? ghsDefinition.appliesToBlock : false;\n\n\t\t\t\tif ( ghsDefinition.isBlock || appliesToBlock ) {\n\t\t\t\t\tif ( typeof appliesToBlock == 'string' ) {\n\t\t\t\t\t\tmodelElements.push( appliesToBlock );\n\t\t\t\t\t} else if ( ghsDefinition.isBlock ) {\n\t\t\t\t\t\tconst ghsBlockDefinition: HtmlSupportDataSchemaBlockElementDefinition = ghsDefinition;\n\n\t\t\t\t\t\tmodelElements.push( ghsDefinition.model );\n\n\t\t\t\t\t\tif ( ghsBlockDefinition.paragraphLikeModel ) {\n\t\t\t\t\t\t\tmodelElements.push( ghsBlockDefinition.paragraphLikeModel );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tghsAttributes.push( ghsDefinition.model );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst previewTemplate = this.getStylePreview( definition, [\n\t\t\t\t{ text: 'AaBbCcDdEeFfGgHhIiJj' }\n\t\t\t] );\n\n\t\t\tif ( modelElements.length ) {\n\t\t\t\tnormalizedDefinitions.block.push( {\n\t\t\t\t\t...definition,\n\t\t\t\t\tpreviewTemplate,\n\t\t\t\t\tmodelElements,\n\t\t\t\t\tisBlock: true\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tnormalizedDefinitions.inline.push( {\n\t\t\t\t\t...definition,\n\t\t\t\t\tpreviewTemplate,\n\t\t\t\t\tghsAttributes\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn normalizedDefinitions;\n\t}\n\n\t/**\n\t * Verifies if the given style is applicable to the provided block element.\n\t *\n\t * @internal\n\t */\n\tpublic isStyleEnabledForBlock( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tconst model = this.editor.model;\n\t\tconst attributeName = this._htmlSupport.getGhsAttributeNameForElement( definition.element );\n\n\t\tif ( !model.schema.checkAttribute( block, attributeName ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn definition.modelElements.includes( block.name );\n\t}\n\n\t/**\n\t * Returns true if the given style is applied to the specified block element.\n\t *\n\t * @internal\n\t */\n\tpublic isStyleActiveForBlock( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tconst attributeName = this._htmlSupport.getGhsAttributeNameForElement( definition.element );\n\t\tconst ghsAttributeValue = block.getAttribute( attributeName );\n\n\t\treturn this.hasAllClasses( ghsAttributeValue, definition.classes );\n\t}\n\n\t/**\n\t * Returns an array of block elements that style should be applied to.\n\t *\n\t * @internal\n\t */\n\tpublic getAffectedBlocks( definition: BlockStyleDefinition, block: ModelElement ): Array<ModelElement> | null {\n\t\tif ( definition.modelElements.includes( block.name ) ) {\n\t\t\treturn [ block ];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Verifies if the given style is applicable to the provided document selection.\n\t *\n\t * @internal\n\t */\n\tpublic isStyleEnabledForInlineSelection( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): boolean {\n\t\tconst model = this.editor.model;\n\n\t\tfor ( const ghsAttributeName of definition.ghsAttributes ) {\n\t\t\tif ( model.schema.checkAttributeInSelection( selection, ghsAttributeName ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns true if the given style is applied to the specified document selection.\n\t *\n\t * @internal\n\t */\n\tpublic isStyleActiveForInlineSelection( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): boolean {\n\t\tfor ( const ghsAttributeName of definition.ghsAttributes ) {\n\t\t\tconst ghsAttributeValue = this._getValueFromFirstAllowedNode( selection, ghsAttributeName );\n\n\t\t\tif ( this.hasAllClasses( ghsAttributeValue, definition.classes ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns a selectable that given style should be applied to.\n\t *\n\t * @internal\n\t */\n\tpublic getAffectedInlineSelectable( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): ModelSelectable {\n\t\treturn selection;\n\t}\n\n\t/**\n\t * Returns the `TemplateDefinition` used by styles dropdown to render style preview.\n\t *\n\t * @internal\n\t */\n\tpublic getStylePreview( definition: StyleDefinition, children: Iterable<TemplateDefinition> ): TemplateDefinition {\n\t\tconst { element, classes } = definition;\n\n\t\treturn {\n\t\t\ttag: isPreviewable( element ) ? element : 'div',\n\t\t\tattributes: {\n\t\t\t\tclass: classes\n\t\t\t},\n\t\t\tchildren\n\t\t};\n\t}\n\n\t/**\n\t * Verifies if all classes are present in the given GHS attribute.\n\t *\n\t * @internal\n\t */\n\tpublic hasAllClasses( ghsAttributeValue: unknown, classes: Array<string> ): boolean {\n\t\treturn isObject( ghsAttributeValue ) &&\n\t\t\thasClassesProperty( ghsAttributeValue ) &&\n\t\t\tclasses.every( className => ghsAttributeValue.classes.includes( className ) );\n\t}\n\n\t/**\n\t * This is where the styles feature configures the GHS feature. This method translates normalized\n\t * {@link module:style/styleconfig~StyleDefinition style definitions} to\n\t * {@link module:engine/view/matcher~MatcherObjectPattern matcher patterns} and feeds them to the GHS\n\t * {@link module:html-support/datafilter~DataFilter} plugin.\n\t *\n\t * @internal\n\t */\n\tpublic configureGHSDataFilter( { block, inline }: NormalizedStyleDefinitions ): void {\n\t\tconst ghsDataFilter: DataFilter = this.editor.plugins.get( 'DataFilter' );\n\n\t\tghsDataFilter.loadAllowedConfig( block.map( normalizedStyleDefinitionToMatcherPattern ) );\n\t\tghsDataFilter.loadAllowedConfig( inline.map( normalizedStyleDefinitionToMatcherPattern ) );\n\t}\n\n\t/**\n\t * Checks the attribute value of the first node in the selection that allows the attribute.\n\t * For the collapsed selection, returns the selection attribute.\n\t *\n\t * @param selection The document selection.\n\t * @param attributeName Name of the GHS attribute.\n\t * @returns The attribute value.\n\t */\n\tprivate _getValueFromFirstAllowedNode( selection: ModelDocumentSelection, attributeName: string ): unknown | null {\n\t\tconst model = this.editor.model;\n\t\tconst schema = model.schema;\n\n\t\tif ( selection.isCollapsed ) {\n\t\t\treturn selection.getAttribute( attributeName );\n\t\t}\n\n\t\tfor ( const range of selection.getRanges() ) {\n\t\t\tfor ( const item of range.getItems() ) {\n\t\t\t\tif ( schema.checkAttribute( item, attributeName ) ) {\n\t\t\t\t\treturn item.getAttribute( attributeName );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\n/**\n * Checks if given object has `classes` property which is an array.\n *\n * @param obj Object to check.\n */\nfunction hasClassesProperty<T extends { classes?: Array<unknown> }>( obj: T ): obj is T & { classes: Array<unknown> } {\n\treturn Boolean( obj.classes ) && Array.isArray( obj.classes );\n}\n\n/**\n * Decides whether an element should be created in the preview or a substitute `<div>` should\n * be used instead. This avoids previewing a standalone `<td>`, `<li>`, etc. without a parent.\n *\n * @param elementName Name of the element\n * @returns Boolean indicating whether the element can be rendered.\n */\nfunction isPreviewable( elementName: string ): boolean {\n\treturn !NON_PREVIEWABLE_ELEMENT_NAMES.includes( elementName );\n}\n\n/**\n * Translates a normalized style definition to a view matcher pattern.\n */\nfunction normalizedStyleDefinitionToMatcherPattern( { element, classes }: StyleDefinition ): MatcherObjectPattern {\n\treturn {\n\t\tname: element,\n\t\tclasses\n\t};\n}\n\nexport interface NormalizedStyleDefinitions {\n\tblock: Array<BlockStyleDefinition>;\n\tinline: Array<InlineStyleDefinition>;\n}\n\nexport interface BlockStyleDefinition extends StyleDefinition {\n\tisBlock: true;\n\tmodelElements: Array<string>;\n\tpreviewTemplate: TemplateDefinition;\n}\n\nexport interface InlineStyleDefinition extends StyleDefinition {\n\tghsAttributes: Array<string>;\n\tpreviewTemplate: TemplateDefinition;\n}\n\nexport type NormalizedStyleDefinition = BlockStyleDefinition | InlineStyleDefinition;\n\nexport type StyleUtilsIsEnabledForBlockEvent = DecoratedMethodEvent<StyleUtils, 'isStyleEnabledForBlock'>;\nexport type StyleUtilsIsActiveForBlockEvent = DecoratedMethodEvent<StyleUtils, 'isStyleActiveForBlock'>;\nexport type StyleUtilsGetAffectedBlocksEvent = DecoratedMethodEvent<StyleUtils, 'getAffectedBlocks'>;\n\nexport type StyleUtilsIsStyleEnabledForInlineSelectionEvent = DecoratedMethodEvent<StyleUtils, 'isStyleEnabledForInlineSelection'>;\nexport type StyleUtilsIsStyleActiveForInlineSelectionEvent = DecoratedMethodEvent<StyleUtils, 'isStyleActiveForInlineSelection'>;\nexport type StyleUtilsGetAffectedInlineSelectableEvent = DecoratedMethodEvent<StyleUtils, 'getAffectedInlineSelectable'>;\n\nexport type StyleUtilsGetStylePreviewEvent = DecoratedMethodEvent<StyleUtils, 'getStylePreview'>;\nexport type StyleUtilsConfigureGHSDataFilterEvent = DecoratedMethodEvent<StyleUtils, 'configureGHSDataFilter'>;\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 style/styleui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { createDropdown } from 'ckeditor5/src/ui.js';\nimport type { DataSchema } from '@ckeditor/ckeditor5-html-support';\n\nimport { StylePanelView } from './ui/stylepanelview.js';\nimport { StyleUtils } from './styleutils.js';\nimport { type StyleCommand } from './stylecommand.js';\n\nimport '../theme/style.css';\n\n/**\n * The UI plugin of the style feature .\n *\n * It registers the `'style'` UI dropdown in the editor's {@link module:ui/componentfactory~ComponentFactory component factory}\n * that displays a grid of styles and allows changing styles of the content.\n */\nexport class StyleUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'StyleUI' 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 static get requires() {\n\t\treturn [ StyleUtils ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst dataSchema: DataSchema = editor.plugins.get( 'DataSchema' );\n\t\tconst styleUtils: StyleUtils = editor.plugins.get( 'StyleUtils' );\n\t\tconst styleDefinitions = editor.config.get( 'style.definitions' );\n\t\tconst normalizedStyleDefinitions = styleUtils.normalizeConfig( dataSchema, styleDefinitions );\n\n\t\t// Add the dropdown to the component factory.\n\t\teditor.ui.componentFactory.add( 'style', locale => {\n\t\t\tconst t = locale.t;\n\t\t\tconst dropdown = createDropdown( locale );\n\t\t\tconst styleCommand: StyleCommand = editor.commands.get( 'style' )!;\n\n\t\t\tdropdown.once( 'change:isOpen', () => {\n\t\t\t\tconst panelView = new StylePanelView( locale, normalizedStyleDefinitions );\n\n\t\t\t\t// Put the styles panel is the dropdown.\n\t\t\t\tdropdown.panelView.children.add( panelView );\n\n\t\t\t\t// Close the dropdown when a style is selected in the styles panel.\n\t\t\t\tpanelView.delegate( 'execute' ).to( dropdown );\n\n\t\t\t\t// Bind the state of the styles panel to the command.\n\t\t\t\tpanelView.bind( 'activeStyles' ).to( styleCommand, 'value' );\n\t\t\t\tpanelView.bind( 'enabledStyles' ).to( styleCommand, 'enabledStyles' );\n\t\t\t} );\n\n\t\t\t// The entire dropdown will be disabled together with the command (e.g. when the editor goes read-only).\n\t\t\tdropdown.bind( 'isEnabled' ).to( styleCommand );\n\n\t\t\t// This dropdown has no icon. It displays text label depending on the selection.\n\t\t\tdropdown.buttonView.withText = true;\n\n\t\t\t// The label of the dropdown is dynamic and depends on how many styles are active at a time.\n\t\t\tdropdown.buttonView.bind( 'label' ).to( styleCommand, 'value', value => {\n\t\t\t\tif ( value.length > 1 ) {\n\t\t\t\t\treturn t( 'Multiple styles' );\n\t\t\t\t} else if ( value.length === 1 ) {\n\t\t\t\t\treturn value[ 0 ];\n\t\t\t\t} else {\n\t\t\t\t\treturn t( 'Styles' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// The dropdown has a static CSS class for easy customization. There's another CSS class\n\t\t\t// that gets displayed when multiple styles are active at a time allowing visual customization of\n\t\t\t// the label.\n\t\t\tdropdown.bind( 'class' ).to( styleCommand, 'value', value => {\n\t\t\t\tconst classes = [\n\t\t\t\t\t'ck-style-dropdown'\n\t\t\t\t];\n\n\t\t\t\tif ( value.length > 1 ) {\n\t\t\t\t\tclasses.push( 'ck-style-dropdown_multiple-active' );\n\t\t\t\t}\n\n\t\t\t\treturn classes.join( ' ' );\n\t\t\t} );\n\n\t\t\t// Execute the command when a style is selected in the styles panel.\n\t\t\t// Also focus the editable after executing the command.\n\t\t\t// It overrides a default behaviour where the focus is moved to the dropdown button (#12125).\n\t\t\tdropdown.on( 'execute', evt => {\n\t\t\t\teditor.execute( 'style', { styleName: ( evt.source as any ).styleDefinition.name } );\n\t\t\t\teditor.editing.view.focus();\n\t\t\t} );\n\n\t\t\treturn dropdown;\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 style/stylecommand\n */\n\nimport type { ModelDocumentSelection, ModelElement } from 'ckeditor5/src/engine.js';\nimport { Command, type Editor } from 'ckeditor5/src/core.js';\nimport { logWarning, first } from 'ckeditor5/src/utils.js';\nimport type { GeneralHtmlSupport } from '@ckeditor/ckeditor5-html-support';\n\nimport {\n\tStyleUtils,\n\ttype BlockStyleDefinition,\n\ttype NormalizedStyleDefinition,\n\ttype NormalizedStyleDefinitions\n} from './styleutils.js';\n\n/**\n * Style command.\n *\n * Applies and removes styles from selection and elements.\n */\nexport class StyleCommand extends Command {\n\t/**\n\t * Set of currently applied styles on the current selection.\n\t *\n\t * Names of styles correspond to the `name` property of\n\t * {@link module:style/styleconfig~StyleDefinition configured definitions}.\n\t *\n\t * @observable\n\t */\n\tdeclare public value: Array<string>;\n\n\t/**\n\t * Names of enabled styles (styles that can be applied to the current selection).\n\t *\n\t * Names of enabled styles correspond to the `name` property of\n\t * {@link module:style/styleconfig~StyleDefinition configured definitions}.\n\t *\n\t * @observable\n\t */\n\tdeclare public enabledStyles: Array<string>;\n\n\t/**\n\t * Normalized definitions of the styles.\n\t */\n\tprivate readonly _styleDefinitions: NormalizedStyleDefinitions;\n\n\t/**\n\t * The StyleUtils plugin.\n\t */\n\tprivate _styleUtils: StyleUtils;\n\n\t/**\n\t * Creates an instance of the command.\n\t *\n\t * @param editor Editor on which this command will be used.\n\t * @param styleDefinitions Normalized definitions of the styles.\n\t */\n\tconstructor( editor: Editor, styleDefinitions: NormalizedStyleDefinitions ) {\n\t\tsuper( editor );\n\n\t\tthis.set( 'value', [] );\n\t\tthis.set( 'enabledStyles', [] );\n\n\t\tthis._styleDefinitions = styleDefinitions;\n\t\tthis._styleUtils = this.editor.plugins.get( StyleUtils );\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 selection = model.document.selection;\n\n\t\tconst value = new Set<string>();\n\t\tconst enabledStyles = new Set<string>();\n\n\t\t// Inline styles.\n\t\tfor ( const definition of this._styleDefinitions.inline ) {\n\t\t\t// Check if this inline style is enabled.\n\t\t\tif ( this._styleUtils.isStyleEnabledForInlineSelection( definition, selection ) ) {\n\t\t\t\tenabledStyles.add( definition.name );\n\t\t\t}\n\n\t\t\t// Check if this inline style is active.\n\t\t\tif ( this._styleUtils.isStyleActiveForInlineSelection( definition, selection ) ) {\n\t\t\t\tvalue.add( definition.name );\n\t\t\t}\n\t\t}\n\n\t\t// Block styles.\n\t\tconst firstBlock = first( selection.getSelectedBlocks() ) || selection.getFirstPosition()!.parent;\n\n\t\tif ( firstBlock ) {\n\t\t\tconst ancestorBlocks = firstBlock.getAncestors( { includeSelf: true, parentFirst: true } ) as Array<ModelElement>;\n\n\t\t\tfor ( const block of ancestorBlocks ) {\n\t\t\t\tif ( block.is( 'rootElement' ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tfor ( const definition of this._styleDefinitions.block ) {\n\t\t\t\t\t// Check if this block style is enabled.\n\t\t\t\t\tif ( !this._styleUtils.isStyleEnabledForBlock( definition, block ) ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tenabledStyles.add( definition.name );\n\n\t\t\t\t\t// Check if this block style is active.\n\t\t\t\t\tif ( this._styleUtils.isStyleActiveForBlock( definition, block ) ) {\n\t\t\t\t\t\tvalue.add( definition.name );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// E.g. reached a model table when the selection is in a cell. The command should not modify\n\t\t\t\t// ancestors of a table.\n\t\t\t\tif ( model.schema.isObject( block ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.enabledStyles = Array.from( enabledStyles ).sort();\n\t\tthis.isEnabled = this.enabledStyles.length > 0;\n\t\tthis.value = this.isEnabled ? Array.from( value ).sort() : [];\n\t}\n\n\t/**\n\t * Executes the command &ndash; applies the style classes to the selection or removes it from the selection.\n\t *\n\t * If the command value already contains the requested style, it will remove the style classes. Otherwise, it will set it.\n\t *\n\t * The execution result differs, depending on the {@link module:engine/model/document~ModelDocument#selection} and the\n\t * style type (inline or block):\n\t *\n\t * * When applying inline styles:\n\t * * If the selection is on a range, the command applies the style classes to all nodes in that range.\n\t * * If the selection is collapsed in a non-empty node, the command applies the style classes to the\n\t * {@link module:engine/model/document~ModelDocument#selection}.\n\t *\n\t * * When applying block styles:\n\t * * If the selection is on a range, the command applies the style classes to the nearest block parent element.\n\t *\n\t * @fires execute\n\t * @param options Command options.\n\t * @param options.styleName Style name matching the one defined in the\n\t * {@link module:style/styleconfig~StyleConfig#definitions configuration}.\n\t * @param options.forceValue Whether the command should add given style (`true`) or remove it (`false`) from the selection.\n\t * If not set (default), the command will toggle the style basing on the first selected node. Note, that this will not force\n\t * setting a style on an element that cannot receive given style.\n\t */\n\tpublic override execute( { styleName, forceValue }: { styleName: string; forceValue?: boolean } ): void {\n\t\tif ( !this.enabledStyles.includes( styleName ) ) {\n\t\t\t/**\n\t\t\t * Style command can be executed only with a correct style name.\n\t\t\t *\n\t\t\t * This warning may be caused by:\n\t\t\t *\n\t\t\t * * passing a name that is not specified in the {@link module:style/styleconfig~StyleConfig#definitions configuration}\n\t\t\t * (e.g. a CSS class name),\n\t\t\t * * when trying to apply a style that is not allowed on a given element.\n\t\t\t *\n\t\t\t * @error style-command-executed-with-incorrect-style-name\n\t\t\t */\n\t\t\tlogWarning( 'style-command-executed-with-incorrect-style-name' );\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this.editor.model;\n\t\tconst selection = model.document.selection;\n\t\tconst htmlSupport: GeneralHtmlSupport = this.editor.plugins.get( 'GeneralHtmlSupport' );\n\n\t\tconst allDefinitions: Array<NormalizedStyleDefinition> = [\n\t\t\t...this._styleDefinitions.inline,\n\t\t\t...this._styleDefinitions.block\n\t\t];\n\n\t\tconst activeDefinitions = allDefinitions.filter( ( { name } ) => this.value.includes( name ) );\n\t\tconst definition: NormalizedStyleDefinition = allDefinitions.find( ( { name } ) => name == styleName )!;\n\t\tconst shouldAddStyle = forceValue === undefined ? !this.value.includes( definition.name ) : forceValue;\n\n\t\tmodel.change( () => {\n\t\t\tlet selectables;\n\n\t\t\tif ( isBlockStyleDefinition( definition ) ) {\n\t\t\t\tselectables = this._findAffectedBlocks( getBlocksFromSelection( selection ),\n\t\t\t\t\tdefinition\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tselectables = [ this._styleUtils.getAffectedInlineSelectable( definition, selection ) ];\n\t\t\t}\n\n\t\t\tfor ( const selectable of selectables ) {\n\t\t\t\tif ( shouldAddStyle ) {\n\t\t\t\t\thtmlSupport.addModelHtmlClass( definition.element, definition.classes, selectable );\n\t\t\t\t} else {\n\t\t\t\t\thtmlSupport.removeModelHtmlClass(\n\t\t\t\t\t\tdefinition.element,\n\t\t\t\t\t\tgetDefinitionExclusiveClasses( activeDefinitions, definition ),\n\t\t\t\t\t\tselectable\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Returns a set of elements that should be affected by the block-style change.\n\t */\n\tprivate _findAffectedBlocks(\n\t\tselectedBlocks: Iterable<ModelElement>,\n\t\tdefinition: BlockStyleDefinition\n\t): Set<ModelElement> {\n\t\tconst blocks = new Set<ModelElement>();\n\n\t\tfor ( const selectedBlock of selectedBlocks ) {\n\t\t\tconst ancestorBlocks = selectedBlock.getAncestors( { includeSelf: true, parentFirst: true } ) as Array<ModelElement>;\n\n\t\t\tfor ( const block of ancestorBlocks ) {\n\t\t\t\tif ( block.is( 'rootElement' ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst affectedBlocks = this._styleUtils.getAffectedBlocks( definition, block );\n\n\t\t\t\tif ( affectedBlocks ) {\n\t\t\t\t\tfor ( const affectedBlock of affectedBlocks ) {\n\t\t\t\t\t\tblocks.add( affectedBlock );\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn blocks;\n\t}\n}\n\n/**\n * Returns classes that are defined only in the supplied definition and not in any other active definition. It's used\n * to ensure that classes used by other definitions are preserved when a style is removed. See #11748.\n *\n * @param activeDefinitions All currently active definitions affecting selected element(s).\n * @param definition Definition whose classes will be compared with all other active definition classes.\n * @returns Array of classes exclusive to the supplied definition.\n */\nfunction getDefinitionExclusiveClasses(\n\tactiveDefinitions: Array<NormalizedStyleDefinition>,\n\tdefinition: NormalizedStyleDefinition\n): Array<string> {\n\treturn activeDefinitions.reduce( ( classes: Array<string>, currentDefinition: NormalizedStyleDefinition ) => {\n\t\tif ( currentDefinition.name === definition.name ) {\n\t\t\treturn classes;\n\t\t}\n\n\t\treturn classes.filter( className => !currentDefinition.classes.includes( className ) );\n\t}, definition.classes );\n}\n\n/**\n * Checks if provided style definition is of type block.\n */\nfunction isBlockStyleDefinition( definition: NormalizedStyleDefinition ): definition is BlockStyleDefinition {\n\treturn 'isBlock' in definition;\n}\n\n/**\n * Gets block elements from selection. If there are none, returns first selected element.\n * @param selection Current document's selection.\n * @returns Selected blocks if there are any, first selected element otherwise.\n */\nfunction getBlocksFromSelection( selection: ModelDocumentSelection ) {\n\tconst blocks = Array.from( selection.getSelectedBlocks() );\n\tif ( blocks.length ) {\n\t\treturn blocks;\n\t}\n\treturn [ selection.getFirstPosition()!.parent as ModelElement ];\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 style/integrations/list\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport type { ModelElement } from 'ckeditor5/src/engine.js';\nimport type { ListType, ListUtils } from '@ckeditor/ckeditor5-list';\nimport type { TemplateDefinition } from 'ckeditor5/src/ui.js';\n\nimport type { GeneralHtmlSupport } from '@ckeditor/ckeditor5-html-support';\n\nimport {\n\tStyleUtils,\n\ttype BlockStyleDefinition,\n\ttype StyleUtilsGetAffectedBlocksEvent,\n\ttype StyleUtilsIsActiveForBlockEvent,\n\ttype StyleUtilsIsEnabledForBlockEvent,\n\ttype StyleUtilsGetStylePreviewEvent\n} from '../styleutils.js';\n\nimport type { StyleDefinition } from '../styleconfig.js';\n\nexport class ListStyleSupport extends Plugin {\n\tprivate _listUtils!: ListUtils;\n\tprivate _styleUtils!: StyleUtils;\n\tprivate _htmlSupport!: GeneralHtmlSupport;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'ListStyleSupport' 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 static get requires() {\n\t\treturn [ StyleUtils, 'GeneralHtmlSupport' ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\tif ( !editor.plugins.has( 'ListEditing' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._styleUtils = editor.plugins.get( StyleUtils );\n\t\tthis._listUtils = this.editor.plugins.get( 'ListUtils' );\n\t\tthis._htmlSupport = this.editor.plugins.get( 'GeneralHtmlSupport' );\n\n\t\tthis.listenTo<StyleUtilsIsEnabledForBlockEvent>( this._styleUtils, 'isStyleEnabledForBlock', ( evt, [ definition, block ] ) => {\n\t\t\tif ( this._isStyleEnabledForBlock( definition, block ) ) {\n\t\t\t\tevt.return = true;\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\tthis.listenTo<StyleUtilsIsActiveForBlockEvent>( this._styleUtils, 'isStyleActiveForBlock', ( evt, [ definition, block ] ) => {\n\t\t\tif ( this._isStyleActiveForBlock( definition, block ) ) {\n\t\t\t\tevt.return = true;\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\tthis.listenTo<StyleUtilsGetAffectedBlocksEvent>( this._styleUtils, 'getAffectedBlocks', ( evt, [ definition, block ] ) => {\n\t\t\tconst blocks = this._getAffectedBlocks( definition, block );\n\n\t\t\tif ( blocks ) {\n\t\t\t\tevt.return = blocks;\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\tthis.listenTo<StyleUtilsGetStylePreviewEvent>( this._styleUtils, 'getStylePreview', ( evt, [ definition, children ] ) => {\n\t\t\tconst templateDefinition = this._getStylePreview( definition, children );\n\n\t\t\tif ( templateDefinition ) {\n\t\t\t\tevt.return = templateDefinition;\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\t}\n\n\t/**\n\t * Verifies if the given style is applicable to the provided block element.\n\t */\n\tprivate _isStyleEnabledForBlock( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tconst model = this.editor.model;\n\n\t\tif ( ![ 'ol', 'ul', 'li' ].includes( definition.element ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( !this._listUtils.isListItemBlock( block ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst attributeName = this._htmlSupport.getGhsAttributeNameForElement( definition.element );\n\n\t\tif ( definition.element == 'ol' || definition.element == 'ul' ) {\n\t\t\tif ( !model.schema.checkAttribute( block, attributeName ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst isNumbered = this._listUtils.isNumberedListType( block.getAttribute( 'listType' ) as ListType );\n\t\t\tconst viewElementName = isNumbered ? 'ol' : 'ul';\n\n\t\t\treturn definition.element == viewElementName;\n\t\t} else {\n\t\t\treturn model.schema.checkAttribute( block, attributeName );\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if the given style is applied to the specified block element.\n\t */\n\tprivate _isStyleActiveForBlock( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tconst attributeName = this._htmlSupport.getGhsAttributeNameForElement( definition.element );\n\t\tconst ghsAttributeValue = block.getAttribute( attributeName );\n\n\t\treturn this._styleUtils.hasAllClasses( ghsAttributeValue, definition.classes );\n\t}\n\n\t/**\n\t * Returns an array of block elements that style should be applied to.\n\t */\n\tprivate _getAffectedBlocks( definition: BlockStyleDefinition, block: ModelElement ): Array<ModelElement> | null {\n\t\tif ( !this._isStyleEnabledForBlock( definition, block ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( definition.element == 'li' ) {\n\t\t\treturn this._listUtils.expandListBlocksToCompleteItems( block, { withNested: false } );\n\t\t} else {\n\t\t\treturn this._listUtils.expandListBlocksToCompleteList( block );\n\t\t}\n\t}\n\n\t/**\n\t * Returns a view template definition for the style preview.\n\t */\n\tprivate _getStylePreview( definition: StyleDefinition, children: Iterable<TemplateDefinition> ): TemplateDefinition | null {\n\t\tconst { element, classes } = definition;\n\n\t\tif ( element == 'ol' || element == 'ul' ) {\n\t\t\treturn {\n\t\t\t\ttag: element,\n\t\t\t\tattributes: {\n\t\t\t\t\tclass: classes\n\t\t\t\t},\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttag: 'li',\n\t\t\t\t\t\tchildren\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t};\n\t\t} else if ( element == 'li' ) {\n\t\t\treturn {\n\t\t\t\ttag: 'ol',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttag: element,\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\tclass: classes\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t};\n\t\t}\n\n\t\treturn null;\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 style/integrations/table\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport type { ModelElement } from 'ckeditor5/src/engine.js';\nimport type { TableUtils } from '@ckeditor/ckeditor5-table';\n\nimport type { DataFilter } from '@ckeditor/ckeditor5-html-support';\n\nimport {\n\tStyleUtils,\n\ttype BlockStyleDefinition,\n\ttype StyleUtilsGetAffectedBlocksEvent,\n\ttype StyleUtilsIsEnabledForBlockEvent,\n\ttype StyleUtilsConfigureGHSDataFilterEvent\n} from '../styleutils.js';\n\nexport class TableStyleSupport extends Plugin {\n\tprivate _tableUtils!: TableUtils;\n\tprivate _styleUtils!: StyleUtils;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'TableStyleSupport' 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 static get requires() {\n\t\treturn [ StyleUtils ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\tif ( !editor.plugins.has( 'TableEditing' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._styleUtils = editor.plugins.get( StyleUtils );\n\t\tthis._tableUtils = this.editor.plugins.get( 'TableUtils' );\n\n\t\tthis.listenTo<StyleUtilsIsEnabledForBlockEvent>( this._styleUtils, 'isStyleEnabledForBlock', ( evt, [ definition, block ] ) => {\n\t\t\tif ( this._isApplicable( definition, block ) ) {\n\t\t\t\tevt.return = this._isStyleEnabledForBlock( definition, block );\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\tthis.listenTo<StyleUtilsGetAffectedBlocksEvent>( this._styleUtils, 'getAffectedBlocks', ( evt, [ definition, block ] ) => {\n\t\t\tif ( this._isApplicable( definition, block ) ) {\n\t\t\t\tevt.return = this._getAffectedBlocks( definition, block );\n\t\t\t\tevt.stop();\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\n\t\tthis.listenTo<StyleUtilsConfigureGHSDataFilterEvent>(\n\t\t\tthis._styleUtils,\n\t\t\t'configureGHSDataFilter',\n\t\t\t( evt, [ { block } ] ) => {\n\t\t\t\tconst ghsDataFilter: DataFilter = this.editor.plugins.get( 'DataFilter' );\n\n\t\t\t\tghsDataFilter.loadAllowedConfig(\n\t\t\t\t\tblock\n\t\t\t\t\t\t.filter( definition => definition.element == 'figcaption' )\n\t\t\t\t\t\t.map( definition => ( { name: 'caption', classes: definition.classes } ) )\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * Checks if this plugin's custom logic should be applied for defintion-block pair.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block Block element to check if should be styled.\n\t * @returns True if the defintion-block pair meet the plugin criteria, false otherwise.\n\t */\n\tprivate _isApplicable( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tif ( [ 'td', 'th' ].includes( definition.element ) ) {\n\t\t\treturn block.name == 'tableCell';\n\t\t}\n\n\t\tif ( [ 'thead', 'tbody' ].includes( definition.element ) ) {\n\t\t\treturn block.name == 'table';\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Checks if the style definition should be applied to selected block.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block Block element to check if should be styled.\n\t * @returns True if the block should be style with the style description, false otherwise.\n\t */\n\tprivate _isStyleEnabledForBlock( definition: BlockStyleDefinition, block: ModelElement ): boolean {\n\t\tif ( [ 'td', 'th' ].includes( definition.element ) ) {\n\t\t\tconst location = this._tableUtils.getCellLocation( block )!;\n\n\t\t\tconst tableRow = block.parent!;\n\t\t\tconst table = tableRow.parent as ModelElement;\n\n\t\t\tconst headingRows = table.getAttribute( 'headingRows' ) as number || 0;\n\t\t\tconst headingColumns = table.getAttribute( 'headingColumns' ) as number || 0;\n\t\t\tconst isHeadingCell = location.row < headingRows || location.column < headingColumns;\n\n\t\t\tif ( definition.element == 'th' ) {\n\t\t\t\treturn isHeadingCell;\n\t\t\t} else {\n\t\t\t\treturn !isHeadingCell;\n\t\t\t}\n\t\t}\n\n\t\tif ( [ 'thead', 'tbody' ].includes( definition.element ) ) {\n\t\t\tconst headingRows = block.getAttribute( 'headingRows' ) as number || 0;\n\n\t\t\tif ( definition.element == 'thead' ) {\n\t\t\t\treturn headingRows > 0;\n\t\t\t} else {\n\t\t\t\treturn headingRows < this._tableUtils.getRows( block );\n\t\t\t}\n\t\t}\n\n\t\t/* istanbul ignore next -- @preserve */\n\t\treturn false;\n\t}\n\n\t/**\n\t * Gets all blocks that the style should be applied to.\n\t *\n\t * @param definition Style definition that is being considered.\n\t * @param block A block element from selection.\n\t * @returns An array with the block that was passed as an argument if meets the criteria, null otherwise.\n\t */\n\tprivate _getAffectedBlocks( definition: BlockStyleDefinition, block: ModelElement ): Array<ModelElement> | null {\n\t\tif ( !this._isStyleEnabledForBlock( definition, block ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn [ block ];\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 style/integrations/link\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport type { ModelSelectable, ModelDocumentSelection, ModelRange, ModelPosition, Model } from 'ckeditor5/src/engine.js';\nimport { findAttributeRange, findAttributeRangeBound } from 'ckeditor5/src/typing.js';\n\nimport type { GeneralHtmlSupport } from '@ckeditor/ckeditor5-html-support';\n\nimport {\n\tStyleUtils,\n\ttype InlineStyleDefinition,\n\ttype StyleUtilsGetAffectedInlineSelectableEvent,\n\ttype StyleUtilsIsStyleEnabledForInlineSelectionEvent,\n\ttype StyleUtilsIsStyleActiveForInlineSelectionEvent\n} from '../styleutils.js';\n\nexport class LinkStyleSupport extends Plugin {\n\tprivate _styleUtils!: StyleUtils;\n\tprivate _htmlSupport!: GeneralHtmlSupport;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'LinkStyleSupport' 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 static get requires() {\n\t\treturn [ StyleUtils, 'GeneralHtmlSupport' ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\tif ( !editor.plugins.has( 'LinkEditing' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._styleUtils = editor.plugins.get( StyleUtils );\n\t\tthis._htmlSupport = this.editor.plugins.get( 'GeneralHtmlSupport' );\n\n\t\tthis.listenTo<StyleUtilsIsStyleEnabledForInlineSelectionEvent>(\n\t\t\tthis._styleUtils,\n\t\t\t'isStyleEnabledForInlineSelection',\n\t\t\t( evt, [ definition, selection ] ) => {\n\t\t\t\tif ( definition.element == 'a' ) {\n\t\t\t\t\tevt.return = this._isStyleEnabled( definition, selection );\n\t\t\t\t\tevt.stop();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: 'high' }\n\t\t);\n\n\t\tthis.listenTo<StyleUtilsIsStyleActiveForInlineSelectionEvent>(\n\t\t\tthis._styleUtils,\n\t\t\t'isStyleActiveForInlineSelection',\n\t\t\t( evt, [ definition, selection ] ) => {\n\t\t\t\tif ( definition.element == 'a' ) {\n\t\t\t\t\tevt.return = this._isStyleActive( definition, selection );\n\t\t\t\t\tevt.stop();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: 'high' }\n\t\t);\n\n\t\tthis.listenTo<StyleUtilsGetAffectedInlineSelectableEvent>(\n\t\t\tthis._styleUtils,\n\t\t\t'getAffectedInlineSelectable',\n\t\t\t( evt, [ definition, selection ] ) => {\n\t\t\t\tif ( definition.element != 'a' ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst selectable = this._getAffectedSelectable( definition, selection );\n\n\t\t\t\tif ( selectable ) {\n\t\t\t\t\tevt.return = selectable;\n\t\t\t\t\tevt.stop();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ priority: 'high' }\n\t\t);\n\t}\n\n\t/**\n\t * Verifies if the given style is applicable to the provided document selection.\n\t */\n\tprivate _isStyleEnabled( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): boolean {\n\t\tconst model = this.editor.model;\n\n\t\t// Handle collapsed selection.\n\t\tif ( selection.isCollapsed ) {\n\t\t\treturn selection.hasAttribute( 'linkHref' );\n\t\t}\n\n\t\t// Non-collapsed selection.\n\t\tfor ( const range of selection.getRanges() ) {\n\t\t\tfor ( const item of range.getItems() ) {\n\t\t\t\tif ( ( item.is( '$textProxy' ) || model.schema.isInline( item ) ) && item.hasAttribute( 'linkHref' ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns true if the given style is applied to the specified document selection.\n\t */\n\tprivate _isStyleActive( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): boolean {\n\t\tconst model = this.editor.model;\n\t\tconst attributeName = this._htmlSupport.getGhsAttributeNameForElement( definition.element );\n\n\t\t// Handle collapsed selection.\n\t\tif ( selection.isCollapsed ) {\n\t\t\tif ( selection.hasAttribute( 'linkHref' ) ) {\n\t\t\t\tconst ghsAttributeValue = selection.getAttribute( attributeName );\n\n\t\t\t\tif ( this._styleUtils.hasAllClasses( ghsAttributeValue, definition.classes ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\t// Non-collapsed selection.\n\t\tfor ( const range of selection.getRanges() ) {\n\t\t\tfor ( const item of range.getItems() ) {\n\t\t\t\tif ( ( item.is( '$textProxy' ) || model.schema.isInline( item ) ) && item.hasAttribute( 'linkHref' ) ) {\n\t\t\t\t\tconst ghsAttributeValue = item.getAttribute( attributeName );\n\n\t\t\t\t\treturn this._styleUtils.hasAllClasses( ghsAttributeValue, definition.classes );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns a selectable that given style should be applied to.\n\t */\n\tprivate _getAffectedSelectable( definition: InlineStyleDefinition, selection: ModelDocumentSelection ): ModelSelectable {\n\t\tconst model = this.editor.model;\n\n\t\t// Handle collapsed selection.\n\t\tif ( selection.isCollapsed ) {\n\t\t\tconst linkHref = selection.getAttribute( 'linkHref' );\n\n\t\t\treturn findAttributeRange( selection.getFirstPosition()!, 'linkHref', linkHref, model );\n\t\t}\n\n\t\t// Non-collapsed selection.\n\t\tconst ranges: Array<ModelRange> = [];\n\n\t\tfor ( const range of selection.getRanges() ) {\n\t\t\t// First expand range to include the whole link.\n\t\t\tconst expandedRange = model.createRange(\n\t\t\t\texpandAttributePosition( range.start, 'linkHref', true, model ),\n\t\t\t\texpandAttributePosition( range.end, 'linkHref', false, model )\n\t\t\t);\n\n\t\t\t// Pick only ranges on links.\n\t\t\tfor ( const item of expandedRange.getItems() ) {\n\t\t\t\tif ( ( item.is( '$textProxy' ) || model.schema.isInline( item ) ) && item.hasAttribute( 'linkHref' ) ) {\n\t\t\t\t\tranges.push( this.editor.model.createRangeOn( item ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Make sure that we have a continuous range on a link\n\t\t// (not split between text nodes with mixed attributes like bold etc.)\n\t\treturn normalizeRanges( ranges );\n\t}\n}\n\n/**\n * Walks forward or backward (depends on the `lookBack` flag), node by node, as long as they have the same attribute value\n * and returns a position just before or after (depends on the `lookBack` flag) the last matched node.\n */\nfunction expandAttributePosition( position: ModelPosition, attributeName: string, lookBack: boolean, model: Model ): ModelPosition {\n\tconst referenceNode = position.textNode || ( lookBack ? position.nodeAfter : position.nodeBefore );\n\n\tif ( !referenceNode || !referenceNode.hasAttribute( attributeName ) ) {\n\t\treturn position;\n\t}\n\n\tconst attributeValue = referenceNode.getAttribute( attributeName );\n\n\treturn findAttributeRangeBound( position, attributeName, attributeValue, lookBack, model );\n}\n\n/**\n * Normalizes list of ranges by joining intersecting or \"touching\" ranges.\n *\n * Note: It assumes that ranges are sorted.\n */\nfunction normalizeRanges( ranges: Array<ModelRange> ): Array<ModelRange> {\n\tfor ( let i = 1; i < ranges.length; i++ ) {\n\t\tconst joinedRange = ranges[ i - 1 ].getJoined( ranges[ i ] );\n\n\t\tif ( joinedRange ) {\n\t\t\t// Replace the ranges on the list with the new joined range.\n\t\t\tranges.splice( --i, 2, joinedRange );\n\t\t}\n\t}\n\n\treturn ranges;\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 style/styleediting\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport type { DataSchema } from '@ckeditor/ckeditor5-html-support';\n\nimport { StyleCommand } from './stylecommand.js';\nimport { StyleUtils } from './styleutils.js';\nimport type { StyleConfig } from './styleconfig.js';\n\nimport { ListStyleSupport } from './integrations/list.js';\nimport { TableStyleSupport } from './integrations/table.js';\nimport { LinkStyleSupport } from './integrations/link.js';\n\n/**\n * The style engine feature.\n *\n * It configures the {@glink features/html/general-html-support General HTML Support feature} based on\n * {@link module:style/styleconfig~StyleConfig#definitions configured style definitions} and introduces the\n * {@link module:style/stylecommand~StyleCommand style command} that applies styles to the content of the document.\n */\nexport class StyleEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'StyleEditing' 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 static get requires() {\n\t\treturn [ 'GeneralHtmlSupport', StyleUtils, ListStyleSupport, TableStyleSupport, LinkStyleSupport ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst dataSchema: DataSchema = editor.plugins.get( 'DataSchema' );\n\t\tconst styleUtils: StyleUtils = editor.plugins.get( 'StyleUtils' );\n\t\tconst styleDefinitions: StyleConfig['definitions'] = editor.config.get( 'style.definitions' )!;\n\t\tconst normalizedStyleDefinitions = styleUtils.normalizeConfig( dataSchema, styleDefinitions );\n\n\t\teditor.commands.add( 'style', new StyleCommand( editor, normalizedStyleDefinitions ) );\n\n\t\tstyleUtils.configureGHSDataFilter( normalizedStyleDefinitions );\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 style/style\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\n\nimport { StyleUI } from './styleui.js';\nimport { StyleEditing } from './styleediting.js';\n\n/**\n * The style plugin.\n *\n * This is a \"glue\" plugin that loads the {@link module:style/styleediting~StyleEditing style editing feature}\n * and {@link module:style/styleui~StyleUI style UI feature}.\n */\nexport class Style extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Style' 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 static get requires() {\n\t\treturn [ StyleEditing, StyleUI ] as const;\n\t}\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-style",
3
- "version": "46.0.0-alpha.3",
3
+ "version": "46.0.0-alpha.5",
4
4
  "description": "Style feature for CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -13,14 +13,14 @@
13
13
  "type": "module",
14
14
  "main": "src/index.js",
15
15
  "dependencies": {
16
- "@ckeditor/ckeditor5-core": "46.0.0-alpha.3",
17
- "@ckeditor/ckeditor5-html-support": "46.0.0-alpha.3",
18
- "@ckeditor/ckeditor5-list": "46.0.0-alpha.3",
19
- "@ckeditor/ckeditor5-table": "46.0.0-alpha.3",
20
- "@ckeditor/ckeditor5-typing": "46.0.0-alpha.3",
21
- "@ckeditor/ckeditor5-ui": "46.0.0-alpha.3",
22
- "@ckeditor/ckeditor5-utils": "46.0.0-alpha.3",
23
- "ckeditor5": "46.0.0-alpha.3",
16
+ "@ckeditor/ckeditor5-core": "46.0.0-alpha.5",
17
+ "@ckeditor/ckeditor5-html-support": "46.0.0-alpha.5",
18
+ "@ckeditor/ckeditor5-list": "46.0.0-alpha.5",
19
+ "@ckeditor/ckeditor5-table": "46.0.0-alpha.5",
20
+ "@ckeditor/ckeditor5-typing": "46.0.0-alpha.5",
21
+ "@ckeditor/ckeditor5-ui": "46.0.0-alpha.5",
22
+ "@ckeditor/ckeditor5-utils": "46.0.0-alpha.5",
23
+ "ckeditor5": "46.0.0-alpha.5",
24
24
  "es-toolkit": "1.39.5"
25
25
  },
26
26
  "author": "CKSource (http://cksource.com/)",