@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 3.34 kB
Source Map (JSON)
{"version":3,"file":"rem.cjs","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":";;AAAA,SAAS,SAAS,QAAkB,EAAA;AAClC,EAAA,IAAI,aAAa,MAAQ,EAAA;AACvB,IAAO,OAAA,MAAA;AAAA;AAGT,EAAA,OAAO,QAAQ,QAAQ,CAAA,wBAAA,CAAA;AACzB;AAEA,SAAS,gBAAgB,KAAe,EAAA,EAAE,cAAc,KAAM,EAAA,GAAI,EAAI,EAAA;AACpE,EAAA,SAAS,UAAU,KAAwB,EAAA;AACzC,IAAI,IAAA,KAAA,KAAU,CAAK,IAAA,KAAA,KAAU,GAAK,EAAA;AAChC,MAAA,OAAO,IAAI,KAAK,CAAA,CAAA;AAAA;AAGlB,IAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,MAAA,MAAM,GAAM,GAAA,CAAA,EAAG,KAAQ,GAAA,EAAE,GAAG,KAAK,CAAA,CAAA;AACjC,MAAO,OAAA,WAAA,GAAc,QAAS,CAAA,GAAG,CAAI,GAAA,GAAA;AAAA;AAGvC,IAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAE7B,MAAA,IAAI,UAAU,EAAI,EAAA;AAChB,QAAO,OAAA,KAAA;AAAA;AAGT,MAAI,IAAA,KAAA,CAAM,UAAW,CAAA,OAAO,CAAK,IAAA,KAAA,CAAM,UAAW,CAAA,QAAQ,CAAK,IAAA,KAAA,CAAM,QAAS,CAAA,OAAO,CAAG,EAAA;AACtF,QAAO,OAAA,KAAA;AAAA;AAGT,MAAI,IAAA,KAAA,CAAM,QAAS,CAAA,GAAG,CAAG,EAAA;AACvB,QAAA,OAAO,KACJ,CAAA,KAAA,CAAM,GAAG,CAAA,CACT,GAAI,CAAA,CAAC,GAAQ,KAAA,SAAA,CAAU,GAAG,CAAC,CAC3B,CAAA,IAAA,CAAK,GAAG,CAAA;AAAA;AAGb,MAAI,IAAA,KAAA,CAAM,QAAS,CAAA,GAAG,CAAG,EAAA;AACvB,QAAA,OAAO,KACJ,CAAA,KAAA,CAAM,GAAG,CAAA,CACT,GAAI,CAAA,CAAC,GAAQ,KAAA,SAAA,CAAU,GAAG,CAAC,CAC3B,CAAA,IAAA,CAAK,GAAG,CAAA;AAAA;AAGb,MAAI,IAAA,KAAA,CAAM,QAAS,CAAA,KAAK,CAAG,EAAA;AACzB,QAAO,OAAA,WAAA,GAAc,QAAS,CAAA,KAAK,CAAI,GAAA,KAAA;AAAA;AAGzC,MAAA,MAAM,QAAW,GAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,EAAM,EAAE,CAAA;AACvC,MAAA,IAAI,CAAC,MAAO,CAAA,KAAA,CAAM,MAAO,CAAA,QAAQ,CAAC,CAAG,EAAA;AACnC,QAAA,MAAM,MAAM,CAAG,EAAA,MAAA,CAAO,QAAQ,CAAI,GAAA,EAAE,GAAG,KAAK,CAAA,CAAA;AAC5C,QAAO,OAAA,WAAA,GAAc,QAAS,CAAA,GAAG,CAAI,GAAA,GAAA;AAAA;AACvC;AAGF,IAAO,OAAA,KAAA;AAAA;AAGT,EAAO,OAAA,SAAA;AACT;AAEO,MAAM,MAAM,eAAgB,CAAA,KAAA,EAAO,EAAE,WAAA,EAAa,MAAM;AAClD,MAAA,EAAA,GAAK,gBAAgB,IAAI;;;;;"}