vdesign-ui 0.2.7 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -432,6 +432,13 @@ module.exports = typeof documentAll == 'undefined' && documentAll !== undefined
432
432
 
433
433
  /***/ }),
434
434
 
435
+ /***/ "177f":
436
+ /***/ (function(module, exports, __webpack_require__) {
437
+
438
+ // extracted by mini-css-extract-plugin
439
+
440
+ /***/ }),
441
+
435
442
  /***/ "1a2d":
436
443
  /***/ (function(module, exports, __webpack_require__) {
437
444
 
@@ -501,6 +508,13 @@ module.exports = function (it) {
501
508
  };
502
509
 
503
510
 
511
+ /***/ }),
512
+
513
+ /***/ "1d802":
514
+ /***/ (function(module, exports, __webpack_require__) {
515
+
516
+ // extracted by mini-css-extract-plugin
517
+
504
518
  /***/ }),
505
519
 
506
520
  /***/ "202f":
@@ -512,6 +526,17 @@ module.exports = function (it) {
512
526
  /* unused harmony reexport * */
513
527
 
514
528
 
529
+ /***/ }),
530
+
531
+ /***/ "230a":
532
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
533
+
534
+ "use strict";
535
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6cfdbc71_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("177f");
536
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6cfdbc71_prod_lang_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6cfdbc71_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__);
537
+ /* unused harmony reexport * */
538
+
539
+
515
540
  /***/ }),
516
541
 
517
542
  /***/ "2310":
@@ -9425,13 +9450,6 @@ module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUgAAADsCAMAAAAh
9425
9450
 
9426
9451
  /***/ }),
9427
9452
 
9428
- /***/ "4986":
9429
- /***/ (function(module, exports, __webpack_require__) {
9430
-
9431
- // extracted by mini-css-extract-plugin
9432
-
9433
- /***/ }),
9434
-
9435
9453
  /***/ "4d64":
9436
9454
  /***/ (function(module, exports, __webpack_require__) {
9437
9455
 
@@ -9595,17 +9613,6 @@ module.exports = function (argument) {
9595
9613
  };
9596
9614
 
9597
9615
 
9598
- /***/ }),
9599
-
9600
- /***/ "5806":
9601
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
9602
-
9603
- "use strict";
9604
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_05020deb_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4986");
9605
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_05020deb_prod_lang_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_05020deb_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__);
9606
- /* unused harmony reexport * */
9607
-
9608
-
9609
9616
  /***/ }),
9610
9617
 
9611
9618
  /***/ "58fa":
@@ -10602,17 +10609,6 @@ module.exports = function (METHOD_NAME, argument) {
10602
10609
 
10603
10610
  // extracted by mini-css-extract-plugin
10604
10611
 
10605
- /***/ }),
10606
-
10607
- /***/ "a723":
10608
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
10609
-
10610
- "use strict";
10611
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6b1dc9b5_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ceb9");
10612
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6b1dc9b5_prod_lang_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6b1dc9b5_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__);
10613
- /* unused harmony reexport * */
10614
-
10615
-
10616
10612
  /***/ }),
10617
10613
 
10618
10614
  /***/ "a7c5":
@@ -11082,13 +11078,6 @@ module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAMAAAD6
11082
11078
 
11083
11079
  /***/ }),
11084
11080
 
11085
- /***/ "ceb9":
11086
- /***/ (function(module, exports, __webpack_require__) {
11087
-
11088
- // extracted by mini-css-extract-plugin
11089
-
11090
- /***/ }),
11091
-
11092
11081
  /***/ "d012":
11093
11082
  /***/ (function(module, exports, __webpack_require__) {
11094
11083
 
@@ -11519,6 +11508,17 @@ module.exports = function (V, P) {
11519
11508
 
11520
11509
  // extracted by mini-css-extract-plugin
11521
11510
 
11511
+ /***/ }),
11512
+
11513
+ /***/ "dd42":
11514
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
11515
+
11516
+ "use strict";
11517
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8154a18e_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1d802");
11518
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8154a18e_prod_lang_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_11_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_11_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_11_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_11_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_8154a18e_prod_lang_less__WEBPACK_IMPORTED_MODULE_0__);
11519
+ /* unused harmony reexport * */
11520
+
11521
+
11522
11522
  /***/ }),
11523
11523
 
11524
11524
  /***/ "ddaa":
@@ -14731,9 +14731,25 @@ var web_url_search_params_has = __webpack_require__("271a");
14731
14731
  // EXTERNAL MODULE: ./node_modules/core-js/modules/web.url-search-params.size.js
14732
14732
  var web_url_search_params_size = __webpack_require__("5494");
14733
14733
 
14734
+ // EXTERNAL MODULE: ./node_modules/vue/dist/vue.runtime.esm.js
14735
+ var vue_runtime_esm = __webpack_require__("2b0e");
14736
+
14734
14737
  // CONCATENATED MODULE: ./packages/components/utils/env.js
14735
- // env.js
14738
+
14736
14739
  const inBrowser = typeof window !== 'undefined';
14740
+ const isServer = vue_runtime_esm["a" /* default */].prototype.$isServer;
14741
+ function isObject(val) {
14742
+ return val !== null && typeof val === 'object';
14743
+ }
14744
+ function isInDocument(element) {
14745
+ return document.body.contains(element);
14746
+ }
14747
+ function removeNode(el) {
14748
+ const parent = el.parentNode;
14749
+ if (parent) {
14750
+ parent.removeChild(el);
14751
+ }
14752
+ }
14737
14753
  // CONCATENATED MODULE: ./packages/components/mixins/outlineConfigPlugin.js
14738
14754
 
14739
14755
 
@@ -15133,41 +15149,42 @@ var button_component = normalizeComponent(
15133
15149
  )
15134
15150
 
15135
15151
  /* harmony default export */ var components_button = (button_component.exports);
