UNPKG

react-lightning-design-system

Version:

Salesforce Lightning Design System components built with React

63 lines (61 loc) 2.13 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; var _excluded = ["type", "id", "className", "label", "required", "cols", "tooltip", "tooltipIcon", "elementRef", "inputRef", "children"]; import React, { useId, useContext } from 'react'; import classnames from 'classnames'; import { FormElement } from './FormElement'; import { CheckboxGroupContext } from './CheckboxGroup'; /** * */ /** * */ export var Checkbox = function Checkbox(props) { var type = props.type, id_ = props.id, className = props.className, label = props.label, required = props.required, cols = props.cols, tooltip = props.tooltip, tooltipIcon = props.tooltipIcon, elementRef = props.elementRef, inputRef = props.inputRef, children = props.children, rprops = _objectWithoutProperties(props, _excluded); var prefix = useId(); var id = id_ !== null && id_ !== void 0 ? id_ : "".concat(prefix, "-id"); var _useContext = useContext(CheckboxGroupContext), grouped = _useContext.grouped, error = _useContext.error, errorId = _useContext.errorId; var formElemProps = { required: required, error: error, errorId: errorId, cols: cols, tooltip: tooltip, tooltipIcon: tooltipIcon, elementRef: elementRef }; var checkClassNames = classnames(className, 'slds-checkbox'); var check = /*#__PURE__*/React.createElement("div", { className: checkClassNames }, /*#__PURE__*/React.createElement("input", _extends({ ref: inputRef, type: "checkbox" }, rprops, { id: id, "aria-describedby": error ? errorId : undefined })), /*#__PURE__*/React.createElement("label", { className: "slds-checkbox__label", htmlFor: id }, /*#__PURE__*/React.createElement("span", { className: "slds-checkbox_faux" }), /*#__PURE__*/React.createElement("span", { className: "slds-form-element__label" }, label || children))); return grouped ? check : /*#__PURE__*/React.createElement(FormElement, formElemProps, check); }; //# sourceMappingURL=Checkbox.js.map