import { a as __rest, _ as __assign } from '../tslib.es6-faad35dc.js';
import { jsx } from 'react/jsx-runtime';
import { forwardRef, useState } from 'react';
import { styled } from '@mui/material/styles';
import MuiFormControl from '@mui/material/FormControl';
import IconButton from './IconButton.js';
import Select from './Select.js';
import '@mui/material/IconButton';
import './Icon.js';
import '../icons/ArrowLeft.js';
import '../icons/ArrowRight.js';
import '../icons/CloseCircle.js';
import '../icons/InfoCircle.js';
import '../icons/ErrorCircle.js';
import '../icons/Attention.js';
import '../icons/HelpCircle.js';
import '../icons/Document.js';
import '../icons/DocumentText.js';
import '../icons/Lock.js';
import '../icons/Delete.js';
import '../icons/Users.js';
import '../icons/Stakefish.js';
import '../icons/Sound.js';
import '../icons/Beacon.js';
import '../icons/TriangleRight.js';
import '../icons/TriangleLeft.js';
import '../icons/TriangleUp.js';
import '../icons/TriangleDown.js';
import '../icons/Sent.js';
import '../icons/Download.js';
import '../icons/Faster.js';
import '../icons/Slower.js';
import '../icons/Usb.js';
import '../icons/Key.js';
import '../icons/Edit.js';
import '../icons/Expand.js';
import '../icons/Collapse.js';
import '../icons/Success.js';
import '../icons/SuccessCircle.js';
import '../icons/Fail.js';
import '../icons/Desktop.js';
import '../icons/Mobile.js';
import '../icons/Loading.js';
import '../icons/Upload.js';
import '../icons/Check.js';
import '../icons/ChevronLeft.js';
import '../icons/ChevronRight.js';
import '../icons/Plus.js';
import '../icons/Minus.js';
import '../icons/Globe.js';
import '../icons/Link.js';
import '../icons/Copy.js';
import '../icons/Medium.js';
import '../icons/Twitter.js';
import '../icons/Telegram.js';
import '../icons/Eth.js';
import '../icons/Sort.js';
import '../icons/Close.js';
import '../icons/DollarSign.js';
import '../icons/Search.js';
import '../icons/Range.js';
import '../icons/Instagram.js';
import '../icons/LinkedIn.js';
import '../icons/Reddit.js';
import '../icons/YouTube.js';
import '../icons/Chrome.js';
import '../icons/CloudConnect.js';
import '../icons/Update.js';
import '../icons/Menu.js';
import '../icons/Settings.js';
import '@mui/material/Select';

var StyledFormControl = styled(MuiFormControl)(function (_a) {
    var theme = _a.theme;
    return ({
        minWidth: "300px",
        "& .MuiFormLabel-root + .MuiInputBase-root": {
            marginTop: theme.spacing(3.5)
        },
        "& .icon": {
            top: 0,
            right: theme.spacing(1),
            position: "absolute",
            pointerEvents: "none",
            height: "100%"
        }
    });
});
var SelectField = forwardRef(function (_a, ref) {
    var id = _a.id; _a.label; _a.helperText; var error = _a.error, selectProps = _a.selectProps, children = _a.children, props = __rest(_a, ["id", "label", "helperText", "error", "selectProps", "children"]);
    var _b = useState(false), isOpen = _b[0], setIsOpen = _b[1];
    var formControlProps = {
        ref: ref,
        fullWidth: props.fullWidth,
        required: props.required
    };
    return (jsx(StyledFormControl, __assign({ error: !!error }, formControlProps, { children: jsx(Select, __assign({ id: id, "aria-describedby": "".concat(id, "-select"), endAdornment: jsx(IconButton, { iconProps: {
                    iconKey: "triangleUp",
                    color: isOpen ? "primary" : "secondary",
                    rotate: isOpen ? 0 : -180,
                    size: "sm"
                } }, void 0), onOpen: function () { return setIsOpen(true); }, onClose: function () { return setIsOpen(false); } }, selectProps, { children: children }), void 0) }), void 0));
});

export { SelectField as default };