15136
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"75d8bda1-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tabs/index.vue?vue&type=template&id=05020deb
15137
- var tabsvue_type_template_id_05020deb_render = function render() {
15152
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"75d8bda1-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tabs/index.vue?vue&type=template&id=6cfdbc71
15153
+ var tabsvue_type_template_id_6cfdbc71_render = function render() {
15138
15154
  var _vm = this,
15139
15155
  _c = _vm._self._c;
15140
15156
  return _c('div', {
15141
- staticClass: "vd-tabs"
15157
+ staticClass: "vd-tabs",
15158
+ class: _vm.stickyClasses
15142
15159
  }, [_c('div', {
15143
- ref: "tabsWrap",
15160
+ ref: "wrap",
15144
15161
  staticClass: "vd-tabs__wrap",
15145
15162
  class: _vm.menuClasses
15146
15163
  }, [_c('div', {
15147
- ref: "tabsContainer",
15164
+ ref: "nav",
15165
+ staticClass: "vd-tabs__nav",
15148
15166
  class: [_vm.barType, _vm.scrollspy]
15149
- }, _vm._l(_vm.navList, function (item, index) {
15167
+ }, _vm._l(_vm.tabs, function (tab, index) {
15150
15168
  return _c('div', {
15151
- key: index,
15152
- class: [_vm.tabClasses(item), _vm.lineClasses],
15169
+ key: tab.name !== undefined ? tab.name : index,
15170
+ ref: "tabItems",
15171
+ refInFor: true,
15172
+ class: [_vm.tabClasses(tab, index), _vm.lineClasses],
15153
15173
  on: {
15154
15174
  "click": function ($event) {
15155
- return _vm.handleChange(index);
15175
+ return _vm.onClick(tab, index);
15156
15176
  }
15157
15177
  }
15158
15178
  }, [_c('span', {
15159
- staticClass: "vd-tabs-text-cell",
15179
+ ref: "title",
15180
+ refInFor: true,
15181
+ staticClass: "vd-tab__text",
15160
15182
  class: _vm.ellipsisClasses
15161
- }, [_vm._v(" " + _vm._s(item.title) + " "), item.arrow ? _c('vd-icon', {
15162
- staticClass: "vd-tabs-arrow",
15163
- attrs: {
15164
- "name": "icon_btn_moredown"
15165
- }
15166
- }) : _vm._e()], 1)]);
15183
+ }, [_vm._v(" " + _vm._s(tab.title) + " ")])]);
15167
15184
  }), 0), _vm.menu ? _c('div', {
15168
- staticClass: "vd-tabs-menu--right"
15185
+ staticClass: "vd-tabs__menu--right"
15169
15186
  }, [_c('vd-icon', {
15170
- staticClass: "vd-tabs-menu-btn",
15187
+ staticClass: "vd-tabs__menu--btn",
15171
15188
  attrs: {
15172
15189
  "name": _vm.menuIconComputed
15173
15190
  },
@@ -15175,12 +15192,19 @@ var tabsvue_type_template_id_05020deb_render = function render() {
15175
15192
  "click": _vm.emitMenuClick
15176
15193
  }
15177
15194
  })], 1) : _vm._e()]), _c('div', {
15178
- staticClass: "vd-tabs__content"
15179
- }, [_vm._t("default")], 2)]);
15195
+ ref: "content",
15196
+ staticClass: "vd-tabs__content",
15197
+ class: {
15198
+ 'vd-tabs__content--animated': _vm.animated
15199
+ }
15200
+ }, [_vm.animated ? _c('div', {
15201
+ class: _vm.trackClasses,
15202
+ style: _vm.trackStyle
15203
+ }, [_vm._t("default")], 2) : _vm._t("default")], 2)]);
15180
15204
  };
15181
- var tabsvue_type_template_id_05020deb_staticRenderFns = [];
15205
+ var tabsvue_type_template_id_6cfdbc71_staticRenderFns = [];
15182
15206
 
15183
- // CONCATENATED MODULE: ./packages/components/tabs/index.vue?vue&type=template&id=05020deb
15207
+ // CONCATENATED MODULE: ./packages/components/tabs/index.vue?vue&type=template&id=6cfdbc71
15184
15208
 
15185
15209
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
15186
15210
  var es_array_push = __webpack_require__("14d9");
@@ -15200,7 +15224,6 @@ const prefixCls = "vd-tabs";
15200
15224
  type: String,
15201
15225
  default: "primary"
15202
15226
  },
15203
- // 将 menu 作为一个字段,同时控制显示和图标名称
15204
15227
  menu: {
15205
15228
  type: [Boolean, String],
15206
15229
  default: false
@@ -15211,30 +15234,46 @@ const prefixCls = "vd-tabs";
15211
15234
  },
15212
15235
  actBorder: Boolean,
15213
15236
  backgroundColor: Boolean,
15214
- divider: Boolean
15237
+ divider: Boolean,
15238
+ sticky: Boolean,
15239
+ lazyRender: Boolean,
15240
+ animated: Boolean
15215
15241
  },
15216
15242
  data() {
15217
15243
  return {
15218
- currentValue: this.value,
15219
- // 当前选中的标签名
15220
- navList: [],
15221
- // 标签导航列表
15222
- tabs: [] // 已注册的标签
15244
+ tabs: [],
15245
+ currentName: this.value !== undefined ? this.value : 0 // 默认为 0
15223
15246
  };
15224
15247
  },
15225
15248
  watch: {
15226
15249
  // 监听 value 变化,更新 currentValue
15227
15250
  value(val) {
15228
- this.currentValue = val;
15251
+ this.currentName = val;
15252
+ this.setCurrentName(val);
15229
15253
  }
15230
15254
  },
