Стили компонентов в IFrame

#javascript #reactjs #iframe

Вопрос:

У меня есть компонент виджета чата из react-chat-widget. Его стили находятся в пакете node_modules. Однако стили не применяются к компоненту виджета чата в IFrame.Что я могу сделать, чтобы применить их?

Виджет.jsx:

 import { ChatWidget } from "react-chat-widget";
import "react-chat-widget/lib/styles.css";

const Widget = (props) => {
  return (
    <ChatWidget {...props}/>
  );
};
export default Widget;
 

фрейм:

 import React, { useState } from "react";
import { createPortal } from "react-dom";

const IFrame = ({
  children,
  ...props
}) => {
  const [contentRef, setContentRef] = useState(null);
  const mountNode = contentRef?.contentWindow?.document?.body;

  return (
    <iframe {...props} ref={setContentRef}>
      {mountNode amp;amp; createPortal(children, mountNode)}
    </iframe>
  );
};

export default IFrame;
 

компонент страницы:

 const ImitatePage = () => {
  const {pageRef, toggleWidgetShow, widget, handleNewUserMessage} = useWidget();
  return (
    <div>
      <div ref={pageRef}>
      </div>
          <ChatWidgetLauncher toggleWidgetShow={toggleWidgetShow}/>
          {
            widget ?
            <IFrame className="chat-widget-iframe">
              <Widget
                    className="chat-widget"
                    launcher={handleToggle => null}
                    handleNewUserMessage={handleNewUserMessage}
              />
            </IFrame>
            : null
          }
    </div>
  );
};