ThemeInjector.tsx 493 B

12345678910111213141516
  1. import React from 'react';
  2. type Props = {
  3. children: JSX.Element,
  4. className: string,
  5. bgImageNode?: React.ReactNode,
  6. }
  7. export const ThemeInjector = ({ children, className: themeClassName, bgImageNode }: Props): JSX.Element => {
  8. const className = `${children.props.className ?? ''} ${themeClassName}`;
  9. return React.cloneElement(children, { className }, [
  10. <div key="grw-bg-image-wrapper" className="grw-bg-image-wrapper">{bgImageNode}</div>,
  11. children.props.children,
  12. ]);
  13. };