UNPKG

apphouse

Version:

Component library for React that uses observable state management and theme-able components.

37 lines (31 loc) 943 B
import { FONT_SIZE_CONVERSION_RATIO_PX_TO_PT, FONT_SIZE_CONVERSION_RATIO_REMS_TO_PX } from './fontSizeRatios'; export const toPt = (value: string | number) => { if (!value) { return ''; } if (typeof value === 'string') { if (value.indexOf('rem') >= 0) { return `${parseFloat(value) * FONT_SIZE_CONVERSION_RATIO_REMS_TO_PX}pt`; } if (value.indexOf('px') >= 0) { return `${parseFloat(value) * FONT_SIZE_CONVERSION_RATIO_PX_TO_PT}pt`; } if (value.indexOf('pt') >= 0) { return `${parseFloat(value) * FONT_SIZE_CONVERSION_RATIO_PX_TO_PT}pt`; } if (value.indexOf('sp') >= 0) { return `${parseFloat(value)}sp`; } if (isNaN(parseFloat(value))) { return `0pt`; } return `${parseFloat(value) * FONT_SIZE_CONVERSION_RATIO_PX_TO_PT}pt`; } if (typeof value === 'number') { return `${value * FONT_SIZE_CONVERSION_RATIO_PX_TO_PT}pt`; } return value; };