{"version":3,"file":"get-box-style.mjs","sources":["../../../../src/core/Box/get-box-style/get-box-style.ts"],"sourcesContent":["import type { RaikouTheme } from '../../RaikouProvider';\nimport type { CssVarsProp, RaikouStyleProp } from '../Box.types';\n\ninterface GetBoxStyleOptions {\n  theme: RaikouTheme;\n  styleProps: React.CSSProperties;\n  style?: RaikouStyleProp;\n  vars?: CssVarsProp;\n}\n\nfunction mergeStyles(\n  styles: RaikouStyleProp | CssVarsProp | undefined,\n  theme: RaikouTheme\n): React.CSSProperties {\n  if (Array.isArray(styles)) {\n    return [...styles].reduce<Record<string, any>>(\n      (acc, item) => ({ ...acc, ...mergeStyles(item, theme) }),\n      {}\n    );\n  }\n\n  if (typeof styles === 'function') {\n    return styles(theme);\n  }\n\n  if (styles == null) {\n    return {};\n  }\n\n  return styles;\n}\n\nexport function getBoxStyle({\n  theme,\n  style,\n  vars,\n  styleProps,\n}: GetBoxStyleOptions): React.CSSProperties {\n  const _style = mergeStyles(style, theme);\n  const _vars = mergeStyles(vars, theme);\n  return { ..._style, ..._vars, ...styleProps };\n}\n"],"names":[],"mappings":"AAUA,SAAS,WAAA,CACP,QACA,KACqB,EAAA;AACrB,EAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,MAAM,CAAG,EAAA;AACzB,IAAO,OAAA,CAAC,GAAG,MAAM,CAAE,CAAA,MAAA;AAAA,MACjB,CAAC,GAAK,EAAA,IAAA,MAAU,EAAE,GAAG,KAAK,GAAG,WAAA,CAAY,IAAM,EAAA,KAAK,CAAE,EAAA,CAAA;AAAA,MACtD;AAAC,KACH;AAAA;AAGF,EAAI,IAAA,OAAO,WAAW,UAAY,EAAA;AAChC,IAAA,OAAO,OAAO,KAAK,CAAA;AAAA;AAGrB,EAAA,IAAI,UAAU,IAAM,EAAA;AAClB,IAAA,OAAO,EAAC;AAAA;AAGV,EAAO,OAAA,MAAA;AACT;AAEO,SAAS,WAAY,CAAA;AAAA,EAC1B,KAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAA4C,EAAA;AAC1C,EAAM,MAAA,MAAA,GAAS,WAAY,CAAA,KAAA,EAAO,KAAK,CAAA;AACvC,EAAM,MAAA,KAAA,GAAQ,WAAY,CAAA,IAAA,EAAM,KAAK,CAAA;AACrC,EAAA,OAAO,EAAE,GAAG,MAAA,EAAQ,GAAG,KAAA,EAAO,GAAG,UAAW,EAAA;AAC9C;;;;"}