/**
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
*/
/**
* @module minimap/minimapconfig
*/
/**
* The configuration of the {@link module:minimap/minimap~Minimap} feature.
*
* ```ts
* ClassicEditor
* 	.create( {
* 		minimap: ... // Minimap feature config.
* 	} )
* 	.then( ... )
* 	.catch( ... );
* ```
*
* See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
*/
export interface MinimapConfig {
	/**
	* The DOM element container for the minimap.
	*
	* **Note**: The container must have a fixed `width` and `overflow: hidden` for the minimap to work correctly.
	*/
	container: HTMLElement;
	/**
	* When set to `true`, the minimap will render content as simple boxes instead of replicating the look of the content (default).
	*/
	useSimplePreview?: boolean;
	/**
	* Extra CSS class (or classes) that will be set internally on the `<body>` element of the `<iframe>` enclosing the minimap.
	*
	* By default, the minimap feature will attempt to clone all website styles and re-apply them in the `<iframe>` for the best accuracy.
	* However, this may not work if the content of your editor inherits the styles from parent containers, resulting in inconsistent
	* look and imprecise scrolling of the minimap.
	*
	* This optional configuration can address these issues by ensuring the same CSS rules apply to the content of the minimap
	* and the original content of the editor.
	*
	* For instance, consider the following DOM structure:
	*
	* ```html
	* <div class="website">
	* 	<!-- ... -->
	* 	<div class="styled-container">
	* 		 <!-- ... -->
	* 		<div id="editor">
	* 			<!-- content of the editor -->
	* 		</div>
	* 	</div>
	* 	<!-- ... -->
	* </div>
	* ```
	*
	* and the following CSS styles:
	*
	* ```css
	* .website p {
	* 	font-size: 13px;
	* }
	*
	* .styled-container p {
	* 	color: #ccc;
	* }
	* ```
	*
	* To maintain the consistency of styling (`font-size` and `color` of paragraphs), you will need to pass the CSS class names
	* of these containers:
	*
	* ```ts
	* ClassicEditor
	* 	.create( {
	* 		attachTo: document.getElementById( 'editor' ),
	* 		minimap: {
	* 			extraClasses: 'website styled-container'
	* 		}
	* 	} )
	* 	.then( ... )
	* 	.catch( ... );
	* ```
	*/
	extraClasses?: string;
}
