UNPKG

@stakefish/ui

Version:

<div align="center"> <a href="https://www.npmjs.com/package/@stakefish/ui"><img src="https://gateway.pinata.cloud/ipfs/QmbZL1ceA8Yiz2pKALTg919jYx141DPUGegC9L4XpyayW5" width="300" /></a> </div>

106 lines (103 loc) 3.81 kB
import { a as __rest, _ as __assign } from '../tslib.es6-35932c2c.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 };