UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 2.45 kB
{"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;AAClC,KAAI,aAAa,OACf,QAAO;AAGT,QAAO,QAAQ,SAAS;;AAG1B,SAAS,gBAAgB,OAAe,EAAE,cAAc,UAAU,EAAE,EAAE;CACpE,SAAS,UAAU,OAAwB;AACzC,MAAI,UAAU,KAAK,UAAU,IAC3B,QAAO,IAAI;AAGb,MAAI,OAAO,UAAU,UAAU;GAC7B,MAAM,MAAM,GAAG,QAAQ,KAAK;AAC5B,UAAO,cAAc,SAAS,IAAI,GAAG;;AAGvC,MAAI,OAAO,UAAU,UAAU;AAE7B,OAAI,UAAU,GACZ,QAAO;AAGT,OAAI,MAAM,WAAW,QAAQ,IAAI,MAAM,WAAW,SAAS,IAAI,MAAM,SAAS,QAAQ,CACpF,QAAO;AAGT,OAAI,MAAM,SAAS,IAAI,CACrB,QAAO,MACJ,MAAM,IAAI,CACV,KAAK,QAAQ,UAAU,IAAI,CAAC,CAC5B,KAAK,IAAI;AAGd,OAAI,MAAM,SAAS,IAAI,CACrB,QAAO,MACJ,MAAM,IAAI,CACV,KAAK,QAAQ,UAAU,IAAI,CAAC,CAC5B,KAAK,IAAI;GAGd,MAAM,WAAW,MAAM,QAAQ,MAAM,GAAG;AACxC,OAAI,CAAC,OAAO,MAAM,OAAO,SAAS,CAAC,EAAE;IACnC,MAAM,MAAM,GAAG,OAAO,SAAS,GAAG,KAAK;AACvC,WAAO,cAAc,SAAS,IAAI,GAAG;;;AAIzC,SAAO;;AAGT,QAAO;;AAGT,MAAa,MAAM,gBAAgB,OAAO,EAAE,aAAa,MAAM,CAAC;AAChE,MAAa,KAAK,gBAAgB,KAAK"}