import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import Styles from "./BigFactory.module.scss";
import Spacing from "../../../Spacing/Spacing";
import Text from "../../../Text/Text";
import Button from "../../../Button/Button";
import { useOneUIConfig } from "../../../../context/OneUIProvider";
/**
 * The file input layout with a big appearance
 **/
export default function BigFactory(IconComponent) {
    return function Big({ states: { fileProvided: { title: fileProvided, button: removeFile }, waitingFile: { button, title: reason }, }, file, footer, className, inputEl, onAction, }) {
        const variant = useOneUIConfig("component.fileInput.button.variant");
        return (_jsxs("div", { className: `${Styles.container} ${className ?? ""}`, children: [_jsx(IconComponent, {}), _jsx(Spacing, { size: "small" }), _jsx(Text, { type: "description", children: file ? fileProvided : reason }), _jsx(Spacing, { size: "small" }), _jsx(Button, { variant: variant, onClick: onAction, children: file ? removeFile : button }), inputEl, _jsx(Text, { className: Styles.footer, type: "caption", children: footer })] }));
    };
}
//# sourceMappingURL=BigFactory.js.map