vant 3.4.6 → 3.4.7

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.
Files changed (136) hide show
  1. package/changelog.generated.md +39 -50
  2. package/es/address-list/AddressListItem.d.ts +3 -2
  3. package/es/address-list/AddressListItem.js +1 -1
  4. package/es/badge/Badge.d.ts +4 -3
  5. package/es/badge/index.d.ts +2 -2
  6. package/es/calendar/Calendar.js +1 -1
  7. package/es/calendar/types.d.ts +2 -1
  8. package/es/cascader/types.d.ts +2 -1
  9. package/es/checkbox/Checker.d.ts +2 -1
  10. package/es/collapse/Collapse.d.ts +7 -6
  11. package/es/collapse/index.d.ts +3 -3
  12. package/es/composables/use-touch.js +1 -1
  13. package/es/config-provider/ConfigProvider.d.ts +4 -3
  14. package/es/config-provider/index.d.ts +2 -2
  15. package/es/contact-list/ContactList.d.ts +3 -2
  16. package/es/coupon/Coupon.d.ts +2 -1
  17. package/es/coupon-list/CouponList.d.ts +3 -13
  18. package/es/coupon-list/CouponList.js +9 -7
  19. package/es/coupon-list/index.css +1 -1
  20. package/es/coupon-list/index.d.ts +2 -9
  21. package/es/coupon-list/index.less +4 -16
  22. package/es/coupon-list/style/index.js +1 -0
  23. package/es/coupon-list/style/less.js +1 -0
  24. package/es/coupon-list/var.less +0 -1
  25. package/es/datetime-picker/DatePicker.js +1 -2
  26. package/es/dialog/types.d.ts +2 -2
  27. package/es/dropdown-item/types.d.ts +2 -1
  28. package/es/index-bar/IndexBar.d.ts +5 -4
  29. package/es/index-bar/IndexBar.js +25 -4
  30. package/es/index-bar/index.d.ts +3 -3
  31. package/es/index-bar/types.d.ts +2 -1
  32. package/es/index.d.ts +1 -1
  33. package/es/index.js +1 -1
  34. package/es/locale/lang/is-IS.d.ts +64 -0
  35. package/es/locale/lang/is-IS.js +74 -0
  36. package/es/locale/lang/la-LA.d.ts +64 -0
  37. package/es/locale/lang/la-LA.js +66 -0
  38. package/es/locale/lang/sv-SE.d.ts +64 -0
  39. package/es/locale/lang/sv-SE.js +66 -0
  40. package/es/notify/types.d.ts +2 -1
  41. package/es/number-keyboard/NumberKeyboard.js +10 -1
  42. package/es/picker/types.d.ts +3 -2
  43. package/es/progress/Progress.d.ts +4 -3
  44. package/es/progress/index.d.ts +2 -2
  45. package/es/skeleton/Skeleton.d.ts +5 -4
  46. package/es/skeleton/index.d.ts +3 -3
  47. package/es/tabbar/Tabbar.d.ts +2 -2
  48. package/es/tabs/Tabs.d.ts +1 -1
  49. package/es/tabs/Tabs.js +1 -0
  50. package/es/tabs/types.d.ts +5 -4
  51. package/es/toast/types.d.ts +3 -2
  52. package/es/tree-select/TreeSelect.d.ts +7 -6
  53. package/es/tree-select/index.d.ts +3 -3
  54. package/es/uploader/Uploader.d.ts +4 -4
  55. package/es/uploader/Uploader.js +2 -2
  56. package/es/uploader/UploaderPreviewItem.d.ts +3 -3
  57. package/es/uploader/UploaderPreviewItem.js +9 -6
  58. package/es/uploader/index.d.ts +2 -2
  59. package/es/uploader/types.d.ts +5 -5
  60. package/es/utils/basic.d.ts +1 -0
  61. package/es/utils/format.d.ts +7 -6
  62. package/es/utils/format.js +6 -0
  63. package/es/utils/validate.d.ts +2 -1
  64. package/lib/address-list/AddressListItem.d.ts +3 -2
  65. package/lib/badge/Badge.d.ts +4 -3
  66. package/lib/badge/index.d.ts +2 -2
  67. package/lib/calendar/Calendar.js +1 -1
  68. package/lib/calendar/types.d.ts +2 -1
  69. package/lib/cascader/types.d.ts +2 -1
  70. package/lib/checkbox/Checker.d.ts +2 -1
  71. package/lib/collapse/Collapse.d.ts +7 -6
  72. package/lib/collapse/index.d.ts +3 -3
  73. package/lib/composables/use-touch.js +1 -1
  74. package/lib/config-provider/ConfigProvider.d.ts +4 -3
  75. package/lib/config-provider/index.d.ts +2 -2
  76. package/lib/contact-list/ContactList.d.ts +3 -2
  77. package/lib/coupon/Coupon.d.ts +2 -1
  78. package/lib/coupon-list/CouponList.d.ts +3 -13
  79. package/lib/coupon-list/CouponList.js +9 -7
  80. package/lib/coupon-list/index.css +1 -1
  81. package/lib/coupon-list/index.d.ts +2 -9
  82. package/lib/coupon-list/index.less +4 -16
  83. package/lib/coupon-list/style/index.js +1 -0
  84. package/lib/coupon-list/style/less.js +1 -0
  85. package/lib/coupon-list/var.less +0 -1
  86. package/lib/datetime-picker/DatePicker.js +1 -2
  87. package/lib/dialog/types.d.ts +2 -2
  88. package/lib/dropdown-item/types.d.ts +2 -1
  89. package/lib/index-bar/IndexBar.d.ts +5 -4
  90. package/lib/index-bar/IndexBar.js +25 -4
  91. package/lib/index-bar/index.d.ts +3 -3
  92. package/lib/index-bar/types.d.ts +2 -1
  93. package/lib/index.css +1 -1
  94. package/lib/index.d.ts +1 -1
  95. package/lib/index.js +1 -1
  96. package/lib/index.less +2 -2
  97. package/lib/locale/lang/is-IS.d.ts +64 -0
  98. package/lib/locale/lang/is-IS.js +98 -0
  99. package/lib/locale/lang/la-LA.d.ts +64 -0
  100. package/lib/locale/lang/la-LA.js +90 -0
  101. package/lib/locale/lang/sv-SE.d.ts +64 -0
  102. package/lib/locale/lang/sv-SE.js +90 -0
  103. package/lib/notify/types.d.ts +2 -1
  104. package/lib/number-keyboard/NumberKeyboard.js +10 -1
  105. package/lib/picker/types.d.ts +3 -2
  106. package/lib/progress/Progress.d.ts +4 -3
  107. package/lib/progress/index.d.ts +2 -2
  108. package/lib/skeleton/Skeleton.d.ts +5 -4
  109. package/lib/skeleton/index.d.ts +3 -3
  110. package/lib/tabbar/Tabbar.d.ts +2 -2
  111. package/lib/tabs/Tabs.d.ts +1 -1
  112. package/lib/tabs/Tabs.js +1 -0
  113. package/lib/tabs/types.d.ts +5 -4
  114. package/lib/toast/types.d.ts +3 -2
  115. package/lib/tree-select/TreeSelect.d.ts +7 -6
  116. package/lib/tree-select/index.d.ts +3 -3
  117. package/lib/uploader/Uploader.d.ts +4 -4
  118. package/lib/uploader/Uploader.js +1 -1
  119. package/lib/uploader/UploaderPreviewItem.d.ts +3 -3
  120. package/lib/uploader/UploaderPreviewItem.js +9 -6
  121. package/lib/uploader/index.d.ts +2 -2
  122. package/lib/uploader/types.d.ts +5 -5
  123. package/lib/utils/basic.d.ts +1 -0
  124. package/lib/utils/format.d.ts +7 -6
  125. package/lib/utils/format.js +6 -0
  126. package/lib/utils/validate.d.ts +2 -1
  127. package/lib/vant.cjs.js +269 -229
  128. package/lib/vant.cjs.min.js +1 -1
  129. package/lib/vant.es.js +269 -229
  130. package/lib/vant.es.min.js +269 -229
  131. package/lib/vant.js +269 -229
  132. package/lib/vant.min.js +1 -1
  133. package/package.json +1 -1
  134. package/vetur/attributes.json +641 -638
  135. package/vetur/tags.json +227 -227
  136. package/vetur/web-types.json +2160 -2158
