react-award
Version:
React component for rewarding users
25 lines (22 loc) • 562 B
text/typescript
import React from 'react';
interface AwardChildProperties {
duration?: number;
className?: string;
}
/**
* Inject award properties to custom child
*/
export const withAwardProperties = (WrappedComponent: React.ReactNode) => (
props: AwardChildProperties
) => {
if (!React.isValidElement(WrappedComponent)) {
return null;
}
return React.cloneElement(WrappedComponent as React.ReactElement, {
className: `${props.className}`,
style: {
transitionDuration: `${props.duration}ms`,
},
});
};
export default withAwardProperties;