Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 1x 1x 1x 2256x 2256x 2256x 201x 1646x 1646x 78x | import { calcAlign, ResultMap } from '../utils/dir';
import { directionFormatHandler } from './directionFormatHandler';
import type { DirectionFormat, TextAlignFormat } from 'roosterjs-content-model-types';
import type { FormatHandler } from '../FormatHandler';
/**
* @internal
*/
export const textAlignFormatHandler: FormatHandler<DirectionFormat & TextAlignFormat> = {
parse: (format, element, context, defaultStyle) => {
directionFormatHandler.parse(format, element, context, defaultStyle);
const textAlign = element.style.textAlign || defaultStyle.textAlign;
if (textAlign && element.parentElement?.style.display !== 'flex') {
format.textAlign = calcAlign(textAlign, format.direction);
}
},
apply: (format, element) => {
const dir: 'ltr' | 'rtl' = format.direction == 'rtl' ? 'rtl' : 'ltr';
if (format.textAlign) {
element.style.textAlign = ResultMap[format.textAlign][dir];
}
},
};
|