{"version":3,"file":"resolve-vars.mjs","sources":["../../../../../../src/core/styles-api/use-styles/get-style/resolve-vars/resolve-vars.ts"],"sourcesContent":["import { CSSProperties } from 'react';\nimport { CssVariable } from '../../../../Box';\nimport { RaikouTheme } from '../../../../RaikouProvider';\nimport { mergeVars } from './merge-vars';\n\ntype ResolvedVars = Partial<Record<string, Record<CssVariable, string>>>;\n\nexport type VarsResolver = (\n  theme: RaikouTheme,\n  props: Record<string, any>,\n  stylesCtx: Record<string, any> | undefined\n) => ResolvedVars;\n\ninterface ResolveVarsInput {\n  vars: VarsResolver | undefined;\n  varsResolver: VarsResolver | undefined;\n  theme: RaikouTheme;\n  props: Record<string, any>;\n  stylesCtx: Record<string, any> | undefined;\n  selector: string;\n  themeName: string[];\n}\n\nexport function resolveVars({\n  vars,\n  varsResolver,\n  theme,\n  props,\n  stylesCtx,\n  selector,\n  themeName,\n}: ResolveVarsInput) {\n  return mergeVars([\n    varsResolver?.(theme, props, stylesCtx),\n    ...themeName.map((name) => theme.components?.[name]?.vars?.(theme, props, stylesCtx)),\n    vars?.(theme, props, stylesCtx),\n  ])?.[selector] as CSSProperties;\n}\n"],"names":[],"mappings":";;AAuBO,SAAS,WAAY,CAAA;AAAA,EAC1B,IAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAqB,EAAA;AACnB,EAAA,OAAO,SAAU,CAAA;AAAA,IACf,YAAA,GAAe,KAAO,EAAA,KAAA,EAAO,SAAS,CAAA;AAAA,IACtC,GAAG,SAAA,CAAU,GAAI,CAAA,CAAC,IAAS,KAAA,KAAA,CAAM,UAAa,GAAA,IAAI,CAAG,EAAA,IAAA,GAAO,KAAO,EAAA,KAAA,EAAO,SAAS,CAAC,CAAA;AAAA,IACpF,IAAA,GAAO,KAAO,EAAA,KAAA,EAAO,SAAS;AAAA,GAC/B,IAAI,QAAQ,CAAA;AACf;;;;"}