UNPKG

@heycar-uikit/core

Version:
39 lines (32 loc) 1.69 kB
Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var cn = require('classnames'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn); var styles = {"container":"switch__container_141qq","switch":"switch__switch_141qq"}; require('./styles/default.css'); var Switch = React__default["default"].forwardRef(function (_a, ref) { var checked = _a.checked, onChange = _a.onChange, _b = _a.disabled, disabled = _b === void 0 ? false : _b, className = _a.className; var classNames = cn__default["default"](styles.container, className); var _c = React.useState(checked), isChecked = _c[0], setChecked = _c[1]; React.useEffect(function () { setChecked(checked); }, [checked]); var handleSwitch = function () { setChecked(!isChecked); onChange(); }; var handleKeyDown = function (e) { if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter') { handleSwitch(); onChange(); } }; return (React__default["default"].createElement("label", { className: classNames }, React__default["default"].createElement("input", { checked: isChecked, disabled: disabled, onChange: function () { return handleSwitch(); }, ref: ref, type: "checkbox" }), React__default["default"].createElement("span", { className: styles.switch, tabIndex: 0, onKeyDown: handleKeyDown }))); }); Switch.displayName = 'Switch'; exports.Switch = Switch; exports["default"] = Switch;