UNPKG

cvb

Version:

Class Variance Builder 👷🏼

43 lines 2.35 kB
import { ClassDictionary, ClassProp, ClassValue, Pretty, RecipeCompoundSelection, RecipeCompoundVariant, RecipeSelection, RecipeVariantRecord, SlotRecipeCompoundVariant, SlotRecipeVariantRecord } from './types.js'; export declare const isEmpty: (obj: Record<PropertyKey, any>) => boolean; export declare const falsyToString: <T>(value: T) => string | T; /** * Merges two given objects, Props take precedence over Defaults * @param props * @param defaults * @returns */ export declare const mergeDefaultsAndProps: <V extends RecipeVariantRecord, P extends RecipeSelection<V> & ClassProp, D extends RecipeSelection<V>>(props: P | undefined, defaults: D) => Record<keyof V, NonNullable<ClassValue>>; /** * Returns a list of class variants based on the given Props and Defaults * @param props * @param variants * @param defaults * @returns */ export declare const getVariantClassNames: <V extends RecipeVariantRecord, P extends RecipeSelection<V> & ClassProp, D extends RecipeSelection<V>>(props: P | undefined, variants: V, defaults?: D) => string; /** * Returns selected compound className variants based on Props and Defaults * @param compoundVariants * @param defaultsAndProps * @returns */ export declare const getCompoundVariantClassNames: <V extends RecipeVariantRecord>(compoundVariants: Pretty<RecipeCompoundVariant<RecipeCompoundSelection<V>>>[], defaultsAndProps: ClassDictionary) => string; /** * Returns a list of class variants based on the given Props and Defaults for the required Slot * @param props * @param slot * @param variants * @param defaults * @returns */ export declare const getVariantClassNamesBySlot: <S extends string, V extends SlotRecipeVariantRecord<S>, P extends RecipeSelection<V> & ClassProp, D extends RecipeSelection<V>>(props: P | undefined, slot: S, variants: V, defaults?: D) => string; /** * Returns selected compound className variants based on Props and Defaults for the required Slot * @param slot * @param compoundVariants * @param defaultsAndProps * @returns */ export declare const getCompoundVariantClassNamesBySlot: <S extends string, V extends SlotRecipeVariantRecord<S> = SlotRecipeVariantRecord<S>>(slot: S, compoundVariants: Pretty<SlotRecipeCompoundVariant<S, RecipeCompoundSelection<V>>>[], defaultsAndProps: ClassDictionary) => string; //# sourceMappingURL=utils.d.ts.map