UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 1.75 kB
{"version":3,"file":"px.cjs","names":[],"sources":["../../../../src/core/utils/units-converters/px.ts"],"sourcesContent":["function getTransformedScaledValue(value: unknown) {\n if (typeof value !== 'string' || !value.includes('var(--mantine-scale)')) {\n return value;\n }\n\n return value\n .match(/^calc\\((.*?)\\)$/)?.[1]\n .split('*')[0]\n .trim();\n}\n\nexport function px(value: unknown) {\n const transformedValue = getTransformedScaledValue(value);\n\n if (typeof transformedValue === 'number') {\n return transformedValue;\n }\n\n if (typeof transformedValue === 'string') {\n if (transformedValue.includes('calc') || transformedValue.includes('var')) {\n return transformedValue;\n }\n\n if (transformedValue.includes('px')) {\n return Number(transformedValue.replace('px', ''));\n }\n\n if (transformedValue.includes('rem')) {\n return Number(transformedValue.replace('rem', '')) * 16;\n }\n\n if (transformedValue.includes('em')) {\n return Number(transformedValue.replace('em', '')) * 16;\n }\n\n return Number(transformedValue);\n }\n\n return NaN;\n}\n"],"mappings":";AAAA,SAAS,0BAA0B,OAAgB;CACjD,IAAI,OAAO,UAAU,YAAY,CAAC,MAAM,SAAS,sBAAsB,GACrE,OAAO;CAGT,OAAO,MACJ,MAAM,iBAAiB,IAAI,GAC3B,MAAM,GAAG,EAAE,GACX,KAAK;AACV;AAEA,SAAgB,GAAG,OAAgB;CACjC,MAAM,mBAAmB,0BAA0B,KAAK;CAExD,IAAI,OAAO,qBAAqB,UAC9B,OAAO;CAGT,IAAI,OAAO,qBAAqB,UAAU;EACxC,IAAI,iBAAiB,SAAS,MAAM,KAAK,iBAAiB,SAAS,KAAK,GACtE,OAAO;EAGT,IAAI,iBAAiB,SAAS,IAAI,GAChC,OAAO,OAAO,iBAAiB,QAAQ,MAAM,EAAE,CAAC;EAGlD,IAAI,iBAAiB,SAAS,KAAK,GACjC,OAAO,OAAO,iBAAiB,QAAQ,OAAO,EAAE,CAAC,IAAI;EAGvD,IAAI,iBAAiB,SAAS,IAAI,GAChC,OAAO,OAAO,iBAAiB,QAAQ,MAAM,EAAE,CAAC,IAAI;EAGtD,OAAO,OAAO,gBAAgB;CAChC;CAEA,OAAO;AACT"}