UNPKG

@d-pollard/triplet

Version:

A twin alternative for projects that have tailwind already installed

20 lines (16 loc) 646 B
import { tripletComponentGenerator } from './tripletComponentGenerator'; import { HandlerType, HtmlValidElements, Triplet, TripletInterface } from './types'; function generateElement<K extends HtmlValidElements>(element: HtmlValidElements): HandlerType<K> { return classNames => { const classStr = `${classNames.join('')}`; return tripletComponentGenerator(element, classStr); }; } const proxyFactory = (target: Triplet): TripletInterface => { return new Proxy(target, { get(target: Triplet, p: HtmlValidElements) { return target && generateElement(p); } }) }; export const triplet = proxyFactory({} as Triplet);