import React from "react"; import { Button, Modal, Spinner, ModalProps } from "react-bootstrap"; import { ButtonVariant } from "react-bootstrap/types"; import { Icon } from "./Icon"; import { IconDefinition } from "@fortawesome/fontawesome-svg-core"; import { FormattedMessage } from "react-intl"; interface IButton { text?: string; variant?: ButtonVariant; onClick?: () => void; } interface IModal { show: boolean; onHide?: () => void; header?: JSX.Element | string; icon?: IconDefinition; cancel?: IButton; accept?: IButton; isRunning?: boolean; disabled?: boolean; modalProps?: ModalProps; dialogClassName?: string; footerButtons?: React.ReactNode; leftFooterButtons?: React.ReactNode; } const defaultOnHide = () => {}; export const ModalComponent: React.FC = ({ children, show, icon, header, cancel, accept, onHide, isRunning, disabled, modalProps, dialogClassName, footerButtons, leftFooterButtons, }) => ( {icon ? : ""} {header ?? ""} {children}
{leftFooterButtons}
{footerButtons} {cancel ? ( ) : ( "" )}
);