drip-ui
Version:
Lightweight Mobile UI Components built on Vue
1,479 lines (1,279 loc) • 193 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("vue"));
else if(typeof define === 'function' && define.amd)
define("drip", ["vue"], factory);
else if(typeof exports === 'object')
exports["drip"] = factory(require("vue"));
else
root["drip"] = factory(root["Vue"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE__1__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // install a JSONP callback for chunk loading
/******/ function webpackJsonpCallback(data) {
/******/ var chunkIds = data[0];
/******/ var moreModules = data[1];
/******/
/******/
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0, resolves = [];
/******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(installedChunks[chunkId]) {
/******/ resolves.push(installedChunks[chunkId][0]);
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/ for(moduleId in moreModules) {
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ modules[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(parentJsonpFunction) parentJsonpFunction(data);
/******/
/******/ while(resolves.length) {
/******/ resolves.shift()();
/******/ }
/******/
/******/ };
/******/
/******/
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // Promise = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ 4: 0
/******/ };
/******/
/******/
/******/
/******/ // script path function
/******/ function jsonpScriptSrc(chunkId) {
/******/ return __webpack_require__.p + "" + ({"0":"form formItem","1":"form numCounter","2":"form render","3":"form riskDesc"}[chunkId]||chunkId) + ".js"
/******/ }
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = function requireEnsure(chunkId) {
/******/ var promises = [];
/******/
/******/
/******/ // JSONP chunk loading for javascript
/******/
/******/ var installedChunkData = installedChunks[chunkId];
/******/ if(installedChunkData !== 0) { // 0 means "already installed".
/******/
/******/ // a Promise means "currently loading".
/******/ if(installedChunkData) {
/******/ promises.push(installedChunkData[2]);
/******/ } else {
/******/ // setup Promise in chunk cache
/******/ var promise = new Promise(function(resolve, reject) {
/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject];
/******/ });
/******/ promises.push(installedChunkData[2] = promise);
/******/
/******/ // start chunk loading
/******/ var script = document.createElement('script');
/******/ var onScriptComplete;
/******/
/******/ script.charset = 'utf-8';
/******/ script.timeout = 120;
/******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ }
/******/ script.src = jsonpScriptSrc(chunkId);
/******/
/******/ // create error before stack unwound to get useful stacktrace later
/******/ var error = new Error();
/******/ onScriptComplete = function (event) {
/******/ // avoid mem leaks in IE.
/******/ script.onerror = script.onload = null;
/******/ clearTimeout(timeout);
/******/ var chunk = installedChunks[chunkId];
/******/ if(chunk !== 0) {
/******/ if(chunk) {
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
/******/ var realSrc = event && event.target && event.target.src;
/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
/******/ error.type = errorType;
/******/ error.request = realSrc;
/******/ chunk[1](error);
/******/ }
/******/ installedChunks[chunkId] = undefined;
/******/ }
/******/ };
/******/ var timeout = setTimeout(function(){
/******/ onScriptComplete({ type: 'timeout', target: script });
/******/ }, 120000);
/******/ script.onerror = script.onload = onScriptComplete;
/******/ document.head.appendChild(script);
/******/ }
/******/ }
/******/ return Promise.all(promises);
/******/ };
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // on error function for async loading
/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; };
/******/
/******/ var jsonpArray = this["webpackJsonpdrip"] = this["webpackJsonpdrip"] || [];
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ jsonpArray.push = webpackJsonpCallback;
/******/ jsonpArray = jsonpArray.slice();
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
/******/ var parentJsonpFunction = oldJsonpFunction;
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 20);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var _create_basic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4);
/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
/* harmony import */ var _loading__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9);
/* harmony import */ var _cell__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10);
/* harmony import */ var _cell_group__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8);
/**
* Create a component with common options
*/
/* harmony default export */ __webpack_exports__["a"] = (function (sfc) {
sfc.components = Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(sfc.components || {}, {
Icon: _icon__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"],
Loading: _loading__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"],
Cell: _cell__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"],
CellGroup: _cell_group__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"]
});
return Object(_create_basic__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(sfc);
});
;
/***/ }),
/* 1 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE__1__;
/***/ }),
/* 2 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
/***/ }),
/* 3 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return get; });
/* unused harmony export range */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isObj; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return isDef; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isServer; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return camelize; });
/* unused harmony export isAndroid */
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
var isServer = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer;
function isDef(value) {
return value !== undefined && value !== null;
}
function isObj(x) {
var type = typeof x;
return x !== null && (type === 'object' || type === 'function');
}
function get(object, path) {
var keys = path.split('.');
var result = object;
keys.forEach(function (key) {
result = isDef(result[key]) ? result[key] : '';
});
return result;
}
var camelizeRE = /-(\w)/g;
function camelize(str) {
return str.replace(camelizeRE, function (_, c) {
return c.toUpperCase();
});
}
function isAndroid() {
/* istanbul ignore next */
return isServer ? false : /android/.test(navigator.userAgent.toLowerCase());
}
function range(num, min, max) {
return Math.min(Math.max(num, min), max);
}
;
/***/ }),
/* 4 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: ./es/locale/index.js + 2 modules
var locale = __webpack_require__(11);
// CONCATENATED MODULE: ./es/mixins/bem.js
/**
* bem helper
* b() // 'button'
* b('text') // 'button__text'
* b({ disabled }) // 'button button--disabled'
* b('text', { disabled }) // 'button__text button__text--disabled'
* b(['disabled', 'primary']) // 'button button--disabled button--primary'
*/
var ELEMENT = '__';
var MODS = '--';
var join = function join(name, el, symbol) {
return el ? name + symbol + el : name;
};
var bem_prefix = function prefix(name, mods) {
if (typeof mods === 'string') {
return join(name, mods, MODS);
}
if (Array.isArray(mods)) {
return mods.map(function (item) {
return prefix(name, item);
});
}
var ret = {};
Object.keys(mods).forEach(function (key) {
ret[name + MODS + key] = mods[key];
});
return ret;
};
/* harmony default export */ var bem = ({
methods: {
b: function b(el, mods) {
var name = this.$options.name;
if (el && typeof el !== 'string') {
mods = el;
el = '';
}
el = join(name, el, ELEMENT);
return mods ? [el, bem_prefix(el, mods)] : el;
}
}
});
// EXTERNAL MODULE: ./es/utils/index.js
var utils = __webpack_require__(3);
// CONCATENATED MODULE: ./es/mixins/i18n.js
// component mixin
/* harmony default export */ var i18n = ({
computed: {
$t: function $t() {
var name = this.$options.name;
var prefix = name ? Object(utils["a" /* camelize */])(name) + '.' : '';
if (!this.$vantMessages) {
if (false) {}
return function () {
return '';
};
}
var messages = this.$vantMessages[this.$vantLang];
return function (path) {
var message = Object(utils["b" /* get */])(messages, prefix + path) || Object(utils["b" /* get */])(messages, path);
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
return typeof message === 'function' ? message.apply(null, args) : message;
};
}
}
});
// CONCATENATED MODULE: ./es/utils/create-basic.js
/**
* Create a basic component with common options
*/
var install = function install(Vue) {
Vue.component(this.name, this);
};
/* harmony default export */ var create_basic = __webpack_exports__["a"] = (function (sfc) {
sfc.name = 'drip-' + sfc.name;
sfc.install = sfc.install || install;
sfc.mixins = sfc.mixins || [];
sfc.mixins.push(i18n, bem);
sfc.methods = sfc.methods || {};
sfc.methods.isDef = utils["c" /* isDef */];
return sfc;
});
;
/***/ }),
/* 5 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _info__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);
/* harmony import */ var _utils_create_basic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4);
var _components;
/* harmony default export */ __webpack_exports__["a"] = (Object(_utils_create_basic__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])({
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('i', _vm._g({
"class": [_vm.classPrefix, _vm.classPrefix + "-" + _vm.name],
style: _vm.style
}, _vm.$listeners), [_vm._t("default"), _c('drip-info', {
attrs: {
"info": _vm.info
}
})], 2);
},
name: 'icon',
components: (_components = {}, _components[_info__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].name] = _info__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"], _components),
props: {
name: String,
info: [String, Number],
color: String,
size: String,
classPrefix: {
type: String,
"default": 'van-icon'
}
},
computed: {
style: function style() {
return {
color: this.color,
fontSize: this.size
};
}
}
}));
/***/ }),
/* 6 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _utils_create_basic__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
/* harmony default export */ __webpack_exports__["a"] = (Object(_utils_create_basic__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _vm.isDef(_vm.info) ? _c('div', {
"class": _vm.b()
}, [_vm._v(_vm._s(_vm.info))]) : _vm._e();
},
name: 'info',
props: {
info: [String, Number]
}
}));
/***/ }),
/* 7 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _utils_create__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
/* harmony default export */ __webpack_exports__["a"] = (Object(_utils_create__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c(_vm.tag, {
tag: "component",
"class": _vm.b([_vm.type, _vm.size, {
block: _vm.block,
plain: _vm.plain,
round: _vm.round,
square: _vm.square,
loading: _vm.loading,
disabled: _vm.disabled,
unclickable: _vm.disabled || _vm.loading,
'bottom-action': _vm.bottomAction
}]),
attrs: {
"type": _vm.nativeType,
"disabled": _vm.disabled
},
on: {
"click": _vm.onClick
}
}, [_vm.loading ? _c('loading', {
attrs: {
"type": "line",
"show": true
}
}) : _c('span', {
"class": _vm.b('text')
}, [_vm._t("default", [_vm._v(_vm._s(_vm.text))])], 2)], 1);
},
name: 'button',
props: {
text: String,
block: Boolean,
plain: Boolean,
round: Boolean,
square: Boolean,
loading: Boolean,
disabled: Boolean,
nativeType: String,
bottomAction: Boolean,
tag: {
type: String,
"default": 'button'
},
type: {
type: String,
"default": 'default'
},
size: {
type: String,
"default": 'normal'
}
},
methods: {
onClick: function onClick(event) {
if (!this.loading && !this.disabled) {
this.$emit('click', event);
}
}
}
}));
/***/ }),
/* 8 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _utils_create_basic__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
/* harmony default export */ __webpack_exports__["a"] = (Object(_utils_create_basic__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('div', {
"class": [_vm.b(), {
'van-hairline--top-bottom': _vm.border
}]
}, [_vm._t("default")], 2);
},
name: 'cell-group',
props: {
border: {
type: Boolean,
"default": true
}
}
}));
/***/ }),
/* 9 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(2);
// EXTERNAL MODULE: external {"root":"Vue","commonjs":"vue","commonjs2":"vue","amd":"vue"}
var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(1);
var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default = /*#__PURE__*/__webpack_require__.n(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_);
// EXTERNAL MODULE: ./es/utils/create-basic.js + 2 modules
var create_basic = __webpack_require__(4);
// CONCATENATED MODULE: ./es/loading/Loading.js
/* harmony default export */ var loading_Loading = (Object(create_basic["a" /* default */])({
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('transition', {
attrs: {
"name": "loading"
}
}, [_vm.show ? _c('div', {
staticClass: "loading"
}, [_vm.type === 'line' ? _c('div', {
staticClass: "spinner"
}, [_c('div', {
staticClass: "rect1"
}), _c('div', {
staticClass: "rect2"
}), _c('div', {
staticClass: "rect3"
}), _c('div', {
staticClass: "rect4"
}), _c('div', {
staticClass: "rect5"
})]) : _c('div', [_c('div', {
staticClass: "loading-mark"
}), _c('div', {
staticClass: "loading-toast",
style: {
position: _vm.position
}
}, [_c('i', {
staticClass: "loading-loading"
}), _vm.text ? _c('p', {
staticClass: "loading-text"
}, [_vm._v("\n " + _vm._s(_vm.text || 'loading')), _vm._t("default")], 2) : _vm._e()])])]) : _vm._e()]);
},
name: 'loading',
props: {
show: Boolean,
text: {
type: String,
"default": '请求中..'
},
type: {
type: String,
"default": 'circle'
},
position: String,
transition: {
type: String
}
},
watch: {
show: function show(val) {
this.$emit('update:show', val);
}
}
}));
// EXTERNAL MODULE: ./es/utils/index.js
var utils = __webpack_require__(3);
// CONCATENATED MODULE: ./es/loading/index.js
var instance;
var loading_initInstance = function initInstance() {
instance = new (external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(loading_Loading))({
el: document.createElement('div')
});
document.body.appendChild(instance.$el);
};
var es_loading_Loading = function Loading(options) {
/* istanbul ignore if */
if (utils["e" /* isServer */]) {
return;
}
if (!instance) {
loading_initInstance();
}
return esm_extends["a" /* default */].apply(void 0, [instance].concat(options));
};
es_loading_Loading.defaultOptions = {
show: '',
text: '请求中',
type: 'circle'
};
es_loading_Loading.show = function (options) {
return es_loading_Loading(Object(esm_extends["a" /* default */])({}, es_loading_Loading.currentOptions, {
show: true
}, options));
};
es_loading_Loading.hide = function () {
if (instance) {
instance.show = false;
}
};
es_loading_Loading.setDefaultOptions = function (options) {
Object(esm_extends["a" /* default */])(es_loading_Loading.currentOptions, options);
};
es_loading_Loading.resetDefaultOptions = function () {
es_loading_Loading.currentOptions = Object(esm_extends["a" /* default */])({}, es_loading_Loading.defaultOptions);
};
es_loading_Loading.install = function () {
external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.use(loading_Loading);
};
external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.loading = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.prototype.$loading = es_loading_Loading;
es_loading_Loading.resetDefaultOptions();
/* harmony default export */ var loading = __webpack_exports__["a"] = (es_loading_Loading);
/***/ }),
/* 10 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: ./es/icon/index.js
var icon = __webpack_require__(5);
// CONCATENATED MODULE: ./es/mixins/router-link.js
/**
* add Vue-Router support
*/
/* harmony default export */ var router_link = ({
props: {
url: String,
replace: Boolean,
to: [String, Object]
},
methods: {
routerLink: function routerLink() {
var to = this.to,
url = this.url,
$router = this.$router,
replace = this.replace;
if (to && $router) {
$router[replace ? 'replace' : 'push'](to);
} else if (url) {
replace ? location.replace(url) : location.href = url;
}
}
}
});
// EXTERNAL MODULE: ./es/utils/create-basic.js + 2 modules
var create_basic = __webpack_require__(4);
// CONCATENATED MODULE: ./es/cell/index.js
/* harmony default export */ var cell = __webpack_exports__["a"] = (Object(create_basic["a" /* default */])({
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('div', {
"class": [_vm.b({
center: _vm.center,
required: _vm.required,
borderless: !_vm.border,
clickable: _vm.isLink || _vm.clickable
})],
on: {
"click": _vm.onClick
}
}, [_vm._t("icon", [_vm.icon ? _c('icon', {
"class": _vm.b('left-icon'),
attrs: {
"name": _vm.icon
}
}) : _vm._e()]), _vm.isDef(_vm.title) || _vm.$slots.title ? _c('div', {
"class": _vm.b('title')
}, [_vm._t("title", [_c('span', {
domProps: {
"textContent": _vm._s(_vm.title)
}
}), _vm.label ? _c('div', {
"class": _vm.b('label'),
domProps: {
"textContent": _vm._s(_vm.label)
}
}) : _vm._e()])], 2) : _vm._e(), _vm.isDef(_vm.value) || _vm.$slots["default"] ? _c('div', {
"class": _vm.b('value', {
alone: !_vm.$slots.title && !_vm.title
})
}, [_vm._t("default", [_c('span', {
domProps: {
"textContent": _vm._s(_vm.value)
}
})])], 2) : _vm._e(), _vm._t("right-icon", [_vm.isLink ? _c('icon', {
"class": _vm.b('right-icon', _vm.arrowDirection),
attrs: {
"name": "arrow"
}
}) : _vm._e()]), _vm._t("extra")], 2);
},
name: 'cell',
components: {
Icon: icon["a" /* default */]
},
mixins: [router_link],
props: {
icon: String,
label: String,
center: Boolean,
isLink: Boolean,
required: Boolean,
clickable: Boolean,
title: [String, Number],
value: [String, Number],
arrowDirection: String,
border: {
type: Boolean,
"default": true
}
},
methods: {
onClick: function onClick() {
this.$emit('click');
this.routerLink();
}
}
}));
/***/ }),
/* 11 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: external {"root":"Vue","commonjs":"vue","commonjs2":"vue","amd":"vue"}
var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(1);
var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default = /*#__PURE__*/__webpack_require__.n(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_);
// EXTERNAL MODULE: ./es/utils/index.js
var utils = __webpack_require__(3);
// CONCATENATED MODULE: ./es/utils/deep-assign.js
var deep_assign_hasOwnProperty = Object.prototype.hasOwnProperty;
function assignKey(to, from, key) {
var val = from[key];
if (!Object(utils["c" /* isDef */])(val) || deep_assign_hasOwnProperty.call(to, key) && !Object(utils["c" /* isDef */])(to[key])) {
return;
}
if (!deep_assign_hasOwnProperty.call(to, key) || !Object(utils["d" /* isObj */])(val)) {
to[key] = val;
} else {
to[key] = deep_assign_assign(Object(to[key]), from[key]);
}
}
function deep_assign_assign(to, from) {
for (var key in from) {
if (deep_assign_hasOwnProperty.call(from, key)) {
assignKey(to, from, key);
}
}
return to;
}
// CONCATENATED MODULE: ./es/locale/lang/zh-CN.js
/* harmony default export */ var zh_CN = ({
name: '姓名',
tel: '电话',
save: '保存',
confirm: '确认',
cancel: '取消',
"delete": '删除',
complete: '完成',
loadingTip: '加载中...',
telEmpty: '请填写电话',
nameEmpty: '请填写姓名',
confirmDelete: '确定要删除么',
telInvalid: '请填写正确的电话',
vanContactCard: {
addText: '添加联系人'
},
vanContactList: {
addText: '新建联系人'
},
vanPagination: {
prev: '上一页',
next: '下一页'
},
vanPullRefresh: {
pulling: '下拉即可刷新...',
loosing: '释放即可刷新...'
},
vanSubmitBar: {
label: '合计:'
},
vanCouponCell: {
title: '优惠券',
tips: '使用优惠',
count: function count(_count) {
return "\u60A8\u6709 " + _count + " \u4E2A\u53EF\u7528\u4F18\u60E0";
}
},
vanCouponList: {
empty: '暂无优惠券',
exchange: '兑换',
close: '不使用优惠',
enable: '可使用优惠券',
disabled: '不可使用优惠券',
placeholder: '请输入优惠码'
},
vanCouponItem: {
valid: '有效期',
unlimited: '无使用门槛',
discount: function discount(_discount) {
return _discount + "\u6298";
},
condition: function condition(_condition) {
return "\u6EE1" + _condition + "\u5143\u53EF\u7528";
}
},
vanAddressEdit: {
area: '地区',
postal: '邮政编码',
areaEmpty: '请选择地区',
addressEmpty: '请填写详细地址',
postalEmpty: '邮政编码格式不正确',
defaultAddress: '设为默认收货地址',
telPlaceholder: '收货人手机号',
namePlaceholder: '收货人姓名',
areaPlaceholder: '选择省 / 市 / 区'
},
vanAddressEditDetail: {
label: '详细地址',
placeholder: '街道门牌、楼层房间号等信息'
},
vanAddressList: {
add: '新增地址'
}
});
// CONCATENATED MODULE: ./es/locale/index.js
var proto = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.prototype;
var defaultLang = 'zh-CN';
var locale = {
install: function install() {
var _Vue$util$defineReact;
if (proto.$vantLang) {
return;
}
external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.util.defineReactive(proto, '$vantLang', defaultLang);
external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.util.defineReactive(proto, '$vantMessages', (_Vue$util$defineReact = {}, _Vue$util$defineReact[defaultLang] = zh_CN, _Vue$util$defineReact));
},
use: function use(lang, messages) {
var _this$add;
proto.$vantLang = lang;
this.add((_this$add = {}, _this$add[lang] = messages, _this$add));
},
add: function add(messages) {
if (messages === void 0) {
messages = {};
}
deep_assign_assign(proto.$vantMessages, messages);
}
};
locale.install();
/* harmony default export */ var es_locale = __webpack_exports__["a"] = (locale);
/***/ }),
/* 12 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return raf; });
/* unused harmony export cancel */
/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
/**
* requestAnimationFrame polyfill
*/
var prev = Date.now();
/* istanbul ignore next */
function fallback(fn) {
var curr = Date.now();
var ms = Math.max(0, 16 - (curr - prev));
var id = setTimeout(fn, ms);
prev = curr + ms;
return id;
}
/* istanbul ignore next */
var root = _index__WEBPACK_IMPORTED_MODULE_0__[/* isServer */ "e"] ? global : window;
/* istanbul ignore next */
var iRaf = root.requestAnimationFrame || root.webkitRequestAnimationFrame || fallback;
/* istanbul ignore next */
var iCancel = root.cancelAnimationFrame || root.webkitCancelAnimationFrame || root.clearTimeout;
function raf(fn) {
return iRaf.call(root, fn);
}
function cancel(id) {
iCancel.call(root, id);
}
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(18)))
/***/ }),
/* 13 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var _utils_create__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7);
/* harmony default export */ __webpack_exports__["default"] = (Object(_utils_create__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])({
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('div', {
staticClass: "radio"
}, [_c('ul', {
staticClass: "radio-ul"
}, _vm._l(_vm.list, function (item, index) {
return _c('li', {
key: index,
staticClass: "radio-ul-li"
}, [_c('drip-button', {
style: {
width: _vm.width
},
attrs: {
"type": !item.disabled && _vm.values.includes(item.value) ? 'orange' : 'default',
"disabled": item.disabled
},
domProps: {
"innerHTML": _vm._s(item.name)
},
on: {
"click": function click($event) {
_vm.checkButton(item);
}
}
})], 1);
}))]);
},
name: 'select-button',
props: {
// 要求数据格式为[{name: '', value: ''}]
list: {
type: Array,
required: true
},
// 要求是list某个元素的value值
values: {
type: Array,
"default": function _default() {
return [];
},
required: true
},
type: {
type: String,
"default": 'radio'
},
width: {
type: String
}
},
methods: {
checkButton: function checkButton(item) {
var index = this.values.indexOf(item.value);
if (index == -1) {
if (this.type === 'radio') {
this.values.length = [];
}
this.values.push(item.value);
} else {
if (this.type !== 'radio' && this.values.length !== 1) {
this.values.splice(index, 1);
}
}
this.$emit('getValue', Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(item, {
isSelect: index === -1
}));
}
},
components: {
dripButton: _button__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"]
}
}));
/***/ }),
/* 14 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var _utils_create_basic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4);
var HtmlFontSize = document.documentElement.style.fontSize || 37.5; // 获取当前HTML的字体大小
var getNumber = parseFloat(HtmlFontSize); // 获取浮点数
var cardinalNumber = 750 / (getNumber * 10); // 算出图纸和真机之间的系数
var defaultCoefficient = +parseFloat(20 / cardinalNumber).toFixed(2); // 左右边距
var dialogMargin = +parseFloat(26 / cardinalNumber).toFixed(2) * 1; // 上下边距
var documentW = document.documentElement.clientWidth; // 获取浏览器的宽
var documentH = document.documentElement.clientHeight; // 获取浏览器的高
/* harmony default export */ __webpack_exports__["default"] = (Object(_utils_create_basic__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])({
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('div', {
staticClass: "risk-desc"
}, [_c('div', {
staticClass: "risk-desc-wrap"
}, [_c('span', {
ref: "iconMark",
staticClass: "risk-desc-iconSize",
on: {
"click": _vm.tooltipShow
}
}, [_vm._t("icon", [_c('img', {
attrs: {
"src": "//store.sdbao.com/product/detail/riskDescMark.png"
}
})])], 2), _c('div', {
directives: [{
name: "show",
rawName: "v-show",
value: _vm.visible,
expression: "visible"
}],
ref: "icon",
staticClass: "risk-desc-icon",
"class": !_vm.isAuto ? "risk-desc-icon-" + _vm.type : '',
style: Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, _vm.iconStyle, {
borderColor: "transparent transparent " + _vm.backgroundColor
})
}), _c('div', {
directives: [{
name: "show",
rawName: "v-show",
value: _vm.visible,
expression: "visible"
}],
ref: "tooltip",
staticClass: "risk-desc-container",
"class": !_vm.isAuto ? "risk-desc-container-" + _vm.type : '',
style: Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, _vm.dialogDescStyle, {
backgroundColor: _vm.backgroundColor
})
}, [_vm._t("container")], 2)])]);
},
name: 'tooltip',
props: {
visible: {
type: Boolean,
"default": false
},
type: {
type: String,
"default": 'auto'
},
backgroundColor: {
type: String,
"default": '#fff'
}
},
data: function data() {
return {
isdiff: false,
dialogDescStyle: {},
iconStyle: {},
tooltipLocation: {},
// 弹框数据
tooltipIcon: {}
};
},
computed: {
isAuto: function isAuto() {
var type = ['top', 'right', 'bottom', 'left'];
return !type.includes(this.type);
}
},
watch: {
// 当弹框隐藏的时候初始化方便下次计算
visible: function visible(_visible) {
if (!_visible) {
this.initDom();
}
}
},
mounted: function mounted() {
var _this = this;
this.listenerDescMark = this.throttle(function (e) {
// 如果是false 就不计算了
if (!_this.visible) return; // 判断当前点击
var isParentClassName = _this.getParentName(e.target, 'risk-desc');
if (!isParentClassName) {
_this.$emit('update:visible', false);
}
}, 100, {}, this);
this.tooltipShow = this.throttle(this.tooltipShow, 100, {}, this);
document.addEventListener('click', this.listenerDescMark);
},
methods: {
init: function init() {
if (!this.isAuto) return;
var dom = this.$refs.tooltip; // 获取弹框dom
var iconDom = this.$refs.icon; // 获取小三角的dom
this.tooltipLocation = dom.getBoundingClientRect();
this.tooltipIcon = iconDom.getBoundingClientRect(); // 获取小三角距离左上角个个参数
this.iconMarkWidth = this.$refs.iconMark.offsetWidth; // 获取问号的宽
this.iconMarkHeight = this.$refs.iconMark.offsetHeight; // 获取问号的高
this.bottomFlag = documentH - dialogMargin < this.tooltipLocation.top + this.tooltipLocation.height * 2; // 底部判断如果弹框超出当前底部视口
this.riskDescX = -defaultCoefficient; // 弹框初始化 translateX的距离
this.riskDescY = this.tooltipLocation.height + dialogMargin; // 弹框初始化 translateY的距离
this.iconX = this.iconMarkWidth / 2 - this.tooltipIcon.width / 2; // ?icon的宽度一半 减去 方框一半的宽度
this.iconY = dialogMargin; // 方框距离问号的距离
this.rotate = 'rotate(0deg)';
this.auto();
},
autoLeftRight: function autoLeftRight() {
if (this.tooltipLocation.right + defaultCoefficient > documentW) {
// 弹框右边超出
this.riskDescX = documentW - this.tooltipLocation.right - defaultCoefficient; // 浏览器宽度 减去 弹框右边距离浏览器左上角的距离 就是超出的距离 再减去 右边距离 就是弹框偏移量
} else if (this.tooltipLocation.left <= defaultCoefficient) {
this.riskDescX = -this.tooltipLocation.left + defaultCoefficient; // 左边超出的距离 加上左边距 就是弹框偏移量
}
},
auto: function auto() {
this.autoLeftRight();
if (this.bottomFlag) {
// 是否超出当前窗口底部
this.riskDescY = -this.iconMarkHeight - dialogMargin; // 问号高度 减去当前上边距 就是弹框偏移量
this.iconY = -this.iconMarkHeight - dialogMargin + this.tooltipIcon.height;
this.rotate = 'rotate(180deg)';
}
this.setPositon();
},
setPositon: function setPositon() {
this.dialogDescStyle = {
transform: "translate3D(" + this.riskDescX + "px, " + this.riskDescY + "px, 0)"
};
this.iconStyle = {
transform: "translate3D(" + this.iconX + "px, " + this.iconY + "px, 0) " + this.rotate
};
},
/**
* underscore 节流函数,返回函数连续调用时,func 执行频率限定为 次 / wait
*
* @param {function} func 回调函数
* @param {number} wait 表示时间窗口的间隔
* @param {object} options 如果想忽略开始函数的的调用,传入{leading: false}。
* 如果想忽略结尾函数的调用,传入{trailing: false}
* 两者不能共存,否则函数不能执行
* @return {function} 返回客户调用函数
*/
throttle: function throttle(func, wait, options, ctx) {
var context, args, result;
var timeout = null; // 之前的时间戳
var previous = 0; // 如果 options 没传则设为空对象
if (!options) options = {}; // 定时器回调函数
var later = function later() {
// 如果设置了 leading,就将 previous 设为 0
// 用于下面函数的第一个 if 判断
previous = options.leading === false ? 0 : +new Date(); // 置空一是为了防止内存泄漏,二是为了下面的定时器判断
timeout = null;
result = func.apply(context, args);
if (!timeout) context = args = null;
};
return function () {
// 获得当前时间戳
var now = +new Date(); // 首次进入前者肯定为 true
// 如果需要第一次不执行函数
// 就将上次时间戳设为当前的
// 这样在接下来计算 remaining 的值时会大于0
if (!previous && options.leading === false) previous = now; // 计算剩余时间
var remaining = wait - (now - previous);
context = ctx;
args = arguments; // 如果当前调用已经大于上次调用时间 + wait
// 或者用户手动调了时间
// 如果设置了 trailing,只会进入这个条件
// 如果没有设置 leading,那么第一次会进入这个条件
// 还有一点,你可能会觉得开启了定时器那么应该不会进入这个 if 条件了
// 其实还是会进入的,因为定时器的延时
// 并不是准确的时间,很可能你设置了2秒
// 但是他需要2.2秒才触发,这时候就会进入这个条件
if (remaining <= 0 || remaining > wait) {
// 如果存在定时器就清理掉否则会调用二次回调
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
previous = now;
result = func.apply(context, args);
if (!timeout) context = args = null;
} else if (!timeout && options.trailing !== false) {
// 判断是否设置了定时器和 trailing
// 没有的话就开启一个定时器
// 并且不能不能同时设置 leading 和 trailing
timeout = setTimeout(later, remaining);
}
return result;
};
},
initDom: function initDom() {
this.dialogDescStyle = {
transform: ''
};
this.iconStyle = {
transform: ''
};
},
// 弹框显示
tooltipShow: function tooltipShow() {
var _this2 = this;
this.$emit('change');
this.$nextTick(function () {
if (!_this2.visible) return;
_this2.init();
});
},
/**
* 判断当前元素祖父元素是否有某个class
* @param {obj} 子元素
* @param {name} 祖父元素className
*/
getParentName: function getParentName(obj, name) {
var parentNodes = obj;
var flag = false;
while (parentNodes) {
if (parentNodes.className && parentNodes.className.split(' ').includes(name)) {
flag = true;
parentNodes = null;
} else {
parentNodes = parentNodes.parentNode;
}
}
return flag;
}
},
destroyed: function destroyed() {
document.removeEventListener('click', this.listenerDescMark);
}
}));
/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {
/*!
* Vue-Lazyload.js v1.2.3
* (c) 2018 Awe <hilongjw@gmail.com>
* Released under the MIT License.
*/
!function(e,t){ true?module.exports=t():undefined}(this,function(){"use strict";function e(e){return e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function t(e){e=e||{};var t=arguments.length,i=0;if(1===t)return e;for(;++i<t;){var o=arguments[i];g(e)&&(e=o),r(o)&&n(e,o)}return e}function n(e,n){m(e,n);for(var o in n)if("__proto__"!==o&&i(n,o)){var a=n[o];r(a)?("undefined"===L(e[o])&&"function"===L(a)&&(e[o]=a),e[o]=t(e[o]||{},a)):e[o]=a}return e}function r(e){return"object"===L(e)||"function"===L(e)}function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function o(e,t){if(e.length){var n=e.indexOf(t);return n>-1?e.splice(n,1):void 0}}function a(e,t){for(var n=!1,r=0,i=e.length;r<i;r++)if(t(e[r])){n=!0;break}return n}function s(e,t){if("IMG"===e.tagName&&e.getAttribute("data-srcset")){var n=e.getAttribute("data-srcset"),r=[],i=e.parentNode,o=i.offsetWidth*t,a=void 0,s=void 0,u=void 0;n=n.trim().split(","),n.map(function(e){e=e.trim(),a=e.lastIndexOf(" "),-1===a?(s=e,u=999998):(s=e.substr(0,a),u=parseInt(e.substr(a+1,e.length-a-2),10)),r.push([u,s])}),r.sort(function(e,t){if(e[0]<t[0])return-1;if(e[0]>t[0])return 1;if(e[0]===t[0]){if(-1!==t[1].indexOf(".webp",t[1].length-5))return 1;if(-1!==e[1].indexOf(".webp",e[1].length-5))return-1}return 0});for(var l="",d=void 0,c=r.length,h=0;h<c;h++)if(d=r[h],d[0]>=o){l=d[1];break}return l}}function u(e,t){for(var n=void 0,r=0,i=e.length;r<i;r++)if(t(e[r])){n=e[r];break}return n}function l(){if(!k)return!1;var e=!0,t=document;try{var n=t.createElement("object");n.type="image/webp",n.style.visibility="hidden",n.innerHTML="!",t.body.appendChild(n),e=!n.offsetWidth,t.body.removeChild(n)}catch(t){e=!1}return e}function d(e,t){var n=null,r=0;return function(){if(!n){var i=Date.now()-r,o=this,a=arguments,s=function(){r=Date.now(),n=!1,e.apply(o,a)};i>=t?s():n=setTimeout(s,t)}}}function c(e){return null!==e&&"object"===(void 0===e?"undefined":p(e))}function h(e){if(!(e instanceof Object))return[];if(Object.keys)return Object.keys(e);var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}function f(e){for(var t=e.length,n=[],r=0;r<t;r++)n.push(e[r]);return n}function v(){}var p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},b=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},y=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),g=function(e){return null==e||"function"!=typeof e&&"object"!==(void 0===e?"undefined":p(e))},m=function(e,t){if(null===e||void 0===e)throw new TypeError("expected first argument to be an object.");if(void 0===t||"undefined"==typeof Symbol)return e;if("function"!=typeof Object.getOwnPropertySymbols)return e;for(var n=Object.prototype.propertyIsEnumerable,r=Object(e),i=arguments.length,o=0;++o<i;)for(var a=Object(arguments[o]),s=Object.getOwnPropertySymbols(a),u=0;u<s.length;u++){var l=s[u];n.call(a,l)&&(r[l]=a[l])}return r},w=Object.prototype.toString,L=function(t){var n=void 0===t?"undefined":p(t);return"undefined"===n?"undefined":null===t?"null":!0===t||!1===t||t instanceof Boolean?"boolean":"string"===n||t instanceof String?"string":"number"===n||t instanceof Number?"number":"function"===n||t instanceof Function?void 0!==t.constructor.name&&"Generator"===t.constructor.name.slice(0,9)?"generatorfunction":"function":void 0!==Array.isArray&&Array.isArray(t)?"array":t instanceof RegExp?"regexp":t instanceof Date?"date":(n=w.call(t),"[object RegExp]"===n?"regexp":"[object Date]"===n?"date":"[object Arguments]"===n?"arguments":"[object Error]"===n?"error":"[object Promise]"===n?"promise":e(t)?"buffer":"[object Set]"===n?"set":"[object WeakSet]"===n?"weakset":"[object Map]"===n?"map":"[object WeakMap]"===n?"weakmap":"[object Symbol]"===n?"symbol":"[object Map Iterator]"===n?"mapiterator":"[object Set Iterator]"===n?"setiterator":"[object String Iterator]"===n?"stringiterator":"[object Array Iterator]"===n?"arrayiterator":"[object Int8Array]"===n?"int8array":"[object Uint8Array]"===n?"uint8array":"[object Uint8ClampedArray]"===n?"uint8clampedarray":"[object Int16Array]"===n?"int16array":"[object Uint16Array]"===n?"uint16array":"[object Int32Array]"===n?"int32array":"[object Uint32Array]"===n?"uint32array":"[object Float32Array]"===n?"float32array":"[object Float64Array]"===n?"float64array":"object")},_=t,k="undefined"!=typeof window,E=k&&"IntersectionObserver"in window,A={event:"event",observer:"observer"},j=function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}if(k)return"function"==typeof window.CustomEvent?window.CustomEvent:(e.prototype=window.Event.prototype,e)}(),z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return k?window.devicePixelRatio||e:e},T=function(){if(k){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t)}catch(e){}return e}}(),O={on:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];T?e.addEventListener(t,n,{capture:r,passive:!0}):e.addEventListener(t,n,r)},off:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.removeEventListener(t,n,r)}},I=function(e,t,n){var r=new Image;r.src=e.src,r.onload=function(){t({naturalHeight:r.naturalHeight,naturalWidth:r.naturalWidth,src:r.src})},r.onerror=function(e){n(e)}},x=function(e,t){return"undefined"!=typeof getComputedStyle?getComputedStyle(e,null).getPropertyValue(t):e.style[t]},S=function(e){return x(e,"overflow")+x(e,"overflow-y")+x(e,"overflow-x")},$=function(e){if(k){if(!(e instanceof HTMLElement))return window;for(var t=e;t&&t!==document.body&&t!==document.documentElement&&t.parentNode;){if(/(scroll|auto)/.test(S(t)))return t;t=t.parentNode}return window}},H={},Q=function(){function e(t){var n=t.el,r=t.src,i=t.error,o=t.loading,a=t.bindType,s=t.$parent,u=t.options,l=t.elRenderer;b(this,e),this.el=n,this.src=r,this.error=i,this.loading=o,this.bindType=a,this.attempt=0,this.naturalHeight=0,this.naturalWidth=0,this.options=u,this.rect=null,this.$parent=s,this.elRenderer=l,this.performanceData={init:Date.now(),loadStart:0,loadEnd:0},this.filter(),this.initState(),this.render("loading",!1)}return y(e,[{key:"initState",value:function(){this.el.dataset.src=this.src,this.state={error:!1,loaded:!1,rendered:!1}}},{key:"record",value:function(e){this.performanceData[e]=Date.now()}},{key:"update",value:function(e){var t=e.src,n=e.loading,r=e.error,i=this.src;this.src=t,this.loading=n,this.error=r,this.filter(),i!==this.src&&(this.attempt=0,this.initState())}},{key:"getRect",value:function(){this.rect=this.el.getBound