{"version":3,"sources":["webpack://vue-slider-component/webpack/universalModuleDefinition","webpack://vue-slider-component/webpack/bootstrap","webpack://vue-slider-component/./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js","webpack://vue-slider-component/./node_modules/vue-class-component/dist/vue-class-component.common.js","webpack://vue-slider-component/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue-slider-component/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-slider-component/./node_modules/tslib/tslib.es6.js","webpack://vue-slider-component/./node_modules/vue-property-decorator/lib/vue-property-decorator.js","webpack://vue-slider-component/./lib/vue-slider-dot.tsx","webpack://vue-slider-component/./lib/vue-slider-mark.tsx","webpack://vue-slider-component/./lib/utils/index.ts","webpack://vue-slider-component/./lib/utils/control.ts","webpack://vue-slider-component/./lib/utils/decimal.ts","webpack://vue-slider-component/./lib/utils/state.ts","webpack://vue-slider-component/./lib/vue-slider.tsx","webpack://vue-slider-component/./lib/index.ts","webpack://vue-slider-component/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__8bbf__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_extends","assign","a","b","arguments","length","apply","normalMerge","toArrayMerge","functionalMerge","mergeJsxProps","reduce","indexOf","Array","e","concat","f","g","h","mergeFn","_interopDefault","ex","Vue","reflectionIsSupported","Reflect","defineMetadata","getOwnMetadataKeys","copyReflectionMetadata","to","from","forwardMetadata","getOwnPropertyNames","forEach","propertyKey","metaKeys","metaKey","metadata","getOwnMetadata","fakeArray","__proto__","hasProto","createDecorator","target","index","Ctor","constructor","__decorators__","undefined","push","options","mixins","Ctors","_i","extend","isPrimitive","type","collectDataFromConstructor","vm","Component","originalInit","_init","_this","keys","$options","props","charAt","set","configurable","data","plainData","$internalHooks","componentFactory","_componentTag","proto","descriptor","getOwnPropertyDescriptor","methods","_a","computed","decorators","fn","superProto","getPrototypeOf","Super","Extended","forwardStaticMembers","Original","extendedDescriptor","superDescriptor","registerHooks","default","setPublicPath_i","window","document","currentScript","src","match","__decorate","desc","decorate","Model","event","vue_class_component_common","componentOptions","k","model","prop","Prop","Watch","path","deep","_b","immediate","handler","watch","isArray","VueSliderDot","_Vue","_classCallCheck","_possibleConstructorReturn","_getPrototypeOf","_inherits","_createClass","disabled","$emit","ref","class","dotClasses","on","mousedown","dragStart","touchstart","$slots","dot","handleClasses","style","dotStyle","tooltip","tooltipClasses","tooltipInnerClasses","tooltipStyle","tooltipValue","vue-slider-dot-hover","vue-slider-dot-disabled","vue-slider-dot-focus","focus","vue-slider-dot-handle-disabled","vue-slider-dot-handle-focus","tooltipPlacement","vue-slider-dot-tooltip-show","showTooltip","vue-slider-dot-tooltip-inner-disabled","vue-slider-dot-tooltip-inner-focus","tooltipFormatter","replace","String","external_commonjs_vue_commonjs2_vue_root_Vue_default","validator","val","required","Function","Boolean","vue_class_component_common_default","vue_slider_dot","VueSlideMark","vue_slider_mark_classCallCheck","vue_slider_mark_possibleConstructorReturn","vue_slider_mark_getPrototypeOf","vue_slider_mark_inherits","vue_slider_mark_createClass","stopPropagation","mark","pos","marksClasses","step","stepClasses","stepStyle","active","stepActiveStyle","activeStyle","hideLabel","label","labelClasses","labelStyle","labelActiveStyle","click","labelClickHandle","vue-slider-mark-active","vue-slider-mark-step-active","vue-slider-mark-label-active","KEY_CODE","vue_slider_mark","getSize","getOffset","elem","doc","documentElement","body","rect","getBoundingClientRect","offset","y","top","pageYOffset","scrollTop","clientTop","x","left","pageXOffset","scrollLeft","clientLeft","getPos","isReverse","targetTouches","posObj","pageX","pageY","offsetWidth","offsetHeight","getKeyboardHandleFunc","params","hook","result","keyCode","UP","direction","RIGHT","DOWN","LEFT","END","max","HOME","min","PAGE_UP","PAGE_DOWN","ERROR_TYPE","Decimal","num","decimal_classCallCheck","num2","operator","num1","len1","getDecimalLen","len2","base","getExponent","safeRoundUp","decimal","split","Math","pow","exponent","round","ERROR_MSG","_ERROR_MSG","_defineProperty","VALUE","INTERVAL","MIN","MAX","ORDER","control_Control","Control","control_classCallCheck","dotsPos","dotsValue","cacheRangeDir","interval","order","marks","included","process","adsorb","dotOptions","onError","minRange","maxRange","enableCross","fixed","emitError","setValue","setDotsValue","_toConsumableArray","syncPos","syncDotsPos","list","sort","map","dotPos","getValueByPos","parsePos","dir","markList","curDir","abs","_this2","v","parseValue","arr","minus","divide","toNumber","total","multiply","plus","getValidPos","changePos","changePosArr","getFixedChangePosArr","getLimitRangeChangePosArr","setDotsPos","curPos","_this3","originPos","_this3$getValidPos","lastPos","inRange","_","_this4","changeDots","newChangePos","isLimitRange","rangeIndex","isMinRange","isForward","next","inLimitRange","pos2","pos1","diff","minRangeDir","maxRangeDir","nextPos","isPos","_this4$getValidPos","changeDot","filter","range","valuePosRange","gap","getValueByIndex","processArray","some","_ref","_ref2","_slicedToArray","start","end","values","defaultValue","option","_this5","getMarkByValue","_objectSpread","isActiveByPos","getValues","toString","item","_ref3","_ref4","floor","getRangeDir","_this6","getDotRange","_this7","getIndexByValue","State","state_classCallCheck","states","state","has","delete","add","SliderState","None","Drag","Focus","DEFAULT_SLIDER_SIZE","vue_slider_VueSlider","VueSlider","vue_slider_classCallCheck","scale","focusDotIndex","vue_slider_inherits","vue_slider_createClass","control","isNotSync","initControl","bindEvent","unbindEvent","addEventListener","dragMove","passive","dragEnd","blurHandle","keydownHandle","removeEventListener","isHorizontal","$el","$watch","every","isDiff","vue_slider_toConsumableArray","value1","value2","message","silent","console","error","dragOnClick","setScale","getPosByEvent","getRecentDot","dots","setDotPos","lazy","syncValueByPos","preventDefault","isCrossDot","canSort","curIndex","dragRange","setTimeout","useKeyboard","$refs","container","contains","clickable","setValueByPos","indexes","dotsIndex","isInclude","handleFunc","keydownHook","newIndex","defaultSlot","isDefault","$createElement","scopedSlot","$scopedSlots","slot","helper_default","containerClasses","containerStyles","clickHandle","dragStartOnProcess","$attrs","railStyle","renderSlot","_style","attrs","vue_slider_defineProperty","tailSize","mainDirection","pressLabel","dot-style","disabledStyle","focusStyle","tooltip-style","tooltipDisabledStyle","tooltipFocusStyle","tooltip-formatter","tooltip-placement","tooltipDirections","dotBaseStyle","animateTime","drag-start","height","width","vue-slider-disabled","dotSize","vue_slider_slicedToArray","dotWidth","dotHeight","containerWidth","containerHeight","padding","contained","_this8","_objectSpread2","_ref5","_ref6","sizeStyleKey","vue_slider_objectSpread","processStyle","_ref7","_ref8","transform","WebkitTransform","_this9","duration","prevDot","nextDot","Infinity","Number","components","VueSliderMark","vue_slider","lib","__webpack_exports__"],"mappings":"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","file":"vue-slider-component.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-slider-component\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-slider-component\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","\"use strict\";function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}var normalMerge=[\"attrs\",\"props\",\"domProps\"],toArrayMerge=[\"class\",\"style\",\"directives\"],functionalMerge=[\"on\",\"nativeOn\"],mergeJsxProps=function(a){return a.reduce(function(c,a){for(var b in a)if(!c[b])c[b]=a[b];else if(-1!==normalMerge.indexOf(b))c[b]=_extends({},c[b],a[b]);else if(-1!==toArrayMerge.indexOf(b)){var d=c[b]instanceof Array?c[b]:[c[b]],e=a[b]instanceof Array?a[b]:[a[b]];c[b]=d.concat(e)}else if(-1!==functionalMerge.indexOf(b)){for(var f in a[b])if(c[b][f]){var g=c[b][f]instanceof Array?c[b][f]:[c[b][f]],h=a[b][f]instanceof Array?a[b][f]:[a[b][f]];c[b][f]=g.concat(h)}else c[b][f]=a[b][f];}else if(\"hook\"==b)for(var i in a[b])c[b][i]=c[b][i]?mergeFn(c[b][i],a[b][i]):a[b][i];else c[b]=a[b];return c},{})},mergeFn=function(a,b){return function(){a&&a.apply(this,arguments),b&&b.apply(this,arguments)}};module.exports=mergeJsxProps;\n","/**\n  * vue-class-component v7.0.1\n  * (c) 2015-present Evan You\n  * @license MIT\n  */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\n// The rational behind the verbose Reflect-feature check below is the fact that there are polyfills\n// which add an implementation for Reflect.defineMetadata but not for Reflect.getOwnMetadataKeys.\n// Without this check consumers will encounter hard to track down runtime errors.\nvar reflectionIsSupported = typeof Reflect !== 'undefined' && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\nfunction copyReflectionMetadata(to, from) {\n    forwardMetadata(to, from);\n    Object.getOwnPropertyNames(from.prototype).forEach(function (key) {\n        forwardMetadata(to.prototype, from.prototype, key);\n    });\n    Object.getOwnPropertyNames(from).forEach(function (key) {\n        forwardMetadata(to, from, key);\n    });\n}\nfunction forwardMetadata(to, from, propertyKey) {\n    var metaKeys = propertyKey\n        ? Reflect.getOwnMetadataKeys(from, propertyKey)\n        : Reflect.getOwnMetadataKeys(from);\n    metaKeys.forEach(function (metaKey) {\n        var metadata = propertyKey\n            ? Reflect.getOwnMetadata(metaKey, from, propertyKey)\n            : Reflect.getOwnMetadata(metaKey, from);\n        if (propertyKey) {\n            Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n        }\n        else {\n            Reflect.defineMetadata(metaKey, metadata, to);\n        }\n    });\n}\n\nvar fakeArray = { __proto__: [] };\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n    return function (target, key, index) {\n        var Ctor = typeof target === 'function'\n            ? target\n            : target.constructor;\n        if (!Ctor.__decorators__) {\n            Ctor.__decorators__ = [];\n        }\n        if (typeof index !== 'number') {\n            index = undefined;\n        }\n        Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n    };\n}\nfunction mixins() {\n    var Ctors = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        Ctors[_i] = arguments[_i];\n    }\n    return Vue.extend({ mixins: Ctors });\n}\nfunction isPrimitive(value) {\n    var type = typeof value;\n    return value == null || (type !== 'object' && type !== 'function');\n}\nfunction warn(message) {\n    if (typeof console !== 'undefined') {\n        console.warn('[vue-class-component] ' + message);\n    }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n    // override _init to prevent to init as Vue instance\n    var originalInit = Component.prototype._init;\n    Component.prototype._init = function () {\n        var _this = this;\n        // proxy to actual vm\n        var keys = Object.getOwnPropertyNames(vm);\n        // 2.2.0 compat (props are no longer exposed as self properties)\n        if (vm.$options.props) {\n            for (var key in vm.$options.props) {\n                if (!vm.hasOwnProperty(key)) {\n                    keys.push(key);\n                }\n            }\n        }\n        keys.forEach(function (key) {\n            if (key.charAt(0) !== '_') {\n                Object.defineProperty(_this, key, {\n                    get: function () { return vm[key]; },\n                    set: function (value) { vm[key] = value; },\n                    configurable: true\n                });\n            }\n        });\n    };\n    // should be acquired class property values\n    var data = new Component();\n    // restore original _init to avoid memory leak (#209)\n    Component.prototype._init = originalInit;\n    // create plain data object\n    var plainData = {};\n    Object.keys(data).forEach(function (key) {\n        if (data[key] !== undefined) {\n            plainData[key] = data[key];\n        }\n    });\n    if (process.env.NODE_ENV !== 'production') {\n        if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n            warn('Component class must inherit Vue or its descendant class ' +\n                'when class property is used.');\n        }\n    }\n    return plainData;\n}\n\nvar $internalHooks = [\n    'data',\n    'beforeCreate',\n    'created',\n    'beforeMount',\n    'mounted',\n    'beforeDestroy',\n    'destroyed',\n    'beforeUpdate',\n    'updated',\n    'activated',\n    'deactivated',\n    'render',\n    'errorCaptured',\n    'serverPrefetch' // 2.6\n];\nfunction componentFactory(Component, options) {\n    if (options === void 0) { options = {}; }\n    options.name = options.name || Component._componentTag || Component.name;\n    // prototype props.\n    var proto = Component.prototype;\n    Object.getOwnPropertyNames(proto).forEach(function (key) {\n        if (key === 'constructor') {\n            return;\n        }\n        // hooks\n        if ($internalHooks.indexOf(key) > -1) {\n            options[key] = proto[key];\n            return;\n        }\n        var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n        if (descriptor.value !== void 0) {\n            // methods\n            if (typeof descriptor.value === 'function') {\n                (options.methods || (options.methods = {}))[key] = descriptor.value;\n            }\n            else {\n                // typescript decorated data\n                (options.mixins || (options.mixins = [])).push({\n                    data: function () {\n                        var _a;\n                        return _a = {}, _a[key] = descriptor.value, _a;\n                    }\n                });\n            }\n        }\n        else if (descriptor.get || descriptor.set) {\n            // computed properties\n            (options.computed || (options.computed = {}))[key] = {\n                get: descriptor.get,\n                set: descriptor.set\n            };\n        }\n    });\n    (options.mixins || (options.mixins = [])).push({\n        data: function () {\n            return collectDataFromConstructor(this, Component);\n        }\n    });\n    // decorate options\n    var decorators = Component.__decorators__;\n    if (decorators) {\n        decorators.forEach(function (fn) { return fn(options); });\n        delete Component.__decorators__;\n    }\n    // find super\n    var superProto = Object.getPrototypeOf(Component.prototype);\n    var Super = superProto instanceof Vue\n        ? superProto.constructor\n        : Vue;\n    var Extended = Super.extend(options);\n    forwardStaticMembers(Extended, Component, Super);\n    if (reflectionIsSupported) {\n        copyReflectionMetadata(Extended, Component);\n    }\n    return Extended;\n}\nvar reservedPropertyNames = [\n    // Unique id\n    'cid',\n    // Super Vue constructor\n    'super',\n    // Component options that will be used by the component\n    'options',\n    'superOptions',\n    'extendOptions',\n    'sealedOptions',\n    // Private assets\n    'component',\n    'directive',\n    'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n    // We have to use getOwnPropertyNames since Babel registers methods as non-enumerable\n    Object.getOwnPropertyNames(Original).forEach(function (key) {\n        // `prototype` should not be overwritten\n        if (key === 'prototype') {\n            return;\n        }\n        // Some browsers does not allow reconfigure built-in properties\n        var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n        if (extendedDescriptor && !extendedDescriptor.configurable) {\n            return;\n        }\n        var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n        // If the user agent does not support `__proto__` or its family (IE <= 10),\n        // the sub class properties may be inherited properties from the super class in TypeScript.\n        // We need to exclude such properties to prevent to overwrite\n        // the component options object which stored on the extended constructor (See #192).\n        // If the value is a referenced value (object or function),\n        // we can check equality of them and exclude it if they have the same reference.\n        // If it is a primitive value, it will be forwarded for safety.\n        if (!hasProto) {\n            // Only `cid` is explicitly exluded from property forwarding\n            // because we cannot detect whether it is a inherited property or not\n            // on the no `__proto__` environment even though the property is reserved.\n            if (key === 'cid') {\n                return;\n            }\n            var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n            if (!isPrimitive(descriptor.value) &&\n                superDescriptor &&\n                superDescriptor.value === descriptor.value) {\n                return;\n            }\n        }\n        // Warn if the users manually declare reserved properties\n        if (process.env.NODE_ENV !== 'production' &&\n            reservedPropertyNames.indexOf(key) >= 0) {\n            warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n                'conflicts with reserved property name of Vue internal. ' +\n                'It may cause unexpected behavior of the component. Consider renaming the property.');\n        }\n        Object.defineProperty(Extended, key, descriptor);\n    });\n}\n\nfunction Component(options) {\n    if (typeof options === 'function') {\n        return componentFactory(options);\n    }\n    return function (Component) {\n        return componentFactory(Component, options);\n    };\n}\nComponent.registerHooks = function registerHooks(keys) {\n    $internalHooks.push.apply($internalHooks, keys);\n};\n\nexports.default = Component;\nexports.createDecorator = createDecorator;\nexports.mixins = mixins;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n  var i\n  if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n    __webpack_public_path__ = i[1] // eslint-disable-line\n  }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/** vue-property-decorator verson 8.0.0 MIT LICENSE copyright 2018 kaorun343 */\n'use strict';\nimport Vue from 'vue';\nimport Component, { createDecorator, mixins } from 'vue-class-component';\nexport { Component, Vue, mixins as Mixins };\n/**\n * decorator of an inject\n * @param from key\n * @return PropertyDecorator\n */\nexport function Inject(options) {\n    return createDecorator(function (componentOptions, key) {\n        if (typeof componentOptions.inject === 'undefined') {\n            componentOptions.inject = {};\n        }\n        if (!Array.isArray(componentOptions.inject)) {\n            componentOptions.inject[key] = options || key;\n        }\n    });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nexport function Provide(key) {\n    return createDecorator(function (componentOptions, k) {\n        var provide = componentOptions.provide;\n        if (typeof provide !== 'function' || !provide.managed) {\n            var original_1 = componentOptions.provide;\n            provide = componentOptions.provide = function () {\n                var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n                for (var i in provide.managed)\n                    rv[provide.managed[i]] = this[i];\n                return rv;\n            };\n            provide.managed = {};\n        }\n        provide.managed[k] = key || k;\n    });\n}\n/**\n * decorator of model\n * @param  event event name\n * @param options options\n * @return PropertyDecorator\n */\nexport function Model(event, options) {\n    if (options === void 0) { options = {}; }\n    return createDecorator(function (componentOptions, k) {\n        (componentOptions.props || (componentOptions.props = {}))[k] = options;\n        componentOptions.model = { prop: k, event: event || k };\n    });\n}\n/**\n * decorator of a prop\n * @param  options the options for the prop\n * @return PropertyDecorator | void\n */\nexport function Prop(options) {\n    if (options === void 0) { options = {}; }\n    return createDecorator(function (componentOptions, k) {\n        (componentOptions.props || (componentOptions.props = {}))[k] = options;\n    });\n}\n/**\n * decorator of a watch function\n * @param  path the path or the expression to observe\n * @param  WatchOption\n * @return MethodDecorator\n */\nexport function Watch(path, options) {\n    if (options === void 0) { options = {}; }\n    var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n    return createDecorator(function (componentOptions, handler) {\n        if (typeof componentOptions.watch !== 'object') {\n            componentOptions.watch = Object.create(null);\n        }\n        var watch = componentOptions.watch;\n        if (typeof watch[path] === 'object' && !Array.isArray(watch[path])) {\n            watch[path] = [watch[path]];\n        }\n        else if (typeof watch[path] === 'undefined') {\n            watch[path] = [];\n        }\n        watch[path].push({ handler: handler, deep: deep, immediate: immediate });\n    });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param  event The name of the event\n * @return MethodDecorator\n */\nexport function Emit(event) {\n    return function (_target, key, descriptor) {\n        key = hyphenate(key);\n        var original = descriptor.value;\n        descriptor.value = function emitter() {\n            var _this = this;\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i] = arguments[_i];\n            }\n            var emit = function (returnValue) {\n                if (returnValue !== undefined)\n                    args.unshift(returnValue);\n                _this.$emit.apply(_this, [event || key].concat(args));\n            };\n            var returnValue = original.apply(this, args);\n            if (isPromise(returnValue)) {\n                returnValue.then(function (returnValue) {\n                    emit(returnValue);\n                });\n            }\n            else {\n                emit(returnValue);\n            }\n        };\n    };\n}\nfunction isPromise(obj) {\n    return obj instanceof Promise || (obj && typeof obj.then === 'function');\n}\n","import { Component, Prop, Vue } from 'vue-property-decorator'\nimport { Value, Styles, Position, TooltipProp, TooltipFormatter } from './typings'\n\nimport './styles/dot.scss'\n\n@Component\nexport default class VueSliderDot extends Vue {\n  $refs!: {\n    dot: HTMLDivElement\n  }\n\n  @Prop({ default: 0 })\n  value!: Value\n\n  @Prop() tooltip!: TooltipProp\n\n  @Prop() dotStyle?: Styles\n\n  @Prop() tooltipStyle?: Styles\n\n  @Prop({\n    type: String,\n    validator: (val: string) => ['top', 'right', 'bottom', 'left'].indexOf(val) > -1,\n    required: true,\n  })\n  tooltipPlacement!: Position\n\n  @Prop({ type: [String, Function] })\n  tooltipFormatter?: TooltipFormatter\n\n  @Prop({ type: Boolean, default: false })\n  focus!: boolean\n\n  @Prop({ default: false })\n  disabled!: boolean\n\n  get dotClasses() {\n    return [\n      'vue-slider-dot',\n      {\n        'vue-slider-dot-hover': this.tooltip === 'hover' || this.tooltip === 'active',\n        'vue-slider-dot-disabled': this.disabled,\n        'vue-slider-dot-focus': this.focus,\n      },\n    ]\n  }\n\n  get handleClasses() {\n    return [\n      'vue-slider-dot-handle',\n      {\n        'vue-slider-dot-handle-disabled': this.disabled,\n        'vue-slider-dot-handle-focus': this.focus,\n      },\n    ]\n  }\n\n  get tooltipClasses() {\n    return [\n      'vue-slider-dot-tooltip',\n      [`vue-slider-dot-tooltip-${this.tooltipPlacement}`],\n      {\n        'vue-slider-dot-tooltip-show': this.showTooltip,\n      },\n    ]\n  }\n\n  get tooltipInnerClasses() {\n    return [\n      'vue-slider-dot-tooltip-inner',\n      [`vue-slider-dot-tooltip-inner-${this.tooltipPlacement}`],\n      {\n        'vue-slider-dot-tooltip-inner-disabled': this.disabled,\n        'vue-slider-dot-tooltip-inner-focus': this.focus,\n      },\n    ]\n  }\n\n  get showTooltip(): boolean {\n    switch (this.tooltip) {\n      case 'always':\n        return true\n      case 'none':\n        return false\n      case 'focus':\n      case 'active':\n        return !!this.focus\n      default:\n        return false\n    }\n  }\n\n  get tooltipValue(): Value {\n    if (this.tooltipFormatter) {\n      return typeof this.tooltipFormatter === 'string'\n        ? this.tooltipFormatter.replace(/\\{value\\}/, String(this.value))\n        : this.tooltipFormatter(this.value)\n    } else {\n      return this.value\n    }\n  }\n\n  dragStart(e: MouseEvent | TouchEvent) {\n    if (this.disabled) {\n      return false\n    }\n\n    this.$emit('drag-start')\n  }\n\n  render() {\n    return (\n      <div\n        ref=\"dot\"\n        class={this.dotClasses}\n        onMousedown={this.dragStart}\n        onTouchstart={this.dragStart}\n      >\n        {this.$slots.dot || <div class={this.handleClasses} style={this.dotStyle} />}\n        {this.tooltip !== 'none' ? (\n          <div class={this.tooltipClasses}>\n            {this.$slots.tooltip || (\n              <div class={this.tooltipInnerClasses} style={this.tooltipStyle}>\n                <span class={'vue-slider-dot-tooltip-text'}>{this.tooltipValue}</span>\n              </div>\n            )}\n          </div>\n        ) : null}\n      </div>\n    )\n  }\n}\n","import { Component, Prop, Vue } from 'vue-property-decorator'\nimport { Mark, Styles } from './typings'\n\nimport './styles/mark.scss'\n\n@Component\nexport default class VueSlideMark extends Vue {\n  @Prop({ required: true })\n  mark!: Mark\n\n  @Prop(Boolean) hideLabel?: boolean\n\n  @Prop() stepStyle?: Styles\n\n  @Prop() stepActiveStyle?: Styles\n\n  @Prop() labelStyle?: Styles\n\n  @Prop() labelActiveStyle?: Styles\n\n  get marksClasses() {\n    return [\n      'vue-slider-mark',\n      {\n        'vue-slider-mark-active': this.mark.active,\n      },\n    ]\n  }\n\n  get stepClasses() {\n    return [\n      'vue-slider-mark-step',\n      {\n        'vue-slider-mark-step-active': this.mark.active,\n      },\n    ]\n  }\n\n  get labelClasses() {\n    return [\n      'vue-slider-mark-label',\n      {\n        'vue-slider-mark-label-active': this.mark.active,\n      },\n    ]\n  }\n\n  labelClickHandle(e: MouseEvent | TouchEvent) {\n    e.stopPropagation()\n    this.$emit('pressLabel', this.mark.pos)\n  }\n\n  render() {\n    const mark = this.mark\n    return (\n      <div class={this.marksClasses}>\n        {this.$slots.step || (\n          <div\n            class={this.stepClasses}\n            style={[\n              this.stepStyle,\n              mark.style,\n              mark.active ? this.stepActiveStyle : null,\n              mark.active ? mark.activeStyle : null,\n            ]}\n          />\n        )}\n        {!this.hideLabel\n          ? this.$slots.label || (\n              <div\n                class={this.labelClasses}\n                style={[\n                  this.labelStyle,\n                  mark.labelStyle,\n                  mark.active ? this.labelActiveStyle : null,\n                  mark.active ? mark.labelActiveStyle : null,\n                ]}\n                onClick={this.labelClickHandle}\n              >\n                {mark.label}\n              </div>\n            )\n          : null}\n      </div>\n    )\n  }\n}\n","import { Direction } from '../typings'\n\ninterface IPosObject {\n  x: number\n  y: number\n}\n\nexport const getSize = (value: number | string): string => {\n  return typeof value === 'number' ? `${value}px` : value\n}\n\n/** Get the distance of the element from the top/left of the page */\nexport const getOffset = (elem: HTMLDivElement): IPosObject => {\n  const doc = document.documentElement as HTMLElement\n  const body = document.body as HTMLElement\n  const rect = elem.getBoundingClientRect()\n  const offset: IPosObject = {\n    y: rect.top + (window.pageYOffset || doc.scrollTop) - (doc.clientTop || body.clientTop || 0),\n    x:\n      rect.left + (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || body.clientLeft || 0),\n  }\n  return offset\n}\n\n/**\n * Get the position of the mouse/finger in the element\n * @param e Trigger event\n * @param elem Container element\n * @param isReverse From the right/bottom\n */\nexport const getPos = (\n  e: MouseEvent | TouchEvent,\n  elem: HTMLDivElement,\n  isReverse: boolean,\n): IPosObject => {\n  const event = 'targetTouches' in e ? e.targetTouches[0] : e\n  const offset = getOffset(elem)\n  const posObj = {\n    x: event.pageX - offset.x,\n    y: event.pageY - offset.y,\n  }\n  return {\n    x: isReverse ? elem.offsetWidth - posObj.x : posObj.x,\n    y: isReverse ? elem.offsetHeight - posObj.y : posObj.y,\n  }\n}\n\nconst enum KEY_CODE {\n  PAGE_UP = 33,\n  PAGE_DOWN,\n  END,\n  HOME,\n  LEFT,\n  UP,\n  RIGHT,\n  DOWN,\n}\nexport type HandleFunction = (index: number) => number\nexport const getKeyboardHandleFunc = (\n  e: KeyboardEvent,\n  params: {\n    direction: Direction\n    max: number\n    min: number\n    hook: (e: KeyboardEvent) => HandleFunction | boolean\n  },\n): HandleFunction | null => {\n  if (params.hook) {\n    const result = params.hook(e)\n    if (typeof result === 'function') return result\n    if (!result) return null\n  }\n  switch (e.keyCode) {\n    case KEY_CODE.UP:\n      return i => (params.direction === 'ttb' ? i - 1 : i + 1)\n    case KEY_CODE.RIGHT:\n      return i => (params.direction === 'rtl' ? i - 1 : i + 1)\n    case KEY_CODE.DOWN:\n      return i => (params.direction === 'ttb' ? i + 1 : i - 1)\n    case KEY_CODE.LEFT:\n      return i => (params.direction === 'rtl' ? i + 1 : i - 1)\n\n    case KEY_CODE.END:\n      return () => params.max\n    case KEY_CODE.HOME:\n      return () => params.min\n\n    case KEY_CODE.PAGE_UP:\n      return i => i + 10\n    case KEY_CODE.PAGE_DOWN:\n      return i => i - 10\n\n    default:\n      return null\n  }\n}\n","import Decimal from './decimal'\nimport {\n  Value,\n  Mark,\n  MarkOption,\n  Marks,\n  MarksProp,\n  ProcessProp,\n  ProcessOption,\n  MarksFunction,\n  DotOption,\n} from '../typings'\n\n// The distance each slider changes\ntype DotsPosChangeArray = number[]\n\nexport const enum ERROR_TYPE {\n  VALUE = 1,\n  INTERVAL,\n  MIN,\n  MAX,\n  ORDER,\n}\n\ntype ERROR_MESSAGE = { [key in ERROR_TYPE]: string }\nexport const ERROR_MSG: ERROR_MESSAGE = {\n  [ERROR_TYPE.VALUE]: 'The type of the \"value\" is illegal',\n  [ERROR_TYPE.INTERVAL]:\n    'The prop \"interval\" is invalid, \"(max - min)\" cannot be divisible by \"interval\"',\n  [ERROR_TYPE.MIN]: 'The \"value\" cannot be less than the minimum.',\n  [ERROR_TYPE.MAX]: 'The \"value\" cannot be greater than the maximum.',\n  [ERROR_TYPE.ORDER]:\n    'When \"order\" is false, the parameters \"minRange\", \"maxRange\", \"fixed\", \"enabled\" are invalid.',\n}\n\n/**\n * Slider logic control center\n *\n * @export\n * @class Control\n */\nexport default class Control {\n  dotsPos: number[] = [] // The position of each slider\n  dotsValue: Value[] = [] // The value of each slider\n\n  data?: Value[]\n  enableCross: boolean\n  fixed: boolean\n  max: number\n  min: number\n  interval: number\n  minRange: number\n  maxRange: number\n  order: boolean\n  marks?: MarksProp\n  included?: boolean\n  process?: ProcessProp\n  adsorb?: boolean\n  dotOptions?: DotOption | DotOption[]\n  onError?: (type: ERROR_TYPE, message: string) => void\n\n  constructor(options: {\n    value: Value | Value[]\n    data?: Value[]\n    enableCross: boolean\n    fixed: boolean\n    max: number\n    min: number\n    interval: number\n    order: boolean\n    minRange?: number\n    maxRange?: number\n    marks?: MarksProp\n    included?: boolean\n    process?: ProcessProp\n    adsorb?: boolean\n    dotOptions?: DotOption | DotOption[]\n    onError?: (type: ERROR_TYPE, message: string) => void\n  }) {\n    this.data = options.data\n    this.max = options.max\n    this.min = options.min\n    this.interval = options.interval\n    this.order = options.order\n    this.marks = options.marks\n    this.included = options.included\n    this.process = options.process\n    this.adsorb = options.adsorb\n    this.dotOptions = options.dotOptions\n    this.onError = options.onError\n    if (this.order) {\n      this.minRange = options.minRange || 0\n      this.maxRange = options.maxRange || 0\n      this.enableCross = options.enableCross\n      this.fixed = options.fixed\n    } else {\n      if (options.minRange || options.maxRange || !options.enableCross || options.fixed) {\n        this.emitError(ERROR_TYPE.ORDER)\n      }\n      this.minRange = 0\n      this.maxRange = 0\n      this.enableCross = true\n      this.fixed = false\n    }\n    this.setValue(options.value)\n  }\n\n  setValue(value: Value | Value[]) {\n    this.setDotsValue(Array.isArray(value) ? [...value] : [value], true)\n  }\n\n  setDotsValue(value: Value[], syncPos?: boolean) {\n    this.dotsValue = value\n    if (syncPos) {\n      this.syncDotsPos()\n    }\n  }\n\n  // Set the slider position\n  setDotsPos(dotsPos: number[]) {\n    const list = this.order ? [...dotsPos].sort((a, b) => a - b) : dotsPos\n    this.dotsPos = list\n    this.setDotsValue(list.map(dotPos => this.getValueByPos(dotPos)), this.adsorb)\n  }\n\n  // Get value by position\n  getValueByPos(pos: number): Value {\n    let value = this.parsePos(pos)\n    // When included is true, the return value is the value of the nearest mark\n    if (this.included) {\n      let dir = 100\n      this.markList.forEach(mark => {\n        const curDir = Math.abs(mark.pos - pos)\n        if (curDir < dir) {\n          dir = curDir\n          value = mark.value\n        }\n      })\n    }\n    return value\n  }\n\n  // Sync slider position\n  syncDotsPos() {\n    this.dotsPos = this.dotsValue.map(v => this.parseValue(v))\n  }\n\n  /**\n   * Get all the marks\n   *\n   * @readonly\n   * @type {Mark[]}\n   * @memberof Control\n   */\n  get markList(): Mark[] {\n    if (!this.marks) {\n      return []\n    }\n\n    const getMarkByValue = (value: Value, mark?: MarkOption): Mark => {\n      const pos = this.parseValue(value)\n      return {\n        pos,\n        value,\n        label: value,\n        active: this.isActiveByPos(pos),\n        ...mark,\n      }\n    }\n\n    if (this.marks === true) {\n      return this.getValues().map(value => getMarkByValue(value))\n    } else if (Object.prototype.toString.call(this.marks) === '[object Object]') {\n      return Object.keys(this.marks)\n        .sort((a, b) => +a - +b)\n        .map(value => {\n          const item = (this.marks as Marks)[value]\n          return getMarkByValue(value, typeof item !== 'string' ? item : { label: item })\n        })\n    } else if (Array.isArray(this.marks)) {\n      return this.marks.map(value => getMarkByValue(value))\n    } else if (typeof this.marks === 'function') {\n      return this.getValues()\n        .map(value => ({ value, result: (this.marks as MarksFunction)(value) }))\n        .filter(({ result }) => !!result)\n        .map(({ value, result }) => getMarkByValue(value, result as Mark))\n    } else {\n      return []\n    }\n  }\n\n  /**\n   * Get the most recent slider index by position\n   *\n   * @param {number} pos\n   * @returns {number}\n   * @memberof Control\n   */\n  getRecentDot(pos: number): number {\n    const arr = this.dotsPos.map(dotPos => Math.abs(dotPos - pos))\n    return arr.indexOf(Math.min(...arr))\n  }\n\n  /**\n   * Get index by value\n   *\n   * @param {Value} value\n   * @returns {number}\n   * @memberof Control\n   */\n  getIndexByValue(value: Value): number {\n    if (this.data) {\n      return this.data.indexOf(value)\n    }\n    return new Decimal(+value)\n      .minus(this.min)\n      .divide(this.interval)\n      .toNumber()\n  }\n\n  /**\n   * Get value by index\n   *\n   * @param {index} number\n   * @returns {Value}\n   * @memberof Control\n   */\n  getValueByIndex(index: number): Value {\n    if (index < 0) {\n      index = 0\n    } else if (index > this.total) {\n      index = this.total\n    }\n    return this.data\n      ? this.data[index]\n      : new Decimal(index)\n          .multiply(this.interval)\n          .plus(this.min)\n          .toNumber()\n  }\n\n  /**\n   * Set the position of a single slider\n   *\n   * @param {number} pos\n   * @param {number} index\n   */\n  setDotPos(pos: number, index: number) {\n    pos = this.getValidPos(pos, index).pos\n    const changePos = pos - this.dotsPos[index]\n\n    if (!changePos) {\n      return\n    }\n\n    let changePosArr: DotsPosChangeArray = new Array(this.dotsPos.length)\n    if (this.fixed) {\n      changePosArr = this.getFixedChangePosArr(changePos, index)\n    } else if (this.minRange || this.maxRange) {\n      changePosArr = this.getLimitRangeChangePosArr(pos, changePos, index)\n    } else {\n      changePosArr[index] = changePos\n    }\n\n    this.setDotsPos(this.dotsPos.map((curPos, i) => curPos + (changePosArr[i] || 0)))\n  }\n\n  /**\n   * In fixed mode, get the position of all slider changes\n   *\n   * @param {number} changePos Change distance of a single slider\n   * @param {number} index slider index\n   * @returns {DotsPosChangeArray}\n   * @memberof Control\n   */\n  private getFixedChangePosArr(changePos: number, index: number): DotsPosChangeArray {\n    this.dotsPos.forEach((originPos, i) => {\n      if (i !== index) {\n        const { pos: lastPos, inRange } = this.getValidPos(originPos + changePos, i)\n        if (!inRange) {\n          changePos =\n            Math.min(Math.abs(lastPos - originPos), Math.abs(changePos)) * (changePos < 0 ? -1 : 1)\n        }\n      }\n    })\n    return this.dotsPos.map(_ => changePos)\n  }\n\n  /**\n   * In minRange/maxRange mode, get the position of all slider changes\n   *\n   * @param {number} pos position of a single slider\n   * @param {number} changePos Change distance of a single slider\n   * @param {number} index slider index\n   * @returns {DotsPosChangeArray}\n   * @memberof Control\n   */\n  private getLimitRangeChangePosArr(\n    pos: number,\n    changePos: number,\n    index: number,\n  ): DotsPosChangeArray {\n    const changeDots = [{ index, changePos }]\n    const newChangePos = changePos\n    ;[this.minRange, this.maxRange].forEach((isLimitRange?: number, rangeIndex?: number) => {\n      if (!isLimitRange) {\n        return false\n      }\n      const isMinRange = rangeIndex === 0\n      const isForward = changePos > 0\n      let next = 0\n      if (isMinRange) {\n        next = isForward ? 1 : -1\n      } else {\n        next = isForward ? -1 : 1\n      }\n\n      // Determine if the two positions are within the legal interval\n      const inLimitRange = (pos2: number, pos1: number): boolean => {\n        const diff = Math.abs(pos2 - pos1)\n        return isMinRange ? diff < this.minRangeDir : diff > this.maxRangeDir\n      }\n\n      let i = index + next\n      let nextPos = this.dotsPos[i]\n      let curPos = pos\n      while (this.isPos(nextPos) && inLimitRange(nextPos, curPos)) {\n        const { pos: lastPos } = this.getValidPos(nextPos + newChangePos, i)\n        changeDots.push({\n          index: i,\n          changePos: lastPos - nextPos,\n        })\n        i = i + next\n        curPos = lastPos\n        nextPos = this.dotsPos[i]\n      }\n    })\n\n    return this.dotsPos.map((_, i) => {\n      const changeDot = changeDots.filter(dot => dot.index === i)\n      return changeDot.length ? changeDot[0].changePos : 0\n    })\n  }\n\n  private isPos(pos: any): boolean {\n    return typeof pos === 'number'\n  }\n\n  /**\n   * Get a valid position by pos\n   *\n   * @param {number} pos\n   * @param {number} index\n   * @returns {{ pos: number, inRange: boolean }}\n   */\n  getValidPos(pos: number, index: number): { pos: number; inRange: boolean } {\n    const range = this.valuePosRange[index]\n    let inRange = true\n    if (pos < range[0]) {\n      pos = range[0]\n      inRange = false\n    } else if (pos > range[1]) {\n      pos = range[1]\n      inRange = false\n    }\n    return {\n      pos,\n      inRange,\n    }\n  }\n\n  /**\n   * Calculate the position of the slider by value\n   *\n   * @param {Value} val\n   * @returns {number}\n   */\n  parseValue(val: Value): number {\n    if (this.data) {\n      val = this.data.indexOf(val)\n    } else if (typeof val === 'number' || typeof val === 'string') {\n      val = +val\n      if (val < this.min) {\n        this.emitError(ERROR_TYPE.MIN)\n        return 0\n      }\n      if (val > this.max) {\n        this.emitError(ERROR_TYPE.MAX)\n        return 0\n      }\n      if (typeof val !== 'number' || val !== val) {\n        this.emitError(ERROR_TYPE.VALUE)\n        return 0\n      }\n      val = new Decimal(val)\n        .minus(this.min)\n        .divide(this.interval)\n        .toNumber()\n    }\n\n    const pos = new Decimal(val).multiply(this.gap).toNumber()\n    return pos < 0 ? 0 : pos > 100 ? 100 : pos\n  }\n\n  /**\n   * Calculate the value by position\n   *\n   * @param {number} pos\n   * @returns {Value}\n   * @memberof Control\n   */\n  parsePos(pos: number): Value {\n    const index = Math.round(pos / this.gap)\n    return this.getValueByIndex(index)\n  }\n\n  /**\n   * Determine if the location is active\n   *\n   * @param {number} pos\n   * @returns {boolean}\n   * @memberof Control\n   */\n  isActiveByPos(pos: number): boolean {\n    return this.processArray.some(([start, end]) => pos >= start && pos <= end)\n  }\n\n  /**\n   * Get each value\n   *\n   * @returns {Value[]}\n   * @memberof Control\n   */\n  getValues(): Value[] {\n    if (this.data) {\n      return this.data\n    } else {\n      const values: Value[] = []\n      for (let i = 0; i <= this.total; i++) {\n        values.push(\n          new Decimal(i)\n            .multiply(this.interval)\n            .plus(this.min)\n            .toNumber(),\n        )\n      }\n      return values\n    }\n  }\n\n  /**\n   * Calculate the distance of the range\n   * @param range number\n   */\n  getRangeDir(range: number): number {\n    return range\n      ? new Decimal(range)\n          .divide(\n            new Decimal(this.data ? this.data.length - 1 : this.max)\n              .minus(this.data ? 0 : this.min)\n              .toNumber(),\n          )\n          .multiply(100)\n          .toNumber()\n      : 100\n  }\n\n  private emitError(type: ERROR_TYPE) {\n    if (this.onError) {\n      this.onError(type, ERROR_MSG[type])\n    }\n  }\n\n  get processArray(): ProcessOption {\n    if (this.process) {\n      if (typeof this.process === 'function') {\n        return this.process(this.dotsPos)\n      } else if (this.dotsPos.length === 1) {\n        return [[0, this.dotsPos[0]]]\n      } else if (this.dotsPos.length > 1) {\n        return [[Math.min(...this.dotsPos), Math.max(...this.dotsPos)]]\n      }\n    }\n\n    return []\n  }\n\n  /**\n   * The total number of values\n   *\n   * @type {number}\n   * @memberof Control\n   */\n  get total(): number {\n    let total = 0\n    if (this.data) {\n      total = this.data.length - 1\n    } else {\n      total = new Decimal(this.max)\n        .minus(this.min)\n        .divide(this.interval)\n        .toNumber()\n    }\n    if (total - Math.floor(total) !== 0) {\n      this.emitError(ERROR_TYPE.INTERVAL)\n      return 0\n    }\n    return total\n  }\n\n  // Distance between each value\n  get gap(): number {\n    return 100 / this.total\n  }\n\n  private cacheRangeDir: { [key: string]: number } = {}\n\n  // The minimum distance between the two sliders\n  get minRangeDir(): number {\n    if (this.cacheRangeDir[this.minRange]) {\n      return this.cacheRangeDir[this.minRange]\n    }\n    return (this.cacheRangeDir[this.minRange] = this.getRangeDir(this.minRange))\n  }\n\n  // Maximum distance between the two sliders\n  get maxRangeDir(): number {\n    if (this.cacheRangeDir[this.maxRange]) return this.cacheRangeDir[this.maxRange]\n    return (this.cacheRangeDir[this.maxRange] = this.getRangeDir(this.maxRange))\n  }\n\n  private getDotRange(index: number, key: 'min' | 'max', defaultValue: number): number {\n    if (!this.dotOptions) {\n      return defaultValue\n    }\n\n    const option = Array.isArray(this.dotOptions) ? this.dotOptions[index] : this.dotOptions\n    return option && option[key] !== void 0 ? this.parseValue(option[key] as Value) : defaultValue\n  }\n\n  /**\n   * Sliding range of each slider\n   *\n   * @type {Array<[number, number]>}\n   * @memberof Control\n   */\n  get valuePosRange(): Array<[number, number]> {\n    const dotsPos = this.dotsPos\n    const valuePosRange: Array<[number, number]> = []\n\n    dotsPos.forEach((pos, i) => {\n      valuePosRange.push([\n        Math.max(\n          this.minRange ? this.minRangeDir * i : 0,\n          !this.enableCross ? dotsPos[i - 1] || 0 : 0,\n          this.getDotRange(i, 'min', 0),\n        ),\n        Math.min(\n          this.minRange ? 100 - this.minRangeDir * (dotsPos.length - 1 - i) : 100,\n          !this.enableCross ? dotsPos[i + 1] || 100 : 100,\n          this.getDotRange(i, 'max', 100),\n        ),\n      ])\n    })\n\n    return valuePosRange\n  }\n\n  get dotsIndex(): number[] {\n    return this.dotsValue.map(val => this.getIndexByValue(val))\n  }\n}\n","type Operator = '+' | '-' | '*' | '/' | '%'\n\n/**\n * For any precise floating point calculation\n *\n * @export\n * @class Decimal\n */\nexport default class Decimal {\n  num: number\n\n  constructor(num: number) {\n    this.num = num\n  }\n\n  decimal(num2: number, operator: Operator): this {\n    const num1 = this.num\n    const len1 = this.getDecimalLen(num1)\n    const len2 = this.getDecimalLen(num2)\n    let base = 0\n    switch (operator) {\n      case '+':\n        base = this.getExponent(len1, len2)\n        this.num = (this.safeRoundUp(num1, base) + this.safeRoundUp(num2, base)) / base\n        break\n      case '-':\n        base = this.getExponent(len1, len2)\n        this.num = (this.safeRoundUp(num1, base) - this.safeRoundUp(num2, base)) / base\n        break\n      case '*':\n        this.num =\n          this.safeRoundUp(\n            this.safeRoundUp(num1, this.getExponent(len1)),\n            this.safeRoundUp(num2, this.getExponent(len2)),\n          ) / this.getExponent(len1 + len2)\n        break\n      case '/':\n        base = this.getExponent(len1, len2)\n        this.num = this.safeRoundUp(num1, base) / this.safeRoundUp(num2, base)\n        break\n      case '%':\n        base = this.getExponent(len1, len2)\n        this.num = (this.safeRoundUp(num1, base) % this.safeRoundUp(num2, base)) / base\n        break\n    }\n    return this\n  }\n\n  plus(num2: number) {\n    return this.decimal(num2, '+')\n  }\n\n  minus(num2: number) {\n    return this.decimal(num2, '-')\n  }\n\n  multiply(num2: number) {\n    return this.decimal(num2, '*')\n  }\n\n  divide(num2: number) {\n    return this.decimal(num2, '/')\n  }\n\n  remainder(num2: number) {\n    return this.decimal(num2, '%')\n  }\n\n  toNumber(): number {\n    return this.num\n  }\n\n  private getDecimalLen(num: number): number {\n    return (`${num}`.split('.')[1] || '').length\n  }\n\n  private getExponent(num1: number, num2?: number): number {\n    return Math.pow(10, num2 !== void 0 ? Math.max(num1, num2) : num1)\n  }\n\n  // fix: 9999999.99995 * 100000 = 999999999994.9999\n  private safeRoundUp(num: number, exponent: number): number {\n    return Math.round(num * exponent)\n  }\n}\n","export interface StateMap {\n  [key: string]: number\n}\n\nexport default class State {\n  map: StateMap\n  states: number = 0\n\n  constructor(map: StateMap) {\n    this.map = map\n  }\n\n  add(state: number) {\n    this.states |= state\n  }\n\n  delete(state: number) {\n    this.states &= ~state\n  }\n\n  toggle(state: number) {\n    if (this.has(state)) {\n      this.delete(state)\n    } else {\n      this.add(state)\n    }\n  }\n\n  has(state: number): boolean {\n    return !!(this.states & state)\n  }\n}\n","import { Component, Model, Prop, Watch, Vue } from 'vue-property-decorator'\nimport {\n  Value,\n  Mark,\n  MarksProp,\n  Styles,\n  DotOption,\n  DotStyle,\n  Dot,\n  Direction,\n  Position,\n  ProcessProp,\n  Process,\n  TooltipProp,\n  TooltipFormatter,\n} from './typings'\nimport VueSliderDot from './vue-slider-dot'\nimport VueSliderMark from './vue-slider-mark'\n\nimport { getSize, getPos, getKeyboardHandleFunc, HandleFunction } from './utils'\nimport Decimal from './utils/decimal'\nimport Control, { ERROR_TYPE } from './utils/control'\nimport State, { StateMap } from './utils/state'\n\nimport './styles/slider.scss'\n\nexport const SliderState: StateMap = {\n  None: 0,\n  Drag: 1 << 1,\n  Focus: 1 << 2,\n}\n\nconst DEFAULT_SLIDER_SIZE = 4\n\n@Component({\n  data() {\n    return {\n      control: null,\n    }\n  },\n  components: {\n    VueSliderDot,\n    VueSliderMark,\n  },\n})\nexport default class VueSlider extends Vue {\n  control!: Control\n  states: State = new State(SliderState)\n  // The width of the component is divided into one hundred, the width of each one.\n  scale: number = 1\n  // Currently dragged slider index\n  focusDotIndex: number = 0\n\n  $refs!: {\n    container: HTMLDivElement\n  }\n\n  $el!: HTMLDivElement\n\n  @Model('change', { default: 0 })\n  value!: Value | Value[]\n\n  @Prop({ type: Boolean, default: false })\n  silent!: boolean\n\n  @Prop({\n    default: 'ltr',\n    validator: dir => ['ltr', 'rtl', 'ttb', 'btt'].indexOf(dir) > -1,\n  })\n  direction!: Direction\n\n  @Prop({ type: [Number, String] }) width?: number | string\n\n  @Prop({ type: [Number, String] }) height?: number | string\n\n  // The size of the slider, optional [width, height] | size\n  @Prop({ default: 14 })\n  dotSize!: [number, number] | number\n\n  // whether or not the slider should be fully contained within its containing element\n  @Prop({ default: false })\n  contained!: boolean\n\n  @Prop({ type: Number, default: 0 })\n  min!: number\n\n  @Prop({ type: Number, default: 100 })\n  max!: number\n\n  @Prop({ type: Number, default: 1 })\n  interval!: number\n\n  @Prop({ type: Boolean, default: false })\n  disabled!: boolean\n\n  @Prop({ type: Boolean, default: true })\n  clickable!: boolean\n\n  @Prop({ type: Boolean, default: false })\n  dragOnClick!: boolean\n\n  // The duration of the slider slide, Unit second\n  @Prop({ type: Number, default: 0.5 })\n  duration!: number\n\n  @Prop(Array) data?: Value[]\n\n  @Prop({ type: Boolean, default: false })\n  lazy!: boolean\n\n  @Prop({\n    type: String,\n    validator: val => ['none', 'always', 'focus', 'hover', 'active'].indexOf(val) > -1,\n    default: 'active',\n  })\n  tooltip!: TooltipProp\n\n  @Prop({\n    type: [String, Array],\n    validator: data =>\n      (Array.isArray(data) ? data : [data]).every(\n        val => ['top', 'right', 'bottom', 'left'].indexOf(val) > -1,\n      ),\n  })\n  tooltipPlacement?: Position | Position[]\n\n  @Prop({ type: [String, Array, Function] })\n  tooltipFormatter?: TooltipFormatter | TooltipFormatter[]\n\n  // Keyboard control\n  @Prop({ type: Boolean, default: false })\n  useKeyboard?: boolean\n\n  // Keyboard controlled hook function\n  @Prop(Function)\n  keydownHook!: (e: KeyboardEvent) => HandleFunction | boolean\n\n  // Whether to allow sliders to cross, only in range mode\n  @Prop({ type: Boolean, default: true })\n  enableCross!: boolean\n\n  // Whether to fix the slider interval, only in range mode\n  @Prop({ type: Boolean, default: false })\n  fixed!: boolean\n\n  // Whether to sort values, only in range mode\n  // When order is false, the parameters [minRange, maxRange, fixed, enableCross] are invalid\n  // e.g. When order = false, [50, 30] will not be automatically sorted into [30, 50]\n  @Prop({ type: Boolean, default: true })\n  order!: boolean\n\n  // Minimum distance between sliders, only in range mode\n  @Prop(Number) minRange?: number\n\n  // Maximum distance between sliders, only in range mode\n  @Prop(Number) maxRange?: number\n\n  @Prop({ type: [Boolean, Object, Array, Function], default: false })\n  marks?: MarksProp\n\n  @Prop({ type: [Boolean, Function], default: true })\n  process?: ProcessProp\n\n  // If the value is true , mark will be an independent value\n  @Prop(Boolean) included?: boolean\n\n  // If the value is true , dot will automatically adsorb to the nearest value\n  @Prop(Boolean) adsorb?: boolean\n\n  @Prop(Boolean) hideLabel?: boolean\n\n  @Prop() dotOptions?: DotOption | DotOption[]\n\n  @Prop() railStyle?: Styles\n\n  @Prop() processStyle?: Styles\n\n  @Prop() dotStyle?: Styles\n\n  @Prop() tooltipStyle?: Styles\n\n  @Prop() stepStyle?: Styles\n\n  @Prop() stepActiveStyle?: Styles\n\n  @Prop() labelStyle?: Styles\n\n  @Prop() labelActiveStyle?: Styles\n\n  get tailSize() {\n    return getSize((this.isHorizontal ? this.height : this.width) || DEFAULT_SLIDER_SIZE)\n  }\n\n  get containerClasses() {\n    return [\n      'vue-slider',\n      [`vue-slider-${this.direction}`],\n      {\n        'vue-slider-disabled': this.disabled,\n      },\n    ]\n  }\n\n  get containerStyles() {\n    const [dotWidth, dotHeight] = Array.isArray(this.dotSize)\n      ? this.dotSize\n      : [this.dotSize, this.dotSize]\n    const containerWidth = this.width\n      ? getSize(this.width)\n      : this.isHorizontal\n      ? 'auto'\n      : getSize(DEFAULT_SLIDER_SIZE)\n    const containerHeight = this.height\n      ? getSize(this.height)\n      : this.isHorizontal\n      ? getSize(DEFAULT_SLIDER_SIZE)\n      : 'auto'\n    return {\n      padding: this.contained\n        ? `${dotHeight / 2}px ${dotWidth / 2}px`\n        : this.isHorizontal\n        ? `${dotHeight / 2}px 0`\n        : `0 ${dotWidth / 2}px`,\n      width: containerWidth,\n      height: containerHeight,\n    }\n  }\n\n  get processArray(): Process[] {\n    return this.control.processArray.map(([start, end, style], index) => {\n      if (start > end) {\n        /* tslint:disable:semicolon */\n        ;[start, end] = [end, start]\n      }\n      const sizeStyleKey = this.isHorizontal ? 'width' : 'height'\n      return {\n        start,\n        end,\n        index,\n        style: {\n          [this.isHorizontal ? 'height' : 'width']: '100%',\n          [this.isHorizontal ? 'top' : 'left']: 0,\n          [this.mainDirection]: `${start}%`,\n          [sizeStyleKey]: `${end - start}%`,\n          transitionProperty: `${sizeStyleKey},${this.mainDirection}`,\n          transitionDuration: `${this.animateTime}s`,\n          ...this.processStyle,\n          ...style,\n        },\n      }\n    })\n  }\n\n  get dotBaseStyle() {\n    const [dotWidth, dotHeight] = Array.isArray(this.dotSize)\n      ? this.dotSize\n      : [this.dotSize, this.dotSize]\n    let dotPos: { [key: string]: string }\n    if (this.isHorizontal) {\n      dotPos = {\n        transform: `translate(${this.isReverse ? '50%' : '-50%'}, -50%)`,\n        WebkitTransform: `translate(${this.isReverse ? '50%' : '-50%'}, -50%)`,\n        top: '50%',\n        [this.direction === 'ltr' ? 'left' : 'right']: '0',\n      }\n    } else {\n      dotPos = {\n        transform: `translate(-50%, ${this.isReverse ? '50%' : '-50%'})`,\n        WebkitTransform: `translate(-50%, ${this.isReverse ? '50%' : '-50%'})`,\n        left: '50%',\n        [this.direction === 'btt' ? 'bottom' : 'top']: '0',\n      }\n    }\n    return {\n      width: `${dotWidth}px`,\n      height: `${dotHeight}px`,\n      ...dotPos,\n    }\n  }\n\n  get mainDirection(): string {\n    switch (this.direction) {\n      case 'ltr':\n        return 'left'\n      case 'rtl':\n        return 'right'\n      case 'btt':\n        return 'bottom'\n      case 'ttb':\n        return 'top'\n    }\n  }\n\n  get isHorizontal(): boolean {\n    return this.direction === 'ltr' || this.direction === 'rtl'\n  }\n\n  get isReverse(): boolean {\n    return this.direction === 'rtl' || this.direction === 'btt'\n  }\n\n  get tooltipDirections(): Position[] {\n    const dir = this.tooltipPlacement || (this.isHorizontal ? 'top' : 'left')\n    if (Array.isArray(dir)) {\n      return dir\n    } else {\n      return this.dots.map(() => dir)\n    }\n  }\n\n  get dots(): Dot[] {\n    return this.control.dotsPos.map((pos, index) => ({\n      pos,\n      index,\n      value: this.control.dotsValue[index],\n      focus: this.states.has(SliderState.Focus) && this.focusDotIndex === index,\n      disabled: this.disabled,\n      style: this.dotStyle,\n      ...((Array.isArray(this.dotOptions) ? this.dotOptions[index] : this.dotOptions) || {}),\n    }))\n  }\n\n  get animateTime(): number {\n    if (this.states.has(SliderState.Drag)) {\n      return 0\n    }\n    return this.duration\n  }\n\n  get canSort(): boolean {\n    return this.order && !this.minRange && !this.maxRange && !this.fixed && this.enableCross\n  }\n\n  @Watch('value')\n  onValueChanged() {\n    if (this.control && !this.states.has(SliderState.Drag) && this.isNotSync) {\n      this.control.setValue(this.value)\n    }\n  }\n\n  created() {\n    this.initControl()\n  }\n\n  mounted() {\n    this.bindEvent()\n  }\n\n  beforeDestroy() {\n    this.unbindEvent()\n  }\n\n  bindEvent() {\n    document.addEventListener('touchmove', this.dragMove, { passive: false })\n    document.addEventListener('touchend', this.dragEnd, { passive: false })\n    document.addEventListener('mousedown', this.blurHandle)\n    document.addEventListener('mousemove', this.dragMove)\n    document.addEventListener('mouseup', this.dragEnd)\n    document.addEventListener('mouseleave', this.dragEnd)\n    document.addEventListener('keydown', this.keydownHandle)\n  }\n\n  unbindEvent() {\n    document.removeEventListener('touchmove', this.dragMove)\n    document.removeEventListener('touchend', this.dragEnd)\n    document.removeEventListener('mousedown', this.blurHandle)\n    document.removeEventListener('mousemove', this.dragMove)\n    document.removeEventListener('mouseup', this.dragEnd)\n    document.removeEventListener('mouseleave', this.dragEnd)\n    document.removeEventListener('keydown', this.keydownHandle)\n  }\n\n  setScale() {\n    this.scale = new Decimal(\n      Math.floor(this.isHorizontal ? this.$el.offsetWidth : this.$el.offsetHeight),\n    )\n      .divide(100)\n      .toNumber()\n  }\n\n  initControl() {\n    this.control = new Control({\n      value: this.value,\n      data: this.data,\n      enableCross: this.enableCross,\n      fixed: this.fixed,\n      max: this.max,\n      min: this.min,\n      interval: this.interval,\n      minRange: this.minRange,\n      maxRange: this.maxRange,\n      order: this.order,\n      marks: this.marks,\n      included: this.included,\n      process: this.process,\n      adsorb: this.adsorb,\n      dotOptions: this.dotOptions,\n      onError: this.emitError,\n    })\n    ;[\n      'data',\n      'enableCross',\n      'fixed',\n      'max',\n      'min',\n      'interval',\n      'minRange',\n      'maxRange',\n      'order',\n      'marks',\n      'process',\n      'adsorb',\n      'included',\n      'dotOptions',\n    ].forEach(name => {\n      this.$watch(name, (val: any) => {\n        if (\n          name === 'data' &&\n          Array.isArray(this.control.data) &&\n          Array.isArray(val) &&\n          this.control.data.length === val.length &&\n          val.every((item, index) => item === (this.control.data as Value[])[index])\n        ) {\n          return false\n        }\n        ;(this.control as any)[name] = val\n        if (['data', 'max', 'min', 'interval'].indexOf(name) > -1) {\n          this.control.syncDotsPos()\n        }\n      })\n    })\n  }\n\n  private syncValueByPos() {\n    const values = this.control.dotsValue\n    if (this.isDiff(values, Array.isArray(this.value) ? this.value : [this.value])) {\n      this.$emit('change', values.length === 1 ? values[0] : [...values])\n    }\n  }\n\n  // Slider value and component internal value are inconsistent\n  private get isNotSync() {\n    const values = this.control.dotsValue\n    return Array.isArray(this.value)\n      ? this.value.length !== values.length ||\n          this.value.some((val, index) => val !== values[index])\n      : this.value !== values[0]\n  }\n\n  private isDiff(value1: Value[], value2: Value[]) {\n    return value1.length !== value2.length || value1.some((val, index) => val !== value2[index])\n  }\n\n  private emitError(type: ERROR_TYPE, message: string) {\n    if (!this.silent) {\n      console.error(`[VueSlider error]: ${message}`)\n    }\n    this.$emit('error', type, message)\n  }\n\n  /**\n   * Get the drag range of the slider\n   *\n   * @private\n   * @param {number} index slider index\n   * @returns {[number, number]} range [start, end]\n   * @memberof VueSlider\n   */\n  private get dragRange(): [number, number] {\n    const prevDot = this.dots[this.focusDotIndex - 1]\n    const nextDot = this.dots[this.focusDotIndex + 1]\n    return [prevDot ? prevDot.pos : -Infinity, nextDot ? nextDot.pos : Infinity]\n  }\n\n  private dragStartOnProcess(e: MouseEvent | TouchEvent) {\n    if (this.dragOnClick) {\n      this.setScale()\n      const pos = this.getPosByEvent(e)\n      const index = this.control.getRecentDot(pos)\n      if (this.dots[index].disabled) {\n        return\n      }\n      this.dragStart(index)\n      this.control.setDotPos(pos, this.focusDotIndex)\n      if (!this.lazy) {\n        this.syncValueByPos()\n      }\n    }\n  }\n\n  private dragStart(index: number) {\n    this.focusDotIndex = index\n    this.setScale()\n    this.states.add(SliderState.Drag)\n    this.states.add(SliderState.Focus)\n    this.$emit('drag-start')\n  }\n\n  private dragMove(e: MouseEvent | TouchEvent) {\n    if (!this.states.has(SliderState.Drag)) {\n      return false\n    }\n    e.preventDefault()\n    const pos = this.getPosByEvent(e)\n    this.isCrossDot(pos)\n    this.control.setDotPos(pos, this.focusDotIndex)\n    if (!this.lazy) {\n      this.syncValueByPos()\n    }\n    const value = this.control.dotsValue\n    this.$emit('dragging', value.length === 1 ? value[0] : [...value])\n  }\n\n  // If the component is sorted, then when the slider crosses, toggle the currently selected slider index\n  private isCrossDot(pos: number) {\n    if (this.canSort) {\n      const curIndex = this.focusDotIndex\n      let curPos = pos\n      if (curPos > this.dragRange[1]) {\n        curPos = this.dragRange[1]\n        this.focusDotIndex++\n      } else if (curPos < this.dragRange[0]) {\n        curPos = this.dragRange[0]\n        this.focusDotIndex--\n      }\n      if (curIndex !== this.focusDotIndex) {\n        this.control.setDotPos(curPos, curIndex)\n      }\n    }\n  }\n\n  private dragEnd() {\n    if (!this.states.has(SliderState.Drag)) {\n      return false\n    }\n\n    setTimeout(() => {\n      if (this.lazy) {\n        this.syncValueByPos()\n      }\n      if (this.included && this.isNotSync) {\n        this.control.setValue(this.value)\n      } else {\n        // Sync slider position\n        this.control.syncDotsPos()\n      }\n      this.states.delete(SliderState.Drag)\n      // If useKeyboard is true, keep focus status after dragging\n      if (!this.useKeyboard) {\n        this.states.delete(SliderState.Focus)\n      }\n      this.$emit('drag-end')\n    })\n  }\n\n  private blurHandle(e: MouseEvent) {\n    if (\n      !this.states.has(SliderState.Focus) ||\n      !this.$refs.container ||\n      this.$refs.container.contains(e.target as Node)\n    ) {\n      return false\n    }\n    this.states.delete(SliderState.Focus)\n  }\n\n  private clickHandle(e: MouseEvent | TouchEvent) {\n    if (!this.clickable || this.disabled) {\n      return false\n    }\n    if (this.states.has(SliderState.Drag)) {\n      return\n    }\n    this.setScale()\n    const pos = this.getPosByEvent(e)\n    this.setValueByPos(pos)\n  }\n\n  focus(index: number = 0) {\n    this.states.add(SliderState.Focus)\n    this.focusDotIndex = index\n  }\n\n  blur() {\n    this.states.delete(SliderState.Focus)\n  }\n\n  getValue() {\n    const values = this.control.dotsValue\n    return values.length === 1 ? values[0] : values\n  }\n\n  getIndex() {\n    const indexes = this.control.dotsIndex\n    return indexes.length === 1 ? indexes[0] : indexes\n  }\n\n  setValue(value: Value | Value[]) {\n    this.control.setValue(Array.isArray(value) ? [...value] : [value])\n    this.syncValueByPos()\n  }\n\n  setIndex(index: number | number[]) {\n    const value = Array.isArray(index)\n      ? index.map(n => this.control.getValueByIndex(n))\n      : this.control.getValueByIndex(index)\n    this.setValue(value)\n  }\n\n  setValueByPos(pos: number) {\n    const index = this.control.getRecentDot(pos)\n    if (this.disabled || this.dots[index].disabled) {\n      return false\n    }\n    this.focusDotIndex = index\n    this.control.setDotPos(pos, index)\n    this.syncValueByPos()\n\n    if (this.useKeyboard) {\n      this.states.add(SliderState.Focus)\n    }\n\n    setTimeout(() => {\n      if (this.included && this.isNotSync) {\n        this.control.setValue(this.value)\n      } else {\n        this.control.syncDotsPos()\n      }\n    })\n  }\n\n  keydownHandle(e: KeyboardEvent) {\n    if (!this.useKeyboard || !this.states.has(SliderState.Focus)) {\n      return false\n    }\n\n    const isInclude = this.included && this.marks\n    const handleFunc = getKeyboardHandleFunc(e, {\n      direction: this.direction,\n      max: isInclude ? this.control.markList.length - 1 : this.control.total,\n      min: 0,\n      hook: this.keydownHook,\n    })\n\n    if (handleFunc) {\n      e.preventDefault()\n      let newIndex = -1\n      let pos = 0\n      if (isInclude) {\n        this.control.markList.some((mark, index) => {\n          if (mark.value === this.control.dotsValue[this.focusDotIndex]) {\n            newIndex = handleFunc(index)\n            return true\n          }\n          return false\n        })\n        if (newIndex < 0) {\n          newIndex = 0\n        } else if (newIndex > this.control.markList.length - 1) {\n          newIndex = this.control.markList.length - 1\n        }\n        pos = this.control.markList[newIndex].pos\n      } else {\n        newIndex = handleFunc(\n          this.control.getIndexByValue(this.control.dotsValue[this.focusDotIndex]),\n        )\n        pos = this.control.parseValue(this.control.getValueByIndex(newIndex))\n      }\n      this.isCrossDot(pos)\n      this.control.setDotPos(pos, this.focusDotIndex)\n      this.syncValueByPos()\n    }\n  }\n\n  private getPosByEvent(e: MouseEvent | TouchEvent): number {\n    return getPos(e, this.$el, this.isReverse)[this.isHorizontal ? 'x' : 'y'] / this.scale\n  }\n\n  private renderSlot<T>(name: string, data: T, defaultSlot: any, isDefault?: boolean): any {\n    const scopedSlot = this.$scopedSlots[name]\n    return scopedSlot ? (\n      isDefault ? (\n        scopedSlot(data)\n      ) : (\n        <template slot={name}>{scopedSlot(data)}</template>\n      )\n    ) : (\n      defaultSlot\n    )\n  }\n\n  render() {\n    return (\n      <div\n        ref=\"container\"\n        class={this.containerClasses}\n        style={this.containerStyles}\n        onClick={this.clickHandle}\n        onTouchstart={this.dragStartOnProcess}\n        onMousedown={this.dragStartOnProcess}\n        {...this.$attrs}\n      >\n        {/* rail */}\n        <div class=\"vue-slider-rail\" style={this.railStyle}>\n          {this.processArray.map((item, index) =>\n            this.renderSlot<Process>(\n              'process',\n              item,\n              <div class=\"vue-slider-process\" key={`process-${index}`} style={item.style} />,\n              true,\n            ),\n          )}\n          {/* mark */}\n          {this.marks ? (\n            <div class=\"vue-slider-marks\">\n              {this.control.markList.map((mark, index) =>\n                this.renderSlot<Mark>(\n                  'mark',\n                  mark,\n                  <vue-slider-mark\n                    key={`mark-${index}`}\n                    mark={mark}\n                    hideLabel={this.hideLabel}\n                    style={{\n                      [this.isHorizontal ? 'height' : 'width']: '100%',\n                      [this.isHorizontal ? 'width' : 'height']: this.tailSize,\n                      [this.mainDirection]: `${mark.pos}%`,\n                    }}\n                    stepStyle={this.stepStyle}\n                    stepActiveStyle={this.stepActiveStyle}\n                    labelStyle={this.labelStyle}\n                    labelActiveStyle={this.labelActiveStyle}\n                    onPressLabel={(pos: number) => this.clickable && this.setValueByPos(pos)}\n                  >\n                    {this.renderSlot<Mark>('step', mark, null)}\n                    {this.renderSlot<Mark>('label', mark, null)}\n                  </vue-slider-mark>,\n                  true,\n                ),\n              )}\n            </div>\n          ) : null}\n          {/* dot */}\n          {this.dots.map((dot, index) => (\n            <vue-slider-dot\n              ref={`dot-${index}`}\n              key={`dot-${index}`}\n              value={dot.value}\n              disabled={dot.disabled}\n              focus={dot.focus}\n              dot-style={[\n                dot.style,\n                dot.disabled ? dot.disabledStyle : null,\n                dot.focus ? dot.focusStyle : null,\n              ]}\n              tooltip={dot.tooltip || this.tooltip}\n              tooltip-style={[\n                this.tooltipStyle,\n                dot.tooltipStyle,\n                dot.disabled ? dot.tooltipDisabledStyle : null,\n                dot.focus ? dot.tooltipFocusStyle : null,\n              ]}\n              tooltip-formatter={\n                Array.isArray(this.tooltipFormatter)\n                  ? this.tooltipFormatter[index]\n                  : this.tooltipFormatter\n              }\n              tooltip-placement={this.tooltipDirections[index]}\n              style={[\n                this.dotBaseStyle,\n                {\n                  [this.mainDirection]: `${dot.pos}%`,\n                  transition: `${this.mainDirection} ${this.animateTime}s`,\n                },\n              ]}\n              onDrag-start={() => this.dragStart(index)}\n            >\n              {this.renderSlot<Dot>('dot', dot, null)}\n              {this.renderSlot<Dot>('tooltip', dot, null)}\n            </vue-slider-dot>\n          ))}\n          {this.renderSlot<any>('default', null, null, true)}\n        </div>\n      </div>\n    )\n  }\n}\n","/* tslint:disable:import-spacing */\nimport VueSlider from './vue-slider'\nimport VueSliderMark from './vue-slider-mark'\nimport VueSliderDot from './vue-slider-dot'\nimport { ERROR_TYPE } from './utils/control'\n;(VueSlider as any).VueSliderMark = VueSliderMark\n;(VueSlider as any).VueSliderDot = VueSliderDot\n\nexport default VueSlider\nexport { ERROR_TYPE, VueSliderMark, VueSliderDot }\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""}