UNPKG

react-bootstrap-v5

Version:

Bootstrap 4 components built with React

47 lines (44 loc) 1.58 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; import classNames from 'classnames'; import React from 'react'; import { useBootstrapPrefix } from './ThemeProvider'; import Button from './Button'; var noop = function noop() { return undefined; }; var ToggleButton = React.forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, children = _ref.children, name = _ref.name, className = _ref.className, checked = _ref.checked, type = _ref.type, onChange = _ref.onChange, value = _ref.value, disabled = _ref.disabled, id = _ref.id, inputRef = _ref.inputRef, props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "children", "name", "className", "checked", "type", "onChange", "value", "disabled", "id", "inputRef"]); bsPrefix = useBootstrapPrefix(bsPrefix, 'btn-check'); return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("input", { className: bsPrefix, name: name, type: type, value: value, ref: inputRef, autoComplete: "off", checked: !!checked, disabled: !!disabled, onChange: onChange || noop, id: id }), /*#__PURE__*/React.createElement(Button, _extends({}, props, { ref: ref, className: classNames(className, disabled && 'disabled'), type: undefined, as: "label", htmlFor: id }), children)); }); ToggleButton.displayName = 'ToggleButton'; export default ToggleButton;