app模板、应用模板、组件模板、widget模板
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.

5216 lines
179 KiB

4 years ago
  1. module.exports =
  2. /******/ (function(modules) { // webpackBootstrap
  3. /******/ // The module cache
  4. /******/ var installedModules = {};
  5. /******/
  6. /******/ // The require function
  7. /******/ function __webpack_require__(moduleId) {
  8. /******/
  9. /******/ // Check if module is in cache
  10. /******/ if(installedModules[moduleId]) {
  11. /******/ return installedModules[moduleId].exports;
  12. /******/ }
  13. /******/ // Create a new module (and put it into the cache)
  14. /******/ var module = installedModules[moduleId] = {
  15. /******/ i: moduleId,
  16. /******/ l: false,
  17. /******/ exports: {}
  18. /******/ };
  19. /******/
  20. /******/ // Execute the module function
  21. /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  22. /******/
  23. /******/ // Flag the module as loaded
  24. /******/ module.l = true;
  25. /******/
  26. /******/ // Return the exports of the module
  27. /******/ return module.exports;
  28. /******/ }
  29. /******/
  30. /******/
  31. /******/ // expose the modules object (__webpack_modules__)
  32. /******/ __webpack_require__.m = modules;
  33. /******/
  34. /******/ // expose the module cache
  35. /******/ __webpack_require__.c = installedModules;
  36. /******/
  37. /******/ // define getter function for harmony exports
  38. /******/ __webpack_require__.d = function(exports, name, getter) {
  39. /******/ if(!__webpack_require__.o(exports, name)) {
  40. /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
  41. /******/ }
  42. /******/ };
  43. /******/
  44. /******/ // define __esModule on exports
  45. /******/ __webpack_require__.r = function(exports) {
  46. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  47. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  48. /******/ }
  49. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  50. /******/ };
  51. /******/
  52. /******/ // create a fake namespace object
  53. /******/ // mode & 1: value is a module id, require it
  54. /******/ // mode & 2: merge all properties of value into the ns
  55. /******/ // mode & 4: return value when already ns object
  56. /******/ // mode & 8|1: behave like require
  57. /******/ __webpack_require__.t = function(value, mode) {
  58. /******/ if(mode & 1) value = __webpack_require__(value);
  59. /******/ if(mode & 8) return value;
  60. /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  61. /******/ var ns = Object.create(null);
  62. /******/ __webpack_require__.r(ns);
  63. /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  64. /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  65. /******/ return ns;
  66. /******/ };
  67. /******/
  68. /******/ // getDefaultExport function for compatibility with non-harmony modules
  69. /******/ __webpack_require__.n = function(module) {
  70. /******/ var getter = module && module.__esModule ?
  71. /******/ function getDefault() { return module['default']; } :
  72. /******/ function getModuleExports() { return module; };
  73. /******/ __webpack_require__.d(getter, 'a', getter);
  74. /******/ return getter;
  75. /******/ };
  76. /******/
  77. /******/ // Object.prototype.hasOwnProperty.call
  78. /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  79. /******/
  80. /******/ // __webpack_public_path__
  81. /******/ __webpack_require__.p = "/dist/";
  82. /******/
  83. /******/
  84. /******/ // Load entry module and return exports
  85. /******/ return __webpack_require__(__webpack_require__.s = 411);
  86. /******/ })
  87. /************************************************************************/
  88. /******/ ({
  89. /***/ 0:
  90. /***/ (function(module, exports, __webpack_require__) {
  91. "use strict";
  92. var _interopRequireDefault = __webpack_require__(1);
  93. exports.__esModule = true;
  94. exports.noop = noop;
  95. exports.isDef = isDef;
  96. exports.isFunction = isFunction;
  97. exports.isObject = isObject;
  98. exports.isPromise = isPromise;
  99. exports.get = get;
  100. exports.isServer = exports.inBrowser = exports.addUnit = exports.createNamespace = void 0;
  101. var _vue = _interopRequireDefault(__webpack_require__(4));
  102. var _create = __webpack_require__(24);
  103. exports.createNamespace = _create.createNamespace;
  104. var _unit = __webpack_require__(20);
  105. exports.addUnit = _unit.addUnit;
  106. var inBrowser = typeof window !== 'undefined';
  107. exports.inBrowser = inBrowser;
  108. var isServer = _vue.default.prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function
  109. exports.isServer = isServer;
  110. function noop() {}
  111. function isDef(val) {
  112. return val !== undefined && val !== null;
  113. }
  114. function isFunction(val) {
  115. return typeof val === 'function';
  116. }
  117. function isObject(val) {
  118. return val !== null && typeof val === 'object';
  119. }
  120. function isPromise(val) {
  121. return isObject(val) && isFunction(val.then) && isFunction(val.catch);
  122. }
  123. function get(object, path) {
  124. var keys = path.split('.');
  125. var result = object;
  126. keys.forEach(function (key) {
  127. var _result$key;
  128. result = (_result$key = result[key]) != null ? _result$key : '';
  129. });
  130. return result;
  131. }
  132. /***/ }),
  133. /***/ 1:
  134. /***/ (function(module, exports) {
  135. function _interopRequireDefault(obj) {
  136. return obj && obj.__esModule ? obj : {
  137. "default": obj
  138. };
  139. }
  140. module.exports = _interopRequireDefault;
  141. /***/ }),
  142. /***/ 100:
  143. /***/ (function(module, exports, __webpack_require__) {
  144. "use strict";
  145. var _interopRequireDefault = __webpack_require__(1);
  146. exports.__esModule = true;
  147. exports.default = void 0;
  148. var _babelHelperVueJsxMergeProps = _interopRequireDefault(__webpack_require__(16));
  149. var _utils = __webpack_require__(0);
  150. var _icon = _interopRequireDefault(__webpack_require__(35));
  151. var _createNamespace = (0, _utils.createNamespace)('image'),
  152. createComponent = _createNamespace[0],
  153. bem = _createNamespace[1];
  154. var _default = createComponent({
  155. props: {
  156. src: String,
  157. fit: String,
  158. alt: String,
  159. round: Boolean,
  160. width: [Number, String],
  161. height: [Number, String],
  162. radius: [Number, String],
  163. lazyLoad: Boolean,
  164. iconPrefix: String,
  165. showError: {
  166. type: Boolean,
  167. default: true
  168. },
  169. showLoading: {
  170. type: Boolean,
  171. default: true
  172. },
  173. errorIcon: {
  174. type: String,
  175. default: 'photo-fail'
  176. },
  177. loadingIcon: {
  178. type: String,
  179. default: 'photo'
  180. }
  181. },
  182. data: function data() {
  183. return {
  184. loading: true,
  185. error: false
  186. };
  187. },
  188. watch: {
  189. src: function src() {
  190. this.loading = true;
  191. this.error = false;
  192. }
  193. },
  194. computed: {
  195. style: function style() {
  196. var style = {};
  197. if ((0, _utils.isDef)(this.width)) {
  198. style.width = (0, _utils.addUnit)(this.width);
  199. }
  200. if ((0, _utils.isDef)(this.height)) {
  201. style.height = (0, _utils.addUnit)(this.height);
  202. }
  203. if ((0, _utils.isDef)(this.radius)) {
  204. style.overflow = 'hidden';
  205. style.borderRadius = (0, _utils.addUnit)(this.radius);
  206. }
  207. return style;
  208. }
  209. },
  210. created: function created() {
  211. var $Lazyload = this.$Lazyload;
  212. if ($Lazyload && _utils.inBrowser) {
  213. $Lazyload.$on('loaded', this.onLazyLoaded);
  214. $Lazyload.$on('error', this.onLazyLoadError);
  215. }
  216. },
  217. beforeDestroy: function beforeDestroy() {
  218. var $Lazyload = this.$Lazyload;
  219. if ($Lazyload) {
  220. $Lazyload.$off('loaded', this.onLazyLoaded);
  221. $Lazyload.$off('error', this.onLazyLoadError);
  222. }
  223. },
  224. methods: {
  225. onLoad: function onLoad(event) {
  226. this.loading = false;
  227. this.$emit('load', event);
  228. },
  229. onLazyLoaded: function onLazyLoaded(_ref) {
  230. var el = _ref.el;
  231. if (el === this.$refs.image && this.loading) {
  232. this.onLoad();
  233. }
  234. },
  235. onLazyLoadError: function onLazyLoadError(_ref2) {
  236. var el = _ref2.el;
  237. if (el === this.$refs.image && !this.error) {
  238. this.onError();
  239. }
  240. },
  241. onError: function onError(event) {
  242. this.error = true;
  243. this.loading = false;
  244. this.$emit('error', event);
  245. },
  246. onClick: function onClick(event) {
  247. this.$emit('click', event);
  248. },
  249. genPlaceholder: function genPlaceholder() {
  250. var h = this.$createElement;
  251. if (this.loading && this.showLoading) {
  252. return h("div", {
  253. "class": bem('loading')
  254. }, [this.slots('loading') || h(_icon.default, {
  255. "attrs": {
  256. "name": this.loadingIcon,
  257. "classPrefix": this.iconPrefix
  258. },
  259. "class": bem('loading-icon')
  260. })]);
  261. }
  262. if (this.error && this.showError) {
  263. return h("div", {
  264. "class": bem('error')
  265. }, [this.slots('error') || h(_icon.default, {
  266. "attrs": {
  267. "name": this.errorIcon,
  268. "classPrefix": this.iconPrefix
  269. },
  270. "class": bem('error-icon')
  271. })]);
  272. }
  273. },
  274. genImage: function genImage() {
  275. var h = this.$createElement;
  276. var imgData = {
  277. class: bem('img'),
  278. attrs: {
  279. alt: this.alt
  280. },
  281. style: {
  282. objectFit: this.fit
  283. }
  284. };
  285. if (this.error) {
  286. return;
  287. }
  288. if (this.lazyLoad) {
  289. return h("img", (0, _babelHelperVueJsxMergeProps.default)([{
  290. "ref": "image",
  291. "directives": [{
  292. name: "lazy",
  293. value: this.src
  294. }]
  295. }, imgData]));
  296. }
  297. return h("img", (0, _babelHelperVueJsxMergeProps.default)([{
  298. "attrs": {
  299. "src": this.src
  300. },
  301. "on": {
  302. "load": this.onLoad,
  303. "error": this.onError
  304. }
  305. }, imgData]));
  306. }
  307. },
  308. render: function render() {
  309. var h = arguments[0];
  310. return h("div", {
  311. "class": bem({
  312. round: this.round
  313. }),
  314. "style": this.style,
  315. "on": {
  316. "click": this.onClick
  317. }
  318. }, [this.genImage(), this.genPlaceholder(), this.slots()]);
  319. }
  320. });
  321. exports.default = _default;
  322. /***/ }),
  323. /***/ 11:
  324. /***/ (function(module, exports, __webpack_require__) {
  325. "use strict";
  326. var _interopRequireDefault = __webpack_require__(1);
  327. exports.__esModule = true;
  328. exports.default = void 0;
  329. var _vue = _interopRequireDefault(__webpack_require__(4));
  330. var _deepAssign = __webpack_require__(21);
  331. var _zhCN = _interopRequireDefault(__webpack_require__(27));
  332. var proto = _vue.default.prototype;
  333. var defineReactive = _vue.default.util.defineReactive;
  334. defineReactive(proto, '$vantLang', 'zh-CN');
  335. defineReactive(proto, '$vantMessages', {
  336. 'zh-CN': _zhCN.default
  337. });
  338. var _default = {
  339. messages: function messages() {
  340. return proto.$vantMessages[proto.$vantLang];
  341. },
  342. use: function use(lang, messages) {
  343. var _this$add;
  344. proto.$vantLang = lang;
  345. this.add((_this$add = {}, _this$add[lang] = messages, _this$add));
  346. },
  347. add: function add(messages) {
  348. if (messages === void 0) {
  349. messages = {};
  350. }
  351. (0, _deepAssign.deepAssign)(proto.$vantMessages, messages);
  352. }
  353. };
  354. exports.default = _default;
  355. /***/ }),
  356. /***/ 116:
  357. /***/ (function(module, exports, __webpack_require__) {
  358. var content = __webpack_require__(117);
  359. if(typeof content === 'string') content = [[module.i, content, '']];
  360. var transform;
  361. var insertInto;
  362. var options = {"hmr":true}
  363. options.transform = transform
  364. options.insertInto = undefined;
  365. var update = __webpack_require__(6)(content, options);
  366. if(content.locals) module.exports = content.locals;
  367. if(false) {}
  368. /***/ }),
  369. /***/ 117:
  370. /***/ (function(module, exports, __webpack_require__) {
  371. exports = module.exports = __webpack_require__(5)(false);
  372. // Module
  373. exports.push([module.i, ".van-image{position:relative;display:inline-block}.van-image--round{overflow:hidden;border-radius:50%}.van-image--round img{border-radius:inherit}.van-image__error,.van-image__img,.van-image__loading{display:block;width:100%;height:100%}.van-image__error,.van-image__loading{position:absolute;top:0;left:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;color:#969799;font-size:14px;background-color:#f7f8fa}.van-image__loading-icon{color:#dcdee0;font-size:32px}.van-image__error-icon{color:#dcdee0;font-size:32px}", ""]);
  374. /***/ }),
  375. /***/ 118:
  376. /***/ (function(module, exports, __webpack_require__) {
  377. "use strict";
  378. var _interopRequireDefault = __webpack_require__(1);
  379. exports.__esModule = true;
  380. exports.default = void 0;
  381. var _extends2 = _interopRequireDefault(__webpack_require__(18));
  382. var _utils = __webpack_require__(0);
  383. var _relation = __webpack_require__(47);
  384. var _createNamespace = (0, _utils.createNamespace)('swipe-item'),
  385. createComponent = _createNamespace[0],
  386. bem = _createNamespace[1];
  387. var _default = createComponent({
  388. mixins: [(0, _relation.ChildrenMixin)('vanSwipe')],
  389. data: function data() {
  390. return {
  391. offset: 0,
  392. inited: false,
  393. mounted: false
  394. };
  395. },
  396. mounted: function mounted() {
  397. var _this = this;
  398. this.$nextTick(function () {
  399. _this.mounted = true;
  400. });
  401. },
  402. computed: {
  403. style: function style() {
  404. var style = {};
  405. var _this$parent = this.parent,
  406. size = _this$parent.size,
  407. vertical = _this$parent.vertical;
  408. if (size) {
  409. style[vertical ? 'height' : 'width'] = size + "px";
  410. }
  411. if (this.offset) {
  412. style.transform = "translate" + (vertical ? 'Y' : 'X') + "(" + this.offset + "px)";
  413. }
  414. return style;
  415. },
  416. shouldRender: function shouldRender() {
  417. var index = this.index,
  418. inited = this.inited,
  419. parent = this.parent,
  420. mounted = this.mounted;
  421. if (!parent.lazyRender || inited) {
  422. return true;
  423. } // wait for all item to mount, so we can get the exact count
  424. if (!mounted) {
  425. return false;
  426. }
  427. var active = parent.activeIndicator;
  428. var maxActive = parent.count - 1;
  429. var prevActive = active === 0 && parent.loop ? maxActive : active - 1;
  430. var nextActive = active === maxActive && parent.loop ? 0 : active + 1;
  431. var shouldRender = index === active || index === prevActive || index === nextActive;
  432. if (shouldRender) {
  433. this.inited = true;
  434. }
  435. return shouldRender;
  436. }
  437. },
  438. render: function render() {
  439. var h = arguments[0];
  440. return h("div", {
  441. "class": bem(),
  442. "style": this.style,
  443. "on": (0, _extends2.default)({}, this.$listeners)
  444. }, [this.shouldRender && this.slots()]);
  445. }
  446. });
  447. exports.default = _default;
  448. /***/ }),
  449. /***/ 119:
  450. /***/ (function(module, exports, __webpack_require__) {
  451. "use strict";
  452. exports.__esModule = true;
  453. exports.default = void 0;
  454. var _utils = __webpack_require__(0);
  455. var _style = __webpack_require__(94);
  456. var _event = __webpack_require__(30);
  457. var _raf = __webpack_require__(86);
  458. var _number = __webpack_require__(81);
  459. var _touch = __webpack_require__(51);
  460. var _relation = __webpack_require__(47);
  461. var _bindEvent = __webpack_require__(60);
  462. // Utils
  463. // Mixins
  464. var _createNamespace = (0, _utils.createNamespace)('swipe'),
  465. createComponent = _createNamespace[0],
  466. bem = _createNamespace[1];
  467. var _default = createComponent({
  468. mixins: [_touch.TouchMixin, (0, _relation.ParentMixin)('vanSwipe'), (0, _bindEvent.BindEventMixin)(function (bind, isBind) {
  469. bind(window, 'resize', this.resize, true);
  470. bind(window, 'orientationchange', this.resize, true);
  471. bind(window, 'visibilitychange', this.onVisibilityChange);
  472. if (isBind) {
  473. this.initialize();
  474. } else {
  475. this.clear();
  476. }
  477. })],
  478. props: {
  479. width: [Number, String],
  480. height: [Number, String],
  481. autoplay: [Number, String],
  482. vertical: Boolean,
  483. lazyRender: Boolean,
  484. indicatorColor: String,
  485. loop: {
  486. type: Boolean,
  487. default: true
  488. },
  489. duration: {
  490. type: [Number, String],
  491. default: 500
  492. },
  493. touchable: {
  494. type: Boolean,
  495. default: true
  496. },
  497. initialSwipe: {
  498. type: [Number, String],
  499. default: 0
  500. },
  501. showIndicators: {
  502. type: Boolean,
  503. default: true
  504. },
  505. stopPropagation: {
  506. type: Boolean,
  507. default: true
  508. }
  509. },
  510. data: function data() {
  511. return {
  512. rect: null,
  513. offset: 0,
  514. active: 0,
  515. deltaX: 0,
  516. deltaY: 0,
  517. swiping: false,
  518. computedWidth: 0,
  519. computedHeight: 0
  520. };
  521. },
  522. watch: {
  523. children: function children() {
  524. this.initialize();
  525. },
  526. initialSwipe: function initialSwipe() {
  527. this.initialize();
  528. },
  529. autoplay: function autoplay(_autoplay) {
  530. if (_autoplay > 0) {
  531. this.autoPlay();
  532. } else {
  533. this.clear();
  534. }
  535. }
  536. },
  537. computed: {
  538. count: function count() {
  539. return this.children.length;
  540. },
  541. maxCount: function maxCount() {
  542. return Math.ceil(Math.abs(this.minOffset) / this.size);
  543. },
  544. delta: function delta() {
  545. return this.vertical ? this.deltaY : this.deltaX;
  546. },
  547. size: function size() {
  548. return this[this.vertical ? 'computedHeight' : 'computedWidth'];
  549. },
  550. trackSize: function trackSize() {
  551. return this.count * this.size;
  552. },
  553. activeIndicator: function activeIndicator() {
  554. return (this.active + this.count) % this.count;
  555. },
  556. isCorrectDirection: function isCorrectDirection() {
  557. var expect = this.vertical ? 'vertical' : 'horizontal';
  558. return this.direction === expect;
  559. },
  560. trackStyle: function trackStyle() {
  561. var style = {
  562. transitionDuration: (this.swiping ? 0 : this.duration) + "ms",
  563. transform: "translate" + (this.vertical ? 'Y' : 'X') + "(" + this.offset + "px)"
  564. };
  565. if (this.size) {
  566. var mainAxis = this.vertical ? 'height' : 'width';
  567. var crossAxis = this.vertical ? 'width' : 'height';
  568. style[mainAxis] = this.trackSize + "px";
  569. style[crossAxis] = this[crossAxis] ? this[crossAxis] + "px" : '';
  570. }
  571. return style;
  572. },
  573. indicatorStyle: function indicatorStyle() {
  574. return {
  575. backgroundColor: this.indicatorColor
  576. };
  577. },
  578. minOffset: function minOffset() {
  579. return (this.vertical ? this.rect.height : this.rect.width) - this.size * this.count;
  580. }
  581. },
  582. mounted: function mounted() {
  583. this.bindTouchEvent(this.$refs.track);
  584. },
  585. methods: {
  586. // initialize swipe position
  587. initialize: function initialize(active) {
  588. if (active === void 0) {
  589. active = +this.initialSwipe;
  590. }
  591. if (!this.$el || (0, _style.isHidden)(this.$el)) {
  592. return;
  593. }
  594. clearTimeout(this.timer);
  595. var rect = this.$el.getBoundingClientRect();
  596. this.rect = rect;
  597. this.swiping = true;
  598. this.active = active;
  599. this.computedWidth = +this.width || rect.width;
  600. this.computedHeight = +this.height || rect.height;
  601. this.offset = this.getTargetOffset(active);
  602. this.children.forEach(function (swipe) {
  603. swipe.offset = 0;
  604. });
  605. this.autoPlay();
  606. },
  607. // @exposed-api
  608. resize: function resize() {
  609. this.initialize(this.activeIndicator);
  610. },
  611. onVisibilityChange: function onVisibilityChange() {
  612. if (document.hidden) {
  613. this.clear();
  614. } else {
  615. this.autoPlay();
  616. }
  617. },
  618. onTouchStart: function onTouchStart(event) {
  619. if (!this.touchable) return;
  620. this.clear();
  621. this.touchStartTime = Date.now();
  622. this.touchStart(event);
  623. this.correctPosition();
  624. },
  625. onTouchMove: function onTouchMove(event) {
  626. if (!this.touchable || !this.swiping) return;
  627. this.touchMove(event);
  628. if (this.isCorrectDirection) {
  629. (0, _event.preventDefault)(event, this.stopPropagation);
  630. this.move({
  631. offset: this.delta
  632. });
  633. }
  634. },
  635. onTouchEnd: function onTouchEnd() {
  636. if (!this.touchable || !this.swiping) return;
  637. var size = this.size,
  638. delta = this.delta;
  639. var duration = Date.now() - this.touchStartTime;
  640. var speed = delta / duration;
  641. var shouldSwipe = Math.abs(speed) > 0.25 || Math.abs(delta) > size / 2;
  642. if (shouldSwipe && this.isCorrectDirection) {
  643. var offset = this.vertical ? this.offsetY : this.offsetX;
  644. var pace = 0;
  645. if (this.loop) {
  646. pace = offset > 0 ? delta > 0 ? -1 : 1 : 0;
  647. } else {
  648. pace = -Math[delta > 0 ? 'ceil' : 'floor'](delta / size);
  649. }
  650. this.move({
  651. pace: pace,
  652. emitChange: true
  653. });
  654. } else if (delta) {
  655. this.move({
  656. pace: 0
  657. });
  658. }
  659. this.swiping = false;
  660. this.autoPlay();
  661. },
  662. getTargetActive: function getTargetActive(pace) {
  663. var active = this.active,
  664. count = this.count,
  665. maxCount = this.maxCount;
  666. if (pace) {
  667. if (this.loop) {
  668. return (0, _number.range)(active + pace, -1, count);
  669. }
  670. return (0, _number.range)(active + pace, 0, maxCount);
  671. }
  672. return active;
  673. },
  674. getTargetOffset: function getTargetOffset(targetActive, offset) {
  675. if (offset === void 0) {
  676. offset = 0;
  677. }
  678. var currentPosition = targetActive * this.size;
  679. if (!this.loop) {
  680. currentPosition = Math.min(currentPosition, -this.minOffset);
  681. }
  682. var targetOffset = offset - currentPosition;
  683. if (!this.loop) {
  684. targetOffset = (0, _number.range)(targetOffset, this.minOffset, 0);
  685. }
  686. return targetOffset;
  687. },
  688. move: function move(_ref) {
  689. var _ref$pace = _ref.pace,
  690. pace = _ref$pace === void 0 ? 0 : _ref$pace,
  691. _ref$offset = _ref.offset,
  692. offset = _ref$offset === void 0 ? 0 : _ref$offset,
  693. emitChange = _ref.emitChange;
  694. var loop = this.loop,
  695. count = this.count,
  696. active = this.active,
  697. children = this.children,
  698. trackSize = this.trackSize,
  699. minOffset = this.minOffset;
  700. if (count <= 1) {
  701. return;
  702. }
  703. var targetActive = this.getTargetActive(pace);
  704. var targetOffset = this.getTargetOffset(targetActive, offset); // auto move first and last swipe in loop mode
  705. if (loop) {
  706. if (children[0] && targetOffset !== minOffset) {
  707. var outRightBound = targetOffset < minOffset;
  708. children[0].offset = outRightBound ? trackSize : 0;
  709. }
  710. if (children[count - 1] && targetOffset !== 0) {
  711. var outLeftBound = targetOffset > 0;
  712. children[count - 1].offset = outLeftBound ? -trackSize : 0;
  713. }
  714. }
  715. this.active = targetActive;
  716. this.offset = targetOffset;
  717. if (emitChange && targetActive !== active) {
  718. this.$emit('change', this.activeIndicator);
  719. }
  720. },
  721. // @exposed-api
  722. prev: function prev() {
  723. var _this = this;
  724. this.correctPosition();
  725. this.resetTouchStatus();
  726. (0, _raf.doubleRaf)(function () {
  727. _this.swiping = false;
  728. _this.move({
  729. pace: -1,
  730. emitChange: true
  731. });
  732. });
  733. },
  734. // @exposed-api
  735. next: function next() {
  736. var _this2 = this;
  737. this.correctPosition();
  738. this.resetTouchStatus();
  739. (0, _raf.doubleRaf)(function () {
  740. _this2.swiping = false;
  741. _this2.move({
  742. pace: 1,
  743. emitChange: true
  744. });
  745. });
  746. },
  747. // @exposed-api
  748. swipeTo: function swipeTo(index, options) {
  749. var _this3 = this;
  750. if (options === void 0) {
  751. options = {};
  752. }
  753. this.correctPosition();
  754. this.resetTouchStatus();
  755. (0, _raf.doubleRaf)(function () {
  756. var targetIndex;
  757. if (_this3.loop && index === _this3.count) {
  758. targetIndex = _this3.active === 0 ? 0 : index;
  759. } else {
  760. targetIndex = index % _this3.count;
  761. }
  762. if (options.immediate) {
  763. (0, _raf.doubleRaf)(function () {
  764. _this3.swiping = false;
  765. });
  766. } else {
  767. _this3.swiping = false;
  768. }
  769. _this3.move({
  770. pace: targetIndex - _this3.active,
  771. emitChange: true
  772. });
  773. });
  774. },
  775. correctPosition: function correctPosition() {
  776. this.swiping = true;
  777. if (this.active <= -1) {
  778. this.move({
  779. pace: this.count
  780. });
  781. }
  782. if (this.active >= this.count) {
  783. this.move({
  784. pace: -this.count
  785. });
  786. }
  787. },
  788. clear: function clear() {
  789. clearTimeout(this.timer);
  790. },
  791. autoPlay: function autoPlay() {
  792. var _this4 = this;
  793. var autoplay = this.autoplay;
  794. if (autoplay > 0 && this.count > 1) {
  795. this.clear();
  796. this.timer = setTimeout(function () {
  797. _this4.next();
  798. _this4.autoPlay();
  799. }, autoplay);
  800. }
  801. },
  802. genIndicator: function genIndicator() {
  803. var _this5 = this;
  804. var h = this.$createElement;
  805. var count = this.count,
  806. activeIndicator = this.activeIndicator;
  807. var slot = this.slots('indicator');
  808. if (slot) {
  809. return slot;
  810. }
  811. if (this.showIndicators && count > 1) {
  812. return h("div", {
  813. "class": bem('indicators', {
  814. vertical: this.vertical
  815. })
  816. }, [Array.apply(void 0, Array(count)).map(function (empty, index) {
  817. return h("i", {
  818. "class": bem('indicator', {
  819. active: index === activeIndicator
  820. }),
  821. "style": index === activeIndicator ? _this5.indicatorStyle : null
  822. });
  823. })]);
  824. }
  825. }
  826. },
  827. render: function render() {
  828. var h = arguments[0];
  829. return h("div", {
  830. "class": bem()
  831. }, [h("div", {
  832. "ref": "track",
  833. "style": this.trackStyle,
  834. "class": bem('track', {
  835. vertical: this.vertical
  836. })
  837. }, [this.slots()]), this.genIndicator()]);
  838. }
  839. });
  840. exports.default = _default;
  841. /***/ }),
  842. /***/ 12:
  843. /***/ (function(module, exports) {
  844. /**
  845. * When source maps are enabled, `style-loader` uses a link element with a data-uri to
  846. * embed the css on the page. This breaks all relative urls because now they are relative to a
  847. * bundle instead of the current page.
  848. *
  849. * One solution is to only use full urls, but that may be impossible.
  850. *
  851. * Instead, this function "fixes" the relative urls to be absolute according to the current page location.
  852. *
  853. * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.
  854. *
  855. */
  856. module.exports = function (css) {
  857. // get current location
  858. var location = typeof window !== "undefined" && window.location;
  859. if (!location) {
  860. throw new Error("fixUrls requires window.location");
  861. }
  862. // blank or null?
  863. if (!css || typeof css !== "string") {
  864. return css;
  865. }
  866. var baseUrl = location.protocol + "//" + location.host;
  867. var currentDir = baseUrl + location.pathname.replace(/\/[^\/]*$/, "/");
  868. // convert each url(...)
  869. /*
  870. This regular expression is just a way to recursively match brackets within
  871. a string.
  872. /url\s*\( = Match on the word "url" with any whitespace after it and then a parens
  873. ( = Start a capturing group
  874. (?: = Start a non-capturing group
  875. [^)(] = Match anything that isn't a parentheses
  876. | = OR
  877. \( = Match a start parentheses
  878. (?: = Start another non-capturing groups
  879. [^)(]+ = Match anything that isn't a parentheses
  880. | = OR
  881. \( = Match a start parentheses
  882. [^)(]* = Match anything that isn't a parentheses
  883. \) = Match a end parentheses
  884. ) = End Group
  885. *\) = Match anything and then a close parens
  886. ) = Close non-capturing group
  887. * = Match anything
  888. ) = Close capturing group
  889. \) = Match a close parens
  890. /gi = Get all matches, not the first. Be case insensitive.
  891. */
  892. var fixedCss = css.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function(fullMatch, origUrl) {
  893. // strip quotes (if they exist)
  894. var unquotedOrigUrl = origUrl
  895. .trim()
  896. .replace(/^"(.*)"$/, function(o, $1){ return $1; })
  897. .replace(/^'(.*)'$/, function(o, $1){ return $1; });
  898. // already a full url? no change
  899. if (/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(unquotedOrigUrl)) {
  900. return fullMatch;
  901. }
  902. // convert the url to a full url
  903. var newUrl;
  904. if (unquotedOrigUrl.indexOf("//") === 0) {
  905. //TODO: should we add protocol?
  906. newUrl = unquotedOrigUrl;
  907. } else if (unquotedOrigUrl.indexOf("/") === 0) {
  908. // path should be relative to the base url
  909. newUrl = baseUrl + unquotedOrigUrl; // already starts with '/'
  910. } else {
  911. // path should be relative to current directory
  912. newUrl = currentDir + unquotedOrigUrl.replace(/^\.\//, ""); // Strip leading './'
  913. }
  914. // send back the fixed url(...)
  915. return "url(" + JSON.stringify(newUrl) + ")";
  916. });
  917. // send back the fixed css
  918. return fixedCss;
  919. };
  920. /***/ }),
  921. /***/ 129:
  922. /***/ (function(module, exports, __webpack_require__) {
  923. var content = __webpack_require__(130);
  924. if(typeof content === 'string') content = [[module.i, content, '']];
  925. var transform;
  926. var insertInto;
  927. var options = {"hmr":true}
  928. options.transform = transform
  929. options.insertInto = undefined;
  930. var update = __webpack_require__(6)(content, options);
  931. if(content.locals) module.exports = content.locals;
  932. if(false) {}
  933. /***/ }),
  934. /***/ 130:
  935. /***/ (function(module, exports, __webpack_require__) {
  936. exports = module.exports = __webpack_require__(5)(false);
  937. // Module
  938. exports.push([module.i, ".van-swipe-item{position:relative;-webkit-flex-shrink:0;flex-shrink:0;width:100%;height:100%}", ""]);
  939. /***/ }),
  940. /***/ 131:
  941. /***/ (function(module, exports, __webpack_require__) {
  942. var content = __webpack_require__(132);
  943. if(typeof content === 'string') content = [[module.i, content, '']];
  944. var transform;
  945. var insertInto;
  946. var options = {"hmr":true}
  947. options.transform = transform
  948. options.insertInto = undefined;
  949. var update = __webpack_require__(6)(content, options);
  950. if(content.locals) module.exports = content.locals;
  951. if(false) {}
  952. /***/ }),
  953. /***/ 132:
  954. /***/ (function(module, exports, __webpack_require__) {
  955. exports = module.exports = __webpack_require__(5)(false);
  956. // Module
  957. exports.push([module.i, ".van-swipe{position:relative;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none}.van-swipe__track{display:-webkit-box;display:-webkit-flex;display:flex;height:100%}.van-swipe__track--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.van-swipe__indicators{position:absolute;bottom:12px;left:50%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.van-swipe__indicators--vertical{top:50%;bottom:auto;left:12px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.van-swipe__indicators--vertical .van-swipe__indicator:not(:last-child){margin-bottom:6px}.van-swipe__indicator{width:6px;height:6px;background-color:#ebedf0;border-radius:100%;opacity:.3;-webkit-transition:opacity .2s,background-color .2s;transition:opacity .2s,background-color .2s}.van-swipe__indicator:not(:last-child){margin-right:6px}.van-swipe__indicator--active{background-color:#2cb8b8;opacity:1}", ""]);
  958. /***/ }),
  959. /***/ 134:
  960. /***/ (function(module, exports, __webpack_require__) {
  961. "use strict";
  962. exports.__esModule = true;
  963. exports.bem = exports.createComponent = void 0;
  964. var _utils = __webpack_require__(0);
  965. var _createNamespace = (0, _utils.createNamespace)('image-preview'),
  966. createComponent = _createNamespace[0],
  967. bem = _createNamespace[1];
  968. exports.bem = bem;
  969. exports.createComponent = createComponent;
  970. /***/ }),
  971. /***/ 14:
  972. /***/ (function(module, exports, __webpack_require__) {
  973. "use strict";
  974. var _interopRequireDefault = __webpack_require__(1);
  975. exports.__esModule = true;
  976. exports.inherit = inherit;
  977. exports.emit = emit;
  978. exports.mount = mount;
  979. var _extends2 = _interopRequireDefault(__webpack_require__(18));
  980. var _vue = _interopRequireDefault(__webpack_require__(4));
  981. var inheritKey = ['ref', 'style', 'class', 'attrs', 'refInFor', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];
  982. var mapInheritKey = {
  983. nativeOn: 'on'
  984. }; // inherit partial context, map nativeOn to on
  985. function inherit(context, inheritListeners) {
  986. var result = inheritKey.reduce(function (obj, key) {
  987. if (context.data[key]) {
  988. obj[mapInheritKey[key] || key] = context.data[key];
  989. }
  990. return obj;
  991. }, {});
  992. if (inheritListeners) {
  993. result.on = result.on || {};
  994. (0, _extends2.default)(result.on, context.data.on);
  995. }
  996. return result;
  997. } // emit event
  998. function emit(context, eventName) {
  999. for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
  1000. args[_key - 2] = arguments[_key];
  1001. }
  1002. var listeners = context.listeners[eventName];
  1003. if (listeners) {
  1004. if (Array.isArray(listeners)) {
  1005. listeners.forEach(function (listener) {
  1006. listener.apply(void 0, args);
  1007. });
  1008. } else {
  1009. listeners.apply(void 0, args);
  1010. }
  1011. }
  1012. } // mount functional component
  1013. function mount(Component, data) {
  1014. var instance = new _vue.default({
  1015. el: document.createElement('div'),
  1016. props: Component.props,
  1017. render: function render(h) {
  1018. return h(Component, (0, _extends2.default)({
  1019. props: this.$props
  1020. }, data));
  1021. }
  1022. });
  1023. document.body.appendChild(instance.$el);
  1024. return instance;
  1025. }
  1026. /***/ }),
  1027. /***/ 151:
  1028. /***/ (function(module, exports, __webpack_require__) {
  1029. "use strict";
  1030. var _interopRequireDefault = __webpack_require__(1);
  1031. exports.__esModule = true;
  1032. exports.default = void 0;
  1033. var _extends2 = _interopRequireDefault(__webpack_require__(18));
  1034. var _vue = _interopRequireDefault(__webpack_require__(4));
  1035. var _ImagePreview = _interopRequireDefault(__webpack_require__(192));
  1036. var _utils = __webpack_require__(0);
  1037. var instance;
  1038. var defaultConfig = {
  1039. loop: true,
  1040. value: true,
  1041. images: [],
  1042. maxZoom: 3,
  1043. minZoom: 1 / 3,
  1044. onClose: null,
  1045. onChange: null,
  1046. className: '',
  1047. showIndex: true,
  1048. closeable: false,
  1049. closeIcon: 'clear',
  1050. asyncClose: false,
  1051. getContainer: 'body',
  1052. startPosition: 0,
  1053. swipeDuration: 500,
  1054. showIndicators: false,
  1055. closeOnPopstate: true,
  1056. closeIconPosition: 'top-right'
  1057. };
  1058. var initInstance = function initInstance() {
  1059. instance = new (_vue.default.extend(_ImagePreview.default))({
  1060. el: document.createElement('div')
  1061. });
  1062. document.body.appendChild(instance.$el);
  1063. instance.$on('change', function (index) {
  1064. if (instance.onChange) {
  1065. instance.onChange(index);
  1066. }
  1067. });
  1068. instance.$on('scale', function (data) {
  1069. if (instance.onScale) {
  1070. instance.onScale(data);
  1071. }
  1072. });
  1073. };
  1074. var ImagePreview = function ImagePreview(images, startPosition) {
  1075. if (startPosition === void 0) {
  1076. startPosition = 0;
  1077. }
  1078. /* istanbul ignore if */
  1079. if (_utils.isServer) {
  1080. return;
  1081. }
  1082. if (!instance) {
  1083. initInstance();
  1084. }
  1085. var options = Array.isArray(images) ? {
  1086. images: images,
  1087. startPosition: startPosition
  1088. } : images;
  1089. (0, _extends2.default)(instance, defaultConfig, options);
  1090. instance.$once('input', function (show) {
  1091. instance.value = show;
  1092. });
  1093. instance.$once('closed', function () {
  1094. instance.images = [];
  1095. });
  1096. if (options.onClose) {
  1097. instance.$off('close');
  1098. instance.$once('close', options.onClose);
  1099. }
  1100. return instance;
  1101. };
  1102. ImagePreview.Component = _ImagePreview.default;
  1103. ImagePreview.install = function () {
  1104. _vue.default.use(_ImagePreview.default);
  1105. };
  1106. var _default = ImagePreview;
  1107. exports.default = _default;
  1108. /***/ }),
  1109. /***/ 16:
  1110. /***/ (function(module, exports, __webpack_require__) {
  1111. "use strict";
  1112. 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;
  1113. /***/ }),
  1114. /***/ 18:
  1115. /***/ (function(module, exports) {
  1116. function _extends() {
  1117. module.exports = _extends = Object.assign || function (target) {
  1118. for (var i = 1; i < arguments.length; i++) {
  1119. var source = arguments[i];
  1120. for (var key in source) {
  1121. if (Object.prototype.hasOwnProperty.call(source, key)) {
  1122. target[key] = source[key];
  1123. }
  1124. }
  1125. }
  1126. return target;
  1127. };
  1128. return _extends.apply(this, arguments);
  1129. }
  1130. module.exports = _extends;
  1131. /***/ }),
  1132. /***/ 19:
  1133. /***/ (function(module, exports, __webpack_require__) {
  1134. "use strict";
  1135. exports.__esModule = true;
  1136. exports.isNumeric = isNumeric;
  1137. exports.isNaN = isNaN;
  1138. function isNumeric(val) {
  1139. return /^\d+(\.\d+)?$/.test(val);
  1140. }
  1141. function isNaN(val) {
  1142. if (Number.isNaN) {
  1143. return Number.isNaN(val);
  1144. } // eslint-disable-next-line no-self-compare
  1145. return val !== val;
  1146. }
  1147. /***/ }),
  1148. /***/ 190:
  1149. /***/ (function(module, exports, __webpack_require__) {
  1150. var content = __webpack_require__(191);
  1151. if(typeof content === 'string') content = [[module.i, content, '']];
  1152. var transform;
  1153. var insertInto;
  1154. var options = {"hmr":true}
  1155. options.transform = transform
  1156. options.insertInto = undefined;
  1157. var update = __webpack_require__(6)(content, options);
  1158. if(content.locals) module.exports = content.locals;
  1159. if(false) {}
  1160. /***/ }),
  1161. /***/ 191:
  1162. /***/ (function(module, exports, __webpack_require__) {
  1163. exports = module.exports = __webpack_require__(5)(false);
  1164. // Module
  1165. exports.push([module.i, ".van-image-preview{position:fixed;top:0;left:0;width:100%;height:100%}.van-image-preview__swipe{height:100%}.van-image-preview__swipe-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;overflow:hidden}.van-image-preview__cover{position:absolute;top:0;left:0}.van-image-preview__image{width:100%;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.van-image-preview__image--vertical{width:auto;height:100%}.van-image-preview__image img{-webkit-user-drag:none}.van-image-preview__image .van-image__error{top:30%;height:40%}.van-image-preview__image .van-image__error-icon{font-size:36px}.van-image-preview__image .van-image__loading{background-color:transparent}.van-image-preview__index{position:absolute;top:16px;left:50%;color:#fff;font-size:14px;line-height:20px;text-shadow:0 1px 1px #323233;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}.van-image-preview__overlay{background-color:rgba(0,0,0,.9)}.van-image-preview__close-icon{position:absolute;z-index:1;color:#c8c9cc;font-size:22px;cursor:pointer}.van-image-preview__close-icon:active{color:#969799}.van-image-preview__close-icon--top-left{top:16px;left:16px}.van-image-preview__close-icon--top-right{top:16px;right:16px}.van-image-preview__close-icon--bottom-left{bottom:16px;left:16px}.van-image-preview__close-icon--bottom-right{right:16px;bottom:16px}", ""]);
  1166. /***/ }),
  1167. /***/ 192:
  1168. /***/ (function(module, exports, __webpack_require__) {
  1169. "use strict";
  1170. var _interopRequireDefault = __webpack_require__(1);
  1171. exports.__esModule = true;
  1172. exports.default = void 0;
  1173. var _shared = __webpack_require__(134);
  1174. var _popup = __webpack_require__(75);
  1175. var _touch = __webpack_require__(51);
  1176. var _bindEvent = __webpack_require__(60);
  1177. var _icon = _interopRequireDefault(__webpack_require__(35));
  1178. var _swipe = _interopRequireDefault(__webpack_require__(119));
  1179. var _ImagePreviewItem = _interopRequireDefault(__webpack_require__(193));
  1180. // Utils
  1181. // Mixins
  1182. // Components
  1183. var _default2 = (0, _shared.createComponent)({
  1184. mixins: [_touch.TouchMixin, (0, _popup.PopupMixin)({
  1185. skipToggleEvent: true
  1186. }), (0, _bindEvent.BindEventMixin)(function (bind) {
  1187. bind(window, 'resize', this.resize, true);
  1188. bind(window, 'orientationchange', this.resize, true);
  1189. })],
  1190. props: {
  1191. className: null,
  1192. closeable: Boolean,
  1193. asyncClose: Boolean,
  1194. showIndicators: Boolean,
  1195. images: {
  1196. type: Array,
  1197. default: function _default() {
  1198. return [];
  1199. }
  1200. },
  1201. loop: {
  1202. type: Boolean,
  1203. default: true
  1204. },
  1205. overlay: {
  1206. type: Boolean,
  1207. default: true
  1208. },
  1209. minZoom: {
  1210. type: [Number, String],
  1211. default: 1 / 3
  1212. },
  1213. maxZoom: {
  1214. type: [Number, String],
  1215. default: 3
  1216. },
  1217. showIndex: {
  1218. type: Boolean,
  1219. default: true
  1220. },
  1221. swipeDuration: {
  1222. type: [Number, String],
  1223. default: 500
  1224. },
  1225. startPosition: {
  1226. type: [Number, String],
  1227. default: 0
  1228. },
  1229. overlayClass: {
  1230. type: String,
  1231. default: (0, _shared.bem)('overlay')
  1232. },
  1233. closeIcon: {
  1234. type: String,
  1235. default: 'clear'
  1236. },
  1237. closeOnPopstate: {
  1238. type: Boolean,
  1239. default: true
  1240. },
  1241. closeIconPosition: {
  1242. type: String,
  1243. default: 'top-right'
  1244. }
  1245. },
  1246. data: function data() {
  1247. return {
  1248. active: 0,
  1249. rootWidth: 0,
  1250. rootHeight: 0,
  1251. doubleClickTimer: null
  1252. };
  1253. },
  1254. mounted: function mounted() {
  1255. this.resize();
  1256. },
  1257. watch: {
  1258. startPosition: 'setActive',
  1259. value: function value(val) {
  1260. var _this = this;
  1261. if (val) {
  1262. this.setActive(+this.startPosition);
  1263. this.$nextTick(function () {
  1264. _this.resize();
  1265. _this.$refs.swipe.swipeTo(+_this.startPosition, {
  1266. immediate: true
  1267. });
  1268. });
  1269. } else {
  1270. this.$emit('close', {
  1271. index: this.active,
  1272. url: this.images[this.active]
  1273. });
  1274. }
  1275. }
  1276. },
  1277. methods: {
  1278. resize: function resize() {
  1279. if (this.$el && this.$el.getBoundingClientRect) {
  1280. var rect = this.$el.getBoundingClientRect();
  1281. this.rootWidth = rect.width;
  1282. this.rootHeight = rect.height;
  1283. }
  1284. },
  1285. emitClose: function emitClose() {
  1286. if (!this.asyncClose) {
  1287. this.$emit('input', false);
  1288. }
  1289. },
  1290. emitScale: function emitScale(args) {
  1291. this.$emit('scale', args);
  1292. },
  1293. setActive: function setActive(active) {
  1294. if (active !== this.active) {
  1295. this.active = active;
  1296. this.$emit('change', active);
  1297. }
  1298. },
  1299. genIndex: function genIndex() {
  1300. var h = this.$createElement;
  1301. if (this.showIndex) {
  1302. return h("div", {
  1303. "class": (0, _shared.bem)('index')
  1304. }, [this.slots('index', {
  1305. index: this.active
  1306. }) || this.active + 1 + " / " + this.images.length]);
  1307. }
  1308. },
  1309. genCover: function genCover() {
  1310. var h = this.$createElement;
  1311. var cover = this.slots('cover');
  1312. if (cover) {
  1313. return h("div", {
  1314. "class": (0, _shared.bem)('cover')
  1315. }, [cover]);
  1316. }
  1317. },
  1318. genImages: function genImages() {
  1319. var _this2 = this;
  1320. var h = this.$createElement;
  1321. return h(_swipe.default, {
  1322. "ref": "swipe",
  1323. "attrs": {
  1324. "lazyRender": true,
  1325. "loop": this.loop,
  1326. "duration": this.swipeDuration,
  1327. "initialSwipe": this.startPosition,
  1328. "showIndicators": this.showIndicators,
  1329. "indicatorColor": "white"
  1330. },
  1331. "class": (0, _shared.bem)('swipe'),
  1332. "on": {
  1333. "change": this.setActive
  1334. }
  1335. }, [this.images.map(function (image) {
  1336. return h(_ImagePreviewItem.default, {
  1337. "attrs": {
  1338. "src": image,
  1339. "show": _this2.value,
  1340. "active": _this2.active,
  1341. "maxZoom": _this2.maxZoom,
  1342. "minZoom": _this2.minZoom,
  1343. "rootWidth": _this2.rootWidth,
  1344. "rootHeight": _this2.rootHeight
  1345. },
  1346. "on": {
  1347. "scale": _this2.emitScale,
  1348. "close": _this2.emitClose
  1349. }
  1350. });
  1351. })]);
  1352. },
  1353. genClose: function genClose() {
  1354. var h = this.$createElement;
  1355. if (this.closeable) {
  1356. return h(_icon.default, {
  1357. "attrs": {
  1358. "role": "button",
  1359. "name": this.closeIcon
  1360. },
  1361. "class": (0, _shared.bem)('close-icon', this.closeIconPosition),
  1362. "on": {
  1363. "click": this.emitClose
  1364. }
  1365. });
  1366. }
  1367. },
  1368. onClosed: function onClosed() {
  1369. this.$emit('closed');
  1370. },
  1371. // @exposed-api
  1372. swipeTo: function swipeTo(index, options) {
  1373. if (this.$refs.swipe) {
  1374. this.$refs.swipe.swipeTo(index, options);
  1375. }
  1376. }
  1377. },
  1378. render: function render() {
  1379. var h = arguments[0];
  1380. if (!this.shouldRender) {
  1381. return;
  1382. }
  1383. return h("transition", {
  1384. "attrs": {
  1385. "name": "van-fade"
  1386. },
  1387. "on": {
  1388. "afterLeave": this.onClosed
  1389. }
  1390. }, [h("div", {
  1391. "directives": [{
  1392. name: "show",
  1393. value: this.value
  1394. }],
  1395. "class": [(0, _shared.bem)(), this.className]
  1396. }, [this.genClose(), this.genImages(), this.genIndex(), this.genCover()])]);
  1397. }
  1398. });
  1399. exports.default = _default2;
  1400. /***/ }),
  1401. /***/ 193:
  1402. /***/ (function(module, exports, __webpack_require__) {
  1403. "use strict";
  1404. var _interopRequireDefault = __webpack_require__(1);
  1405. exports.__esModule = true;
  1406. exports.default = void 0;
  1407. var _shared = __webpack_require__(134);
  1408. var _number = __webpack_require__(81);
  1409. var _event = __webpack_require__(30);
  1410. var _touch = __webpack_require__(51);
  1411. var _image = _interopRequireDefault(__webpack_require__(100));
  1412. var _loading = _interopRequireDefault(__webpack_require__(71));
  1413. var _swipeItem = _interopRequireDefault(__webpack_require__(118));
  1414. // Utils
  1415. // Mixins
  1416. // Component
  1417. function getDistance(touches) {
  1418. return Math.sqrt(Math.pow(touches[0].clientX - touches[1].clientX, 2) + Math.pow(touches[0].clientY - touches[1].clientY, 2));
  1419. }
  1420. var _default = {
  1421. mixins: [_touch.TouchMixin],
  1422. props: {
  1423. src: String,
  1424. show: Boolean,
  1425. active: Number,
  1426. minZoom: [Number, String],
  1427. maxZoom: [Number, String],
  1428. rootWidth: Number,
  1429. rootHeight: Number
  1430. },
  1431. data: function data() {
  1432. return {
  1433. scale: 1,
  1434. moveX: 0,
  1435. moveY: 0,
  1436. moving: false,
  1437. zooming: false,
  1438. imageRatio: 0,
  1439. displayWidth: 0,
  1440. displayHeight: 0
  1441. };
  1442. },
  1443. computed: {
  1444. vertical: function vertical() {
  1445. var rootWidth = this.rootWidth,
  1446. rootHeight = this.rootHeight;
  1447. var rootRatio = rootHeight / rootWidth;
  1448. return this.imageRatio > rootRatio;
  1449. },
  1450. imageStyle: function imageStyle() {
  1451. var scale = this.scale;
  1452. var style = {
  1453. transitionDuration: this.zooming || this.moving ? '0s' : '.3s'
  1454. };
  1455. if (scale !== 1) {
  1456. var offsetX = this.moveX / scale;
  1457. var offsetY = this.moveY / scale;
  1458. style.transform = "scale(" + scale + ", " + scale + ") translate(" + offsetX + "px, " + offsetY + "px)";
  1459. }
  1460. return style;
  1461. },
  1462. maxMoveX: function maxMoveX() {
  1463. if (this.imageRatio) {
  1464. var displayWidth = this.vertical ? this.rootHeight / this.imageRatio : this.rootWidth;
  1465. return Math.max(0, (this.scale * displayWidth - this.rootWidth) / 2);
  1466. }
  1467. return 0;
  1468. },
  1469. maxMoveY: function maxMoveY() {
  1470. if (this.imageRatio) {
  1471. var displayHeight = this.vertical ? this.rootHeight : this.rootWidth * this.imageRatio;
  1472. return Math.max(0, (this.scale * displayHeight - this.rootHeight) / 2);
  1473. }
  1474. return 0;
  1475. }
  1476. },
  1477. watch: {
  1478. show: function show(val) {
  1479. if (!val) {
  1480. this.resetScale();
  1481. }
  1482. }
  1483. },
  1484. mounted: function mounted() {
  1485. this.bindTouchEvent(this.$el);
  1486. },
  1487. methods: {
  1488. resetScale: function resetScale() {
  1489. this.setScale(1);
  1490. this.moveX = 0;
  1491. this.moveY = 0;
  1492. },
  1493. setScale: function setScale(scale) {
  1494. this.scale = (0, _number.range)(scale, +this.minZoom, +this.maxZoom);
  1495. this.$emit('scale', {
  1496. scale: this.scale,
  1497. index: this.active
  1498. });
  1499. },
  1500. toggleScale: function toggleScale() {
  1501. var scale = this.scale > 1 ? 1 : 2;
  1502. this.setScale(scale);
  1503. this.moveX = 0;
  1504. this.moveY = 0;
  1505. },
  1506. onTouchStart: function onTouchStart(event) {
  1507. var touches = event.touches;
  1508. var _this$offsetX = this.offsetX,
  1509. offsetX = _this$offsetX === void 0 ? 0 : _this$offsetX;
  1510. this.touchStart(event);
  1511. this.touchStartTime = new Date();
  1512. this.startMoveX = this.moveX;
  1513. this.startMoveY = this.moveY;
  1514. this.moving = touches.length === 1 && this.scale !== 1;
  1515. this.zooming = touches.length === 2 && !offsetX;
  1516. if (this.zooming) {
  1517. this.startScale = this.scale;
  1518. this.startDistance = getDistance(event.touches);
  1519. }
  1520. },
  1521. onTouchMove: function onTouchMove(event) {
  1522. var touches = event.touches;
  1523. this.touchMove(event);
  1524. if (this.moving || this.zooming) {
  1525. (0, _event.preventDefault)(event, true);
  1526. }
  1527. if (this.moving) {
  1528. var moveX = this.deltaX + this.startMoveX;
  1529. var moveY = this.deltaY + this.startMoveY;
  1530. this.moveX = (0, _number.range)(moveX, -this.maxMoveX, this.maxMoveX);
  1531. this.moveY = (0, _number.range)(moveY, -this.maxMoveY, this.maxMoveY);
  1532. }
  1533. if (this.zooming && touches.length === 2) {
  1534. var distance = getDistance(touches);
  1535. var scale = this.startScale * distance / this.startDistance;
  1536. this.setScale(scale);
  1537. }
  1538. },
  1539. onTouchEnd: function onTouchEnd(event) {
  1540. var stopPropagation = false;
  1541. /* istanbul ignore else */
  1542. if (this.moving || this.zooming) {
  1543. stopPropagation = true;
  1544. if (this.moving && this.startMoveX === this.moveX && this.startMoveY === this.moveY) {
  1545. stopPropagation = false;
  1546. }
  1547. if (!event.touches.length) {
  1548. if (this.zooming) {
  1549. this.moveX = (0, _number.range)(this.moveX, -this.maxMoveX, this.maxMoveX);
  1550. this.moveY = (0, _number.range)(this.moveY, -this.maxMoveY, this.maxMoveY);
  1551. this.zooming = false;
  1552. }
  1553. this.moving = false;
  1554. this.startMoveX = 0;
  1555. this.startMoveY = 0;
  1556. this.startScale = 1;
  1557. if (this.scale < 1) {
  1558. this.resetScale();
  1559. }
  1560. }
  1561. } // eliminate tap delay on safari
  1562. (0, _event.preventDefault)(event, stopPropagation);
  1563. this.checkTap();
  1564. this.resetTouchStatus();
  1565. },
  1566. checkTap: function checkTap() {
  1567. var _this = this;
  1568. var _this$offsetX2 = this.offsetX,
  1569. offsetX = _this$offsetX2 === void 0 ? 0 : _this$offsetX2,
  1570. _this$offsetY = this.offsetY,
  1571. offsetY = _this$offsetY === void 0 ? 0 : _this$offsetY;
  1572. var deltaTime = new Date() - this.touchStartTime;
  1573. var TAP_TIME = 250;
  1574. var TAP_OFFSET = 10;
  1575. if (offsetX < TAP_OFFSET && offsetY < TAP_OFFSET && deltaTime < TAP_TIME) {
  1576. if (this.doubleTapTimer) {
  1577. clearTimeout(this.doubleTapTimer);
  1578. this.doubleTapTimer = null;
  1579. this.toggleScale();
  1580. } else {
  1581. this.doubleTapTimer = setTimeout(function () {
  1582. _this.$emit('close');
  1583. _this.doubleTapTimer = null;
  1584. }, TAP_TIME);
  1585. }
  1586. }
  1587. },
  1588. onLoad: function onLoad(event) {
  1589. var _event$target = event.target,
  1590. naturalWidth = _event$target.naturalWidth,
  1591. naturalHeight = _event$target.naturalHeight;
  1592. this.imageRatio = naturalHeight / naturalWidth;
  1593. }
  1594. },
  1595. render: function render() {
  1596. var h = arguments[0];
  1597. var imageSlots = {
  1598. loading: function loading() {
  1599. return h(_loading.default, {
  1600. "attrs": {
  1601. "type": "spinner"
  1602. }
  1603. });
  1604. }
  1605. };
  1606. return h(_swipeItem.default, {
  1607. "class": (0, _shared.bem)('swipe-item')
  1608. }, [h(_image.default, {
  1609. "attrs": {
  1610. "src": this.src,
  1611. "fit": "contain"
  1612. },
  1613. "class": (0, _shared.bem)('image', {
  1614. vertical: this.vertical
  1615. }),
  1616. "style": this.imageStyle,
  1617. "scopedSlots": imageSlots,
  1618. "on": {
  1619. "load": this.onLoad
  1620. }
  1621. })]);
  1622. }
  1623. };
  1624. exports.default = _default;
  1625. /***/ }),
  1626. /***/ 20:
  1627. /***/ (function(module, exports, __webpack_require__) {
  1628. "use strict";
  1629. exports.__esModule = true;
  1630. exports.addUnit = addUnit;
  1631. exports.unitToPx = unitToPx;
  1632. var _ = __webpack_require__(0);
  1633. var _number = __webpack_require__(19);
  1634. function addUnit(value) {
  1635. if (!(0, _.isDef)(value)) {
  1636. return undefined;
  1637. }
  1638. value = String(value);
  1639. return (0, _number.isNumeric)(value) ? value + "px" : value;
  1640. } // cache
  1641. var rootFontSize;
  1642. function getRootFontSize() {
  1643. if (!rootFontSize) {
  1644. var doc = document.documentElement;
  1645. var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;
  1646. rootFontSize = parseFloat(fontSize);
  1647. }
  1648. return rootFontSize;
  1649. }
  1650. function convertRem(value) {
  1651. value = value.replace(/rem/g, '');
  1652. return +value * getRootFontSize();
  1653. }
  1654. function convertVw(value) {
  1655. value = value.replace(/vw/g, '');
  1656. return +value * window.innerWidth / 100;
  1657. }
  1658. function convertVh(value) {
  1659. value = value.replace(/vh/g, '');
  1660. return +value * window.innerHeight / 100;
  1661. }
  1662. function unitToPx(value) {
  1663. if (typeof value === 'number') {
  1664. return value;
  1665. }
  1666. if (_.inBrowser) {
  1667. if (value.indexOf('rem') !== -1) {
  1668. return convertRem(value);
  1669. }
  1670. if (value.indexOf('vw') !== -1) {
  1671. return convertVw(value);
  1672. }
  1673. if (value.indexOf('vh') !== -1) {
  1674. return convertVh(value);
  1675. }
  1676. }
  1677. return parseFloat(value);
  1678. }
  1679. /***/ }),
  1680. /***/ 21:
  1681. /***/ (function(module, exports, __webpack_require__) {
  1682. "use strict";
  1683. exports.__esModule = true;
  1684. exports.deepAssign = deepAssign;
  1685. var _ = __webpack_require__(0);
  1686. var hasOwnProperty = Object.prototype.hasOwnProperty;
  1687. function assignKey(to, from, key) {
  1688. var val = from[key];
  1689. if (!(0, _.isDef)(val)) {
  1690. return;
  1691. }
  1692. if (!hasOwnProperty.call(to, key) || !(0, _.isObject)(val)) {
  1693. to[key] = val;
  1694. } else {
  1695. // eslint-disable-next-line @typescript-eslint/no-use-before-define
  1696. to[key] = deepAssign(Object(to[key]), from[key]);
  1697. }
  1698. }
  1699. function deepAssign(to, from) {
  1700. Object.keys(from).forEach(function (key) {
  1701. assignKey(to, from, key);
  1702. });
  1703. return to;
  1704. }
  1705. /***/ }),
  1706. /***/ 22:
  1707. /***/ (function(module, exports, __webpack_require__) {
  1708. var content = __webpack_require__(23);
  1709. if(typeof content === 'string') content = [[module.i, content, '']];
  1710. var transform;
  1711. var insertInto;
  1712. var options = {"hmr":true}
  1713. options.transform = transform
  1714. options.insertInto = undefined;
  1715. var update = __webpack_require__(6)(content, options);
  1716. if(content.locals) module.exports = content.locals;
  1717. if(false) {}
  1718. /***/ }),
  1719. /***/ 222:
  1720. /***/ (function(module, exports, __webpack_require__) {
  1721. "use strict";
  1722. var _interopRequireDefault = __webpack_require__(1);
  1723. exports.__esModule = true;
  1724. exports.default = void 0;
  1725. var _extends2 = _interopRequireDefault(__webpack_require__(18));
  1726. var _utils = __webpack_require__(0);
  1727. var _utils2 = __webpack_require__(415);
  1728. var _field = __webpack_require__(92);
  1729. var _icon = _interopRequireDefault(__webpack_require__(35));
  1730. var _image = _interopRequireDefault(__webpack_require__(100));
  1731. var _loading = _interopRequireDefault(__webpack_require__(71));
  1732. var _imagePreview = _interopRequireDefault(__webpack_require__(151));
  1733. // Utils
  1734. // Mixins
  1735. // Components
  1736. var _createNamespace = (0, _utils.createNamespace)('uploader'),
  1737. createComponent = _createNamespace[0],
  1738. bem = _createNamespace[1];
  1739. var _default2 = createComponent({
  1740. inheritAttrs: false,
  1741. mixins: [_field.FieldMixin],
  1742. model: {
  1743. prop: 'fileList'
  1744. },
  1745. props: {
  1746. disabled: Boolean,
  1747. lazyLoad: Boolean,
  1748. uploadText: String,
  1749. afterRead: Function,
  1750. beforeRead: Function,
  1751. beforeDelete: Function,
  1752. previewSize: [Number, String],
  1753. previewOptions: Object,
  1754. name: {
  1755. type: [Number, String],
  1756. default: ''
  1757. },
  1758. accept: {
  1759. type: String,
  1760. default: 'image/*'
  1761. },
  1762. fileList: {
  1763. type: Array,
  1764. default: function _default() {
  1765. return [];
  1766. }
  1767. },
  1768. maxSize: {
  1769. type: [Number, String],
  1770. default: Number.MAX_VALUE
  1771. },
  1772. maxCount: {
  1773. type: [Number, String],
  1774. default: Number.MAX_VALUE
  1775. },
  1776. deletable: {
  1777. type: Boolean,
  1778. default: true
  1779. },
  1780. showUpload: {
  1781. type: Boolean,
  1782. default: true
  1783. },
  1784. previewImage: {
  1785. type: Boolean,
  1786. default: true
  1787. },
  1788. previewFullImage: {
  1789. type: Boolean,
  1790. default: true
  1791. },
  1792. imageFit: {
  1793. type: String,
  1794. default: 'cover'
  1795. },
  1796. resultType: {
  1797. type: String,
  1798. default: 'dataUrl'
  1799. },
  1800. uploadIcon: {
  1801. type: String,
  1802. default: 'photograph'
  1803. }
  1804. },
  1805. computed: {
  1806. previewSizeWithUnit: function previewSizeWithUnit() {
  1807. return (0, _utils.addUnit)(this.previewSize);
  1808. },
  1809. // for form
  1810. value: function value() {
  1811. return this.fileList;
  1812. }
  1813. },
  1814. methods: {
  1815. getDetail: function getDetail(index) {
  1816. if (index === void 0) {
  1817. index = this.fileList.length;
  1818. }
  1819. return {
  1820. name: this.name,
  1821. index: index
  1822. };
  1823. },
  1824. onChange: function onChange(event) {
  1825. var _this = this;
  1826. var files = event.target.files;
  1827. if (this.disabled || !files.length) {
  1828. return;
  1829. }
  1830. files = files.length === 1 ? files[0] : [].slice.call(files);
  1831. if (this.beforeRead) {
  1832. var response = this.beforeRead(files, this.getDetail());
  1833. if (!response) {
  1834. this.resetInput();
  1835. return;
  1836. }
  1837. if ((0, _utils.isPromise)(response)) {
  1838. response.then(function (data) {
  1839. if (data) {
  1840. _this.readFile(data);
  1841. } else {
  1842. _this.readFile(files);
  1843. }
  1844. }).catch(this.resetInput);
  1845. return;
  1846. }
  1847. }
  1848. this.readFile(files);
  1849. },
  1850. readFile: function readFile(files) {
  1851. var _this2 = this;
  1852. var oversize = (0, _utils2.isOversize)(files, this.maxSize);
  1853. if (Array.isArray(files)) {
  1854. var maxCount = this.maxCount - this.fileList.length;
  1855. if (files.length > maxCount) {
  1856. files = files.slice(0, maxCount);
  1857. }
  1858. Promise.all(files.map(function (file) {
  1859. return (0, _utils2.readFile)(file, _this2.resultType);
  1860. })).then(function (contents) {
  1861. var fileList = files.map(function (file, index) {
  1862. var result = {
  1863. file: file,
  1864. status: '',
  1865. message: ''
  1866. };
  1867. if (contents[index]) {
  1868. result.content = contents[index];
  1869. }
  1870. return result;
  1871. });
  1872. _this2.onAfterRead(fileList, oversize);
  1873. });
  1874. } else {
  1875. (0, _utils2.readFile)(files, this.resultType).then(function (content) {
  1876. var result = {
  1877. file: files,
  1878. status: '',
  1879. message: ''
  1880. };
  1881. if (content) {
  1882. result.content = content;
  1883. }
  1884. _this2.onAfterRead(result, oversize);
  1885. });
  1886. }
  1887. },
  1888. onAfterRead: function onAfterRead(files, oversize) {
  1889. var _this3 = this;
  1890. this.resetInput();
  1891. var validFiles = files;
  1892. if (oversize) {
  1893. var oversizeFiles = files;
  1894. if (Array.isArray(files)) {
  1895. oversizeFiles = [];
  1896. validFiles = [];
  1897. files.forEach(function (item) {
  1898. if (item.file) {
  1899. if (item.file.size > _this3.maxSize) {
  1900. oversizeFiles.push(item);
  1901. } else {
  1902. validFiles.push(item);
  1903. }
  1904. }
  1905. });
  1906. } else {
  1907. validFiles = null;
  1908. }
  1909. this.$emit('oversize', oversizeFiles, this.getDetail());
  1910. }
  1911. var isValidFiles = Array.isArray(validFiles) ? Boolean(validFiles.length) : Boolean(validFiles);
  1912. if (isValidFiles) {
  1913. this.$emit('input', [].concat(this.fileList, (0, _utils2.toArray)(validFiles)));
  1914. if (this.afterRead) {
  1915. this.afterRead(validFiles, this.getDetail());
  1916. }
  1917. }
  1918. },
  1919. onDelete: function onDelete(file, index) {
  1920. var _file$beforeDelete,
  1921. _this4 = this;
  1922. var beforeDelete = (_file$beforeDelete = file.beforeDelete) != null ? _file$beforeDelete : this.beforeDelete;
  1923. if (beforeDelete) {
  1924. var response = beforeDelete(file, this.getDetail(index));
  1925. if (!response) {
  1926. return;
  1927. }
  1928. if ((0, _utils.isPromise)(response)) {
  1929. response.then(function () {
  1930. _this4.deleteFile(file, index);
  1931. }).catch(_utils.noop);
  1932. return;
  1933. }
  1934. }
  1935. this.deleteFile(file, index);
  1936. },
  1937. deleteFile: function deleteFile(file, index) {
  1938. var fileList = this.fileList.slice(0);
  1939. fileList.splice(index, 1);
  1940. this.$emit('input', fileList);
  1941. this.$emit('delete', file, this.getDetail(index));
  1942. },
  1943. resetInput: function resetInput() {
  1944. /* istanbul ignore else */
  1945. if (this.$refs.input) {
  1946. this.$refs.input.value = '';
  1947. }
  1948. },
  1949. onPreviewImage: function onPreviewImage(item) {
  1950. var _this5 = this;
  1951. if (!this.previewFullImage) {
  1952. return;
  1953. }
  1954. var imageFiles = this.fileList.filter(function (item) {
  1955. return (0, _utils2.isImageFile)(item);
  1956. });
  1957. var imageContents = imageFiles.map(function (item) {
  1958. return item.content || item.url;
  1959. });
  1960. this.imagePreview = (0, _imagePreview.default)((0, _extends2.default)({
  1961. images: imageContents,
  1962. startPosition: imageFiles.indexOf(item),
  1963. onClose: function onClose() {
  1964. _this5.$emit('close-preview');
  1965. }
  1966. }, this.previewOptions));
  1967. },
  1968. // @exposed-api
  1969. closeImagePreview: function closeImagePreview() {
  1970. if (this.imagePreview) {
  1971. this.imagePreview.close();
  1972. }
  1973. },
  1974. // @exposed-api
  1975. chooseFile: function chooseFile() {
  1976. if (this.disabled) {
  1977. return;
  1978. }
  1979. /* istanbul ignore else */
  1980. if (this.$refs.input) {
  1981. this.$refs.input.click();
  1982. }
  1983. },
  1984. genPreviewMask: function genPreviewMask(item) {
  1985. var h = this.$createElement;
  1986. var status = item.status,
  1987. message = item.message;
  1988. if (status === 'uploading' || status === 'failed') {
  1989. var MaskIcon = status === 'failed' ? h(_icon.default, {
  1990. "attrs": {
  1991. "name": "close"
  1992. },
  1993. "class": bem('mask-icon')
  1994. }) : h(_loading.default, {
  1995. "class": bem('loading')
  1996. });
  1997. var showMessage = (0, _utils.isDef)(message) && message !== '';
  1998. return h("div", {
  1999. "class": bem('mask')
  2000. }, [MaskIcon, showMessage && h("div", {
  2001. "class": bem('mask-message')
  2002. }, [message])]);
  2003. }
  2004. },
  2005. genPreviewItem: function genPreviewItem(item, index) {
  2006. var _item$deletable,
  2007. _this6 = this,
  2008. _item$previewSize,
  2009. _item$imageFit;
  2010. var h = this.$createElement;
  2011. var deleteAble = (_item$deletable = item.deletable) != null ? _item$deletable : this.deletable;
  2012. var showDelete = item.status !== 'uploading' && deleteAble;
  2013. var DeleteIcon = showDelete && h("div", {
  2014. "class": bem('preview-delete'),
  2015. "on": {
  2016. "click": function click(event) {
  2017. event.stopPropagation();
  2018. _this6.onDelete(item, index);
  2019. }
  2020. }
  2021. }, [h(_icon.default, {
  2022. "attrs": {
  2023. "name": "cross"
  2024. },
  2025. "class": bem('preview-delete-icon')
  2026. })]);
  2027. var PreviewCoverContent = this.slots('preview-cover', (0, _extends2.default)({
  2028. index: index
  2029. }, item));
  2030. var PreviewCover = PreviewCoverContent && h("div", {
  2031. "class": bem('preview-cover')
  2032. }, [PreviewCoverContent]);
  2033. var previewSize = (_item$previewSize = item.previewSize) != null ? _item$previewSize : this.previewSize;
  2034. var imageFit = (_item$imageFit = item.imageFit) != null ? _item$imageFit : this.imageFit;
  2035. var Preview = (0, _utils2.isImageFile)(item) ? h(_image.default, {
  2036. "attrs": {
  2037. "fit": imageFit,
  2038. "src": item.content || item.url,
  2039. "width": previewSize,
  2040. "height": previewSize,
  2041. "lazyLoad": this.lazyLoad
  2042. },
  2043. "class": bem('preview-image'),
  2044. "on": {
  2045. "click": function click() {
  2046. _this6.onPreviewImage(item);
  2047. }
  2048. }
  2049. }, [PreviewCover]) : h("div", {
  2050. "class": bem('file'),
  2051. "style": {
  2052. width: this.previewSizeWithUnit,
  2053. height: this.previewSizeWithUnit
  2054. }
  2055. }, [h(_icon.default, {
  2056. "class": bem('file-icon'),
  2057. "attrs": {
  2058. "name": "description"
  2059. }
  2060. }), h("div", {
  2061. "class": [bem('file-name'), 'van-ellipsis']
  2062. }, [item.file ? item.file.name : item.url]), PreviewCover]);
  2063. return h("div", {
  2064. "class": bem('preview'),
  2065. "on": {
  2066. "click": function click() {
  2067. _this6.$emit('click-preview', item, _this6.getDetail(index));
  2068. }
  2069. }
  2070. }, [Preview, this.genPreviewMask(item), DeleteIcon]);
  2071. },
  2072. genPreviewList: function genPreviewList() {
  2073. if (this.previewImage) {
  2074. return this.fileList.map(this.genPreviewItem);
  2075. }
  2076. },
  2077. genUpload: function genUpload() {
  2078. var h = this.$createElement;
  2079. if (this.fileList.length >= this.maxCount || !this.showUpload) {
  2080. return;
  2081. }
  2082. var slot = this.slots();
  2083. var Input = h("input", {
  2084. "attrs": (0, _extends2.default)({}, this.$attrs, {
  2085. "type": "file",
  2086. "accept": this.accept,
  2087. "disabled": this.disabled
  2088. }),
  2089. "ref": "input",
  2090. "class": bem('input'),
  2091. "on": {
  2092. "change": this.onChange
  2093. }
  2094. });
  2095. if (slot) {
  2096. return h("div", {
  2097. "class": bem('input-wrapper')
  2098. }, [slot, Input]);
  2099. }
  2100. var style;
  2101. if (this.previewSize) {
  2102. var size = this.previewSizeWithUnit;
  2103. style = {
  2104. width: size,
  2105. height: size
  2106. };
  2107. }
  2108. return h("div", {
  2109. "class": bem('upload'),
  2110. "style": style
  2111. }, [h(_icon.default, {
  2112. "attrs": {
  2113. "name": this.uploadIcon
  2114. },
  2115. "class": bem('upload-icon')
  2116. }), this.uploadText && h("span", {
  2117. "class": bem('upload-text')
  2118. }, [this.uploadText]), Input]);
  2119. }
  2120. },
  2121. render: function render() {
  2122. var h = arguments[0];
  2123. return h("div", {
  2124. "class": bem()
  2125. }, [h("div", {
  2126. "class": bem('wrapper', {
  2127. disabled: this.disabled
  2128. })
  2129. }, [this.genPreviewList(), this.genUpload()])]);
  2130. }
  2131. });
  2132. exports.default = _default2;
  2133. /***/ }),
  2134. /***/ 23:
  2135. /***/ (function(module, exports, __webpack_require__) {
  2136. exports = module.exports = __webpack_require__(5)(false);
  2137. // Module
  2138. exports.push([module.i, "html{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Segoe UI,Arial,Roboto,'PingFang SC',miui,'Hiragino Sans GB','Microsoft Yahei',sans-serif}a{text-decoration:none}button,input,textarea{color:inherit;font:inherit}[class*=van-]:focus,a:focus,button:focus,input:focus,textarea:focus{outline:0}ol,ul{margin:0;padding:0;list-style:none}.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical}.van-clearfix::after{display:table;clear:both;content:''}[class*=van-hairline]::after{position:absolute;box-sizing:border-box;content:' ';pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid #ebedf0;-webkit-transform:scale(.5);transform:scale(.5)}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--top::after{border-top-width:1px}.van-hairline--left::after{border-left-width:1px}.van-hairline--right::after{border-right-width:1px}.van-hairline--bottom::after{border-bottom-width:1px}.van-hairline--top-bottom::after,.van-hairline-unset--top-bottom::after{border-width:1px 0}.van-hairline--surround::after{border-width:1px}@-webkit-keyframes van-slide-up-enter{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes van-slide-up-enter{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes van-slide-up-leave{to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes van-slide-up-leave{to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes van-slide-down-enter{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes van-slide-down-enter{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-webkit-keyframes van-slide-down-leave{to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes van-slide-down-leave{to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-webkit-keyframes van-slide-left-enter{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes van-slide-left-enter{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@-webkit-keyframes van-slide-left-leave{to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes van-slide-left-leave{to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@-webkit-keyframes van-slide-right-enter{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes van-slide-right-enter{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes van-slide-right-leave{to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes van-slide-right-leave{to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes van-fade-in{from{opacity:0}to{opacity:1}}@keyframes van-fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes van-fade-out{from{opacity:1}to{opacity:0}}@keyframes van-fade-out{from{opacity:1}to{opacity:0}}@-webkit-keyframes van-rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes van-rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.van-fade-enter-active{-webkit-animation:.3s van-fade-in both ease-out;animation:.3s van-fade-in both ease-out}.van-fade-leave-active{-webkit-animation:.3s van-fade-out both ease-in;animation:.3s van-fade-out both ease-in
  2139. /***/ }),
  2140. /***/ 24:
  2141. /***/ (function(module, exports, __webpack_require__) {
  2142. "use strict";
  2143. exports.__esModule = true;
  2144. exports.createNamespace = createNamespace;
  2145. var _bem = __webpack_require__(25);
  2146. var _component = __webpack_require__(26);
  2147. var _i18n = __webpack_require__(29);
  2148. function createNamespace(name) {
  2149. name = 'van-' + name;
  2150. return [(0, _component.createComponent)(name), (0, _bem.createBEM)(name), (0, _i18n.createI18N)(name)];
  2151. }
  2152. /***/ }),
  2153. /***/ 25:
  2154. /***/ (function(module, exports, __webpack_require__) {
  2155. "use strict";
  2156. exports.__esModule = true;
  2157. exports.createBEM = createBEM;
  2158. /**
  2159. * bem helper
  2160. * b() // 'button'
  2161. * b('text') // 'button__text'
  2162. * b({ disabled }) // 'button button--disabled'
  2163. * b('text', { disabled }) // 'button__text button__text--disabled'
  2164. * b(['disabled', 'primary']) // 'button button--disabled button--primary'
  2165. */
  2166. function gen(name, mods) {
  2167. if (!mods) {
  2168. return '';
  2169. }
  2170. if (typeof mods === 'string') {
  2171. return " " + name + "--" + mods;
  2172. }
  2173. if (Array.isArray(mods)) {
  2174. return mods.reduce(function (ret, item) {
  2175. return ret + gen(name, item);
  2176. }, '');
  2177. }
  2178. return Object.keys(mods).reduce(function (ret, key) {
  2179. return ret + (mods[key] ? gen(name, key) : '');
  2180. }, '');
  2181. }
  2182. function createBEM(name) {
  2183. return function (el, mods) {
  2184. if (el && typeof el !== 'string') {
  2185. mods = el;
  2186. el = '';
  2187. }
  2188. el = el ? name + "__" + el : name;
  2189. return "" + el + gen(el, mods);
  2190. };
  2191. }
  2192. /***/ }),
  2193. /***/ 26:
  2194. /***/ (function(module, exports, __webpack_require__) {
  2195. "use strict";
  2196. var _interopRequireDefault = __webpack_require__(1);
  2197. exports.__esModule = true;
  2198. exports.unifySlots = unifySlots;
  2199. exports.createComponent = createComponent;
  2200. __webpack_require__(11);
  2201. var _ = __webpack_require__(0);
  2202. var _string = __webpack_require__(9);
  2203. var _slots = __webpack_require__(28);
  2204. var _vue = _interopRequireDefault(__webpack_require__(4));
  2205. /**
  2206. * Create a basic component with common options
  2207. */
  2208. function install(Vue) {
  2209. var name = this.name;
  2210. Vue.component(name, this);
  2211. Vue.component((0, _string.camelize)("-" + name), this);
  2212. } // unify slots & scopedSlots
  2213. function unifySlots(context) {
  2214. // use data.scopedSlots in lower Vue version
  2215. var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};
  2216. var slots = context.slots();
  2217. Object.keys(slots).forEach(function (key) {
  2218. if (!scopedSlots[key]) {
  2219. scopedSlots[key] = function () {
  2220. return slots[key];
  2221. };
  2222. }
  2223. });
  2224. return scopedSlots;
  2225. } // should be removed after Vue 3
  2226. function transformFunctionComponent(pure) {
  2227. return {
  2228. functional: true,
  2229. props: pure.props,
  2230. model: pure.model,
  2231. render: function render(h, context) {
  2232. return pure(h, context.props, unifySlots(context), context);
  2233. }
  2234. };
  2235. }
  2236. function createComponent(name) {
  2237. return function (sfc) {
  2238. if ((0, _.isFunction)(sfc)) {
  2239. sfc = transformFunctionComponent(sfc);
  2240. }
  2241. if (!sfc.functional) {
  2242. sfc.mixins = sfc.mixins || [];
  2243. sfc.mixins.push(_slots.SlotsMixin);
  2244. }
  2245. sfc.name = name;
  2246. sfc.install = install;
  2247. return sfc;
  2248. };
  2249. }
  2250. /***/ }),
  2251. /***/ 27:
  2252. /***/ (function(module, exports, __webpack_require__) {
  2253. "use strict";
  2254. exports.__esModule = true;
  2255. exports.default = void 0;
  2256. var _default = {
  2257. name: '姓名',
  2258. tel: '电话',
  2259. save: '保存',
  2260. confirm: '确认',
  2261. cancel: '取消',
  2262. delete: '删除',
  2263. complete: '完成',
  2264. loading: '加载中...',
  2265. telEmpty: '请填写电话',
  2266. nameEmpty: '请填写姓名',
  2267. nameInvalid: '请输入正确的姓名',
  2268. confirmDelete: '确定要删除吗',
  2269. telInvalid: '请输入正确的手机号',
  2270. vanCalendar: {
  2271. end: '结束',
  2272. start: '开始',
  2273. title: '日期选择',
  2274. confirm: '确定',
  2275. startEnd: '开始/结束',
  2276. weekdays: ['日', '一', '二', '三', '四', '五', '六'],
  2277. monthTitle: function monthTitle(year, month) {
  2278. return year + "\u5E74" + month + "\u6708";
  2279. },
  2280. rangePrompt: function rangePrompt(maxRange) {
  2281. return "\u9009\u62E9\u5929\u6570\u4E0D\u80FD\u8D85\u8FC7 " + maxRange + " \u5929";
  2282. }
  2283. },
  2284. vanCascader: {
  2285. select: '请选择'
  2286. },
  2287. vanContactCard: {
  2288. addText: '添加联系人'
  2289. },
  2290. vanContactList: {
  2291. addText: '新建联系人'
  2292. },
  2293. vanPagination: {
  2294. prev: '上一页',
  2295. next: '下一页'
  2296. },
  2297. vanPullRefresh: {
  2298. pulling: '下拉即可刷新...',
  2299. loosing: '释放即可刷新...'
  2300. },
  2301. vanSubmitBar: {
  2302. label: '合计:'
  2303. },
  2304. vanCoupon: {
  2305. unlimited: '无使用门槛',
  2306. discount: function discount(_discount) {
  2307. return _discount + "\u6298";
  2308. },
  2309. condition: function condition(_condition) {
  2310. return "\u6EE1" + _condition + "\u5143\u53EF\u7528";
  2311. }
  2312. },
  2313. vanCouponCell: {
  2314. title: '优惠券',
  2315. tips: '暂无可用',
  2316. count: function count(_count) {
  2317. return _count + "\u5F20\u53EF\u7528";
  2318. }
  2319. },
  2320. vanCouponList: {
  2321. empty: '暂无优惠券',
  2322. exchange: '兑换',
  2323. close: '不使用优惠券',
  2324. enable: '可用',
  2325. disabled: '不可用',
  2326. placeholder: '请输入优惠码'
  2327. },
  2328. vanAddressEdit: {
  2329. area: '地区',
  2330. postal: '邮政编码',
  2331. areaEmpty: '请选择地区',
  2332. addressEmpty: '请填写详细地址',
  2333. postalEmpty: '邮政编码格式不正确',
  2334. defaultAddress: '设为默认收货地址',
  2335. telPlaceholder: '收货人手机号',
  2336. namePlaceholder: '收货人姓名',
  2337. areaPlaceholder: '选择省 / 市 / 区'
  2338. },
  2339. vanAddressEditDetail: {
  2340. label: '详细地址',
  2341. placeholder: '街道门牌、楼层房间号等信息'
  2342. },
  2343. vanAddressList: {
  2344. add: '新增地址'
  2345. }
  2346. };
  2347. exports.default = _default;
  2348. /***/ }),
  2349. /***/ 28:
  2350. /***/ (function(module, exports, __webpack_require__) {
  2351. "use strict";
  2352. exports.__esModule = true;
  2353. exports.SlotsMixin = void 0;
  2354. /**
  2355. * Use scopedSlots in Vue 2.6+
  2356. * downgrade to slots in lower version
  2357. */
  2358. var SlotsMixin = {
  2359. methods: {
  2360. slots: function slots(name, props) {
  2361. if (name === void 0) {
  2362. name = 'default';
  2363. }
  2364. var $slots = this.$slots,
  2365. $scopedSlots = this.$scopedSlots;
  2366. var scopedSlot = $scopedSlots[name];
  2367. if (scopedSlot) {
  2368. return scopedSlot(props);
  2369. }
  2370. return $slots[name];
  2371. }
  2372. }
  2373. };
  2374. exports.SlotsMixin = SlotsMixin;
  2375. /***/ }),
  2376. /***/ 29:
  2377. /***/ (function(module, exports, __webpack_require__) {
  2378. "use strict";
  2379. var _interopRequireDefault = __webpack_require__(1);
  2380. exports.__esModule = true;
  2381. exports.createI18N = createI18N;
  2382. var _ = __webpack_require__(0);
  2383. var _string = __webpack_require__(9);
  2384. var _locale = _interopRequireDefault(__webpack_require__(11));
  2385. function createI18N(name) {
  2386. var prefix = (0, _string.camelize)(name) + '.';
  2387. return function (path) {
  2388. var messages = _locale.default.messages();
  2389. var message = (0, _.get)(messages, prefix + path) || (0, _.get)(messages, path);
  2390. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  2391. args[_key - 1] = arguments[_key];
  2392. }
  2393. return (0, _.isFunction)(message) ? message.apply(void 0, args) : message;
  2394. };
  2395. }
  2396. /***/ }),
  2397. /***/ 30:
  2398. /***/ (function(module, exports, __webpack_require__) {
  2399. "use strict";
  2400. exports.__esModule = true;
  2401. exports.on = on;
  2402. exports.off = off;
  2403. exports.stopPropagation = stopPropagation;
  2404. exports.preventDefault = preventDefault;
  2405. exports.supportsPassive = void 0;
  2406. var _ = __webpack_require__(0);
  2407. // eslint-disable-next-line import/no-mutable-exports
  2408. var supportsPassive = false;
  2409. exports.supportsPassive = supportsPassive;
  2410. if (!_.isServer) {
  2411. try {
  2412. var opts = {};
  2413. Object.defineProperty(opts, 'passive', {
  2414. // eslint-disable-next-line getter-return
  2415. get: function get() {
  2416. /* istanbul ignore next */
  2417. exports.supportsPassive = supportsPassive = true;
  2418. }
  2419. });
  2420. window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty
  2421. } catch (e) {}
  2422. }
  2423. function on(target, event, handler, passive) {
  2424. if (passive === void 0) {
  2425. passive = false;
  2426. }
  2427. if (!_.isServer) {
  2428. target.addEventListener(event, handler, supportsPassive ? {
  2429. capture: false,
  2430. passive: passive
  2431. } : false);
  2432. }
  2433. }
  2434. function off(target, event, handler) {
  2435. if (!_.isServer) {
  2436. target.removeEventListener(event, handler);
  2437. }
  2438. }
  2439. function stopPropagation(event) {
  2440. event.stopPropagation();
  2441. }
  2442. function preventDefault(event, isStopPropagation) {
  2443. /* istanbul ignore else */
  2444. if (typeof event.cancelable !== 'boolean' || event.cancelable) {
  2445. event.preventDefault();
  2446. }
  2447. if (isStopPropagation) {
  2448. stopPropagation(event);
  2449. }
  2450. }
  2451. /***/ }),
  2452. /***/ 35:
  2453. /***/ (function(module, exports, __webpack_require__) {
  2454. "use strict";
  2455. var _interopRequireDefault = __webpack_require__(1);
  2456. exports.__esModule = true;
  2457. exports.default = void 0;
  2458. var _babelHelperVueJsxMergeProps = _interopRequireDefault(__webpack_require__(16));
  2459. var _utils = __webpack_require__(0);
  2460. var _functional = __webpack_require__(14);
  2461. var _info = _interopRequireDefault(__webpack_require__(37));
  2462. // Utils
  2463. // Components
  2464. var _createNamespace = (0, _utils.createNamespace)('icon'),
  2465. createComponent = _createNamespace[0],
  2466. bem = _createNamespace[1];
  2467. function isImage(name) {
  2468. return name ? name.indexOf('/') !== -1 : false;
  2469. } // compatible with legacy usage, should be removed in next major version
  2470. var LEGACY_MAP = {
  2471. medel: 'medal',
  2472. 'medel-o': 'medal-o',
  2473. 'calender-o': 'calendar-o'
  2474. };
  2475. function correctName(name) {
  2476. return name && LEGACY_MAP[name] || name;
  2477. }
  2478. function Icon(h, props, slots, ctx) {
  2479. var _props$badge;
  2480. var name = correctName(props.name);
  2481. var imageIcon = isImage(name);
  2482. if (false) {}
  2483. return h(props.tag, (0, _babelHelperVueJsxMergeProps.default)([{
  2484. "class": [props.classPrefix, imageIcon ? '' : props.classPrefix + "-" + name],
  2485. "style": {
  2486. color: props.color,
  2487. fontSize: (0, _utils.addUnit)(props.size)
  2488. }
  2489. }, (0, _functional.inherit)(ctx, true)]), [slots.default && slots.default(), imageIcon && h("img", {
  2490. "class": bem('image'),
  2491. "attrs": {
  2492. "src": name
  2493. }
  2494. }), h(_info.default, {
  2495. "attrs": {
  2496. "dot": props.dot,
  2497. "info": (_props$badge = props.badge) != null ? _props$badge : props.info
  2498. }
  2499. })]);
  2500. }
  2501. Icon.props = {
  2502. dot: Boolean,
  2503. name: String,
  2504. size: [Number, String],
  2505. // @deprecated
  2506. // should be removed in next major version
  2507. info: [Number, String],
  2508. badge: [Number, String],
  2509. color: String,
  2510. tag: {
  2511. type: String,
  2512. default: 'i'
  2513. },
  2514. classPrefix: {
  2515. type: String,
  2516. default: bem()
  2517. }
  2518. };
  2519. var _default = createComponent(Icon);
  2520. exports.default = _default;
  2521. /***/ }),
  2522. /***/ 37:
  2523. /***/ (function(module, exports, __webpack_require__) {
  2524. "use strict";
  2525. var _interopRequireDefault = __webpack_require__(1);
  2526. exports.__esModule = true;
  2527. exports.default = void 0;
  2528. var _babelHelperVueJsxMergeProps = _interopRequireDefault(__webpack_require__(16));
  2529. var _utils = __webpack_require__(0);
  2530. var _functional = __webpack_require__(14);
  2531. // Utils
  2532. var _createNamespace = (0, _utils.createNamespace)('info'),
  2533. createComponent = _createNamespace[0],
  2534. bem = _createNamespace[1];
  2535. function Info(h, props, slots, ctx) {
  2536. var dot = props.dot,
  2537. info = props.info;
  2538. var showInfo = (0, _utils.isDef)(info) && info !== '';
  2539. if (!dot && !showInfo) {
  2540. return;
  2541. }
  2542. return h("div", (0, _babelHelperVueJsxMergeProps.default)([{
  2543. "class": bem({
  2544. dot: dot
  2545. })
  2546. }, (0, _functional.inherit)(ctx, true)]), [dot ? '' : props.info]);
  2547. }
  2548. Info.props = {
  2549. dot: Boolean,
  2550. info: [Number, String]
  2551. };
  2552. var _default = createComponent(Info);
  2553. exports.default = _default;
  2554. /***/ }),
  2555. /***/ 4:
  2556. /***/ (function(module, exports) {
  2557. module.exports = require("vue");
  2558. /***/ }),
  2559. /***/ 41:
  2560. /***/ (function(module, exports, __webpack_require__) {
  2561. var content = __webpack_require__(42);
  2562. if(typeof content === 'string') content = [[module.i, content, '']];
  2563. var transform;
  2564. var insertInto;
  2565. var options = {"hmr":true}
  2566. options.transform = transform
  2567. options.insertInto = undefined;
  2568. var update = __webpack_require__(6)(content, options);
  2569. if(content.locals) module.exports = content.locals;
  2570. if(false) {}
  2571. /***/ }),
  2572. /***/ 411:
  2573. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2574. "use strict";
  2575. __webpack_require__.r(__webpack_exports__);
  2576. /* harmony import */ var _tisdesign_m_lib_uploader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(222);
  2577. /* harmony import */ var _tisdesign_m_lib_uploader__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tisdesign_m_lib_uploader__WEBPACK_IMPORTED_MODULE_0__);
  2578. /* harmony import */ var _tisdesign_m_lib_uploader_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(412);
  2579. /* harmony import */ var _tisdesign_m_lib_uploader_style__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_tisdesign_m_lib_uploader_style__WEBPACK_IMPORTED_MODULE_1__);
  2580. _tisdesign_m_lib_uploader__WEBPACK_IMPORTED_MODULE_0___default.a.name = 'm-uploader';
  2581. /* harmony default export */ __webpack_exports__["default"] = (_tisdesign_m_lib_uploader__WEBPACK_IMPORTED_MODULE_0___default.a);
  2582. /***/ }),
  2583. /***/ 412:
  2584. /***/ (function(module, exports, __webpack_require__) {
  2585. __webpack_require__(22);
  2586. __webpack_require__(79);
  2587. __webpack_require__(41);
  2588. __webpack_require__(45);
  2589. __webpack_require__(116);
  2590. __webpack_require__(82);
  2591. __webpack_require__(73);
  2592. __webpack_require__(131);
  2593. __webpack_require__(129);
  2594. __webpack_require__(190);
  2595. __webpack_require__(413);
  2596. /***/ }),
  2597. /***/ 413:
  2598. /***/ (function(module, exports, __webpack_require__) {
  2599. var content = __webpack_require__(414);
  2600. if(typeof content === 'string') content = [[module.i, content, '']];
  2601. var transform;
  2602. var insertInto;
  2603. var options = {"hmr":true}
  2604. options.transform = transform
  2605. options.insertInto = undefined;
  2606. var update = __webpack_require__(6)(content, options);
  2607. if(content.locals) module.exports = content.locals;
  2608. if(false) {}
  2609. /***/ }),
  2610. /***/ 414:
  2611. /***/ (function(module, exports, __webpack_require__) {
  2612. exports = module.exports = __webpack_require__(5)(false);
  2613. // Module
  2614. exports.push([module.i, ".van-uploader{position:relative;display:inline-block}.van-uploader__wrapper{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.van-uploader__wrapper--disabled{opacity:.5}.van-uploader__input{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;cursor:pointer;opacity:0}.van-uploader__input-wrapper{position:relative}.van-uploader__input:disabled{cursor:not-allowed}.van-uploader__upload{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;box-sizing:border-box;width:80px;height:80px;margin:0 8px 8px 0;background-color:#f7f8fa}.van-uploader__upload:active{background-color:#f2f3f5}.van-uploader__upload-icon{color:#dcdee0;font-size:24px}.van-uploader__upload-text{margin-top:8px;color:#969799;font-size:12px}.van-uploader__preview{position:relative;margin:0 8px 8px 0;cursor:pointer}.van-uploader__preview-image{display:block;width:80px;height:80px;overflow:hidden}.van-uploader__preview-delete{position:absolute;top:0;right:0;width:14px;height:14px;background-color:rgba(0,0,0,.7);border-radius:0 0 0 12px}.van-uploader__preview-delete-icon{position:absolute;top:-2px;right:-2px;color:#fff;font-size:16px;-webkit-transform:scale(.5);transform:scale(.5)}.van-uploader__preview-cover{position:absolute;top:0;right:0;bottom:0;left:0}.van-uploader__mask{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;color:#fff;background-color:rgba(50,50,51,.88)}.van-uploader__mask-icon{font-size:22px}.van-uploader__mask-message{margin-top:6px;padding:0 4px;font-size:12px;line-height:14px}.van-uploader__loading{width:22px;height:22px;color:#fff}.van-uploader__file{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;width:80px;height:80px;background-color:#f7f8fa}.van-uploader__file-icon{color:#646566;font-size:20px}.van-uploader__file-name{box-sizing:border-box;width:100%;margin-top:8px;padding:0 4px;color:#646566;font-size:12px;text-align:center}", ""]);
  2615. /***/ }),
  2616. /***/ 415:
  2617. /***/ (function(module, exports, __webpack_require__) {
  2618. "use strict";
  2619. exports.__esModule = true;
  2620. exports.toArray = toArray;
  2621. exports.readFile = readFile;
  2622. exports.isOversize = isOversize;
  2623. exports.isImageUrl = isImageUrl;
  2624. exports.isImageFile = isImageFile;
  2625. function toArray(item) {
  2626. if (Array.isArray(item)) {
  2627. return item;
  2628. }
  2629. return [item];
  2630. }
  2631. function readFile(file, resultType) {
  2632. return new Promise(function (resolve) {
  2633. if (resultType === 'file') {
  2634. resolve();
  2635. return;
  2636. }
  2637. var reader = new FileReader();
  2638. reader.onload = function (event) {
  2639. resolve(event.target.result);
  2640. };
  2641. if (resultType === 'dataUrl') {
  2642. reader.readAsDataURL(file);
  2643. } else if (resultType === 'text') {
  2644. reader.readAsText(file);
  2645. }
  2646. });
  2647. }
  2648. function isOversize(files, maxSize) {
  2649. return toArray(files).some(function (file) {
  2650. return file.size > maxSize;
  2651. });
  2652. }
  2653. var IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;
  2654. function isImageUrl(url) {
  2655. return IMAGE_REGEXP.test(url);
  2656. }
  2657. function isImageFile(item) {
  2658. // some special urls cannot be recognized
  2659. // user can add `isImage` flag to mark it as an image url
  2660. if (item.isImage) {
  2661. return true;
  2662. }
  2663. if (item.file && item.file.type) {
  2664. return item.file.type.indexOf('image') === 0;
  2665. }
  2666. if (item.url) {
  2667. return isImageUrl(item.url);
  2668. }
  2669. if (item.content) {
  2670. return item.content.indexOf('data:image') === 0;
  2671. }
  2672. return false;
  2673. }
  2674. /***/ }),
  2675. /***/ 42:
  2676. /***/ (function(module, exports, __webpack_require__) {
  2677. exports = module.exports = __webpack_require__(5)(false);
  2678. // Module
  2679. exports.push([module.i, ".van-info{position:absolute;top:0;right:0;box-sizing:border-box;min-width:16px;padding:0 3px;color:#fff;font-weight:500;font-size:12px;font-family:-apple-system-font,Helvetica Neue,Arial,sans-serif;line-height:1.2;text-align:center;background-color:#ffce6d;border:1px solid #fff;border-radius:16px;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%);-webkit-transform-origin:100%;transform-origin:100%}.van-info--dot{width:8px;min-width:0;height:8px;background-color:#ffce6d;border-radius:100%}", ""]);
  2680. /***/ }),
  2681. /***/ 45:
  2682. /***/ (function(module, exports, __webpack_require__) {
  2683. var content = __webpack_require__(46);
  2684. if(typeof content === 'string') content = [[module.i, content, '']];
  2685. var transform;
  2686. var insertInto;
  2687. var options = {"hmr":true}
  2688. options.transform = transform
  2689. options.insertInto = undefined;
  2690. var update = __webpack_require__(6)(content, options);
  2691. if(content.locals) module.exports = content.locals;
  2692. if(false) {}
  2693. /***/ }),
  2694. /***/ 46:
  2695. /***/ (function(module, exports, __webpack_require__) {
  2696. exports = module.exports = __webpack_require__(5)(false);
  2697. // Module
  2698. exports.push([module.i, "@font-face{font-weight:400;font-family:vant-icon;font-style:normal;font-display:auto;src:url(data:font/ttf;base64,d09GMgABAAAAAF7YAAsAAAAA4igAAF6FAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGVgCcZgqC/nCCuSwBNgIkA4c8C4NgAAQgBYR2B5RVG7y8J2ReK87drapqKAwhI4qSQGuzAy1sHMCgrWnZ//+flHSM4QAYWFrlrf9gVtv23tF2JUvlQFfKUKAgDpGWBE95ZSjamzhpK//bfiU6h8gMMx2m+jEdKqNwiSVpeTSCpKFcn7CTL/i2VRubdqOXMtE0guHu73pP+XNbjJG+1C+njuHxj3Jq8qJR1OXh/w/1vqwtmM2x7QnHVksBKtAUqFC4pwRrWP7xDq1mS26z3z1tGYTBY3AMUW42ISSEJLBJSLIBQiAJbx7IRza8hoSEJw8IBH6F8HyagAoB34ogiP71I2p9CVZbRatYBVsFq23VVvF5oY/aaj0xivaqtu6E3YKmbm+bXkYSZDDnfQrspiWinHCYjoXasLX3oXIz19ubOTK3tvYpUI+S/ta+aJ8rAoLIUT1akSImAN4apvHTAPDN9WkmCC0g+X2HX3jSlsuybOvG9nNkea/HSREsguF54Jg9wCkNZIoTPLHrRdZVfghkbVdCezVg6hMbMR4E4LZumFe/QbolQz96VC/Z815gNXWwBua5EHnIMDFVFzSOAWSQEmRqxXMlkTv2r49ne5gzbMaKCzOynRR2C0xPJEGg3dBCkf3RfKVvHJcAjmFhvnfqfzNp39vdmaRZGGkMzUU7hpQo7QUAQaCUuLQvj/N2e97xj/Qr/Wo0tlx8tSyy45YThwqXCmxYBI3fT0+VEtuXX000QofCTSMpADCqQg7Jz9WIEagNzgt5xEFEwLaW/5usdpt3ued6SCHVjEj4Ae30z7+pli2GFO+oi9TFrPcoV7m/kCufi85N99MA+PNnBpwZANJgAC4HkLgEQEocQOQiUPuQxAUGXC1JhSeS2gsxYgBqDyQlH0BeoDaKDiFVF1LqzpX72IVYrjsXrUsX3W7nunTporyiNEbsSB70bACWRpgGRqFitklozgzKAIZ3qk3SDL7763UmuAZ/PToWxTRNU0SkY6mHU4cx99/Dxhv7CHFmphgouhFRMXv9cXf3slm/dP3Ee/TeslVEq0gSIjOTBL7eHAEqfpJ5LA6Msjge6NwtTjzZpQHD6XHQPFwcHjQK7Aklh+eC2ffYkEHm4nIEt84Sz6pD8IJ5lv0AVudosgCSv9mngHX2mQKBmXmQBf14/NmhN5ZpY/u079j0GZ7xE24uhPT7/590OFonCIMRf5jwJXmptGnZjsvthcYPHQMTjMVfgEBsQTiCheDi4QsVJlyESFEEhETEosWQkJKRU4ilhFCJEy9BoiTJZlADQWAIFI5AotAYLA5PIJIoVBqdwWSxOVweXyCWSGVyhVKl1mh1eoPRZHZ2cXVz9/D08vbx9fPvH8/X+/P9URVESVZUTTdMy3Zczw/CKE7SLC/Kqm7arh/GaV7WbT+ut7f3D06ub27v7h8r1Vq90Wy1O91efzgaT6az+WK5Wm+2u/3heDpfnp5fXt/ePz6/vn9+/0rHhYdy8dkciTbHgIK9o0HUCM7/hUATAYxARhAjmBHCCGWEMcIZEYxIRhQjmhHDiGXEERIEIVEIkoQhWQRSRCFVDKSJhXRxkCEeMiVAlkTIlgQ5kiFXCuRJhXxpUCAdCmVAkUwolgUlsqFUDpTJhXJ5UCEfKhVAlUKoVgQ1iqFWCdQphXpl0KAcGlVAk0poVgUtqqFVDbSphXZ10KEeOjVAl0bo1gQ9mqFXC/RphX7aYIB2GKQDhuiEYbpghG4YpQfG6IVx+mCCfphkAKYYhGmGYIZhmGUE5hiFecZggXFYZAKWmIRlpmCFaVhlBtaYhXXmYIN52GQBtliEbZZgh2XYZQX2WIV91uCAdThkA47YhGO24IRtOGUHztiFc/bggn245ACuOIRrjuCGY7jlBO44hXvO4IFzeOQCnriEZ67ghWt4xQ285hbecAdvuYd3PMB7HuGDJ/joGT55gc9e4Ys3+OodvvmA7z7hhy/46Rt++YE/fuGvP/jnH5ZogAKEKEKEZ4hRggRlSFGBDFXIUYMCdSjRgApNqNGCBm1o0YEOXejRgwF9GGEAYwxhghFMMYYZJjDHFBaYwRJzWGEBa7zABkvYYgU7rGGPDRywhSN2cMIezjjABUe44gQ3nOGOCzxwhSdu8MId3njAB6/wxRv88BX+vqECFWFRFQ414VEXAQ0R0RQJLZHRFgUdUdEVgJ5A9AVhKBgjIRiLhonomIqBmZiYi4WFUCzFxkocrMXFRjxsxcdOAuwlxEEiHCXGSRKcJcVFMjxJjmcp8CIlXqXCm9R4lwYf0uJTOnxJj28Z8CMjfmVav1X3DCiBLLiSFQXZ8CA7ynKgCHJiILX/xtYi/WBjkX5fHMEJEI9A9gEY37G8t1O8tBL1rFExd5FCYPr/S/wTQ4p/l0YYfZaoO7lHF2n0hsbRMGmkQoTNrNlDTRgIpGARpanbIhFHf2IaMtBQZJL1iSAjgXilipC5JjHI+FoluUz+hh7cIj4KsdYhaiQ+hMaxhyhAqgJ9n/jMfJKNRSi5xnTN02GEyMc8Isl4JH63GGmYaD4PuA26JwVwaxBBVv/4WeSFUN2pweHmXs167W2/R/LF7vjtRUgrWtp+467ezCCZL00apkXMO5Fxli71vZtpxWbs6fn5TqeYzATSBXEcn6m2/NZYwHkcYjTbTBBxwX5LXGyVtA7qi5K6RnkuzpmtCBhQwFsrXgzAENWFIRIBmo40H49A9Eqmjz3mwobakodsgDfwYG/2Zx5AtP6n4WuoW8zqB2eR2SksiJj9ROTJZn9lLoo5s86gfQupSurF9NzV68YP8S3Kg/6M0HnJx9acVEzz51rIT7uFLK/k2CV3egg+Np1jbKEQlX5c1yuRL92RIvKcUx2//W3y98cSWGBkVTo1axaZPRDKFpMhsu6qZ7gIdg4JpaTbl5etNgLhj8qydJPSaF2Nh46W7um5LN/WgJ9nV9XkmidB98wuV5pbClecOu1jr04qaCFVYlpxDsxhyNskvc64Kut6rlIJat+6yDxAqFCaAcrNenNqYcuO1DSIWeYRrGW8tCUXblXleZqSne+KIVqqoCZJRqSroPNWpGm4cJzKCvOfMCRiBjj8DPz+aBDt9svVrl/25//TBAbEKURbEaVEVfu3ZU/2XidZtm+H+bxycEhTERN0UYxQ0cnOzty5Y7bEmP23L946swxTJE7cSFSpDjTntwZ36cPpzPG2zvitDRwbc09AduH60JhSyiIrO8Cg1IVK+jA+jW614seMH/RuQQT7Sa9yPovcpJhTqONabGLerB6T+2Zs0NuE0NKKc4f+oN6codw5FE+DMr5SarOw3HQ/JWiGEApovnZvHS42z/ugcIypDIacj9IsROZRhg2RJusVPEhqjwOSdgcC3N4jSEcw/IIMFRQQBPj12EfR0hhmCMzkEDlx3UaEYhsW2FdpGaRhCZVxBeayOosgVI1aCpyTwyie6QJSn1ea+CzI1so/+azd1Ea2YIPM5YDu2yrUiLkba5O8HXbfYV3r2rfQslnhykkrj8mrijRsyqTkPUwAzJWCweKO46gmoPFpuGWFwtYVZOxbr1jwgsrIJSD4Rghx+xlSHAg0n+1wkAslMgOAY985KIZ6hHk3UTcz5rK2ZKzoq0Xz4TnQSd8oytmWyEhIkVgANK40Ll7b0sXfaW2aF3DC75MOAeHmEyrjowuYy51Xb/DnwWvyzYGfUNwbdkt5xisaD87E+bN6vZQXL77ZMULrwFrp3ApgdJwaAN6Oji2IsjoehJ+KqANu5R6LU9wCt8TNWaLjtnjMLoYpHD3eFi1OjljV41XCe+JHG803zkZOMsFRjiyKCc8d8mYtYofLXxpj5aJ0pKucVqjBYmvrTXuyqDFB185cZLdqUvBGgcJ8/udh7qZT
  2699. /***/ }),
  2700. /***/ 47:
  2701. /***/ (function(module, exports, __webpack_require__) {
  2702. "use strict";
  2703. exports.__esModule = true;
  2704. exports.ChildrenMixin = ChildrenMixin;
  2705. exports.ParentMixin = ParentMixin;
  2706. var _vnodes = __webpack_require__(48);
  2707. function ChildrenMixin(_parent, options) {
  2708. var _inject, _computed;
  2709. if (options === void 0) {
  2710. options = {};
  2711. }
  2712. var indexKey = options.indexKey || 'index';
  2713. return {
  2714. inject: (_inject = {}, _inject[_parent] = {
  2715. default: null
  2716. }, _inject),
  2717. computed: (_computed = {
  2718. parent: function parent() {
  2719. if (this.disableBindRelation) {
  2720. return null;
  2721. }
  2722. return this[_parent];
  2723. }
  2724. }, _computed[indexKey] = function () {
  2725. this.bindRelation();
  2726. if (this.parent) {
  2727. return this.parent.children.indexOf(this);
  2728. }
  2729. return null;
  2730. }, _computed),
  2731. watch: {
  2732. disableBindRelation: function disableBindRelation(val) {
  2733. if (!val) {
  2734. this.bindRelation();
  2735. }
  2736. }
  2737. },
  2738. mounted: function mounted() {
  2739. this.bindRelation();
  2740. },
  2741. beforeDestroy: function beforeDestroy() {
  2742. var _this = this;
  2743. if (this.parent) {
  2744. this.parent.children = this.parent.children.filter(function (item) {
  2745. return item !== _this;
  2746. });
  2747. }
  2748. },
  2749. methods: {
  2750. bindRelation: function bindRelation() {
  2751. if (!this.parent || this.parent.children.indexOf(this) !== -1) {
  2752. return;
  2753. }
  2754. var children = [].concat(this.parent.children, [this]);
  2755. (0, _vnodes.sortChildren)(children, this.parent);
  2756. this.parent.children = children;
  2757. }
  2758. }
  2759. };
  2760. }
  2761. function ParentMixin(parent) {
  2762. return {
  2763. provide: function provide() {
  2764. var _ref;
  2765. return _ref = {}, _ref[parent] = this, _ref;
  2766. },
  2767. data: function data() {
  2768. return {
  2769. children: []
  2770. };
  2771. }
  2772. };
  2773. }
  2774. /***/ }),
  2775. /***/ 48:
  2776. /***/ (function(module, exports, __webpack_require__) {
  2777. "use strict";
  2778. exports.__esModule = true;
  2779. exports.sortChildren = sortChildren;
  2780. function flattenVNodes(vnodes) {
  2781. var result = [];
  2782. function traverse(vnodes) {
  2783. vnodes.forEach(function (vnode) {
  2784. result.push(vnode);
  2785. if (vnode.componentInstance) {
  2786. traverse(vnode.componentInstance.$children.map(function (item) {
  2787. return item.$vnode;
  2788. }));
  2789. }
  2790. if (vnode.children) {
  2791. traverse(vnode.children);
  2792. }
  2793. });
  2794. }
  2795. traverse(vnodes);
  2796. return result;
  2797. } // sort children instances by vnodes order
  2798. function sortChildren(children, parent) {
  2799. var componentOptions = parent.$vnode.componentOptions;
  2800. if (!componentOptions || !componentOptions.children) {
  2801. return;
  2802. }
  2803. var vnodes = flattenVNodes(componentOptions.children);
  2804. children.sort(function (a, b) {
  2805. return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);
  2806. });
  2807. }
  2808. /***/ }),
  2809. /***/ 5:
  2810. /***/ (function(module, exports, __webpack_require__) {
  2811. "use strict";
  2812. /*
  2813. MIT License http://www.opensource.org/licenses/mit-license.php
  2814. Author Tobias Koppers @sokra
  2815. */
  2816. // css base code, injected by the css-loader
  2817. module.exports = function (useSourceMap) {
  2818. var list = []; // return the list of modules as css string
  2819. list.toString = function toString() {
  2820. return this.map(function (item) {
  2821. var content = cssWithMappingToString(item, useSourceMap);
  2822. if (item[2]) {
  2823. return '@media ' + item[2] + '{' + content + '}';
  2824. } else {
  2825. return content;
  2826. }
  2827. }).join('');
  2828. }; // import a list of modules into the list
  2829. list.i = function (modules, mediaQuery) {
  2830. if (typeof modules === 'string') {
  2831. modules = [[null, modules, '']];
  2832. }
  2833. var alreadyImportedModules = {};
  2834. for (var i = 0; i < this.length; i++) {
  2835. var id = this[i][0];
  2836. if (id != null) {
  2837. alreadyImportedModules[id] = true;
  2838. }
  2839. }
  2840. for (i = 0; i < modules.length; i++) {
  2841. var item = modules[i]; // skip already imported module
  2842. // this implementation is not 100% perfect for weird media query combinations
  2843. // when a module is imported multiple times with different media queries.
  2844. // I hope this will never occur (Hey this way we have smaller bundles)
  2845. if (item[0] == null || !alreadyImportedModules[item[0]]) {
  2846. if (mediaQuery && !item[2]) {
  2847. item[2] = mediaQuery;
  2848. } else if (mediaQuery) {
  2849. item[2] = '(' + item[2] + ') and (' + mediaQuery + ')';
  2850. }
  2851. list.push(item);
  2852. }
  2853. }
  2854. };
  2855. return list;
  2856. };
  2857. function cssWithMappingToString(item, useSourceMap) {
  2858. var content = item[1] || '';
  2859. var cssMapping = item[3];
  2860. if (!cssMapping) {
  2861. return content;
  2862. }
  2863. if (useSourceMap && typeof btoa === 'function') {
  2864. var sourceMapping = toComment(cssMapping);
  2865. var sourceURLs = cssMapping.sources.map(function (source) {
  2866. return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */';
  2867. });
  2868. return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
  2869. }
  2870. return [content].join('\n');
  2871. } // Adapted from convert-source-map (MIT)
  2872. function toComment(sourceMap) {
  2873. // eslint-disable-next-line no-undef
  2874. var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
  2875. var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
  2876. return '/*# ' + data + ' */';
  2877. }
  2878. /***/ }),
  2879. /***/ 51:
  2880. /***/ (function(module, exports, __webpack_require__) {
  2881. "use strict";
  2882. exports.__esModule = true;
  2883. exports.TouchMixin = void 0;
  2884. var _event = __webpack_require__(30);
  2885. var MIN_DISTANCE = 10;
  2886. function getDirection(x, y) {
  2887. if (x > y && x > MIN_DISTANCE) {
  2888. return 'horizontal';
  2889. }
  2890. if (y > x && y > MIN_DISTANCE) {
  2891. return 'vertical';
  2892. }
  2893. return '';
  2894. }
  2895. var TouchMixin = {
  2896. data: function data() {
  2897. return {
  2898. direction: ''
  2899. };
  2900. },
  2901. methods: {
  2902. touchStart: function touchStart(event) {
  2903. this.resetTouchStatus();
  2904. this.startX = event.touches[0].clientX;
  2905. this.startY = event.touches[0].clientY;
  2906. },
  2907. touchMove: function touchMove(event) {
  2908. var touch = event.touches[0];
  2909. this.deltaX = touch.clientX - this.startX;
  2910. this.deltaY = touch.clientY - this.startY;
  2911. this.offsetX = Math.abs(this.deltaX);
  2912. this.offsetY = Math.abs(this.deltaY);
  2913. this.direction = this.direction || getDirection(this.offsetX, this.offsetY);
  2914. },
  2915. resetTouchStatus: function resetTouchStatus() {
  2916. this.direction = '';
  2917. this.deltaX = 0;
  2918. this.deltaY = 0;
  2919. this.offsetX = 0;
  2920. this.offsetY = 0;
  2921. },
  2922. // avoid Vue 2.6 event bubble issues by manually binding events
  2923. // https://github.com/youzan/vant/issues/3015
  2924. bindTouchEvent: function bindTouchEvent(el) {
  2925. var onTouchStart = this.onTouchStart,
  2926. onTouchMove = this.onTouchMove,
  2927. onTouchEnd = this.onTouchEnd;
  2928. (0, _event.on)(el, 'touchstart', onTouchStart);
  2929. (0, _event.on)(el, 'touchmove', onTouchMove);
  2930. if (onTouchEnd) {
  2931. (0, _event.on)(el, 'touchend', onTouchEnd);
  2932. (0, _event.on)(el, 'touchcancel', onTouchEnd);
  2933. }
  2934. }
  2935. }
  2936. };
  2937. exports.TouchMixin = TouchMixin;
  2938. /***/ }),
  2939. /***/ 53:
  2940. /***/ (function(module, exports, __webpack_require__) {
  2941. "use strict";
  2942. exports.__esModule = true;
  2943. exports.getScroller = getScroller;
  2944. exports.getScrollTop = getScrollTop;
  2945. exports.setScrollTop = setScrollTop;
  2946. exports.getRootScrollTop = getRootScrollTop;
  2947. exports.setRootScrollTop = setRootScrollTop;
  2948. exports.getElementTop = getElementTop;
  2949. exports.getVisibleHeight = getVisibleHeight;
  2950. exports.getVisibleTop = getVisibleTop;
  2951. function isWindow(val) {
  2952. return val === window;
  2953. } // get nearest scroll element
  2954. // https://github.com/youzan/vant/issues/3823
  2955. var overflowScrollReg = /scroll|auto/i;
  2956. function getScroller(el, root) {
  2957. if (root === void 0) {
  2958. root = window;
  2959. }
  2960. var node = el;
  2961. while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {
  2962. var _window$getComputedSt = window.getComputedStyle(node),
  2963. overflowY = _window$getComputedSt.overflowY;
  2964. if (overflowScrollReg.test(overflowY)) {
  2965. return node;
  2966. }
  2967. node = node.parentNode;
  2968. }
  2969. return root;
  2970. }
  2971. function getScrollTop(el) {
  2972. var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop
  2973. return Math.max(top, 0);
  2974. }
  2975. function setScrollTop(el, value) {
  2976. if ('scrollTop' in el) {
  2977. el.scrollTop = value;
  2978. } else {
  2979. el.scrollTo(el.scrollX, value);
  2980. }
  2981. }
  2982. function getRootScrollTop() {
  2983. return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
  2984. }
  2985. function setRootScrollTop(value) {
  2986. setScrollTop(window, value);
  2987. setScrollTop(document.body, value);
  2988. } // get distance from element top to page top or scroller top
  2989. function getElementTop(el, scroller) {
  2990. if (isWindow(el)) {
  2991. return 0;
  2992. }
  2993. var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();
  2994. return el.getBoundingClientRect().top + scrollTop;
  2995. }
  2996. function getVisibleHeight(el) {
  2997. if (isWindow(el)) {
  2998. return el.innerHeight;
  2999. }
  3000. return el.getBoundingClientRect().height;
  3001. }
  3002. function getVisibleTop(el) {
  3003. if (isWindow(el)) {
  3004. return 0;
  3005. }
  3006. return el.getBoundingClientRect().top;
  3007. }
  3008. /***/ }),
  3009. /***/ 6:
  3010. /***/ (function(module, exports, __webpack_require__) {
  3011. /*
  3012. MIT License http://www.opensource.org/licenses/mit-license.php
  3013. Author Tobias Koppers @sokra
  3014. */
  3015. var stylesInDom = {};
  3016. var memoize = function (fn) {
  3017. var memo;
  3018. return function () {
  3019. if (typeof memo === "undefined") memo = fn.apply(this, arguments);
  3020. return memo;
  3021. };
  3022. };
  3023. var isOldIE = memoize(function () {
  3024. // Test for IE <= 9 as proposed by Browserhacks
  3025. // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
  3026. // Tests for existence of standard globals is to allow style-loader
  3027. // to operate correctly into non-standard environments
  3028. // @see https://github.com/webpack-contrib/style-loader/issues/177
  3029. return window && document && document.all && !window.atob;
  3030. });
  3031. var getTarget = function (target, parent) {
  3032. if (parent){
  3033. return parent.querySelector(target);
  3034. }
  3035. return document.querySelector(target);
  3036. };
  3037. var getElement = (function (fn) {
  3038. var memo = {};
  3039. return function(target, parent) {
  3040. // If passing function in options, then use it for resolve "head" element.
  3041. // Useful for Shadow Root style i.e
  3042. // {
  3043. // insertInto: function () { return document.querySelector("#foo").shadowRoot }
  3044. // }
  3045. if (typeof target === 'function') {
  3046. return target();
  3047. }
  3048. if (typeof memo[target] === "undefined") {
  3049. var styleTarget = getTarget.call(this, target, parent);
  3050. // Special case to return head of iframe instead of iframe itself
  3051. if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
  3052. try {
  3053. // This will throw an exception if access to iframe is blocked
  3054. // due to cross-origin restrictions
  3055. styleTarget = styleTarget.contentDocument.head;
  3056. } catch(e) {
  3057. styleTarget = null;
  3058. }
  3059. }
  3060. memo[target] = styleTarget;
  3061. }
  3062. return memo[target]
  3063. };
  3064. })();
  3065. var singleton = null;
  3066. var singletonCounter = 0;
  3067. var stylesInsertedAtTop = [];
  3068. var fixUrls = __webpack_require__(12);
  3069. module.exports = function(list, options) {
  3070. if (typeof DEBUG !== "undefined" && DEBUG) {
  3071. if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment");
  3072. }
  3073. options = options || {};
  3074. options.attrs = typeof options.attrs === "object" ? options.attrs : {};
  3075. // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
  3076. // tags it will allow on a page
  3077. if (!options.singleton && typeof options.singleton !== "boolean") options.singleton = isOldIE();
  3078. // By default, add <style> tags to the <head> element
  3079. if (!options.insertInto) options.insertInto = "head";
  3080. // By default, add <style> tags to the bottom of the target
  3081. if (!options.insertAt) options.insertAt = "bottom";
  3082. var styles = listToStyles(list, options);
  3083. addStylesToDom(styles, options);
  3084. return function update (newList) {
  3085. var mayRemove = [];
  3086. for (var i = 0; i < styles.length; i++) {
  3087. var item = styles[i];
  3088. var domStyle = stylesInDom[item.id];
  3089. domStyle.refs--;
  3090. mayRemove.push(domStyle);
  3091. }
  3092. if(newList) {
  3093. var newStyles = listToStyles(newList, options);
  3094. addStylesToDom(newStyles, options);
  3095. }
  3096. for (var i = 0; i < mayRemove.length; i++) {
  3097. var domStyle = mayRemove[i];
  3098. if(domStyle.refs === 0) {
  3099. for (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();
  3100. delete stylesInDom[domStyle.id];
  3101. }
  3102. }
  3103. };
  3104. };
  3105. function addStylesToDom (styles, options) {
  3106. for (var i = 0; i < styles.length; i++) {
  3107. var item = styles[i];
  3108. var domStyle = stylesInDom[item.id];
  3109. if(domStyle) {
  3110. domStyle.refs++;
  3111. for(var j = 0; j < domStyle.parts.length; j++) {
  3112. domStyle.parts[j](item.parts[j]);
  3113. }
  3114. for(; j < item.parts.length; j++) {
  3115. domStyle.parts.push(addStyle(item.parts[j], options));
  3116. }
  3117. } else {
  3118. var parts = [];
  3119. for(var j = 0; j < item.parts.length; j++) {
  3120. parts.push(addStyle(item.parts[j], options));
  3121. }
  3122. stylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};
  3123. }
  3124. }
  3125. }
  3126. function listToStyles (list, options) {
  3127. var styles = [];
  3128. var newStyles = {};
  3129. for (var i = 0; i < list.length; i++) {
  3130. var item = list[i];
  3131. var id = options.base ? item[0] + options.base : item[0];
  3132. var css = item[1];
  3133. var media = item[2];
  3134. var sourceMap = item[3];
  3135. var part = {css: css, media: media, sourceMap: sourceMap};
  3136. if(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});
  3137. else newStyles[id].parts.push(part);
  3138. }
  3139. return styles;
  3140. }
  3141. function insertStyleElement (options, style) {
  3142. var target = getElement(options.insertInto)
  3143. if (!target) {
  3144. throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
  3145. }
  3146. var lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];
  3147. if (options.insertAt === "top") {
  3148. if (!lastStyleElementInsertedAtTop) {
  3149. target.insertBefore(style, target.firstChild);
  3150. } else if (lastStyleElementInsertedAtTop.nextSibling) {
  3151. target.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);
  3152. } else {
  3153. target.appendChild(style);
  3154. }
  3155. stylesInsertedAtTop.push(style);
  3156. } else if (options.insertAt === "bottom") {
  3157. target.appendChild(style);
  3158. } else if (typeof options.insertAt === "object" && options.insertAt.before) {
  3159. var nextSibling = getElement(options.insertAt.before, target);
  3160. target.insertBefore(style, nextSibling);
  3161. } else {
  3162. throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");
  3163. }
  3164. }
  3165. function removeStyleElement (style) {
  3166. if (style.parentNode === null) return false;
  3167. style.parentNode.removeChild(style);
  3168. var idx = stylesInsertedAtTop.indexOf(style);
  3169. if(idx >= 0) {
  3170. stylesInsertedAtTop.splice(idx, 1);
  3171. }
  3172. }
  3173. function createStyleElement (options) {
  3174. var style = document.createElement("style");
  3175. if(options.attrs.type === undefined) {
  3176. options.attrs.type = "text/css";
  3177. }
  3178. if(options.attrs.nonce === undefined) {
  3179. var nonce = getNonce();
  3180. if (nonce) {
  3181. options.attrs.nonce = nonce;
  3182. }
  3183. }
  3184. addAttrs(style, options.attrs);
  3185. insertStyleElement(options, style);
  3186. return style;
  3187. }
  3188. function createLinkElement (options) {
  3189. var link = document.createElement("link");
  3190. if(options.attrs.type === undefined) {
  3191. options.attrs.type = "text/css";
  3192. }
  3193. options.attrs.rel = "stylesheet";
  3194. addAttrs(link, options.attrs);
  3195. insertStyleElement(options, link);
  3196. return link;
  3197. }
  3198. function addAttrs (el, attrs) {
  3199. Object.keys(attrs).forEach(function (key) {
  3200. el.setAttribute(key, attrs[key]);
  3201. });
  3202. }
  3203. function getNonce() {
  3204. if (false) {}
  3205. return __webpack_require__.nc;
  3206. }
  3207. function addStyle (obj, options) {
  3208. var style, update, remove, result;
  3209. // If a transform function was defined, run it on the css
  3210. if (options.transform && obj.css) {
  3211. result = typeof options.transform === 'function'
  3212. ? options.transform(obj.css)
  3213. : options.transform.default(obj.css);
  3214. if (result) {
  3215. // If transform returns a value, use that instead of the original css.
  3216. // This allows running runtime transformations on the css.
  3217. obj.css = result;
  3218. } else {
  3219. // If the transform function returns a falsy value, don't add this css.
  3220. // This allows conditional loading of css
  3221. return function() {
  3222. // noop
  3223. };
  3224. }
  3225. }
  3226. if (options.singleton) {
  3227. var styleIndex = singletonCounter++;
  3228. style = singleton || (singleton = createStyleElement(options));
  3229. update = applyToSingletonTag.bind(null, style, styleIndex, false);
  3230. remove = applyToSingletonTag.bind(null, style, styleIndex, true);
  3231. } else if (
  3232. obj.sourceMap &&
  3233. typeof URL === "function" &&
  3234. typeof URL.createObjectURL === "function" &&
  3235. typeof URL.revokeObjectURL === "function" &&
  3236. typeof Blob === "function" &&
  3237. typeof btoa === "function"
  3238. ) {
  3239. style = createLinkElement(options);
  3240. update = updateLink.bind(null, style, options);
  3241. remove = function () {
  3242. removeStyleElement(style);
  3243. if(style.href) URL.revokeObjectURL(style.href);
  3244. };
  3245. } else {
  3246. style = createStyleElement(options);
  3247. update = applyToTag.bind(null, style);
  3248. remove = function () {
  3249. removeStyleElement(style);
  3250. };
  3251. }
  3252. update(obj);
  3253. return function updateStyle (newObj) {
  3254. if (newObj) {
  3255. if (
  3256. newObj.css === obj.css &&
  3257. newObj.media === obj.media &&
  3258. newObj.sourceMap === obj.sourceMap
  3259. ) {
  3260. return;
  3261. }
  3262. update(obj = newObj);
  3263. } else {
  3264. remove();
  3265. }
  3266. };
  3267. }
  3268. var replaceText = (function () {
  3269. var textStore = [];
  3270. return function (index, replacement) {
  3271. textStore[index] = replacement;
  3272. return textStore.filter(Boolean).join('\n');
  3273. };
  3274. })();
  3275. function applyToSingletonTag (style, index, remove, obj) {
  3276. var css = remove ? "" : obj.css;
  3277. if (style.styleSheet) {
  3278. style.styleSheet.cssText = replaceText(index, css);
  3279. } else {
  3280. var cssNode = document.createTextNode(css);
  3281. var childNodes = style.childNodes;
  3282. if (childNodes[index]) style.removeChild(childNodes[index]);
  3283. if (childNodes.length) {
  3284. style.insertBefore(cssNode, childNodes[index]);
  3285. } else {
  3286. style.appendChild(cssNode);
  3287. }
  3288. }
  3289. }
  3290. function applyToTag (style, obj) {
  3291. var css = obj.css;
  3292. var media = obj.media;
  3293. if(media) {
  3294. style.setAttribute("media", media)
  3295. }
  3296. if(style.styleSheet) {
  3297. style.styleSheet.cssText = css;
  3298. } else {
  3299. while(style.firstChild) {
  3300. style.removeChild(style.firstChild);
  3301. }
  3302. style.appendChild(document.createTextNode(css));
  3303. }
  3304. }
  3305. function updateLink (link, options, obj) {
  3306. var css = obj.css;
  3307. var sourceMap = obj.sourceMap;
  3308. /*
  3309. If convertToAbsoluteUrls isn't defined, but sourcemaps are enabled
  3310. and there is no publicPath defined then lets turn convertToAbsoluteUrls
  3311. on by default. Otherwise default to the convertToAbsoluteUrls option
  3312. directly
  3313. */
  3314. var autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;
  3315. if (options.convertToAbsoluteUrls || autoFixUrls) {
  3316. css = fixUrls(css);
  3317. }
  3318. if (sourceMap) {
  3319. // http://stackoverflow.com/a/26603875
  3320. css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */";
  3321. }
  3322. var blob = new Blob([css], { type: "text/css" });
  3323. var oldSrc = link.href;
  3324. link.href = URL.createObjectURL(blob);
  3325. if(oldSrc) URL.revokeObjectURL(oldSrc);
  3326. }
  3327. /***/ }),
  3328. /***/ 60:
  3329. /***/ (function(module, exports, __webpack_require__) {
  3330. "use strict";
  3331. exports.__esModule = true;
  3332. exports.BindEventMixin = BindEventMixin;
  3333. var _event = __webpack_require__(30);
  3334. /**
  3335. * Bind event when mounted or activated
  3336. */
  3337. var uid = 0;
  3338. function BindEventMixin(handler) {
  3339. var key = "binded_" + uid++;
  3340. function bind() {
  3341. if (!this[key]) {
  3342. handler.call(this, _event.on, true);
  3343. this[key] = true;
  3344. }
  3345. }
  3346. function unbind() {
  3347. if (this[key]) {
  3348. handler.call(this, _event.off, false);
  3349. this[key] = false;
  3350. }
  3351. }
  3352. return {
  3353. mounted: bind,
  3354. activated: bind,
  3355. deactivated: unbind,
  3356. beforeDestroy: unbind
  3357. };
  3358. }
  3359. /***/ }),
  3360. /***/ 64:
  3361. /***/ (function(module, exports, __webpack_require__) {
  3362. "use strict";
  3363. exports.__esModule = true;
  3364. exports.removeNode = removeNode;
  3365. function removeNode(el) {
  3366. var parent = el.parentNode;
  3367. if (parent) {
  3368. parent.removeChild(el);
  3369. }
  3370. }
  3371. /***/ }),
  3372. /***/ 67:
  3373. /***/ (function(module, exports, __webpack_require__) {
  3374. "use strict";
  3375. exports.__esModule = true;
  3376. exports.context = void 0;
  3377. var context = {
  3378. zIndex: 2000,
  3379. lockCount: 0,
  3380. stack: [],
  3381. find: function find(vm) {
  3382. return this.stack.filter(function (item) {
  3383. return item.vm === vm;
  3384. })[0];
  3385. }
  3386. };
  3387. exports.context = context;
  3388. /***/ }),
  3389. /***/ 71:
  3390. /***/ (function(module, exports, __webpack_require__) {
  3391. "use strict";
  3392. var _interopRequireDefault = __webpack_require__(1);
  3393. exports.__esModule = true;
  3394. exports.default = void 0;
  3395. var _babelHelperVueJsxMergeProps = _interopRequireDefault(__webpack_require__(16));
  3396. var _utils = __webpack_require__(0);
  3397. var _functional = __webpack_require__(14);
  3398. // Utils
  3399. var _createNamespace = (0, _utils.createNamespace)('loading'),
  3400. createComponent = _createNamespace[0],
  3401. bem = _createNamespace[1];
  3402. function LoadingIcon(h, props) {
  3403. if (props.type === 'spinner') {
  3404. var Spin = [];
  3405. for (var i = 0; i < 12; i++) {
  3406. Spin.push(h("i"));
  3407. }
  3408. return Spin;
  3409. }
  3410. return h("svg", {
  3411. "class": bem('circular'),
  3412. "attrs": {
  3413. "viewBox": "25 25 50 50"
  3414. }
  3415. }, [h("circle", {
  3416. "attrs": {
  3417. "cx": "50",
  3418. "cy": "50",
  3419. "r": "20",
  3420. "fill": "none"
  3421. }
  3422. })]);
  3423. }
  3424. function LoadingText(h, props, slots) {
  3425. if (slots.default) {
  3426. var _props$textColor;
  3427. var style = {
  3428. fontSize: (0, _utils.addUnit)(props.textSize),
  3429. color: (_props$textColor = props.textColor) != null ? _props$textColor : props.color
  3430. };
  3431. return h("span", {
  3432. "class": bem('text'),
  3433. "style": style
  3434. }, [slots.default()]);
  3435. }
  3436. }
  3437. function Loading(h, props, slots, ctx) {
  3438. var color = props.color,
  3439. size = props.size,
  3440. type = props.type;
  3441. var style = {
  3442. color: color
  3443. };
  3444. if (size) {
  3445. var iconSize = (0, _utils.addUnit)(size);
  3446. style.width = iconSize;
  3447. style.height = iconSize;
  3448. }
  3449. return h("div", (0, _babelHelperVueJsxMergeProps.default)([{
  3450. "class": bem([type, {
  3451. vertical: props.vertical
  3452. }])
  3453. }, (0, _functional.inherit)(ctx, true)]), [h("span", {
  3454. "class": bem('spinner', type),
  3455. "style": style
  3456. }, [LoadingIcon(h, props)]), LoadingText(h, props, slots)]);
  3457. }
  3458. Loading.props = {
  3459. color: String,
  3460. size: [Number, String],
  3461. vertical: Boolean,
  3462. textSize: [Number, String],
  3463. textColor: String,
  3464. type: {
  3465. type: String,
  3466. default: 'circular'
  3467. }
  3468. };
  3469. var _default = createComponent(Loading);
  3470. exports.default = _default;
  3471. /***/ }),
  3472. /***/ 73:
  3473. /***/ (function(module, exports, __webpack_require__) {
  3474. var content = __webpack_require__(74);
  3475. if(typeof content === 'string') content = [[module.i, content, '']];
  3476. var transform;
  3477. var insertInto;
  3478. var options = {"hmr":true}
  3479. options.transform = transform
  3480. options.insertInto = undefined;
  3481. var update = __webpack_require__(6)(content, options);
  3482. if(content.locals) module.exports = content.locals;
  3483. if(false) {}
  3484. /***/ }),
  3485. /***/ 74:
  3486. /***/ (function(module, exports, __webpack_require__) {
  3487. exports = module.exports = __webpack_require__(5)(false);
  3488. // Module
  3489. exports.push([module.i, ".van-loading{position:relative;color:#c8c9cc;font-size:0;vertical-align:middle}.van-loading__spinner{position:relative;display:inline-block;width:30px;max-width:100%;height:30px;max-height:100%;vertical-align:middle;-webkit-animation:van-rotate .8s linear infinite;animation:van-rotate .8s linear infinite}.van-loading__spinner--spinner{-webkit-animation-timing-function:steps(12);animation-timing-function:steps(12)}.van-loading__spinner--spinner i{position:absolute;top:0;left:0;width:100%;height:100%}.van-loading__spinner--spinner i::before{display:block;width:2px;height:25%;margin:0 auto;background-color:currentColor;border-radius:40%;content:' '}.van-loading__spinner--circular{-webkit-animation-duration:2s;animation-duration:2s}.van-loading__circular{display:block;width:100%;height:100%}.van-loading__circular circle{-webkit-animation:van-circular 1.5s ease-in-out infinite;animation:van-circular 1.5s ease-in-out infinite;stroke:currentColor;stroke-width:3;stroke-linecap:round}.van-loading__text{display:inline-block;margin-left:8px;color:#969799;font-size:14px;vertical-align:middle}.van-loading--vertical{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.van-loading--vertical .van-loading__text{margin:8px 0 0}@-webkit-keyframes van-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}100%{stroke-dasharray:90,150;stroke-dashoffset:-120}}@keyframes van-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}100%{stroke-dasharray:90,150;stroke-dashoffset:-120}}.van-loading__spinner--spinner i:nth-of-type(1){-webkit-transform:rotate(30deg);transform:rotate(30deg);opacity:1}.van-loading__spinner--spinner i:nth-of-type(2){-webkit-transform:rotate(60deg);transform:rotate(60deg);opacity:.9375}.van-loading__spinner--spinner i:nth-of-type(3){-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:.875}.van-loading__spinner--spinner i:nth-of-type(4){-webkit-transform:rotate(120deg);transform:rotate(120deg);opacity:.8125}.van-loading__spinner--spinner i:nth-of-type(5){-webkit-transform:rotate(150deg);transform:rotate(150deg);opacity:.75}.van-loading__spinner--spinner i:nth-of-type(6){-webkit-transform:rotate(180deg);transform:rotate(180deg);opacity:.6875}.van-loading__spinner--spinner i:nth-of-type(7){-webkit-transform:rotate(210deg);transform:rotate(210deg);opacity:.625}.van-loading__spinner--spinner i:nth-of-type(8){-webkit-transform:rotate(240deg);transform:rotate(240deg);opacity:.5625}.van-loading__spinner--spinner i:nth-of-type(9){-webkit-transform:rotate(270deg);transform:rotate(270deg);opacity:.5}.van-loading__spinner--spinner i:nth-of-type(10){-webkit-transform:rotate(300deg);transform:rotate(300deg);opacity:.4375}.van-loading__spinner--spinner i:nth-of-type(11){-webkit-transform:rotate(330deg);transform:rotate(330deg);opacity:.375}.van-loading__spinner--spinner i:nth-of-type(12){-webkit-transform:rotate(360deg);transform:rotate(360deg);opacity:.3125}", ""]);
  3490. /***/ }),
  3491. /***/ 75:
  3492. /***/ (function(module, exports, __webpack_require__) {
  3493. "use strict";
  3494. exports.__esModule = true;
  3495. exports.PopupMixin = PopupMixin;
  3496. exports.popupMixinProps = void 0;
  3497. var _context = __webpack_require__(67);
  3498. var _overlay = __webpack_require__(84);
  3499. var _event = __webpack_require__(30);
  3500. var _node = __webpack_require__(64);
  3501. var _scroll = __webpack_require__(53);
  3502. var _touch = __webpack_require__(51);
  3503. var _portal = __webpack_require__(78);
  3504. var _closeOnPopstate = __webpack_require__(85);
  3505. // Context
  3506. // Utils
  3507. // Mixins
  3508. var popupMixinProps = {
  3509. // Initial rendering animation
  3510. transitionAppear: Boolean,
  3511. // whether to show popup
  3512. value: Boolean,
  3513. // whether to show overlay
  3514. overlay: Boolean,
  3515. // overlay custom style
  3516. overlayStyle: Object,
  3517. // overlay custom class name
  3518. overlayClass: String,
  3519. // whether to close popup when overlay is clicked
  3520. closeOnClickOverlay: Boolean,
  3521. // z-index
  3522. zIndex: [Number, String],
  3523. // prevent body scroll
  3524. lockScroll: {
  3525. type: Boolean,
  3526. default: true
  3527. },
  3528. // whether to lazy render
  3529. lazyRender: {
  3530. type: Boolean,
  3531. default: true
  3532. }
  3533. };
  3534. exports.popupMixinProps = popupMixinProps;
  3535. function PopupMixin(options) {
  3536. if (options === void 0) {
  3537. options = {};
  3538. }
  3539. return {
  3540. mixins: [_touch.TouchMixin, _closeOnPopstate.CloseOnPopstateMixin, (0, _portal.PortalMixin)({
  3541. afterPortal: function afterPortal() {
  3542. if (this.overlay) {
  3543. (0, _overlay.updateOverlay)();
  3544. }
  3545. }
  3546. })],
  3547. props: popupMixinProps,
  3548. data: function data() {
  3549. return {
  3550. inited: this.value
  3551. };
  3552. },
  3553. computed: {
  3554. shouldRender: function shouldRender() {
  3555. return this.inited || !this.lazyRender;
  3556. }
  3557. },
  3558. watch: {
  3559. value: function value(val) {
  3560. var type = val ? 'open' : 'close';
  3561. this.inited = this.inited || this.value;
  3562. this[type]();
  3563. if (!options.skipToggleEvent) {
  3564. this.$emit(type);
  3565. }
  3566. },
  3567. overlay: 'renderOverlay'
  3568. },
  3569. mounted: function mounted() {
  3570. if (this.value) {
  3571. this.open();
  3572. }
  3573. },
  3574. /* istanbul ignore next */
  3575. activated: function activated() {
  3576. if (this.shouldReopen) {
  3577. this.$emit('input', true);
  3578. this.shouldReopen = false;
  3579. }
  3580. },
  3581. beforeDestroy: function beforeDestroy() {
  3582. (0, _overlay.removeOverlay)(this);
  3583. if (this.opened) {
  3584. this.removeLock();
  3585. }
  3586. if (this.getContainer) {
  3587. (0, _node.removeNode)(this.$el);
  3588. }
  3589. },
  3590. /* istanbul ignore next */
  3591. deactivated: function deactivated() {
  3592. if (this.value) {
  3593. this.close();
  3594. this.shouldReopen = true;
  3595. }
  3596. },
  3597. methods: {
  3598. open: function open() {
  3599. /* istanbul ignore next */
  3600. if (this.$isServer || this.opened) {
  3601. return;
  3602. } // cover default zIndex
  3603. if (this.zIndex !== undefined) {
  3604. _context.context.zIndex = this.zIndex;
  3605. }
  3606. this.opened = true;
  3607. this.renderOverlay();
  3608. this.addLock();
  3609. },
  3610. addLock: function addLock() {
  3611. if (this.lockScroll) {
  3612. (0, _event.on)(document, 'touchstart', this.touchStart);
  3613. (0, _event.on)(document, 'touchmove', this.onTouchMove);
  3614. if (!_context.context.lockCount) {
  3615. document.body.classList.add('van-overflow-hidden');
  3616. }
  3617. _context.context.lockCount++;
  3618. }
  3619. },
  3620. removeLock: function removeLock() {
  3621. if (this.lockScroll && _context.context.lockCount) {
  3622. _context.context.lockCount--;
  3623. (0, _event.off)(document, 'touchstart', this.touchStart);
  3624. (0, _event.off)(document, 'touchmove', this.onTouchMove);
  3625. if (!_context.context.lockCount) {
  3626. document.body.classList.remove('van-overflow-hidden');
  3627. }
  3628. }
  3629. },
  3630. close: function close() {
  3631. if (!this.opened) {
  3632. return;
  3633. }
  3634. (0, _overlay.closeOverlay)(this);
  3635. this.opened = false;
  3636. this.removeLock();
  3637. this.$emit('input', false);
  3638. },
  3639. onTouchMove: function onTouchMove(event) {
  3640. this.touchMove(event);
  3641. var direction = this.deltaY > 0 ? '10' : '01';
  3642. var el = (0, _scroll.getScroller)(event.target, this.$el);
  3643. var scrollHeight = el.scrollHeight,
  3644. offsetHeight = el.offsetHeight,
  3645. scrollTop = el.scrollTop;
  3646. var status = '11';
  3647. /* istanbul ignore next */
  3648. if (scrollTop === 0) {
  3649. status = offsetHeight >= scrollHeight ? '00' : '01';
  3650. } else if (scrollTop + offsetHeight >= scrollHeight) {
  3651. status = '10';
  3652. }
  3653. /* istanbul ignore next */
  3654. if (status !== '11' && this.direction === 'vertical' && !(parseInt(status, 2) & parseInt(direction, 2))) {
  3655. (0, _event.preventDefault)(event, true);
  3656. }
  3657. },
  3658. renderOverlay: function renderOverlay() {
  3659. var _this = this;
  3660. if (this.$isServer || !this.value) {
  3661. return;
  3662. }
  3663. this.$nextTick(function () {
  3664. _this.updateZIndex(_this.overlay ? 1 : 0);
  3665. if (_this.overlay) {
  3666. (0, _overlay.openOverlay)(_this, {
  3667. zIndex: _context.context.zIndex++,
  3668. duration: _this.duration,
  3669. className: _this.overlayClass,
  3670. customStyle: _this.overlayStyle
  3671. });
  3672. } else {
  3673. (0, _overlay.closeOverlay)(_this);
  3674. }
  3675. });
  3676. },
  3677. updateZIndex: function updateZIndex(value) {
  3678. if (value === void 0) {
  3679. value = 0;
  3680. }
  3681. this.$el.style.zIndex = ++_context.context.zIndex + value;
  3682. }
  3683. }
  3684. };
  3685. }
  3686. /***/ }),
  3687. /***/ 76:
  3688. /***/ (function(module, exports, __webpack_require__) {
  3689. "use strict";
  3690. var _interopRequireDefault = __webpack_require__(1);
  3691. exports.__esModule = true;
  3692. exports.default = void 0;
  3693. var _babelHelperVueJsxMergeProps = _interopRequireDefault(__webpack_require__(16));
  3694. var _extends2 = _interopRequireDefault(__webpack_require__(18));
  3695. var _utils = __webpack_require__(0);
  3696. var _functional = __webpack_require__(14);
  3697. var _event = __webpack_require__(30);
  3698. // Utils
  3699. var _createNamespace = (0, _utils.createNamespace)('overlay'),
  3700. createComponent = _createNamespace[0],
  3701. bem = _createNamespace[1];
  3702. function preventTouchMove(event) {
  3703. (0, _event.preventDefault)(event, true);
  3704. }
  3705. function Overlay(h, props, slots, ctx) {
  3706. var style = (0, _extends2.default)({
  3707. zIndex: props.zIndex
  3708. }, props.customStyle);
  3709. if ((0, _utils.isDef)(props.duration)) {
  3710. style.animationDuration = props.duration + "s";
  3711. }
  3712. return h("transition", {
  3713. "attrs": {
  3714. "name": "van-fade"
  3715. }
  3716. }, [h("div", (0, _babelHelperVueJsxMergeProps.default)([{
  3717. "directives": [{
  3718. name: "show",
  3719. value: props.show
  3720. }],
  3721. "style": style,
  3722. "class": [bem(), props.className],
  3723. "on": {
  3724. "touchmove": props.lockScroll ? preventTouchMove : _utils.noop
  3725. }
  3726. }, (0, _functional.inherit)(ctx, true)]), [slots.default == null ? void 0 : slots.default()])]);
  3727. }
  3728. Overlay.props = {
  3729. show: Boolean,
  3730. zIndex: [Number, String],
  3731. duration: [Number, String],
  3732. className: null,
  3733. customStyle: Object,
  3734. lockScroll: {
  3735. type: Boolean,
  3736. default: true
  3737. }
  3738. };
  3739. var _default = createComponent(Overlay);
  3740. exports.default = _default;
  3741. /***/ }),
  3742. /***/ 78:
  3743. /***/ (function(module, exports, __webpack_require__) {
  3744. "use strict";
  3745. exports.__esModule = true;
  3746. exports.PortalMixin = PortalMixin;
  3747. function getElement(selector) {
  3748. if (typeof selector === 'string') {
  3749. return document.querySelector(selector);
  3750. }
  3751. return selector();
  3752. }
  3753. function PortalMixin(_temp) {
  3754. var _ref = _temp === void 0 ? {} : _temp,
  3755. ref = _ref.ref,
  3756. afterPortal = _ref.afterPortal;
  3757. return {
  3758. props: {
  3759. getContainer: [String, Function]
  3760. },
  3761. watch: {
  3762. getContainer: 'portal'
  3763. },
  3764. mounted: function mounted() {
  3765. if (this.getContainer) {
  3766. this.portal();
  3767. }
  3768. },
  3769. methods: {
  3770. portal: function portal() {
  3771. var getContainer = this.getContainer;
  3772. var el = ref ? this.$refs[ref] : this.$el;
  3773. var container;
  3774. if (getContainer) {
  3775. container = getElement(getContainer);
  3776. } else if (this.$parent) {
  3777. container = this.$parent.$el;
  3778. }
  3779. if (container && container !== el.parentNode) {
  3780. container.appendChild(el);
  3781. }
  3782. if (afterPortal) {
  3783. afterPortal.call(this);
  3784. }
  3785. }
  3786. }
  3787. };
  3788. }
  3789. /***/ }),
  3790. /***/ 79:
  3791. /***/ (function(module, exports, __webpack_require__) {
  3792. var content = __webpack_require__(80);
  3793. if(typeof content === 'string') content = [[module.i, content, '']];
  3794. var transform;
  3795. var insertInto;
  3796. var options = {"hmr":true}
  3797. options.transform = transform
  3798. options.insertInto = undefined;
  3799. var update = __webpack_require__(6)(content, options);
  3800. if(content.locals) module.exports = content.locals;
  3801. if(false) {}
  3802. /***/ }),
  3803. /***/ 80:
  3804. /***/ (function(module, exports, __webpack_require__) {
  3805. exports = module.exports = __webpack_require__(5)(false);
  3806. // Module
  3807. exports.push([module.i, ".van-overlay{position:fixed;top:0;left:0;z-index:1;width:100%;height:100%;background-color:rgba(0,0,0,.7)}", ""]);
  3808. /***/ }),
  3809. /***/ 81:
  3810. /***/ (function(module, exports, __webpack_require__) {
  3811. "use strict";
  3812. exports.__esModule = true;
  3813. exports.range = range;
  3814. exports.formatNumber = formatNumber;
  3815. function range(num, min, max) {
  3816. return Math.min(Math.max(num, min), max);
  3817. }
  3818. function trimExtraChar(value, _char, regExp) {
  3819. var index = value.indexOf(_char);
  3820. if (index === -1) {
  3821. return value;
  3822. }
  3823. if (_char === '-' && index !== 0) {
  3824. return value.slice(0, index);
  3825. }
  3826. return value.slice(0, index + 1) + value.slice(index).replace(regExp, '');
  3827. }
  3828. function formatNumber(value, allowDot, allowMinus) {
  3829. if (allowDot === void 0) {
  3830. allowDot = true;
  3831. }
  3832. if (allowMinus === void 0) {
  3833. allowMinus = true;
  3834. }
  3835. if (allowDot) {
  3836. value = trimExtraChar(value, '.', /\./g);
  3837. } else {
  3838. value = value.split('.')[0];
  3839. }
  3840. if (allowMinus) {
  3841. value = trimExtraChar(value, '-', /-/g);
  3842. } else {
  3843. value = value.replace(/-/, '');
  3844. }
  3845. var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
  3846. return value.replace(regExp, '');
  3847. }
  3848. /***/ }),
  3849. /***/ 82:
  3850. /***/ (function(module, exports, __webpack_require__) {
  3851. var content = __webpack_require__(83);
  3852. if(typeof content === 'string') content = [[module.i, content, '']];
  3853. var transform;
  3854. var insertInto;
  3855. var options = {"hmr":true}
  3856. options.transform = transform
  3857. options.insertInto = undefined;
  3858. var update = __webpack_require__(6)(content, options);
  3859. if(content.locals) module.exports = content.locals;
  3860. if(false) {}
  3861. /***/ }),
  3862. /***/ 83:
  3863. /***/ (function(module, exports, __webpack_require__) {
  3864. exports = module.exports = __webpack_require__(5)(false);
  3865. // Module
  3866. exports.push([module.i, ".van-overflow-hidden{overflow:hidden!important}.van-popup{position:fixed;max-height:100%;overflow-y:auto;background-color:#fff;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-overflow-scrolling:touch}.van-popup--center{top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.van-popup--center.van-popup--round{border-radius:16px}.van-popup--top{top:0;left:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 16px 16px}.van-popup--right{top:50%;right:0;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:16px 0 0 16px}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:16px 16px 0 0}.van-popup--left{top:50%;left:0;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 16px 16px 0}.van-popup--safe-area-inset-bottom{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.van-popup-slide-bottom-enter-active,.van-popup-slide-left-enter-active,.van-popup-slide-right-enter-active,.van-popup-slide-top-enter-active{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.van-popup-slide-bottom-leave-active,.van-popup-slide-left-leave-active,.van-popup-slide-right-leave-active,.van-popup-slide-top-leave-active{-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}.van-popup-slide-top-enter,.van-popup-slide-top-leave-active{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.van-popup-slide-right-enter,.van-popup-slide-right-leave-active{-webkit-transform:translate3d(100%,-50%,0);transform:translate3d(100%,-50%,0)}.van-popup-slide-bottom-enter,.van-popup-slide-bottom-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.van-popup-slide-left-enter,.van-popup-slide-left-leave-active{-webkit-transform:translate3d(-100%,-50%,0);transform:translate3d(-100%,-50%,0)}.van-popup__close-icon{position:absolute;z-index:1;color:#c8c9cc;font-size:22px;cursor:pointer}.van-popup__close-icon:active{color:#969799}.van-popup__close-icon--top-left{top:16px;left:16px}.van-popup__close-icon--top-right{top:16px;right:16px}.van-popup__close-icon--bottom-left{bottom:16px;left:16px}.van-popup__close-icon--bottom-right{right:16px;bottom:16px}", ""]);
  3867. /***/ }),
  3868. /***/ 84:
  3869. /***/ (function(module, exports, __webpack_require__) {
  3870. "use strict";
  3871. var _interopRequireDefault = __webpack_require__(1);
  3872. exports.__esModule = true;
  3873. exports.updateOverlay = updateOverlay;
  3874. exports.openOverlay = openOverlay;
  3875. exports.closeOverlay = closeOverlay;
  3876. exports.removeOverlay = removeOverlay;
  3877. var _extends2 = _interopRequireDefault(__webpack_require__(18));
  3878. var _overlay = _interopRequireDefault(__webpack_require__(76));
  3879. var _context = __webpack_require__(67);
  3880. var _functional = __webpack_require__(14);
  3881. var _node = __webpack_require__(64);
  3882. var defaultConfig = {
  3883. className: '',
  3884. customStyle: {}
  3885. };
  3886. function mountOverlay(vm) {
  3887. return (0, _functional.mount)(_overlay.default, {
  3888. on: {
  3889. // close popup when overlay clicked & closeOnClickOverlay is true
  3890. click: function click() {
  3891. vm.$emit('click-overlay');
  3892. if (vm.closeOnClickOverlay) {
  3893. if (vm.onClickOverlay) {
  3894. vm.onClickOverlay();
  3895. } else {
  3896. vm.close();
  3897. }
  3898. }
  3899. }
  3900. }
  3901. });
  3902. }
  3903. function updateOverlay(vm) {
  3904. var item = _context.context.find(vm);
  3905. if (item) {
  3906. var el = vm.$el;
  3907. var config = item.config,
  3908. overlay = item.overlay;
  3909. if (el && el.parentNode) {
  3910. el.parentNode.insertBefore(overlay.$el, el);
  3911. }
  3912. (0, _extends2.default)(overlay, defaultConfig, config, {
  3913. show: true
  3914. });
  3915. }
  3916. }
  3917. function openOverlay(vm, config) {
  3918. var item = _context.context.find(vm);
  3919. if (item) {
  3920. item.config = config;
  3921. } else {
  3922. var overlay = mountOverlay(vm);
  3923. _context.context.stack.push({
  3924. vm: vm,
  3925. config: config,
  3926. overlay: overlay
  3927. });
  3928. }
  3929. updateOverlay(vm);
  3930. }
  3931. function closeOverlay(vm) {
  3932. var item = _context.context.find(vm);
  3933. if (item) {
  3934. item.overlay.show = false;
  3935. }
  3936. }
  3937. function removeOverlay(vm) {
  3938. var item = _context.context.find(vm);
  3939. if (item) {
  3940. (0, _node.removeNode)(item.overlay.$el);
  3941. }
  3942. }
  3943. /***/ }),
  3944. /***/ 85:
  3945. /***/ (function(module, exports, __webpack_require__) {
  3946. "use strict";
  3947. exports.__esModule = true;
  3948. exports.CloseOnPopstateMixin = void 0;
  3949. var _event = __webpack_require__(30);
  3950. var _bindEvent = __webpack_require__(60);
  3951. var CloseOnPopstateMixin = {
  3952. mixins: [(0, _bindEvent.BindEventMixin)(function (bind, isBind) {
  3953. this.handlePopstate(isBind && this.closeOnPopstate);
  3954. })],
  3955. props: {
  3956. closeOnPopstate: Boolean
  3957. },
  3958. data: function data() {
  3959. return {
  3960. bindStatus: false
  3961. };
  3962. },
  3963. watch: {
  3964. closeOnPopstate: function closeOnPopstate(val) {
  3965. this.handlePopstate(val);
  3966. }
  3967. },
  3968. methods: {
  3969. onPopstate: function onPopstate() {
  3970. this.close();
  3971. this.shouldReopen = false;
  3972. },
  3973. handlePopstate: function handlePopstate(bind) {
  3974. /* istanbul ignore if */
  3975. if (this.$isServer) {
  3976. return;
  3977. }
  3978. if (this.bindStatus !== bind) {
  3979. this.bindStatus = bind;
  3980. var action = bind ? _event.on : _event.off;
  3981. action(window, 'popstate', this.onPopstate);
  3982. }
  3983. }
  3984. }
  3985. };
  3986. exports.CloseOnPopstateMixin = CloseOnPopstateMixin;
  3987. /***/ }),
  3988. /***/ 86:
  3989. /***/ (function(module, exports, __webpack_require__) {
  3990. "use strict";
  3991. /* WEBPACK VAR INJECTION */(function(global) {
  3992. exports.__esModule = true;
  3993. exports.raf = raf;
  3994. exports.doubleRaf = doubleRaf;
  3995. exports.cancelRaf = cancelRaf;
  3996. var _ = __webpack_require__(0);
  3997. /**
  3998. * requestAnimationFrame polyfill
  3999. */
  4000. var prev = Date.now();
  4001. /* istanbul ignore next */
  4002. function fallback(fn) {
  4003. var curr = Date.now();
  4004. var ms = Math.max(0, 16 - (curr - prev));
  4005. var id = setTimeout(fn, ms);
  4006. prev = curr + ms;
  4007. return id;
  4008. }
  4009. /* istanbul ignore next */
  4010. var root = _.isServer ? global : window;
  4011. /* istanbul ignore next */
  4012. var iRaf = root.requestAnimationFrame || fallback;
  4013. /* istanbul ignore next */
  4014. var iCancel = root.cancelAnimationFrame || root.clearTimeout;
  4015. function raf(fn) {
  4016. return iRaf.call(root, fn);
  4017. } // double raf for animation
  4018. function doubleRaf(fn) {
  4019. raf(function () {
  4020. raf(fn);
  4021. });
  4022. }
  4023. function cancelRaf(id) {
  4024. iCancel.call(root, id);
  4025. }
  4026. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(87)))
  4027. /***/ }),
  4028. /***/ 87:
  4029. /***/ (function(module, exports) {
  4030. var g;
  4031. // This works in non-strict mode
  4032. g = (function() {
  4033. return this;
  4034. })();
  4035. try {
  4036. // This works if eval is allowed (see CSP)
  4037. g = g || new Function("return this")();
  4038. } catch (e) {
  4039. // This works if the window reference is available
  4040. if (typeof window === "object") g = window;
  4041. }
  4042. // g can still be undefined, but nothing to do about it...
  4043. // We return undefined, instead of nothing here, so it's
  4044. // easier to handle this case. if(!global) { ...}
  4045. module.exports = g;
  4046. /***/ }),
  4047. /***/ 9:
  4048. /***/ (function(module, exports, __webpack_require__) {
  4049. "use strict";
  4050. exports.__esModule = true;
  4051. exports.camelize = camelize;
  4052. exports.padZero = padZero;
  4053. var camelizeRE = /-(\w)/g;
  4054. function camelize(str) {
  4055. return str.replace(camelizeRE, function (_, c) {
  4056. return c.toUpperCase();
  4057. });
  4058. }
  4059. function padZero(num, targetLength) {
  4060. if (targetLength === void 0) {
  4061. targetLength = 2;
  4062. }
  4063. var str = num + '';
  4064. while (str.length < targetLength) {
  4065. str = '0' + str;
  4066. }
  4067. return str;
  4068. }
  4069. /***/ }),
  4070. /***/ 92:
  4071. /***/ (function(module, exports, __webpack_require__) {
  4072. "use strict";
  4073. exports.__esModule = true;
  4074. exports.FieldMixin = void 0;
  4075. var FieldMixin = {
  4076. inject: {
  4077. vanField: {
  4078. default: null
  4079. }
  4080. },
  4081. watch: {
  4082. value: function value() {
  4083. var field = this.vanField;
  4084. if (field) {
  4085. field.resetValidation();
  4086. field.validateWithTrigger('onChange');
  4087. }
  4088. }
  4089. },
  4090. created: function created() {
  4091. var field = this.vanField;
  4092. if (field && !field.children) {
  4093. field.children = this;
  4094. }
  4095. }
  4096. };
  4097. exports.FieldMixin = FieldMixin;
  4098. /***/ }),
  4099. /***/ 94:
  4100. /***/ (function(module, exports, __webpack_require__) {
  4101. "use strict";
  4102. exports.__esModule = true;
  4103. exports.isHidden = isHidden;
  4104. function isHidden(el) {
  4105. var style = window.getComputedStyle(el);
  4106. var hidden = style.display === 'none'; // offsetParent returns null in the following situations:
  4107. // 1. The element or its parent element has the display property set to none.
  4108. // 2. The element has the position property set to fixed
  4109. var parentHidden = el.offsetParent === null && style.position !== 'fixed';
  4110. return hidden || parentHidden;
  4111. }
  4112. /***/ })
  4113. /******/ });