react-hook-form-generator
Version:
A [React](https://reactjs.org/) component to quickly and easily generate forms from object schema. Built with [React Hook Form](https://react-hook-form.com/) and [Chakra UI](https://chakra-ui.com/).
19 lines (14 loc) • 515 B
text/typescript
import { useMemo, createContext, useContext } from 'react';
import { FormStyles, FieldStyles } from '../types';
export const StyleCtx = createContext({} as FormStyles);
export const useStyles = <T extends FieldStyles>(
type: keyof FormStyles,
inlineStyles?: T
): T => {
const baseStyles = useContext(StyleCtx);
return useMemo(() => {
return !!inlineStyles
? { ...baseStyles[type], ...inlineStyles }
: (baseStyles[type] as T);
}, [type, baseStyles, inlineStyles]);
};