UNPKG

adui

Version:

<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>

142 lines (115 loc) 17.2 kB
var _excluded = ["checked", "checkedText", "className", "defaultChecked", "disabled", "onChange", "onClick", "onMouseDown", "size", "unCheckedText"]; function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } import React, { useContext, useRef, useState } from "react"; import PropTypes from "prop-types"; import classNames from "classnames"; import { ConfigContext, getComputedSize } from "../config-provider"; import { useActive } from "../_util/hooks/use-active"; import "./style"; var prefix = "adui-switch"; var Switch = function Switch(_ref) { var _classNames; var checkedProps = _ref.checked, checkedText = _ref.checkedText, className = _ref.className, defaultChecked = _ref.defaultChecked, disabled = _ref.disabled, onChange = _ref.onChange, onClick = _ref.onClick, onMouseDown = _ref.onMouseDown, size = _ref.size, unCheckedText = _ref.unCheckedText, otherProps = _objectWithoutProperties(_ref, _excluded); var _useState = useState(checkedProps !== null ? !!checkedProps : !!defaultChecked), _useState2 = _slicedToArray(_useState, 2), checked = _useState2[0], setChecked = _useState2[1]; if (checkedProps !== null && checked !== !!checkedProps) { setChecked(!!checkedProps); } var _useContext = useContext(ConfigContext), sizeContext = _useContext.size; var ref = useRef(null); var _useActive = useActive({ ref: ref, delay: 100 }), handleMouseDown = _useActive.handleMouseDown; var handleChange = function handleChange() { if (onClick) { onClick(); } if (!disabled) { if (checkedProps === null) { setChecked(!checked); } if (onChange) { onChange(!checked); } } }; var handleKeyPress = function handleKeyPress(_ref2) { var key = _ref2.key; if (key.toUpperCase() === "ENTER") { handleChange(); } }; var handleSpanMouseDown = function handleSpanMouseDown(e) { if (onMouseDown) { onMouseDown(e); } handleMouseDown(); }; var classSet = classNames(className, "".concat(prefix, "-wrapper"), "".concat(prefix, "-").concat(getComputedSize(size, sizeContext)), (_classNames = {}, _defineProperty(_classNames, "".concat(prefix, "-checked"), checked), _defineProperty(_classNames, "".concat(prefix, "-disabled"), disabled), _classNames)); return React.createElement("span", _extends({ "aria-checked": checked, className: classSet, onClick: handleChange, onKeyPress: handleKeyPress, onMouseDown: handleSpanMouseDown, role: "switch", ref: ref, tabIndex: 0 }, otherProps), React.createElement("span", { className: "".concat(prefix, "-base") }, React.createElement("i", { className: "".concat(prefix, "-indicator") })), !!checked && checkedText && React.createElement("span", { className: "".concat(prefix, "-text") }, checkedText), !checked && unCheckedText && React.createElement("span", { className: "".concat(prefix, "-text") }, unCheckedText)); }; Switch.propTypes = { checked: PropTypes.oneOf([null, true, false]), checkedText: PropTypes.node, className: PropTypes.string, defaultChecked: PropTypes.oneOf([null, true, false]), disabled: PropTypes.bool, onChange: PropTypes.func, onClick: PropTypes.func, size: PropTypes.oneOf(["mini", "small", "medium", "large"]), unCheckedText: PropTypes.node }; Switch.defaultProps = { checked: null, checkedText: null, className: undefined, defaultChecked: null, disabled: false, onChange: null, onClick: null, size: "small", unCheckedText: null }; export default Switch; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNvbnRleHQiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIlByb3BUeXBlcyIsImNsYXNzTmFtZXMiLCJDb25maWdDb250ZXh0IiwiZ2V0Q29tcHV0ZWRTaXplIiwidXNlQWN0aXZlIiwicHJlZml4IiwiU3dpdGNoIiwiY2hlY2tlZFByb3BzIiwiY2hlY2tlZCIsImNoZWNrZWRUZXh0IiwiY2xhc3NOYW1lIiwiZGVmYXVsdENoZWNrZWQiLCJkaXNhYmxlZCIsIm9uQ2hhbmdlIiwib25DbGljayIsIm9uTW91c2VEb3duIiwic2l6ZSIsInVuQ2hlY2tlZFRleHQiLCJvdGhlclByb3BzIiwic2V0Q2hlY2tlZCIsInNpemVDb250ZXh0IiwicmVmIiwiZGVsYXkiLCJoYW5kbGVNb3VzZURvd24iLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVLZXlQcmVzcyIsImtleSIsInRvVXBwZXJDYXNlIiwiaGFuZGxlU3Bhbk1vdXNlRG93biIsImUiLCJjbGFzc1NldCIsInByb3BUeXBlcyIsIm9uZU9mIiwibm9kZSIsInN0cmluZyIsImJvb2wiLCJmdW5jIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vY29tcG9uZW50cy9zd2l0Y2gvU3dpdGNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCB7IENvbmZpZ0NvbnRleHQsIGdldENvbXB1dGVkU2l6ZSB9IGZyb20gXCIuLi9jb25maWctcHJvdmlkZXJcIlxuaW1wb3J0IHsgdXNlQWN0aXZlIH0gZnJvbSBcIi4uL191dGlsL2hvb2tzL3VzZS1hY3RpdmVcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbmNvbnN0IHByZWZpeCA9IFwiYWR1aS1zd2l0Y2hcIlxuXG5leHBvcnQgaW50ZXJmYWNlIElTd2l0Y2hQcm9wcyB7XG4gIFtrZXk6IHN0cmluZ106IGFueVxuICAvKipcbiAgICog5byA5YWz54q25oCBIC0g5aSW6YOo5o6n5Yi2XG4gICAqL1xuICBjaGVja2VkPzogbnVsbCB8IGJvb2xlYW5cbiAgLyoqXG4gICAqIOW8gOeKtuaAgeaXtueahOmZhOWKoOaWh+Wtl1xuICAgKi9cbiAgY2hlY2tlZFRleHQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgLyoqXG4gICAqIOmZhOWKoOexu+WQjVxuICAgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiDpu5jorqTlvIDlhbPnirbmgIEgLSDlhoXpg6jpqbHliqhcbiAgICovXG4gIGRlZmF1bHRDaGVja2VkPzogbnVsbCB8IGJvb2xlYW5cbiAgLyoqXG4gICAqIOaYr+WQpuemgeeUqFxuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIC8qKlxuICAgKiDlvIDlhbPnirbmgIHmlLnlj5jml7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25DaGFuZ2U/OiAoKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHZvaWQpIHwgbnVsbFxuICAvKipcbiAgICog54K55Ye75LqL5Lu255qEIGhhbmRsZXJcbiAgICovXG4gIG9uQ2xpY2s/OiAoKCkgPT4gdm9pZCkgfCBudWxsXG4gIC8qKlxuICAgKiDorr7nva7lsLrlr7hcbiAgICovXG4gIHNpemU/OiBcIm1pbmlcIiB8IFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCJcbiAgLyoqXG4gICAqIOWFs+eKtuaAgeaXtueahOmZhOWKoOaWh+Wtl1xuICAgKi9cbiAgdW5DaGVja2VkVGV4dD86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG4vKipcbiAqIOW8gOWFs+eUqOS6juihqOekuuWGheWuueeahOW8gOWQr+S4juWFs+mXre+8jOW4uOeUqOS6juW8gOWQr+aIluWFs+mXreafkOS4gOWKn+iDveOAgeaooeW8j++8jOS5n+WPr+S7peihqOekuuS4muWKoeS4reeahOS4gOS6m+eJueauiumAu+i+ke+8jOWmguW5v+WRiueahOKAnOaKleaUvi/mmoLlgZzigJ3jgIJcbiAqL1xuY29uc3QgU3dpdGNoOiBSZWFjdC5GQzxJU3dpdGNoUHJvcHM+ID0gKHtcbiAgY2hlY2tlZDogY2hlY2tlZFByb3BzLFxuICBjaGVja2VkVGV4dCxcbiAgY2xhc3NOYW1lLFxuICBkZWZhdWx0Q2hlY2tlZCxcbiAgZGlzYWJsZWQsXG4gIG9uQ2hhbmdlLFxuICBvbkNsaWNrLFxuICBvbk1vdXNlRG93bixcbiAgc2l6ZSxcbiAgdW5DaGVja2VkVGV4dCxcbiAgLi4ub3RoZXJQcm9wc1xufTogSVN3aXRjaFByb3BzKSA9PiB7XG4gIGNvbnN0IFtjaGVja2VkLCBzZXRDaGVja2VkXSA9IHVzZVN0YXRlKFxuICAgIGNoZWNrZWRQcm9wcyAhPT0gbnVsbCA/ICEhY2hlY2tlZFByb3BzIDogISFkZWZhdWx0Q2hlY2tlZFxuICApXG5cbiAgLy8g55u45b2T5LqO55Sf5ZG95ZGo5pyfIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc1xuICBpZiAoY2hlY2tlZFByb3BzICE9PSBudWxsICYmIGNoZWNrZWQgIT09ICEhY2hlY2tlZFByb3BzKSB7XG4gICAgc2V0Q2hlY2tlZCghIWNoZWNrZWRQcm9wcylcbiAgfVxuXG4gIGNvbnN0IHsgc2l6ZTogc2l6ZUNvbnRleHQgfSA9IHVzZUNvbnRleHQoQ29uZmlnQ29udGV4dClcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgeyBoYW5kbGVNb3VzZURvd24gfSA9IHVzZUFjdGl2ZSh7IHJlZiwgZGVsYXk6IDEwMCB9KVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9ICgpID0+IHtcbiAgICBpZiAob25DbGljaykge1xuICAgICAgb25DbGljaygpXG4gICAgfVxuICAgIGlmICghZGlzYWJsZWQpIHtcbiAgICAgIGlmIChjaGVja2VkUHJvcHMgPT09IG51bGwpIHtcbiAgICAgICAgc2V0Q2hlY2tlZCghY2hlY2tlZClcbiAgICAgIH1cbiAgICAgIGlmIChvbkNoYW5nZSkge1xuICAgICAgICBvbkNoYW5nZSghY2hlY2tlZClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVLZXlQcmVzcyA9ICh7IGtleSB9OiBSZWFjdC5LZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKGtleS50b1VwcGVyQ2FzZSgpID09PSBcIkVOVEVSXCIpIHtcbiAgICAgIGhhbmRsZUNoYW5nZSgpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU3Bhbk1vdXNlRG93biA9IChlOiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiB7XG4gICAgaWYgKG9uTW91c2VEb3duKSB7XG4gICAgICBvbk1vdXNlRG93bihlKVxuICAgIH1cbiAgICBoYW5kbGVNb3VzZURvd24oKVxuICB9XG5cbiAgY29uc3QgY2xhc3NTZXQgPSBjbGFzc05hbWVzKFxuICAgIGNsYXNzTmFtZSxcbiAgICBgJHtwcmVmaXh9LXdyYXBwZXJgLFxuICAgIGAke3ByZWZpeH0tJHtnZXRDb21wdXRlZFNpemUoc2l6ZSwgc2l6ZUNvbnRleHQpfWAsXG4gICAge1xuICAgICAgW2Ake3ByZWZpeH0tY2hlY2tlZGBdOiBjaGVja2VkLFxuICAgICAgW2Ake3ByZWZpeH0tZGlzYWJsZWRgXTogZGlzYWJsZWQsXG4gICAgfVxuICApXG5cbiAgcmV0dXJuIChcbiAgICA8c3BhblxuICAgICAgYXJpYS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc1NldH1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNoYW5nZX1cbiAgICAgIG9uS2V5UHJlc3M9e2hhbmRsZUtleVByZXNzfVxuICAgICAgb25Nb3VzZURvd249e2hhbmRsZVNwYW5Nb3VzZURvd259XG4gICAgICByb2xlPVwic3dpdGNoXCJcbiAgICAgIHJlZj17cmVmfVxuICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICB7Li4ub3RoZXJQcm9wc31cbiAgICA+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tYmFzZWB9PlxuICAgICAgICA8aSBjbGFzc05hbWU9e2Ake3ByZWZpeH0taW5kaWNhdG9yYH0gLz5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIHshIWNoZWNrZWQgJiYgY2hlY2tlZFRleHQgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tdGV4dGB9PntjaGVja2VkVGV4dH08L3NwYW4+XG4gICAgICApfVxuICAgICAgeyFjaGVja2VkICYmIHVuQ2hlY2tlZFRleHQgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tdGV4dGB9Pnt1bkNoZWNrZWRUZXh0fTwvc3Bhbj5cbiAgICAgICl9XG4gICAgPC9zcGFuPlxuICApXG59XG5cblN3aXRjaC5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiDlvIDlhbPnirbmgIEgLSDlpJbpg6jmjqfliLZcbiAgICovXG4gIGNoZWNrZWQ6IFByb3BUeXBlcy5vbmVPZihbbnVsbCwgdHJ1ZSwgZmFsc2VdKSxcbiAgLyoqXG4gICAqIOW8gOeKtuaAgeaXtueahOmZhOWKoOaWh+Wtl1xuICAgKi9cbiAgY2hlY2tlZFRleHQ6IFByb3BUeXBlcy5ub2RlLFxuICAvKipcbiAgICog6ZmE5Yqg57G75ZCNXG4gICAqL1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKlxuICAgKiDpu5jorqTlvIDlhbPnirbmgIEgLSDlhoXpg6jpqbHliqhcbiAgICovXG4gIGRlZmF1bHRDaGVja2VkOiBQcm9wVHlwZXMub25lT2YoW251bGwsIHRydWUsIGZhbHNlXSksXG4gIC8qKlxuICAgKiDmmK/lkKbnpoHnlKhcbiAgICovXG4gIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgLyoqXG4gICAqIOW8gOWFs+eKtuaAgeaUueWPmOaXtueahCBoYW5kbGVyXG4gICAqL1xuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKlxuICAgKiDngrnlh7vkuovku7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKlxuICAgKiDorr7nva7lsLrlr7hcbiAgICovXG4gIHNpemU6IFByb3BUeXBlcy5vbmVPZihbXCJtaW5pXCIsIFwic21hbGxcIiwgXCJtZWRpdW1cIiwgXCJsYXJnZVwiXSksXG4gIC8qKlxuICAgKiDlhbPnirbmgIHml7bnmoTpmYTliqDmloflrZdcbiAgICovXG4gIHVuQ2hlY2tlZFRleHQ6IFByb3BUeXBlcy5ub2RlLFxufVxuXG5Td2l0Y2guZGVmYXVsdFByb3BzID0ge1xuICBjaGVja2VkOiBudWxsLFxuICBjaGVja2VkVGV4dDogbnVsbCxcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWQsXG4gIGRlZmF1bHRDaGVja2VkOiBudWxsLFxuICBkaXNhYmxlZDogZmFsc2UsXG4gIG9uQ2hhbmdlOiBudWxsLFxuICBvbkNsaWNrOiBudWxsLFxuICBzaXplOiBcInNtYWxsXCIsXG4gIHVuQ2hlY2tlZFRleHQ6IG51bGwsXG59XG5cbmV4cG9ydCBkZWZhdWx0IFN3aXRjaFxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsVUFBaEIsRUFBNEJDLE1BQTVCLEVBQW9DQyxRQUFwQyxRQUFvRCxPQUFwRDtBQUNBLE9BQU9DLFNBQVAsTUFBc0IsWUFBdEI7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLFlBQXZCO0FBQ0EsU0FBU0MsYUFBVCxFQUF3QkMsZUFBeEIsUUFBK0Msb0JBQS9DO0FBQ0EsU0FBU0MsU0FBVCxRQUEwQiwyQkFBMUI7QUFDQSxPQUFPLFNBQVA7QUFFQSxJQUFNQyxNQUFNLEdBQUcsYUFBZjs7QUE2Q0EsSUFBTUMsTUFBOEIsR0FBRyxTQUFqQ0EsTUFBaUMsT0FZbkI7RUFBQTs7RUFBQSxJQVhUQyxZQVdTLFFBWGxCQyxPQVdrQjtFQUFBLElBVmxCQyxXQVVrQixRQVZsQkEsV0FVa0I7RUFBQSxJQVRsQkMsU0FTa0IsUUFUbEJBLFNBU2tCO0VBQUEsSUFSbEJD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