UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 5.02 kB
{"version":3,"file":"get-class-name.cjs","names":["getGlobalClassNames","getVariantClassName","getResolvedClassNames","getOptionsClassNames","getRootClassName","getSelectorClassName","getStaticClassNames"],"sources":["../../../../../src/core/styles-api/use-styles/get-class-name/get-class-name.ts"],"sourcesContent":["import cx from 'clsx';\nimport { MantineTheme } from '../../../MantineProvider';\nimport { GetStylesApiOptions } from '../../styles-api.types';\nimport { getGlobalClassNames } from './get-global-class-names/get-global-class-names';\nimport { getOptionsClassNames } from './get-options-class-names/get-options-class-names';\nimport { getResolvedClassNames } from './get-resolved-class-names/get-resolved-class-names';\nimport { getRootClassName } from './get-root-class-name/get-root-class-name';\nimport { getSelectorClassName } from './get-selector-class-name/get-selector-class-name';\nimport { getStaticClassNames } from './get-static-class-names/get-static-class-names';\nimport { getVariantClassName } from './get-variant-class-name/get-variant-class-name';\n\ntype __ClassNames =\n | undefined\n | Partial<Record<string, string>>\n | ((\n theme: MantineTheme,\n props: Record<string, any>,\n ctx: Record<string, any> | undefined\n ) => Partial<Record<string, string>>);\n\nexport type _ClassNames = __ClassNames | __ClassNames[];\n\nexport interface GetClassNameOptions {\n /** Theme object, resolved by hook */\n theme: MantineTheme;\n\n /** Options for specified selector, may include `classNames` or `className` */\n options: GetStylesApiOptions | undefined;\n\n /** Name of the component which is used to get `classNames` from `theme.components` */\n themeName: string[];\n\n /** Class part specified in `getStyles` */\n selector: string;\n\n /** Prefix for all class names, resolved by hook, `mantine` by default */\n classNamesPrefix: string;\n\n /** Precomputed resolved `classNames` map (from the component `classNames` prop) */\n resolvedClassNames: Partial<Record<string, string>>;\n\n /** Precomputed resolved theme `classNames` maps (from `theme.components[name].classNames`) */\n resolvedThemeClassNames: Partial<Record<string, string>>[];\n\n /** Classes object, usually imported from `*.module.css` */\n classes: Record<string, string>;\n\n /** Determines whether classes from `classes` should be added to the list */\n unstyled: boolean | undefined;\n\n /** `className` specified in the hook, added to the list if `selector` is `rootSelector` */\n className: string | undefined;\n\n /** `rootSelector` specified in the hook, determines whether `className` should be added to the list */\n rootSelector: string;\n\n /** Component props, used as context for `options.classNames` */\n props: Record<string, any>;\n\n /** Component styles context, used as context for `options.classNames` */\n stylesCtx?: Record<string, any> | undefined;\n\n /** Determines whether static classes should be added */\n withStaticClasses?: boolean;\n\n /** If set, removes all Mantine classes */\n headless?: boolean;\n\n /** `styles` prop transformed into classes with CSS-in-JS library, for example, emotion */\n transformedStyles?: Record<string, string>[];\n}\n\nexport function getClassName({\n theme,\n options,\n themeName,\n selector,\n classNamesPrefix,\n resolvedClassNames,\n resolvedThemeClassNames,\n classes,\n unstyled,\n className,\n rootSelector,\n props,\n stylesCtx,\n withStaticClasses,\n headless,\n transformedStyles,\n}: GetClassNameOptions) {\n return cx(\n getGlobalClassNames({ theme, options, unstyled: unstyled || headless }),\n resolvedThemeClassNames.map((m) => m[selector]),\n getVariantClassName({ options, classes, selector, unstyled: unstyled || headless }),\n resolvedClassNames[selector],\n getResolvedClassNames({ selector, stylesCtx, theme, classNames: transformedStyles, props }),\n getOptionsClassNames({ selector, stylesCtx, options, props, theme }),\n getRootClassName({ rootSelector, selector, className }),\n getSelectorClassName({ selector, classes, unstyled: unstyled || headless }),\n withStaticClasses &&\n !headless &&\n getStaticClassNames({\n themeName,\n classNamesPrefix,\n selector,\n withStaticClass: options?.withStaticClass,\n }),\n options?.className\n );\n}\n"],"mappings":";;;;;;;;;;;;AAwEA,SAAgB,aAAa,EAC3B,OACA,SACA,WACA,UACA,kBACA,oBACA,yBACA,SACA,UACA,WACA,cACA,OACA,WACA,mBACA,UACA,qBACsB;AACtB,SAAA,GAAA,KAAA,SACEA,+BAAAA,oBAAoB;EAAE;EAAO;EAAS,UAAU,YAAY;EAAU,CAAC,EACvE,wBAAwB,KAAK,MAAM,EAAE,UAAU,EAC/CC,+BAAAA,oBAAoB;EAAE;EAAS;EAAS;EAAU,UAAU,YAAY;EAAU,CAAC,EACnF,mBAAmB,WACnBC,iCAAAA,sBAAsB;EAAE;EAAU;EAAW;EAAO,YAAY;EAAmB;EAAO,CAAC,EAC3FC,gCAAAA,qBAAqB;EAAE;EAAU;EAAW;EAAS;EAAO;EAAO,CAAC,EACpEC,4BAAAA,iBAAiB;EAAE;EAAc;EAAU;EAAW,CAAC,EACvDC,gCAAAA,qBAAqB;EAAE;EAAU;EAAS,UAAU,YAAY;EAAU,CAAC,EAC3E,qBACE,CAAC,YACDC,+BAAAA,oBAAoB;EAClB;EACA;EACA;EACA,iBAAiB,SAAS;EAC3B,CAAC,EACJ,SAAS,UACV"}