{"version":3,"file":"resolve-class-names.cjs","sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.ts"],"sourcesContent":["import cx from 'clsx';\nimport { RaikouTheme } from '../../../../RaikouProvider';\nimport type { _ClassNames } from '../get-class-name';\n\nexport interface ResolveClassNamesInput {\n  theme: RaikouTheme;\n  classNames: _ClassNames;\n  props: Record<string, any>;\n  stylesCtx: Record<string, any> | undefined;\n}\n\nconst EMPTY_CLASS_NAMES: Partial<Record<string, string>> = {};\n\nfunction mergeClassNames(objects: Partial<Record<string, string>>[]) {\n  const merged: Partial<Record<string, string>> = {};\n\n  objects.forEach((obj) => {\n    Object.entries(obj).forEach(([key, value]) => {\n      if (merged[key]) {\n        merged[key] = cx(merged[key], value);\n      } else {\n        merged[key] = value;\n      }\n    });\n  });\n\n  return merged;\n}\n\nexport function resolveClassNames({ theme, classNames, props, stylesCtx }: ResolveClassNamesInput) {\n  const arrayClassNames = Array.isArray(classNames) ? classNames : [classNames];\n  const resolvedClassNames = arrayClassNames.map((item) =>\n    typeof item === 'function' ? item(theme, props, stylesCtx) : item || EMPTY_CLASS_NAMES\n  );\n\n  return mergeClassNames(resolvedClassNames);\n}\n"],"names":["cx"],"mappings":";;;;;;;;AAWA,MAAM,oBAAqD,EAAC;AAE5D,SAAS,gBAAgB,OAA4C,EAAA;AACnE,EAAA,MAAM,SAA0C,EAAC;AAEjD,EAAQ,OAAA,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACvB,IAAO,MAAA,CAAA,OAAA,CAAQ,GAAG,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAM,KAAA;AAC5C,MAAI,IAAA,MAAA,CAAO,GAAG,CAAG,EAAA;AACf,QAAA,MAAA,CAAO,GAAG,CAAI,GAAAA,mBAAA,CAAG,MAAO,CAAA,GAAG,GAAG,KAAK,CAAA;AAAA,OAC9B,MAAA;AACL,QAAA,MAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA;AAChB,KACD,CAAA;AAAA,GACF,CAAA;AAED,EAAO,OAAA,MAAA;AACT;AAEO,SAAS,kBAAkB,EAAE,KAAA,EAAO,UAAY,EAAA,KAAA,EAAO,WAAqC,EAAA;AACjG,EAAA,MAAM,kBAAkB,KAAM,CAAA,OAAA,CAAQ,UAAU,CAAI,GAAA,UAAA,GAAa,CAAC,UAAU,CAAA;AAC5E,EAAA,MAAM,qBAAqB,eAAgB,CAAA,GAAA;AAAA,IAAI,CAAC,IAC9C,KAAA,OAAO,IAAS,KAAA,UAAA,GAAa,KAAK,KAAO,EAAA,KAAA,EAAO,SAAS,CAAA,GAAI,IAAQ,IAAA;AAAA,GACvE;AAEA,EAAA,OAAO,gBAAgB,kBAAkB,CAAA;AAC3C;;;;"}