box-ui-elements-mlh
Version:
70 lines (64 loc) • 3.52 kB
JavaScript
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
import * as React from 'react';
import classNames from 'classnames';
import IconInfo from '../../icons/general/IconInfo';
import Tooltip from '../tooltip';
import Label from '../label';
import './Select.scss';
var Select = function Select(_ref) {
var children = _ref.children,
_ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className,
error = _ref.error,
infoTooltip = _ref.infoTooltip,
infoIconProps = _ref.infoIconProps,
isDisabled = _ref.isDisabled,
label = _ref.label,
name = _ref.name,
labelTooltip = _ref.labelTooltip,
onChange = _ref.onChange,
_ref$showErrorOutline = _ref.showErrorOutline,
showErrorOutline = _ref$showErrorOutline === void 0 ? false : _ref$showErrorOutline,
_ref$showLabel = _ref.showLabel,
showLabel = _ref$showLabel === void 0 ? true : _ref$showLabel,
rest = _objectWithoutProperties(_ref, ["children", "className", "error", "infoTooltip", "infoIconProps", "isDisabled", "label", "name", "labelTooltip", "onChange", "showErrorOutline", "showLabel"]);
var classes = classNames(className, 'select-input-container', {
'show-error': !!error || showErrorOutline,
'is-disabled': isDisabled,
'bdl-is-disabled': isDisabled
});
return /*#__PURE__*/React.createElement("div", {
className: classes
}, /*#__PURE__*/React.createElement(Label, {
hideLabel: !showLabel,
text: label,
tooltip: labelTooltip
}, /*#__PURE__*/React.createElement(Tooltip, {
isShown: !!error,
position: "middle-right",
text: error || '',
theme: "error"
}, /*#__PURE__*/React.createElement("span", {
className: "select-container"
}, /*#__PURE__*/React.createElement("span", {
className: "select-container-inner"
}, /*#__PURE__*/React.createElement("select", _extends({
disabled: isDisabled,
name: name,
onChange: onChange
}, rest), children), /*#__PURE__*/React.createElement("span", {
className: "select-overlay"
})), infoTooltip && /*#__PURE__*/React.createElement(Tooltip, {
position: "middle-right",
text: infoTooltip
}, /*#__PURE__*/React.createElement("span", {
className: "tooltip-icon-container"
}, /*#__PURE__*/React.createElement(IconInfo, _extends({
height: 16,
width: 16
}, infoIconProps))))))));
};
export default Select;
//# sourceMappingURL=Select.js.map