UNPKG

drip-ui

Version:

Lightweight Mobile UI Components built on Vue

1,479 lines (1,279 loc) 193 kB
(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