@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 3.18 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 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,QAAA,EAAkB;AAClC,EAAA,IAAI,aAAa,MAAA,EAAQ;AACvB,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,OAAO,QAAQ,QAAQ,CAAA,wBAAA,CAAA;AACzB;AAEA,SAAS,gBAAgB,KAAA,EAAe,EAAE,cAAc,KAAA,EAAM,GAAI,EAAC,EAAG;AACpE,EAAA,SAAS,UAAU,KAAA,EAAwB;AACzC,IAAA,IAAI,KAAA,KAAU,CAAA,IAAK,KAAA,KAAU,GAAA,EAAK;AAChC,MAAA,OAAO,IAAI,KAAK,CAAA,CAAA;AAAA,IAClB;AAEA,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,MAAA,MAAM,GAAA,GAAM,CAAA,EAAG,KAAA,GAAQ,EAAE,GAAG,KAAK,CAAA,CAAA;AACjC,MAAA,OAAO,WAAA,GAAc,QAAA,CAAS,GAAG,CAAA,GAAI,GAAA;AAAA,IACvC;AAEA,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAE7B,MAAA,IAAI,UAAU,EAAA,EAAI;AAChB,QAAA,OAAO,KAAA;AAAA,MACT;AAEA,MAAA,IAAI,KAAA,CAAM,UAAA,CAAW,OAAO,CAAA,IAAK,KAAA,CAAM,UAAA,CAAW,QAAQ,CAAA,IAAK,KAAA,CAAM,QAAA,CAAS,OAAO,CAAA,EAAG;AACtF,QAAA,OAAO,KAAA;AAAA,MACT;AAEA,MAAA,IAAI,KAAA,CAAM,QAAA,CAAS,GAAG,CAAA,EAAG;AACvB,QAAA,OAAO,KAAA,CACJ,KAAA,CAAM,GAAG,CAAA,CACT,GAAA,CAAI,CAAC,GAAA,KAAQ,SAAA,CAAU,GAAG,CAAC,CAAA,CAC3B,IAAA,CAAK,GAAG,CAAA;AAAA,MACb;AAEA,MAAA,IAAI,KAAA,CAAM,QAAA,CAAS,GAAG,CAAA,EAAG;AACvB,QAAA,OAAO,KAAA,CACJ,KAAA,CAAM,GAAG,CAAA,CACT,GAAA,CAAI,CAAC,GAAA,KAAQ,SAAA,CAAU,GAAG,CAAC,CAAA,CAC3B,IAAA,CAAK,GAAG,CAAA;AAAA,MACb;AAEA,MAAA,MAAM,QAAA,GAAW,KAAA,CAAM,OAAA,CAAQ,IAAA,EAAM,EAAE,CAAA;AACvC,MAAA,IAAI,CAAC,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,QAAQ,CAAC,CAAA,EAAG;AACnC,QAAA,MAAM,MAAM,CAAA,EAAG,MAAA,CAAO,QAAQ,CAAA,GAAI,EAAE,GAAG,KAAK,CAAA,CAAA;AAC5C,QAAA,OAAO,WAAA,GAAc,QAAA,CAAS,GAAG,CAAA,GAAI,GAAA;AAAA,MACvC;AAAA,IACF;AAEA,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,OAAO,SAAA;AACT;AAEO,MAAM,MAAM,eAAA,CAAgB,KAAA,EAAO,EAAE,WAAA,EAAa,MAAM;AACxD,MAAM,EAAA,GAAK,gBAAgB,IAAI;;;;;"}