@d-pollard/triplet
Version:
A twin alternative for projects that have tailwind already installed
20 lines (16 loc) • 646 B
text/typescript
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);