@actinc/dls
Version:
Design Language System (DLS) for ACT & Encoura front-end projects.
40 lines • 2.81 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
/**
* Copyright (c) ACT, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import { FormControl, MenuItem, Select, Tooltip, } from '@mui/material';
import AlertOutline from "../../icons/AlertOutline";
import { InputLabel } from "../InputLabel";
export function FormSelect(_a) {
var id = _a.id, disabled = _a.disabled, error = _a.error, errorMessage = _a.errorMessage, formControlProps = _a.formControlProps, fullWidth = _a.fullWidth, helpText = _a.helpText, label = _a.label, labelProps = _a.labelProps, _b = _a.options, options = _b === void 0 ? [] : _b, placeholder = _a.placeholder, placeholderIsDisabled = _a.placeholderIsDisabled, required = _a.required, selectProps = __rest(_a, ["id", "disabled", "error", "errorMessage", "formControlProps", "fullWidth", "helpText", "label", "labelProps", "options", "placeholder", "placeholderIsDisabled", "required"]);
return (_jsxs(FormControl, __assign({}, formControlProps, { fullWidth: fullWidth, children: [_jsx(InputLabel, __assign({}, labelProps, { disabled: disabled, error: error, helpText: helpText, htmlFor: id, required: required, children: label })), _jsxs(Select, __assign({ SelectDisplayProps: {
'aria-label': 'Select',
} }, selectProps, { disabled: disabled, error: error, id: id, required: required, children: [_jsx(MenuItem, { disabled: placeholderIsDisabled, value: "", children: placeholder || 'Select' }), options.map(function (item) { return (_jsx(MenuItem, { disabled: item.disabled, value: item.value, children: item.label }, item.value)); })] })), errorMessage && (_jsx(Tooltip, { arrow: true, placement: "top", title: errorMessage, children: _jsx(AlertOutline, { color: "error" }) }))] })));
}
export default FormSelect;
//# sourceMappingURL=index.js.map