15231
15255
  computed: {
15256
+ trackClasses() {
15257
+ return {
15258
+ 'vd-tabs__track': true
15259
+ };
15260
+ },
15261
+ trackStyle() {
15262
+ const activeIndex = this.tabs.findIndex((tab, index) => {
15263
+ return this.isTabActive(tab, index);
15264
+ });
15265
+ const translateX = -activeIndex * 100;
15266
+ return {
15267
+ transform: `translateX(${translateX}%)`,
15268
+ transitionDuration: '0.3s'
15269
+ };
15270
+ },
15232
15271
  // 计算菜单按钮的图标,根据 menu 属性的类型决定图标
15233
15272
  menuIconComputed() {
15234
- if (typeof this.menu === 'string') {
15273
+ if (typeof this.menu === "string") {
15235
15274
  return this.menu;
15236
15275
  } else {
15237
- return 'icon_tab_morelist'; // 默认的菜单图标名称
15276
+ return "icon_tab_morelist"; // 默认的菜单图标名称
15238
15277
  }
15239
15278
  },
15240
15279
  // 计算滚动监视的类名
@@ -15244,13 +15283,13 @@ const prefixCls = "vd-tabs";
15244
15283
  // 计算标签文字是否需要省略号的类名
15245
15284
  ellipsisClasses() {
15246
15285
  return {
15247
- [`${prefixCls}-text--ellipsis`]: this.ellipsis
15286
+ [`vd-tab__text--ellipsis`]: this.ellipsis
15248
15287
  };
15249
15288
  },
15250
15289
  // 计算标签包裹器的类名,根据 menu、backgroundColor 和 divider 属性来确定
15251
15290
  menuClasses() {
15252
15291
  return {
15253
- [`${prefixCls}-menu`]: this.menu,
15292
+ [`${prefixCls}__menu`]: this.menu,
15254
15293
  [`${prefixCls}__wrap--bg`]: this.backgroundColor,
15255
15294
  "vd-hairline--bottom": this.divider
15256
15295
  };
@@ -15258,98 +15297,144 @@ const prefixCls = "vd-tabs";
15258
15297
  // 计算标签下方线条的类名
15259
15298
  lineClasses() {
15260
15299
  return {
15261
- [`${prefixCls}__line`]: !this.actBorder
15300
+ [`vd-tab__none--line`]: !this.actBorder
15262
15301
  };
15263
15302
  },
15264
15303
  // 根据 tabsType 属性计算标签类型的类名
15265
15304
  barType() {
15266
15305
  return {
15267
- [`${prefixCls}-${this.tabsType}-bar`]: this.tabsType
15306
+ [`${prefixCls}__nav--${this.tabsType}`]: this.tabsType
15307
+ };
15308
+ },
15309
+ stickyClasses() {
15310
+ return {
15311
+ [`${prefixCls}--sticky`]: this.sticky
15268
15312
  };
15269
15313
  }
15270
15314
  },
15271
15315
  methods: {
15272
15316
  // 当菜单按钮被点击时触发事件
15273
15317
  emitMenuClick() {
15274
- this.$emit('menu-click');
15318
+ this.$emit("menu-click");
15275
15319
  },
15276
15320
  // 计算每个标签项的类名
15277
- tabClasses(item) {
15321
+ tabClasses(tab, index) {
15322
+ const isActive = this.isTabActive(tab, index);
15278
15323
  return {
15279
- [`${prefixCls}-${this.tabsType}`]: true,
15280
- [`${prefixCls}-${this.tabsType}-active`]: item.name === this.currentValue
15324
+ 'vd-tab': true,
15325
+ 'vd-tab--active': isActive
15281
15326
  };
15282
15327
  },
15283
- // 注册新的标签到 tabs 数组中
15284
- registerTab(tab) {
15285
- if (!this.tabs.includes(tab)) {
15286
- this.tabs.push(tab);
15287
- this.updateNav();
15328
+ setCurrentName(name) {
15329
+ // 如果没有指定 name 属性,则使用索引值,确保索引值为数字类型
15330
+ const nameIsNumber = typeof name === 'number' || /^\d+$/.test(name);
15331
+ const parsedName = nameIsNumber ? Number(name) : name;
15332
+ const matchedTab = this.tabs.find((tab, index) => {
15333
+ if (tab.name !== undefined) {
15334
+ return tab.name === parsedName;
15335
+ } else {
15336
+ return index === parsedName;
15337
+ }
15338
+ });
15339
+ if (matchedTab) {
15340
+ this.currentName = matchedTab.name !== undefined ? matchedTab.name : this.tabs.indexOf(matchedTab);
15341
+ } else if (this.tabs.length > 0) {
15342
+ const firstTab = this.tabs[0];
15343
+ this.currentName = firstTab.name !== undefined ? firstTab.name : 0;
15344
+ } else {
15345
+ this.currentName = null;
15346
+ }
15347
+ this.$emit('input', this.currentName);
15348
+ },
15349
+ isTabActive(tab, index) {
15350
+ if (tab.name !== undefined) {
15351
+ return tab.name === this.currentName;
15352
+ } else {
15353
+ return index === Number(this.currentName);
15288
15354
  }
15289
15355
  },
15290
- // 从 tabs 数组中注销一个标签
15291
- unregisterTab(tab) {
15356
+ addTab(tab) {
15357
+ this.tabs.push(tab);
15358
+ if (this.currentName === undefined) {
15359
+ this.setCurrentName(tab.name !== undefined ? tab.name : 0);
15360
+ }
15361
+ },
15362
+ removeTab(tab) {
15292
15363
  const index = this.tabs.indexOf(tab);
15293
15364
  if (index !== -1) {
15294
15365
  this.tabs.splice(index, 1);
15295
- this.updateNav();
15296
- }
15297
- },
15298
- // 根据已注册的标签更新导航列表
15299
- updateNav() {
15300
- this.navList = this.tabs.map((tab, index) => ({
15301
- title: tab.title,
15302
- name: tab.name != null ? tab.name : index,
15303
- arrow: tab.arrow
15304
- }));
15305
- // 如果当前没有选中的标签且导航列表不为空,则将第一个标签设为当前值
15306
- if (!this.currentValue && this.navList.length) {
15307
- this.currentValue = this.navList[0].name;
15308
- }
15309
- },
15310
- handleChange(index) {
15311
- const nav = this.navList[index];
15312
- const name = nav.name;
15313
- if (this.currentValue !== name) {
15314
- this.currentValue = name;
15315
- this.$emit("input", name); // 触发 input 事件,更新父组件中的 v-model 绑定值
15316
- this.$emit("change", {
15317
- index,
15318
- title: nav.title,
15319
- name
15320
- }); // 触发 change 事件,传递标签的详细信息
15321
- this.adjustTabPosition(index); // 调整选中标签的位置
15322
- }
15323
- this.$emit("click", {
15324
- index,
15325
- title: nav.title,
15326
- name
15327
- }); // 触发 click 事件,传递标签的详细信息
15328
- },
15329
- adjustTabPosition(index) {
15330
- const container = this.$refs.tabsContainer;
15331
- const selectedTab = container.children[index];
15332
- if (selectedTab) {
15333
- const containerWidth = container.offsetWidth;
15334
- const tabWidth = selectedTab.offsetWidth;
15335
- const tabOffsetLeft = selectedTab.offsetLeft;
15336
- const scrollLeft = tabOffsetLeft - (containerWidth - tabWidth) / 2;
15337
- container.scrollTo({
15366
+ }
15367
+ },
15368
+ onClick(tab, index) {
15369
+ if (tab.disabled) {
15370
+ this.$emit('disabled', tab.name !== undefined ? tab.name : index, index);
15371
+ } else {
15372
+ this.currentName = tab.name !== undefined ? tab.name : index;
15373
+ // 如果 currentName 是索引值,确保为数字类型
15374
+ if (tab.name === undefined) {
15375
+ this.currentName = Number(this.currentName);
15376
+ }
15377
+ this.$emit('input', this.currentName);
15378
+ this.$emit('change', this.currentName, index);
15379
+ // 切换标签后,滚动到当前标签
15380
+ this.$nextTick(() => {
15381
+ this.scrollToActiveTab();
15382
+ });
15383
+ }
15384
+ },
15385
+ scrollToActiveTab() {
15386
+ const scrollWrapper = this.$refs.nav; // 修改这里
15387
+ const tabItems = this.$refs.tabItems;
15388
+ if (!scrollWrapper || !tabItems || tabItems.length === 0) {
15389
+ return;
15390
+ }
15391
+ const activeIndex = this.tabs.findIndex((tab, index) => {
15392
+ return this.isTabActive(tab, index);
15393
+ });
15394
+ const activeTab = tabItems[activeIndex];
15395
+ if (activeTab) {
15396
+ const tabOffsetLeft = activeTab.offsetLeft;
15397
+ const tabWidth = activeTab.offsetWidth;
15398
+ const wrapperWidth = scrollWrapper.offsetWidth;
15399
+ const scrollLeft = tabOffsetLeft - (wrapperWidth - tabWidth) / 2;
15400
+ scrollWrapper.scrollTo({
15338
15401
  left: scrollLeft,
15339
- behavior: "smooth"
15402
+ behavior: 'smooth'
15340
15403
  });
15341
15404
  }
15405
+ },
15406
+ renderTitle(titleEl, tab) {
15407
+ this.$nextTick(() => {
15408
+ const index = this.tabs.indexOf(tab);
15409
+ if (index !== -1 && this.$refs.title && this.$refs.title[index]) {
15410
+ const navTitleEl = this.$refs.title[index];
15411
+ // 清空导航标题元素的内容
15412
+ navTitleEl.innerHTML = '';
15413
+ // 将子组件的 title 插槽内容移动到导航标题元素中
15414
+ while (titleEl.firstChild) {
15415
+ navTitleEl.appendChild(titleEl.firstChild);
15416
+ }
15417
+ }
15418
+ });
15342
15419
  }
15343
15420
  },
15344
15421
  mounted() {
15345
- // 组件挂载后更新导航列表
15346
- // this.updateNav();
15422
+ if (this.currentName !== undefined) {
15423
+ this.setCurrentName(this.currentName);
15424
+ } else if (this.tabs.length > 0) {
15425
+ const firstTab = this.tabs[0];
15426
+ this.currentName = firstTab.name !== undefined ? firstTab.name : 0;
15427
+ }
15428
+ // 初始加载时,滚动到当前激活的标签
15429
+ this.$nextTick(() => {
15430
+ this.scrollToActiveTab();
15431
+ });
15347
15432
  }
15348
15433
  });
15349
15434
  // CONCATENATED MODULE: ./packages/components/tabs/index.vue?vue&type=script&lang=js
15350
15435
  /* harmony default export */ var components_tabsvue_type_script_lang_js = (tabsvue_type_script_lang_js);
15351
- // EXTERNAL MODULE: ./packages/components/tabs/index.vue?vue&type=style&index=0&id=05020deb&prod&lang=less
15352
- var tabsvue_type_style_index_0_id_05020deb_prod_lang_less = __webpack_require__("5806");
15436
+ // EXTERNAL MODULE: ./packages/components/tabs/index.vue?vue&type=style&index=0&id=6cfdbc71&prod&lang=less
15437
+ var tabsvue_type_style_index_0_id_6cfdbc71_prod_lang_less = __webpack_require__("230a");
15353
15438
 
15354
15439
  // CONCATENATED MODULE: ./packages/components/tabs/index.vue
15355
15440
 
@@ -15362,8 +15447,8 @@ var tabsvue_type_style_index_0_id_05020deb_prod_lang_less = __webpack_require__(
15362
15447
 
15363
15448
  var tabs_component = normalizeComponent(
15364
15449
  components_tabsvue_type_script_lang_js,
15365
- tabsvue_type_template_id_05020deb_render,
15366
- tabsvue_type_template_id_05020deb_staticRenderFns,
15450
+ tabsvue_type_template_id_6cfdbc71_render,
15451
+ tabsvue_type_template_id_6cfdbc71_staticRenderFns,
15367
15452
  false,
15368
15453
  null,
15369
15454
  null,
@@ -15372,55 +15457,104 @@ var tabs_component = normalizeComponent(
15372
15457
  )
15373
15458
 
15374
15459
  /* harmony default export */ var tabs = (tabs_component.exports);
15375
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"75d8bda1-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tab/index.vue?vue&type=template&id=5508445c
15376
- var tabvue_type_template_id_5508445c_render = function render() {
15460
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"75d8bda1-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tab/index.vue?vue&type=template&id=6808f4f4
15461
+ var tabvue_type_template_id_6808f4f4_render = function render() {
15377
15462
  var _vm = this,
15378
15463
  _c = _vm._self._c;
15379
15464
  return _c('div', {
15380
- class: _vm.tabClasses
15381
- }, [_vm._t("default")], 2);
15465
+ directives: [{
15466
+ name: "show",
15467
+ rawName: "v-show",
15468
+ value: _vm.shouldShow,
15469
+ expression: "shouldShow"
15470
+ }],
15471
+ class: _vm.paneClasses
15472
+ }, [_vm.shouldRender ? _vm._t("default") : _vm._e(), _vm.$slots.title ? _c('div', {
15473
+ ref: "title"
15474
+ }, [_vm._t("title")], 2) : _vm._e()], 2);
15382
15475
  };
15383
- var tabvue_type_template_id_5508445c_staticRenderFns = [];
15476
+ var tabvue_type_template_id_6808f4f4_staticRenderFns = [];
15384
15477
 
15385
- // CONCATENATED MODULE: ./packages/components/tab/index.vue?vue&type=template&id=5508445c
15478
+ // CONCATENATED MODULE: ./packages/components/tab/index.vue?vue&type=template&id=6808f4f4
15386
15479
 
15387
15480
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/tab/index.vue?vue&type=script&lang=js
15388
15481
  /* harmony default export */ var tabvue_type_script_lang_js = ({
15389
15482
  name: 'vd-tab',
15390
15483
  props: {
15391
15484
  name: [String, Number],
15392
- title: {
15393
- type: String,
15394
- required: true
15395
- },
15396
- arrow: {
15397
- type: Boolean,
15398
- default: false
15399
- }
15485
+ title: String
15400
15486
  },
15401
15487
  data() {
15402
- return {};
15488
+ return {
15489
+ parent: null,
15490
+ inited: false
15491
+ };
15403
15492
  },
15404
- watch: {},
15405
15493
  computed: {
15406
- isActive() {
15407
- return this.computedName === this.$parent.currentValue;
15408
- },
15409
- tabClasses() {
15494
+ paneClasses() {
15410
15495
  return {
15411
- 'vd-tab': true,
15412
- 'vd-tab-active': this.isActive
15496
+ 'vd-tab__pane': true
15413
15497
  };
15414
15498
  },
15415
- computedName() {
15416
- return this.name != null ? this.name : this.$parent.tabs.indexOf(this);
15499
+ isActive() {
15500
+ if (!this.parent) return false;
15501
+ if (this.name !== undefined) {
15502
+ return this.name === this.parent.currentName;
15503
+ } else {
15504
+ const index = this.parent.tabs.indexOf(this);
15505
+ return index === Number(this.parent.currentName);
15506
+ }
15507
+ },
15508
+ shouldShow() {
15509
+ // 当 animated 为 true 时,所有标签页都需要渲染(用于动画效果)
15510
+ // 当 animated 为 false 时,只渲染当前激活的标签页
15511
+ return this.isActive || this.parent && this.parent.animated;
15512
+ },
15513
+ shouldRender() {
15514
+ return this.inited || !(this.parent && this.parent.lazyRender);
15515
+ }
15516
+ },
15517
+ watch: {
15518
+ isActive(val) {
15519
+ if (val) {
15520
+ this.inited = true;
15521
+ }
15417
15522
  }
15418
15523
  },
15419
15524
  created() {
15420
- this.$parent.registerTab(this);
15525
+ this.parent = this.findParent('vd-tabs');
15526
+ if (this.parent) {
15527
+ this.parent.addTab(this);
15528
+ } else {
15529
+ console.error('vd-tab must be used within vd-tabs.');
15530
+ }
15531
+ },
15532
+ mounted() {
15533
+ if (this.isActive) {
15534
+ this.inited = true;
15535
+ }
15536
+ // 如果存在 title 插槽,调用父组件的 renderTitle 方法
15537
+ if (this.$slots.title && this.$refs.title) {
15538
+ this.parent.renderTitle(this.$refs.title, this);
15539
+ this.$refs.title.parentNode.removeChild(this.$refs.title);
15540
+ }
15421
15541
  },
15422
15542
  beforeDestroy() {
15423
- this.$parent.unregisterTab(this);
15543
+ if (this.parent) {
15544
+ this.parent.removeTab(this);
15545
+ }
15546
+ },
15547
+ methods: {
15548
+ findParent(name) {
15549
+ let parent = this.$parent;
15550
+ while (parent) {
15551
+ if (parent.$options && parent.$options.name === name) {
15552
+ return parent;
15553
+ }
15554
+ parent = parent.$parent;
15555
+ }
15556
+ return null;
15557
+ }
15424
15558
  }
15425
15559
  });
15426
15560
  // CONCATENATED MODULE: ./packages/components/tab/index.vue?vue&type=script&lang=js
@@ -15435,8 +15569,8 @@ var tabvue_type_template_id_5508445c_staticRenderFns = [];
15435
15569
 
15436
15570
  var tab_component = normalizeComponent(
15437
15571
  components_tabvue_type_script_lang_js,
15438
- tabvue_type_template_id_5508445c_render,
15439
- tabvue_type_template_id_5508445c_staticRenderFns,
15572
+ tabvue_type_template_id_6808f4f4_render,
15573
+ tabvue_type_template_id_6808f4f4_staticRenderFns,
15440
15574
  false,
15441
15575
  null,
15442
15576
  null,
@@ -16252,8 +16386,8 @@ var result_component = normalizeComponent(
16252
16386
  )
16253
16387
 
16254
16388
  /* harmony default export */ var components_result = (result_component.exports);
16255
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"75d8bda1-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/empty/index.vue?vue&type=template&id=6b1dc9b5
16256
- var emptyvue_type_template_id_6b1dc9b5_render = function render() {
16389
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"75d8bda1-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/empty/index.vue?vue&type=template&id=8154a18e
16390
+ var emptyvue_type_template_id_8154a18e_render = function render() {
16257
16391
  var _vm = this,
16258
16392
  _c = _vm._self._c;
16259
16393
  return _c('div', {
@@ -16278,9 +16412,9 @@ var emptyvue_type_template_id_6b1dc9b5_render = function render() {
16278
16412
  class: _vm.footerClasses
16279
16413
  }, [_vm._t("default")], 2) : _vm._e()]);
16280
16414
  };
16281
- var emptyvue_type_template_id_6b1dc9b5_staticRenderFns = [];
16415
+ var emptyvue_type_template_id_8154a18e_staticRenderFns = [];
16282
16416
 
16283
- // CONCATENATED MODULE: ./packages/components/empty/index.vue?vue&type=template&id=6b1dc9b5
16417
+ // CONCATENATED MODULE: ./packages/components/empty/index.vue?vue&type=template&id=8154a18e
16284
16418
 
16285
16419
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/empty/index.vue?vue&type=script&lang=js
16286
16420
 
@@ -16292,12 +16426,11 @@ const emptyvue_type_script_lang_js_prefixCls = 'vd-empty';
16292
16426
  props: {
16293
16427
  image: {
16294
16428
  type: String,
16295
- default: 'nodata',
16296
- // 默认类型
16297
- validator(value) {
16298
- // 只接受以下类型值
16299
- return ['nodata', 'network', 'notfound', 'noposition', 'nomargin', 'nocoupons', 'nosearch', 'nonotice', 'noorders', 'noocomments'].includes(value);
16300
- }
16429
+ default: 'nodata' // 默认类型
16430
+ // validator(value) {
16431
+ // // 只接受以下类型值
16432
+ // return ['nodata', 'network', 'notfound','noposition','nomargin','nocoupons','nosearch','nonotice','noorders','noocomments'].includes(value);
16433
+ // }
16301
16434
  },
16302
16435
  description: String,
16303
16436
  size: {
@@ -16394,8 +16527,8 @@ const emptyvue_type_script_lang_js_prefixCls = 'vd-empty';
16394
16527
  });
16395
16528
  // CONCATENATED MODULE: ./packages/components/empty/index.vue?vue&type=script&lang=js
16396
16529
  /* harmony default export */ var components_emptyvue_type_script_lang_js = (emptyvue_type_script_lang_js);
16397
- // EXTERNAL MODULE: ./packages/components/empty/index.vue?vue&type=style&index=0&id=6b1dc9b5&prod&lang=less
16398
- var emptyvue_type_style_index_0_id_6b1dc9b5_prod_lang_less = __webpack_require__("a723");
16530
+ // EXTERNAL MODULE: ./packages/components/empty/index.vue?vue&type=style&index=0&id=8154a18e&prod&lang=less
16531
+ var emptyvue_type_style_index_0_id_8154a18e_prod_lang_less = __webpack_require__("dd42");
16399
16532
 
16400
16533
  // CONCATENATED MODULE: ./packages/components/empty/index.vue
16401
16534
 
@@ -16408,8 +16541,8 @@ var emptyvue_type_style_index_0_id_6b1dc9b5_prod_lang_less = __webpack_require__
16408
16541
 
16409
16542
  var empty_component = normalizeComponent(
16410
16543
  components_emptyvue_type_script_lang_js,
16411
- emptyvue_type_template_id_6b1dc9b5_render,
16412
- emptyvue_type_template_id_6b1dc9b5_staticRenderFns,
16544
+ emptyvue_type_template_id_8154a18e_render,
16545
+ emptyvue_type_template_id_8154a18e_staticRenderFns,
16413
16546
  false,
16414
16547
  null,
16415
16548
  null,
@@ -19676,9 +19809,6 @@ var slidervue_type_template_id_0aaac588_staticRenderFns = [function () {
19676
19809
 
19677
19810
  // CONCATENATED MODULE: ./packages/components/slider/index.vue?vue&type=template&id=0aaac588
19678
19811
 
19679
- // EXTERNAL MODULE: ./node_modules/vue/dist/vue.runtime.esm.js
19680
- var vue_runtime_esm = __webpack_require__("2b0e");
19681
-
19682
19812
  // CONCATENATED MODULE: ./packages/components/slider/draggable.js
19683
19813
  let isDragging = false;
19684
19814
 
@@ -20782,21 +20912,32 @@ var toast_component = normalizeComponent(
20782
20912
 
20783
20913
 
20784
20914
 
20785
- let timer = null;
20786
- let currentToast = null;
20915
+
20916
+ let queueResult = [];
20917
+ function getType(value) {
20918
+ if (value !== value) return 'NaN';
20919
+ return Object.prototype.toString.call(value).slice(8, -1).toLowerCase();
20920
+ }
20787
20921
  class toast_VdToast extends vue_runtime_esm["a" /* default */].extend(components_toast) {
20788
20922
  constructor(options) {
20789
20923
  super();
20790
20924
  this.vm = this.$mount();
20925
+ this.timer = null;
20791
20926
 
20792
- // 支持字符串或对象传入
20927
+ // 判断传入的 options 类型,并进行赋值
20793
20928
  if (typeof options === 'string' || typeof options === 'number') {
20794
20929
  this.message = options;
20795
- } else if (typeof options === 'object') {
20930
+ } else if (getType(options) === 'object') {
20931
+ this.message = options.message || '';
20932
+ this.duration = options.duration || 1500;
20796
20933
  Object.assign(this, options);
20797
20934
  }
20798
20935
  this.init();
20799
20936
  }
20937
+
20938
+ /**
20939
+ * 初始化方法
20940
+ */
20800
20941
  init() {
20801
20942
  if (inBrowser) {
20802
20943
  document.body.appendChild(this.vm.$el);
@@ -20804,54 +20945,46 @@ class toast_VdToast extends vue_runtime_esm["a" /* default */].extend(components
20804
20945
  }
20805
20946
  }
20806
20947
  start() {
20807
- clearTimeout(timer);
20808
- timer = setTimeout(() => {
20948
+ clearTimeout(this.timer);
20949
+ /**
20950
+ * 在挂载真实 DOM 树后显示过渡效果
20951
+ */
20952
+ setTimeout(() => {
20809
20953
  this.isShow = true;
20810
20954
  if (this.duration > 0) {
20811
20955
  this.end();
20812
20956
  }
20813
- }, 100);
20957
+ }, 0);
20814
20958
  }
20815
20959
  end() {
20816
- clearTimeout(timer);
20817
- if (this.duration > 0) {
20818
- timer = setTimeout(() => {
20819
- this.isShow = false;
20820
- setTimeout(() => {
20821
- // 检查元素是否仍在 DOM 中
20822
- if (inBrowser && document.body.contains(this.vm.$el)) {
20823
- document.body.removeChild(this.vm.$el);
20824
- }
20825
- }, 500);
20826
- }, this.duration);
20827
- }
20960
+ /**
20961
+ * 关闭过渡效果之后移除真实 DOM 树节点
20962
+ */
20963
+ this.timer = setTimeout(() => {
20964
+ this.clear();
20965
+ }, this.duration);
20828
20966
  }
20829
20967
  clear() {
20830
20968
  this.isShow = false;
20831
- clearTimeout(timer);
20832
- // 检查元素是否仍在 DOM 中
20833
- if (inBrowser && document.body.contains(this.vm.$el)) {
20834
- document.body.removeChild(this.vm.$el);
20969
+ if (inBrowser && this.vm.$el) {
20970
+ setTimeout(() => {
20971
+ this.vm.$el.parentNode && this.vm.$el.parentNode.removeChild(this.vm.$el);
20972
+ }, 500);
20835
20973
  }
20836
20974
  }
20837
20975
  }
20838
-
20839
- // 创建静态方法以支持直接调用
20840
- const showToast = options => {
20841
- currentToast && currentToast.clear(); // 清除现有的 toast
20842
- currentToast = new toast_VdToast(options); // 创建新的 toast 实例
20843
- return currentToast;
20976
+ const Toast = options => {
20977
+ const NewOption = new toast_VdToast(options);
20978
+ queueResult.push(NewOption);
20979
+ return NewOption;
20844
20980
  };
20845
-
20846
- // 添加静态方法,支持手动清除
20847
- showToast.clear = () => {
20848
- currentToast && currentToast.clear();
20849
- currentToast = null;
20981
+ Toast.clear = () => {
20982
+ queueResult.forEach(toast => {
20983
+ toast.clear();
20984
+ });
20985
+ queueResult = [];
20850
20986
  };
20851
-
20852
- // 在 Vue 的原型上挂载,方便全局调用
20853
- vue_runtime_esm["a" /* default */].prototype.$VdToast = showToast;
20854
- /* harmony default export */ var packages_components_toast = (showToast);
20987
+ /* harmony default export */ var packages_components_toast = (Toast);
20855
20988
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"75d8bda1-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/footer/index.vue?vue&type=template&id=2c9567c1
20856
20989
  var footervue_type_template_id_2c9567c1_render = function render() {
20857
20990
  var _vm = this,
@@ -23696,7 +23829,7 @@ Overlay.props = {
23696
23829
  };
23697
23830
  /* harmony default export */ var vant_es_overlay = (overlay_createComponent(Overlay));
23698
23831
  // CONCATENATED MODULE: ./node_modules/vant/es/utils/dom/node.js
23699
- function removeNode(el) {
23832
+ function node_removeNode(el) {
23700
23833
  var parent = el.parentNode;
23701
23834
 
23702
23835
  if (parent) {
@@ -23777,7 +23910,7 @@ function removeOverlay(vm) {
23777
23910
  var item = context_context.find(vm);
23778
23911
 
23779
23912
  if (item) {
23780
- removeNode(item.overlay.$el);
23913
+ node_removeNode(item.overlay.$el);
23781
23914
  context_context.remove(vm);
23782
23915
  }
23783
23916
  }
@@ -24000,7 +24133,7 @@ function PopupMixin(options) {
24000
24133
  }
24001
24134
 
24002
24135
  if (this.getContainer) {
24003
- removeNode(this.$el);
24136
+ node_removeNode(this.$el);
24004
24137
  }
24005
24138
  },
24006
24139
 
@@ -24586,7 +24719,7 @@ var Toast_createNamespace = Object(create["a" /* createNamespace */])('toast'),
24586
24719
  Toast_createComponent = Toast_createNamespace[0],
24587
24720
  Toast_bem = Toast_createNamespace[1];
24588
24721
 
24589
- /* harmony default export */ var Toast = (Toast_createComponent({
24722
+ /* harmony default export */ var toast_Toast = (Toast_createComponent({
24590
24723
  mixins: [PopupMixin()],
24591
24724
  props: {
24592
24725
  icon: String,
@@ -24773,7 +24906,7 @@ function parseOptions(message) {
24773
24906
  };
24774
24907
  }
24775
24908
 
24776
- function isInDocument(element) {
24909
+ function toast_isInDocument(element) {
24777
24910
  return document.body.contains(element);
24778
24911
  }
24779
24912
 
@@ -24784,11 +24917,11 @@ function createInstance() {
24784
24917
  }
24785
24918
 
24786
24919
  queue = queue.filter(function (item) {
24787
- return !item.$el.parentNode || isInDocument(item.$el);
24920
+ return !item.$el.parentNode || toast_isInDocument(item.$el);
24788
24921
  });
24789
24922
 
24790
24923
  if (!queue.length || multiple) {
24791
- var toast = new (vue_runtime_esm["a" /* default */].extend(Toast))({
24924
+ var toast = new (vue_runtime_esm["a" /* default */].extend(toast_Toast))({
24792
24925
  el: document.createElement('div')
24793
24926
  });
24794
24927
  toast.$on('input', function (value) {
@@ -24809,7 +24942,7 @@ function transformOptions(options) {
24809
24942
  });
24810
24943
  }
24811
24944
 
24812
- function toast_Toast(options) {
24945
+ function es_toast_Toast(options) {
24813
24946
  if (options === void 0) {
24814
24947
  options = {};
24815
24948
  }
@@ -24839,7 +24972,7 @@ function toast_Toast(options) {
24839
24972
  queue = queue.filter(function (item) {
24840
24973
  return item !== toast;
24841
24974
  });
24842
- removeNode(toast.$el);
24975
+ node_removeNode(toast.$el);
24843
24976
  toast.$destroy();
24844
24977
  });
24845
24978
  }
@@ -24860,17 +24993,17 @@ function toast_Toast(options) {
24860
24993
 
24861
24994
  var toast_createMethod = function createMethod(type) {
24862
24995
  return function (options) {
24863
- return toast_Toast(_extends({
24996
+ return es_toast_Toast(_extends({
24864
24997
  type: type
24865
24998
  }, parseOptions(options)));
24866
24999
  };
24867
25000
  };
24868
25001
 
24869
25002
  ['loading', 'success', 'fail'].forEach(function (method) {
24870
- toast_Toast[method] = toast_createMethod(method);
25003
+ es_toast_Toast[method] = toast_createMethod(method);
24871
25004
  });
24872
25005
 
24873
- toast_Toast.clear = function (all) {
25006
+ es_toast_Toast.clear = function (all) {
24874
25007
  if (queue.length) {
24875
25008
  if (all) {
24876
25009
  queue.forEach(function (toast) {
@@ -24885,7 +25018,7 @@ toast_Toast.clear = function (all) {
24885
25018
  }
24886
25019
  };
24887
25020
 
24888
- toast_Toast.setDefaultOptions = function (type, options) {
25021
+ es_toast_Toast.setDefaultOptions = function (type, options) {
24889
25022
  if (typeof type === 'string') {
24890
25023
  defaultOptionsMap[type] = options;
24891
25024
  } else {
@@ -24893,7 +25026,7 @@ toast_Toast.setDefaultOptions = function (type, options) {
24893
25026
  }
24894
25027
  };
24895
25028
 
24896
- toast_Toast.resetDefaultOptions = function (type) {
25029
+ es_toast_Toast.resetDefaultOptions = function (type) {
24897
25030
  if (typeof type === 'string') {
24898
25031
  defaultOptionsMap[type] = null;
24899
25032
  } else {
@@ -24902,7 +25035,7 @@ toast_Toast.resetDefaultOptions = function (type) {
24902
25035
  }
24903
25036
  };
24904
25037
 
24905
- toast_Toast.allowMultiple = function (value) {
25038
+ es_toast_Toast.allowMultiple = function (value) {
24906
25039
  if (value === void 0) {
24907
25040
  value = true;
24908
25041
  }
@@ -24910,12 +25043,12 @@ toast_Toast.allowMultiple = function (value) {
24910
25043
  multiple = value;
24911
25044
  };
24912
25045
 
24913
- toast_Toast.install = function () {
24914
- vue_runtime_esm["a" /* default */].use(Toast);
25046
+ es_toast_Toast.install = function () {
25047
+ vue_runtime_esm["a" /* default */].use(toast_Toast);
24915
25048
  };
24916
25049
 
24917
- vue_runtime_esm["a" /* default */].prototype.$toast = toast_Toast;
24918
- /* harmony default export */ var vant_es_toast = (toast_Toast);
25050
+ vue_runtime_esm["a" /* default */].prototype.$toast = es_toast_Toast;
25051
+ /* harmony default export */ var vant_es_toast = (es_toast_Toast);
24919
25052
  // CONCATENATED MODULE: ./node_modules/vant/es/calendar/components/Month.js
24920
25053
 
24921
25054
 
@@ -26104,11 +26237,11 @@ var dropdownvue_type_template_id_34f6aea4_staticRenderFns = [];
26104
26237
  /* istanbul ignore next */
26105
26238
 
26106
26239
 
26107
- const isServer = vue_runtime_esm["a" /* default */].prototype.$isServer;
26240
+ const dom_isServer = vue_runtime_esm["a" /* default */].prototype.$isServer;
26108
26241
  /* istanbul ignore next */
26109
26242
  const dom_on = function () {
26110
26243
  // 添加事件监听器
26111
- if (!isServer && document.addEventListener) {
26244
+ if (!dom_isServer && document.addEventListener) {
26112
26245
  return function (element, event, handler) {
26113
26246
  if (element && event && handler) {
26114
26247
  element.addEventListener(event, handler, false);
@@ -26127,7 +26260,7 @@ const dom_on = function () {
26127
26260
  /* istanbul ignore next */
26128
26261
  const dom_off = function () {
26129
26262
  // 移除事件监听器
26130
- if (!isServer && document.removeEventListener) {
26263
+ if (!dom_isServer && document.removeEventListener) {
26131
26264
  return function (element, event, handler) {
26132
26265
  if (element && event) {
26133
26266
  element.removeEventListener(event, handler, false);
@@ -26921,7 +27054,7 @@ var state_component = normalizeComponent(
26921
27054
 
26922
27055
 
26923
27056
 
26924
- // import HToast from '@p/components/toast/index.vue';
27057
+ // import HToast from './components/toast/index.vue';
26925
27058
 
26926
27059
 
26927
27060
 
@@ -26948,6 +27081,7 @@ const API = {
26948
27081
  };
26949
27082
  const install = Vue => {
26950
27083
  if (install.installed) return;
27084
+ install.installed = true;
26951
27085
  // 注册组件
26952
27086
  components.map(component => {
26953
27087
  component && component.name && Vue.component(component.name, component);