package/lib/vant.js CHANGED
@@ -472,6 +472,12 @@
472
472
  }
473
473
  function getSizeStyle(originSize) {
474
474
  if (isDef(originSize)) {
475
+ if (Array.isArray(originSize)) {
476
+ return {
477
+ width: addUnit(originSize[0]),
478
+ height: addUnit(originSize[1])
479
+ };
480
+ }
475
481
  const size = addUnit(originSize);
476
482
  return {
477
483
  width: size,
@@ -1340,7 +1346,7 @@
1340
1346
  };
1341
1347
  const move = (event) => {
1342
1348
  const touch = event.touches[0];
1343
- deltaX.value = touch.clientX < 0 ? 0 : touch.clientX - startX.value;
1349
+ deltaX.value = (touch.clientX < 0 ? 0 : touch.clientX) - startX.value;
1344
1350
  deltaY.value = touch.clientY - startY.value;
1345
1351
  offsetX.value = Math.abs(deltaX.value);
1346
1352
  offsetY.value = Math.abs(deltaY.value);
@@ -5133,8 +5139,8 @@
5133
5139
  }
5134
5140
  raf(() => {
5135
5141
  bodyHeight = Math.floor(useRect(bodyRef).height);
5136
- scrollToCurrentDate();
5137
5142
  });
5143
+ scrollToCurrentDate();
5138
5144
  };
5139
5145
  const reset = (date = getInitialDate()) => {
5140
5146
  currentDate.value = date;
@@ -6448,6 +6454,7 @@
6448
6454
  }
6449
6455
  };
