UNPKG

@oxidia/style-variance-authority

Version:
32 lines 982 B
function falsyToString(value) { if (typeof value == "boolean") { return `${value}`; } if (value === 0) { return "0"; } return value; } export default function sva(config) { return function (props) { if (!config?.variants) { return config?.base; } const { variants, defaultVariants } = config; const styles = Object.keys(variants).map((variant) => { // e.g: variant = size // e.g: variantProp = md const variantProp = props?.[variant]; // e.g: variantProp = sm const defaultVariantProp = defaultVariants?.[variant]; const variantKey = (falsyToString(variantProp) || falsyToString(defaultVariantProp)); return variants[variant][variantKey]; }); if (config.base) { return [config.base, ...styles]; } return styles; }; } //# sourceMappingURL=index.js.map