vant 4.3.2 → 4.4.0

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 (89) hide show
  1. package/es/address-edit/AddressEdit.mjs +1 -0
  2. package/es/area/Area.d.ts +6 -8
  3. package/es/area/Area.mjs +1 -1
  4. package/es/area/index.d.ts +4 -6
  5. package/es/back-top/BackTop.d.ts +1 -1
  6. package/es/back-top/BackTop.mjs +6 -3
  7. package/es/back-top/index.css +1 -1
  8. package/es/back-top/index.d.ts +1 -1
  9. package/es/barrage/Barrage.d.ts +93 -0
  10. package/es/barrage/Barrage.mjs +134 -0
  11. package/es/barrage/index.css +1 -0
  12. package/es/barrage/index.d.ts +69 -0
  13. package/es/barrage/index.mjs +10 -0
  14. package/es/barrage/style/index.d.ts +1 -0
  15. package/es/barrage/style/index.mjs +2 -0
  16. package/es/barrage/types.d.ts +7 -0
  17. package/es/barrage/types.mjs +0 -0
  18. package/es/cascader/Cascader.mjs +14 -0
  19. package/es/contact-list/ContactList.mjs +1 -1
  20. package/es/contact-list/index.css +1 -1
  21. package/es/date-picker/DatePicker.mjs +5 -2
  22. package/es/dialog/index.css +1 -1
  23. package/es/divider/Divider.d.ts +4 -0
  24. package/es/divider/Divider.mjs +4 -2
  25. package/es/divider/index.css +1 -1
  26. package/es/divider/index.d.ts +3 -0
  27. package/es/image-preview/ImagePreviewItem.mjs +28 -15
  28. package/es/index.d.ts +2 -1
  29. package/es/index.mjs +4 -1
  30. package/es/notice-bar/NoticeBar.d.ts +1 -1
  31. package/es/notice-bar/index.d.ts +1 -1
  32. package/es/signature/Signature.d.ts +13 -0
  33. package/es/signature/Signature.mjs +24 -8
  34. package/es/signature/index.css +1 -1
  35. package/es/signature/index.d.ts +9 -0
  36. package/es/uploader/Uploader.d.ts +6 -1
  37. package/es/uploader/Uploader.mjs +25 -10
  38. package/es/uploader/UploaderPreviewItem.d.ts +5 -1
  39. package/es/uploader/UploaderPreviewItem.mjs +6 -3
  40. package/es/uploader/index.d.ts +5 -1
  41. package/es/uploader/types.d.ts +1 -0
  42. package/lib/address-edit/AddressEdit.js +1 -0
  43. package/lib/area/Area.d.ts +6 -8
  44. package/lib/area/Area.js +1 -1
  45. package/lib/area/index.d.ts +4 -6
  46. package/lib/back-top/BackTop.d.ts +1 -1
  47. package/lib/back-top/BackTop.js +6 -3
  48. package/lib/back-top/index.css +1 -1
  49. package/lib/back-top/index.d.ts +1 -1
  50. package/lib/barrage/Barrage.d.ts +93 -0
  51. package/lib/barrage/Barrage.js +153 -0
  52. package/lib/barrage/index.css +1 -0
  53. package/lib/barrage/index.d.ts +69 -0
  54. package/lib/barrage/index.js +39 -0
  55. package/lib/barrage/style/index.d.ts +1 -0
  56. package/lib/barrage/style/index.js +2 -0
  57. package/lib/barrage/types.d.ts +7 -0
  58. package/lib/barrage/types.js +15 -0
  59. package/lib/cascader/Cascader.js +14 -0
  60. package/lib/contact-list/ContactList.js +1 -1
  61. package/lib/contact-list/index.css +1 -1
  62. package/lib/date-picker/DatePicker.js +5 -2
  63. package/lib/dialog/index.css +1 -1
  64. package/lib/divider/Divider.d.ts +4 -0
  65. package/lib/divider/Divider.js +4 -2
  66. package/lib/divider/index.css +1 -1
  67. package/lib/divider/index.d.ts +3 -0
  68. package/lib/image-preview/ImagePreviewItem.js +28 -15
  69. package/lib/index.css +1 -1
  70. package/lib/index.d.ts +2 -1
  71. package/lib/index.js +4 -1
  72. package/lib/notice-bar/NoticeBar.d.ts +1 -1
  73. package/lib/notice-bar/index.d.ts +1 -1
  74. package/lib/signature/Signature.d.ts +13 -0
  75. package/lib/signature/Signature.js +23 -7
  76. package/lib/signature/index.css +1 -1
  77. package/lib/signature/index.d.ts +9 -0
  78. package/lib/uploader/Uploader.d.ts +6 -1
  79. package/lib/uploader/Uploader.js +25 -10
  80. package/lib/uploader/UploaderPreviewItem.d.ts +5 -1
  81. package/lib/uploader/UploaderPreviewItem.js +6 -3
  82. package/lib/uploader/index.d.ts +5 -1
  83. package/lib/uploader/types.d.ts +1 -0
  84. package/lib/vant.cjs.js +523 -324
  85. package/lib/vant.es.js +523 -324
  86. package/lib/vant.js +523 -324
  87. package/lib/vant.min.js +1 -1
  88. package/lib/web-types.json +1 -1
  89. package/package.json +1 -1
package/lib/vant.js CHANGED
@@ -626,7 +626,7 @@
626
626
  });
627
627
  return to;
628
628
  }
629
- var stdin_default$1P = {
629
+ var stdin_default$1Q = {
630
630
  name: "姓名",
631
631
  tel: "电话",
632
632
  save: "保存",
@@ -690,7 +690,7 @@
690
690
  };
691
691
  const lang = vue.ref("zh-CN");
692
692
  const messages = vue.reactive({
693
- "zh-CN": stdin_default$1P
693
+ "zh-CN": stdin_default$1Q
694
694
  });
695
695
  const Locale = {
696
696
  messages() {
@@ -705,11 +705,11 @@
705
705
  }
706
706
  };
707
707
  const useCurrentLang = () => lang;
708
- var stdin_default$1O = Locale;
708
+ var stdin_default$1P = Locale;
709
709
  function createTranslate(name2) {
710
710
  const prefix = camelize(name2) + ".";
711
711
  return (path, ...args) => {
712
- const messages2 = stdin_default$1O.messages();
712
+ const messages2 = stdin_default$1P.messages();
713
713
  const message = get(messages2, prefix + path) || get(messages2, path);
714
714
  return isFunction(message) ? message(...args) : message;
715
715
  };
@@ -831,20 +831,20 @@
831
831
  }
832
832
  }, [renderContent()]);
833
833
  }
834
- const [name$1E, bem$1z] = createNamespace("action-bar");
835
- const ACTION_BAR_KEY = Symbol(name$1E);
834
+ const [name$1F, bem$1A] = createNamespace("action-bar");
835
+ const ACTION_BAR_KEY = Symbol(name$1F);
836
836
  const actionBarProps = {
837
837
  placeholder: Boolean,
838
838
  safeAreaInsetBottom: truthProp
839
839
  };
