{"version":3,"file":"sva.mjs","names":[],"sources":["../../src/css/sva.js"],"sourcesContent":["import { compact, getSlotRecipes, memo, splitProps } from '../helpers.js';\nimport { cva } from './cva.js';\nimport { cx } from './cx.js';\n\nexport function sva(config) {\n  const slots = Object.entries(getSlotRecipes(config)).map(([slot, slotCva]) => [slot, cva(slotCva)])\n  const defaultVariants = config.defaultVariants ?? {}\n\n  const classNameMap = slots.reduce((acc, [slot, cvaFn]) => {\n    if (config.className) acc[slot] = cvaFn.config.className\n    return acc\n  }, {})\n\n  function svaFn(props) {\n    const result = slots.map(([slot, cvaFn]) => [slot, cx(cvaFn(props), classNameMap[slot])])\n    return Object.fromEntries(result)\n  }\n\n  function raw(props) {\n    const result = slots.map(([slot, cvaFn]) => [slot, cvaFn.raw(props)])\n    return Object.fromEntries(result)\n  }\n\n  const variants = config.variants ?? {};\n  const variantKeys = Object.keys(variants);\n\n  function splitVariantProps(props) {\n    return splitProps(props, variantKeys);\n  }\n  const getVariantProps = (variants) => ({ ...defaultVariants, ...compact(variants) })\n\n  const variantMap = Object.fromEntries(\n    Object.entries(variants).map(([key, value]) => [key, Object.keys(value)])\n  );\n\n  return Object.assign(memo(svaFn), {\n    __cva__: false,\n    raw,\n    config,\n    variantMap,\n    variantKeys,\n    classNameMap,\n    splitVariantProps,\n    getVariantProps,\n  })\n}"],"mappings":";;;;AAIA,SAAgB,IAAI,QAAQ;CAC1B,MAAM,QAAQ,OAAO,QAAQ,eAAe,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,aAAa,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;CAClG,MAAM,kBAAkB,OAAO,mBAAmB,CAAC;CAEnD,MAAM,eAAe,MAAM,QAAQ,KAAK,CAAC,MAAM,WAAW;EACxD,IAAI,OAAO,WAAW,IAAI,QAAQ,MAAM,OAAO;EAC/C,OAAO;CACT,GAAG,CAAC,CAAC;CAEL,SAAS,MAAM,OAAO;EACpB,MAAM,SAAS,MAAM,KAAK,CAAC,MAAM,WAAW,CAAC,MAAM,GAAG,MAAM,KAAK,GAAG,aAAa,KAAK,CAAC,CAAC;EACxF,OAAO,OAAO,YAAY,MAAM;CAClC;CAEA,SAAS,IAAI,OAAO;EAClB,MAAM,SAAS,MAAM,KAAK,CAAC,MAAM,WAAW,CAAC,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC;EACpE,OAAO,OAAO,YAAY,MAAM;CAClC;CAEA,MAAM,WAAW,OAAO,YAAY,CAAC;CACrC,MAAM,cAAc,OAAO,KAAK,QAAQ;CAExC,SAAS,kBAAkB,OAAO;EAChC,OAAO,WAAW,OAAO,WAAW;CACtC;CACA,MAAM,mBAAmB,cAAc;EAAE,GAAG;EAAiB,GAAG,QAAQ,QAAQ;CAAE;CAElF,MAAM,aAAa,OAAO,YACxB,OAAO,QAAQ,QAAQ,EAAE,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,CAC1E;CAEA,OAAO,OAAO,OAAO,KAAK,KAAK,GAAG;EAChC,SAAS;EACT;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;AACH"}