6450
6456
  const renderNav = () => children.map((item, index) => vue.createVNode(stdin_default$13, vue.mergeProps({
6457
+ "key": item.id,
6451
6458
  "id": `${id}-${index}`,
6452
6459
  "ref": setTitleRefs(index),
6453
6460
  "type": props.type,
@@ -8038,14 +8045,152 @@
8038
8045
  }
8039
8046
  });
8040
8047
  const CouponCell = withInstall(stdin_default$L);
8041
- const [name$E, bem$D, t$8] = createNamespace("coupon-list");
8042
- const EMPTY_IMAGE = "https://img.yzcdn.cn/vant/coupon-empty.png";
8048
+ const prefix = "van-empty-network-";
8049
+ const renderStop = (color, offset2, opacity) => vue.createVNode("stop", {
8050
+ "stop-color": color,
8051
+ "offset": `${offset2}%`,
8052
+ "stop-opacity": opacity
8053
+ }, null);
8054
+ const Network = vue.createVNode("svg", {
8055
+ "viewBox": "0 0 160 160"
8056
+ }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
8057
+ "id": `${prefix}1`,
8058
+ "x1": "64%",
8059
+ "y1": "100%",
8060
+ "x2": "64%"
8061
+ }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)]), vue.createVNode("linearGradient", {
8062
+ "id": `${prefix}2`,
8063
+ "x1": "50%",
8064
+ "x2": "50%",
8065
+ "y2": "84%"
8066
+ }, [renderStop("#EBEDF0", 0), renderStop("#DCDEE0", 100, 0)]), vue.createVNode("linearGradient", {
8067
+ "id": `${prefix}3`,
8068
+ "x1": "100%",
8069
+ "x2": "100%",
8070
+ "y2": "100%"
8071
+ }, [renderStop("#EAEDF0", 0), renderStop("#DCDEE0", 100)]), vue.createVNode("radialGradient", {
8072
+ "id": `${prefix}4`,
8073
+ "cx": "50%",
8074
+ "cy": "0%",
8075
+ "fx": "50%",
8076
+ "fy": "0%",
8077
+ "r": "100%",
8078
+ "gradientTransform": "matrix(0 1 -.54 0 .5 -.5)"
8079
+ }, [renderStop("#EBEDF0", 0), renderStop("#FFF", 100, 0)])]), vue.createVNode("g", {
8080
+ "fill": "none"
8081
+ }, [vue.createVNode("g", {
8082
+ "opacity": ".8"
8083
+ }, [vue.createVNode("path", {
8084
+ "d": "M36 131V53H16v20H2v58h34z",
8085
+ "fill": `url(#${prefix}1)`
8086
+ }, null), vue.createVNode("path", {
8087
+ "d": "M123 15h22v14h9v77h-31V15z",
8088
+ "fill": `url(#${prefix}1)`
8089
+ }, null)]), vue.createVNode("path", {
8090
+ "fill": `url(#${prefix}4)`,
8091
+ "d": "M0 139h160v21H0z"
8092
+ }, null), vue.createVNode("path", {
8093
+ "d": "M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",
8094
+ "fill": `url(#${prefix}2)`
8095
+ }, null), vue.createVNode("g", {
8096
+ "opacity": ".6",
8097
+ "stroke-linecap": "round",
8098
+ "stroke-width": "7"
8099
+ }, [vue.createVNode("path", {
8100
+ "d": "M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",
8101
+ "stroke": `url(#${prefix}3)`
8102
+ }, null), vue.createVNode("path", {
8103
+ "d": "M53 36a34 34 0 0 0 0 48",
8104
+ "stroke": `url(#${prefix}3)`
8105
+ }, null), vue.createVNode("path", {
8106
+ "d": "M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",
8107
+ "stroke": `url(#${prefix}3)`
8108
+ }, null), vue.createVNode("path", {
8109
+ "d": "M106 84a34 34 0 0 0 0-48",
8110
+ "stroke": `url(#${prefix}3)`
8111
+ }, null)]), vue.createVNode("g", {
8112
+ "transform": "translate(31 105)"
8113
+ }, [vue.createVNode("rect", {
8114
+ "fill": "#EBEDF0",
8115
+ "width": "98",
8116
+ "height": "34",
8117
+ "rx": "2"
8118
+ }, null), vue.createVNode("rect", {
8119
+ "fill": "#FFF",
8120
+ "x": "9",
8121
+ "y": "8",
8122
+ "width": "80",
8123
+ "height": "18",
8124
+ "rx": "1.1"
8125
+ }, null), vue.createVNode("rect", {
8126
+ "fill": "#EBEDF0",
8127
+ "x": "15",
8128
+ "y": "12",
8129
+ "width": "18",
8130
+ "height": "6",
8131
+ "rx": "1.1"
8132
+ }, null)])])]);
8133
+ const [name$E, bem$D] = createNamespace("empty");
8134
+ const PRESET_IMAGES = ["error", "search", "default"];
8135
+ const emptyProps = {
8136
+ image: makeStringProp("default"),
8137
+ imageSize: numericProp,
8138
+ description: String
8139
+ };
8140
+ var stdin_default$K = vue.defineComponent({
8141
+ name: name$E,
8142
+ props: emptyProps,
8143
+ setup(props, {
8144
+ slots
8145
+ }) {
8146
+ const renderImage = () => {
8147
+ if (slots.image) {
8148
+ return slots.image();
8149
+ }
8150
+ let {
8151
+ image
8152
+ } = props;
8153
+ if (image === "network") {
8154
+ return Network;
8155
+ }
8156
+ if (PRESET_IMAGES.includes(image)) {
8157
+ image = `https://img.yzcdn.cn/vant/empty-image-${image}.png`;
8158
+ }
8159
+ return vue.createVNode("img", {
8160
+ "src": image
8161
+ }, null);
8162
+ };
8163
+ const renderDescription = () => {
8164
+ const description = slots.description ? slots.description() : props.description;
8165
+ if (description) {
8166
+ return vue.createVNode("p", {
8167
+ "class": bem$D("description")
8168
+ }, [description]);
8169
+ }
8170
+ };
8171
+ const renderBottom = () => {
8172
+ if (slots.default) {
8173
+ return vue.createVNode("div", {
8174
+ "class": bem$D("bottom")
8175
+ }, [slots.default()]);
8176
+ }
8177
+ };
8178
+ return () => vue.createVNode("div", {
8179
+ "class": bem$D()
8180
+ }, [vue.createVNode("div", {
8181
+ "class": bem$D("image"),
8182
+ "style": getSizeStyle(props.imageSize)
8183
+ }, [renderImage()]), renderDescription(), renderBottom()]);
8184
+ }
8185
+ });
8186
+ const Empty = withInstall(stdin_default$K);
8187
+ const [name$D, bem$C, t$8] = createNamespace("coupon-list");
8043
8188
  const couponListProps = {
8044
8189
  code: makeStringProp(""),
8045
8190
  coupons: makeArrayProp(),
8046
8191
  currency: makeStringProp("\xA5"),
8047
8192
  showCount: truthProp,
8048
- emptyImage: makeStringProp(EMPTY_IMAGE),
8193
+ emptyImage: String,
8049
8194
  chosenCoupon: makeNumberProp(-1),
8050
8195
  enabledTitle: String,
8051
8196
  disabledTitle: String,
@@ -8060,8 +8205,8 @@
8060
8205
  exchangeButtonLoading: Boolean,
8061
8206
  exchangeButtonDisabled: Boolean
8062
8207
  };
