@ckeditor/ckeditor5-fullscreen 45.2.1 → 46.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js","../src/handlers/abstracteditorhandler.ts","../src/handlers/classiceditorhandler.ts","../src/handlers/decouplededitorhandler.ts","../src/fullscreencommand.ts","../src/fullscreenediting.ts","../src/fullscreenui.ts","../src/fullscreen.ts"],"names":["DIALOG_OFFSET","AbstractEditorHandler","_placeholderMap","_wrapper","_document","_annotationsUIsData","_paginationBodyCollection","_sourceEditingCallback","_evt","_name","value","getWrapper","querySelector","style","display","_hiddenElements","Map","_savedAncestorsScrollPositions","_showRevisionViewerCallback","_closeRevisionViewerCallback","editor","plugins","has","config","get","showRevisionViewerCallback","closeRevisionViewerCallback","_editor","sourceElement","ownerDocument","global","document","define","body","on","destroy","moveToFullscreen","elementToMove","placeholderName","placeholderElement","createElement","setAttribute","replaceWith","append","set","movedElement","restoreMovedElementLocation","remove","delete","size","_destroyContainer","class","innerHTML","appendChild","enable","_saveAncestorsScrollPositions","ui","getEditableElement","defaultOnEnter","classList","add","parentElement","_registerFullscreenDialogPositionAdjustments","_generatePresenceListContainer","_generateDocumentOutlineContainer","isEnabled","paginationRenderer","setupScrollableAncestor","BodyCollection","locale","attachToDom","linesRepository","setViewCollection","once","detachFromDom","bodyCollectionContainer","_overrideAnnotationsUIs","isRevisionViewerOpen","_overrideRevisionHistoryCallbacks","element","children","contains","disable","_restoreDocumentOutlineDefaultContainer","_restoreAnnotationsUIs","_restoreRevisionHistoryCallbacks","off","keys","view","toolbar","switchBehavior","ancestor","scrollTo","left","scrollLeft","top","scrollTop","behavior","clear","_unregisterFullscreenDialogPositionAdjustments","values","displayValue","t","presenceListElement","firstElementChild","innerText","presenceListUI","documentOutlineHeaderElement","documentOutlineBodyWrapper","documentOutlineUI","documentOutlineContainer","annotationsUIs","uisData","annotationsFilters","uiName","data","filter","defaultFilter","deactivateAll","sidebarPlugin","container","setContainer","switchToWideSidebar","activate","annotation","some","switchTo","sidebarContainer","context","revisionViewerEditor","menuBarView","dialog","_setNewDialogPosition","updateDialogPositionCallback","priority","dialogView","position","DialogViewPosition","EDITOR_TOP_SIDE","updatePosition","_updateDialogPosition","bind","isOpen","fullscreenViewContainerRect","Rect","getVisible","editorContainerRect","dialogRect","scrollOffset","excludeScrollbarsAndBorders","width","moveTo","domElement","overflowY","window","getComputedStyle","overflowX","tagName","ClassicEditorHandler","editorUI","editorUIView","getAttribute","MenuBarView","render","initMenuBar","DecoupledEditorHandler","FullscreenCommand","Command","fullscreenHandler","affectsData","isClassicEditor","isDecoupledEditor","execute","_disableFullscreenMode","_enableFullscreenMode","editorName","FullscreenEditing","Plugin","pluginName","isOfficialPlugin","init","commands","keystrokes","evt","cancel","env","isBlink","editing","isFocused","focusTracker","focusedElement","scrollToTheSelection","focus","accessibility","addKeystrokeInfos","label","keystroke","categoryId","COMMAND_NAME","FullscreenUI","requires","componentFactory","_createButton","ButtonView","MenuBarMenuListItemButtonView","ButtonClass","command","isToggleable","to","role","IconFullscreenLeave","IconFullscreenEnter","tooltip","listenTo","Fullscreen"],"mappings":"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","file":"index.js.map","sourcesContent":["import { Command, Plugin } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { global, createElement, Rect, env } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { BodyCollection, DialogViewPosition, MenuBarView, ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { IconFullscreenLeave, IconFullscreenEnter } from '@ckeditor/ckeditor5-icons/dist/index.js';\n\nconst DIALOG_OFFSET = 28;\n/**\n * The abstract editor type handler.\n *\n * This class defines some actions and behaviors that are applied when fullscreen mode is toggled, and which are common\n * regardless of the editor type. Then, specific classes like `ClassicEditorHandler` or `DecoupledEditorHandler`\n * extend this class with actions specific for these editor types.\n *\n * Extend this class to provide fullscreen mode handling for unsupported editor types,\n * or if you wish to heavily customize the default behavior.\n *\n * The only method that is necessary to provide when extending this class is {@link #defaultOnEnter}. However, make sure to\n * familiarize yourself with the below full list of actions taken by `AbstractEditorHandler` to understand what is covered by default,\n * and what should be provided by you.\n *\n * When entering the fullscreen mode, the {@link #enable} method is called. It creates the properly styled container\n * and handles the editor features that need it, in the following order:\n *\n * 1. Saves the scroll positions of all ancestors of the editable element to restore them after leaving the fullscreen mode.\n * 2. Executes the {@link #defaultOnEnter} method to move the proper editor UI elements to the fullscreen mode.\n * **If you extend the abstract handler, you should override this method** to move the elements that are specific to your editor type, like:\n * \teditable, toolbar, menu bar.\n * \tUse {@link #moveToFullscreen} method for this purpose to ensure they are automatically cleaned up after leaving the fullscreen mode.\n * 3. Adds proper classes to the `<body>` and `<html>` elements to block page scrolling, adjust `z-index` etc.\n * 4. Changes the position of some dialogs to utilize the empty space on the right side of the editable element.\n *\n * Steps 5-11 are only executed if the corresponding features are used.\n *\n * 5. If presence list is used, moves it to the fullscreen mode container.\n * 6. If document outline is used, moves it to the fullscreen mode.\n * 7. If pagination is used, adjusts it's configuration for the changed view.\n * 8. If annotations are used, moves them to the fullscreen mode.\n * 9. If revision history is used, overrides the callbacks to show the revision viewer in the fullscreen mode.\n * 10. If source editing and document outline are both used, hides the document outline header.\n * 11. If custom container is used, hides all other elements in it to ensure they don't create an empty unscrollable space.\n *\n * Then finally:\n *\n * 12. Executes the configured {@link module:fullscreen/fullscreenconfig~FullscreenConfig#onEnterCallback\n * \t`config.fullscreen.onEnterCallback`} function.\n * \tBy default, it returns the fullscreen mode container element so it can be further customized.\n *\n * When leaving the fullscreen mode, the {@link #disable} method is called. It does the following:\n *\n * 1. Execute the configured {@link module:fullscreen/fullscreenconfig~FullscreenConfig#onLeaveCallback\n * \t`config.fullscreen.onLeaveCallback`} function.\n * 2. Remove the classes added to the `<body>` and `<html>` elements.\n * 3. If document outline is used, restore its default container.\n * 4. If annotations are used, restore their original state (UI, filters etc).\n * 5. If revision history is used, restore the original callbacks.\n * 6. If source editing and document outline are both used, restore the document outline header.\n * 7. Restore all moved elements to their original place.\n * 8. Destroy the fullscreen mode container.\n * 9. If the editor has a toolbar, switch its behavior to the one configured in the\n * \t{@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} property.\n * 10. Restore the scroll positions of all ancestors of the editable element.\n * 11. If pagination is used, restore its default configuration.\n * 12. Restore default dialogs positions.\n *\n * This class is exported to allow for custom extensions.\n */ class AbstractEditorHandler {\n /**\n\t * Maps placeholder names to placeholder elements and moved elements.\n\t */ _placeholderMap;\n /**\n\t * The wrapper element that holds the fullscreen mode layout.\n\t */ _wrapper = null;\n /**\n\t * The document object in which the editor is located.\n\t */ _document;\n /**\n\t * Data of the annotations UIs that were active before entering the fullscreen mode.\n\t */ _annotationsUIsData = null;\n /**\n\t * The pagination body collection that is used in the fullscreen mode.\n\t * If we don't move pagination lines to the fullscreen container, they won't be visible.\n\t */ _paginationBodyCollection = null;\n /**\n\t * A callback that hides the document outline header when the source editing mode is enabled.\n\t * Document outline element itself is hidden by source editing plugin.\n\t */ /* istanbul ignore next -- @preserve */ _sourceEditingCallback = (_evt, _name, value)=>{\n this.getWrapper().querySelector('.ck-fullscreen__document-outline-header').style.display = value ? 'none' : '';\n };\n /**\n\t * A map of elements that were hidden when entering the fullscreen mode.\n\t * It is used to restore their previous visibility when leaving the fullscreen mode and avoid showing elements\n\t * that were hidden before entering the fullscreen mode.\n\t */ _hiddenElements = new Map();\n /**\n\t * A map matching the ancestors of the editable element with their scroll positions before entering fullscreen mode.\n\t */ _savedAncestorsScrollPositions = new Map();\n /**\n\t * A callback that shows the revision viewer, stored to restore the original one after exiting the fullscreen mode.\n\t */ _showRevisionViewerCallback = null;\n /**\n\t * A callback that closes the revision viewer, stored to restore the original one after exiting the fullscreen mode.\n\t */ _closeRevisionViewerCallback = null;\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n this._placeholderMap = new Map();\n if (editor.plugins.has('RevisionHistory')) {\n this._showRevisionViewerCallback = editor.config.get('revisionHistory').showRevisionViewerCallback;\n this._closeRevisionViewerCallback = editor.config.get('revisionHistory').closeRevisionViewerCallback;\n }\n this._editor = editor;\n this._document = this._editor.sourceElement ? this._editor.sourceElement.ownerDocument : global.document;\n this._editor.config.define('fullscreen.container', this._document.body);\n editor.on('destroy', ()=>{\n if (this._wrapper) {\n this.destroy();\n }\n });\n }\n /**\n\t * Moves the given element to the fullscreen mode container, leaving a placeholder in its place.\n\t */ moveToFullscreen(elementToMove, placeholderName) {\n const placeholderElement = createElement(this._document, 'div');\n placeholderElement.setAttribute('data-ck-fullscreen-placeholder', placeholderName);\n elementToMove.replaceWith(placeholderElement);\n this.getWrapper().querySelector(`[data-ck-fullscreen=\"${placeholderName}\"]`).append(elementToMove);\n this._placeholderMap.set(placeholderName, {\n placeholderElement,\n movedElement: elementToMove\n });\n }\n /**\n\t * Returns a single moved element to its original place.\n\t */ restoreMovedElementLocation(placeholderName) {\n if (!this._placeholderMap.has(placeholderName)) {\n return;\n }\n const { placeholderElement, movedElement } = this._placeholderMap.get(placeholderName);\n placeholderElement.replaceWith(movedElement);\n placeholderElement.remove();\n this._placeholderMap.delete(placeholderName);\n if (this._placeholderMap.size === 0) {\n this._destroyContainer();\n }\n }\n /**\n\t * Returns the fullscreen mode container element.\n\t */ getWrapper() {\n if (!this._wrapper) {\n this._wrapper = createElement(this._document, 'div', {\n class: 'ck ck-fullscreen__main-wrapper'\n });\n // For now, the container is generated in a very straightforward way. If necessary, it may be rewritten using editor's UI lib.\n this._wrapper.innerHTML = `\n\t\t\t\t<div class=\"ck ck-fullscreen__top-wrapper ck-reset_all\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__menu-bar\" data-ck-fullscreen=\"menu-bar\"></div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__toolbar\" data-ck-fullscreen=\"toolbar\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ck ck-fullscreen__editable-wrapper\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__sidebar ck-fullscreen__left-sidebar\" data-ck-fullscreen=\"left-sidebar\"></div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__editable\" data-ck-fullscreen=\"editable\">\n\t\t\t\t\t\t<div class=\"ck ck-fullscreen__pagination-view\" data-ck-fullscreen=\"pagination-view\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__sidebar ck-fullscreen__right-sidebar\" data-ck-fullscreen=\"right-sidebar\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ck ck-fullscreen__bottom-wrapper\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__body-wrapper\" data-ck-fullscreen=\"body-wrapper\"></div>\n\t\t\t\t</div>\n\t\t\t`;\n this._editor.config.get('fullscreen.container').appendChild(this._wrapper);\n }\n return this._wrapper;\n }\n /**\n\t * Enables the fullscreen mode. It executes the editor-specific enable handler and then the configured callback.\n\t */ enable() {\n this._saveAncestorsScrollPositions(this._editor.ui.getEditableElement());\n this.defaultOnEnter();\n // Block scroll if the fullscreen container is the body element. Otherwise the document has to stay scrollable.\n if (this._editor.config.get('fullscreen.container') === this._document.body) {\n this._document.body.classList.add('ck-fullscreen');\n this._document.body.parentElement.classList.add('ck-fullscreen');\n }\n if (this._editor.plugins.has('Dialog')) {\n this._registerFullscreenDialogPositionAdjustments();\n }\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._editor.plugins.has('PresenceListUI')) {\n this._generatePresenceListContainer();\n }\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._editor.plugins.has('DocumentOutlineUI')) {\n this._generateDocumentOutlineContainer();\n }\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ if (this._editor.plugins.has('Pagination') && this._editor.plugins.get('Pagination').isEnabled) {\n const paginationRenderer = this._editor.plugins.get('PaginationRenderer');\n paginationRenderer.setupScrollableAncestor();\n this._paginationBodyCollection = new BodyCollection(this._editor.locale);\n this._paginationBodyCollection.attachToDom();\n paginationRenderer.linesRepository.setViewCollection(this._paginationBodyCollection);\n this._editor.once('destroy', ()=>{\n this._paginationBodyCollection.detachFromDom();\n });\n this.moveToFullscreen(this._paginationBodyCollection.bodyCollectionContainer, 'body-wrapper');\n }\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._editor.plugins.has('AnnotationsUIs')) {\n this._overrideAnnotationsUIs();\n }\n if (this._editor.plugins.has('RevisionHistory')) {\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._editor.plugins.get('RevisionHistory').isRevisionViewerOpen) {\n // Keep in mind that closing the revision history viewer is an asynchronous operation.\n this._editor.config.get('revisionHistory.closeRevisionViewerCallback')();\n }\n this._overrideRevisionHistoryCallbacks();\n }\n if (this._editor.plugins.has('SourceEditing') && this._editor.plugins.has('DocumentOutlineUI')) {\n this._editor.plugins.get('SourceEditing').on('change:isSourceEditingMode', this._sourceEditingCallback);\n }\n // Hide all other elements in the container to ensure they don't create an empty unscrollable space.\n for (const element of this._editor.config.get('fullscreen.container').children){\n // Do not hide body wrapper and ckbox wrapper to keep dialogs, balloons etc visible.\n if (element !== this._wrapper && !element.classList.contains('ck-body-wrapper') && !element.classList.contains('ckbox-wrapper') && // Already hidden elements are not hidden again to avoid accidentally showing them after leaving fullscreen.\n element.style.display !== 'none') {\n this._hiddenElements.set(element, element.style.display);\n element.style.display = 'none';\n }\n }\n if (this._editor.config.get('fullscreen.onEnterCallback')) {\n this._editor.config.get('fullscreen.onEnterCallback')(this.getWrapper());\n }\n }\n /**\n\t * Disables the fullscreen mode by restoring all moved elements and destroying the fullscreen container.\n\t */ disable() {\n if (this._editor.config.get('fullscreen.onLeaveCallback')) {\n this._editor.config.get('fullscreen.onLeaveCallback')(this.getWrapper());\n }\n this._document.body.classList.remove('ck-fullscreen');\n this._document.body.parentElement.classList.remove('ck-fullscreen');\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._editor.plugins.has('DocumentOutlineUI')) {\n this._restoreDocumentOutlineDefaultContainer();\n }\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._annotationsUIsData) {\n this._restoreAnnotationsUIs();\n }\n if (this._editor.plugins.has('RevisionHistory')) {\n this._restoreRevisionHistoryCallbacks();\n }\n if (this._editor.plugins.has('SourceEditing') && this._editor.plugins.has('DocumentOutlineUI')) {\n this._editor.plugins.get('SourceEditing').off('change:isSourceEditingMode', this._sourceEditingCallback);\n }\n for (const placeholderName of this._placeholderMap.keys()){\n this.restoreMovedElementLocation(placeholderName);\n }\n // Container is also destroyed in the `restoreMovedElementLocation()` method, but we need to do it here\n // to ensure that the container is destroyed even if no elements were moved.\n this._destroyContainer();\n if (this._editor.ui.view.toolbar) {\n this._editor.ui.view.toolbar.switchBehavior(this._editor.config.get('toolbar.shouldNotGroupWhenFull') === true ? 'static' : 'dynamic');\n }\n // Restore scroll positions of all ancestors. It may include the closest editable wrapper causing the editor to change\n // the visible content, which is not what we want. Thus, after executing the command, we use\n // `editor.editing.view.scrollToTheSelection()` to scroll the editor viewport to the current selection.\n // Using `behavior: 'instant'` is necessary to force scroll if some of the containers has `scroll-behavior: smooth` set (otherwise\n // the scroll won't happen).\n for (const [ancestor, value] of this._savedAncestorsScrollPositions){\n // `ScrollBehavior` has incorrect type definition in currently used TS version (5.0.4). Fix should be present since 5.1.0:\n // https://github.com/Microsoft/TypeScript/issues/28755. Hence we need a type assertion here.\n ancestor.scrollTo({\n left: value.scrollLeft,\n top: value.scrollTop,\n behavior: 'instant'\n });\n }\n this._savedAncestorsScrollPositions.clear();\n // Pagination has to be restored after leaving fullscreen mode to ensure proper rendering.\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ if (this._editor.plugins.has('Pagination') && this._editor.plugins.get('Pagination').isEnabled) {\n const paginationRenderer = this._editor.plugins.get('PaginationRenderer');\n paginationRenderer.setupScrollableAncestor();\n paginationRenderer.linesRepository.setViewCollection(this._editor.ui.view.body);\n this._paginationBodyCollection.detachFromDom();\n this._paginationBodyCollection?.destroy();\n }\n // Also dialog position needs to be recalculated after leaving fullscreen mode.\n if (this._editor.plugins.has('Dialog')) {\n this._unregisterFullscreenDialogPositionAdjustments();\n }\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n for (const { placeholderElement, movedElement } of this._placeholderMap.values()){\n placeholderElement.remove();\n movedElement.remove();\n }\n this._destroyContainer();\n this._document.body.classList.remove('ck-fullscreen');\n this._document.body.parentElement.classList.remove('ck-fullscreen');\n }\n /**\n\t * A function that moves the editor UI elements to the fullscreen mode. It should be set by the particular editor type handler.\n\t *\n\t * Returns the fullscreen mode container element so it can be further customized via\n\t * `fullscreen.onEnterCallback` configuration property.\n\t */ defaultOnEnter() {\n return this.getWrapper();\n }\n /**\n\t * Destroys the fullscreen mode container.\n\t */ _destroyContainer() {\n if (!this._wrapper) {\n return;\n }\n this._wrapper.remove();\n this._wrapper = null;\n // Restore visibility of all other elements in the container.\n for (const [element, displayValue] of this._hiddenElements){\n element.style.display = displayValue;\n }\n this._hiddenElements.clear();\n }\n /**\n\t * Checks if the PresenceListUI plugin is available and moves its elements to fullscreen mode.\n\t */ // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ _generatePresenceListContainer() {\n const t = this._editor.t;\n const presenceListElement = createElement(document, 'div', {\n class: 'ck ck-fullscreen__left-sidebar-item'\n });\n presenceListElement.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__left-sidebar-header\"></div>\n\t\t\t<div class=\"ck ck-fullscreen__presence-list\" data-ck-fullscreen=\"presence-list\"></div>\n\t\t`;\n presenceListElement.firstElementChild.innerText = t('Connected users');\n if (!document.querySelector('[data-ck-fullscreen=\"left-sidebar-sticky\"]')) {\n document.querySelector('[data-ck-fullscreen=\"left-sidebar\"]').appendChild(createElement(document, 'div', {\n class: 'ck ck-fullscreen__left-sidebar-sticky',\n 'data-ck-fullscreen': 'left-sidebar-sticky'\n }));\n }\n document.querySelector('[data-ck-fullscreen=\"left-sidebar-sticky\"]').appendChild(presenceListElement);\n const presenceListUI = this._editor.plugins.get('PresenceListUI');\n this.moveToFullscreen(presenceListUI.view.element, 'presence-list');\n }\n /**\n\t * Checks if the DocumentOutlineUI plugin is available and moves its elements to fullscreen mode.\n\t */ // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ _generateDocumentOutlineContainer() {\n const t = this._editor.t;\n const documentOutlineHeaderElement = createElement(document, 'div', {\n class: 'ck-fullscreen__left-sidebar-item ck-fullscreen__left-sidebar-item--no-margin'\n });\n documentOutlineHeaderElement.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__left-sidebar-header ck-fullscreen__document-outline-header\"></div>\n\t\t`;\n documentOutlineHeaderElement.firstElementChild.innerText = t('Document outline');\n const documentOutlineBodyWrapper = createElement(document, 'div', {\n class: 'ck ck-fullscreen__left-sidebar-item ck-fullscreen__document-outline-wrapper'\n });\n documentOutlineBodyWrapper.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__document-outline\" data-ck-fullscreen=\"document-outline\"></div>\n\t\t`;\n if (!document.querySelector('[data-ck-fullscreen=\"left-sidebar-sticky\"]')) {\n document.querySelector('[data-ck-fullscreen=\"left-sidebar\"]').appendChild(createElement(document, 'div', {\n class: 'ck ck-fullscreen__left-sidebar-sticky',\n 'data-ck-fullscreen': 'left-sidebar-sticky'\n }));\n }\n document.querySelector('[data-ck-fullscreen=\"left-sidebar\"]').appendChild(documentOutlineBodyWrapper);\n document.querySelector('[data-ck-fullscreen=\"left-sidebar-sticky\"]').appendChild(documentOutlineHeaderElement);\n const documentOutlineUI = this._editor.plugins.get('DocumentOutlineUI');\n documentOutlineUI.view.documentOutlineContainer = document.querySelector('[data-ck-fullscreen=\"left-sidebar\"]');\n this.moveToFullscreen(documentOutlineUI.view.element, 'document-outline');\n }\n /**\n\t * Restores the default value of documentOutlineContainer, which is modified in fullscreen mode.\n\t */ // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ _restoreDocumentOutlineDefaultContainer() {\n const documentOutlineUI = this._editor.plugins.get('DocumentOutlineUI');\n documentOutlineUI.view.documentOutlineContainer = documentOutlineUI.view.element;\n }\n /**\n\t * Stores the current state of the annotations UIs to restore it when leaving fullscreen mode and switches the UI to the wide sidebar.\n\t */ // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ _overrideAnnotationsUIs() {\n const annotationsUIs = this._editor.plugins.get('AnnotationsUIs');\n this._annotationsUIsData = new Map(annotationsUIs.uisData);\n const annotationsFilters = new Map();\n for (const [uiName, data] of [\n ...this._annotationsUIsData\n ]){\n // Default filter is `() => true`. Only store filters that are different.\n if (data.filter !== annotationsUIs.defaultFilter) {\n annotationsFilters.set(uiName, data.filter);\n }\n }\n annotationsUIs.deactivateAll();\n const sidebarPlugin = this._editor.plugins.get('Sidebar');\n // There are two scenarios to consider: if wide sidebar is already used and when it's not.\n // If sidebar container is not set (e.g. in case of inline annotations), we need to:\n // 1. Set the sidebar container in the sidebar plugin.\n // 2. Activate the wide sidebar UI.\n // 3. Move the sidebar element to the fullscreen mode.\n if (!sidebarPlugin.container) {\n sidebarPlugin.setContainer(this.getWrapper().querySelector('[data-ck-fullscreen=\"right-sidebar\"]'));\n switchToWideSidebar();\n this.moveToFullscreen(sidebarPlugin.container.firstElementChild, 'right-sidebar');\n } else {\n switchToWideSidebar();\n this.moveToFullscreen(sidebarPlugin.container.firstElementChild, 'right-sidebar');\n sidebarPlugin.setContainer(this.getWrapper().querySelector('[data-ck-fullscreen=\"right-sidebar\"]'));\n }\n function switchToWideSidebar() {\n // First, check if someone has a filter defined for `wideSidebar`. If so, retrieve and apply it in fullscreen.\n if (annotationsFilters.has('wideSidebar')) {\n annotationsUIs.activate('wideSidebar', annotationsFilters.get('wideSidebar'));\n } else if (annotationsFilters.size) {\n annotationsUIs.activate('wideSidebar', (annotation)=>[\n ...annotationsFilters.values()\n ].some((filter)=>filter(annotation)));\n } else {\n annotationsUIs.switchTo('wideSidebar');\n }\n }\n }\n /**\n\t * Restores the saved state of the annotations UIs.\n\t */ // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ _restoreAnnotationsUIs() {\n const sidebarPlugin = this._editor.plugins.get('Sidebar');\n const sidebarContainer = sidebarPlugin.context.config.get('sidebar.container');\n // If sidebar container was set initially, restore it to the original value from config.\n if (sidebarContainer) {\n sidebarPlugin.setContainer(sidebarContainer);\n }\n const annotationsUIs = this._editor.plugins.get('AnnotationsUIs');\n annotationsUIs.deactivateAll();\n for (const [uiName, data] of [\n ...this._annotationsUIsData\n ]){\n annotationsUIs.activate(uiName, data.filter);\n }\n this._annotationsUIsData = null;\n }\n /**\n\t * Modifies the revision history viewer callbacks to display the viewer in the fullscreen mode.\n\t */ _overrideRevisionHistoryCallbacks() {\n // * Hide editor's editable, toolbar and sidebar;\n // * Disable menu bar;\n // * Show revision viewer editable, toolbar and sidebar.\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ this._editor.config.set('revisionHistory.showRevisionViewerCallback', async ()=>{\n const revisionViewerEditor = await this._showRevisionViewerCallback();\n if (this._editor.plugins.has('DocumentOutlineUI')) {\n this.getWrapper().querySelector('.ck-fullscreen__document-outline-header').style.display = 'none';\n }\n this.restoreMovedElementLocation('editable');\n this.restoreMovedElementLocation('toolbar');\n this.restoreMovedElementLocation('right-sidebar');\n if (this._annotationsUIsData) {\n this._restoreAnnotationsUIs();\n }\n if (this._editor.ui.view.menuBarView) {\n this._editor.ui.view.menuBarView.disable();\n }\n this.moveToFullscreen(revisionViewerEditor.ui.getEditableElement(), 'editable');\n this.moveToFullscreen(revisionViewerEditor.ui.view.toolbar.element, 'toolbar');\n this.moveToFullscreen(this._editor.config.get('revisionHistory.viewerSidebarContainer'), 'right-sidebar');\n return revisionViewerEditor;\n });\n // * Hide revision viewer editable, toolbar and sidebar;\n // * Enable menu bar;\n // * Show editor's editable, toolbar and sidebar.\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ this._editor.config.set('revisionHistory.closeRevisionViewerCallback', async ()=>{\n this.restoreMovedElementLocation('toolbar');\n this.restoreMovedElementLocation('editable');\n this.restoreMovedElementLocation('right-sidebar');\n if (this._editor.plugins.has('DocumentOutlineUI')) {\n this.getWrapper().querySelector('.ck-fullscreen__document-outline-header').style.display = '';\n }\n this.moveToFullscreen(this._editor.ui.getEditableElement(), 'editable');\n this.moveToFullscreen(this._editor.ui.view.toolbar.element, 'toolbar');\n await this._closeRevisionViewerCallback();\n if (this._editor.plugins.has('AnnotationsUIs')) {\n this._overrideAnnotationsUIs();\n }\n if (this._editor.ui.view.menuBarView) {\n this._editor.ui.view.menuBarView.enable();\n }\n });\n }\n /**\n\t * Resets the revision history viewer callbacks to their original values.\n\t */ _restoreRevisionHistoryCallbacks() {\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ this._editor.config.set('revisionHistory.showRevisionViewerCallback', async ()=>{\n return this._showRevisionViewerCallback();\n });\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ this._editor.config.set('revisionHistory.closeRevisionViewerCallback', async ()=>{\n return this._closeRevisionViewerCallback();\n });\n }\n /**\n\t * Adds an event listener when the dialog opens to adjust its position in fullscreen mode,\n\t * utilizing the empty space on the right side of the editable element.\n\t */ _registerFullscreenDialogPositionAdjustments() {\n const dialog = this._editor.plugins.get('Dialog');\n this._setNewDialogPosition();\n dialog.on('change:isOpen', this.updateDialogPositionCallback, {\n priority: 'highest'\n });\n }\n /**\n\t * Removes an event listener that adjusts the dialog's position in fullscreen mode.\n\t */ _unregisterFullscreenDialogPositionAdjustments() {\n const dialog = this._editor.plugins.get('Dialog');\n const dialogView = dialog.view;\n if (dialogView && dialogView.position === null) {\n dialogView.position = DialogViewPosition.EDITOR_TOP_SIDE;\n }\n if (dialogView) {\n dialogView.updatePosition();\n }\n dialog.off('change:isOpen', this.updateDialogPositionCallback);\n }\n /**\n\t * Stores a bound reference to the _updateDialogPosition method, allowing it to be attached and detached from change event.\n\t */ updateDialogPositionCallback = this._updateDialogPosition.bind(this);\n /**\n\t * If dialog is open, adjust its positioning.\n\t */ _updateDialogPosition(_evt, _name, isOpen) {\n if (isOpen) {\n this._setNewDialogPosition();\n }\n }\n /**\n\t * Adjusts the dialog position to utilize the empty space on the right side of the editable.\n\t * The new dialog position should be on the right side of the fullscreen view with a 30px margin.\n\t * Only dialogs with the position set to \"editor-top-side\" should have their position changed.\n\t */ _setNewDialogPosition() {\n const dialog = this._editor.plugins.get('Dialog');\n const dialogView = dialog.view;\n if (!dialogView || dialogView.position !== DialogViewPosition.EDITOR_TOP_SIDE) {\n return;\n }\n const fullscreenViewContainerRect = new Rect(this._wrapper).getVisible();\n const editorContainerRect = new Rect(document.querySelector('.ck-fullscreen__editable')).getVisible();\n const dialogRect = new Rect(dialogView.element.querySelector('.ck-dialog')).getVisible();\n const scrollOffset = new Rect(document.querySelector('.ck-fullscreen__editable-wrapper')).excludeScrollbarsAndBorders().getVisible().width - new Rect(document.querySelector('.ck-fullscreen__editable-wrapper')).getVisible().width;\n if (fullscreenViewContainerRect && editorContainerRect && dialogRect) {\n dialogView.position = null;\n dialogView.moveTo(fullscreenViewContainerRect.left + fullscreenViewContainerRect.width - dialogRect.width - DIALOG_OFFSET + scrollOffset, editorContainerRect.top);\n }\n }\n /**\n\t * Saves the scroll positions of all ancestors of the given element.\n\t */ _saveAncestorsScrollPositions(domElement) {\n let element = domElement.parentElement;\n if (!element) {\n return;\n }\n while(element){\n const overflowY = element.style.overflowY || global.window.getComputedStyle(element).overflowY;\n const overflowX = element.style.overflowX || global.window.getComputedStyle(element).overflowX;\n // Out of 5 possible keyword values: visible, hidden, clip, scroll and auto - only the last two allow for scrolling.\n if (overflowY === 'auto' || overflowY === 'scroll' || overflowX === 'auto' || overflowX === 'scroll') {\n this._savedAncestorsScrollPositions.set(element, {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n });\n } else if (element.tagName === 'HTML') {\n this._savedAncestorsScrollPositions.set(element, {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n });\n }\n element = element.parentElement;\n }\n }\n}\n\n/**\n * The classic editor fullscreen mode handler.\n */ class ClassicEditorHandler extends AbstractEditorHandler {\n /**\n\t * An editor instance.\n\t */ _editor;\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n this._editor = editor;\n }\n /**\n\t * A function that moves the editor UI elements to the fullscreen mode.\n\t */ defaultOnEnter() {\n const editorUI = this._editor.ui;\n const editorUIView = editorUI.view;\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ if (this._editor.plugins.has('Pagination') && this._editor.plugins.get('Pagination').isEnabled) {\n this.moveToFullscreen(editorUI.getEditableElement().parentElement.querySelector('.ck-pagination-view'), 'pagination-view');\n }\n this.moveToFullscreen(editorUI.getEditableElement(), 'editable');\n this.moveToFullscreen(editorUIView.toolbar.element, 'toolbar');\n editorUIView.toolbar.switchBehavior(this._editor.config.get('fullscreen.toolbar.shouldNotGroupWhenFull') === true ? 'static' : 'dynamic');\n // In classic editor, the `dir` attribute is set on the top-level container and it affects the styling\n // in both menu bar and toolbar (adding the side padding to the elements).\n // Since we don't move the whole container but only parts, we need to reapply the attribute value manually.\n // Decupled editor doesn't have this issue because there is no top-level container,\n // so `dir` attribute is set on each component separately.\n this.getWrapper().setAttribute('dir', editorUIView.element.getAttribute('dir'));\n // The `ck-rounded-corners` class is added to the wrapper element to ensure that the corners in menu bar, toolbar etc are rounded\n // when the editor is in fullscreen mode.\n // Decupled editor doesn't have this issue because there is no top-level container,\n // so `ck-rounded-corners` class is set on each component separately.\n this.getWrapper().classList.add('ck-rounded-corners');\n if (this._editor.config.get('fullscreen.menuBar.isVisible')) {\n if (!editorUIView.menuBarView) {\n editorUIView.menuBarView = new MenuBarView(this._editor.locale);\n editorUIView.menuBarView.render();\n editorUI.initMenuBar(editorUIView.menuBarView);\n }\n this.moveToFullscreen(editorUIView.menuBarView.element, 'menu-bar');\n }\n return this.getWrapper();\n }\n}\n\n/**\n * The decoupled editor fullscreen mode handler.\n */ class DecoupledEditorHandler extends AbstractEditorHandler {\n /**\n\t * An editor instance.\n\t */ _editor;\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n this._editor = editor;\n }\n /**\n\t * A function that moves the editor UI elements to the fullscreen mode.\n\t */ defaultOnEnter() {\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ if (this._editor.plugins.has('Pagination') && this._editor.plugins.get('Pagination').isEnabled) {\n this.moveToFullscreen(this._editor.ui.getEditableElement().parentElement.querySelector('.ck-pagination-view'), 'pagination-view');\n }\n this.moveToFullscreen(this._editor.ui.getEditableElement(), 'editable');\n this.moveToFullscreen(this._editor.ui.view.toolbar.element, 'toolbar');\n this._editor.ui.view.toolbar.switchBehavior(this._editor.config.get('fullscreen.toolbar.shouldNotGroupWhenFull') === true ? 'static' : 'dynamic');\n if (this._editor.config.get('fullscreen.menuBar.isVisible')) {\n this.moveToFullscreen(this._editor.ui.view.menuBarView.element, 'menu-bar');\n }\n return this.getWrapper();\n }\n}\n\n/**\n * A command toggling the fullscreen mode.\n */ class FullscreenCommand extends Command {\n /**\n\t * Specialized class handling the fullscreen mode toggling for a specific editor type.\n\t *\n\t * If you want to add support for a new editor type (for now, only Classic and Decoupled editors are handled),\n\t * create a custom handler that extends `AbstractEditorHandler` and replace `fullscreenHandler` with it after editor initialization:\n\t *\n\t * ```ts\n\t * // See the details of how to implement a custom handler in the `AbstractEditorHandler` class API docs.\n\t * class CustomEditorHandler extends AbstractEditorHandler {}\n\t *\n\t * CustomEditorClass.create( document.querySelector( '#editor' ), {} )\n\t * \t.then( ( editor ) => {\n\t * \t\teditor.commands.get( 'toggleFullscreen' ).fullscreenHandler = new CustomEditorHandler( editor );\n\t * \t} );\n\t * ```\n\t */ fullscreenHandler;\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n this.affectsData = false;\n this.isEnabled = true;\n this.value = false;\n // Choose the appropriate handler based on the editor type.\n // Currently only `ClassicEditor` and `DecoupledEditor` are supported. For other editor types, you should create a custom handler\n // that extends `AbstractEditorHandler` and replace `fullscreenHandler` with it.\n if (isClassicEditor(editor)) {\n this.fullscreenHandler = new ClassicEditorHandler(editor);\n } else if (isDecoupledEditor(editor)) {\n this.fullscreenHandler = new DecoupledEditorHandler(editor);\n } else {\n this.fullscreenHandler = new AbstractEditorHandler(editor);\n }\n }\n /**\n\t * Toggles the fullscreen mode.\n\t */ execute() {\n if (this.value) {\n this._disableFullscreenMode();\n } else {\n this._enableFullscreenMode();\n }\n }\n /**\n\t * Enables the fullscreen mode.\n\t */ _enableFullscreenMode() {\n this.fullscreenHandler.enable();\n this.value = true;\n }\n /**\n\t * Disables the fullscreen mode.\n\t */ _disableFullscreenMode() {\n this.fullscreenHandler.disable();\n this.value = false;\n }\n}\n/**\n * Classic editor typeguard.\n */ function isClassicEditor(editor) {\n return editor.constructor.editorName === 'ClassicEditor';\n}\n/**\n * Decoupled editor typeguard.\n */ function isDecoupledEditor(editor) {\n return editor.constructor.editorName === 'DecoupledEditor';\n}\n\n/**\n * A plugin that registers the fullscreen mode command.\n */ class FullscreenEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FullscreenEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n editor.config.define('fullscreen.menuBar.isVisible', true);\n // By default, toolbar should behave the same way in fullscreen mode as in normal mode.\n // This means that the toolbar buttons should be grouped when the toolbar is full.\n editor.config.define('fullscreen.toolbar.shouldNotGroupWhenFull', editor.config.get('toolbar.shouldNotGroupWhenFull') === true);\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n this.editor.commands.add('toggleFullscreen', new FullscreenCommand(this.editor));\n const t = this.editor.locale.t;\n // Set the Ctrl+Shift+F keystroke.\n this.editor.keystrokes.set('Ctrl+Shift+F', (evt, cancel)=>{\n this.editor.execute('toggleFullscreen');\n // On non-Chromium browsers, the editor view and toolbar are not blurred properly after moving the editable,\n // even though the `document.activeElement` is changed. Hence we need to blur them manually.\n // Fixes https://github.com/ckeditor/ckeditor5/issues/18250 and https://github.com/ckeditor/ckeditor5/issues/18247.\n if (!env.isBlink) {\n this.editor.editing.view.document.isFocused = false;\n this.editor.ui.view.toolbar.focusTracker.focusedElement = null;\n }\n // The order of scroll and focus is not important here.\n this.editor.editing.view.scrollToTheSelection();\n this.editor.editing.view.focus();\n cancel();\n });\n // Add the information about the keystroke to the accessibility database.\n this.editor.accessibility.addKeystrokeInfos({\n keystrokes: [\n {\n label: t('Toggle fullscreen mode'),\n keystroke: 'CTRL+SHIFT+F'\n }\n ],\n categoryId: 'navigation'\n });\n }\n}\n\nconst COMMAND_NAME = 'toggleFullscreen';\n/**\n * A plugin registering the fullscreen mode buttons.\n */ class FullscreenUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FullscreenEditing\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FullscreenUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n editor.ui.componentFactory.add('fullscreen', ()=>this._createButton(ButtonView));\n editor.ui.componentFactory.add('menuBar:fullscreen', ()=>this._createButton(MenuBarMenuListItemButtonView));\n }\n /**\n\t * Creates a button that toggles the fullscreen mode.\n\t */ _createButton(ButtonClass) {\n const editor = this.editor;\n const t = editor.t;\n const command = editor.commands.get(COMMAND_NAME);\n const view = new ButtonClass(editor.locale);\n view.set({\n isToggleable: true\n });\n view.bind('isEnabled').to(command, 'isEnabled');\n view.bind('isOn').to(command, 'value');\n if (view instanceof MenuBarMenuListItemButtonView) {\n view.set({\n role: 'menuitemcheckbox',\n label: t('Fullscreen mode')\n });\n } else {\n view.bind('icon').to(command, 'value', (value)=>value ? IconFullscreenLeave : IconFullscreenEnter);\n view.bind('label').to(command, 'value', (value)=>value ? t('Leave fullscreen mode') : t('Enter fullscreen mode'));\n view.set({\n tooltip: true\n });\n }\n this.listenTo(view, 'execute', ()=>{\n editor.execute(COMMAND_NAME);\n // On non-Chromium browsers, toolbar is not blurred properly after moving the editable,\n // even though the `document.activeElement` is changed. Hence we need to blur the view manually.\n // Fixes https://github.com/ckeditor/ckeditor5/issues/18250 and https://github.com/ckeditor/ckeditor5/issues/18247.\n if (!env.isBlink) {\n this.editor.ui.view.toolbar.focusTracker.focusedElement = null;\n }\n // The order of scroll and focus is not important here.\n editor.editing.view.scrollToTheSelection();\n editor.editing.view.focus();\n });\n return view;\n }\n}\n\n/**\n * The fullscreen mode feature.\n */ class Fullscreen extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FullscreenEditing,\n FullscreenUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'Fullscreen';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\nexport { AbstractEditorHandler, Fullscreen, FullscreenEditing, FullscreenUI };\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 fullscreen/handlers/abstracteditorhandler\n */\n\nimport { BodyCollection, DialogViewPosition } from 'ckeditor5/src/ui.js';\nimport { global, createElement, Rect, type EventInfo } from 'ckeditor5/src/utils.js';\nimport type { ElementApi, Editor, EditorConfig } from 'ckeditor5/src/core.js';\n\nconst DIALOG_OFFSET = 28;\n\n/**\n * The abstract editor type handler.\n *\n * This class defines some actions and behaviors that are applied when fullscreen mode is toggled, and which are common\n * regardless of the editor type. Then, specific classes like `ClassicEditorHandler` or `DecoupledEditorHandler`\n * extend this class with actions specific for these editor types.\n *\n * Extend this class to provide fullscreen mode handling for unsupported editor types,\n * or if you wish to heavily customize the default behavior.\n *\n * The only method that is necessary to provide when extending this class is {@link #defaultOnEnter}. However, make sure to\n * familiarize yourself with the below full list of actions taken by `AbstractEditorHandler` to understand what is covered by default,\n * and what should be provided by you.\n *\n * When entering the fullscreen mode, the {@link #enable} method is called. It creates the properly styled container\n * and handles the editor features that need it, in the following order:\n *\n * 1. Saves the scroll positions of all ancestors of the editable element to restore them after leaving the fullscreen mode.\n * 2. Executes the {@link #defaultOnEnter} method to move the proper editor UI elements to the fullscreen mode.\n * **If you extend the abstract handler, you should override this method** to move the elements that are specific to your editor type, like:\n * \teditable, toolbar, menu bar.\n * \tUse {@link #moveToFullscreen} method for this purpose to ensure they are automatically cleaned up after leaving the fullscreen mode.\n * 3. Adds proper classes to the `<body>` and `<html>` elements to block page scrolling, adjust `z-index` etc.\n * 4. Changes the position of some dialogs to utilize the empty space on the right side of the editable element.\n *\n * Steps 5-11 are only executed if the corresponding features are used.\n *\n * 5. If presence list is used, moves it to the fullscreen mode container.\n * 6. If document outline is used, moves it to the fullscreen mode.\n * 7. If pagination is used, adjusts it's configuration for the changed view.\n * 8. If annotations are used, moves them to the fullscreen mode.\n * 9. If revision history is used, overrides the callbacks to show the revision viewer in the fullscreen mode.\n * 10. If source editing and document outline are both used, hides the document outline header.\n * 11. If custom container is used, hides all other elements in it to ensure they don't create an empty unscrollable space.\n *\n * Then finally:\n *\n * 12. Executes the configured {@link module:fullscreen/fullscreenconfig~FullscreenConfig#onEnterCallback\n * \t`config.fullscreen.onEnterCallback`} function.\n * \tBy default, it returns the fullscreen mode container element so it can be further customized.\n *\n * When leaving the fullscreen mode, the {@link #disable} method is called. It does the following:\n *\n * 1. Execute the configured {@link module:fullscreen/fullscreenconfig~FullscreenConfig#onLeaveCallback\n * \t`config.fullscreen.onLeaveCallback`} function.\n * 2. Remove the classes added to the `<body>` and `<html>` elements.\n * 3. If document outline is used, restore its default container.\n * 4. If annotations are used, restore their original state (UI, filters etc).\n * 5. If revision history is used, restore the original callbacks.\n * 6. If source editing and document outline are both used, restore the document outline header.\n * 7. Restore all moved elements to their original place.\n * 8. Destroy the fullscreen mode container.\n * 9. If the editor has a toolbar, switch its behavior to the one configured in the\n * \t{@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} property.\n * 10. Restore the scroll positions of all ancestors of the editable element.\n * 11. If pagination is used, restore its default configuration.\n * 12. Restore default dialogs positions.\n *\n * This class is exported to allow for custom extensions.\n */\nexport default class AbstractEditorHandler {\n\t/**\n\t * Maps placeholder names to placeholder elements and moved elements.\n\t */\n\tprivate _placeholderMap: Map<string, { placeholderElement: HTMLElement; movedElement: HTMLElement }>;\n\n\t/**\n\t * The wrapper element that holds the fullscreen mode layout.\n\t */\n\tprivate _wrapper: HTMLElement | null = null;\n\n\t/**\n\t * The document object in which the editor is located.\n\t */\n\tprivate _document: Document;\n\n\t/**\n\t * Data of the annotations UIs that were active before entering the fullscreen mode.\n\t */\n\tprivate _annotationsUIsData: Map<string, Record<string, any>> | null = null;\n\n\t/**\n\t * The pagination body collection that is used in the fullscreen mode.\n\t * If we don't move pagination lines to the fullscreen container, they won't be visible.\n\t */\n\tprivate _paginationBodyCollection: BodyCollection | null = null;\n\n\t/**\n\t * A callback that hides the document outline header when the source editing mode is enabled.\n\t * Document outline element itself is hidden by source editing plugin.\n\t */\n\t/* istanbul ignore next -- @preserve */\n\tprivate _sourceEditingCallback = ( _evt: EventInfo, _name: string, value: boolean ) => {\n\t\t( this.getWrapper().querySelector( '.ck-fullscreen__document-outline-header' ) as HTMLElement ).style.display =\n\t\t\tvalue ? 'none' : '';\n\t};\n\n\t/**\n\t * A map of elements that were hidden when entering the fullscreen mode.\n\t * It is used to restore their previous visibility when leaving the fullscreen mode and avoid showing elements\n\t * that were hidden before entering the fullscreen mode.\n\t */\n\tprivate _hiddenElements: Map<HTMLElement, string> = new Map();\n\n\t/**\n\t * A map matching the ancestors of the editable element with their scroll positions before entering fullscreen mode.\n\t */\n\tprivate _savedAncestorsScrollPositions: Map<HTMLElement, { scrollLeft: number; scrollTop: number }> = new Map();\n\n\t/**\n\t * A callback that shows the revision viewer, stored to restore the original one after exiting the fullscreen mode.\n\t */\n\tprotected _showRevisionViewerCallback: ( ( config?: EditorConfig ) => Promise<any> ) | null = null;\n\n\t/**\n\t * A callback that closes the revision viewer, stored to restore the original one after exiting the fullscreen mode.\n\t */\n\tprotected _closeRevisionViewerCallback: ( ( viewerEditor?: any ) => Promise<unknown> ) | null = null;\n\n\t/**\n\t * An editor instance. It should be set by the particular editor type handler.\n\t */\n\tdeclare protected _editor: Editor & Partial<ElementApi>;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tthis._placeholderMap = new Map();\n\n\t\tif ( editor.plugins.has( 'RevisionHistory' ) ) {\n\t\t\tthis._showRevisionViewerCallback = ( editor.config.get( 'revisionHistory' ) as any ).showRevisionViewerCallback;\n\t\t\tthis._closeRevisionViewerCallback = ( editor.config.get( 'revisionHistory' ) as any ).closeRevisionViewerCallback;\n\t\t}\n\n\t\tthis._editor = editor;\n\t\tthis._document = this._editor.sourceElement ? this._editor.sourceElement.ownerDocument : global.document;\n\t\tthis._editor.config.define( 'fullscreen.container', this._document.body );\n\n\t\teditor.on( 'destroy', () => {\n\t\t\tif ( this._wrapper ) {\n\t\t\t\tthis.destroy();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Moves the given element to the fullscreen mode container, leaving a placeholder in its place.\n\t */\n\tpublic moveToFullscreen( elementToMove: HTMLElement, placeholderName: string ): void {\n\t\tconst placeholderElement = createElement( this._document, 'div' );\n\n\t\tplaceholderElement.setAttribute( 'data-ck-fullscreen-placeholder', placeholderName );\n\t\telementToMove.replaceWith( placeholderElement );\n\n\t\tthis.getWrapper().querySelector( `[data-ck-fullscreen=\"${ placeholderName }\"]` )!.append( elementToMove );\n\n\t\tthis._placeholderMap.set( placeholderName, { placeholderElement, movedElement: elementToMove } );\n\t}\n\n\t/**\n\t * Returns a single moved element to its original place.\n\t */\n\tpublic restoreMovedElementLocation( placeholderName: string ): void {\n\t\tif ( !this._placeholderMap.has( placeholderName ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { placeholderElement, movedElement } = this._placeholderMap.get( placeholderName )!;\n\n\t\tplaceholderElement.replaceWith( movedElement );\n\t\tplaceholderElement.remove();\n\n\t\tthis._placeholderMap.delete( placeholderName );\n\n\t\tif ( this._placeholderMap.size === 0 ) {\n\t\t\tthis._destroyContainer();\n\t\t}\n\t}\n\n\t/**\n\t * Returns the fullscreen mode container element.\n\t */\n\tpublic getWrapper(): HTMLElement {\n\t\tif ( !this._wrapper ) {\n\t\t\tthis._wrapper = createElement( this._document, 'div', {\n\t\t\t\tclass: 'ck ck-fullscreen__main-wrapper'\n\t\t\t} );\n\n\t\t\t// For now, the container is generated in a very straightforward way. If necessary, it may be rewritten using editor's UI lib.\n\t\t\tthis._wrapper.innerHTML = `\n\t\t\t\t<div class=\"ck ck-fullscreen__top-wrapper ck-reset_all\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__menu-bar\" data-ck-fullscreen=\"menu-bar\"></div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__toolbar\" data-ck-fullscreen=\"toolbar\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ck ck-fullscreen__editable-wrapper\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__sidebar ck-fullscreen__left-sidebar\" data-ck-fullscreen=\"left-sidebar\"></div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__editable\" data-ck-fullscreen=\"editable\">\n\t\t\t\t\t\t<div class=\"ck ck-fullscreen__pagination-view\" data-ck-fullscreen=\"pagination-view\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__sidebar ck-fullscreen__right-sidebar\" data-ck-fullscreen=\"right-sidebar\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ck ck-fullscreen__bottom-wrapper\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__body-wrapper\" data-ck-fullscreen=\"body-wrapper\"></div>\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tthis._editor.config.get( 'fullscreen.container' )!.appendChild( this._wrapper );\n\t\t}\n\n\t\treturn this._wrapper;\n\t}\n\n\t/**\n\t * Enables the fullscreen mode. It executes the editor-specific enable handler and then the configured callback.\n\t */\n\tpublic enable(): void {\n\t\tthis._saveAncestorsScrollPositions( this._editor.ui.getEditableElement()! )!;\n\t\tthis.defaultOnEnter();\n\n\t\t// Block scroll if the fullscreen container is the body element. Otherwise the document has to stay scrollable.\n\t\tif ( this._editor.config.get( 'fullscreen.container' ) === this._document.body ) {\n\t\t\tthis._document.body.classList.add( 'ck-fullscreen' );\n\t\t\tthis._document.body.parentElement!.classList.add( 'ck-fullscreen' );\n\t\t}\n\n\t\tif ( this._editor.plugins.has( 'Dialog' ) ) {\n\t\t\tthis._registerFullscreenDialogPositionAdjustments();\n\t\t}\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif ( this._editor.plugins.has( 'PresenceListUI' ) ) {\n\t\t\tthis._generatePresenceListContainer();\n\t\t}\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif ( this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\tthis._generateDocumentOutlineContainer();\n\t\t}\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tif ( this._editor.plugins.has( 'Pagination' ) && ( this._editor.plugins.get( 'Pagination' ) as any ).isEnabled ) {\n\t\t\tconst paginationRenderer = this._editor.plugins.get( 'PaginationRenderer' ) as any;\n\n\t\t\tpaginationRenderer.setupScrollableAncestor();\n\n\t\t\tthis._paginationBodyCollection = new BodyCollection( this._editor.locale );\n\n\t\t\tthis._paginationBodyCollection.attachToDom();\n\t\t\tpaginationRenderer.linesRepository.setViewCollection( this._paginationBodyCollection );\n\n\t\t\tthis._editor.once( 'destroy', () => {\n\t\t\t\tthis._paginationBodyCollection!.detachFromDom();\n\t\t\t} );\n\n\t\t\tthis.moveToFullscreen( this._paginationBodyCollection.bodyCollectionContainer!, 'body-wrapper' );\n\t\t}\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif ( this._editor.plugins.has( 'AnnotationsUIs' ) ) {\n\t\t\tthis._overrideAnnotationsUIs();\n\t\t}\n\n\t\tif ( this._editor.plugins.has( 'RevisionHistory' ) ) {\n\t\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\tif ( ( this._editor.plugins.get( 'RevisionHistory' ) as any ).isRevisionViewerOpen ) {\n\t\t\t\t// Keep in mind that closing the revision history viewer is an asynchronous operation.\n\t\t\t\t( this._editor.config.get( 'revisionHistory.closeRevisionViewerCallback' ) as any )();\n\t\t\t}\n\n\t\t\tthis._overrideRevisionHistoryCallbacks();\n\t\t}\n\n\t\tif ( this._editor.plugins.has( 'SourceEditing' ) && this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\t( this._editor.plugins.get( 'SourceEditing' ) as any ).on( 'change:isSourceEditingMode', this._sourceEditingCallback );\n\t\t}\n\n\t\t// Hide all other elements in the container to ensure they don't create an empty unscrollable space.\n\t\tfor ( const element of this._editor.config.get( 'fullscreen.container' )!.children ) {\n\t\t\t// Do not hide body wrapper and ckbox wrapper to keep dialogs, balloons etc visible.\n\t\t\tif (\n\t\t\t\telement !== this._wrapper &&\n\t\t\t\t!element.classList.contains( 'ck-body-wrapper' ) &&\n\t\t\t\t!element.classList.contains( 'ckbox-wrapper' ) &&\n\t\t\t\t// Already hidden elements are not hidden again to avoid accidentally showing them after leaving fullscreen.\n\t\t\t\t( element as HTMLElement ).style.display !== 'none'\n\t\t\t) {\n\t\t\t\tthis._hiddenElements.set( element as HTMLElement, ( element as HTMLElement ).style.display );\n\t\t\t\t( element as HTMLElement ).style.display = 'none';\n\t\t\t}\n\t\t}\n\n\t\tif ( this._editor.config.get( 'fullscreen.onEnterCallback' ) ) {\n\t\t\tthis._editor.config.get( 'fullscreen.onEnterCallback' )!( this.getWrapper() );\n\t\t}\n\t}\n\n\t/**\n\t * Disables the fullscreen mode by restoring all moved elements and destroying the fullscreen container.\n\t */\n\tpublic disable(): void {\n\t\tif ( this._editor.config.get( 'fullscreen.onLeaveCallback' ) ) {\n\t\t\tthis._editor.config.get( 'fullscreen.onLeaveCallback' )!( this.getWrapper() );\n\t\t}\n\n\t\tthis._document.body.classList.remove( 'ck-fullscreen' );\n\t\tthis._document.body.parentElement!.classList.remove( 'ck-fullscreen' );\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif ( this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\tthis._restoreDocumentOutlineDefaultContainer();\n\t\t}\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif ( this._annotationsUIsData ) {\n\t\t\tthis._restoreAnnotationsUIs();\n\t\t}\n\n\t\tif ( this._editor.plugins.has( 'RevisionHistory' ) ) {\n\t\t\tthis._restoreRevisionHistoryCallbacks();\n\t\t}\n\n\t\tif ( this._editor.plugins.has( 'SourceEditing' ) && this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\t( this._editor.plugins.get( 'SourceEditing' ) as any ).off( 'change:isSourceEditingMode', this._sourceEditingCallback );\n\t\t}\n\n\t\tfor ( const placeholderName of this._placeholderMap.keys() ) {\n\t\t\tthis.restoreMovedElementLocation( placeholderName );\n\t\t}\n\n\t\t// Container is also destroyed in the `restoreMovedElementLocation()` method, but we need to do it here\n\t\t// to ensure that the container is destroyed even if no elements were moved.\n\t\tthis._destroyContainer();\n\n\t\tif ( this._editor.ui.view.toolbar ) {\n\t\t\tthis._editor.ui.view.toolbar.switchBehavior(\n\t\t\t\tthis._editor.config.get( 'toolbar.shouldNotGroupWhenFull' ) === true ? 'static' : 'dynamic'\n\t\t\t);\n\t\t}\n\n\t\t// Restore scroll positions of all ancestors. It may include the closest editable wrapper causing the editor to change\n\t\t// the visible content, which is not what we want. Thus, after executing the command, we use\n\t\t// `editor.editing.view.scrollToTheSelection()` to scroll the editor viewport to the current selection.\n\t\t// Using `behavior: 'instant'` is necessary to force scroll if some of the containers has `scroll-behavior: smooth` set (otherwise\n\t\t// the scroll won't happen).\n\t\tfor ( const [ ancestor, value ] of this._savedAncestorsScrollPositions ) {\n\t\t\t// `ScrollBehavior` has incorrect type definition in currently used TS version (5.0.4). Fix should be present since 5.1.0:\n\t\t\t// https://github.com/Microsoft/TypeScript/issues/28755. Hence we need a type assertion here.\n\t\t\tancestor.scrollTo( { left: value.scrollLeft, top: value.scrollTop, behavior: 'instant' as ScrollBehavior } );\n\t\t}\n\n\t\tthis._savedAncestorsScrollPositions.clear();\n\n\t\t// Pagination has to be restored after leaving fullscreen mode to ensure proper rendering.\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tif ( this._editor.plugins.has( 'Pagination' ) && ( this._editor.plugins.get( 'Pagination' ) as any ).isEnabled ) {\n\t\t\tconst paginationRenderer = this._editor.plugins.get( 'PaginationRenderer' ) as any;\n\n\t\t\tpaginationRenderer.setupScrollableAncestor();\n\t\t\tpaginationRenderer.linesRepository.setViewCollection( this._editor.ui.view.body );\n\n\t\t\tthis._paginationBodyCollection!.detachFromDom();\n\t\t\tthis._paginationBodyCollection?.destroy();\n\t\t}\n\n\t\t// Also dialog position needs to be recalculated after leaving fullscreen mode.\n\t\tif ( this._editor.plugins.has( 'Dialog' ) ) {\n\t\t\tthis._unregisterFullscreenDialogPositionAdjustments();\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic destroy(): void {\n\t\tfor ( const { placeholderElement, movedElement } of this._placeholderMap.values() ) {\n\t\t\tplaceholderElement.remove();\n\t\t\tmovedElement.remove();\n\t\t}\n\n\t\tthis._destroyContainer();\n\n\t\tthis._document.body.classList.remove( 'ck-fullscreen' );\n\t\tthis._document.body.parentElement!.classList.remove( 'ck-fullscreen' );\n\t}\n\n\t/**\n\t * A function that moves the editor UI elements to the fullscreen mode. It should be set by the particular editor type handler.\n\t *\n\t * Returns the fullscreen mode container element so it can be further customized via\n\t * `fullscreen.onEnterCallback` configuration property.\n\t */\n\tpublic defaultOnEnter(): HTMLElement {\n\t\treturn this.getWrapper();\n\t}\n\n\t/**\n\t * Destroys the fullscreen mode container.\n\t */\n\tprivate _destroyContainer(): void {\n\t\tif ( !this._wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._wrapper.remove();\n\t\tthis._wrapper = null;\n\n\t\t// Restore visibility of all other elements in the container.\n\t\tfor ( const [ element, displayValue ] of this._hiddenElements ) {\n\t\t\telement.style.display = displayValue;\n\t\t}\n\n\t\tthis._hiddenElements.clear();\n\t}\n\n\t/**\n\t * Checks if the PresenceListUI plugin is available and moves its elements to fullscreen mode.\n\t */\n\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t/* istanbul ignore next -- @preserve */\n\tprivate _generatePresenceListContainer(): void {\n\t\tconst t = this._editor.t;\n\t\tconst presenceListElement = createElement( document, 'div', {\n\t\t\tclass: 'ck ck-fullscreen__left-sidebar-item'\n\t\t} );\n\n\t\tpresenceListElement.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__left-sidebar-header\"></div>\n\t\t\t<div class=\"ck ck-fullscreen__presence-list\" data-ck-fullscreen=\"presence-list\"></div>\n\t\t`;\n\t\t( presenceListElement.firstElementChild as HTMLElement ).innerText = t( 'Connected users' );\n\n\t\tif ( !document.querySelector( '[data-ck-fullscreen=\"left-sidebar-sticky\"]' ) ) {\n\t\t\tdocument.querySelector( '[data-ck-fullscreen=\"left-sidebar\"]' )!.appendChild(\n\t\t\t\tcreateElement( document, 'div', {\n\t\t\t\t\tclass: 'ck ck-fullscreen__left-sidebar-sticky',\n\t\t\t\t\t'data-ck-fullscreen': 'left-sidebar-sticky'\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tdocument.querySelector( '[data-ck-fullscreen=\"left-sidebar-sticky\"]' )!.appendChild( presenceListElement );\n\n\t\tconst presenceListUI = this._editor.plugins.get( 'PresenceListUI' ) as any;\n\n\t\tthis.moveToFullscreen( presenceListUI.view.element!, 'presence-list' );\n\t}\n\n\t/**\n\t * Checks if the DocumentOutlineUI plugin is available and moves its elements to fullscreen mode.\n\t */\n\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t/* istanbul ignore next -- @preserve */\n\tprivate _generateDocumentOutlineContainer(): void {\n\t\tconst t = this._editor.t;\n\t\tconst documentOutlineHeaderElement = createElement( document, 'div', {\n\t\t\tclass: 'ck-fullscreen__left-sidebar-item ck-fullscreen__left-sidebar-item--no-margin'\n\t\t} );\n\n\t\tdocumentOutlineHeaderElement.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__left-sidebar-header ck-fullscreen__document-outline-header\"></div>\n\t\t`;\n\t\t( documentOutlineHeaderElement.firstElementChild as HTMLElement ).innerText = t( 'Document outline' );\n\n\t\tconst documentOutlineBodyWrapper = createElement( document, 'div', {\n\t\t\tclass: 'ck ck-fullscreen__left-sidebar-item ck-fullscreen__document-outline-wrapper'\n\t\t} );\n\n\t\tdocumentOutlineBodyWrapper.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__document-outline\" data-ck-fullscreen=\"document-outline\"></div>\n\t\t`;\n\n\t\tif ( !document.querySelector( '[data-ck-fullscreen=\"left-sidebar-sticky\"]' ) ) {\n\t\t\tdocument.querySelector( '[data-ck-fullscreen=\"left-sidebar\"]' )!.appendChild(\n\t\t\t\tcreateElement( document, 'div', {\n\t\t\t\t\tclass: 'ck ck-fullscreen__left-sidebar-sticky',\n\t\t\t\t\t'data-ck-fullscreen': 'left-sidebar-sticky'\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tdocument.querySelector( '[data-ck-fullscreen=\"left-sidebar\"]' )!.appendChild( documentOutlineBodyWrapper );\n\t\tdocument.querySelector( '[data-ck-fullscreen=\"left-sidebar-sticky\"]' )!.appendChild( documentOutlineHeaderElement );\n\n\t\tconst documentOutlineUI = this._editor.plugins.get( 'DocumentOutlineUI' ) as any;\n\t\tdocumentOutlineUI.view.documentOutlineContainer = document.querySelector( '[data-ck-fullscreen=\"left-sidebar\"]' ) as HTMLElement;\n\n\t\tthis.moveToFullscreen( documentOutlineUI.view.element!, 'document-outline' );\n\t}\n\n\t/**\n\t * Restores the default value of documentOutlineContainer, which is modified in fullscreen mode.\n\t */\n\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t/* istanbul ignore next -- @preserve */\n\tprivate _restoreDocumentOutlineDefaultContainer(): void {\n\t\tconst documentOutlineUI = this._editor.plugins.get( 'DocumentOutlineUI' ) as any;\n\t\tdocumentOutlineUI.view.documentOutlineContainer = documentOutlineUI.view.element as HTMLElement;\n\t}\n\n\t/**\n\t * Stores the current state of the annotations UIs to restore it when leaving fullscreen mode and switches the UI to the wide sidebar.\n\t */\n\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t/* istanbul ignore next -- @preserve */\n\tprivate _overrideAnnotationsUIs() {\n\t\tconst annotationsUIs = this._editor.plugins.get( 'AnnotationsUIs' ) as any;\n\n\t\tthis._annotationsUIsData = new Map( annotationsUIs.uisData );\n\n\t\tconst annotationsFilters = new Map<string, ( annotation: any ) => boolean>();\n\n\t\tfor ( const [ uiName, data ] of [ ...this._annotationsUIsData! ] ) {\n\t\t\t// Default filter is `() => true`. Only store filters that are different.\n\t\t\tif ( data.filter !== annotationsUIs.defaultFilter ) {\n\t\t\t\tannotationsFilters.set( uiName, data.filter );\n\t\t\t}\n\t\t}\n\n\t\tannotationsUIs.deactivateAll();\n\n\t\tconst sidebarPlugin = this._editor.plugins.get( 'Sidebar' ) as any;\n\n\t\t// There are two scenarios to consider: if wide sidebar is already used and when it's not.\n\t\t// If sidebar container is not set (e.g. in case of inline annotations), we need to:\n\t\t// 1. Set the sidebar container in the sidebar plugin.\n\t\t// 2. Activate the wide sidebar UI.\n\t\t// 3. Move the sidebar element to the fullscreen mode.\n\t\tif ( !sidebarPlugin.container ) {\n\t\t\tsidebarPlugin.setContainer( this.getWrapper().querySelector( '[data-ck-fullscreen=\"right-sidebar\"]' ) as HTMLElement );\n\n\t\t\tswitchToWideSidebar();\n\n\t\t\tthis.moveToFullscreen( ( sidebarPlugin.container!.firstElementChild as HTMLElement ), 'right-sidebar' );\n\t\t}\n\t\t// If sidebar was already used:\n\t\t// 1. Switch to the wide sidebar UI (it's possibly switch back but we deactivated all UIs before).\n\t\t// 2. Move the sidebar element to the fullscreen mode.\n\t\t// 3. Set the sidebar container in the sidebar plugin.\n\t\t// If we set the container before moving the sidebar, we lose the reference to the original sidebar container and it won't be\n\t\t// moved back to the correct position after leaving fullscreen.\n\t\telse {\n\t\t\tswitchToWideSidebar();\n\n\t\t\tthis.moveToFullscreen( ( sidebarPlugin.container!.firstElementChild as HTMLElement ), 'right-sidebar' );\n\n\t\t\tsidebarPlugin.setContainer(\n\t\t\t\tthis.getWrapper().querySelector( '[data-ck-fullscreen=\"right-sidebar\"]' ) as HTMLElement\n\t\t\t);\n\t\t}\n\n\t\tfunction switchToWideSidebar() {\n\t\t\t// First, check if someone has a filter defined for `wideSidebar`. If so, retrieve and apply it in fullscreen.\n\t\t\tif ( annotationsFilters.has( 'wideSidebar' ) ) {\n\t\t\t\tannotationsUIs.activate( 'wideSidebar', annotationsFilters.get( 'wideSidebar' ) );\n\t\t\t}\n\t\t\t// If no filter is defined for `wideSidebar`, read the filters for the active display(s) mode and apply them on wide sidebar.\n\t\t\t// It's possible there are filters for both `narrowSidebar` and `inline` modes, so display annotations that match any of them.\n\t\t\telse if ( annotationsFilters.size ) {\n\t\t\t\tannotationsUIs.activate( 'wideSidebar',\n\t\t\t\t\t( annotation: any ) => [ ...annotationsFilters.values() ].some( filter => filter( annotation ) )\n\t\t\t\t);\n\t\t\t}\n\t\t\t// If no filters are defined for the active display mode(s), simply display all annotations in the wide sidebar.\n\t\t\telse {\n\t\t\t\tannotationsUIs.switchTo( 'wideSidebar' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Restores the saved state of the annotations UIs.\n\t */\n\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t/* istanbul ignore next -- @preserve */\n\tprivate _restoreAnnotationsUIs() {\n\t\tconst sidebarPlugin = this._editor.plugins.get( 'Sidebar' ) as any;\n\t\tconst sidebarContainer = sidebarPlugin.context.config.get( 'sidebar.container' );\n\n\t\t// If sidebar container was set initially, restore it to the original value from config.\n\t\tif ( sidebarContainer ) {\n\t\t\tsidebarPlugin.setContainer( sidebarContainer as HTMLElement );\n\t\t}\n\n\t\tconst annotationsUIs = this._editor.plugins.get( 'AnnotationsUIs' ) as any;\n\n\t\tannotationsUIs.deactivateAll();\n\n\t\tfor ( const [ uiName, data ] of [ ...this._annotationsUIsData! ] ) {\n\t\t\tannotationsUIs.activate( uiName, data.filter );\n\t\t}\n\n\t\tthis._annotationsUIsData = null;\n\t}\n\n\t/**\n\t * Modifies the revision history viewer callbacks to display the viewer in the fullscreen mode.\n\t */\n\tprivate _overrideRevisionHistoryCallbacks(): void {\n\t\t// * Hide editor's editable, toolbar and sidebar;\n\t\t// * Disable menu bar;\n\t\t// * Show revision viewer editable, toolbar and sidebar.\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tthis._editor.config.set( 'revisionHistory.showRevisionViewerCallback', async () => {\n\t\t\tconst revisionViewerEditor = await this._showRevisionViewerCallback!();\n\n\t\t\tif ( this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\t\t( this.getWrapper().querySelector( '.ck-fullscreen__document-outline-header' ) as HTMLElement ).style.display = 'none';\n\t\t\t}\n\n\t\t\tthis.restoreMovedElementLocation( 'editable' );\n\t\t\tthis.restoreMovedElementLocation( 'toolbar' );\n\t\t\tthis.restoreMovedElementLocation( 'right-sidebar' );\n\n\t\t\tif ( this._annotationsUIsData ) {\n\t\t\t\tthis._restoreAnnotationsUIs();\n\t\t\t}\n\n\t\t\tif ( this._editor.ui.view.menuBarView ) {\n\t\t\t\tthis._editor.ui.view.menuBarView.disable();\n\t\t\t}\n\n\t\t\tthis.moveToFullscreen( revisionViewerEditor.ui.getEditableElement(), 'editable' );\n\t\t\tthis.moveToFullscreen( revisionViewerEditor.ui.view.toolbar.element, 'toolbar' );\n\t\t\tthis.moveToFullscreen( this._editor.config.get( 'revisionHistory.viewerSidebarContainer' ) as any, 'right-sidebar' );\n\n\t\t\treturn revisionViewerEditor;\n\t\t} );\n\n\t\t// * Hide revision viewer editable, toolbar and sidebar;\n\t\t// * Enable menu bar;\n\t\t// * Show editor's editable, toolbar and sidebar.\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tthis._editor.config.set( 'revisionHistory.closeRevisionViewerCallback', async () => {\n\t\t\tthis.restoreMovedElementLocation( 'toolbar' );\n\t\t\tthis.restoreMovedElementLocation( 'editable' );\n\t\t\tthis.restoreMovedElementLocation( 'right-sidebar' );\n\n\t\t\tif ( this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\t\t( this.getWrapper().querySelector( '.ck-fullscreen__document-outline-header' ) as HTMLElement ).style.display = '';\n\t\t\t}\n\n\t\t\tthis.moveToFullscreen( this._editor.ui.getEditableElement()!, 'editable' );\n\t\t\tthis.moveToFullscreen( this._editor.ui.view.toolbar!.element!, 'toolbar' );\n\n\t\t\tawait this._closeRevisionViewerCallback!();\n\n\t\t\tif ( this._editor.plugins.has( 'AnnotationsUIs' ) ) {\n\t\t\t\tthis._overrideAnnotationsUIs();\n\t\t\t}\n\n\t\t\tif ( this._editor.ui.view.menuBarView ) {\n\t\t\t\tthis._editor.ui.view.menuBarView.enable();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Resets the revision history viewer callbacks to their original values.\n\t */\n\tprivate _restoreRevisionHistoryCallbacks(): void {\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tthis._editor.config.set( 'revisionHistory.showRevisionViewerCallback', async () => {\n\t\t\treturn this._showRevisionViewerCallback!();\n\t\t} );\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tthis._editor.config.set( 'revisionHistory.closeRevisionViewerCallback', async () => {\n\t\t\treturn this._closeRevisionViewerCallback!();\n\t\t} );\n\t}\n\n\t/**\n\t * Adds an event listener when the dialog opens to adjust its position in fullscreen mode,\n\t * utilizing the empty space on the right side of the editable element.\n\t */\n\tprivate _registerFullscreenDialogPositionAdjustments(): void {\n\t\tconst dialog = this._editor.plugins.get( 'Dialog' );\n\n\t\tthis._setNewDialogPosition();\n\n\t\tdialog.on( 'change:isOpen', this.updateDialogPositionCallback, { priority: 'highest' } );\n\t}\n\n\t/**\n\t * Removes an event listener that adjusts the dialog's position in fullscreen mode.\n\t */\n\tprivate _unregisterFullscreenDialogPositionAdjustments(): void {\n\t\tconst dialog = this._editor.plugins.get( 'Dialog' );\n\t\tconst dialogView = dialog.view;\n\n\t\tif ( dialogView && dialogView.position === null ) {\n\t\t\tdialogView.position = DialogViewPosition.EDITOR_TOP_SIDE;\n\t\t}\n\n\t\tif ( dialogView ) {\n\t\t\tdialogView.updatePosition();\n\t\t}\n\n\t\tdialog.off( 'change:isOpen', this.updateDialogPositionCallback );\n\t}\n\n\t/**\n\t * Stores a bound reference to the _updateDialogPosition method, allowing it to be attached and detached from change event.\n\t */\n\tpublic updateDialogPositionCallback = this._updateDialogPosition.bind( this );\n\n\t/**\n\t * If dialog is open, adjust its positioning.\n\t */\n\tprivate _updateDialogPosition( _evt: EventInfo, _name: string, isOpen: boolean ): void {\n\t\tif ( isOpen ) {\n\t\t\tthis._setNewDialogPosition();\n\t\t}\n\t}\n\n\t/**\n\t * Adjusts the dialog position to utilize the empty space on the right side of the editable.\n\t * The new dialog position should be on the right side of the fullscreen view with a 30px margin.\n\t * Only dialogs with the position set to \"editor-top-side\" should have their position changed.\n\t */\n\tprivate _setNewDialogPosition(): void {\n\t\tconst dialog = this._editor.plugins.get( 'Dialog' );\n\t\tconst dialogView = dialog.view!;\n\n\t\tif ( !dialogView || dialogView.position !== DialogViewPosition.EDITOR_TOP_SIDE ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fullscreenViewContainerRect = new Rect( this._wrapper! ).getVisible();\n\t\tconst editorContainerRect = new Rect( document.querySelector( '.ck-fullscreen__editable' ) as HTMLElement ).getVisible();\n\t\tconst dialogRect = new Rect( dialogView.element!.querySelector( '.ck-dialog' ) as HTMLElement ).getVisible();\n\t\tconst scrollOffset = new Rect( document.querySelector( '.ck-fullscreen__editable-wrapper' ) as HTMLElement )\n\t\t\t.excludeScrollbarsAndBorders().getVisible()!.width -\n\t\t\tnew Rect( document.querySelector( '.ck-fullscreen__editable-wrapper' ) as HTMLElement ).getVisible()!.width;\n\n\t\tif ( fullscreenViewContainerRect && editorContainerRect && dialogRect ) {\n\t\t\tdialogView.position = null;\n\n\t\t\tdialogView.moveTo(\n\t\t\t\tfullscreenViewContainerRect.left + fullscreenViewContainerRect.width - dialogRect.width - DIALOG_OFFSET + scrollOffset,\n\t\t\t\teditorContainerRect.top\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Saves the scroll positions of all ancestors of the given element.\n\t */\n\tprivate _saveAncestorsScrollPositions( domElement: HTMLElement ): void {\n\t\tlet element = domElement.parentElement;\n\n\t\tif ( !element ) {\n\t\t\treturn;\n\t\t}\n\n\t\twhile ( element ) {\n\t\t\tconst overflowY = element.style.overflowY || global.window.getComputedStyle( element ).overflowY;\n\t\t\tconst overflowX = element.style.overflowX || global.window.getComputedStyle( element ).overflowX;\n\n\t\t\t// Out of 5 possible keyword values: visible, hidden, clip, scroll and auto - only the last two allow for scrolling.\n\t\t\tif (\n\t\t\t\toverflowY === 'auto' ||\n\t\t\t\toverflowY === 'scroll' ||\n\t\t\t\toverflowX === 'auto' ||\n\t\t\t\toverflowX === 'scroll'\n\t\t\t) {\n\t\t\t\tthis._savedAncestorsScrollPositions.set( element, {\n\t\t\t\t\tscrollLeft: element.scrollLeft,\n\t\t\t\t\tscrollTop: element.scrollTop\n\t\t\t\t} );\n\t\t\t} else if ( element.tagName === 'HTML' ) {\n\t\t\t\tthis._savedAncestorsScrollPositions.set( element, {\n\t\t\t\t\tscrollLeft: element.scrollLeft,\n\t\t\t\t\tscrollTop: element.scrollTop\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\telement = element.parentElement;\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 fullscreen/handlers/classiceditorhandler\n */\n\nimport { MenuBarView } from 'ckeditor5/src/ui.js';\nimport type { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';\n\nimport AbstractEditorHandler from './abstracteditorhandler.js';\n\n/**\n * The classic editor fullscreen mode handler.\n */\nexport default class ClassicEditorHandler extends AbstractEditorHandler {\n\t/**\n\t * An editor instance.\n\t */\n\tprotected override readonly _editor: ClassicEditor;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: ClassicEditor ) {\n\t\tsuper( editor );\n\n\t\tthis._editor = editor;\n\t}\n\n\t/**\n\t * A function that moves the editor UI elements to the fullscreen mode.\n\t */\n\tpublic override defaultOnEnter(): HTMLElement {\n\t\tconst editorUI = this._editor.ui;\n\t\tconst editorUIView = editorUI.view;\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tif ( this._editor.plugins.has( 'Pagination' ) && ( this._editor.plugins.get( 'Pagination' ) as any ).isEnabled ) {\n\t\t\tthis.moveToFullscreen(\n\t\t\t\teditorUI.getEditableElement()!.parentElement!.querySelector( '.ck-pagination-view' )!, 'pagination-view'\n\t\t\t);\n\t\t}\n\n\t\tthis.moveToFullscreen( editorUI.getEditableElement()!, 'editable' );\n\t\tthis.moveToFullscreen( editorUIView.toolbar.element!, 'toolbar' );\n\n\t\teditorUIView.toolbar.switchBehavior(\n\t\t\tthis._editor.config.get( 'fullscreen.toolbar.shouldNotGroupWhenFull' ) === true ? 'static' : 'dynamic'\n\t\t);\n\n\t\t// In classic editor, the `dir` attribute is set on the top-level container and it affects the styling\n\t\t// in both menu bar and toolbar (adding the side padding to the elements).\n\t\t// Since we don't move the whole container but only parts, we need to reapply the attribute value manually.\n\t\t// Decupled editor doesn't have this issue because there is no top-level container,\n\t\t// so `dir` attribute is set on each component separately.\n\t\tthis.getWrapper().setAttribute( 'dir', editorUIView.element!.getAttribute( 'dir' )! );\n\n\t\t// The `ck-rounded-corners` class is added to the wrapper element to ensure that the corners in menu bar, toolbar etc are rounded\n\t\t// when the editor is in fullscreen mode.\n\t\t// Decupled editor doesn't have this issue because there is no top-level container,\n\t\t// so `ck-rounded-corners` class is set on each component separately.\n\t\tthis.getWrapper().classList.add( 'ck-rounded-corners' );\n\n\t\tif ( this._editor.config.get( 'fullscreen.menuBar.isVisible' ) ) {\n\t\t\tif ( !editorUIView.menuBarView ) {\n\t\t\t\teditorUIView.menuBarView = new MenuBarView( this._editor.locale );\n\t\t\t\teditorUIView.menuBarView.render();\n\t\t\t\teditorUI.initMenuBar( editorUIView.menuBarView );\n\t\t\t}\n\n\t\t\tthis.moveToFullscreen( editorUIView.menuBarView.element!, 'menu-bar' );\n\t\t}\n\n\t\treturn this.getWrapper();\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 fullscreen/handlers/decouplededitorhandler\n */\n\nimport type { DecoupledEditor } from '@ckeditor/ckeditor5-editor-decoupled';\n\nimport AbstractEditorHandler from './abstracteditorhandler.js';\n\n/**\n * The decoupled editor fullscreen mode handler.\n */\nexport default class DecoupledEditorHandler extends AbstractEditorHandler {\n\t/**\n\t * An editor instance.\n\t */\n\tprotected override readonly _editor: DecoupledEditor;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: DecoupledEditor ) {\n\t\tsuper( editor );\n\n\t\tthis._editor = editor;\n\t}\n\n\t/**\n\t * A function that moves the editor UI elements to the fullscreen mode.\n\t */\n\tpublic override defaultOnEnter(): HTMLElement {\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tif ( this._editor.plugins.has( 'Pagination' ) && ( this._editor.plugins.get( 'Pagination' ) as any ).isEnabled ) {\n\t\t\tthis.moveToFullscreen(\n\t\t\t\tthis._editor.ui.getEditableElement()!.parentElement!.querySelector( '.ck-pagination-view' )!, 'pagination-view'\n\t\t\t);\n\t\t}\n\n\t\tthis.moveToFullscreen( this._editor.ui.getEditableElement()!, 'editable' );\n\t\tthis.moveToFullscreen( this._editor.ui.view.toolbar.element!, 'toolbar' );\n\n\t\tthis._editor.ui.view.toolbar.switchBehavior(\n\t\t\tthis._editor.config.get( 'fullscreen.toolbar.shouldNotGroupWhenFull' ) === true ? 'static' : 'dynamic'\n\t\t);\n\n\t\tif ( this._editor.config.get( 'fullscreen.menuBar.isVisible' ) ) {\n\t\t\tthis.moveToFullscreen( this._editor.ui.view.menuBarView.element!, 'menu-bar' );\n\t\t}\n\n\t\treturn this.getWrapper();\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 fullscreen/fullscreencommand\n */\n\nimport { Command, type Editor } from 'ckeditor5/src/core.js';\nimport type { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';\nimport type { DecoupledEditor } from '@ckeditor/ckeditor5-editor-decoupled';\n\nimport AbstractEditorHandler from './handlers/abstracteditorhandler.js';\nimport ClassicEditorHandler from './handlers/classiceditorhandler.js';\nimport DecoupledEditorHandler from './handlers/decouplededitorhandler.js';\n\n/**\n * A command toggling the fullscreen mode.\n */\nexport default class FullscreenCommand extends Command {\n\t/**\n\t * Indicates whether the fullscreen mode is enabled.\n\t *\n\t * @observable\n\t * @readonly\n\t */\n\tdeclare public value: boolean;\n\n\t/**\n\t * Specialized class handling the fullscreen mode toggling for a specific editor type.\n\t *\n\t * If you want to add support for a new editor type (for now, only Classic and Decoupled editors are handled),\n\t * create a custom handler that extends `AbstractEditorHandler` and replace `fullscreenHandler` with it after editor initialization:\n\t *\n\t * ```ts\n\t * // See the details of how to implement a custom handler in the `AbstractEditorHandler` class API docs.\n\t * class CustomEditorHandler extends AbstractEditorHandler {}\n\t *\n\t * CustomEditorClass.create( document.querySelector( '#editor' ), {} )\n\t * \t.then( ( editor ) => {\n\t * \t\teditor.commands.get( 'toggleFullscreen' ).fullscreenHandler = new CustomEditorHandler( editor );\n\t * \t} );\n\t * ```\n\t */\n\tpublic fullscreenHandler: AbstractEditorHandler;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic constructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\tthis.affectsData = false;\n\t\tthis.isEnabled = true;\n\t\tthis.value = false;\n\n\t\t// Choose the appropriate handler based on the editor type.\n\t\t// Currently only `ClassicEditor` and `DecoupledEditor` are supported. For other editor types, you should create a custom handler\n\t\t// that extends `AbstractEditorHandler` and replace `fullscreenHandler` with it.\n\t\tif ( isClassicEditor( editor ) ) {\n\t\t\tthis.fullscreenHandler = new ClassicEditorHandler( editor );\n\t\t} else if ( isDecoupledEditor( editor ) ) {\n\t\t\tthis.fullscreenHandler = new DecoupledEditorHandler( editor );\n\t\t} else {\n\t\t\tthis.fullscreenHandler = new AbstractEditorHandler( editor );\n\t\t}\n\t}\n\n\t/**\n\t * Toggles the fullscreen mode.\n\t */\n\tpublic override execute(): void {\n\t\tif ( this.value ) {\n\t\t\tthis._disableFullscreenMode();\n\t\t} else {\n\t\t\tthis._enableFullscreenMode();\n\t\t}\n\t}\n\n\t/**\n\t * Enables the fullscreen mode.\n\t */\n\tprivate _enableFullscreenMode(): void {\n\t\tthis.fullscreenHandler.enable();\n\n\t\tthis.value = true;\n\t}\n\n\t/**\n\t * Disables the fullscreen mode.\n\t */\n\tprivate _disableFullscreenMode(): void {\n\t\tthis.fullscreenHandler.disable();\n\n\t\tthis.value = false;\n\t}\n}\n\n/**\n * Classic editor typeguard.\n */\nfunction isClassicEditor( editor: Editor ): editor is ClassicEditor {\n\treturn ( editor.constructor as typeof Editor ).editorName === 'ClassicEditor';\n}\n\n/**\n * Decoupled editor typeguard.\n */\nfunction isDecoupledEditor( editor: Editor ): editor is DecoupledEditor {\n\treturn ( editor.constructor as typeof Editor ).editorName === 'DecoupledEditor';\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 fullscreen/fullscreenediting\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport { env } from 'ckeditor5/src/utils.js';\n\nimport FullscreenCommand from './fullscreencommand.js';\n\n/**\n * A plugin that registers the fullscreen mode command.\n */\nexport default class FullscreenEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FullscreenEditing' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\teditor.config.define( 'fullscreen.menuBar.isVisible', true );\n\n\t\t// By default, toolbar should behave the same way in fullscreen mode as in normal mode.\n\t\t// This means that the toolbar buttons should be grouped when the toolbar is full.\n\t\teditor.config.define( 'fullscreen.toolbar.shouldNotGroupWhenFull', editor.config.get( 'toolbar.shouldNotGroupWhenFull' ) === true );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tthis.editor.commands.add( 'toggleFullscreen', new FullscreenCommand( this.editor ) );\n\n\t\tconst t = this.editor.locale.t;\n\n\t\t// Set the Ctrl+Shift+F keystroke.\n\t\tthis.editor.keystrokes.set( 'Ctrl+Shift+F', ( evt, cancel ) => {\n\t\t\tthis.editor.execute( 'toggleFullscreen' );\n\n\t\t\t// On non-Chromium browsers, the editor view and toolbar are not blurred properly after moving the editable,\n\t\t\t// even though the `document.activeElement` is changed. Hence we need to blur them manually.\n\t\t\t// Fixes https://github.com/ckeditor/ckeditor5/issues/18250 and https://github.com/ckeditor/ckeditor5/issues/18247.\n\t\t\tif ( !env.isBlink ) {\n\t\t\t\tthis.editor.editing.view.document.isFocused = false;\n\t\t\t\tthis.editor.ui.view.toolbar!.focusTracker.focusedElement = null;\n\t\t\t}\n\n\t\t\t// The order of scroll and focus is not important here.\n\t\t\tthis.editor.editing.view.scrollToTheSelection();\n\t\t\tthis.editor.editing.view.focus();\n\n\t\t\tcancel();\n\t\t} );\n\n\t\t// Add the information about the keystroke to the accessibility database.\n\t\tthis.editor.accessibility.addKeystrokeInfos( {\n\t\t\tkeystrokes: [\n\t\t\t\t{\n\t\t\t\t\tlabel: t( 'Toggle fullscreen mode' ),\n\t\t\t\t\tkeystroke: 'CTRL+SHIFT+F'\n\t\t\t\t}\n\t\t\t],\n\t\t\tcategoryId: 'navigation'\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 fullscreen/fullscreenui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from 'ckeditor5/src/ui.js';\nimport { IconFullscreenEnter, IconFullscreenLeave } from 'ckeditor5/src/icons.js';\nimport { env } from 'ckeditor5/src/utils.js';\n\nimport FullscreenEditing from './fullscreenediting.js';\nimport '../theme/fullscreen.css';\n\nconst COMMAND_NAME = 'toggleFullscreen';\n\n/**\n * A plugin registering the fullscreen mode buttons.\n */\nexport default class FullscreenUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FullscreenEditing ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FullscreenUI' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.ui.componentFactory.add( 'fullscreen', () => this._createButton( ButtonView ) );\n\t\teditor.ui.componentFactory.add( 'menuBar:fullscreen', () => this._createButton( MenuBarMenuListItemButtonView ) );\n\t}\n\n\t/**\n\t * Creates a button that toggles the fullscreen mode.\n\t */\n\tprivate _createButton( ButtonClass: typeof ButtonView | typeof MenuBarMenuListItemButtonView ) {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\t\tconst command = editor.commands.get( COMMAND_NAME )!;\n\t\tconst view = new ButtonClass( editor.locale );\n\n\t\tview.set( {\n\t\t\tisToggleable: true\n\t\t} );\n\n\t\tview.bind( 'isEnabled' ).to( command, 'isEnabled' );\n\t\tview.bind( 'isOn' ).to( command, 'value' );\n\n\t\tif ( ( view instanceof MenuBarMenuListItemButtonView ) ) {\n\t\t\tview.set( {\n\t\t\t\trole: 'menuitemcheckbox',\n\t\t\t\tlabel: t( 'Fullscreen mode' )\n\t\t\t} );\n\t\t} else {\n\t\t\tview.bind( 'icon' ).to( command, 'value', value => value ? IconFullscreenLeave : IconFullscreenEnter );\n\t\t\tview.bind( 'label' ).to( command, 'value', value => value ? t( 'Leave fullscreen mode' ) : t( 'Enter fullscreen mode' ) );\n\t\t\tview.set( {\n\t\t\t\ttooltip: true\n\t\t\t} );\n\t\t}\n\n\t\tthis.listenTo( view, 'execute', () => {\n\t\t\teditor.execute( COMMAND_NAME );\n\n\t\t\t// On non-Chromium browsers, toolbar is not blurred properly after moving the editable,\n\t\t\t// even though the `document.activeElement` is changed. Hence we need to blur the view manually.\n\t\t\t// Fixes https://github.com/ckeditor/ckeditor5/issues/18250 and https://github.com/ckeditor/ckeditor5/issues/18247.\n\t\t\tif ( !env.isBlink ) {\n\t\t\t\tthis.editor.ui.view.toolbar!.focusTracker.focusedElement = null;\n\t\t\t}\n\n\t\t\t// The order of scroll and focus is not important here.\n\t\t\teditor.editing.view.scrollToTheSelection();\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\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 fullscreen/fullscreen\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\n\nimport FullscreenEditing from './fullscreenediting.js';\nimport FullscreenUI from './fullscreenui.js';\n\n/**\n * The fullscreen mode feature.\n */\nexport default class Fullscreen extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FullscreenEditing, FullscreenUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Fullscreen' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["index.js","../src/handlers/abstracteditorhandler.ts","../src/handlers/classiceditorhandler.ts","../src/handlers/decouplededitorhandler.ts","../src/fullscreencommand.ts","../src/fullscreenediting.ts","../src/fullscreenui.ts","../src/fullscreen.ts"],"names":["DIALOG_OFFSET","FullscreenAbstractEditorHandler","_placeholderMap","_wrapper","_document","_annotationsUIsData","_paginationBodyCollection","_sourceEditingCallback","_evt","_name","value","getWrapper","querySelector","style","display","_hiddenElements","Map","_savedAncestorsScrollPositions","_showRevisionViewerCallback","_closeRevisionViewerCallback","editor","plugins","has","config","get","showRevisionViewerCallback","closeRevisionViewerCallback","_editor","sourceElement","ownerDocument","global","document","define","body","on","destroy","moveToFullscreen","elementToMove","placeholderName","placeholderElement","createElement","setAttribute","replaceWith","append","set","movedElement","restoreMovedElementLocation","remove","delete","size","_destroyContainer","class","innerHTML","appendChild","enable","_saveAncestorsScrollPositions","ui","getEditableElement","defaultOnEnter","classList","add","parentElement","_registerFullscreenDialogPositionAdjustments","_generatePresenceListContainer","_generateDocumentOutlineContainer","isEnabled","paginationRenderer","setupScrollableAncestor","BodyCollection","locale","attachToDom","linesRepository","setViewCollection","once","detachFromDom","bodyCollectionContainer","_overrideAnnotationsUIs","isRevisionViewerOpen","_overrideRevisionHistoryCallbacks","element","children","contains","disable","_restoreDocumentOutlineDefaultContainer","_restoreAnnotationsUIs","_restoreRevisionHistoryCallbacks","off","keys","view","toolbar","switchBehavior","ancestor","scrollTo","left","scrollLeft","top","scrollTop","behavior","clear","_unregisterFullscreenDialogPositionAdjustments","values","displayValue","t","presenceListElement","firstElementChild","innerText","presenceListUI","documentOutlineHeaderElement","documentOutlineBodyWrapper","documentOutlineUI","documentOutlineContainer","annotationsUIs","uisData","annotationsFilters","uiName","data","filter","defaultFilter","deactivateAll","sidebarPlugin","container","setContainer","switchToWideSidebar","activate","annotation","some","switchTo","sidebarContainer","context","revisionViewerEditor","menuBarView","dialog","_setNewDialogPosition","updateDialogPositionCallback","priority","dialogView","position","DialogViewPosition","EDITOR_TOP_SIDE","updatePosition","_updateDialogPosition","bind","isOpen","fullscreenViewContainerRect","Rect","getVisible","editorContainerRect","dialogRect","scrollOffset","excludeScrollbarsAndBorders","width","moveTo","domElement","overflowY","window","getComputedStyle","overflowX","tagName","FullscreenClassicEditorHandler","editorUI","editorUIView","getAttribute","MenuBarView","render","initMenuBar","FullscreenDecoupledEditorHandler","FullscreenCommand","Command","fullscreenHandler","affectsData","isClassicEditor","isDecoupledEditor","execute","_disableFullscreenMode","_enableFullscreenMode","editorName","FullscreenEditing","Plugin","pluginName","isOfficialPlugin","init","commands","keystrokes","evt","cancel","env","isBlink","editing","isFocused","focusTracker","focusedElement","scrollToTheSelection","focus","accessibility","addKeystrokeInfos","label","keystroke","categoryId","COMMAND_NAME","FullscreenUI","requires","componentFactory","_createButton","ButtonView","MenuBarMenuListItemButtonView","ButtonClass","command","isToggleable","to","role","IconFullscreenLeave","IconFullscreenEnter","tooltip","listenTo","Fullscreen"],"mappings":"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","file":"index.js.map","sourcesContent":["import { Command, Plugin } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { global, createElement, Rect, env } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { BodyCollection, DialogViewPosition, MenuBarView, ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { IconFullscreenLeave, IconFullscreenEnter } from '@ckeditor/ckeditor5-icons/dist/index.js';\n\nconst DIALOG_OFFSET = 28;\n/**\n * The abstract editor type handler.\n *\n * This class defines some actions and behaviors that are applied when fullscreen mode is toggled, and which are common\n * regardless of the editor type. Then, specific classes like `ClassicEditorHandler` or `DecoupledEditorHandler`\n * extend this class with actions specific for these editor types.\n *\n * Extend this class to provide fullscreen mode handling for unsupported editor types,\n * or if you wish to heavily customize the default behavior.\n *\n * The only method that is necessary to provide when extending this class is {@link #defaultOnEnter}. However, make sure to\n * familiarize yourself with the below full list of actions taken by `FullscreenAbstractEditorHandler` to understand\n * what is covered by default, and what should be provided by you.\n *\n * When entering the fullscreen mode, the {@link #enable} method is called. It creates the properly styled container\n * and handles the editor features that need it, in the following order:\n *\n * 1. Saves the scroll positions of all ancestors of the editable element to restore them after leaving the fullscreen mode.\n * 2. Executes the {@link #defaultOnEnter} method to move the proper editor UI elements to the fullscreen mode.\n * **If you extend the abstract handler, you should override this method** to move the elements that are specific to your editor type, like:\n * \teditable, toolbar, menu bar.\n * \tUse {@link #moveToFullscreen} method for this purpose to ensure they are automatically cleaned up after leaving the fullscreen mode.\n * 3. Adds proper classes to the `<body>` and `<html>` elements to block page scrolling, adjust `z-index` etc.\n * 4. Changes the position of some dialogs to utilize the empty space on the right side of the editable element.\n *\n * Steps 5-11 are only executed if the corresponding features are used.\n *\n * 5. If presence list is used, moves it to the fullscreen mode container.\n * 6. If document outline is used, moves it to the fullscreen mode.\n * 7. If pagination is used, adjusts it's configuration for the changed view.\n * 8. If annotations are used, moves them to the fullscreen mode.\n * 9. If revision history is used, overrides the callbacks to show the revision viewer in the fullscreen mode.\n * 10. If source editing and document outline are both used, hides the document outline header.\n * 11. If custom container is used, hides all other elements in it to ensure they don't create an empty unscrollable space.\n *\n * Then finally:\n *\n * 12. Executes the configured {@link module:fullscreen/fullscreenconfig~FullscreenConfig#onEnterCallback\n * \t`config.fullscreen.onEnterCallback`} function.\n * \tBy default, it returns the fullscreen mode container element so it can be further customized.\n *\n * When leaving the fullscreen mode, the {@link #disable} method is called. It does the following:\n *\n * 1. Execute the configured {@link module:fullscreen/fullscreenconfig~FullscreenConfig#onLeaveCallback\n * \t`config.fullscreen.onLeaveCallback`} function.\n * 2. Remove the classes added to the `<body>` and `<html>` elements.\n * 3. If document outline is used, restore its default container.\n * 4. If annotations are used, restore their original state (UI, filters etc).\n * 5. If revision history is used, restore the original callbacks.\n * 6. If source editing and document outline are both used, restore the document outline header.\n * 7. Restore all moved elements to their original place.\n * 8. Destroy the fullscreen mode container.\n * 9. If the editor has a toolbar, switch its behavior to the one configured in the\n * \t{@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} property.\n * 10. Restore the scroll positions of all ancestors of the editable element.\n * 11. If pagination is used, restore its default configuration.\n * 12. Restore default dialogs positions.\n *\n * This class is exported to allow for custom extensions.\n */ class FullscreenAbstractEditorHandler {\n /**\n\t * Maps placeholder names to placeholder elements and moved elements.\n\t */ _placeholderMap;\n /**\n\t * The wrapper element that holds the fullscreen mode layout.\n\t */ _wrapper = null;\n /**\n\t * The document object in which the editor is located.\n\t */ _document;\n /**\n\t * Data of the annotations UIs that were active before entering the fullscreen mode.\n\t */ _annotationsUIsData = null;\n /**\n\t * The pagination body collection that is used in the fullscreen mode.\n\t * If we don't move pagination lines to the fullscreen container, they won't be visible.\n\t */ _paginationBodyCollection = null;\n /**\n\t * A callback that hides the document outline header when the source editing mode is enabled.\n\t * Document outline element itself is hidden by source editing plugin.\n\t */ /* istanbul ignore next -- @preserve */ _sourceEditingCallback = (_evt, _name, value)=>{\n this.getWrapper().querySelector('.ck-fullscreen__document-outline-header').style.display = value ? 'none' : '';\n };\n /**\n\t * A map of elements that were hidden when entering the fullscreen mode.\n\t * It is used to restore their previous visibility when leaving the fullscreen mode and avoid showing elements\n\t * that were hidden before entering the fullscreen mode.\n\t */ _hiddenElements = new Map();\n /**\n\t * A map matching the ancestors of the editable element with their scroll positions before entering fullscreen mode.\n\t */ _savedAncestorsScrollPositions = new Map();\n /**\n\t * A callback that shows the revision viewer, stored to restore the original one after exiting the fullscreen mode.\n\t */ _showRevisionViewerCallback = null;\n /**\n\t * A callback that closes the revision viewer, stored to restore the original one after exiting the fullscreen mode.\n\t */ _closeRevisionViewerCallback = null;\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n this._placeholderMap = new Map();\n if (editor.plugins.has('RevisionHistory')) {\n this._showRevisionViewerCallback = editor.config.get('revisionHistory').showRevisionViewerCallback;\n this._closeRevisionViewerCallback = editor.config.get('revisionHistory').closeRevisionViewerCallback;\n }\n this._editor = editor;\n this._document = this._editor.sourceElement ? this._editor.sourceElement.ownerDocument : global.document;\n this._editor.config.define('fullscreen.container', this._document.body);\n editor.on('destroy', ()=>{\n if (this._wrapper) {\n this.destroy();\n }\n });\n }\n /**\n\t * Moves the given element to the fullscreen mode container, leaving a placeholder in its place.\n\t */ moveToFullscreen(elementToMove, placeholderName) {\n const placeholderElement = createElement(this._document, 'div');\n placeholderElement.setAttribute('data-ck-fullscreen-placeholder', placeholderName);\n elementToMove.replaceWith(placeholderElement);\n this.getWrapper().querySelector(`[data-ck-fullscreen=\"${placeholderName}\"]`).append(elementToMove);\n this._placeholderMap.set(placeholderName, {\n placeholderElement,\n movedElement: elementToMove\n });\n }\n /**\n\t * Returns a single moved element to its original place.\n\t */ restoreMovedElementLocation(placeholderName) {\n if (!this._placeholderMap.has(placeholderName)) {\n return;\n }\n const { placeholderElement, movedElement } = this._placeholderMap.get(placeholderName);\n placeholderElement.replaceWith(movedElement);\n placeholderElement.remove();\n this._placeholderMap.delete(placeholderName);\n if (this._placeholderMap.size === 0) {\n this._destroyContainer();\n }\n }\n /**\n\t * Returns the fullscreen mode container element.\n\t */ getWrapper() {\n if (!this._wrapper) {\n this._wrapper = createElement(this._document, 'div', {\n class: 'ck ck-fullscreen__main-wrapper'\n });\n // For now, the container is generated in a very straightforward way. If necessary, it may be rewritten using editor's UI lib.\n this._wrapper.innerHTML = `\n\t\t\t\t<div class=\"ck ck-fullscreen__top-wrapper ck-reset_all\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__menu-bar\" data-ck-fullscreen=\"menu-bar\"></div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__toolbar\" data-ck-fullscreen=\"toolbar\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ck ck-fullscreen__editable-wrapper\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__sidebar ck-fullscreen__left-sidebar\" data-ck-fullscreen=\"left-sidebar\"></div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__editable\" data-ck-fullscreen=\"editable\">\n\t\t\t\t\t\t<div class=\"ck ck-fullscreen__pagination-view\" data-ck-fullscreen=\"pagination-view\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__sidebar ck-fullscreen__right-sidebar\" data-ck-fullscreen=\"right-sidebar\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ck ck-fullscreen__bottom-wrapper\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__body-wrapper\" data-ck-fullscreen=\"body-wrapper\"></div>\n\t\t\t\t</div>\n\t\t\t`;\n this._editor.config.get('fullscreen.container').appendChild(this._wrapper);\n }\n return this._wrapper;\n }\n /**\n\t * Enables the fullscreen mode. It executes the editor-specific enable handler and then the configured callback.\n\t */ enable() {\n this._saveAncestorsScrollPositions(this._editor.ui.getEditableElement());\n this.defaultOnEnter();\n // Block scroll if the fullscreen container is the body element. Otherwise the document has to stay scrollable.\n if (this._editor.config.get('fullscreen.container') === this._document.body) {\n this._document.body.classList.add('ck-fullscreen');\n this._document.body.parentElement.classList.add('ck-fullscreen');\n }\n if (this._editor.plugins.has('Dialog')) {\n this._registerFullscreenDialogPositionAdjustments();\n }\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._editor.plugins.has('PresenceListUI')) {\n this._generatePresenceListContainer();\n }\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._editor.plugins.has('DocumentOutlineUI')) {\n this._generateDocumentOutlineContainer();\n }\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ if (this._editor.plugins.has('Pagination') && this._editor.plugins.get('Pagination').isEnabled) {\n const paginationRenderer = this._editor.plugins.get('PaginationRenderer');\n paginationRenderer.setupScrollableAncestor();\n this._paginationBodyCollection = new BodyCollection(this._editor.locale);\n this._paginationBodyCollection.attachToDom();\n paginationRenderer.linesRepository.setViewCollection(this._paginationBodyCollection);\n this._editor.once('destroy', ()=>{\n this._paginationBodyCollection.detachFromDom();\n });\n this.moveToFullscreen(this._paginationBodyCollection.bodyCollectionContainer, 'body-wrapper');\n }\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._editor.plugins.has('AnnotationsUIs')) {\n this._overrideAnnotationsUIs();\n }\n if (this._editor.plugins.has('RevisionHistory')) {\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._editor.plugins.get('RevisionHistory').isRevisionViewerOpen) {\n // Keep in mind that closing the revision history viewer is an asynchronous operation.\n this._editor.config.get('revisionHistory.closeRevisionViewerCallback')();\n }\n this._overrideRevisionHistoryCallbacks();\n }\n if (this._editor.plugins.has('SourceEditing') && this._editor.plugins.has('DocumentOutlineUI')) {\n this._editor.plugins.get('SourceEditing').on('change:isSourceEditingMode', this._sourceEditingCallback);\n }\n // Hide all other elements in the container to ensure they don't create an empty unscrollable space.\n for (const element of this._editor.config.get('fullscreen.container').children){\n // Do not hide body wrapper and ckbox wrapper to keep dialogs, balloons etc visible.\n if (element !== this._wrapper && !element.classList.contains('ck-body-wrapper') && !element.classList.contains('ckbox-wrapper') && // Already hidden elements are not hidden again to avoid accidentally showing them after leaving fullscreen.\n element.style.display !== 'none') {\n this._hiddenElements.set(element, element.style.display);\n element.style.display = 'none';\n }\n }\n if (this._editor.config.get('fullscreen.onEnterCallback')) {\n this._editor.config.get('fullscreen.onEnterCallback')(this.getWrapper());\n }\n }\n /**\n\t * Disables the fullscreen mode by restoring all moved elements and destroying the fullscreen container.\n\t */ disable() {\n if (this._editor.config.get('fullscreen.onLeaveCallback')) {\n this._editor.config.get('fullscreen.onLeaveCallback')(this.getWrapper());\n }\n this._document.body.classList.remove('ck-fullscreen');\n this._document.body.parentElement.classList.remove('ck-fullscreen');\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._editor.plugins.has('DocumentOutlineUI')) {\n this._restoreDocumentOutlineDefaultContainer();\n }\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore if -- @preserve */ if (this._annotationsUIsData) {\n this._restoreAnnotationsUIs();\n }\n if (this._editor.plugins.has('RevisionHistory')) {\n this._restoreRevisionHistoryCallbacks();\n }\n if (this._editor.plugins.has('SourceEditing') && this._editor.plugins.has('DocumentOutlineUI')) {\n this._editor.plugins.get('SourceEditing').off('change:isSourceEditingMode', this._sourceEditingCallback);\n }\n for (const placeholderName of this._placeholderMap.keys()){\n this.restoreMovedElementLocation(placeholderName);\n }\n // Container is also destroyed in the `restoreMovedElementLocation()` method, but we need to do it here\n // to ensure that the container is destroyed even if no elements were moved.\n this._destroyContainer();\n if (this._editor.ui.view.toolbar) {\n this._editor.ui.view.toolbar.switchBehavior(this._editor.config.get('toolbar.shouldNotGroupWhenFull') === true ? 'static' : 'dynamic');\n }\n // Restore scroll positions of all ancestors. It may include the closest editable wrapper causing the editor to change\n // the visible content, which is not what we want. Thus, after executing the command, we use\n // `editor.editing.view.scrollToTheSelection()` to scroll the editor viewport to the current selection.\n // Using `behavior: 'instant'` is necessary to force scroll if some of the containers has `scroll-behavior: smooth` set (otherwise\n // the scroll won't happen).\n for (const [ancestor, value] of this._savedAncestorsScrollPositions){\n // `ScrollBehavior` has incorrect type definition in currently used TS version (5.0.4). Fix should be present since 5.1.0:\n // https://github.com/Microsoft/TypeScript/issues/28755. Hence we need a type assertion here.\n ancestor.scrollTo({\n left: value.scrollLeft,\n top: value.scrollTop,\n behavior: 'instant'\n });\n }\n this._savedAncestorsScrollPositions.clear();\n // Pagination has to be restored after leaving fullscreen mode to ensure proper rendering.\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ if (this._editor.plugins.has('Pagination') && this._editor.plugins.get('Pagination').isEnabled) {\n const paginationRenderer = this._editor.plugins.get('PaginationRenderer');\n paginationRenderer.setupScrollableAncestor();\n paginationRenderer.linesRepository.setViewCollection(this._editor.ui.view.body);\n this._paginationBodyCollection.detachFromDom();\n this._paginationBodyCollection?.destroy();\n }\n // Also dialog position needs to be recalculated after leaving fullscreen mode.\n if (this._editor.plugins.has('Dialog')) {\n this._unregisterFullscreenDialogPositionAdjustments();\n }\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n for (const { placeholderElement, movedElement } of this._placeholderMap.values()){\n placeholderElement.remove();\n movedElement.remove();\n }\n this._destroyContainer();\n this._document.body.classList.remove('ck-fullscreen');\n this._document.body.parentElement.classList.remove('ck-fullscreen');\n }\n /**\n\t * A function that moves the editor UI elements to the fullscreen mode. It should be set by the particular editor type handler.\n\t *\n\t * Returns the fullscreen mode container element so it can be further customized via\n\t * `fullscreen.onEnterCallback` configuration property.\n\t */ defaultOnEnter() {\n return this.getWrapper();\n }\n /**\n\t * Destroys the fullscreen mode container.\n\t */ _destroyContainer() {\n if (!this._wrapper) {\n return;\n }\n this._wrapper.remove();\n this._wrapper = null;\n // Restore visibility of all other elements in the container.\n for (const [element, displayValue] of this._hiddenElements){\n element.style.display = displayValue;\n }\n this._hiddenElements.clear();\n }\n /**\n\t * Checks if the PresenceListUI plugin is available and moves its elements to fullscreen mode.\n\t */ // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ _generatePresenceListContainer() {\n const t = this._editor.t;\n const presenceListElement = createElement(document, 'div', {\n class: 'ck ck-fullscreen__left-sidebar-item'\n });\n presenceListElement.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__left-sidebar-header\"></div>\n\t\t\t<div class=\"ck ck-fullscreen__presence-list\" data-ck-fullscreen=\"presence-list\"></div>\n\t\t`;\n presenceListElement.firstElementChild.innerText = t('Connected users');\n if (!document.querySelector('[data-ck-fullscreen=\"left-sidebar-sticky\"]')) {\n document.querySelector('[data-ck-fullscreen=\"left-sidebar\"]').appendChild(createElement(document, 'div', {\n class: 'ck ck-fullscreen__left-sidebar-sticky',\n 'data-ck-fullscreen': 'left-sidebar-sticky'\n }));\n }\n document.querySelector('[data-ck-fullscreen=\"left-sidebar-sticky\"]').appendChild(presenceListElement);\n const presenceListUI = this._editor.plugins.get('PresenceListUI');\n this.moveToFullscreen(presenceListUI.view.element, 'presence-list');\n }\n /**\n\t * Checks if the DocumentOutlineUI plugin is available and moves its elements to fullscreen mode.\n\t */ // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ _generateDocumentOutlineContainer() {\n const t = this._editor.t;\n const documentOutlineHeaderElement = createElement(document, 'div', {\n class: 'ck-fullscreen__left-sidebar-item ck-fullscreen__left-sidebar-item--no-margin'\n });\n documentOutlineHeaderElement.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__left-sidebar-header ck-fullscreen__document-outline-header\"></div>\n\t\t`;\n documentOutlineHeaderElement.firstElementChild.innerText = t('Document outline');\n const documentOutlineBodyWrapper = createElement(document, 'div', {\n class: 'ck ck-fullscreen__left-sidebar-item ck-fullscreen__document-outline-wrapper'\n });\n documentOutlineBodyWrapper.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__document-outline\" data-ck-fullscreen=\"document-outline\"></div>\n\t\t`;\n if (!document.querySelector('[data-ck-fullscreen=\"left-sidebar-sticky\"]')) {\n document.querySelector('[data-ck-fullscreen=\"left-sidebar\"]').appendChild(createElement(document, 'div', {\n class: 'ck ck-fullscreen__left-sidebar-sticky',\n 'data-ck-fullscreen': 'left-sidebar-sticky'\n }));\n }\n document.querySelector('[data-ck-fullscreen=\"left-sidebar\"]').appendChild(documentOutlineBodyWrapper);\n document.querySelector('[data-ck-fullscreen=\"left-sidebar-sticky\"]').appendChild(documentOutlineHeaderElement);\n const documentOutlineUI = this._editor.plugins.get('DocumentOutlineUI');\n documentOutlineUI.view.documentOutlineContainer = document.querySelector('[data-ck-fullscreen=\"left-sidebar\"]');\n this.moveToFullscreen(documentOutlineUI.view.element, 'document-outline');\n }\n /**\n\t * Restores the default value of documentOutlineContainer, which is modified in fullscreen mode.\n\t */ // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ _restoreDocumentOutlineDefaultContainer() {\n const documentOutlineUI = this._editor.plugins.get('DocumentOutlineUI');\n documentOutlineUI.view.documentOutlineContainer = documentOutlineUI.view.element;\n }\n /**\n\t * Stores the current state of the annotations UIs to restore it when leaving fullscreen mode and switches the UI to the wide sidebar.\n\t */ // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ _overrideAnnotationsUIs() {\n const annotationsUIs = this._editor.plugins.get('AnnotationsUIs');\n this._annotationsUIsData = new Map(annotationsUIs.uisData);\n const annotationsFilters = new Map();\n for (const [uiName, data] of [\n ...this._annotationsUIsData\n ]){\n // Default filter is `() => true`. Only store filters that are different.\n if (data.filter !== annotationsUIs.defaultFilter) {\n annotationsFilters.set(uiName, data.filter);\n }\n }\n annotationsUIs.deactivateAll();\n const sidebarPlugin = this._editor.plugins.get('Sidebar');\n // There are two scenarios to consider: if wide sidebar is already used and when it's not.\n // If sidebar container is not set (e.g. in case of inline annotations), we need to:\n // 1. Set the sidebar container in the sidebar plugin.\n // 2. Activate the wide sidebar UI.\n // 3. Move the sidebar element to the fullscreen mode.\n if (!sidebarPlugin.container) {\n sidebarPlugin.setContainer(this.getWrapper().querySelector('[data-ck-fullscreen=\"right-sidebar\"]'));\n switchToWideSidebar();\n this.moveToFullscreen(sidebarPlugin.container.firstElementChild, 'right-sidebar');\n } else {\n switchToWideSidebar();\n this.moveToFullscreen(sidebarPlugin.container.firstElementChild, 'right-sidebar');\n sidebarPlugin.setContainer(this.getWrapper().querySelector('[data-ck-fullscreen=\"right-sidebar\"]'));\n }\n function switchToWideSidebar() {\n // First, check if someone has a filter defined for `wideSidebar`. If so, retrieve and apply it in fullscreen.\n if (annotationsFilters.has('wideSidebar')) {\n annotationsUIs.activate('wideSidebar', annotationsFilters.get('wideSidebar'));\n } else if (annotationsFilters.size) {\n annotationsUIs.activate('wideSidebar', (annotation)=>[\n ...annotationsFilters.values()\n ].some((filter)=>filter(annotation)));\n } else {\n annotationsUIs.switchTo('wideSidebar');\n }\n }\n }\n /**\n\t * Restores the saved state of the annotations UIs.\n\t */ // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ _restoreAnnotationsUIs() {\n const sidebarPlugin = this._editor.plugins.get('Sidebar');\n const sidebarContainer = sidebarPlugin.context.config.get('sidebar.container');\n // If sidebar container was set initially, restore it to the original value from config.\n if (sidebarContainer) {\n sidebarPlugin.setContainer(sidebarContainer);\n }\n const annotationsUIs = this._editor.plugins.get('AnnotationsUIs');\n annotationsUIs.deactivateAll();\n for (const [uiName, data] of [\n ...this._annotationsUIsData\n ]){\n annotationsUIs.activate(uiName, data.filter);\n }\n this._annotationsUIsData = null;\n }\n /**\n\t * Modifies the revision history viewer callbacks to display the viewer in the fullscreen mode.\n\t */ _overrideRevisionHistoryCallbacks() {\n // * Hide editor's editable, toolbar and sidebar;\n // * Disable menu bar;\n // * Show revision viewer editable, toolbar and sidebar.\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ this._editor.config.set('revisionHistory.showRevisionViewerCallback', async ()=>{\n const revisionViewerEditor = await this._showRevisionViewerCallback();\n if (this._editor.plugins.has('DocumentOutlineUI')) {\n this.getWrapper().querySelector('.ck-fullscreen__document-outline-header').style.display = 'none';\n }\n this.restoreMovedElementLocation('editable');\n this.restoreMovedElementLocation('toolbar');\n this.restoreMovedElementLocation('right-sidebar');\n if (this._annotationsUIsData) {\n this._restoreAnnotationsUIs();\n }\n if (this._editor.ui.view.menuBarView) {\n this._editor.ui.view.menuBarView.disable();\n }\n this.moveToFullscreen(revisionViewerEditor.ui.getEditableElement(), 'editable');\n this.moveToFullscreen(revisionViewerEditor.ui.view.toolbar.element, 'toolbar');\n this.moveToFullscreen(this._editor.config.get('revisionHistory.viewerSidebarContainer'), 'right-sidebar');\n return revisionViewerEditor;\n });\n // * Hide revision viewer editable, toolbar and sidebar;\n // * Enable menu bar;\n // * Show editor's editable, toolbar and sidebar.\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ this._editor.config.set('revisionHistory.closeRevisionViewerCallback', async ()=>{\n this.restoreMovedElementLocation('toolbar');\n this.restoreMovedElementLocation('editable');\n this.restoreMovedElementLocation('right-sidebar');\n if (this._editor.plugins.has('DocumentOutlineUI')) {\n this.getWrapper().querySelector('.ck-fullscreen__document-outline-header').style.display = '';\n }\n this.moveToFullscreen(this._editor.ui.getEditableElement(), 'editable');\n this.moveToFullscreen(this._editor.ui.view.toolbar.element, 'toolbar');\n await this._closeRevisionViewerCallback();\n if (this._editor.plugins.has('AnnotationsUIs')) {\n this._overrideAnnotationsUIs();\n }\n if (this._editor.ui.view.menuBarView) {\n this._editor.ui.view.menuBarView.enable();\n }\n });\n }\n /**\n\t * Resets the revision history viewer callbacks to their original values.\n\t */ _restoreRevisionHistoryCallbacks() {\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ this._editor.config.set('revisionHistory.showRevisionViewerCallback', async ()=>{\n return this._showRevisionViewerCallback();\n });\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ this._editor.config.set('revisionHistory.closeRevisionViewerCallback', async ()=>{\n return this._closeRevisionViewerCallback();\n });\n }\n /**\n\t * Adds an event listener when the dialog opens to adjust its position in fullscreen mode,\n\t * utilizing the empty space on the right side of the editable element.\n\t */ _registerFullscreenDialogPositionAdjustments() {\n const dialog = this._editor.plugins.get('Dialog');\n this._setNewDialogPosition();\n dialog.on('change:isOpen', this.updateDialogPositionCallback, {\n priority: 'highest'\n });\n }\n /**\n\t * Removes an event listener that adjusts the dialog's position in fullscreen mode.\n\t */ _unregisterFullscreenDialogPositionAdjustments() {\n const dialog = this._editor.plugins.get('Dialog');\n const dialogView = dialog.view;\n if (dialogView && dialogView.position === null) {\n dialogView.position = DialogViewPosition.EDITOR_TOP_SIDE;\n }\n if (dialogView) {\n dialogView.updatePosition();\n }\n dialog.off('change:isOpen', this.updateDialogPositionCallback);\n }\n /**\n\t * Stores a bound reference to the _updateDialogPosition method, allowing it to be attached and detached from change event.\n\t */ updateDialogPositionCallback = this._updateDialogPosition.bind(this);\n /**\n\t * If dialog is open, adjust its positioning.\n\t */ _updateDialogPosition(_evt, _name, isOpen) {\n if (isOpen) {\n this._setNewDialogPosition();\n }\n }\n /**\n\t * Adjusts the dialog position to utilize the empty space on the right side of the editable.\n\t * The new dialog position should be on the right side of the fullscreen view with a 30px margin.\n\t * Only dialogs with the position set to \"editor-top-side\" should have their position changed.\n\t */ _setNewDialogPosition() {\n const dialog = this._editor.plugins.get('Dialog');\n const dialogView = dialog.view;\n if (!dialogView || dialogView.position !== DialogViewPosition.EDITOR_TOP_SIDE) {\n return;\n }\n const fullscreenViewContainerRect = new Rect(this._wrapper).getVisible();\n const editorContainerRect = new Rect(document.querySelector('.ck-fullscreen__editable')).getVisible();\n const dialogRect = new Rect(dialogView.element.querySelector('.ck-dialog')).getVisible();\n const scrollOffset = new Rect(document.querySelector('.ck-fullscreen__editable-wrapper')).excludeScrollbarsAndBorders().getVisible().width - new Rect(document.querySelector('.ck-fullscreen__editable-wrapper')).getVisible().width;\n if (fullscreenViewContainerRect && editorContainerRect && dialogRect) {\n dialogView.position = null;\n dialogView.moveTo(fullscreenViewContainerRect.left + fullscreenViewContainerRect.width - dialogRect.width - DIALOG_OFFSET + scrollOffset, editorContainerRect.top);\n }\n }\n /**\n\t * Saves the scroll positions of all ancestors of the given element.\n\t */ _saveAncestorsScrollPositions(domElement) {\n let element = domElement.parentElement;\n if (!element) {\n return;\n }\n while(element){\n const overflowY = element.style.overflowY || global.window.getComputedStyle(element).overflowY;\n const overflowX = element.style.overflowX || global.window.getComputedStyle(element).overflowX;\n // Out of 5 possible keyword values: visible, hidden, clip, scroll and auto - only the last two allow for scrolling.\n if (overflowY === 'auto' || overflowY === 'scroll' || overflowX === 'auto' || overflowX === 'scroll') {\n this._savedAncestorsScrollPositions.set(element, {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n });\n } else if (element.tagName === 'HTML') {\n this._savedAncestorsScrollPositions.set(element, {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n });\n }\n element = element.parentElement;\n }\n }\n}\n\n/**\n * The classic editor fullscreen mode handler.\n */ class FullscreenClassicEditorHandler extends FullscreenAbstractEditorHandler {\n /**\n\t * An editor instance.\n\t */ _editor;\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n this._editor = editor;\n }\n /**\n\t * A function that moves the editor UI elements to the fullscreen mode.\n\t */ defaultOnEnter() {\n const editorUI = this._editor.ui;\n const editorUIView = editorUI.view;\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ if (this._editor.plugins.has('Pagination') && this._editor.plugins.get('Pagination').isEnabled) {\n this.moveToFullscreen(editorUI.getEditableElement().parentElement.querySelector('.ck-pagination-view'), 'pagination-view');\n }\n this.moveToFullscreen(editorUI.getEditableElement(), 'editable');\n this.moveToFullscreen(editorUIView.toolbar.element, 'toolbar');\n editorUIView.toolbar.switchBehavior(this._editor.config.get('fullscreen.toolbar.shouldNotGroupWhenFull') === true ? 'static' : 'dynamic');\n // In classic editor, the `dir` attribute is set on the top-level container and it affects the styling\n // in both menu bar and toolbar (adding the side padding to the elements).\n // Since we don't move the whole container but only parts, we need to reapply the attribute value manually.\n // Decupled editor doesn't have this issue because there is no top-level container,\n // so `dir` attribute is set on each component separately.\n this.getWrapper().setAttribute('dir', editorUIView.element.getAttribute('dir'));\n // The `ck-rounded-corners` class is added to the wrapper element to ensure that the corners in menu bar, toolbar etc are rounded\n // when the editor is in fullscreen mode.\n // Decupled editor doesn't have this issue because there is no top-level container,\n // so `ck-rounded-corners` class is set on each component separately.\n this.getWrapper().classList.add('ck-rounded-corners');\n if (this._editor.config.get('fullscreen.menuBar.isVisible')) {\n if (!editorUIView.menuBarView) {\n editorUIView.menuBarView = new MenuBarView(this._editor.locale);\n editorUIView.menuBarView.render();\n editorUI.initMenuBar(editorUIView.menuBarView);\n }\n this.moveToFullscreen(editorUIView.menuBarView.element, 'menu-bar');\n }\n return this.getWrapper();\n }\n}\n\n/**\n * The decoupled editor fullscreen mode handler.\n */ class FullscreenDecoupledEditorHandler extends FullscreenAbstractEditorHandler {\n /**\n\t * An editor instance.\n\t */ _editor;\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n this._editor = editor;\n }\n /**\n\t * A function that moves the editor UI elements to the fullscreen mode.\n\t */ defaultOnEnter() {\n // Code coverage is provided in the commercial package repository as integration unit tests.\n /* istanbul ignore next -- @preserve */ if (this._editor.plugins.has('Pagination') && this._editor.plugins.get('Pagination').isEnabled) {\n this.moveToFullscreen(this._editor.ui.getEditableElement().parentElement.querySelector('.ck-pagination-view'), 'pagination-view');\n }\n this.moveToFullscreen(this._editor.ui.getEditableElement(), 'editable');\n this.moveToFullscreen(this._editor.ui.view.toolbar.element, 'toolbar');\n this._editor.ui.view.toolbar.switchBehavior(this._editor.config.get('fullscreen.toolbar.shouldNotGroupWhenFull') === true ? 'static' : 'dynamic');\n if (this._editor.config.get('fullscreen.menuBar.isVisible')) {\n this.moveToFullscreen(this._editor.ui.view.menuBarView.element, 'menu-bar');\n }\n return this.getWrapper();\n }\n}\n\n/**\n * A command toggling the fullscreen mode.\n */ class FullscreenCommand extends Command {\n /**\n\t * Specialized class handling the fullscreen mode toggling for a specific editor type.\n\t *\n\t * If you want to add support for a new editor type (for now, only Classic and Decoupled editors are handled),\n\t * create a custom handler that extends `FullscreenAbstractEditorHandler` and replace `fullscreenHandler` with it after\n\t * editor initialization:\n\t *\n\t * ```ts\n\t * // See the details of how to implement a custom handler in the `FullscreenAbstractEditorHandler` class API docs.\n\t * class CustomEditorHandler extends FullscreenAbstractEditorHandler {}\n\t *\n\t * CustomEditorClass.create( document.querySelector( '#editor' ), {} )\n\t * \t.then( ( editor ) => {\n\t * \t\teditor.commands.get( 'toggleFullscreen' ).fullscreenHandler = new CustomEditorHandler( editor );\n\t * \t} );\n\t * ```\n\t */ fullscreenHandler;\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n this.affectsData = false;\n this.isEnabled = true;\n this.value = false;\n // Choose the appropriate handler based on the editor type.\n // Currently only `ClassicEditor` and `DecoupledEditor` are supported. For other editor types, you should create a custom handler\n // that extends `FullscreenAbstractEditorHandler` and replace `fullscreenHandler` with it.\n if (isClassicEditor(editor)) {\n this.fullscreenHandler = new FullscreenClassicEditorHandler(editor);\n } else if (isDecoupledEditor(editor)) {\n this.fullscreenHandler = new FullscreenDecoupledEditorHandler(editor);\n } else {\n this.fullscreenHandler = new FullscreenAbstractEditorHandler(editor);\n }\n }\n /**\n\t * Toggles the fullscreen mode.\n\t */ execute() {\n if (this.value) {\n this._disableFullscreenMode();\n } else {\n this._enableFullscreenMode();\n }\n }\n /**\n\t * Enables the fullscreen mode.\n\t */ _enableFullscreenMode() {\n this.fullscreenHandler.enable();\n this.value = true;\n }\n /**\n\t * Disables the fullscreen mode.\n\t */ _disableFullscreenMode() {\n this.fullscreenHandler.disable();\n this.value = false;\n }\n}\n/**\n * Classic editor typeguard.\n */ function isClassicEditor(editor) {\n return editor.constructor.editorName === 'ClassicEditor';\n}\n/**\n * Decoupled editor typeguard.\n */ function isDecoupledEditor(editor) {\n return editor.constructor.editorName === 'DecoupledEditor';\n}\n\n/**\n * A plugin that registers the fullscreen mode command.\n */ class FullscreenEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FullscreenEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n editor.config.define('fullscreen.menuBar.isVisible', true);\n // By default, toolbar should behave the same way in fullscreen mode as in normal mode.\n // This means that the toolbar buttons should be grouped when the toolbar is full.\n editor.config.define('fullscreen.toolbar.shouldNotGroupWhenFull', editor.config.get('toolbar.shouldNotGroupWhenFull') === true);\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n this.editor.commands.add('toggleFullscreen', new FullscreenCommand(this.editor));\n const t = this.editor.locale.t;\n // Set the Ctrl+Shift+F keystroke.\n this.editor.keystrokes.set('Ctrl+Shift+F', (evt, cancel)=>{\n this.editor.execute('toggleFullscreen');\n // On non-Chromium browsers, the editor view and toolbar are not blurred properly after moving the editable,\n // even though the `document.activeElement` is changed. Hence we need to blur them manually.\n // Fixes https://github.com/ckeditor/ckeditor5/issues/18250 and https://github.com/ckeditor/ckeditor5/issues/18247.\n if (!env.isBlink) {\n this.editor.editing.view.document.isFocused = false;\n this.editor.ui.view.toolbar.focusTracker.focusedElement = null;\n }\n // The order of scroll and focus is not important here.\n this.editor.editing.view.scrollToTheSelection();\n this.editor.editing.view.focus();\n cancel();\n });\n // Add the information about the keystroke to the accessibility database.\n this.editor.accessibility.addKeystrokeInfos({\n keystrokes: [\n {\n label: t('Toggle fullscreen mode'),\n keystroke: 'CTRL+SHIFT+F'\n }\n ],\n categoryId: 'navigation'\n });\n }\n}\n\nconst COMMAND_NAME = 'toggleFullscreen';\n/**\n * A plugin registering the fullscreen mode buttons.\n */ class FullscreenUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FullscreenEditing\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'FullscreenUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n editor.ui.componentFactory.add('fullscreen', ()=>this._createButton(ButtonView));\n editor.ui.componentFactory.add('menuBar:fullscreen', ()=>this._createButton(MenuBarMenuListItemButtonView));\n }\n /**\n\t * Creates a button that toggles the fullscreen mode.\n\t */ _createButton(ButtonClass) {\n const editor = this.editor;\n const t = editor.t;\n const command = editor.commands.get(COMMAND_NAME);\n const view = new ButtonClass(editor.locale);\n view.set({\n isToggleable: true\n });\n view.bind('isEnabled').to(command, 'isEnabled');\n view.bind('isOn').to(command, 'value');\n if (view instanceof MenuBarMenuListItemButtonView) {\n view.set({\n role: 'menuitemcheckbox',\n label: t('Fullscreen mode')\n });\n } else {\n view.bind('icon').to(command, 'value', (value)=>value ? IconFullscreenLeave : IconFullscreenEnter);\n view.bind('label').to(command, 'value', (value)=>value ? t('Leave fullscreen mode') : t('Enter fullscreen mode'));\n view.set({\n tooltip: true\n });\n }\n this.listenTo(view, 'execute', ()=>{\n editor.execute(COMMAND_NAME);\n // On non-Chromium browsers, toolbar is not blurred properly after moving the editable,\n // even though the `document.activeElement` is changed. Hence we need to blur the view manually.\n // Fixes https://github.com/ckeditor/ckeditor5/issues/18250 and https://github.com/ckeditor/ckeditor5/issues/18247.\n if (!env.isBlink) {\n this.editor.ui.view.toolbar.focusTracker.focusedElement = null;\n }\n // The order of scroll and focus is not important here.\n editor.editing.view.scrollToTheSelection();\n editor.editing.view.focus();\n });\n return view;\n }\n}\n\n/**\n * The fullscreen mode feature.\n */ class Fullscreen extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n FullscreenEditing,\n FullscreenUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'Fullscreen';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\nexport { Fullscreen, FullscreenAbstractEditorHandler, FullscreenClassicEditorHandler, FullscreenCommand, FullscreenDecoupledEditorHandler, FullscreenEditing, FullscreenUI };\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 fullscreen/handlers/abstracteditorhandler\n */\n\nimport { BodyCollection, DialogViewPosition } from 'ckeditor5/src/ui.js';\nimport { global, createElement, Rect, type EventInfo } from 'ckeditor5/src/utils.js';\nimport type { ElementApi, Editor, EditorConfig } from 'ckeditor5/src/core.js';\n\nconst DIALOG_OFFSET = 28;\n\n/**\n * The abstract editor type handler.\n *\n * This class defines some actions and behaviors that are applied when fullscreen mode is toggled, and which are common\n * regardless of the editor type. Then, specific classes like `ClassicEditorHandler` or `DecoupledEditorHandler`\n * extend this class with actions specific for these editor types.\n *\n * Extend this class to provide fullscreen mode handling for unsupported editor types,\n * or if you wish to heavily customize the default behavior.\n *\n * The only method that is necessary to provide when extending this class is {@link #defaultOnEnter}. However, make sure to\n * familiarize yourself with the below full list of actions taken by `FullscreenAbstractEditorHandler` to understand\n * what is covered by default, and what should be provided by you.\n *\n * When entering the fullscreen mode, the {@link #enable} method is called. It creates the properly styled container\n * and handles the editor features that need it, in the following order:\n *\n * 1. Saves the scroll positions of all ancestors of the editable element to restore them after leaving the fullscreen mode.\n * 2. Executes the {@link #defaultOnEnter} method to move the proper editor UI elements to the fullscreen mode.\n * **If you extend the abstract handler, you should override this method** to move the elements that are specific to your editor type, like:\n * \teditable, toolbar, menu bar.\n * \tUse {@link #moveToFullscreen} method for this purpose to ensure they are automatically cleaned up after leaving the fullscreen mode.\n * 3. Adds proper classes to the `<body>` and `<html>` elements to block page scrolling, adjust `z-index` etc.\n * 4. Changes the position of some dialogs to utilize the empty space on the right side of the editable element.\n *\n * Steps 5-11 are only executed if the corresponding features are used.\n *\n * 5. If presence list is used, moves it to the fullscreen mode container.\n * 6. If document outline is used, moves it to the fullscreen mode.\n * 7. If pagination is used, adjusts it's configuration for the changed view.\n * 8. If annotations are used, moves them to the fullscreen mode.\n * 9. If revision history is used, overrides the callbacks to show the revision viewer in the fullscreen mode.\n * 10. If source editing and document outline are both used, hides the document outline header.\n * 11. If custom container is used, hides all other elements in it to ensure they don't create an empty unscrollable space.\n *\n * Then finally:\n *\n * 12. Executes the configured {@link module:fullscreen/fullscreenconfig~FullscreenConfig#onEnterCallback\n * \t`config.fullscreen.onEnterCallback`} function.\n * \tBy default, it returns the fullscreen mode container element so it can be further customized.\n *\n * When leaving the fullscreen mode, the {@link #disable} method is called. It does the following:\n *\n * 1. Execute the configured {@link module:fullscreen/fullscreenconfig~FullscreenConfig#onLeaveCallback\n * \t`config.fullscreen.onLeaveCallback`} function.\n * 2. Remove the classes added to the `<body>` and `<html>` elements.\n * 3. If document outline is used, restore its default container.\n * 4. If annotations are used, restore their original state (UI, filters etc).\n * 5. If revision history is used, restore the original callbacks.\n * 6. If source editing and document outline are both used, restore the document outline header.\n * 7. Restore all moved elements to their original place.\n * 8. Destroy the fullscreen mode container.\n * 9. If the editor has a toolbar, switch its behavior to the one configured in the\n * \t{@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} property.\n * 10. Restore the scroll positions of all ancestors of the editable element.\n * 11. If pagination is used, restore its default configuration.\n * 12. Restore default dialogs positions.\n *\n * This class is exported to allow for custom extensions.\n */\nexport class FullscreenAbstractEditorHandler {\n\t/**\n\t * Maps placeholder names to placeholder elements and moved elements.\n\t */\n\tprivate _placeholderMap: Map<string, { placeholderElement: HTMLElement; movedElement: HTMLElement }>;\n\n\t/**\n\t * The wrapper element that holds the fullscreen mode layout.\n\t */\n\tprivate _wrapper: HTMLElement | null = null;\n\n\t/**\n\t * The document object in which the editor is located.\n\t */\n\tprivate _document: Document;\n\n\t/**\n\t * Data of the annotations UIs that were active before entering the fullscreen mode.\n\t */\n\tprivate _annotationsUIsData: Map<string, Record<string, any>> | null = null;\n\n\t/**\n\t * The pagination body collection that is used in the fullscreen mode.\n\t * If we don't move pagination lines to the fullscreen container, they won't be visible.\n\t */\n\tprivate _paginationBodyCollection: BodyCollection | null = null;\n\n\t/**\n\t * A callback that hides the document outline header when the source editing mode is enabled.\n\t * Document outline element itself is hidden by source editing plugin.\n\t */\n\t/* istanbul ignore next -- @preserve */\n\tprivate _sourceEditingCallback = ( _evt: EventInfo, _name: string, value: boolean ) => {\n\t\t( this.getWrapper().querySelector( '.ck-fullscreen__document-outline-header' ) as HTMLElement ).style.display =\n\t\t\tvalue ? 'none' : '';\n\t};\n\n\t/**\n\t * A map of elements that were hidden when entering the fullscreen mode.\n\t * It is used to restore their previous visibility when leaving the fullscreen mode and avoid showing elements\n\t * that were hidden before entering the fullscreen mode.\n\t */\n\tprivate _hiddenElements: Map<HTMLElement, string> = new Map();\n\n\t/**\n\t * A map matching the ancestors of the editable element with their scroll positions before entering fullscreen mode.\n\t */\n\tprivate _savedAncestorsScrollPositions: Map<HTMLElement, { scrollLeft: number; scrollTop: number }> = new Map();\n\n\t/**\n\t * A callback that shows the revision viewer, stored to restore the original one after exiting the fullscreen mode.\n\t */\n\tprotected _showRevisionViewerCallback: ( ( config?: EditorConfig ) => Promise<any> ) | null = null;\n\n\t/**\n\t * A callback that closes the revision viewer, stored to restore the original one after exiting the fullscreen mode.\n\t */\n\tprotected _closeRevisionViewerCallback: ( ( viewerEditor?: any ) => Promise<unknown> ) | null = null;\n\n\t/**\n\t * An editor instance. It should be set by the particular editor type handler.\n\t */\n\tdeclare protected _editor: Editor & Partial<ElementApi>;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tthis._placeholderMap = new Map();\n\n\t\tif ( editor.plugins.has( 'RevisionHistory' ) ) {\n\t\t\tthis._showRevisionViewerCallback = ( editor.config.get( 'revisionHistory' ) as any ).showRevisionViewerCallback;\n\t\t\tthis._closeRevisionViewerCallback = ( editor.config.get( 'revisionHistory' ) as any ).closeRevisionViewerCallback;\n\t\t}\n\n\t\tthis._editor = editor;\n\t\tthis._document = this._editor.sourceElement ? this._editor.sourceElement.ownerDocument : global.document;\n\t\tthis._editor.config.define( 'fullscreen.container', this._document.body );\n\n\t\teditor.on( 'destroy', () => {\n\t\t\tif ( this._wrapper ) {\n\t\t\t\tthis.destroy();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Moves the given element to the fullscreen mode container, leaving a placeholder in its place.\n\t */\n\tpublic moveToFullscreen( elementToMove: HTMLElement, placeholderName: string ): void {\n\t\tconst placeholderElement = createElement( this._document, 'div' );\n\n\t\tplaceholderElement.setAttribute( 'data-ck-fullscreen-placeholder', placeholderName );\n\t\telementToMove.replaceWith( placeholderElement );\n\n\t\tthis.getWrapper().querySelector( `[data-ck-fullscreen=\"${ placeholderName }\"]` )!.append( elementToMove );\n\n\t\tthis._placeholderMap.set( placeholderName, { placeholderElement, movedElement: elementToMove } );\n\t}\n\n\t/**\n\t * Returns a single moved element to its original place.\n\t */\n\tpublic restoreMovedElementLocation( placeholderName: string ): void {\n\t\tif ( !this._placeholderMap.has( placeholderName ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { placeholderElement, movedElement } = this._placeholderMap.get( placeholderName )!;\n\n\t\tplaceholderElement.replaceWith( movedElement );\n\t\tplaceholderElement.remove();\n\n\t\tthis._placeholderMap.delete( placeholderName );\n\n\t\tif ( this._placeholderMap.size === 0 ) {\n\t\t\tthis._destroyContainer();\n\t\t}\n\t}\n\n\t/**\n\t * Returns the fullscreen mode container element.\n\t */\n\tpublic getWrapper(): HTMLElement {\n\t\tif ( !this._wrapper ) {\n\t\t\tthis._wrapper = createElement( this._document, 'div', {\n\t\t\t\tclass: 'ck ck-fullscreen__main-wrapper'\n\t\t\t} );\n\n\t\t\t// For now, the container is generated in a very straightforward way. If necessary, it may be rewritten using editor's UI lib.\n\t\t\tthis._wrapper.innerHTML = `\n\t\t\t\t<div class=\"ck ck-fullscreen__top-wrapper ck-reset_all\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__menu-bar\" data-ck-fullscreen=\"menu-bar\"></div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__toolbar\" data-ck-fullscreen=\"toolbar\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ck ck-fullscreen__editable-wrapper\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__sidebar ck-fullscreen__left-sidebar\" data-ck-fullscreen=\"left-sidebar\"></div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__editable\" data-ck-fullscreen=\"editable\">\n\t\t\t\t\t\t<div class=\"ck ck-fullscreen__pagination-view\" data-ck-fullscreen=\"pagination-view\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ck ck-fullscreen__sidebar ck-fullscreen__right-sidebar\" data-ck-fullscreen=\"right-sidebar\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ck ck-fullscreen__bottom-wrapper\">\n\t\t\t\t\t<div class=\"ck ck-fullscreen__body-wrapper\" data-ck-fullscreen=\"body-wrapper\"></div>\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tthis._editor.config.get( 'fullscreen.container' )!.appendChild( this._wrapper );\n\t\t}\n\n\t\treturn this._wrapper;\n\t}\n\n\t/**\n\t * Enables the fullscreen mode. It executes the editor-specific enable handler and then the configured callback.\n\t */\n\tpublic enable(): void {\n\t\tthis._saveAncestorsScrollPositions( this._editor.ui.getEditableElement()! )!;\n\t\tthis.defaultOnEnter();\n\n\t\t// Block scroll if the fullscreen container is the body element. Otherwise the document has to stay scrollable.\n\t\tif ( this._editor.config.get( 'fullscreen.container' ) === this._document.body ) {\n\t\t\tthis._document.body.classList.add( 'ck-fullscreen' );\n\t\t\tthis._document.body.parentElement!.classList.add( 'ck-fullscreen' );\n\t\t}\n\n\t\tif ( this._editor.plugins.has( 'Dialog' ) ) {\n\t\t\tthis._registerFullscreenDialogPositionAdjustments();\n\t\t}\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif ( this._editor.plugins.has( 'PresenceListUI' ) ) {\n\t\t\tthis._generatePresenceListContainer();\n\t\t}\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif ( this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\tthis._generateDocumentOutlineContainer();\n\t\t}\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tif ( this._editor.plugins.has( 'Pagination' ) && ( this._editor.plugins.get( 'Pagination' ) as any ).isEnabled ) {\n\t\t\tconst paginationRenderer = this._editor.plugins.get( 'PaginationRenderer' ) as any;\n\n\t\t\tpaginationRenderer.setupScrollableAncestor();\n\n\t\t\tthis._paginationBodyCollection = new BodyCollection( this._editor.locale );\n\n\t\t\tthis._paginationBodyCollection.attachToDom();\n\t\t\tpaginationRenderer.linesRepository.setViewCollection( this._paginationBodyCollection );\n\n\t\t\tthis._editor.once( 'destroy', () => {\n\t\t\t\tthis._paginationBodyCollection!.detachFromDom();\n\t\t\t} );\n\n\t\t\tthis.moveToFullscreen( this._paginationBodyCollection.bodyCollectionContainer!, 'body-wrapper' );\n\t\t}\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif ( this._editor.plugins.has( 'AnnotationsUIs' ) ) {\n\t\t\tthis._overrideAnnotationsUIs();\n\t\t}\n\n\t\tif ( this._editor.plugins.has( 'RevisionHistory' ) ) {\n\t\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t\t/* istanbul ignore if -- @preserve */\n\t\t\tif ( ( this._editor.plugins.get( 'RevisionHistory' ) as any ).isRevisionViewerOpen ) {\n\t\t\t\t// Keep in mind that closing the revision history viewer is an asynchronous operation.\n\t\t\t\t( this._editor.config.get( 'revisionHistory.closeRevisionViewerCallback' ) as any )();\n\t\t\t}\n\n\t\t\tthis._overrideRevisionHistoryCallbacks();\n\t\t}\n\n\t\tif ( this._editor.plugins.has( 'SourceEditing' ) && this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\t( this._editor.plugins.get( 'SourceEditing' ) as any ).on( 'change:isSourceEditingMode', this._sourceEditingCallback );\n\t\t}\n\n\t\t// Hide all other elements in the container to ensure they don't create an empty unscrollable space.\n\t\tfor ( const element of this._editor.config.get( 'fullscreen.container' )!.children ) {\n\t\t\t// Do not hide body wrapper and ckbox wrapper to keep dialogs, balloons etc visible.\n\t\t\tif (\n\t\t\t\telement !== this._wrapper &&\n\t\t\t\t!element.classList.contains( 'ck-body-wrapper' ) &&\n\t\t\t\t!element.classList.contains( 'ckbox-wrapper' ) &&\n\t\t\t\t// Already hidden elements are not hidden again to avoid accidentally showing them after leaving fullscreen.\n\t\t\t\t( element as HTMLElement ).style.display !== 'none'\n\t\t\t) {\n\t\t\t\tthis._hiddenElements.set( element as HTMLElement, ( element as HTMLElement ).style.display );\n\t\t\t\t( element as HTMLElement ).style.display = 'none';\n\t\t\t}\n\t\t}\n\n\t\tif ( this._editor.config.get( 'fullscreen.onEnterCallback' ) ) {\n\t\t\tthis._editor.config.get( 'fullscreen.onEnterCallback' )!( this.getWrapper() );\n\t\t}\n\t}\n\n\t/**\n\t * Disables the fullscreen mode by restoring all moved elements and destroying the fullscreen container.\n\t */\n\tpublic disable(): void {\n\t\tif ( this._editor.config.get( 'fullscreen.onLeaveCallback' ) ) {\n\t\t\tthis._editor.config.get( 'fullscreen.onLeaveCallback' )!( this.getWrapper() );\n\t\t}\n\n\t\tthis._document.body.classList.remove( 'ck-fullscreen' );\n\t\tthis._document.body.parentElement!.classList.remove( 'ck-fullscreen' );\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif ( this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\tthis._restoreDocumentOutlineDefaultContainer();\n\t\t}\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore if -- @preserve */\n\t\tif ( this._annotationsUIsData ) {\n\t\t\tthis._restoreAnnotationsUIs();\n\t\t}\n\n\t\tif ( this._editor.plugins.has( 'RevisionHistory' ) ) {\n\t\t\tthis._restoreRevisionHistoryCallbacks();\n\t\t}\n\n\t\tif ( this._editor.plugins.has( 'SourceEditing' ) && this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\t( this._editor.plugins.get( 'SourceEditing' ) as any ).off( 'change:isSourceEditingMode', this._sourceEditingCallback );\n\t\t}\n\n\t\tfor ( const placeholderName of this._placeholderMap.keys() ) {\n\t\t\tthis.restoreMovedElementLocation( placeholderName );\n\t\t}\n\n\t\t// Container is also destroyed in the `restoreMovedElementLocation()` method, but we need to do it here\n\t\t// to ensure that the container is destroyed even if no elements were moved.\n\t\tthis._destroyContainer();\n\n\t\tif ( this._editor.ui.view.toolbar ) {\n\t\t\tthis._editor.ui.view.toolbar.switchBehavior(\n\t\t\t\tthis._editor.config.get( 'toolbar.shouldNotGroupWhenFull' ) === true ? 'static' : 'dynamic'\n\t\t\t);\n\t\t}\n\n\t\t// Restore scroll positions of all ancestors. It may include the closest editable wrapper causing the editor to change\n\t\t// the visible content, which is not what we want. Thus, after executing the command, we use\n\t\t// `editor.editing.view.scrollToTheSelection()` to scroll the editor viewport to the current selection.\n\t\t// Using `behavior: 'instant'` is necessary to force scroll if some of the containers has `scroll-behavior: smooth` set (otherwise\n\t\t// the scroll won't happen).\n\t\tfor ( const [ ancestor, value ] of this._savedAncestorsScrollPositions ) {\n\t\t\t// `ScrollBehavior` has incorrect type definition in currently used TS version (5.0.4). Fix should be present since 5.1.0:\n\t\t\t// https://github.com/Microsoft/TypeScript/issues/28755. Hence we need a type assertion here.\n\t\t\tancestor.scrollTo( { left: value.scrollLeft, top: value.scrollTop, behavior: 'instant' as ScrollBehavior } );\n\t\t}\n\n\t\tthis._savedAncestorsScrollPositions.clear();\n\n\t\t// Pagination has to be restored after leaving fullscreen mode to ensure proper rendering.\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tif ( this._editor.plugins.has( 'Pagination' ) && ( this._editor.plugins.get( 'Pagination' ) as any ).isEnabled ) {\n\t\t\tconst paginationRenderer = this._editor.plugins.get( 'PaginationRenderer' ) as any;\n\n\t\t\tpaginationRenderer.setupScrollableAncestor();\n\t\t\tpaginationRenderer.linesRepository.setViewCollection( this._editor.ui.view.body );\n\n\t\t\tthis._paginationBodyCollection!.detachFromDom();\n\t\t\tthis._paginationBodyCollection?.destroy();\n\t\t}\n\n\t\t// Also dialog position needs to be recalculated after leaving fullscreen mode.\n\t\tif ( this._editor.plugins.has( 'Dialog' ) ) {\n\t\t\tthis._unregisterFullscreenDialogPositionAdjustments();\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic destroy(): void {\n\t\tfor ( const { placeholderElement, movedElement } of this._placeholderMap.values() ) {\n\t\t\tplaceholderElement.remove();\n\t\t\tmovedElement.remove();\n\t\t}\n\n\t\tthis._destroyContainer();\n\n\t\tthis._document.body.classList.remove( 'ck-fullscreen' );\n\t\tthis._document.body.parentElement!.classList.remove( 'ck-fullscreen' );\n\t}\n\n\t/**\n\t * A function that moves the editor UI elements to the fullscreen mode. It should be set by the particular editor type handler.\n\t *\n\t * Returns the fullscreen mode container element so it can be further customized via\n\t * `fullscreen.onEnterCallback` configuration property.\n\t */\n\tpublic defaultOnEnter(): HTMLElement {\n\t\treturn this.getWrapper();\n\t}\n\n\t/**\n\t * Destroys the fullscreen mode container.\n\t */\n\tprivate _destroyContainer(): void {\n\t\tif ( !this._wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._wrapper.remove();\n\t\tthis._wrapper = null;\n\n\t\t// Restore visibility of all other elements in the container.\n\t\tfor ( const [ element, displayValue ] of this._hiddenElements ) {\n\t\t\telement.style.display = displayValue;\n\t\t}\n\n\t\tthis._hiddenElements.clear();\n\t}\n\n\t/**\n\t * Checks if the PresenceListUI plugin is available and moves its elements to fullscreen mode.\n\t */\n\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t/* istanbul ignore next -- @preserve */\n\tprivate _generatePresenceListContainer(): void {\n\t\tconst t = this._editor.t;\n\t\tconst presenceListElement = createElement( document, 'div', {\n\t\t\tclass: 'ck ck-fullscreen__left-sidebar-item'\n\t\t} );\n\n\t\tpresenceListElement.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__left-sidebar-header\"></div>\n\t\t\t<div class=\"ck ck-fullscreen__presence-list\" data-ck-fullscreen=\"presence-list\"></div>\n\t\t`;\n\t\t( presenceListElement.firstElementChild as HTMLElement ).innerText = t( 'Connected users' );\n\n\t\tif ( !document.querySelector( '[data-ck-fullscreen=\"left-sidebar-sticky\"]' ) ) {\n\t\t\tdocument.querySelector( '[data-ck-fullscreen=\"left-sidebar\"]' )!.appendChild(\n\t\t\t\tcreateElement( document, 'div', {\n\t\t\t\t\tclass: 'ck ck-fullscreen__left-sidebar-sticky',\n\t\t\t\t\t'data-ck-fullscreen': 'left-sidebar-sticky'\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tdocument.querySelector( '[data-ck-fullscreen=\"left-sidebar-sticky\"]' )!.appendChild( presenceListElement );\n\n\t\tconst presenceListUI = this._editor.plugins.get( 'PresenceListUI' ) as any;\n\n\t\tthis.moveToFullscreen( presenceListUI.view.element!, 'presence-list' );\n\t}\n\n\t/**\n\t * Checks if the DocumentOutlineUI plugin is available and moves its elements to fullscreen mode.\n\t */\n\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t/* istanbul ignore next -- @preserve */\n\tprivate _generateDocumentOutlineContainer(): void {\n\t\tconst t = this._editor.t;\n\t\tconst documentOutlineHeaderElement = createElement( document, 'div', {\n\t\t\tclass: 'ck-fullscreen__left-sidebar-item ck-fullscreen__left-sidebar-item--no-margin'\n\t\t} );\n\n\t\tdocumentOutlineHeaderElement.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__left-sidebar-header ck-fullscreen__document-outline-header\"></div>\n\t\t`;\n\t\t( documentOutlineHeaderElement.firstElementChild as HTMLElement ).innerText = t( 'Document outline' );\n\n\t\tconst documentOutlineBodyWrapper = createElement( document, 'div', {\n\t\t\tclass: 'ck ck-fullscreen__left-sidebar-item ck-fullscreen__document-outline-wrapper'\n\t\t} );\n\n\t\tdocumentOutlineBodyWrapper.innerHTML = `\n\t\t\t<div class=\"ck ck-fullscreen__document-outline\" data-ck-fullscreen=\"document-outline\"></div>\n\t\t`;\n\n\t\tif ( !document.querySelector( '[data-ck-fullscreen=\"left-sidebar-sticky\"]' ) ) {\n\t\t\tdocument.querySelector( '[data-ck-fullscreen=\"left-sidebar\"]' )!.appendChild(\n\t\t\t\tcreateElement( document, 'div', {\n\t\t\t\t\tclass: 'ck ck-fullscreen__left-sidebar-sticky',\n\t\t\t\t\t'data-ck-fullscreen': 'left-sidebar-sticky'\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tdocument.querySelector( '[data-ck-fullscreen=\"left-sidebar\"]' )!.appendChild( documentOutlineBodyWrapper );\n\t\tdocument.querySelector( '[data-ck-fullscreen=\"left-sidebar-sticky\"]' )!.appendChild( documentOutlineHeaderElement );\n\n\t\tconst documentOutlineUI = this._editor.plugins.get( 'DocumentOutlineUI' ) as any;\n\t\tdocumentOutlineUI.view.documentOutlineContainer = document.querySelector( '[data-ck-fullscreen=\"left-sidebar\"]' ) as HTMLElement;\n\n\t\tthis.moveToFullscreen( documentOutlineUI.view.element!, 'document-outline' );\n\t}\n\n\t/**\n\t * Restores the default value of documentOutlineContainer, which is modified in fullscreen mode.\n\t */\n\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t/* istanbul ignore next -- @preserve */\n\tprivate _restoreDocumentOutlineDefaultContainer(): void {\n\t\tconst documentOutlineUI = this._editor.plugins.get( 'DocumentOutlineUI' ) as any;\n\t\tdocumentOutlineUI.view.documentOutlineContainer = documentOutlineUI.view.element as HTMLElement;\n\t}\n\n\t/**\n\t * Stores the current state of the annotations UIs to restore it when leaving fullscreen mode and switches the UI to the wide sidebar.\n\t */\n\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t/* istanbul ignore next -- @preserve */\n\tprivate _overrideAnnotationsUIs() {\n\t\tconst annotationsUIs = this._editor.plugins.get( 'AnnotationsUIs' ) as any;\n\n\t\tthis._annotationsUIsData = new Map( annotationsUIs.uisData );\n\n\t\tconst annotationsFilters = new Map<string, ( annotation: any ) => boolean>();\n\n\t\tfor ( const [ uiName, data ] of [ ...this._annotationsUIsData! ] ) {\n\t\t\t// Default filter is `() => true`. Only store filters that are different.\n\t\t\tif ( data.filter !== annotationsUIs.defaultFilter ) {\n\t\t\t\tannotationsFilters.set( uiName, data.filter );\n\t\t\t}\n\t\t}\n\n\t\tannotationsUIs.deactivateAll();\n\n\t\tconst sidebarPlugin = this._editor.plugins.get( 'Sidebar' ) as any;\n\n\t\t// There are two scenarios to consider: if wide sidebar is already used and when it's not.\n\t\t// If sidebar container is not set (e.g. in case of inline annotations), we need to:\n\t\t// 1. Set the sidebar container in the sidebar plugin.\n\t\t// 2. Activate the wide sidebar UI.\n\t\t// 3. Move the sidebar element to the fullscreen mode.\n\t\tif ( !sidebarPlugin.container ) {\n\t\t\tsidebarPlugin.setContainer( this.getWrapper().querySelector( '[data-ck-fullscreen=\"right-sidebar\"]' ) as HTMLElement );\n\n\t\t\tswitchToWideSidebar();\n\n\t\t\tthis.moveToFullscreen( ( sidebarPlugin.container!.firstElementChild as HTMLElement ), 'right-sidebar' );\n\t\t}\n\t\t// If sidebar was already used:\n\t\t// 1. Switch to the wide sidebar UI (it's possibly switch back but we deactivated all UIs before).\n\t\t// 2. Move the sidebar element to the fullscreen mode.\n\t\t// 3. Set the sidebar container in the sidebar plugin.\n\t\t// If we set the container before moving the sidebar, we lose the reference to the original sidebar container and it won't be\n\t\t// moved back to the correct position after leaving fullscreen.\n\t\telse {\n\t\t\tswitchToWideSidebar();\n\n\t\t\tthis.moveToFullscreen( ( sidebarPlugin.container!.firstElementChild as HTMLElement ), 'right-sidebar' );\n\n\t\t\tsidebarPlugin.setContainer(\n\t\t\t\tthis.getWrapper().querySelector( '[data-ck-fullscreen=\"right-sidebar\"]' ) as HTMLElement\n\t\t\t);\n\t\t}\n\n\t\tfunction switchToWideSidebar() {\n\t\t\t// First, check if someone has a filter defined for `wideSidebar`. If so, retrieve and apply it in fullscreen.\n\t\t\tif ( annotationsFilters.has( 'wideSidebar' ) ) {\n\t\t\t\tannotationsUIs.activate( 'wideSidebar', annotationsFilters.get( 'wideSidebar' ) );\n\t\t\t}\n\t\t\t// If no filter is defined for `wideSidebar`, read the filters for the active display(s) mode and apply them on wide sidebar.\n\t\t\t// It's possible there are filters for both `narrowSidebar` and `inline` modes, so display annotations that match any of them.\n\t\t\telse if ( annotationsFilters.size ) {\n\t\t\t\tannotationsUIs.activate( 'wideSidebar',\n\t\t\t\t\t( annotation: any ) => [ ...annotationsFilters.values() ].some( filter => filter( annotation ) )\n\t\t\t\t);\n\t\t\t}\n\t\t\t// If no filters are defined for the active display mode(s), simply display all annotations in the wide sidebar.\n\t\t\telse {\n\t\t\t\tannotationsUIs.switchTo( 'wideSidebar' );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Restores the saved state of the annotations UIs.\n\t */\n\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t/* istanbul ignore next -- @preserve */\n\tprivate _restoreAnnotationsUIs() {\n\t\tconst sidebarPlugin = this._editor.plugins.get( 'Sidebar' ) as any;\n\t\tconst sidebarContainer = sidebarPlugin.context.config.get( 'sidebar.container' );\n\n\t\t// If sidebar container was set initially, restore it to the original value from config.\n\t\tif ( sidebarContainer ) {\n\t\t\tsidebarPlugin.setContainer( sidebarContainer as HTMLElement );\n\t\t}\n\n\t\tconst annotationsUIs = this._editor.plugins.get( 'AnnotationsUIs' ) as any;\n\n\t\tannotationsUIs.deactivateAll();\n\n\t\tfor ( const [ uiName, data ] of [ ...this._annotationsUIsData! ] ) {\n\t\t\tannotationsUIs.activate( uiName, data.filter );\n\t\t}\n\n\t\tthis._annotationsUIsData = null;\n\t}\n\n\t/**\n\t * Modifies the revision history viewer callbacks to display the viewer in the fullscreen mode.\n\t */\n\tprivate _overrideRevisionHistoryCallbacks(): void {\n\t\t// * Hide editor's editable, toolbar and sidebar;\n\t\t// * Disable menu bar;\n\t\t// * Show revision viewer editable, toolbar and sidebar.\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tthis._editor.config.set( 'revisionHistory.showRevisionViewerCallback', async () => {\n\t\t\tconst revisionViewerEditor = await this._showRevisionViewerCallback!();\n\n\t\t\tif ( this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\t\t( this.getWrapper().querySelector( '.ck-fullscreen__document-outline-header' ) as HTMLElement ).style.display = 'none';\n\t\t\t}\n\n\t\t\tthis.restoreMovedElementLocation( 'editable' );\n\t\t\tthis.restoreMovedElementLocation( 'toolbar' );\n\t\t\tthis.restoreMovedElementLocation( 'right-sidebar' );\n\n\t\t\tif ( this._annotationsUIsData ) {\n\t\t\t\tthis._restoreAnnotationsUIs();\n\t\t\t}\n\n\t\t\tif ( this._editor.ui.view.menuBarView ) {\n\t\t\t\tthis._editor.ui.view.menuBarView.disable();\n\t\t\t}\n\n\t\t\tthis.moveToFullscreen( revisionViewerEditor.ui.getEditableElement(), 'editable' );\n\t\t\tthis.moveToFullscreen( revisionViewerEditor.ui.view.toolbar.element, 'toolbar' );\n\t\t\tthis.moveToFullscreen( this._editor.config.get( 'revisionHistory.viewerSidebarContainer' ) as any, 'right-sidebar' );\n\n\t\t\treturn revisionViewerEditor;\n\t\t} );\n\n\t\t// * Hide revision viewer editable, toolbar and sidebar;\n\t\t// * Enable menu bar;\n\t\t// * Show editor's editable, toolbar and sidebar.\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tthis._editor.config.set( 'revisionHistory.closeRevisionViewerCallback', async () => {\n\t\t\tthis.restoreMovedElementLocation( 'toolbar' );\n\t\t\tthis.restoreMovedElementLocation( 'editable' );\n\t\t\tthis.restoreMovedElementLocation( 'right-sidebar' );\n\n\t\t\tif ( this._editor.plugins.has( 'DocumentOutlineUI' ) ) {\n\t\t\t\t( this.getWrapper().querySelector( '.ck-fullscreen__document-outline-header' ) as HTMLElement ).style.display = '';\n\t\t\t}\n\n\t\t\tthis.moveToFullscreen( this._editor.ui.getEditableElement()!, 'editable' );\n\t\t\tthis.moveToFullscreen( this._editor.ui.view.toolbar!.element!, 'toolbar' );\n\n\t\t\tawait this._closeRevisionViewerCallback!();\n\n\t\t\tif ( this._editor.plugins.has( 'AnnotationsUIs' ) ) {\n\t\t\t\tthis._overrideAnnotationsUIs();\n\t\t\t}\n\n\t\t\tif ( this._editor.ui.view.menuBarView ) {\n\t\t\t\tthis._editor.ui.view.menuBarView.enable();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Resets the revision history viewer callbacks to their original values.\n\t */\n\tprivate _restoreRevisionHistoryCallbacks(): void {\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tthis._editor.config.set( 'revisionHistory.showRevisionViewerCallback', async () => {\n\t\t\treturn this._showRevisionViewerCallback!();\n\t\t} );\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tthis._editor.config.set( 'revisionHistory.closeRevisionViewerCallback', async () => {\n\t\t\treturn this._closeRevisionViewerCallback!();\n\t\t} );\n\t}\n\n\t/**\n\t * Adds an event listener when the dialog opens to adjust its position in fullscreen mode,\n\t * utilizing the empty space on the right side of the editable element.\n\t */\n\tprivate _registerFullscreenDialogPositionAdjustments(): void {\n\t\tconst dialog = this._editor.plugins.get( 'Dialog' );\n\n\t\tthis._setNewDialogPosition();\n\n\t\tdialog.on( 'change:isOpen', this.updateDialogPositionCallback, { priority: 'highest' } );\n\t}\n\n\t/**\n\t * Removes an event listener that adjusts the dialog's position in fullscreen mode.\n\t */\n\tprivate _unregisterFullscreenDialogPositionAdjustments(): void {\n\t\tconst dialog = this._editor.plugins.get( 'Dialog' );\n\t\tconst dialogView = dialog.view;\n\n\t\tif ( dialogView && dialogView.position === null ) {\n\t\t\tdialogView.position = DialogViewPosition.EDITOR_TOP_SIDE;\n\t\t}\n\n\t\tif ( dialogView ) {\n\t\t\tdialogView.updatePosition();\n\t\t}\n\n\t\tdialog.off( 'change:isOpen', this.updateDialogPositionCallback );\n\t}\n\n\t/**\n\t * Stores a bound reference to the _updateDialogPosition method, allowing it to be attached and detached from change event.\n\t */\n\tpublic updateDialogPositionCallback = this._updateDialogPosition.bind( this );\n\n\t/**\n\t * If dialog is open, adjust its positioning.\n\t */\n\tprivate _updateDialogPosition( _evt: EventInfo, _name: string, isOpen: boolean ): void {\n\t\tif ( isOpen ) {\n\t\t\tthis._setNewDialogPosition();\n\t\t}\n\t}\n\n\t/**\n\t * Adjusts the dialog position to utilize the empty space on the right side of the editable.\n\t * The new dialog position should be on the right side of the fullscreen view with a 30px margin.\n\t * Only dialogs with the position set to \"editor-top-side\" should have their position changed.\n\t */\n\tprivate _setNewDialogPosition(): void {\n\t\tconst dialog = this._editor.plugins.get( 'Dialog' );\n\t\tconst dialogView = dialog.view!;\n\n\t\tif ( !dialogView || dialogView.position !== DialogViewPosition.EDITOR_TOP_SIDE ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fullscreenViewContainerRect = new Rect( this._wrapper! ).getVisible();\n\t\tconst editorContainerRect = new Rect( document.querySelector( '.ck-fullscreen__editable' ) as HTMLElement ).getVisible();\n\t\tconst dialogRect = new Rect( dialogView.element!.querySelector( '.ck-dialog' ) as HTMLElement ).getVisible();\n\t\tconst scrollOffset = new Rect( document.querySelector( '.ck-fullscreen__editable-wrapper' ) as HTMLElement )\n\t\t\t.excludeScrollbarsAndBorders().getVisible()!.width -\n\t\t\tnew Rect( document.querySelector( '.ck-fullscreen__editable-wrapper' ) as HTMLElement ).getVisible()!.width;\n\n\t\tif ( fullscreenViewContainerRect && editorContainerRect && dialogRect ) {\n\t\t\tdialogView.position = null;\n\n\t\t\tdialogView.moveTo(\n\t\t\t\tfullscreenViewContainerRect.left + fullscreenViewContainerRect.width - dialogRect.width - DIALOG_OFFSET + scrollOffset,\n\t\t\t\teditorContainerRect.top\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Saves the scroll positions of all ancestors of the given element.\n\t */\n\tprivate _saveAncestorsScrollPositions( domElement: HTMLElement ): void {\n\t\tlet element = domElement.parentElement;\n\n\t\tif ( !element ) {\n\t\t\treturn;\n\t\t}\n\n\t\twhile ( element ) {\n\t\t\tconst overflowY = element.style.overflowY || global.window.getComputedStyle( element ).overflowY;\n\t\t\tconst overflowX = element.style.overflowX || global.window.getComputedStyle( element ).overflowX;\n\n\t\t\t// Out of 5 possible keyword values: visible, hidden, clip, scroll and auto - only the last two allow for scrolling.\n\t\t\tif (\n\t\t\t\toverflowY === 'auto' ||\n\t\t\t\toverflowY === 'scroll' ||\n\t\t\t\toverflowX === 'auto' ||\n\t\t\t\toverflowX === 'scroll'\n\t\t\t) {\n\t\t\t\tthis._savedAncestorsScrollPositions.set( element, {\n\t\t\t\t\tscrollLeft: element.scrollLeft,\n\t\t\t\t\tscrollTop: element.scrollTop\n\t\t\t\t} );\n\t\t\t} else if ( element.tagName === 'HTML' ) {\n\t\t\t\tthis._savedAncestorsScrollPositions.set( element, {\n\t\t\t\t\tscrollLeft: element.scrollLeft,\n\t\t\t\t\tscrollTop: element.scrollTop\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\telement = element.parentElement;\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 fullscreen/handlers/classiceditorhandler\n */\n\nimport { MenuBarView } from 'ckeditor5/src/ui.js';\nimport type { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';\n\nimport { FullscreenAbstractEditorHandler } from './abstracteditorhandler.js';\n\n/**\n * The classic editor fullscreen mode handler.\n */\nexport class FullscreenClassicEditorHandler extends FullscreenAbstractEditorHandler {\n\t/**\n\t * An editor instance.\n\t */\n\tprotected override readonly _editor: ClassicEditor;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: ClassicEditor ) {\n\t\tsuper( editor );\n\n\t\tthis._editor = editor;\n\t}\n\n\t/**\n\t * A function that moves the editor UI elements to the fullscreen mode.\n\t */\n\tpublic override defaultOnEnter(): HTMLElement {\n\t\tconst editorUI = this._editor.ui;\n\t\tconst editorUIView = editorUI.view;\n\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tif ( this._editor.plugins.has( 'Pagination' ) && ( this._editor.plugins.get( 'Pagination' ) as any ).isEnabled ) {\n\t\t\tthis.moveToFullscreen(\n\t\t\t\teditorUI.getEditableElement()!.parentElement!.querySelector( '.ck-pagination-view' )!, 'pagination-view'\n\t\t\t);\n\t\t}\n\n\t\tthis.moveToFullscreen( editorUI.getEditableElement()!, 'editable' );\n\t\tthis.moveToFullscreen( editorUIView.toolbar.element!, 'toolbar' );\n\n\t\teditorUIView.toolbar.switchBehavior(\n\t\t\tthis._editor.config.get( 'fullscreen.toolbar.shouldNotGroupWhenFull' ) === true ? 'static' : 'dynamic'\n\t\t);\n\n\t\t// In classic editor, the `dir` attribute is set on the top-level container and it affects the styling\n\t\t// in both menu bar and toolbar (adding the side padding to the elements).\n\t\t// Since we don't move the whole container but only parts, we need to reapply the attribute value manually.\n\t\t// Decupled editor doesn't have this issue because there is no top-level container,\n\t\t// so `dir` attribute is set on each component separately.\n\t\tthis.getWrapper().setAttribute( 'dir', editorUIView.element!.getAttribute( 'dir' )! );\n\n\t\t// The `ck-rounded-corners` class is added to the wrapper element to ensure that the corners in menu bar, toolbar etc are rounded\n\t\t// when the editor is in fullscreen mode.\n\t\t// Decupled editor doesn't have this issue because there is no top-level container,\n\t\t// so `ck-rounded-corners` class is set on each component separately.\n\t\tthis.getWrapper().classList.add( 'ck-rounded-corners' );\n\n\t\tif ( this._editor.config.get( 'fullscreen.menuBar.isVisible' ) ) {\n\t\t\tif ( !editorUIView.menuBarView ) {\n\t\t\t\teditorUIView.menuBarView = new MenuBarView( this._editor.locale );\n\t\t\t\teditorUIView.menuBarView.render();\n\t\t\t\teditorUI.initMenuBar( editorUIView.menuBarView );\n\t\t\t}\n\n\t\t\tthis.moveToFullscreen( editorUIView.menuBarView.element!, 'menu-bar' );\n\t\t}\n\n\t\treturn this.getWrapper();\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 fullscreen/handlers/decouplededitorhandler\n */\n\nimport type { DecoupledEditor } from '@ckeditor/ckeditor5-editor-decoupled';\n\nimport { FullscreenAbstractEditorHandler } from './abstracteditorhandler.js';\n\n/**\n * The decoupled editor fullscreen mode handler.\n */\nexport class FullscreenDecoupledEditorHandler extends FullscreenAbstractEditorHandler {\n\t/**\n\t * An editor instance.\n\t */\n\tprotected override readonly _editor: DecoupledEditor;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: DecoupledEditor ) {\n\t\tsuper( editor );\n\n\t\tthis._editor = editor;\n\t}\n\n\t/**\n\t * A function that moves the editor UI elements to the fullscreen mode.\n\t */\n\tpublic override defaultOnEnter(): HTMLElement {\n\t\t// Code coverage is provided in the commercial package repository as integration unit tests.\n\t\t/* istanbul ignore next -- @preserve */\n\t\tif ( this._editor.plugins.has( 'Pagination' ) && ( this._editor.plugins.get( 'Pagination' ) as any ).isEnabled ) {\n\t\t\tthis.moveToFullscreen(\n\t\t\t\tthis._editor.ui.getEditableElement()!.parentElement!.querySelector( '.ck-pagination-view' )!, 'pagination-view'\n\t\t\t);\n\t\t}\n\n\t\tthis.moveToFullscreen( this._editor.ui.getEditableElement()!, 'editable' );\n\t\tthis.moveToFullscreen( this._editor.ui.view.toolbar.element!, 'toolbar' );\n\n\t\tthis._editor.ui.view.toolbar.switchBehavior(\n\t\t\tthis._editor.config.get( 'fullscreen.toolbar.shouldNotGroupWhenFull' ) === true ? 'static' : 'dynamic'\n\t\t);\n\n\t\tif ( this._editor.config.get( 'fullscreen.menuBar.isVisible' ) ) {\n\t\t\tthis.moveToFullscreen( this._editor.ui.view.menuBarView.element!, 'menu-bar' );\n\t\t}\n\n\t\treturn this.getWrapper();\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 fullscreen/fullscreencommand\n */\n\nimport { Command, type Editor } from 'ckeditor5/src/core.js';\nimport type { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';\nimport type { DecoupledEditor } from '@ckeditor/ckeditor5-editor-decoupled';\n\nimport { FullscreenAbstractEditorHandler } from './handlers/abstracteditorhandler.js';\nimport { FullscreenClassicEditorHandler } from './handlers/classiceditorhandler.js';\nimport { FullscreenDecoupledEditorHandler } from './handlers/decouplededitorhandler.js';\n\n/**\n * A command toggling the fullscreen mode.\n */\nexport class FullscreenCommand extends Command {\n\t/**\n\t * Indicates whether the fullscreen mode is enabled.\n\t *\n\t * @observable\n\t * @readonly\n\t */\n\tdeclare public value: boolean;\n\n\t/**\n\t * Specialized class handling the fullscreen mode toggling for a specific editor type.\n\t *\n\t * If you want to add support for a new editor type (for now, only Classic and Decoupled editors are handled),\n\t * create a custom handler that extends `FullscreenAbstractEditorHandler` and replace `fullscreenHandler` with it after\n\t * editor initialization:\n\t *\n\t * ```ts\n\t * // See the details of how to implement a custom handler in the `FullscreenAbstractEditorHandler` class API docs.\n\t * class CustomEditorHandler extends FullscreenAbstractEditorHandler {}\n\t *\n\t * CustomEditorClass.create( document.querySelector( '#editor' ), {} )\n\t * \t.then( ( editor ) => {\n\t * \t\teditor.commands.get( 'toggleFullscreen' ).fullscreenHandler = new CustomEditorHandler( editor );\n\t * \t} );\n\t * ```\n\t */\n\tpublic fullscreenHandler: FullscreenAbstractEditorHandler;\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic constructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\tthis.affectsData = false;\n\t\tthis.isEnabled = true;\n\t\tthis.value = false;\n\n\t\t// Choose the appropriate handler based on the editor type.\n\t\t// Currently only `ClassicEditor` and `DecoupledEditor` are supported. For other editor types, you should create a custom handler\n\t\t// that extends `FullscreenAbstractEditorHandler` and replace `fullscreenHandler` with it.\n\t\tif ( isClassicEditor( editor ) ) {\n\t\t\tthis.fullscreenHandler = new FullscreenClassicEditorHandler( editor );\n\t\t} else if ( isDecoupledEditor( editor ) ) {\n\t\t\tthis.fullscreenHandler = new FullscreenDecoupledEditorHandler( editor );\n\t\t} else {\n\t\t\tthis.fullscreenHandler = new FullscreenAbstractEditorHandler( editor );\n\t\t}\n\t}\n\n\t/**\n\t * Toggles the fullscreen mode.\n\t */\n\tpublic override execute(): void {\n\t\tif ( this.value ) {\n\t\t\tthis._disableFullscreenMode();\n\t\t} else {\n\t\t\tthis._enableFullscreenMode();\n\t\t}\n\t}\n\n\t/**\n\t * Enables the fullscreen mode.\n\t */\n\tprivate _enableFullscreenMode(): void {\n\t\tthis.fullscreenHandler.enable();\n\n\t\tthis.value = true;\n\t}\n\n\t/**\n\t * Disables the fullscreen mode.\n\t */\n\tprivate _disableFullscreenMode(): void {\n\t\tthis.fullscreenHandler.disable();\n\n\t\tthis.value = false;\n\t}\n}\n\n/**\n * Classic editor typeguard.\n */\nfunction isClassicEditor( editor: Editor ): editor is ClassicEditor {\n\treturn ( editor.constructor as typeof Editor ).editorName === 'ClassicEditor';\n}\n\n/**\n * Decoupled editor typeguard.\n */\nfunction isDecoupledEditor( editor: Editor ): editor is DecoupledEditor {\n\treturn ( editor.constructor as typeof Editor ).editorName === 'DecoupledEditor';\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 fullscreen/fullscreenediting\n */\n\nimport { Plugin, type Editor } from 'ckeditor5/src/core.js';\nimport { env } from 'ckeditor5/src/utils.js';\n\nimport { FullscreenCommand } from './fullscreencommand.js';\n\n/**\n * A plugin that registers the fullscreen mode command.\n */\nexport class FullscreenEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FullscreenEditing' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\teditor.config.define( 'fullscreen.menuBar.isVisible', true );\n\n\t\t// By default, toolbar should behave the same way in fullscreen mode as in normal mode.\n\t\t// This means that the toolbar buttons should be grouped when the toolbar is full.\n\t\teditor.config.define( 'fullscreen.toolbar.shouldNotGroupWhenFull', editor.config.get( 'toolbar.shouldNotGroupWhenFull' ) === true );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tthis.editor.commands.add( 'toggleFullscreen', new FullscreenCommand( this.editor ) );\n\n\t\tconst t = this.editor.locale.t;\n\n\t\t// Set the Ctrl+Shift+F keystroke.\n\t\tthis.editor.keystrokes.set( 'Ctrl+Shift+F', ( evt, cancel ) => {\n\t\t\tthis.editor.execute( 'toggleFullscreen' );\n\n\t\t\t// On non-Chromium browsers, the editor view and toolbar are not blurred properly after moving the editable,\n\t\t\t// even though the `document.activeElement` is changed. Hence we need to blur them manually.\n\t\t\t// Fixes https://github.com/ckeditor/ckeditor5/issues/18250 and https://github.com/ckeditor/ckeditor5/issues/18247.\n\t\t\tif ( !env.isBlink ) {\n\t\t\t\tthis.editor.editing.view.document.isFocused = false;\n\t\t\t\tthis.editor.ui.view.toolbar!.focusTracker.focusedElement = null;\n\t\t\t}\n\n\t\t\t// The order of scroll and focus is not important here.\n\t\t\tthis.editor.editing.view.scrollToTheSelection();\n\t\t\tthis.editor.editing.view.focus();\n\n\t\t\tcancel();\n\t\t} );\n\n\t\t// Add the information about the keystroke to the accessibility database.\n\t\tthis.editor.accessibility.addKeystrokeInfos( {\n\t\t\tkeystrokes: [\n\t\t\t\t{\n\t\t\t\t\tlabel: t( 'Toggle fullscreen mode' ),\n\t\t\t\t\tkeystroke: 'CTRL+SHIFT+F'\n\t\t\t\t}\n\t\t\t],\n\t\t\tcategoryId: 'navigation'\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 fullscreen/fullscreenui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from 'ckeditor5/src/ui.js';\nimport { IconFullscreenEnter, IconFullscreenLeave } from 'ckeditor5/src/icons.js';\nimport { env } from 'ckeditor5/src/utils.js';\n\nimport { FullscreenEditing } from './fullscreenediting.js';\nimport '../theme/fullscreen.css';\n\nconst COMMAND_NAME = 'toggleFullscreen';\n\n/**\n * A plugin registering the fullscreen mode buttons.\n */\nexport class FullscreenUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FullscreenEditing ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'FullscreenUI' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.ui.componentFactory.add( 'fullscreen', () => this._createButton( ButtonView ) );\n\t\teditor.ui.componentFactory.add( 'menuBar:fullscreen', () => this._createButton( MenuBarMenuListItemButtonView ) );\n\t}\n\n\t/**\n\t * Creates a button that toggles the fullscreen mode.\n\t */\n\tprivate _createButton( ButtonClass: typeof ButtonView | typeof MenuBarMenuListItemButtonView ) {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\t\tconst command = editor.commands.get( COMMAND_NAME )!;\n\t\tconst view = new ButtonClass( editor.locale );\n\n\t\tview.set( {\n\t\t\tisToggleable: true\n\t\t} );\n\n\t\tview.bind( 'isEnabled' ).to( command, 'isEnabled' );\n\t\tview.bind( 'isOn' ).to( command, 'value' );\n\n\t\tif ( ( view instanceof MenuBarMenuListItemButtonView ) ) {\n\t\t\tview.set( {\n\t\t\t\trole: 'menuitemcheckbox',\n\t\t\t\tlabel: t( 'Fullscreen mode' )\n\t\t\t} );\n\t\t} else {\n\t\t\tview.bind( 'icon' ).to( command, 'value', value => value ? IconFullscreenLeave : IconFullscreenEnter );\n\t\t\tview.bind( 'label' ).to( command, 'value', value => value ? t( 'Leave fullscreen mode' ) : t( 'Enter fullscreen mode' ) );\n\t\t\tview.set( {\n\t\t\t\ttooltip: true\n\t\t\t} );\n\t\t}\n\n\t\tthis.listenTo( view, 'execute', () => {\n\t\t\teditor.execute( COMMAND_NAME );\n\n\t\t\t// On non-Chromium browsers, toolbar is not blurred properly after moving the editable,\n\t\t\t// even though the `document.activeElement` is changed. Hence we need to blur the view manually.\n\t\t\t// Fixes https://github.com/ckeditor/ckeditor5/issues/18250 and https://github.com/ckeditor/ckeditor5/issues/18247.\n\t\t\tif ( !env.isBlink ) {\n\t\t\t\tthis.editor.ui.view.toolbar!.focusTracker.focusedElement = null;\n\t\t\t}\n\n\t\t\t// The order of scroll and focus is not important here.\n\t\t\teditor.editing.view.scrollToTheSelection();\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\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 fullscreen/fullscreen\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\n\nimport { FullscreenEditing } from './fullscreenediting.js';\nimport { FullscreenUI } from './fullscreenui.js';\n\n/**\n * The fullscreen mode feature.\n */\nexport class Fullscreen extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ FullscreenEditing, FullscreenUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'Fullscreen' 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"]}