@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 2.48 kB
Source Map (JSON)
{"version":3,"file":"rem.cjs","names":[],"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 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"],"mappings":";AAAA,SAAS,SAAS,UAAkB;CAClC,IAAI,aAAa,QACf,OAAO;CAGT,OAAO,QAAQ,SAAS;AAC1B;AAEA,SAAS,gBAAgB,OAAe,EAAE,cAAc,UAAU,CAAC,GAAG;CACpE,SAAS,UAAU,OAAwB;EACzC,IAAI,UAAU,KAAK,UAAU,KAC3B,OAAO,IAAI;EAGb,IAAI,OAAO,UAAU,UAAU;GAC7B,MAAM,MAAM,GAAG,QAAQ,KAAK;GAC5B,OAAO,cAAc,SAAS,GAAG,IAAI;EACvC;EAEA,IAAI,OAAO,UAAU,UAAU;GAE7B,IAAI,UAAU,IACZ,OAAO;GAGT,IAAI,MAAM,WAAW,OAAO,KAAK,MAAM,WAAW,QAAQ,KAAK,MAAM,SAAS,OAAO,GACnF,OAAO;GAGT,IAAI,MAAM,SAAS,GAAG,GACpB,OAAO,MACJ,MAAM,GAAG,EACT,KAAK,QAAQ,UAAU,GAAG,CAAC,EAC3B,KAAK,GAAG;GAGb,IAAI,MAAM,SAAS,GAAG,GACpB,OAAO,MACJ,MAAM,GAAG,EACT,KAAK,QAAQ,UAAU,GAAG,CAAC,EAC3B,KAAK,GAAG;GAGb,MAAM,WAAW,MAAM,QAAQ,MAAM,EAAE;GACvC,IAAI,CAAC,OAAO,MAAM,OAAO,QAAQ,CAAC,GAAG;IACnC,MAAM,MAAM,GAAG,OAAO,QAAQ,IAAI,KAAK;IACvC,OAAO,cAAc,SAAS,GAAG,IAAI;GACvC;EACF;EAEA,OAAO;CACT;CAEA,OAAO;AACT;AAEA,MAAa,MAAM,gBAAgB,OAAO,EAAE,aAAa,KAAK,CAAC;AAC/D,MAAa,KAAK,gBAAgB,IAAI"}