@deepsquare/turbine
Version:
Zero-dependencies efficient wrapper to build Tailwind-based React components easily.
28 lines (22 loc) • 1.02 kB
JavaScript
import {jsx as $h8Uff$jsx} from "react/jsx-runtime";
import {useMemo as $h8Uff$useMemo} from "react";
function $815991b3f4dba3b3$export$2e2bcd8739ae039(As, className, defaultProps) {
const inner = ({ className: classNameProp , ...props })=>{
// Merge the two class definitions.
// We chose to not use the famous `classnames` package here since the merge is fairly simple.
const mergedClassNames = $h8Uff$useMemo(()=>{
return `${className} ${classNameProp !== null && classNameProp !== void 0 ? classNameProp : ''}`.trim().replace(/ +/, ' ');
}, [
classNameProp
]); // @ts-ignore Too complex for TypeScript, but it's good, trust us!
return(/*#__PURE__*/ $h8Uff$jsx(As, {
...defaultProps,
...props,
className: mergedClassNames
}));
};
inner.displayName = `pure_${As}`;
return inner;
}
export {$815991b3f4dba3b3$export$2e2bcd8739ae039 as default};
//# sourceMappingURL=turbine.mjs.map