Files
dndbeyond_src/ddb_main/tools/js/smartComponents/Svg/hocs/asThemedSvg.tsx
T

27 lines
713 B
TypeScript

import { ComponentProps, ComponentType, PureComponent } from "react";
import { ThemedSvgProps } from "./hocTypings";
import { getDisplayName } from "./utils";
export function asThemedSvg<C extends ComponentType<ComponentProps<C>>>(
WrappedComponent: C
) {
return class AsThemedSvg extends PureComponent<ThemedSvgProps> {
static displayName = `asThemedSvg(${getDisplayName(WrappedComponent)})`;
static defaultProps = {
className: "ddbc-svg--themed",
};
render() {
return (
<WrappedComponent
{...(this.props as any)}
fillColor={this.props.theme.themeColor}
backgroundColor={this.props.theme.backgroundColor}
/>
);
}
};
}