UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 1.6 kB
{"version":3,"file":"styles-to-string.mjs","names":[],"sources":["../../../../src/core/InlineStyles/styles-to-string/styles-to-string.ts"],"sourcesContent":["import { cssObjectToString } from '../css-object-to-string/css-object-to-string';\n\nexport interface InlineStylesMediaQuery {\n query: string;\n styles: React.CSSProperties;\n}\n\nexport interface InlineStylesInput {\n selector: string;\n styles?: React.CSSProperties;\n media?: InlineStylesMediaQuery[];\n container?: InlineStylesMediaQuery[];\n}\n\nexport function stylesToString({ selector, styles, media, container }: InlineStylesInput) {\n const baseStyles = styles ? cssObjectToString(styles) : '';\n const mediaQueryStyles = !Array.isArray(media)\n ? []\n : media.map((item) => `@media${item.query}{${selector}{${cssObjectToString(item.styles)}}}`);\n\n const containerStyles = !Array.isArray(container)\n ? []\n : container.map(\n (item) => `@container ${item.query}{${selector}{${cssObjectToString(item.styles)}}}`\n );\n\n return `${baseStyles ? `${selector}{${baseStyles}}` : ''}${mediaQueryStyles.join('')}${containerStyles.join('')}`.trim();\n}\n"],"mappings":";;;AAcA,SAAgB,eAAe,EAAE,UAAU,QAAQ,OAAO,aAAgC;CACxF,MAAM,aAAa,SAAS,kBAAkB,OAAO,GAAG;CACxD,MAAM,mBAAmB,CAAC,MAAM,QAAQ,MAAM,GAC1C,EAAE,GACF,MAAM,KAAK,SAAS,SAAS,KAAK,MAAM,GAAG,SAAS,GAAG,kBAAkB,KAAK,OAAO,CAAC,IAAI;CAE9F,MAAM,kBAAkB,CAAC,MAAM,QAAQ,UAAU,GAC7C,EAAE,GACF,UAAU,KACP,SAAS,cAAc,KAAK,MAAM,GAAG,SAAS,GAAG,kBAAkB,KAAK,OAAO,CAAC,IAClF;AAEL,QAAO,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,KAAK,KAAK,iBAAiB,KAAK,GAAG,GAAG,gBAAgB,KAAK,GAAG,GAAG,MAAM"}