UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 3.57 kB
{"version":3,"file":"rem.mjs","sources":["../../../../src/core/utils/units-converters/rem.ts"],"sourcesContent":["function scaleRem(remValue: string) {\n if (remValue === '0rem') {\n return '0rem';\n }\n\n return `calc(${remValue} * var(--mantine-scale))`;\n}\n\nfunction createConverter(units: string, { shouldScale = false } = {}) {\n function converter(value: unknown): string {\n if (value === 0 || value === '0') {\n return `0${units}`;\n }\n\n if (typeof value === 'number') {\n const val = `${value / 16}${units}`;\n return shouldScale ? scaleRem(val) : val;\n }\n\n if (typeof value === 'string') {\n // Number(\"\") === 0 so exit early\n if (value === '') {\n return value;\n }\n\n if (value.startsWith('calc(') || value.startsWith('clamp(') || value.includes('rgba(')) {\n return value;\n }\n\n if (value.includes(',')) {\n return value\n .split(',')\n .map((val) => converter(val))\n .join(',');\n }\n\n if (value.includes(' ')) {\n return value\n .split(' ')\n .map((val) => converter(val))\n .join(' ');\n }\n\n if (value.includes(units)) {\n return shouldScale ? scaleRem(value) : value;\n }\n\n const replaced = value.replace('px', '');\n if (!Number.isNaN(Number(replaced))) {\n const val = `${Number(replaced) / 16}${units}`;\n return shouldScale ? scaleRem(val) : val;\n }\n }\n\n return value as string;\n }\n\n return converter;\n}\n\nexport const rem = createConverter('rem', { shouldScale: true });\nexport const em = createConverter('em');\n"],"names":[],"mappings":"AACA,SAAS,QAAQ,CAAC,QAAQ,EAAE;AAC5B,EAAE,IAAI,QAAQ,KAAK,MAAM,EAAE;AAC3B,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AACpD,CAAC;AACD,SAAS,eAAe,CAAC,KAAK,EAAE,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE;AAC9D,EAAE,SAAS,SAAS,CAAC,KAAK,EAAE;AAC5B,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,EAAE;AACtC,MAAM,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACzB,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1C,MAAM,OAAO,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC/C,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,MAAM,IAAI,KAAK,KAAK,EAAE,EAAE;AACxB,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC9F,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC/B,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvE,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC/B,QAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvE,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACjC,QAAQ,OAAO,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACrD,OAAO;AACP,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE;AAC3C,QAAQ,MAAM,GAAG,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACvD,QAAQ,OAAO,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACjD,OAAO;AACP,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC;AACW,MAAC,GAAG,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;AACrD,MAAC,EAAE,GAAG,eAAe,CAAC,IAAI;;;;"}