8063
- var stdin_default$K = vue.defineComponent({
8064
- name: name$E,
8208
+ var stdin_default$J = vue.defineComponent({
8209
+ name: name$D,
8065
8210
  props: couponListProps,
8066
8211
  emits: ["change", "exchange", "update:code"],
8067
8212
  setup(props, {
@@ -8093,28 +8238,30 @@
8093
8238
  return (_a = couponRefs.value[index]) == null ? void 0 : _a.scrollIntoView();
8094
8239
  });
8095
8240
  };
8096
- const renderEmpty = () => vue.createVNode("div", {
8097
- "class": bem$D("empty")
8098
- }, [vue.createVNode("img", {
8099
- "src": props.emptyImage
8100
- }, null), vue.createVNode("p", null, [t$8("noCoupon")])]);
8241
+ const renderEmpty = () => vue.createVNode(Empty, {
8242
+ "image": props.emptyImage
8243
+ }, {
8244
+ default: () => [vue.createVNode("p", {
8245
+ "class": bem$C("empty-tip")
8246
+ }, [t$8("noCoupon")])]
8247
+ });
8101
8248
  const renderExchangeBar = () => {
8102
8249
  if (props.showExchangeBar) {
8103
8250
  return vue.createVNode("div", {
8104
8251
  "ref": barRef,
8105
- "class": bem$D("exchange-bar")
8252
+ "class": bem$C("exchange-bar")
8106
8253
  }, [vue.createVNode(Field, {
8107
8254
  "modelValue": currentCode.value,
8108
8255
  "onUpdate:modelValue": ($event) => currentCode.value = $event,
8109
8256
  "clearable": true,
8110
8257
  "border": false,
8111
- "class": bem$D("field"),
8258
+ "class": bem$C("field"),
8112
8259
  "placeholder": props.inputPlaceholder || t$8("placeholder"),
8113
8260
  "maxlength": "20"
8114
8261
  }, null), vue.createVNode(Button, {
8115
8262
  "plain": true,
8116
8263
  "type": "danger",
8117
- "class": bem$D("exchange"),
8264
+ "class": bem$C("exchange"),
8118
8265
  "text": props.exchangeButtonText || t$8("exchange"),
8119
8266
  "loading": props.exchangeButtonLoading,
8120
8267
  "disabled": buttonDisabled.value,
@@ -8134,7 +8281,7 @@
8134
8281
  default: () => {
8135
8282
  var _a;
8136
8283
  return [vue.createVNode("div", {
8137
- "class": bem$D("list", {
8284
+ "class": bem$C("list", {
8138
8285
  "with-bottom": props.showCloseButton
8139
8286
  }),
8140
8287
  "style": {
@@ -8163,7 +8310,7 @@
8163
8310
  default: () => {
8164
8311
  var _a;
8165
8312
  return [vue.createVNode("div", {
8166
- "class": bem$D("list", {
8313
+ "class": bem$C("list", {
8167
8314
  "with-bottom": props.showCloseButton
8168
8315
  }),
8169
8316
  "style": {
@@ -8190,29 +8337,29 @@
8190
8337
  });
8191
8338
  return () => vue.createVNode("div", {
8192
8339
  "ref": root,
8193
- "class": bem$D()
8340
+ "class": bem$C()
8194
8341
  }, [renderExchangeBar(), vue.createVNode(Tabs, {
8195
8342
  "active": activeTab.value,
8196
8343
  "onUpdate:active": ($event) => activeTab.value = $event,
8197
- "class": bem$D("tab")
8344
+ "class": bem$C("tab")
8198
8345
  }, {
8199
8346
  default: () => [renderCouponTab(), renderDisabledTab()]
8200
8347
  }), vue.createVNode("div", {
8201
- "class": bem$D("bottom")
8348
+ "class": bem$C("bottom")
8202
8349
  }, [vue.withDirectives(vue.createVNode(Button, {
8203
8350
  "round": true,
8204
8351
  "block": true,
8205
8352
  "type": "danger",
8206
- "class": bem$D("close"),
8353
+ "class": bem$C("close"),
8207
8354
  "text": props.closeButtonText || t$8("close"),
8208
8355
  "onClick": () => emit("change", -1)
8209
8356
  }, null), [[vue.vShow, props.showCloseButton]])])]);
8210
8357
  }
8211
8358
  });
8212
- const CouponList = withInstall(stdin_default$K);
8213
- const [name$D] = createNamespace("time-picker");
8214
- var stdin_default$J = vue.defineComponent({
8215
- name: name$D,
8359
+ const CouponList = withInstall(stdin_default$J);
8360
+ const [name$C] = createNamespace("time-picker");
8361
+ var stdin_default$I = vue.defineComponent({
8362
+ name: name$C,
8216
8363
  props: extend({}, sharedProps, {
8217
8364
  minHour: makeNumericProp(0),
8218
8365
  maxHour: makeNumericProp(23),
@@ -8319,9 +8466,9 @@
8319
8466
  }
8320
8467
  });
8321
8468
  const currentYear = new Date().getFullYear();
8322
- const [name$C] = createNamespace("date-picker");
8323
- var stdin_default$I = vue.defineComponent({
8324
- name: name$C,
8469
+ const [name$B] = createNamespace("date-picker");
8470
+ var stdin_default$H = vue.defineComponent({
8471
+ name: name$B,
8325
8472
  props: extend({}, sharedProps, {
8326
8473
  type: makeStringProp("datetime"),
8327
8474
  modelValue: Date,
@@ -8536,8 +8683,7 @@
8536
8683
  });
8537
8684
  vue.watch(columns, updateColumnValue);
8538
8685
  vue.watch(currentDate, (value, oldValue) => emit("update:modelValue", oldValue ? value : null));
8539
- vue.watch(() => [props.filter, props.maxDate], updateInnerValue);
8540
- vue.watch(() => props.minDate, () => {
8686
+ vue.watch(() => [props.filter, props.minDate, props.maxDate], () => {
8541
8687
  vue.nextTick(updateInnerValue);
8542
8688
  });
8543
8689
  vue.watch(() => props.modelValue, (value) => {
@@ -8559,14 +8705,14 @@
8559
8705
  }, pick(props, pickerInheritKeys)), slots);
8560
8706
  }
8561
8707
  });
8562
- const [name$B, bem$C] = createNamespace("datetime-picker");
8563
- const timePickerPropKeys = Object.keys(stdin_default$J.props);
8564
- const datePickerPropKeys = Object.keys(stdin_default$I.props);
8565
- const datetimePickerProps = extend({}, stdin_default$J.props, stdin_default$I.props, {
8708
+ const [name$A, bem$B] = createNamespace("datetime-picker");
8709
+ const timePickerPropKeys = Object.keys(stdin_default$I.props);
8710
+ const datePickerPropKeys = Object.keys(stdin_default$H.props);
8711
+ const datetimePickerProps = extend({}, stdin_default$I.props, stdin_default$H.props, {
8566
8712
  modelValue: [String, Date]
8567
8713
  });
8568
- var stdin_default$H = vue.defineComponent({
8569
- name: name$B,
8714
+ var stdin_default$G = vue.defineComponent({
8715
+ name: name$A,
8570
8716
  props: datetimePickerProps,
8571
8717
  setup(props, {
8572
8718
  attrs,
@@ -8581,17 +8727,17 @@
8581
8727
  });
8582
8728
  return () => {
8583
8729
  const isTimePicker = props.type === "time";
8584
- const Component = isTimePicker ? stdin_default$J : stdin_default$I;
8730
+ const Component = isTimePicker ? stdin_default$I : stdin_default$H;
8585
8731
  const inheritProps = pick(props, isTimePicker ? timePickerPropKeys : datePickerPropKeys);
8586
8732
  return vue.createVNode(Component, vue.mergeProps({
8587
8733
  "ref": root,
8588
- "class": bem$C()
8734
+ "class": bem$B()
8589
8735
  }, inheritProps, attrs), slots);
8590
8736
  };
8591
8737
  }
8592
8738
  });
8593
- const DatetimePicker = withInstall(stdin_default$H);
8594
- const [name$A, bem$B, t$7] = createNamespace("dialog");
8739
+ const DatetimePicker = withInstall(stdin_default$G);
8740
+ const [name$z, bem$A, t$7] = createNamespace("dialog");
8595
8741
  const dialogProps = extend({}, popupSharedProps, {
8596
8742
  title: String,
8597
8743
  theme: String,
@@ -8612,8 +8758,8 @@
8612
8758
  closeOnClickOverlay: Boolean
8613
8759
  });
8614
8760
  const popupInheritKeys$1 = [...popupSharedPropKeys, "transition", "closeOnPopstate"];
8615
- var stdin_default$G = vue.defineComponent({
8616
- name: name$A,
8761
+ var stdin_default$F = vue.defineComponent({
8762
+ name: name$z,
8617
8763
  props: dialogProps,
8618
8764
  emits: ["confirm", "cancel", "keydown", "update:show"],
8619
8765
  setup(props, {
@@ -8670,7 +8816,7 @@
8670
8816
  const title = slots.title ? slots.title() : props.title;
8671
8817
  if (title) {
8672
8818
  return vue.createVNode("div", {
8673
- "class": bem$B("header", {
8819
+ "class": bem$A("header", {
8674
8820
  isolated: !props.message && !slots.default
8675
8821
  })
8676
8822
  }, [title]);
@@ -8682,7 +8828,7 @@
8682
8828
  allowHtml,
8683
8829
  messageAlign
8684
8830
  } = props;
8685
- const classNames = bem$B("message", {
8831
+ const classNames = bem$A("message", {
8686
8832
  "has-title": hasTitle,
8687
8833
  [messageAlign]: messageAlign
8688
8834
  });
@@ -8700,7 +8846,7 @@
8700
8846
  const renderContent = () => {
8701
8847
  if (slots.default) {
8702
8848
  return vue.createVNode("div", {
8703
- "class": bem$B("content")
8849
+ "class": bem$A("content")
8704
8850
  }, [slots.default()]);
8705
8851
  }
8706
8852
  const {
@@ -8712,18 +8858,18 @@
8712
8858
  const hasTitle = !!(title || slots.title);
8713
8859
  return vue.createVNode("div", {
8714
8860
  "key": allowHtml ? 1 : 0,
8715
- "class": bem$B("content", {
8861
+ "class": bem$A("content", {
8716
8862
  isolated: !hasTitle
8717
8863
  })
8718
8864
  }, [renderMessage(hasTitle)]);
8719
8865
  }
8720
8866
  };
8721
8867
  const renderButtons = () => vue.createVNode("div", {
8722
- "class": [BORDER_TOP, bem$B("footer")]
8868
+ "class": [BORDER_TOP, bem$A("footer")]
8723
8869
  }, [props.showCancelButton && vue.createVNode(Button, {
8724
8870
  "size": "large",
8725
8871
  "text": props.cancelButtonText || t$7("cancel"),
8726
- "class": bem$B("cancel"),
8872
+ "class": bem$A("cancel"),
8727
8873
  "style": {
8728
8874
  color: props.cancelButtonColor
8729
8875
  },
@@ -8732,7 +8878,7 @@
8732
8878
  }, null), props.showConfirmButton && vue.createVNode(Button, {
8733
8879
  "size": "large",
8734
8880
  "text": props.confirmButtonText || t$7("confirm"),
8735
- "class": [bem$B("confirm"), {
8881
+ "class": [bem$A("confirm"), {
8736
8882
  [BORDER_LEFT]: props.showCancelButton
8737
8883
  }],
8738
8884
  "style": {
@@ -8742,19 +8888,19 @@
8742
8888
  "onClick": onConfirm
8743
8889
  }, null)]);
8744
8890
  const renderRoundButtons = () => vue.createVNode(ActionBar, {
8745
- "class": bem$B("footer")
8891
+ "class": bem$A("footer")
8746
8892
  }, {
8747
8893
  default: () => [props.showCancelButton && vue.createVNode(ActionBarButton, {
8748
8894
  "type": "warning",
8749
8895
  "text": props.cancelButtonText || t$7("cancel"),
8750
- "class": bem$B("cancel"),
8896
+ "class": bem$A("cancel"),
8751
8897
  "color": props.cancelButtonColor,
8752
8898
  "loading": loading.cancel,
8753
8899
  "onClick": onCancel
8754
8900
  }, null), props.showConfirmButton && vue.createVNode(ActionBarButton, {
8755
8901
  "type": "danger",
8756
8902
  "text": props.confirmButtonText || t$7("confirm"),
8757
- "class": bem$B("confirm"),
8903
+ "class": bem$A("confirm"),
8758
8904
  "color": props.confirmButtonColor,
8759
8905
  "loading": loading.confirm,
8760
8906
  "onClick": onConfirm
@@ -8777,7 +8923,7 @@
8777
8923
  return vue.createVNode(Popup, vue.mergeProps({
8778
8924
  "ref": root,
8779
8925
  "role": "dialog",
8780
- "class": [bem$B([theme]), className],
8926
+ "class": [bem$A([theme]), className],
8781
8927
  "style": {
8782
8928
  width: addUnit(width2)
8783
8929
  },
@@ -8799,7 +8945,7 @@
8799
8945
  state,
8800
8946
  toggle
8801
8947
  } = usePopupState();
8802
- return () => vue.createVNode(stdin_default$G, vue.mergeProps(state, {
8948
+ return () => vue.createVNode(stdin_default$F, vue.mergeProps(state, {
8803
8949
  "onUpdate:show": toggle
8804
8950
  }), null);
8805
8951
  }
@@ -8864,19 +9010,19 @@
8864
9010
  Dialog.resetDefaultOptions = () => {
8865
9011
  Dialog.currentOptions = extend({}, Dialog.defaultOptions);
8866
9012
  };
8867
- Dialog.Component = withInstall(stdin_default$G);
9013
+ Dialog.Component = withInstall(stdin_default$F);
8868
9014
  Dialog.install = (app) => {
8869
9015
  app.use(Dialog.Component);
8870
9016
  app.config.globalProperties.$dialog = Dialog;
8871
9017
  };
8872
- const [name$z, bem$A] = createNamespace("divider");
9018
+ const [name$y, bem$z] = createNamespace("divider");
8873
9019
  const dividerProps = {
8874
9020
  dashed: Boolean,
8875
9021
  hairline: truthProp,
8876
9022
  contentPosition: makeStringProp("center")
8877
9023
  };
8878
- var stdin_default$F = vue.defineComponent({
8879
- name: name$z,
9024
+ var stdin_default$E = vue.defineComponent({
9025
+ name: name$y,
8880
9026
  props: dividerProps,
8881
9027
  setup(props, {
8882
9028
  slots
@@ -8885,7 +9031,7 @@
8885
9031
  var _a;
8886
9032
  return vue.createVNode("div", {
8887
9033
  "role": "separator",
8888
- "class": bem$A({
9034
+ "class": bem$z({
8889
9035
  dashed: props.dashed,
8890
9036
  hairline: props.hairline,
8891
9037
  [`content-${props.contentPosition}`]: !!slots.default
@@ -8894,8 +9040,8 @@
8894
9040
  };
8895
9041
  }
8896
9042
  });
8897
- const Divider = withInstall(stdin_default$F);
8898
- const [name$y, bem$z] = createNamespace("dropdown-menu");
9043
+ const Divider = withInstall(stdin_default$E);
9044
+ const [name$x, bem$y] = createNamespace("dropdown-menu");
8899
9045
  const dropdownMenuProps = {
8900
9046
  overlay: truthProp,
8901
9047
  zIndex: numericProp,
@@ -8905,9 +9051,9 @@
8905
9051
  closeOnClickOutside: truthProp,
8906
9052
  closeOnClickOverlay: truthProp
8907
9053
  };
8908
- const DROPDOWN_KEY = Symbol(name$y);
8909
- var stdin_default$E = vue.defineComponent({
8910
- name: name$y,
9054
+ const DROPDOWN_KEY = Symbol(name$x);
9055
+ var stdin_default$D = vue.defineComponent({
9056
+ name: name$x,
8911
9057
  props: dropdownMenuProps,
8912
9058
  setup(props, {
8913
9059
  slots
@@ -8975,7 +9121,7 @@
8975
9121
  "id": `${id}-${index}`,
8976
9122
  "role": "button",
8977
9123
  "tabindex": disabled ? void 0 : 0,
8978
- "class": [bem$z("item", {
9124
+ "class": [bem$y("item", {
8979
9125
  disabled
8980
9126
  }), {
8981
9127
  [HAPTICS_FEEDBACK]: !disabled
@@ -8986,7 +9132,7 @@
8986
9132
  }
8987
9133
  }
8988
9134
  }, [vue.createVNode("span", {
8989
- "class": [bem$z("title", {
9135
+ "class": [bem$y("title", {
8990
9136
  down: showPopup === (props.direction === "down"),
8991
9137
  active: showPopup
8992
9138
  }), titleClass],
@@ -9010,18 +9156,18 @@
9010
9156
  var _a;
9011
9157
  return vue.createVNode("div", {
9012
9158
  "ref": root,
9013
- "class": bem$z()
9159
+ "class": bem$y()
9014
9160
  }, [vue.createVNode("div", {
9015
9161
  "ref": barRef,
9016
9162
  "style": barStyle.value,
9017
- "class": bem$z("bar", {
9163
+ "class": bem$y("bar", {
9018
9164
  opened: opened.value
9019
9165
  })
9020
9166
  }, [children.map(renderTitle)]), (_a = slots.default) == null ? void 0 : _a.call(slots)]);
9021
9167
  };
9022
9168
  }
9023
9169
  });
9024
- const [name$x, bem$y] = createNamespace("dropdown-item");
9170
+ const [name$w, bem$x] = createNamespace("dropdown-item");
9025
9171
  const dropdownItemProps = {
9026
9172
  title: String,
9027
9173
  options: makeArrayProp(),
@@ -9031,8 +9177,8 @@
9031
9177
  modelValue: unknownProp,
9032
9178
  titleClass: unknownProp
9033
9179
  };
9034
- var stdin_default$D = vue.defineComponent({
9035
- name: name$x,
9180
+ var stdin_default$C = vue.defineComponent({
9181
+ name: name$w,
9036
9182
  props: dropdownItemProps,
9037
9183
  emits: ["open", "opened", "close", "closed", "change", "update:modelValue"],
9038
9184
  setup(props, {
@@ -9099,7 +9245,7 @@
9099
9245
  const renderIcon = () => {
9100
9246
  if (active) {
9101
9247
  return vue.createVNode(Icon, {
9102
- "class": bem$y("icon"),
9248
+ "class": bem$x("icon"),
9103
9249
  "color": activeColor,
9104
9250
  "name": "success"
9105
9251
  }, null);
@@ -9110,7 +9256,7 @@
9110
9256
  "key": option.value,
9111
9257
  "icon": option.icon,
9112
9258
  "title": option.text,
9113
- "class": bem$y("option", {
9259
+ "class": bem$x("option", {
9114
9260
  active
9115
9261
  }),
9116
9262
  "style": {
@@ -9142,13 +9288,13 @@
9142
9288
  }
9143
9289
  return vue.withDirectives(vue.createVNode("div", {
9144
9290
  "style": style,
9145
- "class": bem$y([direction]),
9291
+ "class": bem$x([direction]),
9146
9292
  "onClick": onClickWrapper
9147
9293
  }, [vue.createVNode(Popup, {
9148
9294
  "show": state.showPopup,
9149
9295
  "onUpdate:show": ($event) => state.showPopup = $event,
9150
9296
  "role": "menu",
9151
- "class": bem$y("content"),
9297
+ "class": bem$x("content"),
9152
9298
  "overlay": overlay,
9153
9299
  "position": direction === "down" ? "top" : "bottom",
9154
9300
  "duration": state.transition ? duration : 0,
@@ -9186,147 +9332,8 @@
9186
9332
  };
9187
9333
  }
9188
9334
  });
9189
- const DropdownItem = withInstall(stdin_default$D);
9190
- const DropdownMenu = withInstall(stdin_default$E);
9191
- const prefix = "van-empty-network-";
9192
- const renderStop = (color, offset2, opacity) => vue.createVNode("stop", {
9193
- "stop-color": color,
9194
- "offset": `${offset2}%`,
9195
- "stop-opacity": opacity
9196
- }, null);
9197
- const Network = vue.createVNode("svg", {
9198
- "viewBox": "0 0 160 160"
9199
- }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
9200
- "id": `${prefix}1`,
9201
- "x1": "64%",
9202
- "y1": "100%",
9203
- "x2": "64%"
9204
- }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)]), vue.createVNode("linearGradient", {
9205
- "id": `${prefix}2`,
9206
- "x1": "50%",
9207
- "x2": "50%",
9208
- "y2": "84%"
9209
- }, [renderStop("#EBEDF0", 0), renderStop("#DCDEE0", 100, 0)]), vue.createVNode("linearGradient", {
9210
- "id": `${prefix}3`,
9211
- "x1": "100%",
9212
- "x2": "100%",
9213
- "y2": "100%"
9214
- }, [renderStop("#EAEDF0", 0), renderStop("#DCDEE0", 100)]), vue.createVNode("radialGradient", {
9215
- "id": `${prefix}4`,
9216
- "cx": "50%",
9217
- "cy": "0%",
9218
- "fx": "50%",
9219
- "fy": "0%",
9220
- "r": "100%",
9221
- "gradientTransform": "matrix(0 1 -.54 0 .5 -.5)"
9222
- }, [renderStop("#EBEDF0", 0), renderStop("#FFF", 100, 0)])]), vue.createVNode("g", {
9223
- "fill": "none"
9224
- }, [vue.createVNode("g", {
9225
- "opacity": ".8"
9226
- }, [vue.createVNode("path", {
9227
- "d": "M36 131V53H16v20H2v58h34z",
9228
- "fill": `url(#${prefix}1)`
9229
- }, null), vue.createVNode("path", {
9230
- "d": "M123 15h22v14h9v77h-31V15z",
9231
- "fill": `url(#${prefix}1)`
9232
- }, null)]), vue.createVNode("path", {
9233
- "fill": `url(#${prefix}4)`,
9234
- "d": "M0 139h160v21H0z"
9235
- }, null), vue.createVNode("path", {
9236
- "d": "M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",
9237
- "fill": `url(#${prefix}2)`
9238
- }, null), vue.createVNode("g", {
9239
- "opacity": ".6",
9240
- "stroke-linecap": "round",
9241
- "stroke-width": "7"
9242
- }, [vue.createVNode("path", {
9243
- "d": "M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",
9244
- "stroke": `url(#${prefix}3)`
9245
- }, null), vue.createVNode("path", {
9246
- "d": "M53 36a34 34 0 0 0 0 48",
9247
- "stroke": `url(#${prefix}3)`
9248
- }, null), vue.createVNode("path", {
9249
- "d": "M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",
9250
- "stroke": `url(#${prefix}3)`
9251
- }, null), vue.createVNode("path", {
9252
- "d": "M106 84a34 34 0 0 0 0-48",
9253
- "stroke": `url(#${prefix}3)`
9254
- }, null)]), vue.createVNode("g", {
9255
- "transform": "translate(31 105)"
9256
- }, [vue.createVNode("rect", {
9257
- "fill": "#EBEDF0",
9258
- "width": "98",
9259
- "height": "34",
9260
- "rx": "2"
9261
- }, null), vue.createVNode("rect", {
9262
- "fill": "#FFF",
9263
- "x": "9",
9264
- "y": "8",
9265
- "width": "80",
9266
- "height": "18",
9267
- "rx": "1.1"
9268
- }, null), vue.createVNode("rect", {
9269
- "fill": "#EBEDF0",
9270
- "x": "15",
9271
- "y": "12",
9272
- "width": "18",
9273
- "height": "6",
9274
- "rx": "1.1"
9275
- }, null)])])]);
9276
- const [name$w, bem$x] = createNamespace("empty");
9277
- const PRESET_IMAGES = ["error", "search", "default"];
9278
- const emptyProps = {
9279
- image: makeStringProp("default"),
9280
- imageSize: numericProp,
9281
- description: String
9282
- };
9283
- var stdin_default$C = vue.defineComponent({
9284
- name: name$w,
9285
- props: emptyProps,
9286
- setup(props, {
9287
- slots
9288
- }) {
9289
- const renderImage = () => {
9290
- if (slots.image) {
9291
- return slots.image();
9292
- }
9293
- let {
9294
- image
9295
- } = props;
9296
- if (image === "network") {
9297
- return Network;
9298
- }
9299
- if (PRESET_IMAGES.includes(image)) {
9300
- image = `https://img.yzcdn.cn/vant/empty-image-${image}.png`;
9301
- }
9302
- return vue.createVNode("img", {
9303
- "src": image
9304
- }, null);
9305
- };
9306
- const renderDescription = () => {
9307
- const description = slots.description ? slots.description() : props.description;
9308
- if (description) {
9309
- return vue.createVNode("p", {
9310
- "class": bem$x("description")
9311
- }, [description]);
9312
- }
9313
- };
9314
- const renderBottom = () => {
9315
- if (slots.default) {
9316
- return vue.createVNode("div", {
9317
- "class": bem$x("bottom")
9318
- }, [slots.default()]);
9319
- }
9320
- };
9321
- return () => vue.createVNode("div", {
9322
- "class": bem$x()
9323
- }, [vue.createVNode("div", {
9324
- "class": bem$x("image"),
9325
- "style": getSizeStyle(props.imageSize)
9326
- }, [renderImage()]), renderDescription(), renderBottom()]);
9327
- }
9328
- });
9329
- const Empty = withInstall(stdin_default$C);
9335
+ const DropdownItem = withInstall(stdin_default$C);
9336
+ const DropdownMenu = withInstall(stdin_default$D);
9330
9337
  const [name$v, bem$w] = createNamespace("grid");
9331
9338
  const gridProps = {
9332
9339
  square: Boolean,
@@ -9980,6 +9987,7 @@
9980
9987
  children,
9981
9988
  linkChildren
9982
9989
  } = useChildren(INDEX_BAR_KEY);
9990
+ let selectActiveIndex;
9983
9991
  linkChildren({
9984
9992
  props
9985
9993
  });
@@ -10007,6 +10015,7 @@
10007
10015
  }
10008
10016
  return -1;
10009
10017
  };
10018
+ const getMatchAnchor = (index) => children.find((item) => String(item.index) === index);
10010
10019
  const onScroll = () => {
10011
10020
  if (isHidden(root)) {
10012
10021
  return;
@@ -10018,7 +10027,16 @@
10018
10027
  const scrollTop = getScrollTop(scrollParent.value);
10019
10028
  const scrollParentRect = useRect(scrollParent);
10020
10029
  const rects = children.map((item) => item.getRect(scrollParent.value, scrollParentRect));
10021
- const active = getActiveAnchor(scrollTop, rects);
10030
+ let active = -1;
10031
+ if (selectActiveIndex) {
10032
+ const match = getMatchAnchor(selectActiveIndex);
10033
+ if (match) {
10034
+ const rect = match.getRect(scrollParent.value, scrollParentRect);
10035
+ active = getActiveAnchor(rect.top, rects);
10036
+ }
10037
+ } else {
10038
+ active = getActiveAnchor(scrollTop, rects);
10039
+ }
10022
10040
  activeAnchor.value = indexList[active];
10023
10041
  if (sticky) {
10024
10042
  children.forEach((item, index) => {
@@ -10037,7 +10055,7 @@
10037
10055
  if (index === active) {
10038
10056
  state.active = true;
10039
10057
  state.top = Math.max(props.stickyOffsetTop, rects[index].top - scrollTop) + scrollParentRect.top;
10040
- } else if (index === active - 1) {
10058
+ } else if (index === active - 1 && selectActiveIndex === "") {
10041
10059
  const activeItemTop = rects[active].top - scrollTop;
10042
10060
  state.active = activeItemTop > 0;
10043
10061
  state.top = activeItemTop + scrollParentRect.top - rects[index].height;
@@ -10046,6 +10064,7 @@
10046
10064
  }
10047
10065
  });
10048
10066
  }
10067
+ selectActiveIndex = "";
10049
10068
  };
10050
10069
  const init = () => {
10051
10070
  vue.nextTick(onScroll);
@@ -10071,9 +10090,18 @@
10071
10090
  }, [index]);
10072
10091
  });
10073
10092
  const scrollTo = (index) => {
10074
- index = String(index);
10075
- const match = children.find((item) => String(item.index) === index);
10093
+ selectActiveIndex = String(index);
10094
+ const match = getMatchAnchor(selectActiveIndex);
10076
10095
  if (match) {
10096
+ const scrollTop = getScrollTop(scrollParent.value);
10097
+ const scrollParentRect = useRect(scrollParent);
10098
+ const {
10099
+ offsetHeight
10100
+ } = document.documentElement;
10101
+ if (scrollTop === offsetHeight - scrollParentRect.height) {
10102
+ onScroll();
10103
+ return;
10104
+ }
10077
10105
  match.$el.scrollIntoView();
10078
10106
  if (props.sticky && props.stickyOffsetTop) {
10079
10107
  setRootScrollTop(getRootScrollTop() - props.stickyOffsetTop);
@@ -10799,6 +10827,15 @@
10799
10827
  default: ""
10800
10828
  }
10801
10829
  };
10830
+ function shuffle(array) {
10831
+ for (let i = array.length - 1; i > 0; i--) {
10832
+ const j = Math.floor(Math.random() * (i + 1));
10833
+ const temp = array[i];
10834
+ array[i] = array[j];
10835
+ array[j] = temp;
10836
+ }
10837
+ return array;
10838
+ }
10802
10839
  var stdin_default$q = vue.defineComponent({
10803
10840
  name: name$l,
10804
10841
  props: numberKeyboardProps,
@@ -10813,7 +10850,7 @@
10813
10850
  text: i + 1
10814
10851
  }));
10815
10852
  if (props.randomKeyOrder) {
10816
- keys2.sort(() => Math.random() > 0.5 ? 1 : -1);
10853
+ shuffle(keys2);
10817
10854
  }
10818
10855
  return keys2;
10819
10856
  };
@@ -14288,7 +14325,7 @@
14288
14325
  imageFit: String,
14289
14326
  lazyLoad: Boolean,
14290
14327
  deletable: Boolean,
14291
- previewSize: numericProp,
14328
+ previewSize: [Number, String, Array],
14292
14329
  beforeDelete: Function
14293
14330
  },
14294
14331
  emits: ["delete", "preview"],
@@ -14362,16 +14399,19 @@
14362
14399
  };
14363
14400
  const renderPreview = () => {
14364
14401
  const {
14365
- item
14402
+ item,
14403
+ lazyLoad,
14404
+ imageFit,
14405
+ previewSize
14366
14406
  } = props;
14367
14407
  if (isImageFile(item)) {
14368
14408
  return vue.createVNode(Image$1, {
14369
- "fit": props.imageFit,
14409
+ "fit": imageFit,
14370
14410
  "src": item.content || item.url,
14371
14411
  "class": bem("preview-image"),
14372
- "width": props.previewSize,
14373
- "height": props.previewSize,
14374
- "lazyLoad": props.lazyLoad,
14412
+ "width": Array.isArray(previewSize) ? previewSize[0] : previewSize,
14413
+ "height": Array.isArray(previewSize) ? previewSize[1] : previewSize,
14414
+ "lazyLoad": lazyLoad,
14375
14415
  "onClick": onPreview
14376
14416
  }, {
14377
14417
  default: renderCover
@@ -14411,7 +14451,7 @@
14411
14451
  modelValue: makeArrayProp(),
14412
14452
  beforeRead: Function,
14413
14453
  beforeDelete: Function,
14414
- previewSize: numericProp,
14454
+ previewSize: [Number, String, Array],
14415
14455
  previewImage: truthProp,
14416
14456
  previewOptions: Object,
14417
14457
  previewFullImage: truthProp,
@@ -15478,7 +15518,7 @@
15478
15518
  });
15479
15519
  }
15480
15520
  };
15481
- const version = "3.4.6";
15521
+ const version = "3.4.7";
15482
15522
  function install(app) {
15483
15523
  const components = [
15484
15524
  ActionBar,