{"version":3,"file":"static/chunks/8503-e1529c1c7865ae01.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@headlessui/react/dist/components/label/label.esm.js","webpack://_N_E/./node_modules/@headlessui/react/dist/components/switch/switch.esm.js","webpack://_N_E/./node_modules/classnames/index.js","webpack://_N_E/./node_modules/lodash/isEqual.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://_N_E/./node_modules/rc-util/es/warning.js","webpack://_N_E/./node_modules/rc-slider/es/common/Track.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://_N_E/./node_modules/rc-util/es/Dom/addEventListener.js","webpack://_N_E/./node_modules/rc-slider/es/common/Steps.js","webpack://_N_E/./node_modules/rc-slider/es/common/Marks.js","webpack://_N_E/./node_modules/rc-slider/es/Handle.js","webpack://_N_E/./node_modules/rc-util/es/KeyCode.js","webpack://_N_E/./node_modules/rc-slider/es/utils.js","webpack://_N_E/./node_modules/rc-slider/es/common/createSlider.js","webpack://_N_E/./node_modules/rc-slider/es/Slider.js","webpack://_N_E/./node_modules/rc-slider/es/Range.js","webpack://_N_E/./node_modules/rc-util/es/raf.js","webpack://_N_E/./node_modules/rc-util/es/Dom/contains.js","webpack://_N_E/./node_modules/rc-util/es/Dom/findDOMNode.js","webpack://_N_E/./node_modules/rc-util/es/ref.js","webpack://_N_E/./node_modules/rc-util/es/Dom/canUseDom.js","webpack://_N_E/./node_modules/rc-util/es/Portal.js","webpack://_N_E/./node_modules/rc-trigger/es/utils/alignUtil.js","webpack://_N_E/./node_modules/rc-motion/es/util/motion.js","webpack://_N_E/./node_modules/rc-motion/es/interface.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useState.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useStepQueue.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useNextFrame.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useStatus.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useDomMotionEvents.js","webpack://_N_E/./node_modules/rc-motion/es/DomWrapper.js","webpack://_N_E/./node_modules/rc-motion/es/CSSMotion.js","webpack://_N_E/./node_modules/rc-motion/es/util/diff.js","webpack://_N_E/./node_modules/rc-motion/es/CSSMotionList.js","webpack://_N_E/./node_modules/rc-motion/es/index.js","webpack://_N_E/./node_modules/rc-trigger/es/utils/legacyUtil.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/Mask.js","webpack://_N_E/./node_modules/rc-util/es/Dom/isVisible.js","webpack://_N_E/./node_modules/dom-align/dist-web/index.js","webpack://_N_E/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://_N_E/./node_modules/rc-align/es/util.js","webpack://_N_E/./node_modules/rc-align/es/Align.js","webpack://_N_E/./node_modules/rc-align/es/hooks/useBuffer.js","webpack://_N_E/./node_modules/rc-align/es/index.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/useVisibleStatus.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/PopupInner.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/useStretchStyle.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/MobilePopupInner.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/index.js","webpack://_N_E/./node_modules/rc-util/es/isMobile.js","webpack://_N_E/./node_modules/rc-trigger/es/context.js","webpack://_N_E/./node_modules/rc-trigger/es/index.js","webpack://_N_E/./node_modules/rc-tooltip/es/placements.js","webpack://_N_E/./node_modules/rc-tooltip/es/Content.js","webpack://_N_E/./node_modules/rc-tooltip/es/Tooltip.js","webpack://_N_E/./node_modules/rc-tooltip/es/index.js","webpack://_N_E/./node_modules/rc-slider/es/common/SliderTooltip.js","webpack://_N_E/./node_modules/rc-slider/es/createSliderWithTooltip.js","webpack://_N_E/./node_modules/rc-slider/es/index.js","webpack://_N_E/./node_modules/rc-util/node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/rc-util/node_modules/react-is/index.js","webpack://_N_E/./node_modules/react-feather/dist/icons/arrow-down.js","webpack://_N_E/./node_modules/react-feather/dist/icons/arrow-up-circle.js","webpack://_N_E/./node_modules/react-feather/dist/icons/x.js","webpack://_N_E/./node_modules/next/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js"],"sourcesContent":["import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport React, { useMemo, useCallback, createContext, useState, useContext } from 'react';\nimport { render } from '../../utils/render.esm.js';\nimport { useIsoMorphicEffect } from '../../hooks/use-iso-morphic-effect.esm.js';\nimport { useId } from '../../hooks/use-id.esm.js';\n\nvar LabelContext = /*#__PURE__*/createContext(null);\n\nfunction useLabelContext() {\n var context = useContext(LabelContext);\n\n if (context === null) {\n var err = new Error('You used a component, but it is not inside a relevant parent.');\n if (Error.captureStackTrace) Error.captureStackTrace(err, useLabelContext);\n throw err;\n }\n\n return context;\n}\n\nfunction useLabels() {\n var _useState = useState([]),\n labelIds = _useState[0],\n setLabelIds = _useState[1];\n\n return [// The actual id's as string or undefined.\n labelIds.length > 0 ? labelIds.join(' ') : undefined, // The provider component\n useMemo(function () {\n return function LabelProvider(props) {\n var register = useCallback(function (value) {\n setLabelIds(function (existing) {\n return [].concat(existing, [value]);\n });\n return function () {\n return setLabelIds(function (existing) {\n var clone = existing.slice();\n var idx = clone.indexOf(value);\n if (idx !== -1) clone.splice(idx, 1);\n return clone;\n });\n };\n }, []);\n var contextBag = useMemo(function () {\n return {\n register: register,\n slot: props.slot,\n name: props.name,\n props: props.props\n };\n }, [register, props.slot, props.name, props.props]);\n return React.createElement(LabelContext.Provider, {\n value: contextBag\n }, props.children);\n };\n }, [setLabelIds])];\n} // ---\n\nvar DEFAULT_LABEL_TAG = 'label';\nfunction Label(props) {\n var _props$passive = props.passive,\n passive = _props$passive === void 0 ? false : _props$passive,\n passThroughProps = _objectWithoutPropertiesLoose(props, [\"passive\"]);\n\n var context = useLabelContext();\n var id = \"headlessui-label-\" + useId();\n useIsoMorphicEffect(function () {\n return context.register(id);\n }, [id, context.register]);\n\n var propsWeControl = _extends({}, context.props, {\n id: id\n });\n\n var allProps = _extends({}, passThroughProps, propsWeControl); // @ts-expect-error props are dynamic via context, some components will\n // provide an onClick then we can delete it.\n\n\n if (passive) delete allProps['onClick'];\n return render({\n props: allProps,\n slot: context.slot || {},\n defaultTag: DEFAULT_LABEL_TAG,\n name: context.name || 'Label'\n });\n}\n\nexport { Label, useLabels };\n//# sourceMappingURL=label.esm.js.map\n","import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport React, { useContext, useRef, useCallback, useMemo, createContext, useState, Fragment } from 'react';\nimport { render } from '../../utils/render.esm.js';\nimport { useSyncRefs } from '../../hooks/use-sync-refs.esm.js';\nimport { Keys } from '../keyboard.esm.js';\nimport { isDisabledReactIssue7711 } from '../../utils/bugs.esm.js';\nimport { useId } from '../../hooks/use-id.esm.js';\nimport { Description, useDescriptions } from '../description/description.esm.js';\nimport { useResolveButtonType } from '../../hooks/use-resolve-button-type.esm.js';\nimport { Label, useLabels } from '../label/label.esm.js';\n\nvar GroupContext = /*#__PURE__*/createContext(null);\nGroupContext.displayName = 'GroupContext'; // ---\n\nvar DEFAULT_GROUP_TAG = Fragment;\n\nfunction Group(props) {\n var _useState = useState(null),\n switchElement = _useState[0],\n setSwitchElement = _useState[1];\n\n var _useLabels = useLabels(),\n labelledby = _useLabels[0],\n LabelProvider = _useLabels[1];\n\n var _useDescriptions = useDescriptions(),\n describedby = _useDescriptions[0],\n DescriptionProvider = _useDescriptions[1];\n\n var context = useMemo(function () {\n return {\n \"switch\": switchElement,\n setSwitch: setSwitchElement,\n labelledby: labelledby,\n describedby: describedby\n };\n }, [switchElement, setSwitchElement, labelledby, describedby]);\n return React.createElement(DescriptionProvider, {\n name: \"Switch.Description\"\n }, React.createElement(LabelProvider, {\n name: \"Switch.Label\",\n props: {\n onClick: function onClick() {\n if (!switchElement) return;\n switchElement.click();\n switchElement.focus({\n preventScroll: true\n });\n }\n }\n }, React.createElement(GroupContext.Provider, {\n value: context\n }, render({\n props: props,\n defaultTag: DEFAULT_GROUP_TAG,\n name: 'Switch.Group'\n }))));\n} // ---\n\n\nvar DEFAULT_SWITCH_TAG = 'button';\nfunction Switch(props) {\n var checked = props.checked,\n onChange = props.onChange,\n passThroughProps = _objectWithoutPropertiesLoose(props, [\"checked\", \"onChange\"]);\n\n var id = \"headlessui-switch-\" + useId();\n var groupContext = useContext(GroupContext);\n var internalSwitchRef = useRef(null);\n var switchRef = useSyncRefs(internalSwitchRef, groupContext === null ? null : groupContext.setSwitch);\n var toggle = useCallback(function () {\n return onChange(!checked);\n }, [onChange, checked]);\n var handleClick = useCallback(function (event) {\n if (isDisabledReactIssue7711(event.currentTarget)) return event.preventDefault();\n event.preventDefault();\n toggle();\n }, [toggle]);\n var handleKeyUp = useCallback(function (event) {\n if (event.key !== Keys.Tab) event.preventDefault();\n if (event.key === Keys.Space) toggle();\n }, [toggle]); // This is needed so that we can \"cancel\" the click event when we use the `Enter` key on a button.\n\n var handleKeyPress = useCallback(function (event) {\n return event.preventDefault();\n }, []);\n var slot = useMemo(function () {\n return {\n checked: checked\n };\n }, [checked]);\n var propsWeControl = {\n id: id,\n ref: switchRef,\n role: 'switch',\n type: useResolveButtonType(props, internalSwitchRef),\n tabIndex: 0,\n 'aria-checked': checked,\n 'aria-labelledby': groupContext == null ? void 0 : groupContext.labelledby,\n 'aria-describedby': groupContext == null ? void 0 : groupContext.describedby,\n onClick: handleClick,\n onKeyUp: handleKeyUp,\n onKeyPress: handleKeyPress\n };\n return render({\n props: _extends({}, passThroughProps, propsWeControl),\n slot: slot,\n defaultTag: DEFAULT_SWITCH_TAG,\n name: 'Switch'\n });\n} // ---\n\nSwitch.Group = Group;\nSwitch.Label = Label;\nSwitch.Description = Description;\n\nexport { Switch };\n//# sourceMappingURL=switch.esm.js.map\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport React from 'react';\n\nvar Track = function Track(props) {\n var _ref, _ref2;\n\n var className = props.className,\n included = props.included,\n vertical = props.vertical,\n style = props.style;\n var length = props.length,\n offset = props.offset,\n reverse = props.reverse;\n\n if (length < 0) {\n reverse = !reverse;\n length = Math.abs(length);\n offset = 100 - offset;\n }\n\n var positonStyle = vertical ? (_ref = {}, _defineProperty(_ref, reverse ? 'top' : 'bottom', \"\".concat(offset, \"%\")), _defineProperty(_ref, reverse ? 'bottom' : 'top', 'auto'), _defineProperty(_ref, \"height\", \"\".concat(length, \"%\")), _ref) : (_ref2 = {}, _defineProperty(_ref2, reverse ? 'right' : 'left', \"\".concat(offset, \"%\")), _defineProperty(_ref2, reverse ? 'left' : 'right', 'auto'), _defineProperty(_ref2, \"width\", \"\".concat(length, \"%\")), _ref2);\n\n var elStyle = _objectSpread(_objectSpread({}, style), positonStyle);\n\n return included ? /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: elStyle\n }) : null;\n};\n\nexport default Track;","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n}","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n\n return {\n remove: function remove() {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback);\n }\n }\n };\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport warning from \"rc-util/es/warning\";\n\nvar calcPoints = function calcPoints(vertical, marks, dots, step, min, max) {\n warning(dots ? step > 0 : true, '`Slider[step]` should be a positive number in order to make Slider[dots] work.');\n var points = Object.keys(marks).map(parseFloat).sort(function (a, b) {\n return a - b;\n });\n\n if (dots && step) {\n for (var i = min; i <= max; i += step) {\n if (points.indexOf(i) === -1) {\n points.push(i);\n }\n }\n }\n\n return points;\n};\n\nvar Steps = function Steps(_ref) {\n var prefixCls = _ref.prefixCls,\n vertical = _ref.vertical,\n reverse = _ref.reverse,\n marks = _ref.marks,\n dots = _ref.dots,\n step = _ref.step,\n included = _ref.included,\n lowerBound = _ref.lowerBound,\n upperBound = _ref.upperBound,\n max = _ref.max,\n min = _ref.min,\n dotStyle = _ref.dotStyle,\n activeDotStyle = _ref.activeDotStyle;\n var range = max - min;\n var elements = calcPoints(vertical, marks, dots, step, min, max).map(function (point) {\n var _classNames;\n\n var offset = \"\".concat(Math.abs(point - min) / range * 100, \"%\");\n var isActived = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n var style = vertical ? _objectSpread(_objectSpread({}, dotStyle), {}, _defineProperty({}, reverse ? 'top' : 'bottom', offset)) : _objectSpread(_objectSpread({}, dotStyle), {}, _defineProperty({}, reverse ? 'right' : 'left', offset));\n\n if (isActived) {\n style = _objectSpread(_objectSpread({}, style), activeDotStyle);\n }\n\n var pointClassName = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-dot\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-dot-active\"), isActived), _defineProperty(_classNames, \"\".concat(prefixCls, \"-dot-reverse\"), reverse), _classNames));\n return /*#__PURE__*/React.createElement(\"span\", {\n className: pointClassName,\n style: style,\n key: point\n });\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-step\")\n }, elements);\n};\n\nexport default Steps;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport React from 'react';\nimport classNames from 'classnames';\n\nvar Marks = function Marks(_ref) {\n var className = _ref.className,\n vertical = _ref.vertical,\n reverse = _ref.reverse,\n marks = _ref.marks,\n included = _ref.included,\n upperBound = _ref.upperBound,\n lowerBound = _ref.lowerBound,\n max = _ref.max,\n min = _ref.min,\n onClickLabel = _ref.onClickLabel;\n var marksKeys = Object.keys(marks);\n var range = max - min;\n var elements = marksKeys.map(parseFloat).sort(function (a, b) {\n return a - b;\n }).map(function (point) {\n var _classNames;\n\n var markPoint = marks[point];\n var markPointIsObject = _typeof(markPoint) === 'object' && ! /*#__PURE__*/React.isValidElement(markPoint);\n var markLabel = markPointIsObject ? markPoint.label : markPoint;\n\n if (!markLabel && markLabel !== 0) {\n return null;\n }\n\n var isActive = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n var markClassName = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(className, \"-text\"), true), _defineProperty(_classNames, \"\".concat(className, \"-text-active\"), isActive), _classNames));\n\n var bottomStyle = _defineProperty({\n marginBottom: '-50%'\n }, reverse ? 'top' : 'bottom', \"\".concat((point - min) / range * 100, \"%\"));\n\n var leftStyle = _defineProperty({\n transform: \"translateX(\".concat(reverse ? \"50%\" : \"-50%\", \")\"),\n msTransform: \"translateX(\".concat(reverse ? \"50%\" : \"-50%\", \")\")\n }, reverse ? 'right' : 'left', \"\".concat((point - min) / range * 100, \"%\"));\n\n var style = vertical ? bottomStyle : leftStyle;\n var markStyle = markPointIsObject ? _objectSpread(_objectSpread({}, style), markPoint.style) : style;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: markClassName,\n style: markStyle,\n key: point,\n onMouseDown: function onMouseDown(e) {\n return onClickLabel(e, point);\n },\n onTouchStart: function onTouchStart(e) {\n return onClickLabel(e, point);\n }\n }, markLabel);\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, elements);\n};\n\nexport default Marks;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"prefixCls\", \"vertical\", \"reverse\", \"offset\", \"style\", \"disabled\", \"min\", \"max\", \"value\", \"tabIndex\", \"ariaLabel\", \"ariaLabelledBy\", \"ariaValueTextFormatter\"];\nimport React from 'react';\nimport classNames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\n\nvar Handle = /*#__PURE__*/function (_React$Component) {\n _inherits(Handle, _React$Component);\n\n var _super = _createSuper(Handle);\n\n function Handle() {\n var _this;\n\n _classCallCheck(this, Handle);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n clickFocused: false\n };\n _this.onMouseUpListener = void 0;\n _this.handle = void 0;\n\n _this.setHandleRef = function (node) {\n _this.handle = node;\n };\n\n _this.handleMouseUp = function () {\n if (document.activeElement === _this.handle) {\n _this.setClickFocus(true);\n }\n };\n\n _this.handleMouseDown = function (e) {\n // avoid selecting text during drag\n // https://github.com/ant-design/ant-design/issues/25010\n e.preventDefault(); // fix https://github.com/ant-design/ant-design/issues/15324\n\n _this.focus();\n };\n\n _this.handleBlur = function () {\n _this.setClickFocus(false);\n };\n\n _this.handleKeyDown = function () {\n _this.setClickFocus(false);\n };\n\n return _this;\n }\n\n _createClass(Handle, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // mouseup won't trigger if mouse moved out of handle,\n // so we listen on document here.\n this.onMouseUpListener = addEventListener(document, 'mouseup', this.handleMouseUp);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.onMouseUpListener) {\n this.onMouseUpListener.remove();\n }\n }\n }, {\n key: \"setClickFocus\",\n value: function setClickFocus(focused) {\n this.setState({\n clickFocused: focused\n });\n }\n }, {\n key: \"clickFocus\",\n value: function clickFocus() {\n this.setClickFocus(true);\n this.focus();\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.handle.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.handle.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _ref, _ref2;\n\n var _this$props = this.props,\n prefixCls = _this$props.prefixCls,\n vertical = _this$props.vertical,\n reverse = _this$props.reverse,\n offset = _this$props.offset,\n style = _this$props.style,\n disabled = _this$props.disabled,\n min = _this$props.min,\n max = _this$props.max,\n value = _this$props.value,\n tabIndex = _this$props.tabIndex,\n ariaLabel = _this$props.ariaLabel,\n ariaLabelledBy = _this$props.ariaLabelledBy,\n ariaValueTextFormatter = _this$props.ariaValueTextFormatter,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n\n var className = classNames(this.props.className, _defineProperty({}, \"\".concat(prefixCls, \"-handle-click-focused\"), this.state.clickFocused));\n var positionStyle = vertical ? (_ref = {}, _defineProperty(_ref, reverse ? 'top' : 'bottom', \"\".concat(offset, \"%\")), _defineProperty(_ref, reverse ? 'bottom' : 'top', 'auto'), _defineProperty(_ref, \"transform\", reverse ? null : \"translateY(+50%)\"), _ref) : (_ref2 = {}, _defineProperty(_ref2, reverse ? 'right' : 'left', \"\".concat(offset, \"%\")), _defineProperty(_ref2, reverse ? 'left' : 'right', 'auto'), _defineProperty(_ref2, \"transform\", \"translateX(\".concat(reverse ? '+' : '-', \"50%)\")), _ref2);\n\n var elStyle = _objectSpread(_objectSpread({}, style), positionStyle);\n\n var mergedTabIndex = tabIndex || 0;\n\n if (disabled || tabIndex === null) {\n mergedTabIndex = null;\n }\n\n var ariaValueText;\n\n if (ariaValueTextFormatter) {\n ariaValueText = ariaValueTextFormatter(value);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: this.setHandleRef,\n tabIndex: mergedTabIndex\n }, restProps, {\n className: className,\n style: elStyle,\n onBlur: this.handleBlur,\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleMouseDown // aria attribute\n ,\n role: \"slider\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": value,\n \"aria-disabled\": !!disabled,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-valuetext\": ariaValueText\n }));\n }\n }]);\n\n return Handle;\n}(React.Component);\n\nexport { Handle as default };","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n\n if (e.altKey && !e.ctrlKey || e.metaKey || keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n\n default:\n return true;\n }\n },\n\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { findDOMNode } from 'react-dom';\nimport keyCode from \"rc-util/es/KeyCode\";\nexport function isEventFromHandle(e, handles) {\n try {\n return Object.keys(handles).some(function (key) {\n return e.target === findDOMNode(handles[key]);\n });\n } catch (error) {\n return false;\n }\n}\nexport function isValueOutOfRange(value, _ref) {\n var min = _ref.min,\n max = _ref.max;\n return value < min || value > max;\n}\nexport function isNotTouchEvent(e) {\n return e.touches.length > 1 || e.type.toLowerCase() === 'touchend' && e.touches.length > 0;\n}\nexport function getClosestPoint(val, _ref2) {\n var marks = _ref2.marks,\n step = _ref2.step,\n min = _ref2.min,\n max = _ref2.max;\n var points = Object.keys(marks).map(parseFloat);\n\n if (step !== null) {\n var baseNum = Math.pow(10, getPrecision(step));\n var maxSteps = Math.floor((max * baseNum - min * baseNum) / (step * baseNum));\n var steps = Math.min((val - min) / step, maxSteps);\n var closestStep = Math.round(steps) * step + min;\n points.push(closestStep);\n }\n\n var diffs = points.map(function (point) {\n return Math.abs(val - point);\n });\n return points[diffs.indexOf(Math.min.apply(Math, _toConsumableArray(diffs)))];\n}\nexport function getPrecision(step) {\n var stepString = step.toString();\n var precision = 0;\n\n if (stepString.indexOf('.') >= 0) {\n precision = stepString.length - stepString.indexOf('.') - 1;\n }\n\n return precision;\n}\nexport function getMousePosition(vertical, e) {\n return vertical ? e.clientY : e.pageX;\n}\nexport function getTouchPosition(vertical, e) {\n return vertical ? e.touches[0].clientY : e.touches[0].pageX;\n}\nexport function getHandleCenterPosition(vertical, handle) {\n var coords = handle.getBoundingClientRect();\n return vertical ? coords.top + coords.height * 0.5 : window.pageXOffset + coords.left + coords.width * 0.5;\n}\nexport function ensureValueInRange(val, _ref3) {\n var max = _ref3.max,\n min = _ref3.min;\n\n if (val <= min) {\n return min;\n }\n\n if (val >= max) {\n return max;\n }\n\n return val;\n}\nexport function ensureValuePrecision(val, props) {\n var step = props.step;\n var closestPoint = isFinite(getClosestPoint(val, props)) ? getClosestPoint(val, props) : 0; // eslint-disable-line\n\n return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));\n}\nexport function pauseEvent(e) {\n e.stopPropagation();\n e.preventDefault();\n}\nexport function calculateNextValue(func, value, props) {\n var operations = {\n increase: function increase(a, b) {\n return a + b;\n },\n decrease: function decrease(a, b) {\n return a - b;\n }\n };\n var indexToGet = operations[func](Object.keys(props.marks).indexOf(JSON.stringify(value)), 1);\n var keyToGet = Object.keys(props.marks)[indexToGet];\n\n if (props.step) {\n return operations[func](value, props.step);\n }\n\n if (!!Object.keys(props.marks).length && !!props.marks[keyToGet]) {\n return props.marks[keyToGet];\n }\n\n return value;\n}\nexport function getKeyboardValueMutator(e, vertical, reverse) {\n var increase = 'increase';\n var decrease = 'decrease';\n var method = increase;\n\n switch (e.keyCode) {\n case keyCode.UP:\n method = vertical && reverse ? decrease : increase;\n break;\n\n case keyCode.RIGHT:\n method = !vertical && reverse ? decrease : increase;\n break;\n\n case keyCode.DOWN:\n method = vertical && reverse ? increase : decrease;\n break;\n\n case keyCode.LEFT:\n method = !vertical && reverse ? increase : decrease;\n break;\n\n case keyCode.END:\n return function (value, props) {\n return props.max;\n };\n\n case keyCode.HOME:\n return function (value, props) {\n return props.min;\n };\n\n case keyCode.PAGE_UP:\n return function (value, props) {\n return value + props.step * 2;\n };\n\n case keyCode.PAGE_DOWN:\n return function (value, props) {\n return value - props.step * 2;\n };\n\n default:\n return undefined;\n }\n\n return function (value, props) {\n return calculateNextValue(method, value, props);\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _get from \"@babel/runtime/helpers/esm/get\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"index\"];\nimport React from 'react';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport classNames from 'classnames';\nimport warning from \"rc-util/es/warning\";\nimport Steps from './Steps';\nimport Marks from './Marks';\nimport Handle from '../Handle';\nimport * as utils from '../utils';\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nfunction noop() {}\n\nexport default function createSlider(Component) {\n var _class, _temp;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(ComponentEnhancer, _Component);\n\n var _super = _createSuper(ComponentEnhancer);\n\n function ComponentEnhancer(props) {\n var _this;\n\n _classCallCheck(this, ComponentEnhancer);\n\n _this = _super.call(this, props);\n _this.handlesRefs = void 0;\n _this.sliderRef = void 0;\n _this.document = void 0;\n _this.dragOffset = void 0;\n _this.prevMovedHandleIndex = void 0;\n _this.onTouchMoveListener = void 0;\n _this.onTouchUpListener = void 0;\n _this.onMouseMoveListener = void 0;\n _this.onMouseUpListener = void 0;\n _this.dragTrack = void 0;\n _this.startBounds = void 0;\n\n _this.onDown = function (e, position) {\n var p = position;\n var _this$props = _this.props,\n draggableTrack = _this$props.draggableTrack,\n isVertical = _this$props.vertical;\n var bounds = _this.state.bounds;\n var value = draggableTrack && _this.positionGetValue ? _this.positionGetValue(p) || [] : [];\n var inPoint = utils.isEventFromHandle(e, _this.handlesRefs);\n _this.dragTrack = draggableTrack && bounds.length >= 2 && !inPoint && !value.map(function (n, i) {\n var v = !i ? n >= bounds[i] : true;\n return i === value.length - 1 ? n <= bounds[i] : v;\n }).some(function (c) {\n return !c;\n });\n\n if (_this.dragTrack) {\n _this.dragOffset = p;\n _this.startBounds = _toConsumableArray(bounds);\n } else {\n if (!inPoint) {\n _this.dragOffset = 0;\n } else {\n var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n _this.dragOffset = p - handlePosition;\n p = handlePosition;\n }\n\n _this.onStart(p);\n }\n };\n\n _this.onMouseDown = function (e) {\n if (e.button !== 0) {\n return;\n }\n\n _this.removeDocumentEvents();\n\n var isVertical = _this.props.vertical;\n var position = utils.getMousePosition(isVertical, e);\n\n _this.onDown(e, position);\n\n _this.addDocumentMouseEvents();\n };\n\n _this.onTouchStart = function (e) {\n if (utils.isNotTouchEvent(e)) return;\n var isVertical = _this.props.vertical;\n var position = utils.getTouchPosition(isVertical, e);\n\n _this.onDown(e, position);\n\n _this.addDocumentTouchEvents();\n\n utils.pauseEvent(e);\n };\n\n _this.onFocus = function (e) {\n var _this$props2 = _this.props,\n onFocus = _this$props2.onFocus,\n vertical = _this$props2.vertical;\n\n if (utils.isEventFromHandle(e, _this.handlesRefs) && !_this.dragTrack) {\n var handlePosition = utils.getHandleCenterPosition(vertical, e.target);\n _this.dragOffset = 0;\n\n _this.onStart(handlePosition);\n\n utils.pauseEvent(e);\n\n if (onFocus) {\n onFocus(e);\n }\n }\n };\n\n _this.onBlur = function (e) {\n var onBlur = _this.props.onBlur;\n\n if (!_this.dragTrack) {\n _this.onEnd();\n }\n\n if (onBlur) {\n onBlur(e);\n }\n };\n\n _this.onMouseUp = function () {\n if (_this.handlesRefs[_this.prevMovedHandleIndex]) {\n _this.handlesRefs[_this.prevMovedHandleIndex].clickFocus();\n }\n };\n\n _this.onMouseMove = function (e) {\n if (!_this.sliderRef) {\n _this.onEnd();\n\n return;\n }\n\n var position = utils.getMousePosition(_this.props.vertical, e);\n\n _this.onMove(e, position - _this.dragOffset, _this.dragTrack, _this.startBounds);\n };\n\n _this.onTouchMove = function (e) {\n if (utils.isNotTouchEvent(e) || !_this.sliderRef) {\n _this.onEnd();\n\n return;\n }\n\n var position = utils.getTouchPosition(_this.props.vertical, e);\n\n _this.onMove(e, position - _this.dragOffset, _this.dragTrack, _this.startBounds);\n };\n\n _this.onKeyDown = function (e) {\n if (_this.sliderRef && utils.isEventFromHandle(e, _this.handlesRefs)) {\n _this.onKeyboard(e);\n }\n };\n\n _this.onClickMarkLabel = function (e, value) {\n e.stopPropagation();\n\n _this.onChange({\n value: value\n }); // eslint-disable-next-line react/no-unused-state\n\n\n _this.setState({\n value: value\n }, function () {\n return _this.onEnd(true);\n });\n };\n\n _this.saveSlider = function (slider) {\n _this.sliderRef = slider;\n };\n\n var step = props.step,\n max = props.max,\n min = props.min;\n var isPointDiffEven = isFinite(max - min) ? (max - min) % step === 0 : true; // eslint-disable-line\n\n warning(step && Math.floor(step) === step ? isPointDiffEven : true, \"Slider[max] - Slider[min] (\".concat(max - min, \") should be a multiple of Slider[step] (\").concat(step, \")\"));\n _this.handlesRefs = {};\n return _this;\n }\n\n _createClass(ComponentEnhancer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // Snapshot testing cannot handle refs, so be sure to null-check this.\n this.document = this.sliderRef && this.sliderRef.ownerDocument;\n var _this$props3 = this.props,\n autoFocus = _this$props3.autoFocus,\n disabled = _this$props3.disabled;\n\n if (autoFocus && !disabled) {\n this.focus();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (_get(_getPrototypeOf(ComponentEnhancer.prototype), \"componentWillUnmount\", this)) _get(_getPrototypeOf(ComponentEnhancer.prototype), \"componentWillUnmount\", this).call(this);\n this.removeDocumentEvents();\n }\n }, {\n key: \"getSliderStart\",\n value: function getSliderStart() {\n var slider = this.sliderRef;\n var _this$props4 = this.props,\n vertical = _this$props4.vertical,\n reverse = _this$props4.reverse;\n var rect = slider.getBoundingClientRect();\n\n if (vertical) {\n return reverse ? rect.bottom : rect.top;\n }\n\n return window.pageXOffset + (reverse ? rect.right : rect.left);\n }\n }, {\n key: \"getSliderLength\",\n value: function getSliderLength() {\n var slider = this.sliderRef;\n\n if (!slider) {\n return 0;\n }\n\n var coords = slider.getBoundingClientRect();\n return this.props.vertical ? coords.height : coords.width;\n }\n }, {\n key: \"addDocumentTouchEvents\",\n value: function addDocumentTouchEvents() {\n // just work for Chrome iOS Safari and Android Browser\n this.onTouchMoveListener = addEventListener(this.document, 'touchmove', this.onTouchMove);\n this.onTouchUpListener = addEventListener(this.document, 'touchend', this.onEnd);\n }\n }, {\n key: \"addDocumentMouseEvents\",\n value: function addDocumentMouseEvents() {\n this.onMouseMoveListener = addEventListener(this.document, 'mousemove', this.onMouseMove);\n this.onMouseUpListener = addEventListener(this.document, 'mouseup', this.onEnd);\n }\n }, {\n key: \"removeDocumentEvents\",\n value: function removeDocumentEvents() {\n /* eslint-disable @typescript-eslint/no-unused-expressions */\n this.onTouchMoveListener && this.onTouchMoveListener.remove();\n this.onTouchUpListener && this.onTouchUpListener.remove();\n this.onMouseMoveListener && this.onMouseMoveListener.remove();\n this.onMouseUpListener && this.onMouseUpListener.remove();\n /* eslint-enable no-unused-expressions */\n }\n }, {\n key: \"focus\",\n value: function focus() {\n var _this$handlesRefs$;\n\n if (this.props.disabled) {\n return;\n }\n\n (_this$handlesRefs$ = this.handlesRefs[0]) === null || _this$handlesRefs$ === void 0 ? void 0 : _this$handlesRefs$.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n var _this2 = this;\n\n if (this.props.disabled) {\n return;\n }\n\n Object.keys(this.handlesRefs).forEach(function (key) {\n var _this2$handlesRefs$ke, _this2$handlesRefs$ke2;\n\n (_this2$handlesRefs$ke = _this2.handlesRefs[key]) === null || _this2$handlesRefs$ke === void 0 ? void 0 : (_this2$handlesRefs$ke2 = _this2$handlesRefs$ke.blur) === null || _this2$handlesRefs$ke2 === void 0 ? void 0 : _this2$handlesRefs$ke2.call(_this2$handlesRefs$ke);\n });\n }\n }, {\n key: \"calcValue\",\n value: function calcValue(offset) {\n var _this$props5 = this.props,\n vertical = _this$props5.vertical,\n min = _this$props5.min,\n max = _this$props5.max;\n var ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());\n var value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;\n return value;\n }\n }, {\n key: \"calcValueByPos\",\n value: function calcValueByPos(position) {\n var sign = this.props.reverse ? -1 : +1;\n var pixelOffset = sign * (position - this.getSliderStart());\n var nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n return nextValue;\n }\n }, {\n key: \"calcOffset\",\n value: function calcOffset(value) {\n var _this$props6 = this.props,\n min = _this$props6.min,\n max = _this$props6.max;\n var ratio = (value - min) / (max - min);\n return Math.max(0, ratio * 100);\n }\n }, {\n key: \"saveHandle\",\n value: function saveHandle(index, handle) {\n this.handlesRefs[index] = handle;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _this$props7 = this.props,\n prefixCls = _this$props7.prefixCls,\n className = _this$props7.className,\n marks = _this$props7.marks,\n dots = _this$props7.dots,\n step = _this$props7.step,\n included = _this$props7.included,\n disabled = _this$props7.disabled,\n vertical = _this$props7.vertical,\n reverse = _this$props7.reverse,\n min = _this$props7.min,\n max = _this$props7.max,\n children = _this$props7.children,\n maximumTrackStyle = _this$props7.maximumTrackStyle,\n style = _this$props7.style,\n railStyle = _this$props7.railStyle,\n dotStyle = _this$props7.dotStyle,\n activeDotStyle = _this$props7.activeDotStyle;\n\n var _get$call = _get(_getPrototypeOf(ComponentEnhancer.prototype), \"render\", this).call(this),\n tracks = _get$call.tracks,\n handles = _get$call.handles;\n\n var sliderClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-with-marks\"), Object.keys(marks).length), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-vertical\"), vertical), _defineProperty(_classNames, className, className), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: this.saveSlider,\n className: sliderClassName,\n onTouchStart: disabled ? noop : this.onTouchStart,\n onMouseDown: disabled ? noop : this.onMouseDown,\n onMouseUp: disabled ? noop : this.onMouseUp,\n onKeyDown: disabled ? noop : this.onKeyDown,\n onFocus: disabled ? noop : this.onFocus,\n onBlur: disabled ? noop : this.onBlur,\n style: style\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-rail\"),\n style: _objectSpread(_objectSpread({}, maximumTrackStyle), railStyle)\n }), tracks, /*#__PURE__*/React.createElement(Steps, {\n prefixCls: prefixCls,\n vertical: vertical,\n reverse: reverse,\n marks: marks,\n dots: dots,\n step: step,\n included: included,\n lowerBound: this.getLowerBound(),\n upperBound: this.getUpperBound(),\n max: max,\n min: min,\n dotStyle: dotStyle,\n activeDotStyle: activeDotStyle\n }), handles, /*#__PURE__*/React.createElement(Marks, {\n className: \"\".concat(prefixCls, \"-mark\"),\n onClickLabel: disabled ? noop : this.onClickMarkLabel,\n vertical: vertical,\n marks: marks,\n included: included,\n lowerBound: this.getLowerBound(),\n upperBound: this.getUpperBound(),\n max: max,\n min: min,\n reverse: reverse\n }), children);\n }\n }]);\n\n return ComponentEnhancer;\n }(Component), _class.displayName = \"ComponentEnhancer(\".concat(Component.displayName, \")\"), _class.defaultProps = _objectSpread(_objectSpread({}, Component.defaultProps), {}, {\n prefixCls: 'rc-slider',\n className: '',\n min: 0,\n max: 100,\n step: 1,\n marks: {},\n handle: function handle(props) {\n var index = props.index,\n restProps = _objectWithoutProperties(props, _excluded);\n\n delete restProps.dragging;\n\n if (restProps.value === null) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Handle, _extends({}, restProps, {\n key: index\n }));\n },\n onBeforeChange: noop,\n onChange: noop,\n onAfterChange: noop,\n included: true,\n disabled: false,\n dots: false,\n vertical: false,\n reverse: false,\n trackStyle: [{}],\n handleStyle: [{}],\n railStyle: {},\n dotStyle: {},\n activeDotStyle: {}\n }), _temp;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nvar Slider = /*#__PURE__*/function (_React$Component) {\n _inherits(Slider, _React$Component);\n\n var _super = _createSuper(Slider);\n\n /* eslint-enable */\n function Slider(props) {\n var _this;\n\n _classCallCheck(this, Slider);\n\n _this = _super.call(this, props);\n\n _this.positionGetValue = function (position) {\n return [];\n };\n\n _this.startValue = void 0;\n _this.startPosition = void 0;\n _this.prevMovedHandleIndex = void 0;\n\n _this.onEnd = function (force) {\n var dragging = _this.state.dragging;\n\n _this.removeDocumentEvents();\n\n if (dragging || force) {\n _this.props.onAfterChange(_this.getValue());\n }\n\n _this.setState({\n dragging: false\n });\n };\n\n var defaultValue = props.defaultValue !== undefined ? props.defaultValue : props.min;\n var value = props.value !== undefined ? props.value : defaultValue;\n _this.state = {\n value: _this.trimAlignValue(value),\n dragging: false\n };\n warning(!('minimumTrackStyle' in props), 'minimumTrackStyle will be deprecated, please use trackStyle instead.');\n warning(!('maximumTrackStyle' in props), 'maximumTrackStyle will be deprecated, please use railStyle instead.');\n return _this;\n }\n\n _createClass(Slider, [{\n key: \"calcValueByPos\",\n value:\n /**\n * [Legacy] Used for inherit other component.\n * It's a bad code style which should be refactor.\n */\n\n /* eslint-disable @typescript-eslint/no-unused-vars, class-methods-use-this */\n function calcValueByPos(value) {\n return 0;\n }\n }, {\n key: \"calcOffset\",\n value: function calcOffset(value) {\n return 0;\n }\n }, {\n key: \"saveHandle\",\n value: function saveHandle(index, h) {}\n }, {\n key: \"removeDocumentEvents\",\n value: function removeDocumentEvents() {}\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this$props = this.props,\n min = _this$props.min,\n max = _this$props.max,\n value = _this$props.value,\n onChange = _this$props.onChange;\n\n if (!('min' in this.props || 'max' in this.props)) {\n return;\n }\n\n var theValue = value !== undefined ? value : prevState.value;\n var nextValue = this.trimAlignValue(theValue, this.props);\n\n if (nextValue === prevState.value) {\n return;\n } // eslint-disable-next-line\n\n\n this.setState({\n value: nextValue\n });\n\n if (!(min === prevProps.min && max === prevProps.max) && utils.isValueOutOfRange(theValue, this.props)) {\n onChange(nextValue);\n }\n }\n }, {\n key: \"onChange\",\n value: function onChange(state) {\n var props = this.props;\n var isNotControlled = !('value' in props);\n var nextState = state.value > this.props.max ? _objectSpread(_objectSpread({}, state), {}, {\n value: this.props.max\n }) : state;\n\n if (isNotControlled) {\n this.setState(nextState);\n }\n\n var changedValue = nextState.value;\n props.onChange(changedValue);\n }\n }, {\n key: \"onStart\",\n value: function onStart(position) {\n this.setState({\n dragging: true\n });\n var props = this.props;\n var prevValue = this.getValue();\n props.onBeforeChange(prevValue);\n var value = this.calcValueByPos(position);\n this.startValue = value;\n this.startPosition = position;\n if (value === prevValue) return;\n this.prevMovedHandleIndex = 0;\n this.onChange({\n value: value\n });\n }\n }, {\n key: \"onMove\",\n value: function onMove(e, position) {\n utils.pauseEvent(e);\n var oldValue = this.state.value;\n var value = this.calcValueByPos(position);\n if (value === oldValue) return;\n this.onChange({\n value: value\n });\n }\n }, {\n key: \"onKeyboard\",\n value: function onKeyboard(e) {\n var _this$props2 = this.props,\n reverse = _this$props2.reverse,\n vertical = _this$props2.vertical;\n var valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n var state = this.state;\n var oldValue = state.value;\n var mutatedValue = valueMutator(oldValue, this.props);\n var value = this.trimAlignValue(mutatedValue);\n if (value === oldValue) return;\n this.onChange({\n value: value\n });\n this.props.onAfterChange(value);\n this.onEnd();\n }\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this.state.value;\n }\n }, {\n key: \"getLowerBound\",\n value: function getLowerBound() {\n var minPoint = this.props.startPoint || this.props.min;\n return this.state.value > minPoint ? minPoint : this.state.value;\n }\n }, {\n key: \"getUpperBound\",\n value: function getUpperBound() {\n if (this.state.value < this.props.startPoint) {\n return this.props.startPoint;\n }\n\n return this.state.value;\n }\n }, {\n key: \"trimAlignValue\",\n value: function trimAlignValue(v) {\n var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (v === null) {\n return null;\n }\n\n var mergedProps = _objectSpread(_objectSpread({}, this.props), nextProps);\n\n var val = utils.ensureValueInRange(v, mergedProps);\n return utils.ensureValuePrecision(val, mergedProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n prefixCls = _this$props3.prefixCls,\n vertical = _this$props3.vertical,\n included = _this$props3.included,\n disabled = _this$props3.disabled,\n minimumTrackStyle = _this$props3.minimumTrackStyle,\n trackStyle = _this$props3.trackStyle,\n handleStyle = _this$props3.handleStyle,\n tabIndex = _this$props3.tabIndex,\n ariaLabelForHandle = _this$props3.ariaLabelForHandle,\n ariaLabelledByForHandle = _this$props3.ariaLabelledByForHandle,\n ariaValueTextFormatterForHandle = _this$props3.ariaValueTextFormatterForHandle,\n min = _this$props3.min,\n max = _this$props3.max,\n startPoint = _this$props3.startPoint,\n reverse = _this$props3.reverse,\n handleGenerator = _this$props3.handle;\n var _this$state = this.state,\n value = _this$state.value,\n dragging = _this$state.dragging;\n var offset = this.calcOffset(value);\n var handle = handleGenerator({\n className: \"\".concat(prefixCls, \"-handle\"),\n prefixCls: prefixCls,\n vertical: vertical,\n offset: offset,\n value: value,\n dragging: dragging,\n disabled: disabled,\n min: min,\n max: max,\n reverse: reverse,\n index: 0,\n tabIndex: tabIndex,\n ariaLabel: ariaLabelForHandle,\n ariaLabelledBy: ariaLabelledByForHandle,\n ariaValueTextFormatter: ariaValueTextFormatterForHandle,\n style: handleStyle[0] || handleStyle,\n ref: function ref(h) {\n return _this2.saveHandle(0, h);\n }\n });\n var trackOffset = startPoint !== undefined ? this.calcOffset(startPoint) : 0;\n var mergedTrackStyle = trackStyle[0] || trackStyle;\n var track = /*#__PURE__*/React.createElement(Track, {\n className: \"\".concat(prefixCls, \"-track\"),\n vertical: vertical,\n included: included,\n offset: trackOffset,\n reverse: reverse,\n length: offset - trackOffset,\n style: _objectSpread(_objectSpread({}, minimumTrackStyle), mergedTrackStyle)\n });\n return {\n tracks: track,\n handles: handle\n };\n }\n }]);\n\n return Slider;\n}(React.Component);\n\nexport default createSlider(Slider);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nvar _trimAlignValue = function trimAlignValue(_ref) {\n var value = _ref.value,\n handle = _ref.handle,\n bounds = _ref.bounds,\n props = _ref.props;\n var allowCross = props.allowCross,\n pushable = props.pushable;\n var thershold = Number(pushable);\n var valInRange = utils.ensureValueInRange(value, props);\n var valNotConflict = valInRange;\n\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && valInRange <= bounds[handle - 1] + thershold) {\n valNotConflict = bounds[handle - 1] + thershold;\n }\n\n if (handle < bounds.length - 1 && valInRange >= bounds[handle + 1] - thershold) {\n valNotConflict = bounds[handle + 1] - thershold;\n }\n }\n\n return utils.ensureValuePrecision(valNotConflict, props);\n};\n\nvar Range = /*#__PURE__*/function (_React$Component) {\n _inherits(Range, _React$Component);\n\n var _super = _createSuper(Range);\n\n function Range(props) {\n var _this;\n\n _classCallCheck(this, Range);\n\n _this = _super.call(this, props);\n _this.startValue = void 0;\n _this.startPosition = void 0;\n _this.prevMovedHandleIndex = void 0;\n _this.internalPointsCache = void 0;\n _this.handlesRefs = void 0;\n _this.dragTrack = void 0;\n\n _this.positionGetValue = function (position) {\n var bounds = _this.getValue();\n\n var value = _this.calcValueByPos(position);\n\n var closestBound = _this.getClosestBound(value);\n\n var index = _this.getBoundNeedMoving(value, closestBound);\n\n var prevValue = bounds[index];\n if (value === prevValue) return null;\n\n var nextBounds = _toConsumableArray(bounds);\n\n nextBounds[index] = value;\n return nextBounds;\n };\n\n _this.onEnd = function (force) {\n var handle = _this.state.handle;\n\n _this.removeDocumentEvents();\n\n if (!handle) {\n _this.dragTrack = false;\n }\n\n if (handle !== null || force) {\n _this.props.onAfterChange(_this.getValue());\n }\n\n _this.setState({\n handle: null\n });\n };\n\n var count = props.count,\n min = props.min,\n max = props.max;\n var initialValue = Array.apply(void 0, _toConsumableArray(Array(count + 1))).map(function () {\n return min;\n });\n var defaultValue = 'defaultValue' in props ? props.defaultValue : initialValue;\n\n var _value = props.value !== undefined ? props.value : defaultValue;\n\n var _bounds = _value.map(function (v, i) {\n return _trimAlignValue({\n value: v,\n handle: i,\n props: props\n });\n });\n\n var recent = _bounds[0] === max ? 0 : _bounds.length - 1;\n _this.state = {\n handle: null,\n recent: recent,\n bounds: _bounds\n };\n return _this;\n }\n\n _createClass(Range, [{\n key: \"calcValueByPos\",\n value:\n /**\n * [Legacy] Used for inherit other component.\n * It's a bad code style which should be refactor.\n */\n\n /* eslint-disable @typescript-eslint/no-unused-vars, class-methods-use-this */\n function calcValueByPos(value) {\n return 0;\n }\n }, {\n key: \"getSliderLength\",\n value: function getSliderLength() {\n return 0;\n }\n }, {\n key: \"calcOffset\",\n value: function calcOffset(value) {\n return 0;\n }\n }, {\n key: \"saveHandle\",\n value: function saveHandle(index, h) {}\n }, {\n key: \"removeDocumentEvents\",\n value: function removeDocumentEvents() {}\n /* eslint-enable */\n\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this2 = this;\n\n var _this$props = this.props,\n onChange = _this$props.onChange,\n value = _this$props.value,\n min = _this$props.min,\n max = _this$props.max;\n\n if (!('min' in this.props || 'max' in this.props)) {\n return;\n }\n\n if (min === prevProps.min && max === prevProps.max) {\n return;\n }\n\n var currentValue = value || prevState.bounds;\n\n if (currentValue.some(function (v) {\n return utils.isValueOutOfRange(v, _this2.props);\n })) {\n var newValues = currentValue.map(function (v) {\n return utils.ensureValueInRange(v, _this2.props);\n });\n onChange(newValues);\n }\n }\n }, {\n key: \"onChange\",\n value: function onChange(state) {\n var props = this.props;\n var isNotControlled = !('value' in props);\n\n if (isNotControlled) {\n this.setState(state);\n } else {\n var controlledState = {};\n ['handle', 'recent'].forEach(function (item) {\n if (state[item] !== undefined) {\n controlledState[item] = state[item];\n }\n });\n\n if (Object.keys(controlledState).length) {\n this.setState(controlledState);\n }\n }\n\n var data = _objectSpread(_objectSpread({}, this.state), state);\n\n var changedValue = data.bounds;\n props.onChange(changedValue);\n }\n }, {\n key: \"onStart\",\n value: function onStart(position) {\n var props = this.props,\n state = this.state;\n var bounds = this.getValue();\n props.onBeforeChange(bounds);\n var value = this.calcValueByPos(position);\n this.startValue = value;\n this.startPosition = position;\n var closestBound = this.getClosestBound(value);\n this.prevMovedHandleIndex = this.getBoundNeedMoving(value, closestBound);\n this.setState({\n handle: this.prevMovedHandleIndex,\n recent: this.prevMovedHandleIndex\n });\n var prevValue = bounds[this.prevMovedHandleIndex];\n if (value === prevValue) return;\n\n var nextBounds = _toConsumableArray(state.bounds);\n\n nextBounds[this.prevMovedHandleIndex] = value;\n this.onChange({\n bounds: nextBounds\n });\n }\n }, {\n key: \"onMove\",\n value: function onMove(e, position, dragTrack, startBounds) {\n utils.pauseEvent(e);\n var state = this.state,\n props = this.props;\n var maxValue = props.max || 100;\n var minValue = props.min || 0;\n\n if (dragTrack) {\n var pos = props.vertical ? -position : position;\n pos = props.reverse ? -pos : pos;\n var max = maxValue - Math.max.apply(Math, _toConsumableArray(startBounds));\n var min = minValue - Math.min.apply(Math, _toConsumableArray(startBounds));\n var ratio = Math.min(Math.max(pos / (this.getSliderLength() / (maxValue - minValue)), min), max);\n var nextBounds = startBounds.map(function (v) {\n return Math.floor(Math.max(Math.min(v + ratio, maxValue), minValue));\n });\n\n if (state.bounds.map(function (c, i) {\n return c === nextBounds[i];\n }).some(function (c) {\n return !c;\n })) {\n this.onChange({\n bounds: nextBounds\n });\n }\n\n return;\n }\n\n var value = this.calcValueByPos(position);\n var oldValue = state.bounds[state.handle];\n if (value === oldValue) return;\n this.moveTo(value);\n }\n }, {\n key: \"onKeyboard\",\n value: function onKeyboard(e) {\n var _this$props2 = this.props,\n reverse = _this$props2.reverse,\n vertical = _this$props2.vertical;\n var valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n var state = this.state,\n props = this.props;\n var bounds = state.bounds,\n handle = state.handle;\n var oldValue = bounds[handle === null ? state.recent : handle];\n var mutatedValue = valueMutator(oldValue, props);\n\n var value = _trimAlignValue({\n value: mutatedValue,\n handle: handle,\n bounds: state.bounds,\n props: props\n });\n\n if (value === oldValue) return;\n var isFromKeyboardEvent = true;\n this.moveTo(value, isFromKeyboardEvent);\n }\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this.state.bounds;\n }\n }, {\n key: \"getClosestBound\",\n value: function getClosestBound(value) {\n var bounds = this.state.bounds;\n var closestBound = 0;\n\n for (var i = 1; i < bounds.length - 1; i += 1) {\n if (value >= bounds[i]) {\n closestBound = i;\n }\n }\n\n if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n closestBound += 1;\n }\n\n return closestBound;\n }\n }, {\n key: \"getBoundNeedMoving\",\n value: function getBoundNeedMoving(value, closestBound) {\n var _this$state = this.state,\n bounds = _this$state.bounds,\n recent = _this$state.recent;\n var boundNeedMoving = closestBound;\n var isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];\n\n if (isAtTheSamePoint && bounds[recent] === bounds[closestBound]) {\n boundNeedMoving = recent;\n }\n\n if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {\n boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;\n }\n\n return boundNeedMoving;\n }\n }, {\n key: \"getLowerBound\",\n value: function getLowerBound() {\n return this.state.bounds[0];\n }\n }, {\n key: \"getUpperBound\",\n value: function getUpperBound() {\n var bounds = this.state.bounds;\n return bounds[bounds.length - 1];\n }\n /**\n * Returns an array of possible slider points, taking into account both\n * `marks` and `step`. The result is cached.\n */\n\n }, {\n key: \"getPoints\",\n value: function getPoints() {\n var _this$props3 = this.props,\n marks = _this$props3.marks,\n step = _this$props3.step,\n min = _this$props3.min,\n max = _this$props3.max;\n var cache = this.internalPointsCache;\n\n if (!cache || cache.marks !== marks || cache.step !== step) {\n var pointsObject = _objectSpread({}, marks);\n\n if (step !== null) {\n for (var point = min; point <= max; point += step) {\n pointsObject[point] = point;\n }\n }\n\n var points = Object.keys(pointsObject).map(parseFloat);\n points.sort(function (a, b) {\n return a - b;\n });\n this.internalPointsCache = {\n marks: marks,\n step: step,\n points: points\n };\n }\n\n return this.internalPointsCache.points;\n }\n }, {\n key: \"moveTo\",\n value: function moveTo(value, isFromKeyboardEvent) {\n var _this3 = this;\n\n var state = this.state,\n props = this.props;\n\n var nextBounds = _toConsumableArray(state.bounds);\n\n var handle = state.handle === null ? state.recent : state.handle;\n nextBounds[handle] = value;\n var nextHandle = handle;\n\n if (props.pushable !== false) {\n this.pushSurroundingHandles(nextBounds, nextHandle);\n } else if (props.allowCross) {\n nextBounds.sort(function (a, b) {\n return a - b;\n });\n nextHandle = nextBounds.indexOf(value);\n }\n\n this.onChange({\n recent: nextHandle,\n handle: nextHandle,\n bounds: nextBounds\n });\n\n if (isFromKeyboardEvent) {\n // known problem: because setState is async,\n // so trigger focus will invoke handler's onEnd and another handler's onStart too early,\n // cause onBeforeChange and onAfterChange receive wrong value.\n // here use setState callback to hack,but not elegant\n this.props.onAfterChange(nextBounds);\n this.setState({}, function () {\n _this3.handlesRefs[nextHandle].focus();\n });\n this.onEnd();\n }\n }\n }, {\n key: \"pushSurroundingHandles\",\n value: function pushSurroundingHandles(bounds, handle) {\n var value = bounds[handle];\n var pushable = this.props.pushable;\n var threshold = Number(pushable);\n var direction = 0;\n\n if (bounds[handle + 1] - value < threshold) {\n direction = +1; // push to right\n }\n\n if (value - bounds[handle - 1] < threshold) {\n direction = -1; // push to left\n }\n\n if (direction === 0) {\n return;\n }\n\n var nextHandle = handle + direction;\n var diffToNext = direction * (bounds[nextHandle] - value);\n\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // revert to original value if pushing is impossible\n // eslint-disable-next-line no-param-reassign\n bounds[handle] = bounds[nextHandle] - direction * threshold;\n }\n }\n }, {\n key: \"pushHandle\",\n value: function pushHandle(bounds, handle, direction, amount) {\n var originalValue = bounds[handle];\n var currentValue = bounds[handle];\n\n while (direction * (currentValue - originalValue) < amount) {\n if (!this.pushHandleOnePoint(bounds, handle, direction)) {\n // can't push handle enough to create the needed `amount` gap, so we\n // revert its position to the original value\n // eslint-disable-next-line no-param-reassign\n bounds[handle] = originalValue;\n return false;\n }\n\n currentValue = bounds[handle];\n } // the handle was pushed enough to create the needed `amount` gap\n\n\n return true;\n }\n }, {\n key: \"pushHandleOnePoint\",\n value: function pushHandleOnePoint(bounds, handle, direction) {\n var points = this.getPoints();\n var pointIndex = points.indexOf(bounds[handle]);\n var nextPointIndex = pointIndex + direction;\n\n if (nextPointIndex >= points.length || nextPointIndex < 0) {\n // reached the minimum or maximum available point, can't push anymore\n return false;\n }\n\n var nextHandle = handle + direction;\n var nextValue = points[nextPointIndex];\n var pushable = this.props.pushable;\n var threshold = Number(pushable);\n var diffToNext = direction * (bounds[nextHandle] - nextValue);\n\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // couldn't push next handle, so we won't push this one either\n return false;\n } // push the handle\n // eslint-disable-next-line no-param-reassign\n\n\n bounds[handle] = nextValue;\n return true;\n }\n }, {\n key: \"trimAlignValue\",\n value: function trimAlignValue(value) {\n var _this$state2 = this.state,\n handle = _this$state2.handle,\n bounds = _this$state2.bounds;\n return _trimAlignValue({\n value: value,\n handle: handle,\n bounds: bounds,\n props: this.props\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n\n var _this$state3 = this.state,\n handle = _this$state3.handle,\n bounds = _this$state3.bounds;\n var _this$props4 = this.props,\n prefixCls = _this$props4.prefixCls,\n vertical = _this$props4.vertical,\n included = _this$props4.included,\n disabled = _this$props4.disabled,\n min = _this$props4.min,\n max = _this$props4.max,\n reverse = _this$props4.reverse,\n handleGenerator = _this$props4.handle,\n trackStyle = _this$props4.trackStyle,\n handleStyle = _this$props4.handleStyle,\n tabIndex = _this$props4.tabIndex,\n ariaLabelGroupForHandles = _this$props4.ariaLabelGroupForHandles,\n ariaLabelledByGroupForHandles = _this$props4.ariaLabelledByGroupForHandles,\n ariaValueTextFormatterGroupForHandles = _this$props4.ariaValueTextFormatterGroupForHandles;\n var offsets = bounds.map(function (v) {\n return _this4.calcOffset(v);\n });\n var handleClassName = \"\".concat(prefixCls, \"-handle\");\n var handles = bounds.map(function (v, i) {\n var _classNames;\n\n var mergedTabIndex = tabIndex[i] || 0;\n\n if (disabled || tabIndex[i] === null) {\n mergedTabIndex = null;\n }\n\n var dragging = handle === i;\n return handleGenerator({\n className: classNames((_classNames = {}, _defineProperty(_classNames, handleClassName, true), _defineProperty(_classNames, \"\".concat(handleClassName, \"-\").concat(i + 1), true), _defineProperty(_classNames, \"\".concat(handleClassName, \"-dragging\"), dragging), _classNames)),\n prefixCls: prefixCls,\n vertical: vertical,\n dragging: dragging,\n offset: offsets[i],\n value: v,\n index: i,\n tabIndex: mergedTabIndex,\n min: min,\n max: max,\n reverse: reverse,\n disabled: disabled,\n style: handleStyle[i],\n ref: function ref(h) {\n return _this4.saveHandle(i, h);\n },\n ariaLabel: ariaLabelGroupForHandles[i],\n ariaLabelledBy: ariaLabelledByGroupForHandles[i],\n ariaValueTextFormatter: ariaValueTextFormatterGroupForHandles[i]\n });\n });\n var tracks = bounds.slice(0, -1).map(function (_, index) {\n var _classNames2;\n\n var i = index + 1;\n var trackClassName = classNames((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-track\"), true), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-track-\").concat(i), true), _classNames2));\n return /*#__PURE__*/React.createElement(Track, {\n className: trackClassName,\n vertical: vertical,\n reverse: reverse,\n included: included,\n offset: offsets[i - 1],\n length: offsets[i] - offsets[i - 1],\n style: trackStyle[index],\n key: i\n });\n });\n return {\n tracks: tracks,\n handles: handles\n };\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n if (!('value' in props || 'min' in props || 'max' in props)) {\n return null;\n }\n\n var value = props.value || state.bounds;\n var nextBounds = value.map(function (v, i) {\n return _trimAlignValue({\n value: v,\n handle: i,\n bounds: state.bounds,\n props: props\n });\n });\n\n if (state.bounds.length === nextBounds.length) {\n if (nextBounds.every(function (v, i) {\n return v === state.bounds[i];\n })) {\n return null;\n }\n } else {\n nextBounds = value.map(function (v, i) {\n return _trimAlignValue({\n value: v,\n handle: i,\n props: props\n });\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n bounds: nextBounds\n });\n }\n }]);\n\n return Range;\n}(React.Component);\n\nRange.displayName = 'Range';\nRange.defaultProps = {\n count: 1,\n allowCross: true,\n pushable: false,\n draggableTrack: false,\n tabIndex: [],\n ariaLabelGroupForHandles: [],\n ariaLabelledByGroupForHandles: [],\n ariaValueTextFormatterGroupForHandles: []\n};\nexport default createSlider(Range);","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\n\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\n\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\n\nvar rafUUID = 0;\nvar rafIds = new Map();\n\nfunction cleanup(id) {\n rafIds.delete(id);\n}\n\nexport default function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id); // Trigger\n\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n }); // Bind real raf id\n\n rafIds.set(id, realId);\n }\n }\n\n callRef(times);\n return id;\n}\n\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(realId);\n return caf(realId);\n};","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n return root.contains(n);\n}","import ReactDOM from 'react-dom';\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\n\nexport default function findDOMNode(node) {\n if (node instanceof HTMLElement) {\n return node;\n }\n\n return ReactDOM.findDOMNode(node);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDom from './Dom/canUseDom';\nvar Portal = /*#__PURE__*/forwardRef(function (props, ref) {\n var didUpdate = props.didUpdate,\n getContainer = props.getContainer,\n children = props.children;\n var containerRef = useRef(); // Ref return nothing, only for wrapper check exist\n\n useImperativeHandle(ref, function () {\n return {};\n }); // Create container in client side with sync to avoid useEffect not get ref\n\n var initRef = useRef(false);\n\n if (!initRef.current && canUseDom()) {\n containerRef.current = getContainer();\n initRef.current = true;\n } // [Legacy] Used by `rc-trigger`\n\n\n useEffect(function () {\n didUpdate === null || didUpdate === void 0 ? void 0 : didUpdate(props);\n });\n useEffect(function () {\n return function () {\n var _containerRef$current, _containerRef$current2;\n\n // [Legacy] This should not be handle by Portal but parent PortalWrapper instead.\n // Since some component use `Portal` directly, we have to keep the logic here.\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.parentNode) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.removeChild(containerRef.current);\n };\n }, []);\n return containerRef.current ? /*#__PURE__*/ReactDOM.createPortal(children, containerRef.current) : null;\n});\nexport default Portal;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n var baseAlign = builtinPlacements[placementStr] || {};\n return _objectSpread(_objectSpread({}, baseAlign), align);\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n var placements = Object.keys(builtinPlacements);\n\n for (var i = 0; i < placements.length; i += 1) {\n var placement = placements[i];\n\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n }\n }\n\n return '';\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\"; // ================= Transition =================\n// Event wrapper. Copy from react source code\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\n\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\n\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n\n style = _document$createEleme.style;\n}\n\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useState, useRef } from 'react';\nexport default function useMountStatus(defaultValue) {\n var destroyRef = useRef(false);\n\n var _useState = useState(defaultValue),\n _useState2 = _slicedToArray(_useState, 2),\n val = _useState2[0],\n setVal = _useState2[1];\n\n function setValue(next) {\n if (!destroyRef.current) {\n setVal(next);\n }\n }\n\n useEffect(function () {\n return function () {\n destroyRef.current = true;\n };\n }, []);\n return [val, setValue];\n}","import { useEffect, useLayoutEffect } from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\"; // It's safe to use `useLayoutEffect` but the warning is annoying\n\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { STEP_PREPARE, STEP_ACTIVE, STEP_START, STEP_ACTIVATED, STEP_NONE } from '../interface';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport useNextFrame from './useNextFrame';\nvar STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\n/** Skip current step */\n\nexport var SkipStep = false;\n/** Current step should be update in */\n\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, callback) {\n var _React$useState = React.useState(STEP_NONE),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n step = _React$useState2[0],\n setStep = _React$useState2[1];\n\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n\n function startQueue() {\n setStep(STEP_PREPARE);\n }\n\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep);\n } else {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep);\n }\n\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport { STATUS_APPEAR, STATUS_NONE, STATUS_LEAVE, STATUS_ENTER, STEP_PREPARE, STEP_START, STEP_ACTIVE } from '../interface';\nimport useState from './useState';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport useStepQueue, { DoStep, SkipStep, isActive } from './useStepQueue';\nimport useDomMotionEvents from './useDomMotionEvents';\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null);\n var destroyedRef = useRef(false); // =========================== Dom Node ===========================\n\n var cacheElementRef = useRef(null);\n\n function getDomElement() {\n var element = getElement();\n return element || cacheElementRef.current;\n } // ========================== Motion End ==========================\n\n\n var activeRef = useRef(false);\n\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n\n var canEnd;\n\n if (status === STATUS_APPEAR && activeRef.current) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && activeRef.current) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && activeRef.current) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n } // Only update status when `canEnd` and not destroyed\n\n\n if (canEnd !== false && !destroyedRef.current) {\n setStatus(STATUS_NONE);\n setStyle(null);\n }\n }\n\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0]; // ============================= Step =============================\n\n\n var eventHandlers = React.useMemo(function () {\n var _ref2, _ref3, _ref4;\n\n switch (status) {\n case 'appear':\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n\n case 'enter':\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n\n case 'leave':\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n\n default:\n return {};\n }\n }, [status]);\n\n var _useStepQueue = useStepQueue(status, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n\n if (!onPrepare) {\n return SkipStep;\n }\n\n return onPrepare(getDomElement());\n } // Rest step is sync update\n\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n\n var active = isActive(step);\n activeRef.current = active; // ============================ Status ============================\n // Update with new status\n\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n if (!supportMotion) {\n return;\n }\n\n var nextStatus; // Appear\n\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n } // Enter\n\n\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n } // Leave\n\n\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n } // Update to next status\n\n\n if (nextStatus) {\n setStatus(nextStatus);\n startStep();\n }\n }, [visible]); // ============================ Effect ============================\n // Reset when motion changed\n\n useEffect(function () {\n if ( // Cancel appear\n status === STATUS_APPEAR && !motionAppear || // Cancel enter\n status === STATUS_ENTER && !motionEnter || // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n clearTimeout(deadlineRef.current);\n destroyedRef.current = true;\n };\n }, []); // Trigger `onVisibleChanged`\n\n useEffect(function () {\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n }, [asyncVisible, status]); // ============================ Styles ============================\n\n var mergedStyle = style;\n\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from '../util/motion';\nexport default (function (callback) {\n var cacheElementRef = useRef(); // Cache callback\n\n var callbackRef = useRef(callback);\n callbackRef.current = callback; // Internal motion event handler\n\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []); // Remove events\n\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n } // Patch events\n\n\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd); // Save as cache in case dom removed trigger by `motionDeadline`\n\n cacheElementRef.current = element;\n }\n } // Clean up when removed\n\n\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport default DomWrapper;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef } from \"rc-util/es/ref\";\nimport classNames from 'classnames';\nimport { getTransitionName, supportTransition } from './util/motion';\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from './interface';\nimport useStatus from './hooks/useStatus';\nimport DomWrapper from './DomWrapper';\nimport { isActive } from './hooks/useStepQueue';\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\n\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n\n function isSupportTransition(props) {\n return !!(props.motionName && transitionSupport);\n }\n\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var supportMotion = isSupportTransition(props); // Ref to the react node, it may be a HTMLElement\n\n var nodeRef = useRef(); // Ref to the dom wrapper in case ref can not pass to HTMLElement\n\n var wrapperNodeRef = useRef();\n\n function getDomElement() {\n try {\n return findDOMNode(nodeRef.current || wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3]; // Record whether content has rended\n // Will return null for un-rendered even when `removeOnLeave={false}`\n\n\n var renderedRef = React.useRef(mergedVisible);\n\n if (mergedVisible) {\n renderedRef.current = true;\n } // ====================== Refs ======================\n\n\n var originRef = useRef(ref);\n originRef.current = ref;\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(originRef.current, node);\n }, []); // ===================== Render =====================\n\n var motionChildren;\n\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE || !isSupportTransition(props)) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames;\n\n // In motion\n var statusSuffix;\n\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix)), statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\n }\n\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys); // Check prev keys to insert or keep\n\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n } // If not hit, it means key is removed\n\n\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n }); // Add rest to the list\n\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n\n\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n }); // Update `STATUS_ADD` to `STATUS_KEEP`\n\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from './CSSMotion';\nimport { supportTransition } from './util/motion';\nimport { STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED, diffKeys, parseKeys } from './util/diff';\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\n\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n\n var _super = _createSuper(CSSMotionList);\n\n function CSSMotionList() {\n var _this;\n\n _classCallCheck(this, CSSMotionList);\n\n _this = _super.apply(this, arguments);\n _this.state = {\n keyEntities: []\n };\n\n _this.removeKey = function (removeKey) {\n _this.setState(function (_ref) {\n var keyEntities = _ref.keyEntities;\n return {\n keyEntities: keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n })\n };\n });\n };\n\n return _this;\n }\n\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var keyEntities = this.state.keyEntities;\n\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n restProps = _objectWithoutProperties(_this$props, [\"component\", \"children\", \"onVisibleChanged\"]);\n\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, [\"status\"]);\n\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 ? void 0 : _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n\n if (!changedVisible) {\n _this2.removeKey(eventProps.key);\n }\n }\n }), children);\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n }); // Remove if already mark as removed\n\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n\n return true;\n })\n };\n }\n }]);\n\n return CSSMotionList;\n }(React.Component);\n\n CSSMotionList.defaultProps = {\n component: 'div'\n };\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from './CSSMotion';\nimport CSSMotionList from './CSSMotionList';\nexport { CSSMotionList };\nexport default CSSMotion;","export function getMotion(_ref) {\n var prefixCls = _ref.prefixCls,\n motion = _ref.motion,\n animation = _ref.animation,\n transitionName = _ref.transitionName;\n\n if (motion) {\n return motion;\n }\n\n if (animation) {\n return {\n motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n };\n }\n\n if (transitionName) {\n return {\n motionName: transitionName\n };\n }\n\n return null;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from '../utils/legacyUtil';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n mask = props.mask,\n maskMotion = props.maskMotion,\n maskAnimation = props.maskAnimation,\n maskTransitionName = props.maskTransitionName;\n\n if (!mask) {\n return null;\n }\n\n var motion = {};\n\n if (maskMotion || maskTransitionName || maskAnimation) {\n motion = _objectSpread({\n motionAppear: true\n }, getMotion({\n motion: maskMotion,\n prefixCls: prefixCls,\n transitionName: maskTransitionName,\n animation: maskAnimation\n }));\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n visible: visible,\n removeOnLeave: true\n }), function (_ref) {\n var className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n zIndex: zIndex\n },\n className: classNames(\"\".concat(prefixCls, \"-mask\"), className)\n });\n });\n}","export default (function (element) {\n if (!element) {\n return false;\n }\n\n if (element.offsetParent) {\n return true;\n }\n\n if (element.getBBox) {\n var box = element.getBBox();\n\n if (box.width || box.height) {\n return true;\n }\n }\n\n if (element.getBoundingClientRect) {\n var _box = element.getBoundingClientRect();\n\n if (_box.width || _box.height) {\n return true;\n }\n }\n\n return false;\n});","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0)\n };\n }\n\n return {\n x: 0,\n y: 0\n };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605\n\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n\n if (node.nodeType === 9) {\n return node;\n }\n\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n} // 设置 elem 相对 elem.ownerDocument 的坐标\n\n\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n } // force relayout\n\n\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n\n css(elem, originalStyle); // force relayout\n\n forceRelayout(elem);\n\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n\n var ret = {};\n\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n\n var _off = offset[_key] - originalOffset[_key];\n\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n\n css(elem, ret);\n}\n\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name; // Remember the old values, and insert the new ones\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem); // Revert the old values\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, ex) {\n var extra = ex;\n\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val;\n var elem = args[0]; // in case elem is window\n // elem.offsetWidth === undefined\n\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n\n if (val !== undefined) {\n if (elem) {\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\n\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n\n return ret;\n },\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nvar getParent = utils.getParent;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n } // ie 这个也不是完全可行\n\n /*\n