框架源码
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.

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