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.

3751 lines
139 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 = 284);
  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. /***/ 11:
  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 _vue = _interopRequireDefault(__webpack_require__(4));
  149. var _deepAssign = __webpack_require__(21);
  150. var _zhCN = _interopRequireDefault(__webpack_require__(27));
  151. var proto = _vue.default.prototype;
  152. var defineReactive = _vue.default.util.defineReactive;
  153. defineReactive(proto, '$vantLang', 'zh-CN');
  154. defineReactive(proto, '$vantMessages', {
  155. 'zh-CN': _zhCN.default
  156. });
  157. var _default = {
  158. messages: function messages() {
  159. return proto.$vantMessages[proto.$vantLang];
  160. },
  161. use: function use(lang, messages) {
  162. var _this$add;
  163. proto.$vantLang = lang;
  164. this.add((_this$add = {}, _this$add[lang] = messages, _this$add));
  165. },
  166. add: function add(messages) {
  167. if (messages === void 0) {
  168. messages = {};
  169. }
  170. (0, _deepAssign.deepAssign)(proto.$vantMessages, messages);
  171. }
  172. };
  173. exports.default = _default;
  174. /***/ }),
  175. /***/ 12:
  176. /***/ (function(module, exports) {
  177. /**
  178. * When source maps are enabled, `style-loader` uses a link element with a data-uri to
  179. * embed the css on the page. This breaks all relative urls because now they are relative to a
  180. * bundle instead of the current page.
  181. *
  182. * One solution is to only use full urls, but that may be impossible.
  183. *
  184. * Instead, this function "fixes" the relative urls to be absolute according to the current page location.
  185. *
  186. * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.
  187. *
  188. */
  189. module.exports = function (css) {
  190. // get current location
  191. var location = typeof window !== "undefined" && window.location;
  192. if (!location) {
  193. throw new Error("fixUrls requires window.location");
  194. }
  195. // blank or null?
  196. if (!css || typeof css !== "string") {
  197. return css;
  198. }
  199. var baseUrl = location.protocol + "//" + location.host;
  200. var currentDir = baseUrl + location.pathname.replace(/\/[^\/]*$/, "/");
  201. // convert each url(...)
  202. /*
  203. This regular expression is just a way to recursively match brackets within
  204. a string.
  205. /url\s*\( = Match on the word "url" with any whitespace after it and then a parens
  206. ( = Start a capturing group
  207. (?: = Start a non-capturing group
  208. [^)(] = Match anything that isn't a parentheses
  209. | = OR
  210. \( = Match a start parentheses
  211. (?: = Start another non-capturing groups
  212. [^)(]+ = Match anything that isn't a parentheses
  213. | = OR
  214. \( = Match a start parentheses
  215. [^)(]* = Match anything that isn't a parentheses
  216. \) = Match a end parentheses
  217. ) = End Group
  218. *\) = Match anything and then a close parens
  219. ) = Close non-capturing group
  220. * = Match anything
  221. ) = Close capturing group
  222. \) = Match a close parens
  223. /gi = Get all matches, not the first. Be case insensitive.
  224. */
  225. var fixedCss = css.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function(fullMatch, origUrl) {
  226. // strip quotes (if they exist)
  227. var unquotedOrigUrl = origUrl
  228. .trim()
  229. .replace(/^"(.*)"$/, function(o, $1){ return $1; })
  230. .replace(/^'(.*)'$/, function(o, $1){ return $1; });
  231. // already a full url? no change
  232. if (/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(unquotedOrigUrl)) {
  233. return fullMatch;
  234. }
  235. // convert the url to a full url
  236. var newUrl;
  237. if (unquotedOrigUrl.indexOf("//") === 0) {
  238. //TODO: should we add protocol?
  239. newUrl = unquotedOrigUrl;
  240. } else if (unquotedOrigUrl.indexOf("/") === 0) {
  241. // path should be relative to the base url
  242. newUrl = baseUrl + unquotedOrigUrl; // already starts with '/'
  243. } else {
  244. // path should be relative to current directory
  245. newUrl = currentDir + unquotedOrigUrl.replace(/^\.\//, ""); // Strip leading './'
  246. }
  247. // send back the fixed url(...)
  248. return "url(" + JSON.stringify(newUrl) + ")";
  249. });
  250. // send back the fixed css
  251. return fixedCss;
  252. };
  253. /***/ }),
  254. /***/ 14:
  255. /***/ (function(module, exports, __webpack_require__) {
  256. "use strict";
  257. var _interopRequireDefault = __webpack_require__(1);
  258. exports.__esModule = true;
  259. exports.inherit = inherit;
  260. exports.emit = emit;
  261. exports.mount = mount;
  262. var _extends2 = _interopRequireDefault(__webpack_require__(18));
  263. var _vue = _interopRequireDefault(__webpack_require__(4));
  264. var inheritKey = ['ref', 'style', 'class', 'attrs', 'refInFor', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];
  265. var mapInheritKey = {
  266. nativeOn: 'on'
  267. }; // inherit partial context, map nativeOn to on
  268. function inherit(context, inheritListeners) {
  269. var result = inheritKey.reduce(function (obj, key) {
  270. if (context.data[key]) {
  271. obj[mapInheritKey[key] || key] = context.data[key];
  272. }
  273. return obj;
  274. }, {});
  275. if (inheritListeners) {
  276. result.on = result.on || {};
  277. (0, _extends2.default)(result.on, context.data.on);
  278. }
  279. return result;
  280. } // emit event
  281. function emit(context, eventName) {
  282. for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
  283. args[_key - 2] = arguments[_key];
  284. }
  285. var listeners = context.listeners[eventName];
  286. if (listeners) {
  287. if (Array.isArray(listeners)) {
  288. listeners.forEach(function (listener) {
  289. listener.apply(void 0, args);
  290. });
  291. } else {
  292. listeners.apply(void 0, args);
  293. }
  294. }
  295. } // mount functional component
  296. function mount(Component, data) {
  297. var instance = new _vue.default({
  298. el: document.createElement('div'),
  299. props: Component.props,
  300. render: function render(h) {
  301. return h(Component, (0, _extends2.default)({
  302. props: this.$props
  303. }, data));
  304. }
  305. });
  306. document.body.appendChild(instance.$el);
  307. return instance;
  308. }
  309. /***/ }),
  310. /***/ 140:
  311. /***/ (function(module, exports, __webpack_require__) {
  312. "use strict";
  313. var _interopRequireDefault = __webpack_require__(1);
  314. exports.__esModule = true;
  315. exports.default = void 0;
  316. var _extends2 = _interopRequireDefault(__webpack_require__(18));
  317. var _utils = __webpack_require__(0);
  318. var _relation = __webpack_require__(47);
  319. var _router = __webpack_require__(69);
  320. var _createNamespace = (0, _utils.createNamespace)('tab'),
  321. createComponent = _createNamespace[0],
  322. bem = _createNamespace[1];
  323. var _default = createComponent({
  324. mixins: [(0, _relation.ChildrenMixin)('vanTabs')],
  325. props: (0, _extends2.default)({}, _router.routeProps, {
  326. dot: Boolean,
  327. name: [Number, String],
  328. // @deprecated
  329. info: [Number, String],
  330. badge: [Number, String],
  331. title: String,
  332. titleStyle: null,
  333. titleClass: null,
  334. disabled: Boolean
  335. }),
  336. data: function data() {
  337. return {
  338. inited: false
  339. };
  340. },
  341. computed: {
  342. computedName: function computedName() {
  343. var _this$name;
  344. return (_this$name = this.name) != null ? _this$name : this.index;
  345. },
  346. isActive: function isActive() {
  347. var active = this.computedName === this.parent.currentName;
  348. if (active) {
  349. this.inited = true;
  350. }
  351. return active;
  352. }
  353. },
  354. watch: {
  355. title: function title() {
  356. this.parent.setLine();
  357. this.parent.scrollIntoView();
  358. },
  359. inited: function inited(val) {
  360. var _this = this;
  361. if (this.parent.lazyRender && val) {
  362. this.$nextTick(function () {
  363. _this.parent.$emit('rendered', _this.computedName, _this.title);
  364. });
  365. }
  366. }
  367. },
  368. render: function render(h) {
  369. var slots = this.slots,
  370. parent = this.parent,
  371. isActive = this.isActive;
  372. var slotContent = slots();
  373. if (false) {}
  374. if (!slotContent && !parent.animated) {
  375. return;
  376. }
  377. var show = parent.scrollspy || isActive;
  378. var shouldRender = this.inited || parent.scrollspy || !parent.lazyRender;
  379. var Content = shouldRender ? slotContent : h();
  380. if (parent.animated) {
  381. return h("div", {
  382. "attrs": {
  383. "role": "tabpanel",
  384. "aria-hidden": !isActive
  385. },
  386. "class": bem('pane-wrapper', {
  387. inactive: !isActive
  388. })
  389. }, [h("div", {
  390. "class": bem('pane')
  391. }, [Content])]);
  392. }
  393. return h("div", {
  394. "directives": [{
  395. name: "show",
  396. value: show
  397. }],
  398. "attrs": {
  399. "role": "tabpanel"
  400. },
  401. "class": bem('pane')
  402. }, [Content]);
  403. }
  404. });
  405. exports.default = _default;
  406. /***/ }),
  407. /***/ 141:
  408. /***/ (function(module, exports, __webpack_require__) {
  409. "use strict";
  410. exports.__esModule = true;
  411. exports.default = void 0;
  412. var _style = __webpack_require__(94);
  413. var _unit = __webpack_require__(20);
  414. var _utils = __webpack_require__(0);
  415. var _scroll = __webpack_require__(53);
  416. var _bindEvent = __webpack_require__(60);
  417. var _createNamespace = (0, _utils.createNamespace)('sticky'),
  418. createComponent = _createNamespace[0],
  419. bem = _createNamespace[1];
  420. var _default = createComponent({
  421. mixins: [(0, _bindEvent.BindEventMixin)(function (bind, isBind) {
  422. if (!this.scroller) {
  423. this.scroller = (0, _scroll.getScroller)(this.$el);
  424. }
  425. if (this.observer) {
  426. var method = isBind ? 'observe' : 'unobserve';
  427. this.observer[method](this.$el);
  428. }
  429. bind(this.scroller, 'scroll', this.onScroll, true);
  430. this.onScroll();
  431. })],
  432. props: {
  433. zIndex: [Number, String],
  434. container: null,
  435. offsetTop: {
  436. type: [Number, String],
  437. default: 0
  438. }
  439. },
  440. data: function data() {
  441. return {
  442. fixed: false,
  443. height: 0,
  444. transform: 0
  445. };
  446. },
  447. computed: {
  448. offsetTopPx: function offsetTopPx() {
  449. return (0, _unit.unitToPx)(this.offsetTop);
  450. },
  451. style: function style() {
  452. if (!this.fixed) {
  453. return;
  454. }
  455. var style = {};
  456. if ((0, _utils.isDef)(this.zIndex)) {
  457. style.zIndex = this.zIndex;
  458. }
  459. if (this.offsetTopPx && this.fixed) {
  460. style.top = this.offsetTopPx + "px";
  461. }
  462. if (this.transform) {
  463. style.transform = "translate3d(0, " + this.transform + "px, 0)";
  464. }
  465. return style;
  466. }
  467. },
  468. created: function created() {
  469. var _this = this;
  470. // compatibility: https://caniuse.com/#feat=intersectionobserver
  471. if (!_utils.isServer && window.IntersectionObserver) {
  472. this.observer = new IntersectionObserver(function (entries) {
  473. // trigger scroll when visibility changed
  474. if (entries[0].intersectionRatio > 0) {
  475. _this.onScroll();
  476. }
  477. }, {
  478. root: document.body
  479. });
  480. }
  481. },
  482. methods: {
  483. onScroll: function onScroll() {
  484. var _this2 = this;
  485. if ((0, _style.isHidden)(this.$el)) {
  486. return;
  487. }
  488. this.height = this.$el.offsetHeight;
  489. var container = this.container,
  490. offsetTopPx = this.offsetTopPx;
  491. var scrollTop = (0, _scroll.getScrollTop)(window);
  492. var topToPageTop = (0, _scroll.getElementTop)(this.$el);
  493. var emitScrollEvent = function emitScrollEvent() {
  494. _this2.$emit('scroll', {
  495. scrollTop: scrollTop,
  496. isFixed: _this2.fixed
  497. });
  498. }; // The sticky component should be kept inside the container element
  499. if (container) {
  500. var bottomToPageTop = topToPageTop + container.offsetHeight;
  501. if (scrollTop + offsetTopPx + this.height > bottomToPageTop) {
  502. var distanceToBottom = this.height + scrollTop - bottomToPageTop;
  503. if (distanceToBottom < this.height) {
  504. this.fixed = true;
  505. this.transform = -(distanceToBottom + offsetTopPx);
  506. } else {
  507. this.fixed = false;
  508. }
  509. emitScrollEvent();
  510. return;
  511. }
  512. }
  513. if (scrollTop + offsetTopPx > topToPageTop) {
  514. this.fixed = true;
  515. this.transform = 0;
  516. } else {
  517. this.fixed = false;
  518. }
  519. emitScrollEvent();
  520. }
  521. },
  522. render: function render() {
  523. var h = arguments[0];
  524. var fixed = this.fixed;
  525. var style = {
  526. height: fixed ? this.height + "px" : null
  527. };
  528. return h("div", {
  529. "style": style
  530. }, [h("div", {
  531. "class": bem({
  532. fixed: fixed
  533. }),
  534. "style": this.style
  535. }, [this.slots()])]);
  536. }
  537. });
  538. exports.default = _default;
  539. /***/ }),
  540. /***/ 16:
  541. /***/ (function(module, exports, __webpack_require__) {
  542. "use strict";
  543. 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;
  544. /***/ }),
  545. /***/ 173:
  546. /***/ (function(module, exports, __webpack_require__) {
  547. var content = __webpack_require__(174);
  548. if(typeof content === 'string') content = [[module.i, content, '']];
  549. var transform;
  550. var insertInto;
  551. var options = {"hmr":true}
  552. options.transform = transform
  553. options.insertInto = undefined;
  554. var update = __webpack_require__(6)(content, options);
  555. if(content.locals) module.exports = content.locals;
  556. if(false) {}
  557. /***/ }),
  558. /***/ 174:
  559. /***/ (function(module, exports, __webpack_require__) {
  560. exports = module.exports = __webpack_require__(5)(false);
  561. // Module
  562. exports.push([module.i, ".van-tab__pane,.van-tab__pane-wrapper{-webkit-flex-shrink:0;flex-shrink:0;box-sizing:border-box;width:100%}.van-tab__pane-wrapper--inactive{height:0;overflow:visible}", ""]);
  563. /***/ }),
  564. /***/ 175:
  565. /***/ (function(module, exports, __webpack_require__) {
  566. var content = __webpack_require__(176);
  567. if(typeof content === 'string') content = [[module.i, content, '']];
  568. var transform;
  569. var insertInto;
  570. var options = {"hmr":true}
  571. options.transform = transform
  572. options.insertInto = undefined;
  573. var update = __webpack_require__(6)(content, options);
  574. if(content.locals) module.exports = content.locals;
  575. if(false) {}
  576. /***/ }),
  577. /***/ 176:
  578. /***/ (function(module, exports, __webpack_require__) {
  579. exports = module.exports = __webpack_require__(5)(false);
  580. // Module
  581. exports.push([module.i, ".van-sticky--fixed{position:fixed;top:0;right:0;left:0;z-index:99}", ""]);
  582. /***/ }),
  583. /***/ 177:
  584. /***/ (function(module, exports, __webpack_require__) {
  585. "use strict";
  586. exports.__esModule = true;
  587. exports.callInterceptor = callInterceptor;
  588. var _ = __webpack_require__(0);
  589. function callInterceptor(options) {
  590. var interceptor = options.interceptor,
  591. args = options.args,
  592. done = options.done;
  593. if (interceptor) {
  594. var returnVal = interceptor.apply(void 0, args);
  595. if ((0, _.isPromise)(returnVal)) {
  596. returnVal.then(function (value) {
  597. if (value) {
  598. done();
  599. }
  600. }).catch(_.noop);
  601. } else if (returnVal) {
  602. done();
  603. }
  604. } else {
  605. done();
  606. }
  607. }
  608. /***/ }),
  609. /***/ 18:
  610. /***/ (function(module, exports) {
  611. function _extends() {
  612. module.exports = _extends = Object.assign || function (target) {
  613. for (var i = 1; i < arguments.length; i++) {
  614. var source = arguments[i];
  615. for (var key in source) {
  616. if (Object.prototype.hasOwnProperty.call(source, key)) {
  617. target[key] = source[key];
  618. }
  619. }
  620. }
  621. return target;
  622. };
  623. return _extends.apply(this, arguments);
  624. }
  625. module.exports = _extends;
  626. /***/ }),
  627. /***/ 19:
  628. /***/ (function(module, exports, __webpack_require__) {
  629. "use strict";
  630. exports.__esModule = true;
  631. exports.isNumeric = isNumeric;
  632. exports.isNaN = isNaN;
  633. function isNumeric(val) {
  634. return /^\d+(\.\d+)?$/.test(val);
  635. }
  636. function isNaN(val) {
  637. if (Number.isNaN) {
  638. return Number.isNaN(val);
  639. } // eslint-disable-next-line no-self-compare
  640. return val !== val;
  641. }
  642. /***/ }),
  643. /***/ 197:
  644. /***/ (function(module, exports, __webpack_require__) {
  645. "use strict";
  646. var _interopRequireDefault = __webpack_require__(1);
  647. exports.__esModule = true;
  648. exports.default = void 0;
  649. var _utils = __webpack_require__(0);
  650. var _tab = _interopRequireDefault(__webpack_require__(140));
  651. var _tabs = _interopRequireDefault(__webpack_require__(290));
  652. var _icon = _interopRequireDefault(__webpack_require__(35));
  653. var _createNamespace = (0, _utils.createNamespace)('cascader'),
  654. createComponent = _createNamespace[0],
  655. bem = _createNamespace[1],
  656. t = _createNamespace[2];
  657. var _default2 = createComponent({
  658. props: {
  659. title: String,
  660. value: [Number, String],
  661. placeholder: String,
  662. activeColor: String,
  663. options: {
  664. type: Array,
  665. default: function _default() {
  666. return [];
  667. }
  668. },
  669. closeable: {
  670. type: Boolean,
  671. default: true
  672. }
  673. },
  674. data: function data() {
  675. return {
  676. tabs: [],
  677. activeTab: 0
  678. };
  679. },
  680. watch: {
  681. options: {
  682. deep: true,
  683. handler: 'updateTabs'
  684. },
  685. value: function value(_value) {
  686. if (_value || _value === 0) {
  687. var values = this.tabs.map(function (tab) {
  688. var _tab$selectedOption;
  689. return (_tab$selectedOption = tab.selectedOption) == null ? void 0 : _tab$selectedOption.value;
  690. });
  691. if (values.indexOf(_value) !== -1) {
  692. return;
  693. }
  694. }
  695. this.updateTabs();
  696. }
  697. },
  698. created: function created() {
  699. this.updateTabs();
  700. },
  701. methods: {
  702. getSelectedOptionsByValue: function getSelectedOptionsByValue(options, value) {
  703. for (var i = 0; i < options.length; i++) {
  704. var option = options[i];
  705. if (option.value === value) {
  706. return [option];
  707. }
  708. if (option.children) {
  709. var selectedOptions = this.getSelectedOptionsByValue(option.children, value);
  710. if (selectedOptions) {
  711. return [option].concat(selectedOptions);
  712. }
  713. }
  714. }
  715. },
  716. updateTabs: function updateTabs() {
  717. var _this = this;
  718. if (this.value || this.value === 0) {
  719. var selectedOptions = this.getSelectedOptionsByValue(this.options, this.value);
  720. if (selectedOptions) {
  721. var optionsCursor = this.options;
  722. this.tabs = selectedOptions.map(function (option) {
  723. var tab = {
  724. options: optionsCursor,
  725. selectedOption: option
  726. };
  727. var next = optionsCursor.filter(function (item) {
  728. return item.value === option.value;
  729. });
  730. if (next.length) {
  731. optionsCursor = next[0].children;
  732. }
  733. return tab;
  734. });
  735. if (optionsCursor) {
  736. this.tabs.push({
  737. options: optionsCursor,
  738. selectedOption: null
  739. });
  740. }
  741. this.$nextTick(function () {
  742. _this.activeTab = _this.tabs.length - 1;
  743. });
  744. return;
  745. }
  746. }
  747. this.tabs = [{
  748. options: this.options,
  749. selectedOption: null
  750. }];
  751. },
  752. onSelect: function onSelect(option, tabIndex) {
  753. var _this2 = this;
  754. this.tabs[tabIndex].selectedOption = option;
  755. if (this.tabs.length > tabIndex + 1) {
  756. this.tabs = this.tabs.slice(0, tabIndex + 1);
  757. }
  758. if (option.children) {
  759. var nextTab = {
  760. options: option.children,
  761. selectedOption: null
  762. };
  763. if (this.tabs[tabIndex + 1]) {
  764. this.$set(this.tabs, tabIndex + 1, nextTab);
  765. } else {
  766. this.tabs.push(nextTab);
  767. }
  768. this.$nextTick(function () {
  769. _this2.activeTab++;
  770. });
  771. }
  772. var selectedOptions = this.tabs.map(function (tab) {
  773. return tab.selectedOption;
  774. }).filter(function (item) {
  775. return !!item;
  776. });
  777. var eventParams = {
  778. value: option.value,
  779. tabIndex: tabIndex,
  780. selectedOptions: selectedOptions
  781. };
  782. this.$emit('input', option.value);
  783. this.$emit('change', eventParams);
  784. if (!option.children) {
  785. this.$emit('finish', eventParams);
  786. }
  787. },
  788. onClose: function onClose() {
  789. this.$emit('close');
  790. },
  791. renderHeader: function renderHeader() {
  792. var h = this.$createElement;
  793. return h("div", {
  794. "class": bem('header')
  795. }, [h("h2", {
  796. "class": bem('title')
  797. }, [this.slots('title') || this.title]), this.closeable ? h(_icon.default, {
  798. "attrs": {
  799. "name": "cross"
  800. },
  801. "class": bem('close-icon'),
  802. "on": {
  803. "click": this.onClose
  804. }
  805. }) : null]);
  806. },
  807. renderOptions: function renderOptions(options, selectedOption, tabIndex) {
  808. var _this3 = this;
  809. var h = this.$createElement;
  810. var renderOption = function renderOption(option) {
  811. var isSelected = selectedOption && option.value === selectedOption.value;
  812. return h("li", {
  813. "class": bem('option', {
  814. selected: isSelected
  815. }),
  816. "style": {
  817. color: isSelected ? _this3.activeColor : null
  818. },
  819. "on": {
  820. "click": function click() {
  821. _this3.onSelect(option, tabIndex);
  822. }
  823. }
  824. }, [h("span", [option.text]), isSelected ? h(_icon.default, {
  825. "attrs": {
  826. "name": "success"
  827. },
  828. "class": bem('selected-icon')
  829. }) : null]);
  830. };
  831. return h("ul", {
  832. "class": bem('options')
  833. }, [options.map(renderOption)]);
  834. },
  835. renderTab: function renderTab(item, tabIndex) {
  836. var h = this.$createElement;
  837. var options = item.options,
  838. selectedOption = item.selectedOption;
  839. var title = selectedOption ? selectedOption.text : this.placeholder || t('select');
  840. return h(_tab.default, {
  841. "attrs": {
  842. "title": title,
  843. "titleClass": bem('tab', {
  844. unselected: !selectedOption
  845. })
  846. }
  847. }, [this.renderOptions(options, selectedOption, tabIndex)]);
  848. },
  849. renderTabs: function renderTabs() {
  850. var _this4 = this;
  851. var h = this.$createElement;
  852. return h(_tabs.default, {
  853. "attrs": {
  854. "animated": true,
  855. "swipeable": true,
  856. "swipeThreshold": 0,
  857. "color": this.activeColor
  858. },
  859. "class": bem('tabs'),
  860. "model": {
  861. value: _this4.activeTab,
  862. callback: function callback($$v) {
  863. _this4.activeTab = $$v;
  864. }
  865. }
  866. }, [this.tabs.map(this.renderTab)]);
  867. }
  868. },
  869. render: function render() {
  870. var h = arguments[0];
  871. return h("div", {
  872. "class": bem()
  873. }, [this.renderHeader(), this.renderTabs()]);
  874. }
  875. });
  876. exports.default = _default2;
  877. /***/ }),
  878. /***/ 20:
  879. /***/ (function(module, exports, __webpack_require__) {
  880. "use strict";
  881. exports.__esModule = true;
  882. exports.addUnit = addUnit;
  883. exports.unitToPx = unitToPx;
  884. var _ = __webpack_require__(0);
  885. var _number = __webpack_require__(19);
  886. function addUnit(value) {
  887. if (!(0, _.isDef)(value)) {
  888. return undefined;
  889. }
  890. value = String(value);
  891. return (0, _number.isNumeric)(value) ? value + "px" : value;
  892. } // cache
  893. var rootFontSize;
  894. function getRootFontSize() {
  895. if (!rootFontSize) {
  896. var doc = document.documentElement;
  897. var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;
  898. rootFontSize = parseFloat(fontSize);
  899. }
  900. return rootFontSize;
  901. }
  902. function convertRem(value) {
  903. value = value.replace(/rem/g, '');
  904. return +value * getRootFontSize();
  905. }
  906. function convertVw(value) {
  907. value = value.replace(/vw/g, '');
  908. return +value * window.innerWidth / 100;
  909. }
  910. function convertVh(value) {
  911. value = value.replace(/vh/g, '');
  912. return +value * window.innerHeight / 100;
  913. }
  914. function unitToPx(value) {
  915. if (typeof value === 'number') {
  916. return value;
  917. }
  918. if (_.inBrowser) {
  919. if (value.indexOf('rem') !== -1) {
  920. return convertRem(value);
  921. }
  922. if (value.indexOf('vw') !== -1) {
  923. return convertVw(value);
  924. }
  925. if (value.indexOf('vh') !== -1) {
  926. return convertVh(value);
  927. }
  928. }
  929. return parseFloat(value);
  930. }
  931. /***/ }),
  932. /***/ 21:
  933. /***/ (function(module, exports, __webpack_require__) {
  934. "use strict";
  935. exports.__esModule = true;
  936. exports.deepAssign = deepAssign;
  937. var _ = __webpack_require__(0);
  938. var hasOwnProperty = Object.prototype.hasOwnProperty;
  939. function assignKey(to, from, key) {
  940. var val = from[key];
  941. if (!(0, _.isDef)(val)) {
  942. return;
  943. }
  944. if (!hasOwnProperty.call(to, key) || !(0, _.isObject)(val)) {
  945. to[key] = val;
  946. } else {
  947. // eslint-disable-next-line @typescript-eslint/no-use-before-define
  948. to[key] = deepAssign(Object(to[key]), from[key]);
  949. }
  950. }
  951. function deepAssign(to, from) {
  952. Object.keys(from).forEach(function (key) {
  953. assignKey(to, from, key);
  954. });
  955. return to;
  956. }
  957. /***/ }),
  958. /***/ 22:
  959. /***/ (function(module, exports, __webpack_require__) {
  960. var content = __webpack_require__(23);
  961. if(typeof content === 'string') content = [[module.i, content, '']];
  962. var transform;
  963. var insertInto;
  964. var options = {"hmr":true}
  965. options.transform = transform
  966. options.insertInto = undefined;
  967. var update = __webpack_require__(6)(content, options);
  968. if(content.locals) module.exports = content.locals;
  969. if(false) {}
  970. /***/ }),
  971. /***/ 23:
  972. /***/ (function(module, exports, __webpack_require__) {
  973. exports = module.exports = __webpack_require__(5)(false);
  974. // Module
  975. 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
  976. /***/ }),
  977. /***/ 24:
  978. /***/ (function(module, exports, __webpack_require__) {
  979. "use strict";
  980. exports.__esModule = true;
  981. exports.createNamespace = createNamespace;
  982. var _bem = __webpack_require__(25);
  983. var _component = __webpack_require__(26);
  984. var _i18n = __webpack_require__(29);
  985. function createNamespace(name) {
  986. name = 'van-' + name;
  987. return [(0, _component.createComponent)(name), (0, _bem.createBEM)(name), (0, _i18n.createI18N)(name)];
  988. }
  989. /***/ }),
  990. /***/ 25:
  991. /***/ (function(module, exports, __webpack_require__) {
  992. "use strict";
  993. exports.__esModule = true;
  994. exports.createBEM = createBEM;
  995. /**
  996. * bem helper
  997. * b() // 'button'
  998. * b('text') // 'button__text'
  999. * b({ disabled }) // 'button button--disabled'
  1000. * b('text', { disabled }) // 'button__text button__text--disabled'
  1001. * b(['disabled', 'primary']) // 'button button--disabled button--primary'
  1002. */
  1003. function gen(name, mods) {
  1004. if (!mods) {
  1005. return '';
  1006. }
  1007. if (typeof mods === 'string') {
  1008. return " " + name + "--" + mods;
  1009. }
  1010. if (Array.isArray(mods)) {
  1011. return mods.reduce(function (ret, item) {
  1012. return ret + gen(name, item);
  1013. }, '');
  1014. }
  1015. return Object.keys(mods).reduce(function (ret, key) {
  1016. return ret + (mods[key] ? gen(name, key) : '');
  1017. }, '');
  1018. }
  1019. function createBEM(name) {
  1020. return function (el, mods) {
  1021. if (el && typeof el !== 'string') {
  1022. mods = el;
  1023. el = '';
  1024. }
  1025. el = el ? name + "__" + el : name;
  1026. return "" + el + gen(el, mods);
  1027. };
  1028. }
  1029. /***/ }),
  1030. /***/ 26:
  1031. /***/ (function(module, exports, __webpack_require__) {
  1032. "use strict";
  1033. var _interopRequireDefault = __webpack_require__(1);
  1034. exports.__esModule = true;
  1035. exports.unifySlots = unifySlots;
  1036. exports.createComponent = createComponent;
  1037. __webpack_require__(11);
  1038. var _ = __webpack_require__(0);
  1039. var _string = __webpack_require__(9);
  1040. var _slots = __webpack_require__(28);
  1041. var _vue = _interopRequireDefault(__webpack_require__(4));
  1042. /**
  1043. * Create a basic component with common options
  1044. */
  1045. function install(Vue) {
  1046. var name = this.name;
  1047. Vue.component(name, this);
  1048. Vue.component((0, _string.camelize)("-" + name), this);
  1049. } // unify slots & scopedSlots
  1050. function unifySlots(context) {
  1051. // use data.scopedSlots in lower Vue version
  1052. var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};
  1053. var slots = context.slots();
  1054. Object.keys(slots).forEach(function (key) {
  1055. if (!scopedSlots[key]) {
  1056. scopedSlots[key] = function () {
  1057. return slots[key];
  1058. };
  1059. }
  1060. });
  1061. return scopedSlots;
  1062. } // should be removed after Vue 3
  1063. function transformFunctionComponent(pure) {
  1064. return {
  1065. functional: true,
  1066. props: pure.props,
  1067. model: pure.model,
  1068. render: function render(h, context) {
  1069. return pure(h, context.props, unifySlots(context), context);
  1070. }
  1071. };
  1072. }
  1073. function createComponent(name) {
  1074. return function (sfc) {
  1075. if ((0, _.isFunction)(sfc)) {
  1076. sfc = transformFunctionComponent(sfc);
  1077. }
  1078. if (!sfc.functional) {
  1079. sfc.mixins = sfc.mixins || [];
  1080. sfc.mixins.push(_slots.SlotsMixin);
  1081. }
  1082. sfc.name = name;
  1083. sfc.install = install;
  1084. return sfc;
  1085. };
  1086. }
  1087. /***/ }),
  1088. /***/ 27:
  1089. /***/ (function(module, exports, __webpack_require__) {
  1090. "use strict";
  1091. exports.__esModule = true;
  1092. exports.default = void 0;
  1093. var _default = {
  1094. name: '姓名',
  1095. tel: '电话',
  1096. save: '保存',
  1097. confirm: '确认',
  1098. cancel: '取消',
  1099. delete: '删除',
  1100. complete: '完成',
  1101. loading: '加载中...',
  1102. telEmpty: '请填写电话',
  1103. nameEmpty: '请填写姓名',
  1104. nameInvalid: '请输入正确的姓名',
  1105. confirmDelete: '确定要删除吗',
  1106. telInvalid: '请输入正确的手机号',
  1107. vanCalendar: {
  1108. end: '结束',
  1109. start: '开始',
  1110. title: '日期选择',
  1111. confirm: '确定',
  1112. startEnd: '开始/结束',
  1113. weekdays: ['日', '一', '二', '三', '四', '五', '六'],
  1114. monthTitle: function monthTitle(year, month) {
  1115. return year + "\u5E74" + month + "\u6708";
  1116. },
  1117. rangePrompt: function rangePrompt(maxRange) {
  1118. return "\u9009\u62E9\u5929\u6570\u4E0D\u80FD\u8D85\u8FC7 " + maxRange + " \u5929";
  1119. }
  1120. },
  1121. vanCascader: {
  1122. select: '请选择'
  1123. },
  1124. vanContactCard: {
  1125. addText: '添加联系人'
  1126. },
  1127. vanContactList: {
  1128. addText: '新建联系人'
  1129. },
  1130. vanPagination: {
  1131. prev: '上一页',
  1132. next: '下一页'
  1133. },
  1134. vanPullRefresh: {
  1135. pulling: '下拉即可刷新...',
  1136. loosing: '释放即可刷新...'
  1137. },
  1138. vanSubmitBar: {
  1139. label: '合计:'
  1140. },
  1141. vanCoupon: {
  1142. unlimited: '无使用门槛',
  1143. discount: function discount(_discount) {
  1144. return _discount + "\u6298";
  1145. },
  1146. condition: function condition(_condition) {
  1147. return "\u6EE1" + _condition + "\u5143\u53EF\u7528";
  1148. }
  1149. },
  1150. vanCouponCell: {
  1151. title: '优惠券',
  1152. tips: '暂无可用',
  1153. count: function count(_count) {
  1154. return _count + "\u5F20\u53EF\u7528";
  1155. }
  1156. },
  1157. vanCouponList: {
  1158. empty: '暂无优惠券',
  1159. exchange: '兑换',
  1160. close: '不使用优惠券',
  1161. enable: '可用',
  1162. disabled: '不可用',
  1163. placeholder: '请输入优惠码'
  1164. },
  1165. vanAddressEdit: {
  1166. area: '地区',
  1167. postal: '邮政编码',
  1168. areaEmpty: '请选择地区',
  1169. addressEmpty: '请填写详细地址',
  1170. postalEmpty: '邮政编码格式不正确',
  1171. defaultAddress: '设为默认收货地址',
  1172. telPlaceholder: '收货人手机号',
  1173. namePlaceholder: '收货人姓名',
  1174. areaPlaceholder: '选择省 / 市 / 区'
  1175. },
  1176. vanAddressEditDetail: {
  1177. label: '详细地址',
  1178. placeholder: '街道门牌、楼层房间号等信息'
  1179. },
  1180. vanAddressList: {
  1181. add: '新增地址'
  1182. }
  1183. };
  1184. exports.default = _default;
  1185. /***/ }),
  1186. /***/ 28:
  1187. /***/ (function(module, exports, __webpack_require__) {
  1188. "use strict";
  1189. exports.__esModule = true;
  1190. exports.SlotsMixin = void 0;
  1191. /**
  1192. * Use scopedSlots in Vue 2.6+
  1193. * downgrade to slots in lower version
  1194. */
  1195. var SlotsMixin = {
  1196. methods: {
  1197. slots: function slots(name, props) {
  1198. if (name === void 0) {
  1199. name = 'default';
  1200. }
  1201. var $slots = this.$slots,
  1202. $scopedSlots = this.$scopedSlots;
  1203. var scopedSlot = $scopedSlots[name];
  1204. if (scopedSlot) {
  1205. return scopedSlot(props);
  1206. }
  1207. return $slots[name];
  1208. }
  1209. }
  1210. };
  1211. exports.SlotsMixin = SlotsMixin;
  1212. /***/ }),
  1213. /***/ 284:
  1214. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1215. "use strict";
  1216. __webpack_require__.r(__webpack_exports__);
  1217. /* harmony import */ var _tisdesign_m_lib_cascader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197);
  1218. /* harmony import */ var _tisdesign_m_lib_cascader__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tisdesign_m_lib_cascader__WEBPACK_IMPORTED_MODULE_0__);
  1219. /* harmony import */ var _tisdesign_m_lib_cascader_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(285);
  1220. /* harmony import */ var _tisdesign_m_lib_cascader_style__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_tisdesign_m_lib_cascader_style__WEBPACK_IMPORTED_MODULE_1__);
  1221. _tisdesign_m_lib_cascader__WEBPACK_IMPORTED_MODULE_0___default.a.name = 'm-cascader';
  1222. /* harmony default export */ __webpack_exports__["default"] = (_tisdesign_m_lib_cascader__WEBPACK_IMPORTED_MODULE_0___default.a);
  1223. /***/ }),
  1224. /***/ 285:
  1225. /***/ (function(module, exports, __webpack_require__) {
  1226. __webpack_require__(22);
  1227. __webpack_require__(41);
  1228. __webpack_require__(45);
  1229. __webpack_require__(173);
  1230. __webpack_require__(175);
  1231. __webpack_require__(286);
  1232. __webpack_require__(288);
  1233. /***/ }),
  1234. /***/ 286:
  1235. /***/ (function(module, exports, __webpack_require__) {
  1236. var content = __webpack_require__(287);
  1237. if(typeof content === 'string') content = [[module.i, content, '']];
  1238. var transform;
  1239. var insertInto;
  1240. var options = {"hmr":true}
  1241. options.transform = transform
  1242. options.insertInto = undefined;
  1243. var update = __webpack_require__(6)(content, options);
  1244. if(content.locals) module.exports = content.locals;
  1245. if(false) {}
  1246. /***/ }),
  1247. /***/ 287:
  1248. /***/ (function(module, exports, __webpack_require__) {
  1249. exports = module.exports = __webpack_require__(5)(false);
  1250. // Module
  1251. exports.push([module.i, ".van-tab{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;-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;padding:0 4px;color:#646566;font-size:14px;line-height:20px;cursor:pointer}.van-tab--active{color:#323233;font-weight:500}.van-tab--disabled{color:#c8c9cc;cursor:not-allowed}.van-tab__text--ellipsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.van-tab__text-wrapper{position:relative}.van-tabs{position:relative}.van-tabs__wrap{overflow:hidden}.van-tabs__wrap--page-top{position:fixed}.van-tabs__wrap--content-bottom{top:auto;bottom:0}.van-tabs__wrap--scrollable .van-tab{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;padding:0 12px}.van-tabs__wrap--scrollable .van-tabs__nav{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.van-tabs__wrap--scrollable .van-tabs__nav::-webkit-scrollbar{display:none}.van-tabs__nav{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;background-color:#fff;-webkit-user-select:none;user-select:none}.van-tabs__nav--line{box-sizing:content-box;height:100%;padding-bottom:15px}.van-tabs__nav--complete{padding-right:8px;padding-left:8px}.van-tabs__nav--card{box-sizing:border-box;height:30px;margin:0 16px;border:1px solid #ffce6d;border-radius:2px}.van-tabs__nav--card .van-tab{color:#ffce6d;border-right:1px solid #ffce6d}.van-tabs__nav--card .van-tab:last-child{border-right:none}.van-tabs__nav--card .van-tab.van-tab--active{color:#fff;background-color:#ffce6d}.van-tabs__nav--card .van-tab--disabled{color:#c8c9cc}.van-tabs__line{position:absolute;bottom:15px;left:0;z-index:1;width:40px;height:3px;background-color:#ffce6d;border-radius:3px}.van-tabs__track{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;width:100%;height:100%;will-change:left}.van-tabs__content--animated{overflow:hidden}.van-tabs--line .van-tabs__wrap{height:44px}.van-tabs--card>.van-tabs__wrap{height:30px}", ""]);
  1252. /***/ }),
  1253. /***/ 288:
  1254. /***/ (function(module, exports, __webpack_require__) {
  1255. var content = __webpack_require__(289);
  1256. if(typeof content === 'string') content = [[module.i, content, '']];
  1257. var transform;
  1258. var insertInto;
  1259. var options = {"hmr":true}
  1260. options.transform = transform
  1261. options.insertInto = undefined;
  1262. var update = __webpack_require__(6)(content, options);
  1263. if(content.locals) module.exports = content.locals;
  1264. if(false) {}
  1265. /***/ }),
  1266. /***/ 289:
  1267. /***/ (function(module, exports, __webpack_require__) {
  1268. exports = module.exports = __webpack_require__(5)(false);
  1269. // Module
  1270. exports.push([module.i, ".van-cascader__header{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;height:48px;padding:0 16px}.van-cascader__title{font-weight:500;font-size:16px;line-height:20px}.van-cascader__close-icon{color:#c8c9cc;font-size:22px}.van-cascader__close-icon:active{color:#969799}.van-cascader__tabs .van-tab{-webkit-box-flex:0;-webkit-flex:none;flex:none;padding:0 10px}.van-cascader__tabs.van-tabs--line .van-tabs__wrap{height:48px}.van-cascader__tabs .van-tabs__nav--complete{padding-right:6px;padding-left:6px}.van-cascader__tab{color:#323233;font-weight:500}.van-cascader__tab--unselected{color:#969799;font-weight:400}.van-cascader__option{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:10px 16px;font-size:14px;line-height:20px}.van-cascader__option:active{background-color:#f2f3f5}.van-cascader__option--selected{color:#ffce6d;font-weight:500}.van-cascader__selected-icon{font-size:18px}.van-cascader__options{box-sizing:border-box;height:384px;padding-top:6px;overflow-y:auto;-webkit-overflow-scrolling:touch}", ""]);
  1271. /***/ }),
  1272. /***/ 29:
  1273. /***/ (function(module, exports, __webpack_require__) {
  1274. "use strict";
  1275. var _interopRequireDefault = __webpack_require__(1);
  1276. exports.__esModule = true;
  1277. exports.createI18N = createI18N;
  1278. var _ = __webpack_require__(0);
  1279. var _string = __webpack_require__(9);
  1280. var _locale = _interopRequireDefault(__webpack_require__(11));
  1281. function createI18N(name) {
  1282. var prefix = (0, _string.camelize)(name) + '.';
  1283. return function (path) {
  1284. var messages = _locale.default.messages();
  1285. var message = (0, _.get)(messages, prefix + path) || (0, _.get)(messages, path);
  1286. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  1287. args[_key - 1] = arguments[_key];
  1288. }
  1289. return (0, _.isFunction)(message) ? message.apply(void 0, args) : message;
  1290. };
  1291. }
  1292. /***/ }),
  1293. /***/ 290:
  1294. /***/ (function(module, exports, __webpack_require__) {
  1295. "use strict";
  1296. var _interopRequireDefault = __webpack_require__(1);
  1297. exports.__esModule = true;
  1298. exports.default = void 0;
  1299. var _utils = __webpack_require__(0);
  1300. var _utils2 = __webpack_require__(291);
  1301. var _router = __webpack_require__(69);
  1302. var _style = __webpack_require__(94);
  1303. var _event = __webpack_require__(30);
  1304. var _unit = __webpack_require__(20);
  1305. var _constant = __webpack_require__(63);
  1306. var _interceptor = __webpack_require__(177);
  1307. var _scroll = __webpack_require__(53);
  1308. var _relation = __webpack_require__(47);
  1309. var _bindEvent = __webpack_require__(60);
  1310. var _Title = _interopRequireDefault(__webpack_require__(292));
  1311. var _sticky = _interopRequireDefault(__webpack_require__(141));
  1312. var _Content = _interopRequireDefault(__webpack_require__(293));
  1313. // Utils
  1314. // Mixins
  1315. // Components
  1316. var _createNamespace = (0, _utils.createNamespace)('tabs'),
  1317. createComponent = _createNamespace[0],
  1318. bem = _createNamespace[1];
  1319. var _default2 = createComponent({
  1320. mixins: [(0, _relation.ParentMixin)('vanTabs'), (0, _bindEvent.BindEventMixin)(function (bind) {
  1321. if (!this.scroller) {
  1322. this.scroller = (0, _scroll.getScroller)(this.$el);
  1323. }
  1324. bind(window, 'resize', this.resize, true);
  1325. if (this.scrollspy) {
  1326. bind(this.scroller, 'scroll', this.onScroll, true);
  1327. }
  1328. })],
  1329. model: {
  1330. prop: 'active'
  1331. },
  1332. props: {
  1333. color: String,
  1334. border: Boolean,
  1335. sticky: Boolean,
  1336. animated: Boolean,
  1337. swipeable: Boolean,
  1338. scrollspy: Boolean,
  1339. background: String,
  1340. lineWidth: [Number, String],
  1341. lineHeight: [Number, String],
  1342. beforeChange: Function,
  1343. titleActiveColor: String,
  1344. titleInactiveColor: String,
  1345. type: {
  1346. type: String,
  1347. default: 'line'
  1348. },
  1349. active: {
  1350. type: [Number, String],
  1351. default: 0
  1352. },
  1353. ellipsis: {
  1354. type: Boolean,
  1355. default: true
  1356. },
  1357. duration: {
  1358. type: [Number, String],
  1359. default: 0.3
  1360. },
  1361. offsetTop: {
  1362. type: [Number, String],
  1363. default: 0
  1364. },
  1365. lazyRender: {
  1366. type: Boolean,
  1367. default: true
  1368. },
  1369. swipeThreshold: {
  1370. type: [Number, String],
  1371. default: 5
  1372. }
  1373. },
  1374. data: function data() {
  1375. return {
  1376. position: '',
  1377. currentIndex: null,
  1378. lineStyle: {
  1379. backgroundColor: this.color
  1380. }
  1381. };
  1382. },
  1383. computed: {
  1384. // whether the nav is scrollable
  1385. scrollable: function scrollable() {
  1386. return this.children.length > this.swipeThreshold || !this.ellipsis;
  1387. },
  1388. navStyle: function navStyle() {
  1389. return {
  1390. borderColor: this.color,
  1391. background: this.background
  1392. };
  1393. },
  1394. currentName: function currentName() {
  1395. var activeTab = this.children[this.currentIndex];
  1396. if (activeTab) {
  1397. return activeTab.computedName;
  1398. }
  1399. },
  1400. offsetTopPx: function offsetTopPx() {
  1401. return (0, _unit.unitToPx)(this.offsetTop);
  1402. },
  1403. scrollOffset: function scrollOffset() {
  1404. if (this.sticky) {
  1405. return this.offsetTopPx + this.tabHeight;
  1406. }
  1407. return 0;
  1408. }
  1409. },
  1410. watch: {
  1411. color: 'setLine',
  1412. active: function active(name) {
  1413. if (name !== this.currentName) {
  1414. this.setCurrentIndexByName(name);
  1415. }
  1416. },
  1417. children: function children() {
  1418. var _this = this;
  1419. this.setCurrentIndexByName(this.active || this.currentName);
  1420. this.setLine();
  1421. this.$nextTick(function () {
  1422. _this.scrollIntoView(true);
  1423. });
  1424. },
  1425. currentIndex: function currentIndex() {
  1426. this.scrollIntoView();
  1427. this.setLine(); // scroll to correct position
  1428. if (this.stickyFixed && !this.scrollspy) {
  1429. (0, _scroll.setRootScrollTop)(Math.ceil((0, _scroll.getElementTop)(this.$el) - this.offsetTopPx));
  1430. }
  1431. },
  1432. scrollspy: function scrollspy(val) {
  1433. if (val) {
  1434. (0, _event.on)(this.scroller, 'scroll', this.onScroll, true);
  1435. } else {
  1436. (0, _event.off)(this.scroller, 'scroll', this.onScroll);
  1437. }
  1438. }
  1439. },
  1440. mounted: function mounted() {
  1441. this.init();
  1442. },
  1443. activated: function activated() {
  1444. this.init();
  1445. this.setLine();
  1446. },
  1447. methods: {
  1448. // @exposed-api
  1449. resize: function resize() {
  1450. this.setLine();
  1451. },
  1452. init: function init() {
  1453. var _this2 = this;
  1454. this.$nextTick(function () {
  1455. _this2.inited = true;
  1456. _this2.tabHeight = (0, _scroll.getVisibleHeight)(_this2.$refs.wrap);
  1457. _this2.scrollIntoView(true);
  1458. });
  1459. },
  1460. // update nav bar style
  1461. setLine: function setLine() {
  1462. var _this3 = this;
  1463. var shouldAnimate = this.inited;
  1464. this.$nextTick(function () {
  1465. var titles = _this3.$refs.titles;
  1466. if (!titles || !titles[_this3.currentIndex] || _this3.type !== 'line' || (0, _style.isHidden)(_this3.$el)) {
  1467. return;
  1468. }
  1469. var title = titles[_this3.currentIndex].$el;
  1470. var lineWidth = _this3.lineWidth,
  1471. lineHeight = _this3.lineHeight;
  1472. var left = title.offsetLeft + title.offsetWidth / 2;
  1473. var lineStyle = {
  1474. width: (0, _utils.addUnit)(lineWidth),
  1475. backgroundColor: _this3.color,
  1476. transform: "translateX(" + left + "px) translateX(-50%)"
  1477. };
  1478. if (shouldAnimate) {
  1479. lineStyle.transitionDuration = _this3.duration + "s";
  1480. }
  1481. if ((0, _utils.isDef)(lineHeight)) {
  1482. var height = (0, _utils.addUnit)(lineHeight);
  1483. lineStyle.height = height;
  1484. lineStyle.borderRadius = height;
  1485. }
  1486. _this3.lineStyle = lineStyle;
  1487. });
  1488. },
  1489. // correct the index of active tab
  1490. setCurrentIndexByName: function setCurrentIndexByName(name) {
  1491. var matched = this.children.filter(function (tab) {
  1492. return tab.computedName === name;
  1493. });
  1494. var defaultIndex = (this.children[0] || {}).index || 0;
  1495. this.setCurrentIndex(matched.length ? matched[0].index : defaultIndex);
  1496. },
  1497. setCurrentIndex: function setCurrentIndex(currentIndex) {
  1498. var newIndex = this.findAvailableTab(currentIndex);
  1499. if (!(0, _utils.isDef)(newIndex)) {
  1500. return;
  1501. }
  1502. var newTab = this.children[newIndex];
  1503. var newName = newTab.computedName;
  1504. var shouldEmitChange = this.currentIndex !== null;
  1505. this.currentIndex = newIndex;
  1506. if (newName !== this.active) {
  1507. this.$emit('input', newName);
  1508. if (shouldEmitChange) {
  1509. this.$emit('change', newName, newTab.title);
  1510. }
  1511. }
  1512. },
  1513. findAvailableTab: function findAvailableTab(index) {
  1514. var diff = index < this.currentIndex ? -1 : 1;
  1515. while (index >= 0 && index < this.children.length) {
  1516. if (!this.children[index].disabled) {
  1517. return index;
  1518. }
  1519. index += diff;
  1520. }
  1521. },
  1522. // emit event when clicked
  1523. onClick: function onClick(item, index) {
  1524. var _this4 = this;
  1525. var _this$children$index = this.children[index],
  1526. title = _this$children$index.title,
  1527. disabled = _this$children$index.disabled,
  1528. computedName = _this$children$index.computedName;
  1529. if (disabled) {
  1530. this.$emit('disabled', computedName, title);
  1531. } else {
  1532. (0, _interceptor.callInterceptor)({
  1533. interceptor: this.beforeChange,
  1534. args: [computedName],
  1535. done: function done() {
  1536. _this4.setCurrentIndex(index);
  1537. _this4.scrollToCurrentContent();
  1538. }
  1539. });
  1540. this.$emit('click', computedName, title);
  1541. (0, _router.route)(item.$router, item);
  1542. }
  1543. },
  1544. // scroll active tab into view
  1545. scrollIntoView: function scrollIntoView(immediate) {
  1546. var titles = this.$refs.titles;
  1547. if (!this.scrollable || !titles || !titles[this.currentIndex]) {
  1548. return;
  1549. }
  1550. var nav = this.$refs.nav;
  1551. var title = titles[this.currentIndex].$el;
  1552. var to = title.offsetLeft - (nav.offsetWidth - title.offsetWidth) / 2;
  1553. (0, _utils2.scrollLeftTo)(nav, to, immediate ? 0 : +this.duration);
  1554. },
  1555. onSticktScroll: function onSticktScroll(params) {
  1556. this.stickyFixed = params.isFixed;
  1557. this.$emit('scroll', params);
  1558. },
  1559. // @exposed-api
  1560. scrollTo: function scrollTo(name) {
  1561. var _this5 = this;
  1562. this.$nextTick(function () {
  1563. _this5.setCurrentIndexByName(name);
  1564. _this5.scrollToCurrentContent(true);
  1565. });
  1566. },
  1567. scrollToCurrentContent: function scrollToCurrentContent(immediate) {
  1568. var _this6 = this;
  1569. if (immediate === void 0) {
  1570. immediate = false;
  1571. }
  1572. if (this.scrollspy) {
  1573. var target = this.children[this.currentIndex];
  1574. var el = target == null ? void 0 : target.$el;
  1575. if (el) {
  1576. var to = (0, _scroll.getElementTop)(el, this.scroller) - this.scrollOffset;
  1577. this.lockScroll = true;
  1578. (0, _utils2.scrollTopTo)(this.scroller, to, immediate ? 0 : +this.duration, function () {
  1579. _this6.lockScroll = false;
  1580. });
  1581. }
  1582. }
  1583. },
  1584. onScroll: function onScroll() {
  1585. if (this.scrollspy && !this.lockScroll) {
  1586. var index = this.getCurrentIndexOnScroll();
  1587. this.setCurrentIndex(index);
  1588. }
  1589. },
  1590. getCurrentIndexOnScroll: function getCurrentIndexOnScroll() {
  1591. var children = this.children;
  1592. for (var index = 0; index < children.length; index++) {
  1593. var top = (0, _scroll.getVisibleTop)(children[index].$el);
  1594. if (top > this.scrollOffset) {
  1595. return index === 0 ? 0 : index - 1;
  1596. }
  1597. }
  1598. return children.length - 1;
  1599. }
  1600. },
  1601. render: function render() {
  1602. var _this7 = this,
  1603. _ref;
  1604. var h = arguments[0];
  1605. var type = this.type,
  1606. animated = this.animated,
  1607. scrollable = this.scrollable;
  1608. var Nav = this.children.map(function (item, index) {
  1609. var _item$badge;
  1610. return h(_Title.default, {
  1611. "ref": "titles",
  1612. "refInFor": true,
  1613. "attrs": {
  1614. "type": type,
  1615. "dot": item.dot,
  1616. "info": (_item$badge = item.badge) != null ? _item$badge : item.info,
  1617. "title": item.title,
  1618. "color": _this7.color,
  1619. "isActive": index === _this7.currentIndex,
  1620. "disabled": item.disabled,
  1621. "scrollable": scrollable,
  1622. "activeColor": _this7.titleActiveColor,
  1623. "inactiveColor": _this7.titleInactiveColor
  1624. },
  1625. "style": item.titleStyle,
  1626. "class": item.titleClass,
  1627. "scopedSlots": {
  1628. default: function _default() {
  1629. return item.slots('title');
  1630. }
  1631. },
  1632. "on": {
  1633. "click": function click() {
  1634. _this7.onClick(item, index);
  1635. }
  1636. }
  1637. });
  1638. });
  1639. var Wrap = h("div", {
  1640. "ref": "wrap",
  1641. "class": [bem('wrap', {
  1642. scrollable: scrollable
  1643. }), (_ref = {}, _ref[_constant.BORDER_TOP_BOTTOM] = type === 'line' && this.border, _ref)]
  1644. }, [h("div", {
  1645. "ref": "nav",
  1646. "attrs": {
  1647. "role": "tablist"
  1648. },
  1649. "class": bem('nav', [type, {
  1650. complete: this.scrollable
  1651. }]),
  1652. "style": this.navStyle
  1653. }, [this.slots('nav-left'), Nav, type === 'line' && h("div", {
  1654. "class": bem('line'),
  1655. "style": this.lineStyle
  1656. }), this.slots('nav-right')])]);
  1657. return h("div", {
  1658. "class": bem([type])
  1659. }, [this.sticky ? h(_sticky.default, {
  1660. "attrs": {
  1661. "container": this.$el,
  1662. "offsetTop": this.offsetTop
  1663. },
  1664. "on": {
  1665. "scroll": this.onSticktScroll
  1666. }
  1667. }, [Wrap]) : Wrap, h(_Content.default, {
  1668. "attrs": {
  1669. "count": this.children.length,
  1670. "animated": animated,
  1671. "duration": this.duration,
  1672. "swipeable": this.swipeable,
  1673. "currentIndex": this.currentIndex
  1674. },
  1675. "on": {
  1676. "change": this.setCurrentIndex
  1677. }
  1678. }, [this.slots()])]);
  1679. }
  1680. });
  1681. exports.default = _default2;
  1682. /***/ }),
  1683. /***/ 291:
  1684. /***/ (function(module, exports, __webpack_require__) {
  1685. "use strict";
  1686. exports.__esModule = true;
  1687. exports.scrollLeftTo = scrollLeftTo;
  1688. exports.scrollTopTo = scrollTopTo;
  1689. var _raf = __webpack_require__(86);
  1690. var _scroll = __webpack_require__(53);
  1691. var scrollLeftRafId;
  1692. function scrollLeftTo(scroller, to, duration) {
  1693. (0, _raf.cancelRaf)(scrollLeftRafId);
  1694. var count = 0;
  1695. var from = scroller.scrollLeft;
  1696. var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);
  1697. function animate() {
  1698. scroller.scrollLeft += (to - from) / frames;
  1699. if (++count < frames) {
  1700. scrollLeftRafId = (0, _raf.raf)(animate);
  1701. }
  1702. }
  1703. animate();
  1704. }
  1705. function scrollTopTo(scroller, to, duration, callback) {
  1706. var current = (0, _scroll.getScrollTop)(scroller);
  1707. var isDown = current < to;
  1708. var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);
  1709. var step = (to - current) / frames;
  1710. function animate() {
  1711. current += step;
  1712. if (isDown && current > to || !isDown && current < to) {
  1713. current = to;
  1714. }
  1715. (0, _scroll.setScrollTop)(scroller, current);
  1716. if (isDown && current < to || !isDown && current > to) {
  1717. (0, _raf.raf)(animate);
  1718. } else if (callback) {
  1719. (0, _raf.raf)(callback);
  1720. }
  1721. }
  1722. animate();
  1723. }
  1724. /***/ }),
  1725. /***/ 292:
  1726. /***/ (function(module, exports, __webpack_require__) {
  1727. "use strict";
  1728. var _interopRequireDefault = __webpack_require__(1);
  1729. exports.__esModule = true;
  1730. exports.default = void 0;
  1731. var _utils = __webpack_require__(0);
  1732. var _info = _interopRequireDefault(__webpack_require__(37));
  1733. var _createNamespace = (0, _utils.createNamespace)('tab'),
  1734. createComponent = _createNamespace[0],
  1735. bem = _createNamespace[1];
  1736. var _default = createComponent({
  1737. props: {
  1738. dot: Boolean,
  1739. type: String,
  1740. info: [Number, String],
  1741. color: String,
  1742. title: String,
  1743. isActive: Boolean,
  1744. disabled: Boolean,
  1745. scrollable: Boolean,
  1746. activeColor: String,
  1747. inactiveColor: String
  1748. },
  1749. computed: {
  1750. style: function style() {
  1751. var style = {};
  1752. var color = this.color,
  1753. isActive = this.isActive;
  1754. var isCard = this.type === 'card'; // card theme color
  1755. if (color && isCard) {
  1756. style.borderColor = color;
  1757. if (!this.disabled) {
  1758. if (isActive) {
  1759. style.backgroundColor = color;
  1760. } else {
  1761. style.color = color;
  1762. }
  1763. }
  1764. }
  1765. var titleColor = isActive ? this.activeColor : this.inactiveColor;
  1766. if (titleColor) {
  1767. style.color = titleColor;
  1768. }
  1769. return style;
  1770. }
  1771. },
  1772. methods: {
  1773. onClick: function onClick() {
  1774. this.$emit('click');
  1775. },
  1776. genText: function genText() {
  1777. var h = this.$createElement;
  1778. var Text = h("span", {
  1779. "class": bem('text', {
  1780. ellipsis: !this.scrollable
  1781. })
  1782. }, [this.slots() || this.title]);
  1783. if (this.dot || (0, _utils.isDef)(this.info) && this.info !== '') {
  1784. return h("span", {
  1785. "class": bem('text-wrapper')
  1786. }, [Text, h(_info.default, {
  1787. "attrs": {
  1788. "dot": this.dot,
  1789. "info": this.info
  1790. }
  1791. })]);
  1792. }
  1793. return Text;
  1794. }
  1795. },
  1796. render: function render() {
  1797. var h = arguments[0];
  1798. return h("div", {
  1799. "attrs": {
  1800. "role": "tab",
  1801. "aria-selected": this.isActive
  1802. },
  1803. "class": [bem({
  1804. active: this.isActive,
  1805. disabled: this.disabled
  1806. })],
  1807. "style": this.style,
  1808. "on": {
  1809. "click": this.onClick
  1810. }
  1811. }, [this.genText()]);
  1812. }
  1813. });
  1814. exports.default = _default;
  1815. /***/ }),
  1816. /***/ 293:
  1817. /***/ (function(module, exports, __webpack_require__) {
  1818. "use strict";
  1819. var _interopRequireDefault = __webpack_require__(1);
  1820. exports.__esModule = true;
  1821. exports.default = void 0;
  1822. var _extends2 = _interopRequireDefault(__webpack_require__(18));
  1823. var _utils = __webpack_require__(0);
  1824. var _touch = __webpack_require__(51);
  1825. var _createNamespace = (0, _utils.createNamespace)('tabs'),
  1826. createComponent = _createNamespace[0],
  1827. bem = _createNamespace[1];
  1828. var MIN_SWIPE_DISTANCE = 50;
  1829. var _default = createComponent({
  1830. mixins: [_touch.TouchMixin],
  1831. props: {
  1832. count: Number,
  1833. duration: [Number, String],
  1834. animated: Boolean,
  1835. swipeable: Boolean,
  1836. currentIndex: Number
  1837. },
  1838. computed: {
  1839. style: function style() {
  1840. if (this.animated) {
  1841. return {
  1842. transform: "translate3d(" + -1 * this.currentIndex * 100 + "%, 0, 0)",
  1843. transitionDuration: this.duration + "s"
  1844. };
  1845. }
  1846. },
  1847. listeners: function listeners() {
  1848. if (this.swipeable) {
  1849. return {
  1850. touchstart: this.touchStart,
  1851. touchmove: this.touchMove,
  1852. touchend: this.onTouchEnd,
  1853. touchcancel: this.onTouchEnd
  1854. };
  1855. }
  1856. }
  1857. },
  1858. methods: {
  1859. // watch swipe touch end
  1860. onTouchEnd: function onTouchEnd() {
  1861. var direction = this.direction,
  1862. deltaX = this.deltaX,
  1863. currentIndex = this.currentIndex;
  1864. /* istanbul ignore else */
  1865. if (direction === 'horizontal' && this.offsetX >= MIN_SWIPE_DISTANCE) {
  1866. /* istanbul ignore else */
  1867. if (deltaX > 0 && currentIndex !== 0) {
  1868. this.$emit('change', currentIndex - 1);
  1869. } else if (deltaX < 0 && currentIndex !== this.count - 1) {
  1870. this.$emit('change', currentIndex + 1);
  1871. }
  1872. }
  1873. },
  1874. genChildren: function genChildren() {
  1875. var h = this.$createElement;
  1876. if (this.animated) {
  1877. return h("div", {
  1878. "class": bem('track'),
  1879. "style": this.style
  1880. }, [this.slots()]);
  1881. }
  1882. return this.slots();
  1883. }
  1884. },
  1885. render: function render() {
  1886. var h = arguments[0];
  1887. return h("div", {
  1888. "class": bem('content', {
  1889. animated: this.animated
  1890. }),
  1891. "on": (0, _extends2.default)({}, this.listeners)
  1892. }, [this.genChildren()]);
  1893. }
  1894. });
  1895. exports.default = _default;
  1896. /***/ }),
  1897. /***/ 30:
  1898. /***/ (function(module, exports, __webpack_require__) {
  1899. "use strict";
  1900. exports.__esModule = true;
  1901. exports.on = on;
  1902. exports.off = off;
  1903. exports.stopPropagation = stopPropagation;
  1904. exports.preventDefault = preventDefault;
  1905. exports.supportsPassive = void 0;
  1906. var _ = __webpack_require__(0);
  1907. // eslint-disable-next-line import/no-mutable-exports
  1908. var supportsPassive = false;
  1909. exports.supportsPassive = supportsPassive;
  1910. if (!_.isServer) {
  1911. try {
  1912. var opts = {};
  1913. Object.defineProperty(opts, 'passive', {
  1914. // eslint-disable-next-line getter-return
  1915. get: function get() {
  1916. /* istanbul ignore next */
  1917. exports.supportsPassive = supportsPassive = true;
  1918. }
  1919. });
  1920. window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty
  1921. } catch (e) {}
  1922. }
  1923. function on(target, event, handler, passive) {
  1924. if (passive === void 0) {
  1925. passive = false;
  1926. }
  1927. if (!_.isServer) {
  1928. target.addEventListener(event, handler, supportsPassive ? {
  1929. capture: false,
  1930. passive: passive
  1931. } : false);
  1932. }
  1933. }
  1934. function off(target, event, handler) {
  1935. if (!_.isServer) {
  1936. target.removeEventListener(event, handler);
  1937. }
  1938. }
  1939. function stopPropagation(event) {
  1940. event.stopPropagation();
  1941. }
  1942. function preventDefault(event, isStopPropagation) {
  1943. /* istanbul ignore else */
  1944. if (typeof event.cancelable !== 'boolean' || event.cancelable) {
  1945. event.preventDefault();
  1946. }
  1947. if (isStopPropagation) {
  1948. stopPropagation(event);
  1949. }
  1950. }
  1951. /***/ }),
  1952. /***/ 35:
  1953. /***/ (function(module, exports, __webpack_require__) {
  1954. "use strict";
  1955. var _interopRequireDefault = __webpack_require__(1);
  1956. exports.__esModule = true;
  1957. exports.default = void 0;
  1958. var _babelHelperVueJsxMergeProps = _interopRequireDefault(__webpack_require__(16));
  1959. var _utils = __webpack_require__(0);
  1960. var _functional = __webpack_require__(14);
  1961. var _info = _interopRequireDefault(__webpack_require__(37));
  1962. // Utils
  1963. // Components
  1964. var _createNamespace = (0, _utils.createNamespace)('icon'),
  1965. createComponent = _createNamespace[0],
  1966. bem = _createNamespace[1];
  1967. function isImage(name) {
  1968. return name ? name.indexOf('/') !== -1 : false;
  1969. } // compatible with legacy usage, should be removed in next major version
  1970. var LEGACY_MAP = {
  1971. medel: 'medal',
  1972. 'medel-o': 'medal-o',
  1973. 'calender-o': 'calendar-o'
  1974. };
  1975. function correctName(name) {
  1976. return name && LEGACY_MAP[name] || name;
  1977. }
  1978. function Icon(h, props, slots, ctx) {
  1979. var _props$badge;
  1980. var name = correctName(props.name);
  1981. var imageIcon = isImage(name);
  1982. if (false) {}
  1983. return h(props.tag, (0, _babelHelperVueJsxMergeProps.default)([{
  1984. "class": [props.classPrefix, imageIcon ? '' : props.classPrefix + "-" + name],
  1985. "style": {
  1986. color: props.color,
  1987. fontSize: (0, _utils.addUnit)(props.size)
  1988. }
  1989. }, (0, _functional.inherit)(ctx, true)]), [slots.default && slots.default(), imageIcon && h("img", {
  1990. "class": bem('image'),
  1991. "attrs": {
  1992. "src": name
  1993. }
  1994. }), h(_info.default, {
  1995. "attrs": {
  1996. "dot": props.dot,
  1997. "info": (_props$badge = props.badge) != null ? _props$badge : props.info
  1998. }
  1999. })]);
  2000. }
  2001. Icon.props = {
  2002. dot: Boolean,
  2003. name: String,
  2004. size: [Number, String],
  2005. // @deprecated
  2006. // should be removed in next major version
  2007. info: [Number, String],
  2008. badge: [Number, String],
  2009. color: String,
  2010. tag: {
  2011. type: String,
  2012. default: 'i'
  2013. },
  2014. classPrefix: {
  2015. type: String,
  2016. default: bem()
  2017. }
  2018. };
  2019. var _default = createComponent(Icon);
  2020. exports.default = _default;
  2021. /***/ }),
  2022. /***/ 37:
  2023. /***/ (function(module, exports, __webpack_require__) {
  2024. "use strict";
  2025. var _interopRequireDefault = __webpack_require__(1);
  2026. exports.__esModule = true;
  2027. exports.default = void 0;
  2028. var _babelHelperVueJsxMergeProps = _interopRequireDefault(__webpack_require__(16));
  2029. var _utils = __webpack_require__(0);
  2030. var _functional = __webpack_require__(14);
  2031. // Utils
  2032. var _createNamespace = (0, _utils.createNamespace)('info'),
  2033. createComponent = _createNamespace[0],
  2034. bem = _createNamespace[1];
  2035. function Info(h, props, slots, ctx) {
  2036. var dot = props.dot,
  2037. info = props.info;
  2038. var showInfo = (0, _utils.isDef)(info) && info !== '';
  2039. if (!dot && !showInfo) {
  2040. return;
  2041. }
  2042. return h("div", (0, _babelHelperVueJsxMergeProps.default)([{
  2043. "class": bem({
  2044. dot: dot
  2045. })
  2046. }, (0, _functional.inherit)(ctx, true)]), [dot ? '' : props.info]);
  2047. }
  2048. Info.props = {
  2049. dot: Boolean,
  2050. info: [Number, String]
  2051. };
  2052. var _default = createComponent(Info);
  2053. exports.default = _default;
  2054. /***/ }),
  2055. /***/ 4:
  2056. /***/ (function(module, exports) {
  2057. module.exports = require("vue");
  2058. /***/ }),
  2059. /***/ 41:
  2060. /***/ (function(module, exports, __webpack_require__) {
  2061. var content = __webpack_require__(42);
  2062. if(typeof content === 'string') content = [[module.i, content, '']];
  2063. var transform;
  2064. var insertInto;
  2065. var options = {"hmr":true}
  2066. options.transform = transform
  2067. options.insertInto = undefined;
  2068. var update = __webpack_require__(6)(content, options);
  2069. if(content.locals) module.exports = content.locals;
  2070. if(false) {}
  2071. /***/ }),
  2072. /***/ 42:
  2073. /***/ (function(module, exports, __webpack_require__) {
  2074. exports = module.exports = __webpack_require__(5)(false);
  2075. // Module
  2076. 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%}", ""]);
  2077. /***/ }),
  2078. /***/ 45:
  2079. /***/ (function(module, exports, __webpack_require__) {
  2080. var content = __webpack_require__(46);
  2081. if(typeof content === 'string') content = [[module.i, content, '']];
  2082. var transform;
  2083. var insertInto;
  2084. var options = {"hmr":true}
  2085. options.transform = transform
  2086. options.insertInto = undefined;
  2087. var update = __webpack_require__(6)(content, options);
  2088. if(content.locals) module.exports = content.locals;
  2089. if(false) {}
  2090. /***/ }),
  2091. /***/ 46:
  2092. /***/ (function(module, exports, __webpack_require__) {
  2093. exports = module.exports = __webpack_require__(5)(false);
  2094. // Module
  2095. 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
  2096. /***/ }),
  2097. /***/ 47:
  2098. /***/ (function(module, exports, __webpack_require__) {
  2099. "use strict";
  2100. exports.__esModule = true;
  2101. exports.ChildrenMixin = ChildrenMixin;
  2102. exports.ParentMixin = ParentMixin;
  2103. var _vnodes = __webpack_require__(48);
  2104. function ChildrenMixin(_parent, options) {
  2105. var _inject, _computed;
  2106. if (options === void 0) {
  2107. options = {};
  2108. }
  2109. var indexKey = options.indexKey || 'index';
  2110. return {
  2111. inject: (_inject = {}, _inject[_parent] = {
  2112. default: null
  2113. }, _inject),
  2114. computed: (_computed = {
  2115. parent: function parent() {
  2116. if (this.disableBindRelation) {
  2117. return null;
  2118. }
  2119. return this[_parent];
  2120. }
  2121. }, _computed[indexKey] = function () {
  2122. this.bindRelation();
  2123. if (this.parent) {
  2124. return this.parent.children.indexOf(this);
  2125. }
  2126. return null;
  2127. }, _computed),
  2128. watch: {
  2129. disableBindRelation: function disableBindRelation(val) {
  2130. if (!val) {
  2131. this.bindRelation();
  2132. }
  2133. }
  2134. },
  2135. mounted: function mounted() {
  2136. this.bindRelation();
  2137. },
  2138. beforeDestroy: function beforeDestroy() {
  2139. var _this = this;
  2140. if (this.parent) {
  2141. this.parent.children = this.parent.children.filter(function (item) {
  2142. return item !== _this;
  2143. });
  2144. }
  2145. },
  2146. methods: {
  2147. bindRelation: function bindRelation() {
  2148. if (!this.parent || this.parent.children.indexOf(this) !== -1) {
  2149. return;
  2150. }
  2151. var children = [].concat(this.parent.children, [this]);
  2152. (0, _vnodes.sortChildren)(children, this.parent);
  2153. this.parent.children = children;
  2154. }
  2155. }
  2156. };
  2157. }
  2158. function ParentMixin(parent) {
  2159. return {
  2160. provide: function provide() {
  2161. var _ref;
  2162. return _ref = {}, _ref[parent] = this, _ref;
  2163. },
  2164. data: function data() {
  2165. return {
  2166. children: []
  2167. };
  2168. }
  2169. };
  2170. }
  2171. /***/ }),
  2172. /***/ 48:
  2173. /***/ (function(module, exports, __webpack_require__) {
  2174. "use strict";
  2175. exports.__esModule = true;
  2176. exports.sortChildren = sortChildren;
  2177. function flattenVNodes(vnodes) {
  2178. var result = [];
  2179. function traverse(vnodes) {
  2180. vnodes.forEach(function (vnode) {
  2181. result.push(vnode);
  2182. if (vnode.componentInstance) {
  2183. traverse(vnode.componentInstance.$children.map(function (item) {
  2184. return item.$vnode;
  2185. }));
  2186. }
  2187. if (vnode.children) {
  2188. traverse(vnode.children);
  2189. }
  2190. });
  2191. }
  2192. traverse(vnodes);
  2193. return result;
  2194. } // sort children instances by vnodes order
  2195. function sortChildren(children, parent) {
  2196. var componentOptions = parent.$vnode.componentOptions;
  2197. if (!componentOptions || !componentOptions.children) {
  2198. return;
  2199. }
  2200. var vnodes = flattenVNodes(componentOptions.children);
  2201. children.sort(function (a, b) {
  2202. return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);
  2203. });
  2204. }
  2205. /***/ }),
  2206. /***/ 5:
  2207. /***/ (function(module, exports, __webpack_require__) {
  2208. "use strict";
  2209. /*
  2210. MIT License http://www.opensource.org/licenses/mit-license.php
  2211. Author Tobias Koppers @sokra
  2212. */
  2213. // css base code, injected by the css-loader
  2214. module.exports = function (useSourceMap) {
  2215. var list = []; // return the list of modules as css string
  2216. list.toString = function toString() {
  2217. return this.map(function (item) {
  2218. var content = cssWithMappingToString(item, useSourceMap);
  2219. if (item[2]) {
  2220. return '@media ' + item[2] + '{' + content + '}';
  2221. } else {
  2222. return content;
  2223. }
  2224. }).join('');
  2225. }; // import a list of modules into the list
  2226. list.i = function (modules, mediaQuery) {
  2227. if (typeof modules === 'string') {
  2228. modules = [[null, modules, '']];
  2229. }
  2230. var alreadyImportedModules = {};
  2231. for (var i = 0; i < this.length; i++) {
  2232. var id = this[i][0];
  2233. if (id != null) {
  2234. alreadyImportedModules[id] = true;
  2235. }
  2236. }
  2237. for (i = 0; i < modules.length; i++) {
  2238. var item = modules[i]; // skip already imported module
  2239. // this implementation is not 100% perfect for weird media query combinations
  2240. // when a module is imported multiple times with different media queries.
  2241. // I hope this will never occur (Hey this way we have smaller bundles)
  2242. if (item[0] == null || !alreadyImportedModules[item[0]]) {
  2243. if (mediaQuery && !item[2]) {
  2244. item[2] = mediaQuery;
  2245. } else if (mediaQuery) {
  2246. item[2] = '(' + item[2] + ') and (' + mediaQuery + ')';
  2247. }
  2248. list.push(item);
  2249. }
  2250. }
  2251. };
  2252. return list;
  2253. };
  2254. function cssWithMappingToString(item, useSourceMap) {
  2255. var content = item[1] || '';
  2256. var cssMapping = item[3];
  2257. if (!cssMapping) {
  2258. return content;
  2259. }
  2260. if (useSourceMap && typeof btoa === 'function') {
  2261. var sourceMapping = toComment(cssMapping);
  2262. var sourceURLs = cssMapping.sources.map(function (source) {
  2263. return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */';
  2264. });
  2265. return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
  2266. }
  2267. return [content].join('\n');
  2268. } // Adapted from convert-source-map (MIT)
  2269. function toComment(sourceMap) {
  2270. // eslint-disable-next-line no-undef
  2271. var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
  2272. var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
  2273. return '/*# ' + data + ' */';
  2274. }
  2275. /***/ }),
  2276. /***/ 51:
  2277. /***/ (function(module, exports, __webpack_require__) {
  2278. "use strict";
  2279. exports.__esModule = true;
  2280. exports.TouchMixin = void 0;
  2281. var _event = __webpack_require__(30);
  2282. var MIN_DISTANCE = 10;
  2283. function getDirection(x, y) {
  2284. if (x > y && x > MIN_DISTANCE) {
  2285. return 'horizontal';
  2286. }
  2287. if (y > x && y > MIN_DISTANCE) {
  2288. return 'vertical';
  2289. }
  2290. return '';
  2291. }
  2292. var TouchMixin = {
  2293. data: function data() {
  2294. return {
  2295. direction: ''
  2296. };
  2297. },
  2298. methods: {
  2299. touchStart: function touchStart(event) {
  2300. this.resetTouchStatus();
  2301. this.startX = event.touches[0].clientX;
  2302. this.startY = event.touches[0].clientY;
  2303. },
  2304. touchMove: function touchMove(event) {
  2305. var touch = event.touches[0];
  2306. this.deltaX = touch.clientX - this.startX;
  2307. this.deltaY = touch.clientY - this.startY;
  2308. this.offsetX = Math.abs(this.deltaX);
  2309. this.offsetY = Math.abs(this.deltaY);
  2310. this.direction = this.direction || getDirection(this.offsetX, this.offsetY);
  2311. },
  2312. resetTouchStatus: function resetTouchStatus() {
  2313. this.direction = '';
  2314. this.deltaX = 0;
  2315. this.deltaY = 0;
  2316. this.offsetX = 0;
  2317. this.offsetY = 0;
  2318. },
  2319. // avoid Vue 2.6 event bubble issues by manually binding events
  2320. // https://github.com/youzan/vant/issues/3015
  2321. bindTouchEvent: function bindTouchEvent(el) {
  2322. var onTouchStart = this.onTouchStart,
  2323. onTouchMove = this.onTouchMove,
  2324. onTouchEnd = this.onTouchEnd;
  2325. (0, _event.on)(el, 'touchstart', onTouchStart);
  2326. (0, _event.on)(el, 'touchmove', onTouchMove);
  2327. if (onTouchEnd) {
  2328. (0, _event.on)(el, 'touchend', onTouchEnd);
  2329. (0, _event.on)(el, 'touchcancel', onTouchEnd);
  2330. }
  2331. }
  2332. }
  2333. };
  2334. exports.TouchMixin = TouchMixin;
  2335. /***/ }),
  2336. /***/ 53:
  2337. /***/ (function(module, exports, __webpack_require__) {
  2338. "use strict";
  2339. exports.__esModule = true;
  2340. exports.getScroller = getScroller;
  2341. exports.getScrollTop = getScrollTop;
  2342. exports.setScrollTop = setScrollTop;
  2343. exports.getRootScrollTop = getRootScrollTop;
  2344. exports.setRootScrollTop = setRootScrollTop;
  2345. exports.getElementTop = getElementTop;
  2346. exports.getVisibleHeight = getVisibleHeight;
  2347. exports.getVisibleTop = getVisibleTop;
  2348. function isWindow(val) {
  2349. return val === window;
  2350. } // get nearest scroll element
  2351. // https://github.com/youzan/vant/issues/3823
  2352. var overflowScrollReg = /scroll|auto/i;
  2353. function getScroller(el, root) {
  2354. if (root === void 0) {
  2355. root = window;
  2356. }
  2357. var node = el;
  2358. while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {
  2359. var _window$getComputedSt = window.getComputedStyle(node),
  2360. overflowY = _window$getComputedSt.overflowY;
  2361. if (overflowScrollReg.test(overflowY)) {
  2362. return node;
  2363. }
  2364. node = node.parentNode;
  2365. }
  2366. return root;
  2367. }
  2368. function getScrollTop(el) {
  2369. var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop
  2370. return Math.max(top, 0);
  2371. }
  2372. function setScrollTop(el, value) {
  2373. if ('scrollTop' in el) {
  2374. el.scrollTop = value;
  2375. } else {
  2376. el.scrollTo(el.scrollX, value);
  2377. }
  2378. }
  2379. function getRootScrollTop() {
  2380. return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
  2381. }
  2382. function setRootScrollTop(value) {
  2383. setScrollTop(window, value);
  2384. setScrollTop(document.body, value);
  2385. } // get distance from element top to page top or scroller top
  2386. function getElementTop(el, scroller) {
  2387. if (isWindow(el)) {
  2388. return 0;
  2389. }
  2390. var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();
  2391. return el.getBoundingClientRect().top + scrollTop;
  2392. }
  2393. function getVisibleHeight(el) {
  2394. if (isWindow(el)) {
  2395. return el.innerHeight;
  2396. }
  2397. return el.getBoundingClientRect().height;
  2398. }
  2399. function getVisibleTop(el) {
  2400. if (isWindow(el)) {
  2401. return 0;
  2402. }
  2403. return el.getBoundingClientRect().top;
  2404. }
  2405. /***/ }),
  2406. /***/ 6:
  2407. /***/ (function(module, exports, __webpack_require__) {
  2408. /*
  2409. MIT License http://www.opensource.org/licenses/mit-license.php
  2410. Author Tobias Koppers @sokra
  2411. */
  2412. var stylesInDom = {};
  2413. var memoize = function (fn) {
  2414. var memo;
  2415. return function () {
  2416. if (typeof memo === "undefined") memo = fn.apply(this, arguments);
  2417. return memo;
  2418. };
  2419. };
  2420. var isOldIE = memoize(function () {
  2421. // Test for IE <= 9 as proposed by Browserhacks
  2422. // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
  2423. // Tests for existence of standard globals is to allow style-loader
  2424. // to operate correctly into non-standard environments
  2425. // @see https://github.com/webpack-contrib/style-loader/issues/177
  2426. return window && document && document.all && !window.atob;
  2427. });
  2428. var getTarget = function (target, parent) {
  2429. if (parent){
  2430. return parent.querySelector(target);
  2431. }
  2432. return document.querySelector(target);
  2433. };
  2434. var getElement = (function (fn) {
  2435. var memo = {};
  2436. return function(target, parent) {
  2437. // If passing function in options, then use it for resolve "head" element.
  2438. // Useful for Shadow Root style i.e
  2439. // {
  2440. // insertInto: function () { return document.querySelector("#foo").shadowRoot }
  2441. // }
  2442. if (typeof target === 'function') {
  2443. return target();
  2444. }
  2445. if (typeof memo[target] === "undefined") {
  2446. var styleTarget = getTarget.call(this, target, parent);
  2447. // Special case to return head of iframe instead of iframe itself
  2448. if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
  2449. try {
  2450. // This will throw an exception if access to iframe is blocked
  2451. // due to cross-origin restrictions
  2452. styleTarget = styleTarget.contentDocument.head;
  2453. } catch(e) {
  2454. styleTarget = null;
  2455. }
  2456. }
  2457. memo[target] = styleTarget;
  2458. }
  2459. return memo[target]
  2460. };
  2461. })();
  2462. var singleton = null;
  2463. var singletonCounter = 0;
  2464. var stylesInsertedAtTop = [];
  2465. var fixUrls = __webpack_require__(12);
  2466. module.exports = function(list, options) {
  2467. if (typeof DEBUG !== "undefined" && DEBUG) {
  2468. if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment");
  2469. }
  2470. options = options || {};
  2471. options.attrs = typeof options.attrs === "object" ? options.attrs : {};
  2472. // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
  2473. // tags it will allow on a page
  2474. if (!options.singleton && typeof options.singleton !== "boolean") options.singleton = isOldIE();
  2475. // By default, add <style> tags to the <head> element
  2476. if (!options.insertInto) options.insertInto = "head";
  2477. // By default, add <style> tags to the bottom of the target
  2478. if (!options.insertAt) options.insertAt = "bottom";
  2479. var styles = listToStyles(list, options);
  2480. addStylesToDom(styles, options);
  2481. return function update (newList) {
  2482. var mayRemove = [];
  2483. for (var i = 0; i < styles.length; i++) {
  2484. var item = styles[i];
  2485. var domStyle = stylesInDom[item.id];
  2486. domStyle.refs--;
  2487. mayRemove.push(domStyle);
  2488. }
  2489. if(newList) {
  2490. var newStyles = listToStyles(newList, options);
  2491. addStylesToDom(newStyles, options);
  2492. }
  2493. for (var i = 0; i < mayRemove.length; i++) {
  2494. var domStyle = mayRemove[i];
  2495. if(domStyle.refs === 0) {
  2496. for (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();
  2497. delete stylesInDom[domStyle.id];
  2498. }
  2499. }
  2500. };
  2501. };
  2502. function addStylesToDom (styles, options) {
  2503. for (var i = 0; i < styles.length; i++) {
  2504. var item = styles[i];
  2505. var domStyle = stylesInDom[item.id];
  2506. if(domStyle) {
  2507. domStyle.refs++;
  2508. for(var j = 0; j < domStyle.parts.length; j++) {
  2509. domStyle.parts[j](item.parts[j]);
  2510. }
  2511. for(; j < item.parts.length; j++) {
  2512. domStyle.parts.push(addStyle(item.parts[j], options));
  2513. }
  2514. } else {
  2515. var parts = [];
  2516. for(var j = 0; j < item.parts.length; j++) {
  2517. parts.push(addStyle(item.parts[j], options));
  2518. }
  2519. stylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};
  2520. }
  2521. }
  2522. }
  2523. function listToStyles (list, options) {
  2524. var styles = [];
  2525. var newStyles = {};
  2526. for (var i = 0; i < list.length; i++) {
  2527. var item = list[i];
  2528. var id = options.base ? item[0] + options.base : item[0];
  2529. var css = item[1];
  2530. var media = item[2];
  2531. var sourceMap = item[3];
  2532. var part = {css: css, media: media, sourceMap: sourceMap};
  2533. if(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});
  2534. else newStyles[id].parts.push(part);
  2535. }
  2536. return styles;
  2537. }
  2538. function insertStyleElement (options, style) {
  2539. var target = getElement(options.insertInto)
  2540. if (!target) {
  2541. throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
  2542. }
  2543. var lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];
  2544. if (options.insertAt === "top") {
  2545. if (!lastStyleElementInsertedAtTop) {
  2546. target.insertBefore(style, target.firstChild);
  2547. } else if (lastStyleElementInsertedAtTop.nextSibling) {
  2548. target.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);
  2549. } else {
  2550. target.appendChild(style);
  2551. }
  2552. stylesInsertedAtTop.push(style);
  2553. } else if (options.insertAt === "bottom") {
  2554. target.appendChild(style);
  2555. } else if (typeof options.insertAt === "object" && options.insertAt.before) {
  2556. var nextSibling = getElement(options.insertAt.before, target);
  2557. target.insertBefore(style, nextSibling);
  2558. } else {
  2559. 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");
  2560. }
  2561. }
  2562. function removeStyleElement (style) {
  2563. if (style.parentNode === null) return false;
  2564. style.parentNode.removeChild(style);
  2565. var idx = stylesInsertedAtTop.indexOf(style);
  2566. if(idx >= 0) {
  2567. stylesInsertedAtTop.splice(idx, 1);
  2568. }
  2569. }
  2570. function createStyleElement (options) {
  2571. var style = document.createElement("style");
  2572. if(options.attrs.type === undefined) {
  2573. options.attrs.type = "text/css";
  2574. }
  2575. if(options.attrs.nonce === undefined) {
  2576. var nonce = getNonce();
  2577. if (nonce) {
  2578. options.attrs.nonce = nonce;
  2579. }
  2580. }
  2581. addAttrs(style, options.attrs);
  2582. insertStyleElement(options, style);
  2583. return style;
  2584. }
  2585. function createLinkElement (options) {
  2586. var link = document.createElement("link");
  2587. if(options.attrs.type === undefined) {
  2588. options.attrs.type = "text/css";
  2589. }
  2590. options.attrs.rel = "stylesheet";
  2591. addAttrs(link, options.attrs);
  2592. insertStyleElement(options, link);
  2593. return link;
  2594. }
  2595. function addAttrs (el, attrs) {
  2596. Object.keys(attrs).forEach(function (key) {
  2597. el.setAttribute(key, attrs[key]);
  2598. });
  2599. }
  2600. function getNonce() {
  2601. if (false) {}
  2602. return __webpack_require__.nc;
  2603. }
  2604. function addStyle (obj, options) {
  2605. var style, update, remove, result;
  2606. // If a transform function was defined, run it on the css
  2607. if (options.transform && obj.css) {
  2608. result = typeof options.transform === 'function'
  2609. ? options.transform(obj.css)
  2610. : options.transform.default(obj.css);
  2611. if (result) {
  2612. // If transform returns a value, use that instead of the original css.
  2613. // This allows running runtime transformations on the css.
  2614. obj.css = result;
  2615. } else {
  2616. // If the transform function returns a falsy value, don't add this css.
  2617. // This allows conditional loading of css
  2618. return function() {
  2619. // noop
  2620. };
  2621. }
  2622. }
  2623. if (options.singleton) {
  2624. var styleIndex = singletonCounter++;
  2625. style = singleton || (singleton = createStyleElement(options));
  2626. update = applyToSingletonTag.bind(null, style, styleIndex, false);
  2627. remove = applyToSingletonTag.bind(null, style, styleIndex, true);
  2628. } else if (
  2629. obj.sourceMap &&
  2630. typeof URL === "function" &&
  2631. typeof URL.createObjectURL === "function" &&
  2632. typeof URL.revokeObjectURL === "function" &&
  2633. typeof Blob === "function" &&
  2634. typeof btoa === "function"
  2635. ) {
  2636. style = createLinkElement(options);
  2637. update = updateLink.bind(null, style, options);
  2638. remove = function () {
  2639. removeStyleElement(style);
  2640. if(style.href) URL.revokeObjectURL(style.href);
  2641. };
  2642. } else {
  2643. style = createStyleElement(options);
  2644. update = applyToTag.bind(null, style);
  2645. remove = function () {
  2646. removeStyleElement(style);
  2647. };
  2648. }
  2649. update(obj);
  2650. return function updateStyle (newObj) {
  2651. if (newObj) {
  2652. if (
  2653. newObj.css === obj.css &&
  2654. newObj.media === obj.media &&
  2655. newObj.sourceMap === obj.sourceMap
  2656. ) {
  2657. return;
  2658. }
  2659. update(obj = newObj);
  2660. } else {
  2661. remove();
  2662. }
  2663. };
  2664. }
  2665. var replaceText = (function () {
  2666. var textStore = [];
  2667. return function (index, replacement) {
  2668. textStore[index] = replacement;
  2669. return textStore.filter(Boolean).join('\n');
  2670. };
  2671. })();
  2672. function applyToSingletonTag (style, index, remove, obj) {
  2673. var css = remove ? "" : obj.css;
  2674. if (style.styleSheet) {
  2675. style.styleSheet.cssText = replaceText(index, css);
  2676. } else {
  2677. var cssNode = document.createTextNode(css);
  2678. var childNodes = style.childNodes;
  2679. if (childNodes[index]) style.removeChild(childNodes[index]);
  2680. if (childNodes.length) {
  2681. style.insertBefore(cssNode, childNodes[index]);
  2682. } else {
  2683. style.appendChild(cssNode);
  2684. }
  2685. }
  2686. }
  2687. function applyToTag (style, obj) {
  2688. var css = obj.css;
  2689. var media = obj.media;
  2690. if(media) {
  2691. style.setAttribute("media", media)
  2692. }
  2693. if(style.styleSheet) {
  2694. style.styleSheet.cssText = css;
  2695. } else {
  2696. while(style.firstChild) {
  2697. style.removeChild(style.firstChild);
  2698. }
  2699. style.appendChild(document.createTextNode(css));
  2700. }
  2701. }
  2702. function updateLink (link, options, obj) {
  2703. var css = obj.css;
  2704. var sourceMap = obj.sourceMap;
  2705. /*
  2706. If convertToAbsoluteUrls isn't defined, but sourcemaps are enabled
  2707. and there is no publicPath defined then lets turn convertToAbsoluteUrls
  2708. on by default. Otherwise default to the convertToAbsoluteUrls option
  2709. directly
  2710. */
  2711. var autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;
  2712. if (options.convertToAbsoluteUrls || autoFixUrls) {
  2713. css = fixUrls(css);
  2714. }
  2715. if (sourceMap) {
  2716. // http://stackoverflow.com/a/26603875
  2717. css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */";
  2718. }
  2719. var blob = new Blob([css], { type: "text/css" });
  2720. var oldSrc = link.href;
  2721. link.href = URL.createObjectURL(blob);
  2722. if(oldSrc) URL.revokeObjectURL(oldSrc);
  2723. }
  2724. /***/ }),
  2725. /***/ 60:
  2726. /***/ (function(module, exports, __webpack_require__) {
  2727. "use strict";
  2728. exports.__esModule = true;
  2729. exports.BindEventMixin = BindEventMixin;
  2730. var _event = __webpack_require__(30);
  2731. /**
  2732. * Bind event when mounted or activated
  2733. */
  2734. var uid = 0;
  2735. function BindEventMixin(handler) {
  2736. var key = "binded_" + uid++;
  2737. function bind() {
  2738. if (!this[key]) {
  2739. handler.call(this, _event.on, true);
  2740. this[key] = true;
  2741. }
  2742. }
  2743. function unbind() {
  2744. if (this[key]) {
  2745. handler.call(this, _event.off, false);
  2746. this[key] = false;
  2747. }
  2748. }
  2749. return {
  2750. mounted: bind,
  2751. activated: bind,
  2752. deactivated: unbind,
  2753. beforeDestroy: unbind
  2754. };
  2755. }
  2756. /***/ }),
  2757. /***/ 63:
  2758. /***/ (function(module, exports, __webpack_require__) {
  2759. "use strict";
  2760. exports.__esModule = true;
  2761. exports.BORDER_UNSET_TOP_BOTTOM = exports.BORDER_TOP_BOTTOM = exports.BORDER_SURROUND = exports.BORDER_BOTTOM = exports.BORDER_LEFT = exports.BORDER_TOP = exports.BORDER = exports.RED = void 0;
  2762. // color
  2763. var RED = '#ee0a24'; // border
  2764. exports.RED = RED;
  2765. var BORDER = 'van-hairline';
  2766. exports.BORDER = BORDER;
  2767. var BORDER_TOP = BORDER + "--top";
  2768. exports.BORDER_TOP = BORDER_TOP;
  2769. var BORDER_LEFT = BORDER + "--left";
  2770. exports.BORDER_LEFT = BORDER_LEFT;
  2771. var BORDER_BOTTOM = BORDER + "--bottom";
  2772. exports.BORDER_BOTTOM = BORDER_BOTTOM;
  2773. var BORDER_SURROUND = BORDER + "--surround";
  2774. exports.BORDER_SURROUND = BORDER_SURROUND;
  2775. var BORDER_TOP_BOTTOM = BORDER + "--top-bottom";
  2776. exports.BORDER_TOP_BOTTOM = BORDER_TOP_BOTTOM;
  2777. var BORDER_UNSET_TOP_BOTTOM = BORDER + "-unset--top-bottom";
  2778. exports.BORDER_UNSET_TOP_BOTTOM = BORDER_UNSET_TOP_BOTTOM;
  2779. /***/ }),
  2780. /***/ 69:
  2781. /***/ (function(module, exports, __webpack_require__) {
  2782. "use strict";
  2783. exports.__esModule = true;
  2784. exports.route = route;
  2785. exports.functionalRoute = functionalRoute;
  2786. exports.routeProps = void 0;
  2787. /**
  2788. * Vue Router support
  2789. */
  2790. function isRedundantNavigation(err) {
  2791. return err.name === 'NavigationDuplicated' || // compatible with vue-router@3.3
  2792. err.message && err.message.indexOf('redundant navigation') !== -1;
  2793. }
  2794. function route(router, config) {
  2795. var to = config.to,
  2796. url = config.url,
  2797. replace = config.replace;
  2798. if (to && router) {
  2799. var promise = router[replace ? 'replace' : 'push'](to);
  2800. /* istanbul ignore else */
  2801. if (promise && promise.catch) {
  2802. promise.catch(function (err) {
  2803. if (err && !isRedundantNavigation(err)) {
  2804. throw err;
  2805. }
  2806. });
  2807. }
  2808. } else if (url) {
  2809. replace ? location.replace(url) : location.href = url;
  2810. }
  2811. }
  2812. function functionalRoute(context) {
  2813. route(context.parent && context.parent.$router, context.props);
  2814. }
  2815. var routeProps = {
  2816. url: String,
  2817. replace: Boolean,
  2818. to: [String, Object]
  2819. };
  2820. exports.routeProps = routeProps;
  2821. /***/ }),
  2822. /***/ 86:
  2823. /***/ (function(module, exports, __webpack_require__) {
  2824. "use strict";
  2825. /* WEBPACK VAR INJECTION */(function(global) {
  2826. exports.__esModule = true;
  2827. exports.raf = raf;
  2828. exports.doubleRaf = doubleRaf;
  2829. exports.cancelRaf = cancelRaf;
  2830. var _ = __webpack_require__(0);
  2831. /**
  2832. * requestAnimationFrame polyfill
  2833. */
  2834. var prev = Date.now();
  2835. /* istanbul ignore next */
  2836. function fallback(fn) {
  2837. var curr = Date.now();
  2838. var ms = Math.max(0, 16 - (curr - prev));
  2839. var id = setTimeout(fn, ms);
  2840. prev = curr + ms;
  2841. return id;
  2842. }
  2843. /* istanbul ignore next */
  2844. var root = _.isServer ? global : window;
  2845. /* istanbul ignore next */
  2846. var iRaf = root.requestAnimationFrame || fallback;
  2847. /* istanbul ignore next */
  2848. var iCancel = root.cancelAnimationFrame || root.clearTimeout;
  2849. function raf(fn) {
  2850. return iRaf.call(root, fn);
  2851. } // double raf for animation
  2852. function doubleRaf(fn) {
  2853. raf(function () {
  2854. raf(fn);
  2855. });
  2856. }
  2857. function cancelRaf(id) {
  2858. iCancel.call(root, id);
  2859. }
  2860. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(87)))
  2861. /***/ }),
  2862. /***/ 87:
  2863. /***/ (function(module, exports) {
  2864. var g;
  2865. // This works in non-strict mode
  2866. g = (function() {
  2867. return this;
  2868. })();
  2869. try {
  2870. // This works if eval is allowed (see CSP)
  2871. g = g || new Function("return this")();
  2872. } catch (e) {
  2873. // This works if the window reference is available
  2874. if (typeof window === "object") g = window;
  2875. }
  2876. // g can still be undefined, but nothing to do about it...
  2877. // We return undefined, instead of nothing here, so it's
  2878. // easier to handle this case. if(!global) { ...}
  2879. module.exports = g;
  2880. /***/ }),
  2881. /***/ 9:
  2882. /***/ (function(module, exports, __webpack_require__) {
  2883. "use strict";
  2884. exports.__esModule = true;
  2885. exports.camelize = camelize;
  2886. exports.padZero = padZero;
  2887. var camelizeRE = /-(\w)/g;
  2888. function camelize(str) {
  2889. return str.replace(camelizeRE, function (_, c) {
  2890. return c.toUpperCase();
  2891. });
  2892. }
  2893. function padZero(num, targetLength) {
  2894. if (targetLength === void 0) {
  2895. targetLength = 2;
  2896. }
  2897. var str = num + '';
  2898. while (str.length < targetLength) {
  2899. str = '0' + str;
  2900. }
  2901. return str;
  2902. }
  2903. /***/ }),
  2904. /***/ 94:
  2905. /***/ (function(module, exports, __webpack_require__) {
  2906. "use strict";
  2907. exports.__esModule = true;
  2908. exports.isHidden = isHidden;
  2909. function isHidden(el) {
  2910. var style = window.getComputedStyle(el);
  2911. var hidden = style.display === 'none'; // offsetParent returns null in the following situations:
  2912. // 1. The element or its parent element has the display property set to none.
  2913. // 2. The element has the position property set to fixed
  2914. var parentHidden = el.offsetParent === null && style.position !== 'fixed';
  2915. return hidden || parentHidden;
  2916. }
  2917. /***/ })
  2918. /******/ });