@chakra-ui/react
Version:
Responsive and accessible React UI components built with React and Emotion
15 lines (14 loc) • 804 B
TypeScript
import type { ConfigRecipes } from "./generated/recipes.gen";
import type { RecipeDefinition, RecipeVariantMap, RecipeVariantProps, SystemRecipeFn } from "./recipe.types";
export type RecipeKey = keyof ConfigRecipes | (string & {});
export interface UseRecipeOptions<K extends RecipeKey> {
key?: K;
recipe?: RecipeDefinition;
}
export declare function useRecipe<Options extends {
key: RecipeKey;
recipe?: RecipeDefinition;
}>(options: Options): Options["key"] extends keyof ConfigRecipes ? ConfigRecipes[Options["key"]] : SystemRecipeFn<{}, {}>;
export declare function useRecipe<Options extends {
recipe: RecipeDefinition;
}>(options: Options): Options["recipe"] extends RecipeDefinition<infer T> ? SystemRecipeFn<RecipeVariantProps<Options["recipe"]>, RecipeVariantMap<T>> : never;