UNPKG

@deepsquare/turbine

Version:

Zero-dependencies efficient wrapper to build Tailwind-based React components easily.

21 lines (19 loc) 856 B
import { FC } from "react"; type ElementsWithClass = { [K in keyof JSX.IntrinsicElements]: Extract<JSX.IntrinsicElements[K], { className?: string | undefined; }>; }; /** * Build a turbine component based a the `T` HTML tag. * @param {T} As The HTML tag. * @param {string} className The class to apply. * @param {Omit<JSX.IntrinsicElements[T], "className">} defaultProps The default props to pass to the component. * @returns {React.FC<JSX.IntrinsicElements[T]>} The "turbine" component. * * @example Bootstrap-like cards: * const Card = turbine('div', 'px-6 py-4 rounded bg-grey-200'); * export default Card */ export default function turbine<T extends keyof ElementsWithClass>(As: T, className: string, defaultProps?: Omit<ElementsWithClass[T], 'className'>): FC<ElementsWithClass[T]>; //# sourceMappingURL=turbine.d.ts.map