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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 1x 1x 883x 883x 883x 883x 883x 883x 883x 162x 883x 132x 883x 7x 883x 2x 883x 1x 883x 1x 1129x 56x 1129x 50x 1129x 14x 1129x 3x 1129x 1x 1129x 1x 1477x 1477x 1477x | import type { FormatHandler } from '../FormatHandler'; import type { SizeFormat } from 'roosterjs-content-model-types'; const PercentageRegex = /[\d\.]+%/; /** * @internal */ export const sizeFormatHandler: FormatHandler<SizeFormat> = { parse: (format, element, context) => { const width = element.style.width || tryParseSize(element, 'width'); const height = element.style.height || tryParseSize(element, 'height'); const maxWidth = element.style.maxWidth; const maxHeight = element.style.maxHeight; const minWidth = element.style.minWidth; const minHeight = element.style.minHeight; if (width) { format.width = width; } if (height) { format.height = height; } if (maxWidth) { format.maxWidth = maxWidth; } if (maxHeight) { format.maxHeight = maxHeight; } if (minWidth) { format.minWidth = minWidth; } if (minHeight) { format.minHeight = minHeight; } }, apply: (format, element) => { if (format.width) { element.style.width = format.width; } if (format.height) { element.style.height = format.height; } if (format.maxWidth) { element.style.maxWidth = format.maxWidth; } if (format.maxHeight) { element.style.maxHeight = format.maxHeight; } if (format.minWidth) { element.style.minWidth = format.minWidth; } if (format.minHeight) { element.style.minHeight = format.minHeight; } }, }; function tryParseSize(element: HTMLElement, attrName: 'width' | 'height'): string | undefined { const attrValue = element.getAttribute(attrName); const value = parseInt(attrValue || ''); return attrValue && PercentageRegex.test(attrValue) ? attrValue : Number.isNaN(value) || value == 0 ? undefined : value + 'px'; } |