{"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"}