UNPKG

@ckeditor/ckeditor5-engine

Version:

The editing engine of CKEditor 5 – the best browser-based rich text editor.

35 lines (34 loc) 1.29 kB
/** * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ import { getPositionStyleShorthandNormalizer, getBoxSidesStyleValueReducer } from './utils.js'; /** * Adds a margin CSS styles processing rules. * * ```ts * editor.data.addStyleProcessorRules( addMarginStylesRules ); * ``` * * The normalized value is stored as: * * ```ts * const styles = { * margin: { * top, * right, * bottom, * left * } * }; * ``` */ export function addMarginStylesRules(stylesProcessor) { stylesProcessor.setNormalizer('margin', getPositionStyleShorthandNormalizer('margin')); stylesProcessor.setNormalizer('margin-top', value => ({ path: 'margin.top', value })); stylesProcessor.setNormalizer('margin-right', value => ({ path: 'margin.right', value })); stylesProcessor.setNormalizer('margin-bottom', value => ({ path: 'margin.bottom', value })); stylesProcessor.setNormalizer('margin-left', value => ({ path: 'margin.left', value })); stylesProcessor.setReducer('margin', getBoxSidesStyleValueReducer('margin')); stylesProcessor.setStyleRelation('margin', ['margin-top', 'margin-right', 'margin-bottom', 'margin-left']); }