@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 1.73 kB
Source Map (JSON)
{"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;AACjD,KAAI,OAAO,UAAU,YAAY,CAAC,MAAM,SAAS,uBAAuB,CACtE,QAAO;AAGT,QAAO,MACJ,MAAM,kBAAkB,GAAG,GAC3B,MAAM,IAAI,CAAC,GACX,MAAM;;AAGX,SAAgB,GAAG,OAAgB;CACjC,MAAM,mBAAmB,0BAA0B,MAAM;AAEzD,KAAI,OAAO,qBAAqB,SAC9B,QAAO;AAGT,KAAI,OAAO,qBAAqB,UAAU;AACxC,MAAI,iBAAiB,SAAS,OAAO,IAAI,iBAAiB,SAAS,MAAM,CACvE,QAAO;AAGT,MAAI,iBAAiB,SAAS,KAAK,CACjC,QAAO,OAAO,iBAAiB,QAAQ,MAAM,GAAG,CAAC;AAGnD,MAAI,iBAAiB,SAAS,MAAM,CAClC,QAAO,OAAO,iBAAiB,QAAQ,OAAO,GAAG,CAAC,GAAG;AAGvD,MAAI,iBAAiB,SAAS,KAAK,CACjC,QAAO,OAAO,iBAAiB,QAAQ,MAAM,GAAG,CAAC,GAAG;AAGtD,SAAO,OAAO,iBAAiB;;AAGjC,QAAO"}