/** * @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 restricted-editing/restrictededitingconfig */ /** * The configuration of the restricted editing mode feature. * The option is used by the {@link module:restricted-editing/restrictededitingmode~RestrictedEditingMode} feature. * * ```ts * ClassicEditor * .create( { * restrictedEditing: { * allowedCommands: [ 'bold', 'link', 'unlink' ], * allowedAttributes: [ 'bold', 'linkHref' ] * } * } ) * .then( ... ) * .catch( ... ); * ``` * * See {@link module:core/editor/editorconfig~EditorConfig all editor options}. */ export interface RestrictedEditingConfig { /** * The command names allowed in inline non-restricted areas of the content. * * Defines which feature commands should be enabled in the restricted editing mode. The commands used for typing and deleting text * (`'input'`, `'delete'` and `'deleteForward'`) are allowed by the feature inside non-restricted regions and do not need to be defined. * * **Note**: The restricted editing mode always allows to use the restricted mode navigation commands as well as `'undo'` and `'redo'` * commands. * * The default value is: * * ```ts * const restrictedEditingConfig = { * allowedCommands: [ 'bold', 'italic', 'link', 'unlink' ] * }; * ``` * * Only inline content inserting or editing commands are allowed in this setting. Block content commands such as * `insertTable` or `enter` cannot be allowed via this setting, as they are not supported in the restricted editing mode. * * To make a command always enabled (also outside non-restricted areas) use the * {@link module:restricted-editing/restrictededitingmodeediting~RestrictedEditingModeEditing#enableCommand} method. */ allowedCommands: Array; /** * The text attribute names allowed when pasting content in inline non-restricted areas. * * The default value is: * * ```ts * const restrictedEditingConfig = { * allowedAttributes: [ 'bold', 'italic', 'linkHref' ] * }; * ``` */ allowedAttributes: Array; }