90419e95bb90f16c3e5ea895f6867ccc.json
43.9 KB
{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\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\";\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 _a; // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n\n return _a = /*#__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\n _this.onMouseDown = function (e) {\n if (e.button !== 0) {\n return;\n }\n\n var isVertical = _this.props.vertical;\n var position = utils.getMousePosition(isVertical, e);\n\n if (!utils.isEventFromHandle(e, _this.handlesRefs)) {\n _this.dragOffset = 0;\n } else {\n var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n _this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n\n _this.removeDocumentEvents();\n\n _this.onStart(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 if (!utils.isEventFromHandle(e, _this.handlesRefs)) {\n _this.dragOffset = 0;\n } else {\n var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n _this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n\n _this.onStart(position);\n\n _this.addDocumentTouchEvents();\n\n utils.pauseEvent(e);\n };\n\n _this.onFocus = function (e) {\n var _this$props = _this.props,\n onFocus = _this$props.onFocus,\n vertical = _this$props.vertical;\n\n if (utils.isEventFromHandle(e, _this.handlesRefs)) {\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 _this.onEnd();\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);\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);\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$props2 = this.props,\n autoFocus = _this$props2.autoFocus,\n disabled = _this$props2.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$props3 = this.props,\n vertical = _this$props3.vertical,\n reverse = _this$props3.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$props4 = this.props,\n vertical = _this$props4.vertical,\n min = _this$props4.min,\n max = _this$props4.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$props5 = this.props,\n min = _this$props5.min,\n max = _this$props5.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$props6 = this.props,\n prefixCls = _this$props6.prefixCls,\n className = _this$props6.className,\n marks = _this$props6.marks,\n dots = _this$props6.dots,\n step = _this$props6.step,\n included = _this$props6.included,\n disabled = _this$props6.disabled,\n vertical = _this$props6.vertical,\n reverse = _this$props6.reverse,\n min = _this$props6.min,\n max = _this$props6.max,\n children = _this$props6.children,\n maximumTrackStyle = _this$props6.maximumTrackStyle,\n style = _this$props6.style,\n railStyle = _this$props6.railStyle,\n dotStyle = _this$props6.dotStyle,\n activeDotStyle = _this$props6.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 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 }, React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-rail\"),\n style: _objectSpread(_objectSpread({}, maximumTrackStyle), railStyle)\n }), tracks, 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, 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), _a.displayName = \"ComponentEnhancer(\".concat(Component.displayName, \")\"), _a.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, [\"index\"]);\n\n delete restProps.dragging;\n\n if (restProps.value === null) {\n return null;\n }\n\n return React.createElement(Handle, Object.assign({}, 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 }), _a;\n}","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-slider/es/common/createSlider.js"],"names":["_objectWithoutProperties","_objectSpread","_defineProperty","_classCallCheck","_createClass","_get","_getPrototypeOf","_inherits","_createSuper","React","addEventListener","classNames","warning","Steps","Marks","Handle","utils","noop","createSlider","Component","_a","_Component","ComponentEnhancer","_super","props","_this","call","onMouseDown","e","button","isVertical","vertical","position","getMousePosition","isEventFromHandle","handlesRefs","dragOffset","handlePosition","getHandleCenterPosition","target","removeDocumentEvents","onStart","addDocumentMouseEvents","onTouchStart","isNotTouchEvent","getTouchPosition","addDocumentTouchEvents","pauseEvent","onFocus","_this$props","onBlur","onEnd","onMouseUp","prevMovedHandleIndex","clickFocus","onMouseMove","sliderRef","onMove","onTouchMove","onKeyDown","onKeyboard","onClickMarkLabel","value","stopPropagation","onChange","setState","saveSlider","slider","step","max","min","isPointDiffEven","isFinite","Math","floor","concat","key","componentDidMount","document","ownerDocument","_this$props2","autoFocus","disabled","focus","componentWillUnmount","prototype","getSliderStart","_this$props3","reverse","rect","getBoundingClientRect","bottom","top","window","pageXOffset","right","left","getSliderLength","coords","height","width","onTouchMoveListener","onTouchUpListener","onMouseMoveListener","onMouseUpListener","remove","_this$handlesRefs$","blur","_this2","Object","keys","forEach","_this2$handlesRefs$ke","_this2$handlesRefs$ke2","calcValue","offset","_this$props4","ratio","abs","calcValueByPos","sign","pixelOffset","nextValue","trimAlignValue","calcOffset","_this$props5","saveHandle","index","handle","render","_classNames","_this$props6","prefixCls","className","marks","dots","included","children","maximumTrackStyle","style","railStyle","dotStyle","activeDotStyle","_get$call","tracks","handles","sliderClassName","length","createElement","ref","lowerBound","getLowerBound","upperBound","getUpperBound","onClickLabel","displayName","defaultProps","restProps","dragging","assign","onBeforeChange","onAfterChange","trackStyle","handleStyle"],"mappings":"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","sourcesContent":["import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\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\";\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 _a; // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n\n return _a = /*#__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\n _this.onMouseDown = function (e) {\n if (e.button !== 0) {\n return;\n }\n\n var isVertical = _this.props.vertical;\n var position = utils.getMousePosition(isVertical, e);\n\n if (!utils.isEventFromHandle(e, _this.handlesRefs)) {\n _this.dragOffset = 0;\n } else {\n var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n _this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n\n _this.removeDocumentEvents();\n\n _this.onStart(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 if (!utils.isEventFromHandle(e, _this.handlesRefs)) {\n _this.dragOffset = 0;\n } else {\n var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n _this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n\n _this.onStart(position);\n\n _this.addDocumentTouchEvents();\n\n utils.pauseEvent(e);\n };\n\n _this.onFocus = function (e) {\n var _this$props = _this.props,\n onFocus = _this$props.onFocus,\n vertical = _this$props.vertical;\n\n if (utils.isEventFromHandle(e, _this.handlesRefs)) {\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 _this.onEnd();\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);\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);\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$props2 = this.props,\n autoFocus = _this$props2.autoFocus,\n disabled = _this$props2.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$props3 = this.props,\n vertical = _this$props3.vertical,\n reverse = _this$props3.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$props4 = this.props,\n vertical = _this$props4.vertical,\n min = _this$props4.min,\n max = _this$props4.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$props5 = this.props,\n min = _this$props5.min,\n max = _this$props5.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$props6 = this.props,\n prefixCls = _this$props6.prefixCls,\n className = _this$props6.className,\n marks = _this$props6.marks,\n dots = _this$props6.dots,\n step = _this$props6.step,\n included = _this$props6.included,\n disabled = _this$props6.disabled,\n vertical = _this$props6.vertical,\n reverse = _this$props6.reverse,\n min = _this$props6.min,\n max = _this$props6.max,\n children = _this$props6.children,\n maximumTrackStyle = _this$props6.maximumTrackStyle,\n style = _this$props6.style,\n railStyle = _this$props6.railStyle,\n dotStyle = _this$props6.dotStyle,\n activeDotStyle = _this$props6.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 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 }, React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-rail\"),\n style: _objectSpread(_objectSpread({}, maximumTrackStyle), railStyle)\n }), tracks, 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, 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), _a.displayName = \"ComponentEnhancer(\".concat(Component.displayName, \")\"), _a.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, [\"index\"]);\n\n delete restProps.dragging;\n\n if (restProps.value === null) {\n return null;\n }\n\n return React.createElement(Handle, Object.assign({}, 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 }), _a;\n}"]},"metadata":{},"sourceType":"module"}