StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
StackGenVis/frontend/node_modules/vue-slider-component/dist-css/vue-slider-component.umd.mi...

1 lines
118 KiB

{"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":""}