react-lightning-design-system
Version:
Salesforce Lightning Design System components built with React
92 lines (88 loc) • 4.08 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Select = exports.Option = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _FormElement = require("./FormElement");
var _FieldSet = require("./FieldSet");
var _hooks = require("./hooks");
var _common = require("./common");
var _excluded = ["id", "className", "label", "required", "error", "cols", "tooltip", "tooltipIcon", "elementRef", "selectRef", "children", "onChange", "onValueChange"],
_excluded2 = ["label", "children"];
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
/**
*
*/
/**
*
*/
var Select = exports.Select = (0, _common.createFC)(function (props) {
var id = props.id,
className = props.className,
label = props.label,
required = props.required,
error = props.error,
cols = props.cols,
tooltip = props.tooltip,
tooltipIcon = props.tooltipIcon,
elementRef = props.elementRef,
selectRef = props.selectRef,
children = props.children,
onChange_ = props.onChange,
onValueChange = props.onValueChange,
rprops = (0, _objectWithoutProperties2["default"])(props, _excluded);
var _useContext = (0, _react.useContext)(_FieldSet.FieldSetColumnContext),
isFieldSetColumn = _useContext.isFieldSetColumn;
var prevValueRef = (0, _react.useRef)();
var onChange = (0, _hooks.useEventCallback)(function (e) {
onChange_ === null || onChange_ === void 0 || onChange_(e);
onValueChange === null || onValueChange === void 0 || onValueChange(e.target.value, prevValueRef.current);
prevValueRef.current = e.target.value;
});
var selectClassNames = (0, _classnames["default"])(className, 'slds-select');
var selectElem = /*#__PURE__*/_react["default"].createElement("select", (0, _extends2["default"])({
ref: selectRef,
id: id,
className: selectClassNames,
onChange: onChange
}, rprops), children);
var selectElemWithContainer = rprops.multiple ? selectElem : /*#__PURE__*/_react["default"].createElement("div", {
className: "slds-select_container"
}, selectElem);
if (isFieldSetColumn || label || required || error || cols) {
var formElemProps = {
controlId: id,
label: label,
required: required,
error: error,
cols: cols,
tooltip: tooltip,
tooltipIcon: tooltipIcon,
elementRef: elementRef
};
return /*#__PURE__*/_react["default"].createElement(_FormElement.FormElement, formElemProps, selectElemWithContainer);
}
return selectElemWithContainer;
}, {
isFormElement: true
});
/**
*
*/
/**
*
*/
var Option = exports.Option = function Option(props) {
var label = props.label,
children = props.children,
rprops = (0, _objectWithoutProperties2["default"])(props, _excluded2);
return /*#__PURE__*/_react["default"].createElement("option", rprops, label || children);
};
//# sourceMappingURL=Select.js.map