840
- var stdin_default$1N = vue.defineComponent({
841
- name: name$1E,
840
+ var stdin_default$1O = vue.defineComponent({
841
+ name: name$1F,
842
842
  props: actionBarProps,
843
843
  setup(props, {
844
844
  slots
845
845
  }) {
846
846
  const root = vue.ref();
847
- const renderPlaceholder = usePlaceholder(root, bem$1z);
847
+ const renderPlaceholder = usePlaceholder(root, bem$1A);
848
848
  const {
849
849
  linkChildren
850
850
  } = useChildren(ACTION_BAR_KEY);
@@ -853,7 +853,7 @@
853
853
  var _a;
854
854
  return vue.createVNode("div", {
855
855
  "ref": root,
856
- "class": [bem$1z(), {
856
+ "class": [bem$1A(), {
857
857
  "van-safe-area-bottom": props.safeAreaInsetBottom
858
858
  }]
859
859
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
@@ -866,7 +866,7 @@
866
866
  };
867
867
  }
868
868
  });
869
- const ActionBar = withInstall(stdin_default$1N);
869
+ const ActionBar = withInstall(stdin_default$1O);
870
870
  function useExpose(apis) {
871
871
  const instance2 = vue.getCurrentInstance();
872
872
  if (instance2) {
@@ -894,7 +894,7 @@
894
894
  const vm = vue.getCurrentInstance().proxy;
895
895
  return () => route(vm);
896
896
  }
897
- const [name$1D, bem$1y] = createNamespace("badge");
897
+ const [name$1E, bem$1z] = createNamespace("badge");
898
898
  const badgeProps = {
899
899
  dot: Boolean,
900
900
  max: numericProp,
@@ -905,8 +905,8 @@
905
905
  showZero: truthProp,
906
906
  position: makeStringProp("top-right")
907
907
  };
908
- var stdin_default$1M = vue.defineComponent({
909
- name: name$1D,
908
+ var stdin_default$1N = vue.defineComponent({
909
+ name: name$1E,
910
910
  props: badgeProps,
911
911
  setup(props, {
912
912
  slots
@@ -969,7 +969,7 @@
969
969
  const renderBadge = () => {
970
970
  if (hasContent() || props.dot) {
971
971
  return vue.createVNode("div", {
972
- "class": bem$1y([props.position, {
972
+ "class": bem$1z([props.position, {
973
973
  dot: props.dot,
974
974
  fixed: !!slots.default
975
975
  }]),
@@ -983,7 +983,7 @@
983
983
  tag
984
984
  } = props;
985
985
  return vue.createVNode(tag, {
986
- "class": bem$1y("wrapper")
986
+ "class": bem$1z("wrapper")
987
987
  }, {
988
988
  default: () => [slots.default(), renderBadge()]
989
989
  });
@@ -992,14 +992,14 @@
992
992
  };
993
993
  }
994
994
  });
995
- const Badge = withInstall(stdin_default$1M);
995
+ const Badge = withInstall(stdin_default$1N);
996
996
  let globalZIndex = 2e3;
997
997
  const useGlobalZIndex = () => ++globalZIndex;
998
998
  const setGlobalZIndex = (val) => {
999
999
  globalZIndex = val;
1000
1000
  };
1001
- const [name$1C, bem$1x] = createNamespace("config-provider");
1002
- const CONFIG_PROVIDER_KEY = Symbol(name$1C);
1001
+ const [name$1D, bem$1y] = createNamespace("config-provider");
1002
+ const CONFIG_PROVIDER_KEY = Symbol(name$1D);
1003
1003
  const configProviderProps = {
1004
1004
  tag: makeStringProp("div"),
1005
1005
  theme: makeStringProp("light"),
@@ -1016,8 +1016,8 @@
1016
1016
  });
1017
1017
  return cssVars;
1018
1018
  }
1019
- var stdin_default$1L = vue.defineComponent({
1020
- name: name$1C,
1019
+ var stdin_default$1M = vue.defineComponent({
1020
+ name: name$1D,
1021
1021
  props: configProviderProps,
1022
1022
  setup(props, {
1023
1023
  slots
@@ -1049,7 +1049,7 @@
1049
1049
  }
1050
1050
  });
1051
1051
  return () => vue.createVNode(props.tag, {
1052
- "class": bem$1x(),
1052
+ "class": bem$1y(),
1053
1053
  "style": style.value
1054
1054
  }, {
1055
1055
  default: () => {
@@ -1059,7 +1059,7 @@
1059
1059
  });
1060
1060
  }
1061
1061
  });
1062
- const [name$1B, bem$1w] = createNamespace("icon");
1062
+ const [name$1C, bem$1x] = createNamespace("icon");
1063
1063
  const isImage$1 = (name2) => name2 == null ? void 0 : name2.includes("/");
1064
1064
  const iconProps = {
1065
1065
  dot: Boolean,
@@ -1071,14 +1071,14 @@
1071
1071
  badgeProps: Object,
1072
1072
  classPrefix: String
1073
1073
  };
1074
- var stdin_default$1K = vue.defineComponent({
1075
- name: name$1B,
1074
+ var stdin_default$1L = vue.defineComponent({
1075
+ name: name$1C,
1076
1076
  props: iconProps,
1077
1077
  setup(props, {
1078
1078
  slots
1079
1079
  }) {
1080
1080
  const config = vue.inject(CONFIG_PROVIDER_KEY, null);
1081
- const classPrefix = vue.computed(() => props.classPrefix || (config == null ? void 0 : config.iconPrefix) || bem$1w());
1081
+ const classPrefix = vue.computed(() => props.classPrefix || (config == null ? void 0 : config.iconPrefix) || bem$1x());
1082
1082
  return () => {
1083
1083
  const {
1084
1084
  tag,
@@ -1102,7 +1102,7 @@
1102
1102
  default: () => {
1103
1103
  var _a;
1104
1104
  return [(_a = slots.default) == null ? void 0 : _a.call(slots), isImageIcon && vue.createVNode("img", {
1105
- "class": bem$1w("image"),
1105
+ "class": bem$1x("image"),
1106
1106
  "src": name2
1107
1107
  }, null)];
1108
1108
  }
@@ -1110,13 +1110,13 @@
1110
1110
  };
1111
1111
  }
1112
1112
  });
1113
- const Icon = withInstall(stdin_default$1K);
1114
- const [name$1A, bem$1v] = createNamespace("loading");
1113
+ const Icon = withInstall(stdin_default$1L);
1114
+ const [name$1B, bem$1w] = createNamespace("loading");
1115
1115
  const SpinIcon = Array(12).fill(null).map((_, index) => vue.createVNode("i", {
1116
- "class": bem$1v("line", String(index + 1))
1116
+ "class": bem$1w("line", String(index + 1))
1117
1117
  }, null));
1118
1118
  const CircularIcon = vue.createVNode("svg", {
1119
- "class": bem$1v("circular"),
1119
+ "class": bem$1w("circular"),
1120
1120
  "viewBox": "25 25 50 50"
1121
1121
  }, [vue.createVNode("circle", {
1122
1122
  "cx": "50",
@@ -1132,8 +1132,8 @@
1132
1132
  textSize: numericProp,
1133
1133
  textColor: String
1134
1134
  };
1135
- var stdin_default$1J = vue.defineComponent({
1136
- name: name$1A,
1135
+ var stdin_default$1K = vue.defineComponent({
1136
+ name: name$1B,
1137
1137
  props: loadingProps,
1138
1138
  setup(props, {
1139
1139
  slots
@@ -1144,7 +1144,7 @@
1144
1144
  const renderIcon = () => {
1145
1145
  const DefaultIcon = props.type === "spinner" ? SpinIcon : CircularIcon;
1146
1146
  return vue.createVNode("span", {
1147
- "class": bem$1v("spinner", props.type),
1147
+ "class": bem$1w("spinner", props.type),
1148
1148
  "style": spinnerStyle.value
1149
1149
  }, [slots.icon ? slots.icon() : DefaultIcon]);
1150
1150
  };
@@ -1152,7 +1152,7 @@
1152
1152
  var _a;
1153
1153
  if (slots.default) {
1154
1154
  return vue.createVNode("span", {
1155
- "class": bem$1v("text"),
1155
+ "class": bem$1w("text"),
1156
1156
  "style": {
1157
1157
  fontSize: addUnit(props.textSize),
1158
1158
  color: (_a = props.textColor) != null ? _a : props.color
@@ -1166,7 +1166,7 @@
1166
1166
  vertical
1167
1167
  } = props;
1168
1168
  return vue.createVNode("div", {
1169
- "class": bem$1v([type, {
1169
+ "class": bem$1w([type, {
1170
1170
  vertical
1171
1171
  }]),
1172
1172
  "aria-live": "polite",
@@ -1175,8 +1175,8 @@
1175
1175
  };
1176
1176
  }
1177
1177
  });
1178
- const Loading = withInstall(stdin_default$1J);
1179
- const [name$1z, bem$1u] = createNamespace("button");
1178
+ const Loading = withInstall(stdin_default$1K);
1179
+ const [name$1A, bem$1v] = createNamespace("button");
1180
1180
  const buttonProps = extend({}, routeProps, {
1181
1181
  tag: makeStringProp("button"),
1182
1182
  text: String,
@@ -1198,8 +1198,8 @@
1198
1198
  loadingType: String,
1199
1199
  iconPosition: makeStringProp("left")
1200
1200
  });
1201
- var stdin_default$1I = vue.defineComponent({
1202
- name: name$1z,
1201
+ var stdin_default$1J = vue.defineComponent({
1202
+ name: name$1A,
1203
1203
  props: buttonProps,
1204
1204
  emits: ["click"],
1205
1205
  setup(props, {
@@ -1214,7 +1214,7 @@
1214
1214
  return vue.createVNode(Loading, {
1215
1215
  "size": props.loadingSize,
1216
1216
  "type": props.loadingType,
1217
- "class": bem$1u("loading")
1217
+ "class": bem$1v("loading")
1218
1218
  }, null);
1219
1219
  };
1220
1220
  const renderIcon = () => {
@@ -1223,13 +1223,13 @@
1223
1223
  }
1224
1224
  if (slots.icon) {
1225
1225
  return vue.createVNode("div", {
1226
- "class": bem$1u("icon")
1226
+ "class": bem$1v("icon")
1227
1227
  }, [slots.icon()]);
1228
1228
  }
1229
1229
  if (props.icon) {
1230
1230
  return vue.createVNode(Icon, {
1231
1231
  "name": props.icon,
1232
- "class": bem$1u("icon"),
1232
+ "class": bem$1v("icon"),
1233
1233
  "classPrefix": props.iconPrefix
1234
1234
  }, null);
1235
1235
  }
@@ -1243,7 +1243,7 @@
1243
1243
  }
1244
1244
  if (text) {
1245
1245
  return vue.createVNode("span", {
1246
- "class": bem$1u("text")
1246
+ "class": bem$1v("text")
1247
1247
  }, [text]);
1248
1248
  }
1249
1249
  };
@@ -1290,7 +1290,7 @@
1290
1290
  nativeType,
1291
1291
  iconPosition
1292
1292
  } = props;
1293
- const classes = [bem$1u([type, size, {
1293
+ const classes = [bem$1v([type, size, {
1294
1294
  plain,
1295
1295
  block,
1296
1296
  round: round2,
@@ -1309,14 +1309,14 @@
1309
1309
  "onClick": onClick
1310
1310
  }, {
1311
1311
  default: () => [vue.createVNode("div", {
1312
- "class": bem$1u("content")
1312
+ "class": bem$1v("content")
1313
1313
  }, [iconPosition === "left" && renderIcon(), renderText(), iconPosition === "right" && renderIcon()])]
1314
1314
  });
1315
1315
  };
1316
1316
  }
1317
1317
  });
1318
- const Button = withInstall(stdin_default$1I);
1319
- const [name$1y, bem$1t] = createNamespace("action-bar-button");
1318
+ const Button = withInstall(stdin_default$1J);
1319
+ const [name$1z, bem$1u] = createNamespace("action-bar-button");
1320
1320
  const actionBarButtonProps = extend({}, routeProps, {
1321
1321
  type: String,
1322
1322
  text: String,
@@ -1325,8 +1325,8 @@
1325
1325
  loading: Boolean,
1326
1326
  disabled: Boolean
1327
1327
  });
1328
- var stdin_default$1H = vue.defineComponent({
1329
- name: name$1y,
1328
+ var stdin_default$1I = vue.defineComponent({
1329
+ name: name$1z,
1330
1330
  props: actionBarButtonProps,
1331
1331
  setup(props, {
1332
1332
  slots
@@ -1361,7 +1361,7 @@
1361
1361
  disabled
1362
1362
  } = props;
1363
1363
  return vue.createVNode(Button, {
1364
- "class": bem$1t([type, {
1364
+ "class": bem$1u([type, {
1365
1365
  last: isLast.value,
1366
1366
  first: isFirst.value
1367
1367
  }]),
@@ -1378,8 +1378,8 @@
1378
1378
  };
1379
1379
  }
1380
1380
  });
1381
- const ActionBarButton = withInstall(stdin_default$1H);
1382
- const [name$1x, bem$1s] = createNamespace("action-bar-icon");
1381
+ const ActionBarButton = withInstall(stdin_default$1I);
1382
+ const [name$1y, bem$1t] = createNamespace("action-bar-icon");
1383
1383
  const actionBarIconProps = extend({}, routeProps, {
1384
1384
  dot: Boolean,
1385
1385
  text: String,
@@ -1390,8 +1390,8 @@
1390
1390
  badgeProps: Object,
1391
1391
  iconPrefix: String
1392
1392
  });
1393
- var stdin_default$1G = vue.defineComponent({
1394
- name: name$1x,
1393
+ var stdin_default$1H = vue.defineComponent({
1394
+ name: name$1y,
1395
1395
  props: actionBarIconProps,
1396
1396
  setup(props, {
1397
1397
  slots
@@ -1411,7 +1411,7 @@
1411
1411
  if (slots.icon) {
1412
1412
  return vue.createVNode(Badge, vue.mergeProps({
1413
1413
  "dot": dot,
1414
- "class": bem$1s("icon"),
1414
+ "class": bem$1t("icon"),
1415
1415
  "content": badge
1416
1416
  }, badgeProps2), {
1417
1417
  default: slots.icon
@@ -1423,20 +1423,20 @@
1423
1423
  "name": icon,
1424
1424
  "badge": badge,
1425
1425
  "color": color,
1426
- "class": [bem$1s("icon"), iconClass],
1426
+ "class": [bem$1t("icon"), iconClass],
1427
1427
  "badgeProps": badgeProps2,
1428
1428
  "classPrefix": iconPrefix
1429
1429
  }, null);
1430
1430
  };
1431
1431
  return () => vue.createVNode("div", {
1432
1432
  "role": "button",
1433
- "class": bem$1s(),
1433
+ "class": bem$1t(),
1434
1434
  "tabindex": 0,
1435
1435
  "onClick": route2
1436
1436
  }, [renderIcon(), slots.default ? slots.default() : props.text]);
1437
1437
  }
1438
1438
  });
1439
- const ActionBarIcon = withInstall(stdin_default$1G);
1439
+ const ActionBarIcon = withInstall(stdin_default$1H);
1440
1440
  const popupSharedProps = {
1441
1441
  // whether to show popup
1442
1442
  show: Boolean,
@@ -1587,7 +1587,7 @@
1587
1587
  );
1588
1588
  return (render) => () => inited.value ? render() : null;
1589
1589
  }
1590
- const [name$1w, bem$1r] = createNamespace("overlay");
1590
+ const [name$1x, bem$1s] = createNamespace("overlay");
1591
1591
  const overlayProps = {
1592
1592
  show: Boolean,
1593
1593
  zIndex: numericProp,
@@ -1597,8 +1597,8 @@
1597
1597
  lazyRender: truthProp,
1598
1598
  customStyle: Object
1599
1599
  };
1600
- var stdin_default$1F = vue.defineComponent({
1601
- name: name$1w,
1600
+ var stdin_default$1G = vue.defineComponent({
1601
+ name: name$1x,
1602
1602
  props: overlayProps,
1603
1603
  setup(props, {
1604
1604
  slots
@@ -1619,7 +1619,7 @@
1619
1619
  return vue.withDirectives(vue.createVNode("div", {
1620
1620
  "ref": root,
1621
1621
  "style": style,
1622
- "class": [bem$1r(), props.className]
1622
+ "class": [bem$1s(), props.className]
1623
1623
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), [[vue.vShow, props.show]]);
1624
1624
  });
1625
1625
  useEventListener("touchmove", onTouchMove, {
@@ -1633,7 +1633,7 @@
1633
1633
  });
1634
1634
  }
1635
1635
  });
1636
- const Overlay = withInstall(stdin_default$1F);
1636
+ const Overlay = withInstall(stdin_default$1G);
1637
1637
  const popupProps$2 = extend({}, popupSharedProps, {
1638
1638
  round: Boolean,
1639
1639
  position: makeStringProp("center"),
@@ -1646,9 +1646,9 @@
1646
1646
  safeAreaInsetTop: Boolean,
1647
1647
  safeAreaInsetBottom: Boolean
1648
1648
  });
1649
- const [name$1v, bem$1q] = createNamespace("popup");
1650
- var stdin_default$1E = vue.defineComponent({
1651
- name: name$1v,
1649
+ const [name$1w, bem$1r] = createNamespace("popup");
1650
+ var stdin_default$1F = vue.defineComponent({
1651
+ name: name$1w,
1652
1652
  inheritAttrs: false,
1653
1653
  props: popupProps$2,
1654
1654
  emits: ["open", "close", "opened", "closed", "keydown", "update:show", "clickOverlay", "clickCloseIcon"],
@@ -1722,7 +1722,7 @@
1722
1722
  "role": "button",
1723
1723
  "tabindex": 0,
1724
1724
  "name": props.closeIcon,
1725
- "class": [bem$1q("close-icon", props.closeIconPosition), HAPTICS_FEEDBACK],
1725
+ "class": [bem$1r("close-icon", props.closeIconPosition), HAPTICS_FEEDBACK],
1726
1726
  "classPrefix": props.iconPrefix,
1727
1727
  "onClick": onClickCloseIcon
1728
1728
  }, null);
@@ -1744,7 +1744,7 @@
1744
1744
  "style": style.value,
1745
1745
  "role": "dialog",
1746
1746
  "tabindex": 0,
1747
- "class": [bem$1q({
1747
+ "class": [bem$1r({
1748
1748
  round: round2,
1749
1749
  [position]: position
1750
1750
  }), {
@@ -1825,8 +1825,8 @@
1825
1825
  };
1826
1826
  }
1827
1827
  });
1828
- const Popup = withInstall(stdin_default$1E);
1829
- const [name$1u, bem$1p] = createNamespace("action-sheet");
1828
+ const Popup = withInstall(stdin_default$1F);
1829
+ const [name$1v, bem$1q] = createNamespace("action-sheet");
1830
1830
  const actionSheetProps = extend({}, popupSharedProps, {
1831
1831
  title: String,
1832
1832
  round: truthProp,
@@ -1840,8 +1840,8 @@
1840
1840
  safeAreaInsetBottom: truthProp
1841
1841
  });
1842
1842
  const popupInheritKeys$2 = [...popupSharedPropKeys, "round", "closeOnPopstate", "safeAreaInsetBottom"];
1843
- var stdin_default$1D = vue.defineComponent({
1844
- name: name$1u,
1843
+ var stdin_default$1E = vue.defineComponent({
1844
+ name: name$1v,
1845
1845
  props: actionSheetProps,
1846
1846
  emits: ["select", "cancel", "update:show"],
1847
1847
  setup(props, {
@@ -1856,10 +1856,10 @@
1856
1856
  const renderHeader = () => {
1857
1857
  if (props.title) {
1858
1858
  return vue.createVNode("div", {
1859
- "class": bem$1p("header")
1859
+ "class": bem$1q("header")
1860
1860
  }, [props.title, props.closeable && vue.createVNode(Icon, {
1861
1861
  "name": props.closeIcon,
1862
- "class": [bem$1p("close"), HAPTICS_FEEDBACK],
1862
+ "class": [bem$1q("close"), HAPTICS_FEEDBACK],
1863
1863
  "onClick": onCancel
1864
1864
  }, null)]);
1865
1865
  }
@@ -1867,10 +1867,10 @@
1867
1867
  const renderCancel = () => {
1868
1868
  if (slots.cancel || props.cancelText) {
1869
1869
  return [vue.createVNode("div", {
1870
- "class": bem$1p("gap")
1870
+ "class": bem$1q("gap")
1871
1871
  }, null), vue.createVNode("button", {
1872
1872
  "type": "button",
1873
- "class": bem$1p("cancel"),
1873
+ "class": bem$1q("cancel"),
1874
1874
  "onClick": onCancel
1875
1875
  }, [slots.cancel ? slots.cancel() : props.cancelText])];
1876
1876
  }
@@ -1878,7 +1878,7 @@
1878
1878
  const renderActionContent = (action, index) => {
1879
1879
  if (action.loading) {
1880
1880
  return vue.createVNode(Loading, {
1881
- "class": bem$1p("loading-icon")
1881
+ "class": bem$1q("loading-icon")
1882
1882
  }, null);
1883
1883
  }
1884
1884
  if (slots.action) {
@@ -1888,9 +1888,9 @@
1888
1888
  });
1889
1889
  }
1890
1890
  return [vue.createVNode("span", {
1891
- "class": bem$1p("name")
1891
+ "class": bem$1q("name")
1892
1892
  }, [action.name]), action.subname && vue.createVNode("div", {
1893
- "class": bem$1p("subname")
1893
+ "class": bem$1q("subname")
1894
1894
  }, [action.subname])];
1895
1895
  };
1896
1896
  const renderAction = (action, index) => {
@@ -1918,7 +1918,7 @@
1918
1918
  "style": {
1919
1919
  color
1920
1920
  },
1921
- "class": [bem$1p("item", {
1921
+ "class": [bem$1q("item", {
1922
1922
  loading,
1923
1923
  disabled
1924
1924
  }), className],
@@ -1929,26 +1929,26 @@
1929
1929
  if (props.description || slots.description) {
1930
1930
  const content = slots.description ? slots.description() : props.description;
1931
1931
  return vue.createVNode("div", {
1932
- "class": bem$1p("description")
1932
+ "class": bem$1q("description")
1933
1933
  }, [content]);
1934
1934
  }
1935
1935
  };
1936
1936
  return () => vue.createVNode(Popup, vue.mergeProps({
1937
- "class": bem$1p(),
1937
+ "class": bem$1q(),
1938
1938
  "position": "bottom",
1939
1939
  "onUpdate:show": updateShow
1940
1940
  }, pick(props, popupInheritKeys$2)), {
1941
1941
  default: () => {
1942
1942
  var _a;
1943
1943
  return [renderHeader(), renderDescription(), vue.createVNode("div", {
1944
- "class": bem$1p("content")
1944
+ "class": bem$1q("content")
1945
1945
  }, [props.actions.map(renderAction), (_a = slots.default) == null ? void 0 : _a.call(slots)]), renderCancel()];
1946
1946
  }
1947
1947
  });
1948
1948
  }
1949
1949
  });
1950
- const ActionSheet = withInstall(stdin_default$1D);
1951
- const [name$1t, bem$1o, t$k] = createNamespace("picker");
1950
+ const ActionSheet = withInstall(stdin_default$1E);
1951
+ const [name$1u, bem$1p, t$k] = createNamespace("picker");
1952
1952
  const getFirstEnabledOption = (options) => options.find((option) => !option.disabled) || options[0];
1953
1953
  function getColumnsType(columns, fields) {
1954
1954
  const firstColumn = columns[0];
@@ -2017,10 +2017,10 @@
2017
2017
  const DEFAULT_DURATION = 200;
2018
2018
  const MOMENTUM_TIME = 300;
2019
2019
  const MOMENTUM_DISTANCE = 15;
2020
- const [name$1s, bem$1n] = createNamespace("picker-column");
2021
- const PICKER_KEY = Symbol(name$1s);
2022
- var stdin_default$1C = vue.defineComponent({
2023
- name: name$1s,
2020
+ const [name$1t, bem$1o] = createNamespace("picker-column");
2021
+ const PICKER_KEY = Symbol(name$1t);
2022
+ var stdin_default$1D = vue.defineComponent({
2023
+ name: name$1t,
2024
2024
  props: {
2025
2025
  value: numericProp,
2026
2026
  fields: makeRequiredProp(Object),
@@ -2159,7 +2159,7 @@
2159
2159
  role: "button",
2160
2160
  style: optionStyle,
2161
2161
  tabindex: disabled ? -1 : 0,
2162
- class: [bem$1n("item", {
2162
+ class: [bem$1o("item", {
2163
2163
  disabled,
2164
2164
  selected: value === props.value
2165
2165
  }), option.className],
@@ -2187,7 +2187,7 @@
2187
2187
  });
2188
2188
  return () => vue.createVNode("div", {
2189
2189
  "ref": root,
2190
- "class": bem$1n(),
2190
+ "class": bem$1o(),
2191
2191
  "onTouchstartPassive": onTouchStart,
2192
2192
  "onTouchend": onTouchEnd,
2193
2193
  "onTouchcancel": onTouchEnd
@@ -2198,12 +2198,12 @@
2198
2198
  transitionDuration: `${currentDuration.value}ms`,
2199
2199
  transitionProperty: currentDuration.value ? "all" : "none"
2200
2200
  },
2201
- "class": bem$1n("wrapper"),
2201
+ "class": bem$1o("wrapper"),
2202
2202
  "onTransitionend": stopMomentum
2203
2203
  }, [renderOptions()])]);
2204
2204
  }
2205
2205
  });
2206
- const [name$1r] = createNamespace("picker-toolbar");
2206
+ const [name$1s] = createNamespace("picker-toolbar");
2207
2207
  const pickerToolbarProps = {
2208
2208
  title: String,
2209
2209
  cancelButtonText: String,
@@ -2211,8 +2211,8 @@
2211
2211
  };
2212
2212
  const pickerToolbarSlots = ["cancel", "confirm", "title", "toolbar"];
2213
2213
  const pickerToolbarPropKeys = Object.keys(pickerToolbarProps);
2214
- var stdin_default$1B = vue.defineComponent({
2215
- name: name$1r,
2214
+ var stdin_default$1C = vue.defineComponent({
2215
+ name: name$1s,
2216
2216
  props: pickerToolbarProps,
2217
2217
  emits: ["confirm", "cancel"],
2218
2218
  setup(props, {
@@ -2225,7 +2225,7 @@
2225
2225
  }
2226
2226
  if (props.title) {
2227
2227
  return vue.createVNode("div", {
2228
- "class": [bem$1o("title"), "van-ellipsis"]
2228
+ "class": [bem$1p("title"), "van-ellipsis"]
2229
2229
  }, [props.title]);
2230
2230
  }
2231
2231
  };
@@ -2235,7 +2235,7 @@
2235
2235
  const text = props.cancelButtonText || t$k("cancel");
2236
2236
  return vue.createVNode("button", {
2237
2237
  "type": "button",
2238
- "class": [bem$1o("cancel"), HAPTICS_FEEDBACK],
2238
+ "class": [bem$1p("cancel"), HAPTICS_FEEDBACK],
2239
2239
  "onClick": onCancel
2240
2240
  }, [slots.cancel ? slots.cancel() : text]);
2241
2241
  };
@@ -2243,12 +2243,12 @@
2243
2243
  const text = props.confirmButtonText || t$k("confirm");
2244
2244
  return vue.createVNode("button", {
2245
2245
  "type": "button",
2246
- "class": [bem$1o("confirm"), HAPTICS_FEEDBACK],
2246
+ "class": [bem$1p("confirm"), HAPTICS_FEEDBACK],
2247
2247
  "onClick": onConfirm
2248
2248
  }, [slots.confirm ? slots.confirm() : text]);
2249
2249
  };
2250
2250
  return () => vue.createVNode("div", {
2251
- "class": bem$1o("toolbar")
2251
+ "class": bem$1p("toolbar")
2252
2252
  }, [slots.toolbar ? slots.toolbar() : [renderCancel(), renderTitle(), renderConfirm()]]);
2253
2253
  }
2254
2254
  });
@@ -2353,7 +2353,7 @@
2353
2353
  vue.onBeforeUnmount(unobserve);
2354
2354
  onMountedOrActivated(observe);
2355
2355
  }
2356
- const [name$1q, bem$1m] = createNamespace("sticky");
2356
+ const [name$1r, bem$1n] = createNamespace("sticky");
2357
2357
  const stickyProps = {
2358
2358
  zIndex: numericProp,
2359
2359
  position: makeStringProp("top"),
@@ -2361,8 +2361,8 @@
2361
2361
  offsetTop: makeNumericProp(0),
2362
2362
  offsetBottom: makeNumericProp(0)
2363
2363
  };
2364
- var stdin_default$1A = vue.defineComponent({
2365
- name: name$1q,
2364
+ var stdin_default$1B = vue.defineComponent({
2365
+ name: name$1r,
2366
2366
  props: stickyProps,
2367
2367
  emits: ["scroll", "change"],
2368
2368
  setup(props, {
@@ -2475,7 +2475,7 @@
2475
2475
  "ref": root,
2476
2476
  "style": rootStyle.value
2477
2477
  }, [vue.createVNode("div", {
2478
- "class": bem$1m({
2478
+ "class": bem$1n({
2479
2479
  fixed: state.fixed && !isReset.value
2480
2480
  }),
2481
2481
  "style": stickyStyle.value
@@ -2483,8 +2483,8 @@
2483
2483
  };
2484
2484
  }
2485
2485
  });
2486
- const Sticky = withInstall(stdin_default$1A);
2487
- const [name$1p, bem$1l] = createNamespace("swipe");
2486
+ const Sticky = withInstall(stdin_default$1B);
2487
+ const [name$1q, bem$1m] = createNamespace("swipe");
2488
2488
  const swipeProps = {
2489
2489
  loop: truthProp,
2490
2490
  width: numericProp,
@@ -2499,9 +2499,9 @@
2499
2499
  showIndicators: truthProp,
2500
2500
  stopPropagation: truthProp
2501
2501
  };
2502
- const SWIPE_KEY = Symbol(name$1p);
2503
- var stdin_default$1z = vue.defineComponent({
2504
- name: name$1p,
2502
+ const SWIPE_KEY = Symbol(name$1q);
2503
+ var stdin_default$1A = vue.defineComponent({
2504
+ name: name$1q,
2505
2505
  props: swipeProps,
2506
2506
  emits: ["change", "dragStart", "dragEnd"],
2507
2507
  setup(props, {
@@ -2779,7 +2779,7 @@
2779
2779
  } : void 0;
2780
2780
  return vue.createVNode("i", {
2781
2781
  "style": style,
2782
- "class": bem$1l("indicator", {
2782
+ "class": bem$1m("indicator", {
2783
2783
  active
2784
2784
  })
2785
2785
  }, null);
@@ -2793,7 +2793,7 @@
2793
2793
  }
2794
2794
  if (props.showIndicators && count.value > 1) {
2795
2795
  return vue.createVNode("div", {
2796
- "class": bem$1l("indicators", {
2796
+ "class": bem$1m("indicators", {
2797
2797
  vertical: props.vertical
2798
2798
  })
2799
2799
  }, [Array(count.value).fill("").map(renderDot)]);
@@ -2835,11 +2835,11 @@
2835
2835
  var _a;
2836
2836
  return vue.createVNode("div", {
2837
2837
  "ref": root,
2838
- "class": bem$1l()
2838
+ "class": bem$1m()
2839
2839
  }, [vue.createVNode("div", {
2840
2840
  "ref": track,
2841
2841
  "style": trackStyle.value,
2842
- "class": bem$1l("track", {
2842
+ "class": bem$1m("track", {
2843
2843
  vertical: props.vertical
2844
2844
  }),
2845
2845
  "onTouchstartPassive": onTouchStart,
@@ -2849,10 +2849,10 @@
2849
2849
  };
2850
2850
  }
2851
2851
  });
2852
- const Swipe = withInstall(stdin_default$1z);
2853
- const [name$1o, bem$1k] = createNamespace("tabs");
2854
- var stdin_default$1y = vue.defineComponent({
2855
- name: name$1o,
2852
+ const Swipe = withInstall(stdin_default$1A);
2853
+ const [name$1p, bem$1l] = createNamespace("tabs");
2854
+ var stdin_default$1z = vue.defineComponent({
2855
+ name: name$1p,
2856
2856
  props: {
2857
2857
  count: makeRequiredProp(Number),
2858
2858
  inited: Boolean,
@@ -2876,7 +2876,7 @@
2876
2876
  return vue.createVNode(Swipe, {
2877
2877
  "ref": swipeRef,
2878
2878
  "loop": false,
2879
- "class": bem$1k("track"),
2879
+ "class": bem$1l("track"),
2880
2880
  "duration": +props.duration * 1e3,
2881
2881
  "touchable": props.swipeable,
2882
2882
  "lazyRender": props.lazyRender,
@@ -2904,13 +2904,13 @@
2904
2904
  swipeRef
2905
2905
  });
2906
2906
  return () => vue.createVNode("div", {
2907
- "class": bem$1k("content", {
2907
+ "class": bem$1l("content", {
2908
2908
  animated: props.animated || props.swipeable
2909
2909
  })
2910
2910
  }, [renderChildren()]);
2911
2911
  }
2912
2912
  });
2913
- const [name$1n, bem$1j] = createNamespace("tabs");
2913
+ const [name$1o, bem$1k] = createNamespace("tabs");
2914
2914
  const tabsProps = {
2915
2915
  type: makeStringProp("line"),
2916
2916
  color: String,
@@ -2933,9 +2933,9 @@
2933
2933
  titleActiveColor: String,
2934
2934
  titleInactiveColor: String
2935
2935
  };
2936
- const TABS_KEY = Symbol(name$1n);
2937
- var stdin_default$1x = vue.defineComponent({
2938
- name: name$1n,
2936
+ const TABS_KEY = Symbol(name$1o);
2937
+ var stdin_default$1y = vue.defineComponent({
2938
+ name: name$1o,
2939
2939
  props: tabsProps,
2940
2940
  emits: ["change", "scroll", "rendered", "clickTab", "update:active"],
2941
2941
  setup(props, {
@@ -3133,7 +3133,7 @@
3133
3133
  const renderLine = () => {
3134
3134
  if (props.type === "line" && children.length) {
3135
3135
  return vue.createVNode("div", {
3136
- "class": bem$1j("line"),
3136
+ "class": bem$1k("line"),
3137
3137
  "style": state.lineStyle
3138
3138
  }, null);
3139
3139
  }
@@ -3147,13 +3147,13 @@
3147
3147
  } = props;
3148
3148
  const Header = [vue.createVNode("div", {
3149
3149
  "ref": sticky ? void 0 : wrapRef,
3150
- "class": [bem$1j("wrap"), {
3150
+ "class": [bem$1k("wrap"), {
3151
3151
  [BORDER_TOP_BOTTOM]: type === "line" && border
3152
3152
  }]
3153
3153
  }, [vue.createVNode("div", {
3154
3154
  "ref": navRef,
3155
3155
  "role": "tablist",
3156
- "class": bem$1j("nav", [type, {
3156
+ "class": bem$1k("nav", [type, {
3157
3157
  shrink: props.shrink,
3158
3158
  complete: scrollable.value
3159
3159
  }]),
@@ -3226,14 +3226,14 @@
3226
3226
  });
3227
3227
  return () => vue.createVNode("div", {
3228
3228
  "ref": root,
3229
- "class": bem$1j([props.type])
3229
+ "class": bem$1k([props.type])
3230
3230
  }, [props.sticky ? vue.createVNode(Sticky, {
3231
3231
  "container": root.value,
3232
3232
  "offsetTop": offsetTopPx.value,
3233
3233
  "onScroll": onStickyScroll
3234
3234
  }, {
3235
3235
  default: () => [renderHeader()]
3236
- }) : renderHeader(), vue.createVNode(stdin_default$1y, {
3236
+ }) : renderHeader(), vue.createVNode(stdin_default$1z, {
3237
3237
  "ref": contentRef,
3238
3238
  "count": children.length,
3239
3239
  "inited": state.inited,
@@ -3253,9 +3253,9 @@
3253
3253
  });
3254
3254
  const TAB_STATUS_KEY = Symbol();
3255
3255
  const useTabStatus = () => vue.inject(TAB_STATUS_KEY, null);
3256
- const [name$1m, bem$1i] = createNamespace("tab");
3256
+ const [name$1n, bem$1j] = createNamespace("tab");
3257
3257
  const TabTitle = vue.defineComponent({
3258
- name: name$1m,
3258
+ name: name$1n,
3259
3259
  props: {
3260
3260
  id: String,
3261
3261
  dot: Boolean,
@@ -3304,7 +3304,7 @@
3304
3304
  });
3305
3305
  const renderText = () => {
3306
3306
  const Text = vue.createVNode("span", {
3307
- "class": bem$1i("text", {
3307
+ "class": bem$1j("text", {
3308
3308
  ellipsis: !props.scrollable
3309
3309
  })
3310
3310
  }, [slots.title ? slots.title() : props.title]);
@@ -3322,7 +3322,7 @@
3322
3322
  return () => vue.createVNode("div", {
3323
3323
  "id": props.id,
3324
3324
  "role": "tab",
3325
- "class": [bem$1i([props.type, {
3325
+ "class": [bem$1j([props.type, {
3326
3326
  grow: props.scrollable && !props.shrink,
3327
3327
  shrink: props.shrink,
3328
3328
  active: props.isActive,
@@ -3336,9 +3336,9 @@
3336
3336
  }, [renderText()]);
3337
3337
  }
3338
3338
  });
3339
- const [name$1l, bem$1h] = createNamespace("swipe-item");
3340
- var stdin_default$1w = vue.defineComponent({
3341
- name: name$1l,
3339
+ const [name$1m, bem$1i] = createNamespace("swipe-item");
3340
+ var stdin_default$1x = vue.defineComponent({
3341
+ name: name$1m,
3342
3342
  setup(props, {
3343
3343
  slots
3344
3344
  }) {
@@ -3400,14 +3400,14 @@
3400
3400
  return () => {
3401
3401
  var _a;
3402
3402
  return vue.createVNode("div", {
3403
- "class": bem$1h(),
3403
+ "class": bem$1i(),
3404
3404
  "style": style.value
3405
3405
  }, [shouldRender.value ? (_a = slots.default) == null ? void 0 : _a.call(slots) : null]);
3406
3406
  };
3407
3407
  }
3408
3408
  });
3409
- const SwipeItem = withInstall(stdin_default$1w);
3410
- const [name$1k, bem$1g] = createNamespace("tab");
3409
+ const SwipeItem = withInstall(stdin_default$1x);
3410
+ const [name$1l, bem$1h] = createNamespace("tab");
3411
3411
  const tabProps = extend({}, routeProps, {
3412
3412
  dot: Boolean,
3413
3413
  name: numericProp,
@@ -3418,8 +3418,8 @@
3418
3418
  titleStyle: [String, Object],
3419
3419
  showZeroBadge: truthProp
3420
3420
  });
3421
- var stdin_default$1v = vue.defineComponent({
3422
- name: name$1k,
3421
+ var stdin_default$1w = vue.defineComponent({
3422
+ name: name$1l,
3423
3423
  props: tabProps,
3424
3424
  setup(props, {
3425
3425
  slots
@@ -3504,7 +3504,7 @@
3504
3504
  return vue.createVNode(SwipeItem, {
3505
3505
  "id": id,
3506
3506
  "role": "tabpanel",
3507
- "class": bem$1g("panel-wrapper", {
3507
+ "class": bem$1h("panel-wrapper", {
3508
3508
  inactive: hasInactiveClass.value
3509
3509
  }),
3510
3510
  "tabindex": active.value ? 0 : -1,
@@ -3514,7 +3514,7 @@
3514
3514
  default: () => {
3515
3515
  var _a2;
3516
3516
  return [vue.createVNode("div", {
3517
- "class": bem$1g("panel")
3517
+ "class": bem$1h("panel")
3518
3518
  }, [(_a2 = slots.default) == null ? void 0 : _a2.call(slots)])];
3519
3519
  }
3520
3520
  });
@@ -3524,24 +3524,24 @@
3524
3524
  return vue.withDirectives(vue.createVNode("div", {
3525
3525
  "id": id,
3526
3526
  "role": "tabpanel",
3527
- "class": bem$1g("panel"),
3527
+ "class": bem$1h("panel"),
3528
3528
  "tabindex": show ? 0 : -1,
3529
3529
  "aria-labelledby": label
3530
3530
  }, [Content]), [[vue.vShow, show]]);
3531
3531
  };
3532
3532
  }
3533
3533
  });
3534
- const Tab = withInstall(stdin_default$1v);
3535
- const Tabs = withInstall(stdin_default$1x);
3536
- const [name$1j, bem$1f] = createNamespace("picker-group");
3537
- const PICKER_GROUP_KEY = Symbol(name$1j);
3534
+ const Tab = withInstall(stdin_default$1w);
3535
+ const Tabs = withInstall(stdin_default$1y);
3536
+ const [name$1k, bem$1g] = createNamespace("picker-group");
3537
+ const PICKER_GROUP_KEY = Symbol(name$1k);
3538
3538
  const pickerGroupProps = extend({
3539
3539
  tabs: makeArrayProp(),
3540
3540
  activeTab: makeNumericProp(0),
3541
3541
  nextStepText: String
3542
3542
  }, pickerToolbarProps);
3543
- var stdin_default$1u = vue.defineComponent({
3544
- name: name$1j,
3543
+ var stdin_default$1v = vue.defineComponent({
3544
+ name: name$1k,
3545
3545
  props: pickerGroupProps,
3546
3546
  emits: ["confirm", "cancel", "update:activeTab"],
3547
3547
  setup(props, {
@@ -3568,8 +3568,8 @@
3568
3568
  const childNodes = (_a = slots.default) == null ? void 0 : _a.call(slots);
3569
3569
  const confirmButtonText = showNextButton() ? props.nextStepText : props.confirmButtonText;
3570
3570
  return vue.createVNode("div", {
3571
- "class": bem$1f()
3572
- }, [vue.createVNode(stdin_default$1B, {
3571
+ "class": bem$1g()
3572
+ }, [vue.createVNode(stdin_default$1C, {
3573
3573
  "title": props.title,
3574
3574
  "cancelButtonText": props.cancelButtonText,
3575
3575
  "confirmButtonText": confirmButtonText,
@@ -3578,14 +3578,14 @@
3578
3578
  }, pick(slots, pickerToolbarSlots)), vue.createVNode(Tabs, {
3579
3579
  "active": activeTab.value,
3580
3580
  "onUpdate:active": ($event) => activeTab.value = $event,
3581
- "class": bem$1f("tabs"),
3581
+ "class": bem$1g("tabs"),
3582
3582
  "shrink": true,
3583
3583
  "animated": true,
3584
3584
  "lazyRender": false
3585
3585
  }, {
3586
3586
  default: () => [props.tabs.map((title, index) => vue.createVNode(Tab, {
3587
3587
  "title": title,
3588
- "titleClass": bem$1f("tab-title")
3588
+ "titleClass": bem$1g("tab-title")
3589
3589
  }, {
3590
3590
  default: () => [childNodes == null ? void 0 : childNodes[index]]
3591
3591
  }))]
@@ -3608,8 +3608,8 @@
3608
3608
  toolbarPosition: makeStringProp("top"),
3609
3609
  columnsFieldNames: Object
3610
3610
  });
3611
- var stdin_default$1t = vue.defineComponent({
3612
- name: name$1t,
3611
+ var stdin_default$1u = vue.defineComponent({
3612
+ name: name$1u,
3613
3613
  props: pickerProps,
3614
3614
  emits: ["confirm", "cancel", "change", "scrollInto", "clickOption", "update:modelValue"],
3615
3615
  setup(props, {
@@ -3690,7 +3690,7 @@
3690
3690
  return params;
3691
3691
  };
3692
3692
  const cancel = () => emit("cancel", getEventParams());
3693
- const renderColumnItems = () => currentColumns.value.map((options, columnIndex) => vue.createVNode(stdin_default$1C, {
3693
+ const renderColumnItems = () => currentColumns.value.map((options, columnIndex) => vue.createVNode(stdin_default$1D, {
3694
3694
  "value": selectedValues.value[columnIndex],
3695
3695
  "fields": fields.value,
3696
3696
  "options": options,
@@ -3719,10 +3719,10 @@
3719
3719
  backgroundSize: `100% ${(wrapHeight - optionHeight.value) / 2}px`
3720
3720
  };
3721
3721
  return [vue.createVNode("div", {
3722
- "class": bem$1o("mask"),
3722
+ "class": bem$1p("mask"),
3723
3723
  "style": maskStyle
3724
3724
  }, null), vue.createVNode("div", {
3725
- "class": [BORDER_UNSET_TOP_BOTTOM, bem$1o("frame")],
3725
+ "class": [BORDER_UNSET_TOP_BOTTOM, bem$1p("frame")],
3726
3726
  "style": frameStyle
3727
3727
  }, null)];
3728
3728
  }
@@ -3734,13 +3734,13 @@
3734
3734
  };
3735
3735
  return vue.createVNode("div", {
3736
3736
  "ref": columnsRef,
3737
- "class": bem$1o("columns"),
3737
+ "class": bem$1p("columns"),
3738
3738
  "style": columnsStyle
3739
3739
  }, [renderColumnItems(), renderMask(wrapHeight)]);
3740
3740
  };
3741
3741
  const renderToolbar = () => {
3742
3742
  if (props.showToolbar && !parent) {
3743
- return vue.createVNode(stdin_default$1B, vue.mergeProps(pick(props, pickerToolbarPropKeys), {
3743
+ return vue.createVNode(stdin_default$1C, vue.mergeProps(pick(props, pickerToolbarPropKeys), {
3744
3744
  "onConfirm": confirm,
3745
3745
  "onCancel": cancel
3746
3746
  }), pick(slots, pickerToolbarSlots));
@@ -3783,9 +3783,9 @@
3783
3783
  return () => {
3784
3784
  var _a, _b;
3785
3785
  return vue.createVNode("div", {
3786
- "class": bem$1o()
3786
+ "class": bem$1p()
3787
3787
  }, [props.toolbarPosition === "top" ? renderToolbar() : null, props.loading ? vue.createVNode(Loading, {
3788
- "class": bem$1o("loading")
3788
+ "class": bem$1p("loading")
3789
3789
  }, null) : null, (_a = slots["columns-top"]) == null ? void 0 : _a.call(slots), renderColumns(), (_b = slots["columns-bottom"]) == null ? void 0 : _b.call(slots), props.toolbarPosition === "bottom" ? renderToolbar() : null]);
3790
3790
  };
3791
3791
  }
@@ -3876,9 +3876,9 @@
3876
3876
  }
3877
3877
  return options;
3878
3878
  }
3879
- const Picker = withInstall(stdin_default$1t);
3880
- const [name$1i, bem$1e] = createNamespace("area");
3881
- const areaProps = extend({}, pickerSharedProps, {
3879
+ const Picker = withInstall(stdin_default$1u);
3880
+ const [name$1j, bem$1f] = createNamespace("area");
3881
+ const areaProps = extend({}, pick(pickerSharedProps, INHERIT_PROPS), {
3882
3882
  modelValue: String,
3883
3883
  columnsNum: makeNumericProp(3),
3884
3884
  columnsPlaceholder: makeArrayProp(),
@@ -3887,8 +3887,8 @@
3887
3887
  default: () => ({})
3888
3888
  }
3889
3889
  });
3890
- var stdin_default$1s = vue.defineComponent({
3891
- name: name$1i,
3890
+ var stdin_default$1t = vue.defineComponent({
3891
+ name: name$1j,
3892
3892
  props: areaProps,
3893
3893
  emits: ["change", "confirm", "cancel", "update:modelValue"],
3894
3894
  setup(props, {
@@ -3935,7 +3935,7 @@
3935
3935
  "ref": picker,
3936
3936
  "modelValue": codes.value,
3937
3937
  "onUpdate:modelValue": ($event) => codes.value = $event,
3938
- "class": bem$1e(),
3938
+ "class": bem$1f(),
3939
3939
  "columns": columns.value,
3940
3940
  "onChange": onChange,
3941
3941
  "onCancel": onCancel,
@@ -3943,8 +3943,8 @@
3943
3943
  }, pick(props, INHERIT_PROPS)), pick(slots, INHERIT_SLOTS));
3944
3944
  }
3945
3945
  });
3946
- const Area = withInstall(stdin_default$1s);
3947
- const [name$1h, bem$1d] = createNamespace("cell");
3946
+ const Area = withInstall(stdin_default$1t);
3947
+ const [name$1i, bem$1e] = createNamespace("cell");
3948
3948
  const cellSharedProps = {
3949
3949
  tag: makeStringProp("div"),
3950
3950
  icon: String,
@@ -3968,8 +3968,8 @@
3968
3968
  }
3969
3969
  };
3970
3970
  const cellProps = extend({}, cellSharedProps, routeProps);
3971
- var stdin_default$1r = vue.defineComponent({
3972
- name: name$1h,
3971
+ var stdin_default$1s = vue.defineComponent({
3972
+ name: name$1i,
3973
3973
  props: cellProps,
3974
3974
  setup(props, {
3975
3975
  slots
@@ -3979,7 +3979,7 @@
3979
3979
  const showLabel = slots.label || isDef(props.label);
3980
3980
  if (showLabel) {
3981
3981
  return vue.createVNode("div", {
3982
- "class": [bem$1d("label"), props.labelClass]
3982
+ "class": [bem$1e("label"), props.labelClass]
3983
3983
  }, [slots.label ? slots.label() : props.label]);
3984
3984
  }
3985
3985
  };
@@ -3991,7 +3991,7 @@
3991
3991
  return;
3992
3992
  }
3993
3993
  return vue.createVNode("div", {
3994
- "class": [bem$1d("title"), props.titleClass],
3994
+ "class": [bem$1e("title"), props.titleClass],
3995
3995
  "style": props.titleStyle
3996
3996
  }, [titleSlot || vue.createVNode("span", null, [props.title]), renderLabel()]);
3997
3997
  }
@@ -4001,7 +4001,7 @@
4001
4001
  const hasValue = slot || isDef(props.value);
4002
4002
  if (hasValue) {
4003
4003
  return vue.createVNode("div", {
4004
- "class": [bem$1d("value"), props.valueClass]
4004
+ "class": [bem$1e("value"), props.valueClass]
4005
4005
  }, [slot ? slot() : vue.createVNode("span", null, [props.value])]);
4006
4006
  }
4007
4007
  };
@@ -4012,7 +4012,7 @@
4012
4012
  if (props.icon) {
4013
4013
  return vue.createVNode(Icon, {
4014
4014
  "name": props.icon,
4015
- "class": bem$1d("left-icon"),
4015
+ "class": bem$1e("left-icon"),
4016
4016
  "classPrefix": props.iconPrefix
4017
4017
  }, null);
4018
4018
  }
@@ -4025,7 +4025,7 @@
4025
4025
  const name2 = props.arrowDirection && props.arrowDirection !== "right" ? `arrow-${props.arrowDirection}` : "arrow";
4026
4026
  return vue.createVNode(Icon, {
4027
4027
  "name": name2,
4028
- "class": bem$1d("right-icon")
4028
+ "class": bem$1e("right-icon")
4029
4029
  }, null);
4030
4030
  }
4031
4031
  };
@@ -4050,7 +4050,7 @@
4050
4050
  classes[size] = !!size;
4051
4051
  }
4052
4052
  return vue.createVNode(tag, {
4053
- "class": bem$1d(classes),
4053
+ "class": bem$1e(classes),
4054
4054
  "role": clickable ? "button" : void 0,
4055
4055
  "tabindex": clickable ? 0 : void 0,
4056
4056
  "onClick": route2
@@ -4063,8 +4063,8 @@
4063
4063
  };
4064
4064
  }
4065
4065
  });
4066
- const Cell = withInstall(stdin_default$1r);
4067
- const [name$1g, bem$1c] = createNamespace("form");
4066
+ const Cell = withInstall(stdin_default$1s);
4067
+ const [name$1h, bem$1d] = createNamespace("form");
4068
4068
  const formProps = {
4069
4069
  colon: Boolean,
4070
4070
  disabled: Boolean,
@@ -4083,8 +4083,8 @@
4083
4083
  default: "onBlur"
4084
4084
  }
4085
4085
  };
4086
- var stdin_default$1q = vue.defineComponent({
4087
- name: name$1g,
4086
+ var stdin_default$1r = vue.defineComponent({
4087
+ name: name$1h,
4088
4088
  props: formProps,
4089
4089
  emits: ["submit", "failed"],
4090
4090
  setup(props, {
@@ -4210,13 +4210,13 @@
4210
4210
  return () => {
4211
4211
  var _a;
4212
4212
  return vue.createVNode("form", {
4213
- "class": bem$1c(),
4213
+ "class": bem$1d(),
4214
4214
  "onSubmit": onSubmit
4215
4215
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
4216
4216
  };
4217
4217
  }
4218
4218
  });
4219
- const Form = withInstall(stdin_default$1q);
4219
+ const Form = withInstall(stdin_default$1r);
4220
4220
  function isEmptyValue(value) {
4221
4221
  if (Array.isArray(value)) {
4222
4222
  return !value.length;
@@ -4305,7 +4305,7 @@
4305
4305
  function cutString(str, maxlength) {
4306
4306
  return [...str].slice(0, maxlength).join("");
4307
4307
  }
4308
- const [name$1f, bem$1b] = createNamespace("field");
4308
+ const [name$1g, bem$1c] = createNamespace("field");
4309
4309
  const fieldSharedProps = {
4310
4310
  id: String,
4311
4311
  name: String,
@@ -4352,8 +4352,8 @@
4352
4352
  default: null
4353
4353
  }
4354
4354
  });
4355
- var stdin_default$1p = vue.defineComponent({
4356
- name: name$1f,
4355
+ var stdin_default$1q = vue.defineComponent({
4356
+ name: name$1g,
4357
4357
  props: fieldProps,
4358
4358
  emits: ["blur", "focus", "clear", "keypress", "clickInput", "endValidate", "startValidate", "clickLeftIcon", "clickRightIcon", "update:modelValue"],
4359
4359
  setup(props, {
@@ -4627,7 +4627,7 @@
4627
4627
  const getInputId = () => props.id || `${id}-input`;
4628
4628
  const getValidationStatus = () => state.status;
4629
4629
  const renderInput = () => {
4630
- const controlClass = bem$1b("control", [getProp("inputAlign"), {
4630
+ const controlClass = bem$1c("control", [getProp("inputAlign"), {
4631
4631
  error: showError.value,
4632
4632
  custom: !!slots.input,
4633
4633
  "min-height": props.type === "textarea" && !props.autosize
@@ -4669,7 +4669,7 @@
4669
4669
  const leftIconSlot = slots["left-icon"];
4670
4670
  if (props.leftIcon || leftIconSlot) {
4671
4671
  return vue.createVNode("div", {
4672
- "class": bem$1b("left-icon"),
4672
+ "class": bem$1c("left-icon"),
4673
4673
  "onClick": onClickLeftIcon
4674
4674
  }, [leftIconSlot ? leftIconSlot() : vue.createVNode(Icon, {
4675
4675
  "name": props.leftIcon,
@@ -4681,7 +4681,7 @@
4681
4681
  const rightIconSlot = slots["right-icon"];
4682
4682
  if (props.rightIcon || rightIconSlot) {
4683
4683
  return vue.createVNode("div", {
4684
- "class": bem$1b("right-icon"),
4684
+ "class": bem$1c("right-icon"),
4685
4685
  "onClick": onClickRightIcon
4686
4686
  }, [rightIconSlot ? rightIconSlot() : vue.createVNode(Icon, {
4687
4687
  "name": props.rightIcon,
@@ -4693,9 +4693,9 @@
4693
4693
  if (props.showWordLimit && props.maxlength) {
4694
4694
  const count = getStringLength(getModelValue());
4695
4695
  return vue.createVNode("div", {
4696
- "class": bem$1b("word-limit")
4696
+ "class": bem$1c("word-limit")
4697
4697
  }, [vue.createVNode("span", {
4698
- "class": bem$1b("word-num")
4698
+ "class": bem$1c("word-num")
4699
4699
  }, [count]), vue.createTextVNode("/"), props.maxlength]);
4700
4700
  }
4701
4701
  };
@@ -4708,7 +4708,7 @@
4708
4708
  const slot = slots["error-message"];
4709
4709
  const errorMessageAlign = getProp("errorMessageAlign");
4710
4710
  return vue.createVNode("div", {
4711
- "class": bem$1b("error-message", errorMessageAlign)
4711
+ "class": bem$1c("error-message", errorMessageAlign)
4712
4712
  }, [slot ? slot({
4713
4713
  message
4714
4714
  }) : message]);
@@ -4736,13 +4736,13 @@
4736
4736
  }
4737
4737
  };
4738
4738
  const renderFieldBody = () => [vue.createVNode("div", {
4739
- "class": bem$1b("body")
4739
+ "class": bem$1c("body")
4740
4740
  }, [renderInput(), showClear.value && vue.createVNode(Icon, {
4741
4741
  "ref": clearIconRef,
4742
4742
  "name": props.clearIcon,
4743
- "class": bem$1b("clear")
4743
+ "class": bem$1c("clear")
4744
4744
  }, null), renderRightIcon(), slots.button && vue.createVNode("div", {
4745
- "class": bem$1b("button")
4745
+ "class": bem$1c("button")
4746
4746
  }, [slots.button()])]), renderWordLimit(), renderMessage()];
4747
4747
  useExpose({
4748
4748
  blur,
@@ -4786,7 +4786,7 @@
4786
4786
  };
4787
4787
  return vue.createVNode(Cell, {
4788
4788
  "size": props.size,
4789
- "class": bem$1b({
4789
+ "class": bem$1c({
4790
4790
  error: showError.value,
4791
4791
  disabled,
4792
4792
  [`label-${labelAlign}`]: labelAlign
@@ -4796,8 +4796,8 @@
4796
4796
  "isLink": props.isLink,
4797
4797
  "clickable": props.clickable,
4798
4798
  "titleStyle": labelStyle.value,
4799
- "valueClass": bem$1b("value"),
4800
- "titleClass": [bem$1b("label", [labelAlign, {
4799
+ "valueClass": bem$1c("value"),
4800
+ "titleClass": [bem$1c("label", [labelAlign, {
4801
4801
  required: props.required
4802
4802
  }]), props.labelClass],
4803
4803
  "arrowDirection": props.arrowDirection
@@ -4810,7 +4810,7 @@
4810
4810
  };
4811
4811
  }
4812
4812
  });
4813
- const Field = withInstall(stdin_default$1p);
4813
+ const Field = withInstall(stdin_default$1q);
4814
4814
  let lockCount = 0;
4815
4815
  function lockClick(lock) {
4816
4816
  if (lock) {
@@ -4825,7 +4825,7 @@
4825
4825
  }
4826
4826
  }
4827
4827
  }
4828
- const [name$1e, bem$1a] = createNamespace("toast");
4828
+ const [name$1f, bem$1b] = createNamespace("toast");
4829
4829
  const popupInheritProps = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay"];
4830
4830
  const toastProps = {
4831
4831
  icon: String,
@@ -4848,8 +4848,8 @@
4848
4848
  closeOnClick: Boolean,
4849
4849
  closeOnClickOverlay: Boolean
4850
4850
  };
4851
- var stdin_default$1o = vue.defineComponent({
4852
- name: name$1e,
4851
+ var stdin_default$1p = vue.defineComponent({
4852
+ name: name$1f,
4853
4853
  props: toastProps,
4854
4854
  emits: ["update:show"],
4855
4855
  setup(props, {
@@ -4885,13 +4885,13 @@
4885
4885
  return vue.createVNode(Icon, {
4886
4886
  "name": icon || type,
4887
4887
  "size": iconSize,
4888
- "class": bem$1a("icon"),
4888
+ "class": bem$1b("icon"),
4889
4889
  "classPrefix": iconPrefix
4890
4890
  }, null);
4891
4891
  }
4892
4892
  if (type === "loading") {
4893
4893
  return vue.createVNode(Loading, {
4894
- "class": bem$1a("loading"),
4894
+ "class": bem$1b("loading"),
4895
4895
  "size": iconSize,
4896
4896
  "type": loadingType
4897
4897
  }, null);
@@ -4904,16 +4904,16 @@
4904
4904
  } = props;
4905
4905
  if (slots.message) {
4906
4906
  return vue.createVNode("div", {
4907
- "class": bem$1a("text")
4907
+ "class": bem$1b("text")
4908
4908
  }, [slots.message()]);
4909
4909
  }
4910
4910
  if (isDef(message) && message !== "") {
4911
4911
  return type === "html" ? vue.createVNode("div", {
4912
4912
  "key": 0,
4913
- "class": bem$1a("text"),
4913
+ "class": bem$1b("text"),
4914
4914
  "innerHTML": String(message)
4915
4915
  }, null) : vue.createVNode("div", {
4916
- "class": bem$1a("text")
4916
+ "class": bem$1b("text")
4917
4917
  }, [message]);
4918
4918
  }
4919
4919
  };
@@ -4929,7 +4929,7 @@
4929
4929
  vue.onMounted(toggleClickable);
4930
4930
  vue.onUnmounted(toggleClickable);
4931
4931
  return () => vue.createVNode(Popup, vue.mergeProps({
4932
- "class": [bem$1a([props.position, props.wordBreak === "normal" ? "break-normal" : props.wordBreak, {
4932
+ "class": [bem$1b([props.position, props.wordBreak === "normal" ? "break-normal" : props.wordBreak, {
4933
4933
  [props.type]: !props.icon
4934
4934
  }]), props.className],
4935
4935
  "lockScroll": false,
@@ -5030,7 +5030,7 @@
5030
5030
  onClosed,
5031
5031
  "onUpdate:show": toggle
5032
5032
  };
5033
- return vue.createVNode(stdin_default$1o, vue.mergeProps(state, attrs), null);
5033
+ return vue.createVNode(stdin_default$1p, vue.mergeProps(state, attrs), null);
5034
5034
  };
5035
5035
  vue.watch(message, (val) => {
5036
5036
  state.message = val;
@@ -5100,8 +5100,8 @@
5100
5100
  const allowMultipleToast = (value = true) => {
5101
5101
  allowMultiple = value;
5102
5102
  };
5103
- const Toast = withInstall(stdin_default$1o);
5104
- const [name$1d, bem$19] = createNamespace("switch");
5103
+ const Toast = withInstall(stdin_default$1p);
5104
+ const [name$1e, bem$1a] = createNamespace("switch");
5105
5105
  const switchProps = {
5106
5106
  size: numericProp,
5107
5107
  loading: Boolean,
@@ -5118,8 +5118,8 @@
5118
5118
  default: false
5119
5119
  }
5120
5120
  };
5121
- var stdin_default$1n = vue.defineComponent({
5122
- name: name$1d,
5121
+ var stdin_default$1o = vue.defineComponent({
5122
+ name: name$1e,
5123
5123
  props: switchProps,
5124
5124
  emits: ["change", "update:modelValue"],
5125
5125
  setup(props, {
@@ -5138,7 +5138,7 @@
5138
5138
  if (props.loading) {
5139
5139
  const color = isChecked() ? props.activeColor : props.inactiveColor;
5140
5140
  return vue.createVNode(Loading, {
5141
- "class": bem$19("loading"),
5141
+ "class": bem$1a("loading"),
5142
5142
  "color": color
5143
5143
  }, null);
5144
5144
  }
@@ -5163,7 +5163,7 @@
5163
5163
  };
5164
5164
  return vue.createVNode("div", {
5165
5165
  "role": "switch",
5166
- "class": bem$19({
5166
+ "class": bem$1a({
5167
5167
  on: checked,
5168
5168
  loading,
5169
5169
  disabled
@@ -5173,16 +5173,16 @@
5173
5173
  "aria-checked": checked,
5174
5174
  "onClick": onClick
5175
5175
  }, [vue.createVNode("div", {
5176
- "class": bem$19("node")
5176
+ "class": bem$1a("node")
5177
5177
  }, [renderLoading()]), (_a = slots.background) == null ? void 0 : _a.call(slots)]);
5178
5178
  };
5179
5179
  }
5180
5180
  });
5181
- const Switch = withInstall(stdin_default$1n);
5182
- const [name$1c, bem$18] = createNamespace("address-edit-detail");
5181
+ const Switch = withInstall(stdin_default$1o);
5182
+ const [name$1d, bem$19] = createNamespace("address-edit-detail");
5183
5183
  const t$j = createNamespace("address-edit")[2];
5184
- var stdin_default$1m = vue.defineComponent({
5185
- name: name$1c,
5184
+ var stdin_default$1n = vue.defineComponent({
5185
+ name: name$1d,
5186
5186
  props: {
5187
5187
  show: Boolean,
5188
5188
  rows: numericProp,
@@ -5216,7 +5216,7 @@
5216
5216
  "icon": "location-o",
5217
5217
  "title": express.name,
5218
5218
  "label": express.address,
5219
- "class": bem$18("search-item"),
5219
+ "class": bem$19("search-item"),
5220
5220
  "border": false,
5221
5221
  "onClick": () => onSelect(express)
5222
5222
  }, null));
@@ -5230,7 +5230,7 @@
5230
5230
  "autosize": true,
5231
5231
  "clearable": true,
5232
5232
  "ref": field,
5233
- "class": bem$18(),
5233
+ "class": bem$19(),
5234
5234
  "rows": props.rows,
5235
5235
  "type": "textarea",
5236
5236
  "rules": props.rules,
@@ -5247,7 +5247,7 @@
5247
5247
  };
5248
5248
  }
5249
5249
  });
5250
- const [name$1b, bem$17, t$i] = createNamespace("address-edit");
5250
+ const [name$1c, bem$18, t$i] = createNamespace("address-edit");
5251
5251
  const DEFAULT_DATA = {
5252
5252
  name: "",
5253
5253
  tel: "",
@@ -5287,8 +5287,8 @@
5287
5287
  default: isMobile
5288
5288
  }
5289
5289
  };
5290
- var stdin_default$1l = vue.defineComponent({
5291
- name: name$1b,
5290
+ var stdin_default$1m = vue.defineComponent({
5291
+ name: name$1c,
5292
5292
  props: addressEditProps,
5293
5293
  emits: ["save", "focus", "delete", "clickArea", "changeArea", "changeDetail", "selectSearch", "changeDefault"],
5294
5294
  setup(props, {
@@ -5398,8 +5398,9 @@
5398
5398
  };
5399
5399
  return vue.withDirectives(vue.createVNode(Cell, {
5400
5400
  "center": true,
5401
+ "border": false,
5401
5402
  "title": t$i("defaultAddress"),
5402
- "class": bem$17("default")
5403
+ "class": bem$18("default")
5403
5404
  }, slots2), [[vue.vShow, !hideBottomFields.value]]);
5404
5405
  }
5405
5406
  };
@@ -5425,13 +5426,13 @@
5425
5426
  disableArea
5426
5427
  } = props;
5427
5428
  return vue.createVNode(Form, {
5428
- "class": bem$17(),
5429
+ "class": bem$18(),
5429
5430
  "onSubmit": onSave
5430
5431
  }, {
5431
5432
  default: () => {
5432
5433
  var _a;
5433
5434
  return [vue.createVNode("div", {
5434
- "class": bem$17("fields")
5435
+ "class": bem$18("fields")
5435
5436
  }, [vue.createVNode(Field, {
5436
5437
  "modelValue": data.name,
5437
5438
  "onUpdate:modelValue": ($event) => data.name = $event,
@@ -5462,7 +5463,7 @@
5462
5463
  emit("clickArea");
5463
5464
  showAreaPopup.value = !disableArea;
5464
5465
  }
5465
- }, null), [[vue.vShow, props.showArea]]), vue.createVNode(stdin_default$1m, {
5466
+ }, null), [[vue.vShow, props.showArea]]), vue.createVNode(stdin_default$1n, {
5466
5467
  "show": props.showDetail,
5467
5468
  "rows": props.detailRows,
5468
5469
  "rules": rules.value.addressDetail,
@@ -5476,19 +5477,19 @@
5476
5477
  "onInput": onChangeDetail,
5477
5478
  "onSelectSearch": (event) => emit("selectSearch", event)
5478
5479
  }, null), (_a = slots.default) == null ? void 0 : _a.call(slots)]), renderSetDefaultCell(), vue.withDirectives(vue.createVNode("div", {
5479
- "class": bem$17("buttons")
5480
+ "class": bem$18("buttons")
5480
5481
  }, [vue.createVNode(Button, {
5481
5482
  "block": true,
5482
5483
  "round": true,
5483
5484
  "type": "primary",
5484
5485
  "text": props.saveButtonText || t$i("save"),
5485
- "class": bem$17("button"),
5486
+ "class": bem$18("button"),
5486
5487
  "loading": props.isSaving,
5487
5488
  "nativeType": "submit"
5488
5489
  }, null), props.showDelete && vue.createVNode(Button, {
5489
5490
  "block": true,
5490
5491
  "round": true,
5491
- "class": bem$17("button"),
5492
+ "class": bem$18("button"),
5492
5493
  "loading": props.isDeleting,
5493
5494
  "text": props.deleteButtonText || t$i("delete"),
5494
5495
  "onClick": onDelete
@@ -5518,8 +5519,8 @@
5518
5519
  };
5519
5520
  }
5520
5521
  });
5521
- const AddressEdit = withInstall(stdin_default$1l);
5522
- const [name$1a, bem$16] = createNamespace("radio-group");
5522
+ const AddressEdit = withInstall(stdin_default$1m);
5523
+ const [name$1b, bem$17] = createNamespace("radio-group");
5523
5524
  const radioGroupProps = {
5524
5525
  disabled: Boolean,
5525
5526
  iconSize: numericProp,
@@ -5527,9 +5528,9 @@
5527
5528
  modelValue: unknownProp,
5528
5529
  checkedColor: String
5529
5530
  };
5530
- const RADIO_KEY = Symbol(name$1a);
5531
- var stdin_default$1k = vue.defineComponent({
5532
- name: name$1a,
5531
+ const RADIO_KEY = Symbol(name$1b);
5532
+ var stdin_default$1l = vue.defineComponent({
5533
+ name: name$1b,
5533
5534
  props: radioGroupProps,
5534
5535
  emits: ["change", "update:modelValue"],
5535
5536
  setup(props, {
@@ -5549,14 +5550,14 @@
5549
5550
  return () => {
5550
5551
  var _a;
5551
5552
  return vue.createVNode("div", {
5552
- "class": bem$16([props.direction]),
5553
+ "class": bem$17([props.direction]),
5553
5554
  "role": "radiogroup"
5554
5555
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
5555
5556
  };
5556
5557
  }
5557
5558
  });
5558
- const RadioGroup = withInstall(stdin_default$1k);
5559
- const [name$19, bem$15] = createNamespace("tag");
5559
+ const RadioGroup = withInstall(stdin_default$1l);
5560
+ const [name$1a, bem$16] = createNamespace("tag");
5560
5561
  const tagProps = {
5561
5562
  size: String,
5562
5563
  mark: Boolean,
@@ -5568,8 +5569,8 @@
5568
5569
  textColor: String,
5569
5570
  closeable: Boolean
5570
5571
  };
5571
- var stdin_default$1j = vue.defineComponent({
5572
- name: name$19,
5572
+ var stdin_default$1k = vue.defineComponent({
5573
+ name: name$1a,
5573
5574
  props: tagProps,
5574
5575
  emits: ["close"],
5575
5576
  setup(props, {
@@ -5612,12 +5613,12 @@
5612
5613
  }
5613
5614
  const CloseIcon = closeable && vue.createVNode(Icon, {
5614
5615
  "name": "cross",
5615
- "class": [bem$15("close"), HAPTICS_FEEDBACK],
5616
+ "class": [bem$16("close"), HAPTICS_FEEDBACK],
5616
5617
  "onClick": onClose
5617
5618
  }, null);
5618
5619
  return vue.createVNode("span", {
5619
5620
  "style": getStyle(),
5620
- "class": bem$15([classes, type])
5621
+ "class": bem$16([classes, type])
5621
5622
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots), CloseIcon]);
5622
5623
  };
5623
5624
  return () => vue.createVNode(vue.Transition, {
@@ -5627,7 +5628,7 @@
5627
5628
  });
5628
5629
  }
5629
5630
  });
5630
- const Tag = withInstall(stdin_default$1j);
5631
+ const Tag = withInstall(stdin_default$1k);
5631
5632
  const checkerProps = {
5632
5633
  name: unknownProp,
5633
5634
  shape: makeStringProp("round"),
@@ -5638,7 +5639,7 @@
5638
5639
  labelPosition: String,
5639
5640
  labelDisabled: Boolean
5640
5641
  };
5641
- var stdin_default$1i = vue.defineComponent({
5642
+ var stdin_default$1j = vue.defineComponent({
5642
5643
  props: extend({}, checkerProps, {
5643
5644
  bem: makeRequiredProp(Function),
5644
5645
  role: String,
@@ -5740,9 +5741,9 @@
5740
5741
  }
5741
5742
  });
5742
5743
  const radioProps = checkerProps;
5743
- const [name$18, bem$14] = createNamespace("radio");
5744
- var stdin_default$1h = vue.defineComponent({
5745
- name: name$18,
5744
+ const [name$19, bem$15] = createNamespace("radio");
5745
+ var stdin_default$1i = vue.defineComponent({
5746
+ name: name$19,
5746
5747
  props: checkerProps,
5747
5748
  emits: ["update:modelValue"],
5748
5749
  setup(props, {
@@ -5763,8 +5764,8 @@
5763
5764
  emit("update:modelValue", props.name);
5764
5765
  }
5765
5766
  };
5766
- return () => vue.createVNode(stdin_default$1i, vue.mergeProps({
5767
- "bem": bem$14,
5767
+ return () => vue.createVNode(stdin_default$1j, vue.mergeProps({
5768
+ "bem": bem$15,
5768
5769
  "role": "radio",
5769
5770
  "parent": parent,
5770
5771
  "checked": checked(),
@@ -5772,10 +5773,10 @@
5772
5773
  }, props), pick(slots, ["default", "icon"]));
5773
5774
  }
5774
5775
  });
5775
- const Radio = withInstall(stdin_default$1h);
5776
- const [name$17, bem$13] = createNamespace("address-item");
5777
- var stdin_default$1g = vue.defineComponent({
5778
- name: name$17,
5776
+ const Radio = withInstall(stdin_default$1i);
5777
+ const [name$18, bem$14] = createNamespace("address-item");
5778
+ var stdin_default$1h = vue.defineComponent({
5779
+ name: name$18,
5779
5780
  props: {
5780
5781
  address: makeRequiredProp(Object),
5781
5782
  disabled: Boolean,
@@ -5795,7 +5796,7 @@
5795
5796
  };
5796
5797
  const renderRightIcon = () => vue.createVNode(Icon, {
5797
5798
  "name": "edit",
5798
- "class": bem$13("edit"),
5799
+ "class": bem$14("edit"),
5799
5800
  "onClick": (event) => {
5800
5801
  event.stopPropagation();
5801
5802
  emit("edit");
@@ -5810,7 +5811,7 @@
5810
5811
  return vue.createVNode(Tag, {
5811
5812
  "type": "primary",
5812
5813
  "round": true,
5813
- "class": bem$13("tag")
5814
+ "class": bem$14("tag")
5814
5815
  }, {
5815
5816
  default: () => [props.defaultTagText]
5816
5817
  });
@@ -5823,9 +5824,9 @@
5823
5824
  switchable
5824
5825
  } = props;
5825
5826
  const Info = [vue.createVNode("div", {
5826
- "class": bem$13("name")
5827
+ "class": bem$14("name")
5827
5828
  }, [`${address.name} ${address.tel}`, renderTag()]), vue.createVNode("div", {
5828
- "class": bem$13("address")
5829
+ "class": bem$14("address")
5829
5830
  }, [address.address])];
5830
5831
  if (switchable && !disabled) {
5831
5832
  return vue.createVNode(Radio, {
@@ -5843,13 +5844,13 @@
5843
5844
  disabled
5844
5845
  } = props;
5845
5846
  return vue.createVNode("div", {
5846
- "class": bem$13({
5847
+ "class": bem$14({
5847
5848
  disabled
5848
5849
  }),
5849
5850
  "onClick": onClick
5850
5851
  }, [vue.createVNode(Cell, {
5851
5852
  "border": false,
5852
- "titleClass": bem$13("title")
5853
+ "titleClass": bem$14("title")
5853
5854
  }, {
5854
5855
  title: renderContent,
5855
5856
  "right-icon": renderRightIcon
@@ -5859,7 +5860,7 @@
5859
5860
  };
5860
5861
  }
5861
5862
  });
5862
- const [name$16, bem$12, t$h] = createNamespace("address-list");
5863
+ const [name$17, bem$13, t$h] = createNamespace("address-list");
5863
5864
  const addressListProps = {
5864
5865
  list: makeArrayProp(),
5865
5866
  modelValue: numericProp,
@@ -5869,8 +5870,8 @@
5869
5870
  addButtonText: String,
5870
5871
  defaultTagText: String
5871
5872
  };
5872
- var stdin_default$1f = vue.defineComponent({
5873
- name: name$16,
5873
+ var stdin_default$1g = vue.defineComponent({
5874
+ name: name$17,
5874
5875
  props: addressListProps,
5875
5876
  emits: ["add", "edit", "select", "clickItem", "editDisabled", "selectDisabled", "update:modelValue"],
5876
5877
  setup(props, {
@@ -5886,7 +5887,7 @@
5886
5887
  emit("update:modelValue", item.id);
5887
5888
  }
5888
5889
  };
5889
- return vue.createVNode(stdin_default$1g, {
5890
+ return vue.createVNode(stdin_default$1h, {
5890
5891
  "key": item.id,
5891
5892
  "address": item,
5892
5893
  "disabled": disabled,
@@ -5906,13 +5907,13 @@
5906
5907
  }
5907
5908
  };
5908
5909
  const renderBottom = () => vue.createVNode("div", {
5909
- "class": [bem$12("bottom"), "van-safe-area-bottom"]
5910
+ "class": [bem$13("bottom"), "van-safe-area-bottom"]
5910
5911
  }, [vue.createVNode(Button, {
5911
5912
  "round": true,
5912
5913
  "block": true,
5913
5914
  "type": "primary",
5914
5915
  "text": props.addButtonText || t$h("add"),
5915
- "class": bem$12("add"),
5916
+ "class": bem$13("add"),
5916
5917
  "onClick": () => emit("add")
5917
5918
  }, null)]);
5918
5919
  return () => {
@@ -5920,10 +5921,10 @@
5920
5921
  const List2 = renderList(props.list);
5921
5922
  const DisabledList = renderList(props.disabledList, true);
5922
5923
  const DisabledText = props.disabledText && vue.createVNode("div", {
5923
- "class": bem$12("disabled-text")
5924
+ "class": bem$13("disabled-text")
5924
5925
  }, [props.disabledText]);
5925
5926
  return vue.createVNode("div", {
5926
- "class": bem$12()
5927
+ "class": bem$13()
5927
5928
  }, [(_a = slots.top) == null ? void 0 : _a.call(slots), vue.createVNode(RadioGroup, {
5928
5929
  "modelValue": props.modelValue
5929
5930
  }, {
@@ -5932,7 +5933,7 @@
5932
5933
  };
5933
5934
  }
5934
5935
  });
5935
- const AddressList = withInstall(stdin_default$1f);
5936
+ const AddressList = withInstall(stdin_default$1g);
5936
5937
  const hasIntersectionObserver = inBrowser && "IntersectionObserver" in window && "IntersectionObserverEntry" in window && "intersectionRatio" in window.IntersectionObserverEntry.prototype;
5937
5938
  const modeType = {
5938
5939
  event: "event",
@@ -6085,7 +6086,7 @@
6085
6086
  this.caches.shift();
6086
6087
  }
6087
6088
  }
6088
- const [name$15, bem$11] = createNamespace("back-top");
6089
+ const [name$16, bem$12] = createNamespace("back-top");
6089
6090
  const backTopProps = {
6090
6091
  right: numericProp,
6091
6092
  bottom: numericProp,
@@ -6098,8 +6099,8 @@
6098
6099
  default: "body"
6099
6100
  }
6100
6101
  };
6101
- var stdin_default$1e = vue.defineComponent({
6102
- name: name$15,
6102
+ var stdin_default$1f = vue.defineComponent({
6103
+ name: name$16,
6103
6104
  inheritAttrs: false,
6104
6105
  props: backTopProps,
6105
6106
  emits: ["click"],
@@ -6154,28 +6155,158 @@
6154
6155
  vue.watch(() => props.target, updateTarget);
6155
6156
  return () => {
6156
6157
  const Content = vue.createVNode("div", vue.mergeProps({
6157
- "ref": root,
6158
- "class": bem$11({
6158
+ "ref": !props.teleport ? root : void 0,
6159
+ "class": bem$12({
6159
6160
  active: show.value
6160
6161
  }),
6161
6162
  "style": style.value,
6162
6163
  "onClick": onClick
6163
6164
  }, attrs), [slots.default ? slots.default() : vue.createVNode(Icon, {
6164
6165
  "name": "back-top",
6165
- "class": bem$11("icon")
6166
+ "class": bem$12("icon")
6166
6167
  }, null)]);
6167
6168
  if (props.teleport) {
6168
- return vue.createVNode(vue.Teleport, {
6169
+ return [vue.createVNode("div", {
6170
+ "ref": root,
6171
+ "class": bem$12("placeholder")
6172
+ }, null), vue.createVNode(vue.Teleport, {
6169
6173
  "to": props.teleport
6170
6174
  }, {
6171
6175
  default: () => [Content]
6172
- });
6176
+ })];
6173
6177
  }
6174
6178
  return Content;
6175
6179
  };
6176
6180
  }
6177
6181
  });
6178
- const BackTop = withInstall(stdin_default$1e);
6182
+ const BackTop = withInstall(stdin_default$1f);
6183
+ var __async = (__this, __arguments, generator) => {
6184
+ return new Promise((resolve, reject) => {
6185
+ var fulfilled = (value) => {
6186
+ try {
6187
+ step(generator.next(value));
6188
+ } catch (e) {
6189
+ reject(e);
6190
+ }
6191
+ };
6192
+ var rejected = (value) => {
6193
+ try {
6194
+ step(generator.throw(value));
6195
+ } catch (e) {
6196
+ reject(e);
6197
+ }
6198
+ };
6199
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
6200
+ step((generator = generator.apply(__this, __arguments)).next());
6201
+ });
6202
+ };
6203
+ const barrageProps = {
6204
+ top: makeNumericProp(10),
6205
+ rows: makeNumericProp(4),
6206
+ duration: makeNumericProp(4e3),
6207
+ autoPlay: truthProp,
6208
+ delay: makeNumberProp(300),
6209
+ modelValue: makeArrayProp()
6210
+ };
6211
+ const [name$15, bem$11] = createNamespace("barrage");
6212
+ var stdin_default$1e = vue.defineComponent({
6213
+ name: name$15,
6214
+ props: barrageProps,
6215
+ emits: ["update:modelValue"],
6216
+ setup(props, {
6217
+ emit,
6218
+ slots
6219
+ }) {
6220
+ const barrageWrapper = vue.ref();
6221
+ const className = bem$11("item");
6222
+ const total = vue.ref(0);
6223
+ const barrageItems = [];
6224
+ const createBarrageItem = (text, delay = props.delay) => {
6225
+ const item = document.createElement("span");
6226
+ item.className = className;
6227
+ item.innerText = String(text);
6228
+ item.style.animationDuration = `${props.duration}ms`;
6229
+ item.style.animationDelay = `${delay}ms`;
6230
+ item.style.animationName = "van-barrage";
6231
+ item.style.animationTimingFunction = "linear";
6232
+ return item;
6233
+ };
6234
+ const isInitBarrage = vue.ref(true);
6235
+ const isPlay = vue.ref(props.autoPlay);
6236
+ const appendBarrageItem = ({
6237
+ id,
6238
+ text
6239
+ }, i) => {
6240
+ var _a;
6241
+ const item = createBarrageItem(text, isInitBarrage.value ? i * props.delay : void 0);
6242
+ if (!props.autoPlay && isPlay.value === false) {
6243
+ item.style.animationPlayState = "paused";
6244
+ }
6245
+ (_a = barrageWrapper.value) == null ? void 0 : _a.append(item);
6246
+ total.value++;
6247
+ const top2 = (total.value - 1) % +props.rows * item.offsetHeight + +props.top;
6248
+ item.style.top = `${top2}px`;
6249
+ item.dataset.id = String(id);
6250
+ barrageItems.push(item);
6251
+ item.addEventListener("animationend", () => {
6252
+ emit("update:modelValue", [...props.modelValue].filter((v) => String(v.id) !== item.dataset.id));
6253
+ });
6254
+ };
6255
+ const updateBarrages = (newValue, oldValue) => {
6256
+ const map = new Map(oldValue.map((item) => [item.id, item]));
6257
+ newValue.forEach((item, i) => {
6258
+ if (map.has(item.id)) {
6259
+ map.delete(item.id);
6260
+ } else {
6261
+ appendBarrageItem(item, i);
6262
+ }
6263
+ });
6264
+ map.forEach((item) => {
6265
+ const index = barrageItems.findIndex((span) => span.dataset.id === String(item.id));
6266
+ if (index > -1) {
6267
+ barrageItems[index].remove();
6268
+ barrageItems.splice(index, 1);
6269
+ }
6270
+ });
6271
+ isInitBarrage.value = false;
6272
+ };
6273
+ vue.watch(() => props.modelValue.slice(), (newValue, oldValue) => updateBarrages(newValue != null ? newValue : [], oldValue != null ? oldValue : []), {
6274
+ deep: true
6275
+ });
6276
+ const rootStyle = vue.ref({});
6277
+ vue.onMounted(() => __async(this, null, function* () {
6278
+ var _a;
6279
+ rootStyle.value["--move-distance"] = `-${(_a = barrageWrapper.value) == null ? void 0 : _a.offsetWidth}px`;
6280
+ yield vue.nextTick();
6281
+ updateBarrages(props.modelValue, []);
6282
+ }));
6283
+ const play = () => {
6284
+ isPlay.value = true;
6285
+ barrageItems.forEach((item) => {
6286
+ item.style.animationPlayState = "running";
6287
+ });
6288
+ };
6289
+ const pause = () => {
6290
+ isPlay.value = false;
6291
+ barrageItems.forEach((item) => {
6292
+ item.style.animationPlayState = "paused";
6293
+ });
6294
+ };
6295
+ useExpose({
6296
+ play,
6297
+ pause
6298
+ });
6299
+ return () => {
6300
+ var _a;
6301
+ return vue.createVNode("div", {
6302
+ "class": bem$11(),
6303
+ "ref": barrageWrapper,
6304
+ "style": rootStyle.value
6305
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
6306
+ };
6307
+ }
6308
+ });
6309
+ const Barrage = withInstall(stdin_default$1e);
6179
6310
  const [name$14, bem$10, t$g] = createNamespace("calendar");
6180
6311
  const formatMonthTitle = (date) => t$g("monthTitle", date.getFullYear(), date.getMonth() + 1);
6181
6312
  function compareMonth(date1, date2) {
@@ -7337,6 +7468,7 @@
7337
7468
  }) {
7338
7469
  const tabs = vue.ref([]);
7339
7470
  const activeTab = vue.ref(0);
7471
+ const [selectedElementRefs, setSelectedElementRefs] = useRefs();
7340
7472
  const {
7341
7473
  text: textKey,
7342
7474
  value: valueKey,
@@ -7455,6 +7587,7 @@
7455
7587
  selected
7456
7588
  }) : vue.createVNode("span", null, [option[textKey]]);
7457
7589
  return vue.createVNode("li", {
7590
+ "ref": selected ? setSelectedElementRefs(tabIndex) : void 0,
7458
7591
  "role": "menuitemradio",
7459
7592
  "class": [bem$Z("option", {
7460
7593
  selected,
@@ -7511,7 +7644,18 @@
7511
7644
  }, {
7512
7645
  default: () => [tabs.value.map(renderTab)]
7513
7646
  });
7647
+ const scrollIntoView = (el) => {
7648
+ const scrollParent = el.parentElement;
7649
+ if (scrollParent) {
7650
+ scrollParent.scrollTop = el.offsetTop - (scrollParent.offsetHeight - el.offsetHeight) / 2;
7651
+ }
7652
+ };
7514
7653
  updateTabs();
7654
+ vue.watch(activeTab, (value) => {
7655
+ const el = selectedElementRefs.value[value];
7656
+ if (el)
7657
+ scrollIntoView(el);
7658
+ });
7515
7659
  vue.watch(() => props.options, updateTabs, {
7516
7660
  deep: true
7517
7661
  });
@@ -7695,7 +7839,7 @@
7695
7839
  checked
7696
7840
  });
7697
7841
  useCustomFieldValue(() => props.modelValue);
7698
- return () => vue.createVNode(stdin_default$1i, vue.mergeProps({
7842
+ return () => vue.createVNode(stdin_default$1j, vue.mergeProps({
7699
7843
  "bem": bem$W,
7700
7844
  "role": "checkbox",
7701
7845
  "parent": parent,
@@ -8199,7 +8343,7 @@
8199
8343
  }
8200
8344
  });
8201
8345
  const CollapseItem = withInstall(stdin_default$$);
8202
- const ConfigProvider = withInstall(stdin_default$1L);
8346
+ const ConfigProvider = withInstall(stdin_default$1M);
8203
8347
  const [name$R, bem$Q, t$e] = createNamespace("contact-card");
8204
8348
  const contactCardProps = {
8205
8349
  tel: String,
@@ -8364,7 +8508,7 @@
8364
8508
  const renderRightIcon = () => vue.createVNode(Radio, {
8365
8509
  "class": bem$O("radio"),
8366
8510
  "name": item.id,
8367
- "iconSize": 16
8511
+ "iconSize": 18
8368
8512
  }, null);
8369
8513
  const renderEditIcon = () => vue.createVNode(Icon, {
8370
8514
  "name": "edit",
@@ -9148,6 +9292,7 @@
9148
9292
  slots
9149
9293
  }) {
9150
9294
  const currentValues = vue.ref(props.modelValue);
9295
+ const updatedByExternalSources = vue.ref(false);
9151
9296
  const genYearOptions = () => {
9152
9297
  const minYear = props.minDate.getFullYear();
9153
9298
  const maxYear = props.maxDate.getFullYear();
@@ -9163,7 +9308,7 @@
9163
9308
  columnsType
9164
9309
  } = props;
9165
9310
  const index = columnsType.indexOf(type);
9166
- const value = currentValues.value[index];
9311
+ const value = updatedByExternalSources.value ? props.modelValue[index] : currentValues.value[index];
9167
9312
  if (value) {
9168
9313
  return +value;
9169
9314
  }
@@ -9206,11 +9351,13 @@
9206
9351
  emit("update:modelValue", newValues);
9207
9352
  }
9208
9353
  });
9209
- vue.watch(() => props.modelValue, (newValues) => {
9354
+ vue.watch(() => props.modelValue, (newValues, oldValues) => {
9355
+ updatedByExternalSources.value = isSameValue(oldValues, currentValues.value);
9210
9356
  newValues = formatValueRange(newValues, columns.value);
9211
9357
  if (!isSameValue(newValues, currentValues.value)) {
9212
9358
  currentValues.value = newValues;
9213
9359
  }
9360
+ updatedByExternalSources.value = false;
9214
9361
  }, {
9215
9362
  immediate: true
9216
9363
  });
@@ -9513,6 +9660,7 @@
9513
9660
  const dividerProps = {
9514
9661
  dashed: Boolean,
9515
9662
  hairline: truthProp,
9663
+ vertical: Boolean,
9516
9664
  contentPosition: makeStringProp("center")
9517
9665
  };
9518
9666
  var stdin_default$Q = vue.defineComponent({
@@ -9528,9 +9676,10 @@
9528
9676
  "class": bem$H({
9529
9677
  dashed: props.dashed,
9530
9678
  hairline: props.hairline,
9531
- [`content-${props.contentPosition}`]: !!slots.default
9679
+ vertical: props.vertical,
9680
+ [`content-${props.contentPosition}`]: !!slots.default && !props.vertical
9532
9681
  })
9533
- }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
9682
+ }, [!props.vertical && ((_a = slots.default) == null ? void 0 : _a.call(slots))]);
9534
9683
  };
9535
9684
  }
9536
9685
  });
@@ -10009,6 +10158,7 @@
10009
10158
  y: (touches[0].clientY + touches[1].clientY) / 2
10010
10159
  });
10011
10160
  const bem$C = createNamespace("image-preview")[1];
10161
+ const longImageRatio = 2.6;
10012
10162
  var stdin_default$L = vue.defineComponent({
10013
10163
  props: {
10014
10164
  src: String,
@@ -10031,21 +10181,14 @@
10031
10181
  moveY: 0,
10032
10182
  moving: false,
10033
10183
  zooming: false,
10034
- imageRatio: 0,
10035
- displayWidth: 0,
10036
- displayHeight: 0
10184
+ imageRatio: 0
10037
10185
  });
10038
10186
  const touch = useTouch();
10039
10187
  const imageRef = vue.ref();
10040
10188
  const swipeItem = vue.ref();
10041
- const vertical = vue.computed(() => {
10042
- const {
10043
- rootWidth,
10044
- rootHeight
10045
- } = props;
10046
- const rootRatio = rootHeight / rootWidth;
10047
- return state.imageRatio > rootRatio;
10048
- });
10189
+ const vertical = vue.ref(false);
10190
+ const isLongImage = vue.ref(false);
10191
+ let initialMoveY = 0;
10049
10192
  const imageStyle = vue.computed(() => {
10050
10193
  const {
10051
10194
  scale,
@@ -10057,7 +10200,7 @@
10057
10200
  const style = {
10058
10201
  transitionDuration: zooming || moving ? "0s" : ".3s"
10059
10202
  };
10060
- if (scale !== 1) {
10203
+ if (scale !== 1 || isLongImage.value) {
10061
10204
  style.transform = `matrix(${scale}, 0, 0, ${scale}, ${moveX}, ${moveY})`;
10062
10205
  }
10063
10206
  return style;
@@ -10102,7 +10245,7 @@
10102
10245
  state.moveY = clamp(moveY, -maxMoveY.value, maxMoveY.value);
10103
10246
  } else {
10104
10247
  state.moveX = 0;
10105
- state.moveY = 0;
10248
+ state.moveY = isLongImage.value ? initialMoveY : 0;
10106
10249
  }
10107
10250
  emit("scale", {
10108
10251
  scale,
@@ -10115,7 +10258,7 @@
10115
10258
  };
10116
10259
  const toggleScale = () => {
10117
10260
  const scale = state.scale > 1 ? 1 : 2;
10118
- setScale(scale, scale === 2 ? {
10261
+ setScale(scale, scale === 2 || isLongImage.value ? {
10119
10262
  x: touch.startX.value,
10120
10263
  y: touch.startY.value
10121
10264
  } : void 0);
@@ -10145,7 +10288,7 @@
10145
10288
  startMoveY = state.moveY;
10146
10289
  touchStartTime = Date.now();
10147
10290
  isImageMoved = false;
10148
- state.moving = fingerNum === 1 && state.scale !== 1;
10291
+ state.moving = fingerNum === 1 && (state.scale !== 1 || isLongImage.value);
10149
10292
  state.zooming = fingerNum === 2 && !offsetX.value;
10150
10293
  if (state.zooming) {
10151
10294
  startScale = state.scale;
@@ -10241,12 +10384,30 @@
10241
10384
  checkTap();
10242
10385
  touch.reset();
10243
10386
  };
10387
+ const resize = () => {
10388
+ const {
10389
+ rootWidth,
10390
+ rootHeight
10391
+ } = props;
10392
+ const rootRatio = rootHeight / rootWidth;
10393
+ const {
10394
+ imageRatio
10395
+ } = state;
10396
+ vertical.value = state.imageRatio > rootRatio && imageRatio < longImageRatio;
10397
+ isLongImage.value = state.imageRatio > rootRatio && imageRatio >= longImageRatio;
10398
+ if (isLongImage.value) {
10399
+ initialMoveY = (imageRatio * rootWidth - rootHeight) / 2;
10400
+ state.moveY = initialMoveY;
10401
+ }
10402
+ resetScale();
10403
+ };
10244
10404
  const onLoad = (event) => {
10245
10405
  const {
10246
10406
  naturalWidth,
10247
10407
  naturalHeight
10248
10408
  } = event.target;
10249
10409
  state.imageRatio = naturalHeight / naturalWidth;
10410
+ resize();
10250
10411
  };
10251
10412
  vue.watch(() => props.active, resetScale);
10252
10413
  vue.watch(() => props.show, (value) => {
@@ -10254,6 +10415,7 @@
10254
10415
  resetScale();
10255
10416
  }
10256
10417
  });
10418
+ vue.watch(() => [props.rootWidth, props.rootHeight], resize);
10257
10419
  useEventListener("touchmove", onTouchMove, {
10258
10420
  target: vue.computed(() => {
10259
10421
  var _a;
@@ -11805,7 +11967,7 @@
11805
11967
  }
11806
11968
  });
11807
11969
  const PasswordInput = withInstall(stdin_default$A);
11808
- const PickerGroup = withInstall(stdin_default$1u);
11970
+ const PickerGroup = withInstall(stdin_default$1v);
11809
11971
  function getWindow(node) {
11810
11972
  if (node == null) {
11811
11973
  return window;
@@ -13721,6 +13883,7 @@
13721
13883
  penColor: makeStringProp("#000"),
13722
13884
  lineWidth: makeNumberProp(3),
13723
13885
  clearButtonText: String,
13886
+ backgroundColor: makeStringProp(""),
13724
13887
  confirmButtonText: String
13725
13888
  };
13726
13889
  const hasCanvasSupport = () => {
@@ -13740,7 +13903,8 @@
13740
13903
  const state = vue.reactive({
13741
13904
  width: 0,
13742
13905
  height: 0,
13743
- ctx: null
13906
+ ctx: null,
13907
+ ratio: inBrowser$1 ? window.devicePixelRatio : 1
13744
13908
  });
13745
13909
  let canvasRect;
13746
13910
  const isRenderCanvas = inBrowser$1 ? hasCanvasSupport() : true;
@@ -13749,7 +13913,7 @@
13749
13913
  return false;
13750
13914
  }
13751
13915
  state.ctx.beginPath();
13752
- state.ctx.lineWidth = props.lineWidth;
13916
+ state.ctx.lineWidth = props.lineWidth * state.ratio;
13753
13917
  state.ctx.strokeStyle = props.penColor;
13754
13918
  canvasRect = useRect(canvasRef);
13755
13919
  emit("start");
@@ -13761,8 +13925,8 @@
13761
13925
  }
13762
13926
  preventDefault(event);
13763
13927
  const touch = event.touches[0];
13764
- const mouseX = touch.clientX - ((canvasRect == null ? void 0 : canvasRect.left) || 0);
13765
- const mouseY = touch.clientY - ((canvasRect == null ? void 0 : canvasRect.top) || 0);
13928
+ const mouseX = (touch.clientX - ((canvasRect == null ? void 0 : canvasRect.left) || 0)) * state.ratio;
13929
+ const mouseY = (touch.clientY - ((canvasRect == null ? void 0 : canvasRect.top) || 0)) * state.ratio;
13766
13930
  state.ctx.lineCap = "round";
13767
13931
  state.ctx.lineJoin = "round";
13768
13932
  (_a = state.ctx) == null ? void 0 : _a.lineTo(mouseX, mouseY);
@@ -13779,13 +13943,23 @@
13779
13943
  empty.height = canvas.height;
13780
13944
  return canvas.toDataURL() === empty.toDataURL();
13781
13945
  };
13946
+ const setCanvasBgColor = () => {
13947
+ if (state.ctx && props.backgroundColor) {
13948
+ state.ctx.fillStyle = props.backgroundColor;
13949
+ state.ctx.fillRect(0, 0, state.width, state.height);
13950
+ }
13951
+ };
13782
13952
  const submit = () => {
13953
+ var _a, _b;
13783
13954
  const canvas = canvasRef.value;
13784
13955
  if (!canvas) {
13785
13956
  return;
13786
13957
  }
13787
13958
  const isEmpty = isCanvasEmpty(canvas);
13788
- const image = isEmpty ? "" : canvas.toDataURL(`image/${props.type}`, props.type === "jpg" ? 0.9 : null);
13959
+ const image = isEmpty ? "" : ((_b = (_a = {
13960
+ jpg: () => canvas.toDataURL("image/jpeg", 0.8),
13961
+ jpeg: () => canvas.toDataURL("image/jpeg", 0.8)
13962
+ })[props.type]) == null ? void 0 : _b.call(_a)) || canvas.toDataURL(`image/${props.type}`);
13789
13963
  emit("submit", {
13790
13964
  image,
13791
13965
  canvas
@@ -13795,6 +13969,7 @@
13795
13969
  if (state.ctx) {
13796
13970
  state.ctx.clearRect(0, 0, state.width, state.height);
13797
13971
  state.ctx.closePath();
13972
+ setCanvasBgColor();
13798
13973
  }
13799
13974
  emit("clear");
13800
13975
  };
@@ -13802,8 +13977,11 @@
13802
13977
  var _a, _b, _c;
13803
13978
  if (isRenderCanvas) {
13804
13979
  state.ctx = (_a = canvasRef.value) == null ? void 0 : _a.getContext("2d");
13805
- state.width = ((_b = wrapRef.value) == null ? void 0 : _b.offsetWidth) || 0;
13806
- state.height = ((_c = wrapRef.value) == null ? void 0 : _c.offsetHeight) || 0;
13980
+ state.width = (((_b = wrapRef.value) == null ? void 0 : _b.offsetWidth) || 0) * state.ratio;
13981
+ state.height = (((_c = wrapRef.value) == null ? void 0 : _c.offsetHeight) || 0) * state.ratio;
13982
+ vue.nextTick(() => {
13983
+ setCanvasBgColor();
13984
+ });
13807
13985
  }
13808
13986
  });
13809
13987
  return () => vue.createVNode("div", {
@@ -15505,10 +15683,11 @@
15505
15683
  imageFit: String,
15506
15684
  lazyLoad: Boolean,
15507
15685
  deletable: Boolean,
15686
+ reupload: Boolean,
15508
15687
  previewSize: [Number, String, Array],
15509
15688
  beforeDelete: Function
15510
15689
  },
15511
- emits: ["delete", "preview"],
15690
+ emits: ["delete", "preview", "reupload"],
15512
15691
  setup(props, {
15513
15692
  emit,
15514
15693
  slots
@@ -15550,6 +15729,7 @@
15550
15729
  });
15551
15730
  };
15552
15731
  const onPreview = () => emit("preview");
15732
+ const onReupload = () => emit("reupload");
15553
15733
  const renderDeleteIcon = () => {
15554
15734
  if (props.deletable && props.item.status !== "uploading") {
15555
15735
  const slot = slots["preview-delete"];
@@ -15585,7 +15765,8 @@
15585
15765
  item,
15586
15766
  lazyLoad,
15587
15767
  imageFit,
15588
- previewSize
15768
+ previewSize,
15769
+ reupload
15589
15770
  } = props;
15590
15771
  if (isImageFile(item)) {
15591
15772
  return vue.createVNode(Image$1, {
@@ -15595,7 +15776,7 @@
15595
15776
  "width": Array.isArray(previewSize) ? previewSize[0] : previewSize,
15596
15777
  "height": Array.isArray(previewSize) ? previewSize[1] : previewSize,
15597
15778
  "lazyLoad": lazyLoad,
15598
- "onClick": onPreview
15779
+ "onClick": reupload ? onReupload : onPreview
15599
15780
  }, {
15600
15781
  default: renderCover
15601
15782
  });
@@ -15629,6 +15810,7 @@
15629
15810
  uploadIcon: makeStringProp("photograph"),
15630
15811
  uploadText: String,
15631
15812
  deletable: truthProp,
15813
+ reupload: Boolean,
15632
15814
  afterRead: Function,
15633
15815
  showUpload: truthProp,
15634
15816
  modelValue: makeArrayProp(),
@@ -15646,13 +15828,14 @@
15646
15828
  var stdin_default$5 = vue.defineComponent({
15647
15829
  name: name$1,
15648
15830
  props: uploaderProps,
15649
- emits: ["delete", "oversize", "clickUpload", "closePreview", "clickPreview", "update:modelValue"],
15831
+ emits: ["delete", "oversize", "clickUpload", "closePreview", "clickPreview", "clickReupload", "update:modelValue"],
15650
15832
  setup(props, {
15651
15833
  emit,
15652
15834
  slots
15653
15835
  }) {
15654
15836
  const inputRef = vue.ref();
15655
15837
  const urls = [];
15838
+ const reuploadIndex = vue.ref(-1);
15656
15839
  const getDetail = (index = props.modelValue.length) => ({
15657
15840
  name: props.name,
15658
15841
  index
@@ -15678,7 +15861,14 @@
15678
15861
  }
15679
15862
  }
15680
15863
  items = vue.reactive(items);
15681
- emit("update:modelValue", [...props.modelValue, ...toArray(items)]);
15864
+ if (reuploadIndex.value > -1) {
15865
+ const arr = [...props.modelValue];
15866
+ arr.splice(reuploadIndex.value, 1, items);
15867
+ emit("update:modelValue", arr);
15868
+ reuploadIndex.value = -1;
15869
+ } else {
15870
+ emit("update:modelValue", [...props.modelValue, ...toArray(items)]);
15871
+ }
15682
15872
  if (props.afterRead) {
15683
15873
  props.afterRead(items, getDetail());
15684
15874
  }
@@ -15779,15 +15969,20 @@
15779
15969
  emit("update:modelValue", fileList);
15780
15970
  emit("delete", item, getDetail(index));
15781
15971
  };
15972
+ const reuploadImage = (index) => {
15973
+ chooseFile();
15974
+ reuploadIndex.value = index;
15975
+ };
15782
15976
  const renderPreviewItem = (item, index) => {
15783
- const needPickData = ["imageFit", "deletable", "previewSize", "beforeDelete"];
15977
+ const needPickData = ["imageFit", "deletable", "reupload", "previewSize", "beforeDelete"];
15784
15978
  const previewData = extend(pick(props, needPickData), pick(item, needPickData, true));
15785
15979
  return vue.createVNode(stdin_default$6, vue.mergeProps({
15786
15980
  "item": item,
15787
15981
  "index": index,
15788
- "onClick": () => emit("clickPreview", item, getDetail(index)),
15982
+ "onClick": () => emit(props.reupload ? "clickReupload" : "clickPreview", item, getDetail(index)),
15789
15983
  "onDelete": () => deleteFile(item, index),
15790
- "onPreview": () => previewImage(item)
15984
+ "onPreview": () => previewImage(item),
15985
+ "onReupload": () => reuploadImage(index)
15791
15986
  }, pick(props, ["name", "lazyLoad"]), previewData), pick(slots, ["preview-cover", "preview-delete"]));
15792
15987
  };
15793
15988
  const renderPreviewList = () => {
@@ -15797,24 +15992,25 @@
15797
15992
  };
15798
15993
  const onClickUpload = (event) => emit("clickUpload", event);
15799
15994
  const renderUpload = () => {
15800
- if (props.modelValue.length >= +props.maxCount) {
15995
+ if (props.modelValue.length >= +props.maxCount && !props.reupload) {
15801
15996
  return;
15802
15997
  }
15998
+ const hideUploader = props.modelValue.length >= +props.maxCount && props.reupload;
15803
15999
  const Input = props.readonly ? null : vue.createVNode("input", {
15804
16000
  "ref": inputRef,
15805
16001
  "type": "file",
15806
16002
  "class": bem$1("input"),
15807
16003
  "accept": props.accept,
15808
16004
  "capture": props.capture,
15809
- "multiple": props.multiple,
16005
+ "multiple": props.multiple && reuploadIndex.value === -1,
15810
16006
  "disabled": props.disabled,
15811
16007
  "onChange": onChange
15812
16008
  }, null);
15813
16009
  if (slots.default) {
15814
- return vue.createVNode("div", {
16010
+ return vue.withDirectives(vue.createVNode("div", {
15815
16011
  "class": bem$1("input-wrapper"),
15816
16012
  "onClick": onClickUpload
15817
- }, [slots.default(), Input]);
16013
+ }, [slots.default(), Input]), [[vue.vShow, !hideUploader]]);
15818
16014
  }
15819
16015
  return vue.withDirectives(vue.createVNode("div", {
15820
16016
  "class": bem$1("upload", {
@@ -15827,7 +16023,7 @@
15827
16023
  "class": bem$1("upload-icon")
15828
16024
  }, null), props.uploadText && vue.createVNode("span", {
15829
16025
  "class": bem$1("upload-text")
15830
- }, [props.uploadText]), Input]), [[vue.vShow, props.showUpload]]);
16026
+ }, [props.uploadText]), Input]), [[vue.vShow, props.showUpload && !hideUploader]]);
15831
16027
  };
15832
16028
  const chooseFile = () => {
15833
16029
  if (inputRef.value && !props.disabled) {
@@ -16837,7 +17033,7 @@
16837
17033
  });
16838
17034
  }
16839
17035
  };
16840
- const version = "4.3.2";
17036
+ const version = "4.4.0";
16841
17037
  function install(app) {
16842
17038
  const components = [
16843
17039
  ActionBar,
@@ -16849,6 +17045,7 @@
16849
17045
  Area,
16850
17046
  BackTop,
16851
17047
  Badge,
17048
+ Barrage,
16852
17049
  Button,
16853
17050
  Calendar,
16854
17051
  Card,
@@ -16958,6 +17155,7 @@
16958
17155
  exports2.Area = Area;
16959
17156
  exports2.BackTop = BackTop;
16960
17157
  exports2.Badge = Badge;
17158
+ exports2.Barrage = Barrage;
16961
17159
  exports2.Button = Button;
16962
17160
  exports2.Calendar = Calendar;
16963
17161
  exports2.Card = Card;
@@ -17057,6 +17255,7 @@
17057
17255
  exports2.areaProps = areaProps;
17058
17256
  exports2.backTopProps = backTopProps;
17059
17257
  exports2.badgeProps = badgeProps;
17258
+ exports2.barrageProps = barrageProps;
17060
17259
  exports2.buttonProps = buttonProps;
17061
17260
  exports2.calendarProps = calendarProps;
17062
17261
  exports2.cardProps = cardProps;