index.js 4.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. var _typeof = require("@babel/runtime/helpers/typeof");
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.default = exports.Checkbox = void 0;
  8. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  9. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  10. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  11. var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
  12. var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
  13. var _classnames = _interopRequireDefault(require("classnames"));
  14. var _useMergedState3 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
  15. var _react = _interopRequireWildcard(require("react"));
  16. var React = _react;
  17. var _excluded = ["prefixCls", "className", "style", "checked", "disabled", "defaultChecked", "type", "title", "onChange"];
  18. 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); }
  19. 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; }
  20. var Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
  21. var _props$prefixCls = props.prefixCls,
  22. prefixCls = _props$prefixCls === void 0 ? 'rc-checkbox' : _props$prefixCls,
  23. className = props.className,
  24. style = props.style,
  25. checked = props.checked,
  26. disabled = props.disabled,
  27. _props$defaultChecked = props.defaultChecked,
  28. defaultChecked = _props$defaultChecked === void 0 ? false : _props$defaultChecked,
  29. _props$type = props.type,
  30. type = _props$type === void 0 ? 'checkbox' : _props$type,
  31. title = props.title,
  32. onChange = props.onChange,
  33. inputProps = (0, _objectWithoutProperties2.default)(props, _excluded);
  34. var inputRef = (0, _react.useRef)(null);
  35. var holderRef = (0, _react.useRef)(null);
  36. var _useMergedState = (0, _useMergedState3.default)(defaultChecked, {
  37. value: checked
  38. }),
  39. _useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
  40. rawValue = _useMergedState2[0],
  41. setRawValue = _useMergedState2[1];
  42. (0, _react.useImperativeHandle)(ref, function () {
  43. return {
  44. focus: function focus(options) {
  45. var _inputRef$current;
  46. (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus(options);
  47. },
  48. blur: function blur() {
  49. var _inputRef$current2;
  50. (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.blur();
  51. },
  52. input: inputRef.current,
  53. nativeElement: holderRef.current
  54. };
  55. });
  56. var classString = (0, _classnames.default)(prefixCls, className, (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(prefixCls, "-checked"), rawValue), "".concat(prefixCls, "-disabled"), disabled));
  57. var handleChange = function handleChange(e) {
  58. if (disabled) {
  59. return;
  60. }
  61. if (!('checked' in props)) {
  62. setRawValue(e.target.checked);
  63. }
  64. onChange === null || onChange === void 0 || onChange({
  65. target: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  66. type: type,
  67. checked: e.target.checked
  68. }),
  69. stopPropagation: function stopPropagation() {
  70. e.stopPropagation();
  71. },
  72. preventDefault: function preventDefault() {
  73. e.preventDefault();
  74. },
  75. nativeEvent: e.nativeEvent
  76. });
  77. };
  78. return /*#__PURE__*/React.createElement("span", {
  79. className: classString,
  80. title: title,
  81. style: style,
  82. ref: holderRef
  83. }, /*#__PURE__*/React.createElement("input", (0, _extends2.default)({}, inputProps, {
  84. className: "".concat(prefixCls, "-input"),
  85. ref: inputRef,
  86. onChange: handleChange,
  87. disabled: disabled,
  88. checked: !!rawValue,
  89. type: type
  90. })), /*#__PURE__*/React.createElement("span", {
  91. className: "".concat(prefixCls, "-inner")
  92. }));
  93. });
  94. var _default = exports.default = Checkbox;