vant 4.9.0 → 4.9.2

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 (80) hide show
  1. package/README.md +5 -4
  2. package/es/action-bar-button/ActionBarButton.d.ts +3 -3
  3. package/es/action-bar-button/index.d.ts +2 -2
  4. package/es/action-bar-icon/ActionBarIcon.d.ts +3 -3
  5. package/es/action-bar-icon/index.d.ts +2 -2
  6. package/es/address-list/AddressList.d.ts +13 -13
  7. package/es/address-list/AddressList.mjs +20 -4
  8. package/es/address-list/AddressListItem.d.ts +3 -0
  9. package/es/address-list/AddressListItem.mjs +19 -7
  10. package/es/address-list/index.d.ts +2 -2
  11. package/es/address-list/style/index.mjs +1 -0
  12. package/es/area/utils.mjs +3 -3
  13. package/es/button/Button.d.ts +3 -3
  14. package/es/button/index.d.ts +2 -2
  15. package/es/card/Card.mjs +3 -3
  16. package/es/cell/Cell.d.ts +3 -3
  17. package/es/cell/index.d.ts +2 -2
  18. package/es/composables/use-route.d.ts +1 -2
  19. package/es/floating-panel/FloatingPanel.mjs +11 -5
  20. package/es/form/Form.d.ts +3 -0
  21. package/es/form/Form.mjs +9 -2
  22. package/es/form/index.d.ts +2 -0
  23. package/es/grid-item/GridItem.d.ts +3 -3
  24. package/es/grid-item/index.d.ts +2 -2
  25. package/es/index.d.ts +1 -1
  26. package/es/index.mjs +1 -1
  27. package/es/notify/types.d.ts +3 -0
  28. package/es/sidebar-item/SidebarItem.d.ts +3 -3
  29. package/es/sidebar-item/index.d.ts +2 -2
  30. package/es/stepper/Stepper.mjs +1 -0
  31. package/es/tab/Tab.d.ts +3 -3
  32. package/es/tab/index.d.ts +2 -2
  33. package/es/tabbar-item/TabbarItem.d.ts +3 -3
  34. package/es/tabbar-item/index.d.ts +2 -2
  35. package/es/tabs/index.css +1 -1
  36. package/es/tabs/utils.mjs +3 -1
  37. package/es/uploader/index.d.ts +1 -1
  38. package/lib/action-bar-button/ActionBarButton.d.ts +3 -3
  39. package/lib/action-bar-button/index.d.ts +2 -2
  40. package/lib/action-bar-icon/ActionBarIcon.d.ts +3 -3
  41. package/lib/action-bar-icon/index.d.ts +2 -2
  42. package/lib/address-list/AddressList.d.ts +13 -13
  43. package/lib/address-list/AddressList.js +19 -3
  44. package/lib/address-list/AddressListItem.d.ts +3 -0
  45. package/lib/address-list/AddressListItem.js +19 -7
  46. package/lib/address-list/index.d.ts +2 -2
  47. package/lib/address-list/style/index.js +1 -0
  48. package/lib/area/utils.js +3 -3
  49. package/lib/button/Button.d.ts +3 -3
  50. package/lib/button/index.d.ts +2 -2
  51. package/lib/card/Card.js +2 -2
  52. package/lib/cell/Cell.d.ts +3 -3
  53. package/lib/cell/index.d.ts +2 -2
  54. package/lib/composables/use-route.d.ts +1 -2
  55. package/lib/floating-panel/FloatingPanel.js +11 -5
  56. package/lib/form/Form.d.ts +3 -0
  57. package/lib/form/Form.js +9 -2
  58. package/lib/form/index.d.ts +2 -0
  59. package/lib/grid-item/GridItem.d.ts +3 -3
  60. package/lib/grid-item/index.d.ts +2 -2
  61. package/lib/index.css +1 -1
  62. package/lib/index.d.ts +1 -1
  63. package/lib/index.js +1 -1
  64. package/lib/notify/types.d.ts +3 -0
  65. package/lib/sidebar-item/SidebarItem.d.ts +3 -3
  66. package/lib/sidebar-item/index.d.ts +2 -2
  67. package/lib/stepper/Stepper.js +1 -0
  68. package/lib/tab/Tab.d.ts +3 -3
  69. package/lib/tab/index.d.ts +2 -2
  70. package/lib/tabbar-item/TabbarItem.d.ts +3 -3
  71. package/lib/tabbar-item/index.d.ts +2 -2
  72. package/lib/tabs/index.css +1 -1
  73. package/lib/tabs/utils.js +3 -1
  74. package/lib/uploader/index.d.ts +1 -1
  75. package/lib/vant.cjs.js +342 -300
  76. package/lib/vant.es.js +342 -300
  77. package/lib/vant.js +344 -302
  78. package/lib/vant.min.js +3 -3
  79. package/lib/web-types.json +1 -1
  80. package/package.json +15 -15
package/lib/vant.cjs.js CHANGED
@@ -1985,11 +1985,13 @@ function scrollLeftTo(scroller, to, duration) {
1985
1985
  let count = 0;
1986
1986
  const from = scroller.scrollLeft;
1987
1987
  const frames = duration === 0 ? 1 : Math.round(duration * 1e3 / 16);
1988
+ let scrollLeft = from;
1988
1989
  function cancel() {
1989
1990
  use.cancelRaf(rafId);
1990
1991
  }
1991
1992
  function animate() {
1992
- scroller.scrollLeft += (to - from) / frames;
1993
+ scrollLeft += (to - from) / frames;
1994
+ scroller.scrollLeft = scrollLeft;
1993
1995
  if (++count < frames) {
1994
1996
  rafId = use.raf(animate);
1995
1997
  }
@@ -3571,9 +3573,9 @@ function formatDataForCascade({
3571
3573
  const showCounty = +columnsNum > 2;
3572
3574
  const getProvinceChildren = () => {
3573
3575
  if (showCity) {
3574
- return placeholder.length ? [
3576
+ return placeholder.length > 1 ? [
3575
3577
  makeOption(
3576
- placeholder[0],
3578
+ placeholder[1],
3577
3579
  AREA_EMPTY_CODE,
3578
3580
  showCounty ? [] : void 0
3579
3581
  )
@@ -3591,7 +3593,7 @@ function formatDataForCascade({
3591
3593
  if (showCity) {
3592
3594
  const getCityChildren = () => {
3593
3595
  if (showCounty) {
3594
- return placeholder.length ? [makeOption(placeholder[1])] : [];
3596
+ return placeholder.length > 2 ? [makeOption(placeholder[2])] : [];
3595
3597
  }
3596
3598
  };
3597
3599
  Object.keys(city).forEach((code) => {
@@ -3821,6 +3823,7 @@ const formProps = {
3821
3823
  labelAlign: String,
3822
3824
  inputAlign: String,
3823
3825
  scrollToError: Boolean,
3826
+ scrollToErrorPosition: String,
3824
3827
  validateFirst: Boolean,
3825
3828
  submitOnEnter: truthProp,
3826
3829
  showErrorMessage: truthProp,
@@ -3934,8 +3937,14 @@ var stdin_default$1w = vue.defineComponent({
3934
3937
  values,
3935
3938
  errors
3936
3939
  });
3937
- if (props2.scrollToError && errors[0].name) {
3938
- scrollToField(errors[0].name);
3940
+ const {
3941
+ scrollToError,
3942
+ scrollToErrorPosition
3943
+ } = props2;
3944
+ if (scrollToError && errors[0].name) {
3945
+ scrollToField(errors[0].name, scrollToErrorPosition ? {
3946
+ block: scrollToErrorPosition
3947
+ } : void 0);
3939
3948
  }
3940
3949
  });
3941
3950
  };
@@ -5329,7 +5338,71 @@ var stdin_default$1q = vue.defineComponent({
5329
5338
  }
5330
5339
  });
5331
5340
  const RadioGroup = withInstall(stdin_default$1q);
5332
- const [name$1f, bem$1b] = createNamespace("tag");
5341
+ const [name$1f, bem$1b] = createNamespace("checkbox-group");
5342
+ const checkboxGroupProps = {
5343
+ max: numericProp,
5344
+ shape: makeStringProp("round"),
5345
+ disabled: Boolean,
5346
+ iconSize: numericProp,
5347
+ direction: String,
5348
+ modelValue: makeArrayProp(),
5349
+ checkedColor: String
5350
+ };
5351
+ const CHECKBOX_GROUP_KEY = Symbol(name$1f);
5352
+ var stdin_default$1p = vue.defineComponent({
5353
+ name: name$1f,
5354
+ props: checkboxGroupProps,
5355
+ emits: ["change", "update:modelValue"],
5356
+ setup(props2, {
5357
+ emit,
5358
+ slots
5359
+ }) {
5360
+ const {
5361
+ children,
5362
+ linkChildren
5363
+ } = use.useChildren(CHECKBOX_GROUP_KEY);
5364
+ const updateValue = (value) => emit("update:modelValue", value);
5365
+ const toggleAll = (options = {}) => {
5366
+ if (typeof options === "boolean") {
5367
+ options = {
5368
+ checked: options
5369
+ };
5370
+ }
5371
+ const {
5372
+ checked,
5373
+ skipDisabled
5374
+ } = options;
5375
+ const checkedChildren = children.filter((item) => {
5376
+ if (!item.props.bindGroup) {
5377
+ return false;
5378
+ }
5379
+ if (item.props.disabled && skipDisabled) {
5380
+ return item.checked.value;
5381
+ }
5382
+ return checked != null ? checked : !item.checked.value;
5383
+ });
5384
+ const names = checkedChildren.map((item) => item.name);
5385
+ updateValue(names);
5386
+ };
5387
+ vue.watch(() => props2.modelValue, (value) => emit("change", value));
5388
+ useExpose({
5389
+ toggleAll
5390
+ });
5391
+ use.useCustomFieldValue(() => props2.modelValue);
5392
+ linkChildren({
5393
+ props: props2,
5394
+ updateValue
5395
+ });
5396
+ return () => {
5397
+ var _a;
5398
+ return vue.createVNode("div", {
5399
+ "class": bem$1b([props2.direction])
5400
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
5401
+ };
5402
+ }
5403
+ });
5404
+ const CheckboxGroup = withInstall(stdin_default$1p);
5405
+ const [name$1e, bem$1a] = createNamespace("tag");
5333
5406
  const tagProps = {
5334
5407
  size: String,
5335
5408
  mark: Boolean,
@@ -5341,8 +5414,8 @@ const tagProps = {
5341
5414
  textColor: String,
5342
5415
  closeable: Boolean
5343
5416
  };
5344
- var stdin_default$1p = vue.defineComponent({
5345
- name: name$1f,
5417
+ var stdin_default$1o = vue.defineComponent({
5418
+ name: name$1e,
5346
5419
  props: tagProps,
5347
5420
  emits: ["close"],
5348
5421
  setup(props2, {
@@ -5385,12 +5458,12 @@ var stdin_default$1p = vue.defineComponent({
5385
5458
  }
5386
5459
  const CloseIcon = closeable && vue.createVNode(Icon, {
5387
5460
  "name": "cross",
5388
- "class": [bem$1b("close"), HAPTICS_FEEDBACK],
5461
+ "class": [bem$1a("close"), HAPTICS_FEEDBACK],
5389
5462
  "onClick": onClose
5390
5463
  }, null);
5391
5464
  return vue.createVNode("span", {
5392
5465
  "style": getStyle(),
5393
- "class": bem$1b([classes, type])
5466
+ "class": bem$1a([classes, type])
5394
5467
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots), CloseIcon]);
5395
5468
  };
5396
5469
  return () => vue.createVNode(vue.Transition, {
@@ -5400,7 +5473,7 @@ var stdin_default$1p = vue.defineComponent({
5400
5473
  });
5401
5474
  }
5402
5475
  });
5403
- const Tag = withInstall(stdin_default$1p);
5476
+ const Tag = withInstall(stdin_default$1o);
5404
5477
  const checkerProps = {
5405
5478
  name: unknownProp,
5406
5479
  disabled: Boolean,
@@ -5410,7 +5483,7 @@ const checkerProps = {
5410
5483
  labelPosition: String,
5411
5484
  labelDisabled: Boolean
5412
5485
  };
5413
- var stdin_default$1o = vue.defineComponent({
5486
+ var stdin_default$1n = vue.defineComponent({
5414
5487
  props: extend({}, checkerProps, {
5415
5488
  bem: makeRequiredProp(Function),
5416
5489
  role: String,
@@ -5539,9 +5612,9 @@ var stdin_default$1o = vue.defineComponent({
5539
5612
  const radioProps = extend({}, checkerProps, {
5540
5613
  shape: String
5541
5614
  });
5542
- const [name$1e, bem$1a] = createNamespace("radio");
5543
- var stdin_default$1n = vue.defineComponent({
5544
- name: name$1e,
5615
+ const [name$1d, bem$19] = createNamespace("radio");
5616
+ var stdin_default$1m = vue.defineComponent({
5617
+ name: name$1d,
5545
5618
  props: radioProps,
5546
5619
  emits: ["update:modelValue"],
5547
5620
  setup(props2, {
@@ -5562,8 +5635,8 @@ var stdin_default$1n = vue.defineComponent({
5562
5635
  emit("update:modelValue", props2.name);
5563
5636
  }
5564
5637
  };
5565
- return () => vue.createVNode(stdin_default$1o, vue.mergeProps({
5566
- "bem": bem$1a,
5638
+ return () => vue.createVNode(stdin_default$1n, vue.mergeProps({
5639
+ "bem": bem$19,
5567
5640
  "role": "radio",
5568
5641
  "parent": parent,
5569
5642
  "checked": checked(),
@@ -5571,14 +5644,97 @@ var stdin_default$1n = vue.defineComponent({
5571
5644
  }, props2), pick(slots, ["default", "icon"]));
5572
5645
  }
5573
5646
  });
5574
- const Radio = withInstall(stdin_default$1n);
5575
- const [name$1d, bem$19] = createNamespace("address-item");
5576
- var stdin_default$1m = vue.defineComponent({
5577
- name: name$1d,
5647
+ const Radio = withInstall(stdin_default$1m);
5648
+ const [name$1c, bem$18] = createNamespace("checkbox");
5649
+ const checkboxProps = extend({}, checkerProps, {
5650
+ shape: String,
5651
+ bindGroup: truthProp,
5652
+ indeterminate: {
5653
+ type: Boolean,
5654
+ default: null
5655
+ }
5656
+ });
5657
+ var stdin_default$1l = vue.defineComponent({
5658
+ name: name$1c,
5659
+ props: checkboxProps,
5660
+ emits: ["change", "update:modelValue"],
5661
+ setup(props2, {
5662
+ emit,
5663
+ slots
5664
+ }) {
5665
+ const {
5666
+ parent
5667
+ } = use.useParent(CHECKBOX_GROUP_KEY);
5668
+ const setParentValue = (checked2) => {
5669
+ const {
5670
+ name: name2
5671
+ } = props2;
5672
+ const {
5673
+ max,
5674
+ modelValue
5675
+ } = parent.props;
5676
+ const value = modelValue.slice();
5677
+ if (checked2) {
5678
+ const overlimit = max && value.length >= +max;
5679
+ if (!overlimit && !value.includes(name2)) {
5680
+ value.push(name2);
5681
+ if (props2.bindGroup) {
5682
+ parent.updateValue(value);
5683
+ }
5684
+ }
5685
+ } else {
5686
+ const index = value.indexOf(name2);
5687
+ if (index !== -1) {
5688
+ value.splice(index, 1);
5689
+ if (props2.bindGroup) {
5690
+ parent.updateValue(value);
5691
+ }
5692
+ }
5693
+ }
5694
+ };
5695
+ const checked = vue.computed(() => {
5696
+ if (parent && props2.bindGroup) {
5697
+ return parent.props.modelValue.indexOf(props2.name) !== -1;
5698
+ }
5699
+ return !!props2.modelValue;
5700
+ });
5701
+ const toggle = (newValue = !checked.value) => {
5702
+ if (parent && props2.bindGroup) {
5703
+ setParentValue(newValue);
5704
+ } else {
5705
+ emit("update:modelValue", newValue);
5706
+ }
5707
+ if (props2.indeterminate !== null)
5708
+ emit("change", newValue);
5709
+ };
5710
+ vue.watch(() => props2.modelValue, (value) => {
5711
+ if (props2.indeterminate === null)
5712
+ emit("change", value);
5713
+ });
5714
+ useExpose({
5715
+ toggle,
5716
+ props: props2,
5717
+ checked
5718
+ });
5719
+ use.useCustomFieldValue(() => props2.modelValue);
5720
+ return () => vue.createVNode(stdin_default$1n, vue.mergeProps({
5721
+ "bem": bem$18,
5722
+ "role": "checkbox",
5723
+ "parent": parent,
5724
+ "checked": checked.value,
5725
+ "onToggle": toggle
5726
+ }, props2), pick(slots, ["default", "icon"]));
5727
+ }
5728
+ });
5729
+ const Checkbox = withInstall(stdin_default$1l);
5730
+ const [name$1b, bem$17] = createNamespace("address-item");
5731
+ var stdin_default$1k = vue.defineComponent({
5732
+ name: name$1b,
5578
5733
  props: {
5579
5734
  address: makeRequiredProp(Object),
5580
5735
  disabled: Boolean,
5581
5736
  switchable: Boolean,
5737
+ singleChoice: Boolean,
5582
5738
  defaultTagText: String,
5583
5739
  rightIcon: makeStringProp("edit")
5584
5740
  },
@@ -5595,7 +5751,7 @@ var stdin_default$1m = vue.defineComponent({
5595
5751
  };
5596
5752
  const renderRightIcon = () => vue.createVNode(Icon, {
5597
5753
  "name": props2.rightIcon,
5598
- "class": bem$19("edit"),
5754
+ "class": bem$17("edit"),
5599
5755
  "onClick": (event) => {
5600
5756
  event.stopPropagation();
5601
5757
  emit("edit");
@@ -5610,7 +5766,7 @@ var stdin_default$1m = vue.defineComponent({
5610
5766
  return vue.createVNode(Tag, {
5611
5767
  "type": "primary",
5612
5768
  "round": true,
5613
- "class": bem$19("tag")
5769
+ "class": bem$17("tag")
5614
5770
  }, {
5615
5771
  default: () => [props2.defaultTagText]
5616
5772
  });
@@ -5620,20 +5776,30 @@ var stdin_default$1m = vue.defineComponent({
5620
5776
  const {
5621
5777
  address,
5622
5778
  disabled,
5623
- switchable
5779
+ switchable,
5780
+ singleChoice
5624
5781
  } = props2;
5625
5782
  const Info = [vue.createVNode("div", {
5626
- "class": bem$19("name")
5783
+ "class": bem$17("name")
5627
5784
  }, [`${address.name} ${address.tel}`, renderTag()]), vue.createVNode("div", {
5628
- "class": bem$19("address")
5785
+ "class": bem$17("address")
5629
5786
  }, [address.address])];
5630
5787
  if (switchable && !disabled) {
5631
- return vue.createVNode(Radio, {
5632
- "name": address.id,
5633
- "iconSize": 18
5634
- }, {
5635
- default: () => [Info]
5636
- });
5788
+ if (singleChoice) {
5789
+ return vue.createVNode(Radio, {
5790
+ "name": address.id,
5791
+ "iconSize": 18
5792
+ }, {
5793
+ default: () => [Info]
5794
+ });
5795
+ } else {
5796
+ return vue.createVNode(Checkbox, {
5797
+ "name": address.id,
5798
+ "iconSize": 18
5799
+ }, {
5800
+ default: () => [Info]
5801
+ });
5802
+ }
5637
5803
  }
5638
5804
  return Info;
5639
5805
  };
@@ -5643,13 +5809,13 @@ var stdin_default$1m = vue.defineComponent({
5643
5809
  disabled
5644
5810
  } = props2;
5645
5811
  return vue.createVNode("div", {
5646
- "class": bem$19({
5812
+ "class": bem$17({
5647
5813
  disabled
5648
5814
  }),
5649
5815
  "onClick": onClick
5650
5816
  }, [vue.createVNode(Cell, {
5651
5817
  "border": false,
5652
- "titleClass": bem$19("title")
5818
+ "titleClass": bem$17("title")
5653
5819
  }, {
5654
5820
  title: renderContent,
5655
5821
  "right-icon": renderRightIcon
@@ -5659,10 +5825,10 @@ var stdin_default$1m = vue.defineComponent({
5659
5825
  };
5660
5826
  }
5661
5827
  });
5662
- const [name$1c, bem$18, t$h] = createNamespace("address-list");
5828
+ const [name$1a, bem$16, t$h] = createNamespace("address-list");
5663
5829
  const addressListProps = {
5664
5830
  list: makeArrayProp(),
5665
- modelValue: numericProp,
5831
+ modelValue: [...numericProp, Array],
5666
5832
  switchable: truthProp,
5667
5833
  disabledText: String,
5668
5834
  disabledList: makeArrayProp(),
@@ -5671,14 +5837,15 @@ const addressListProps = {
5671
5837
  defaultTagText: String,
5672
5838
  rightIcon: makeStringProp("edit")
5673
5839
  };
5674
- var stdin_default$1l = vue.defineComponent({
5675
- name: name$1c,
5840
+ var stdin_default$1j = vue.defineComponent({
5841
+ name: name$1a,
5676
5842
  props: addressListProps,
5677
5843
  emits: ["add", "edit", "select", "clickItem", "editDisabled", "selectDisabled", "update:modelValue"],
5678
5844
  setup(props2, {
5679
5845
  slots,
5680
5846
  emit
5681
5847
  }) {
5848
+ const singleChoice = vue.computed(() => !Array.isArray(props2.modelValue));
5682
5849
  const renderItem = (item, index, disabled) => {
5683
5850
  const onEdit = () => emit(disabled ? "editDisabled" : "edit", item, index);
5684
5851
  const onClick = (event) => emit("clickItem", item, index, {
@@ -5687,14 +5854,24 @@ var stdin_default$1l = vue.defineComponent({
5687
5854
  const onSelect = () => {
5688
5855
  emit(disabled ? "selectDisabled" : "select", item, index);
5689
5856
  if (!disabled) {
5690
- emit("update:modelValue", item.id);
5857
+ if (singleChoice.value) {
5858
+ emit("update:modelValue", item.id);
5859
+ } else {
5860
+ const value = props2.modelValue;
5861
+ if (value.includes(item.id)) {
5862
+ emit("update:modelValue", value.filter((id) => id !== item.id));
5863
+ } else {
5864
+ emit("update:modelValue", [...value, item.id]);
5865
+ }
5866
+ }
5691
5867
  }
5692
5868
  };
5693
- return vue.createVNode(stdin_default$1m, {
5869
+ return vue.createVNode(stdin_default$1k, {
5694
5870
  "key": item.id,
5695
5871
  "address": item,
5696
5872
  "disabled": disabled,
5697
5873
  "switchable": props2.switchable,
5874
+ "singleChoice": singleChoice.value,
5698
5875
  "defaultTagText": props2.defaultTagText,
5699
5876
  "rightIcon": props2.rightIcon,
5700
5877
  "onEdit": onEdit,
@@ -5711,13 +5888,13 @@ var stdin_default$1l = vue.defineComponent({
5711
5888
  }
5712
5889
  };
5713
5890
  const renderBottom = () => props2.showAddButton ? vue.createVNode("div", {
5714
- "class": [bem$18("bottom"), "van-safe-area-bottom"]
5891
+ "class": [bem$16("bottom"), "van-safe-area-bottom"]
5715
5892
  }, [vue.createVNode(Button, {
5716
5893
  "round": true,
5717
5894
  "block": true,
5718
5895
  "type": "primary",
5719
5896
  "text": props2.addButtonText || t$h("add"),
5720
- "class": bem$18("add"),
5897
+ "class": bem$16("add"),
5721
5898
  "onClick": () => emit("add")
5722
5899
  }, null)]) : void 0;
5723
5900
  return () => {
@@ -5725,11 +5902,15 @@ var stdin_default$1l = vue.defineComponent({
5725
5902
  const List2 = renderList(props2.list);
5726
5903
  const DisabledList = renderList(props2.disabledList, true);
5727
5904
  const DisabledText = props2.disabledText && vue.createVNode("div", {
5728
- "class": bem$18("disabled-text")
5905
+ "class": bem$16("disabled-text")
5729
5906
  }, [props2.disabledText]);
5730
5907
  return vue.createVNode("div", {
5731
- "class": bem$18()
5732
- }, [(_a = slots.top) == null ? void 0 : _a.call(slots), vue.createVNode(RadioGroup, {
5908
+ "class": bem$16()
5909
+ }, [(_a = slots.top) == null ? void 0 : _a.call(slots), !singleChoice.value && Array.isArray(props2.modelValue) ? vue.createVNode(CheckboxGroup, {
5910
+ "modelValue": props2.modelValue
5911
+ }, {
5912
+ default: () => [List2]
5913
+ }) : vue.createVNode(RadioGroup, {
5733
5914
  "modelValue": props2.modelValue
5734
5915
  }, {
5735
5916
  default: () => [List2]
@@ -5737,7 +5918,7 @@ var stdin_default$1l = vue.defineComponent({
5737
5918
  };
5738
5919
  }
5739
5920
  });
5740
- const AddressList = withInstall(stdin_default$1l);
5921
+ const AddressList = withInstall(stdin_default$1j);
5741
5922
  const hasIntersectionObserver = use.inBrowser && "IntersectionObserver" in window && "IntersectionObserverEntry" in window && "intersectionRatio" in window.IntersectionObserverEntry.prototype;
5742
5923
  const modeType = {
5743
5924
  event: "event",
@@ -5890,7 +6071,7 @@ class ImageCache {
5890
6071
  this.caches.shift();
5891
6072
  }
5892
6073
  }
5893
- const [name$1b, bem$17] = createNamespace("back-top");
6074
+ const [name$19, bem$15] = createNamespace("back-top");
5894
6075
  const backTopProps = {
5895
6076
  right: numericProp,
5896
6077
  bottom: numericProp,
@@ -5903,8 +6084,8 @@ const backTopProps = {
5903
6084
  default: "body"
5904
6085
  }
5905
6086
  };
5906
- var stdin_default$1k = vue.defineComponent({
5907
- name: name$1b,
6087
+ var stdin_default$1i = vue.defineComponent({
6088
+ name: name$19,
5908
6089
  inheritAttrs: false,
5909
6090
  props: backTopProps,
5910
6091
  emits: ["click"],
@@ -5976,19 +6157,19 @@ var stdin_default$1k = vue.defineComponent({
5976
6157
  return () => {
5977
6158
  const Content = vue.createVNode("div", vue.mergeProps({
5978
6159
  "ref": !props2.teleport ? root : void 0,
5979
- "class": bem$17({
6160
+ "class": bem$15({
5980
6161
  active: show.value
5981
6162
  }),
5982
6163
  "style": style.value,
5983
6164
  "onClick": onClick
5984
6165
  }, attrs), [slots.default ? slots.default() : vue.createVNode(Icon, {
5985
6166
  "name": "back-top",
5986
- "class": bem$17("icon")
6167
+ "class": bem$15("icon")
5987
6168
  }, null)]);
5988
6169
  if (props2.teleport) {
5989
6170
  return [vue.createVNode("div", {
5990
6171
  "ref": root,
5991
- "class": bem$17("placeholder")
6172
+ "class": bem$15("placeholder")
5992
6173
  }, null), vue.createVNode(vue.Teleport, {
5993
6174
  "to": props2.teleport
5994
6175
  }, {
@@ -5999,7 +6180,7 @@ var stdin_default$1k = vue.defineComponent({
5999
6180
  };
6000
6181
  }
6001
6182
  });
6002
- const BackTop = withInstall(stdin_default$1k);
6183
+ const BackTop = withInstall(stdin_default$1i);
6003
6184
  var __async = (__this, __arguments, generator) => {
6004
6185
  return new Promise((resolve, reject) => {
6005
6186
  var fulfilled = (value) => {
@@ -6028,9 +6209,9 @@ const barrageProps = {
6028
6209
  delay: makeNumberProp(300),
6029
6210
  modelValue: makeArrayProp()
6030
6211
  };
6031
- const [name$1a, bem$16] = createNamespace("barrage");
6032
- var stdin_default$1j = vue.defineComponent({
6033
- name: name$1a,
6212
+ const [name$18, bem$14] = createNamespace("barrage");
6213
+ var stdin_default$1h = vue.defineComponent({
6214
+ name: name$18,
6034
6215
  props: barrageProps,
6035
6216
  emits: ["update:modelValue"],
6036
6217
  setup(props2, {
@@ -6038,7 +6219,7 @@ var stdin_default$1j = vue.defineComponent({
6038
6219
  slots
6039
6220
  }) {
6040
6221
  const barrageWrapper = vue.ref();
6041
- const className = bem$16("item");
6222
+ const className = bem$14("item");
6042
6223
  const total = vue.ref(0);
6043
6224
  const barrageItems = [];
6044
6225
  const createBarrageItem = (text, delay = props2.delay) => {
@@ -6119,15 +6300,15 @@ var stdin_default$1j = vue.defineComponent({
6119
6300
  return () => {
6120
6301
  var _a;
6121
6302
  return vue.createVNode("div", {
6122
- "class": bem$16(),
6303
+ "class": bem$14(),
6123
6304
  "ref": barrageWrapper,
6124
6305
  "style": rootStyle.value
6125
6306
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
6126
6307
  };
6127
6308
  }
6128
6309
  });
6129
- const Barrage = withInstall(stdin_default$1j);
6130
- const [name$19, bem$15, t$g] = createNamespace("calendar");
6310
+ const Barrage = withInstall(stdin_default$1h);
6311
+ const [name$17, bem$13, t$g] = createNamespace("calendar");
6131
6312
  const formatMonthTitle = (date) => t$g("monthTitle", date.getFullYear(), date.getMonth() + 1);
6132
6313
  function compareMonth(date1, date2) {
6133
6314
  const year1 = date1.getFullYear();
@@ -6221,9 +6402,9 @@ const formatValueRange = (values, columns) => values.map((value, index) => {
6221
6402
  }
6222
6403
  return value;
6223
6404
  });
6224
- const [name$18] = createNamespace("calendar-day");
6225
- var stdin_default$1i = vue.defineComponent({
6226
- name: name$18,
6405
+ const [name$16] = createNamespace("calendar-day");
6406
+ var stdin_default$1g = vue.defineComponent({
6407
+ name: name$16,
6227
6408
  props: {
6228
6409
  item: makeRequiredProp(Object),
6229
6410
  color: String,
@@ -6287,7 +6468,7 @@ var stdin_default$1i = vue.defineComponent({
6287
6468
  } = props2.item;
6288
6469
  if (topInfo || slots["top-info"]) {
6289
6470
  return vue.createVNode("div", {
6290
- "class": bem$15("top-info")
6471
+ "class": bem$13("top-info")
6291
6472
  }, [slots["top-info"] ? slots["top-info"](props2.item) : topInfo]);
6292
6473
  }
6293
6474
  };
@@ -6297,7 +6478,7 @@ var stdin_default$1i = vue.defineComponent({
6297
6478
  } = props2.item;
6298
6479
  if (bottomInfo || slots["bottom-info"]) {
6299
6480
  return vue.createVNode("div", {
6300
- "class": bem$15("bottom-info")
6481
+ "class": bem$13("bottom-info")
6301
6482
  }, [slots["bottom-info"] ? slots["bottom-info"](props2.item) : bottomInfo]);
6302
6483
  }
6303
6484
  };
@@ -6314,7 +6495,7 @@ var stdin_default$1i = vue.defineComponent({
6314
6495
  const Nodes = [renderTopInfo(), text, renderBottomInfo()];
6315
6496
  if (type === "selected") {
6316
6497
  return vue.createVNode("div", {
6317
- "class": bem$15("selected-day"),
6498
+ "class": bem$13("selected-day"),
6318
6499
  "style": {
6319
6500
  width: rowHeight,
6320
6501
  height: rowHeight,
@@ -6331,21 +6512,21 @@ var stdin_default$1i = vue.defineComponent({
6331
6512
  } = props2.item;
6332
6513
  if (type === "placeholder") {
6333
6514
  return vue.createVNode("div", {
6334
- "class": bem$15("day"),
6515
+ "class": bem$13("day"),
6335
6516
  "style": style.value
6336
6517
  }, null);
6337
6518
  }
6338
6519
  return vue.createVNode("div", {
6339
6520
  "role": "gridcell",
6340
6521
  "style": style.value,
6341
- "class": [bem$15("day", type), className],
6522
+ "class": [bem$13("day", type), className],
6342
6523
  "tabindex": type === "disabled" ? void 0 : -1,
6343
6524
  "onClick": onClick
6344
6525
  }, [renderContent()]);
6345
6526
  };
6346
6527
  }
6347
6528
  });
6348
- const [name$17] = createNamespace("calendar-month");
6529
+ const [name$15] = createNamespace("calendar-month");
6349
6530
  const calendarMonthProps = {
6350
6531
  date: makeRequiredProp(Date),
6351
6532
  type: String,
@@ -6362,8 +6543,8 @@ const calendarMonthProps = {
6362
6543
  showMonthTitle: Boolean,
6363
6544
  firstDayOfWeek: Number
6364
6545
  };
6365
- var stdin_default$1h = vue.defineComponent({
6366
- name: name$17,
6546
+ var stdin_default$1f = vue.defineComponent({
6547
+ name: name$15,
6367
6548
  props: calendarMonthProps,
6368
6549
  emits: ["click", "clickDisabledDate"],
6369
6550
  setup(props2, {
@@ -6470,7 +6651,7 @@ var stdin_default$1h = vue.defineComponent({
6470
6651
  const renderTitle = () => {
6471
6652
  if (props2.showMonthTitle) {
6472
6653
  return vue.createVNode("div", {
6473
- "class": bem$15("month-title")
6654
+ "class": bem$13("month-title")
6474
6655
  }, [slots["month-title"] ? slots["month-title"]({
6475
6656
  date: props2.date,
6476
6657
  text: title.value
@@ -6480,7 +6661,7 @@ var stdin_default$1h = vue.defineComponent({
6480
6661
  const renderMark = () => {
6481
6662
  if (props2.showMark && shouldRender.value) {
6482
6663
  return vue.createVNode("div", {
6483
- "class": bem$15("month-mark")
6664
+ "class": bem$13("month-mark")
6484
6665
  }, [props2.date.getMonth() + 1]);
6485
6666
  }
6486
6667
  };
@@ -6520,7 +6701,7 @@ var stdin_default$1h = vue.defineComponent({
6520
6701
  setScrollTop(body, daysRect.top + rowOffset + body.scrollTop - use.useRect(body).top);
6521
6702
  }
6522
6703
  };
6523
- const renderDay = (item, index) => vue.createVNode(stdin_default$1i, {
6704
+ const renderDay = (item, index) => vue.createVNode(stdin_default$1g, {
6524
6705
  "item": item,
6525
6706
  "index": index,
6526
6707
  "color": props2.color,
@@ -6532,7 +6713,7 @@ var stdin_default$1h = vue.defineComponent({
6532
6713
  const renderDays = () => vue.createVNode("div", {
6533
6714
  "ref": daysRef,
6534
6715
  "role": "grid",
6535
- "class": bem$15("days")
6716
+ "class": bem$13("days")
6536
6717
  }, [renderMark(), (shouldRender.value ? days : placeholders).value.map(renderDay)]);
6537
6718
  useExpose({
6538
6719
  getTitle,
@@ -6542,14 +6723,14 @@ var stdin_default$1h = vue.defineComponent({
6542
6723
  disabledDays
6543
6724
  });
6544
6725
  return () => vue.createVNode("div", {
6545
- "class": bem$15("month"),
6726
+ "class": bem$13("month"),
6546
6727
  "ref": monthRef
6547
6728
  }, [renderTitle(), renderDays()]);
6548
6729
  }
6549
6730
  });
6550
- const [name$16] = createNamespace("calendar-header");
6551
- var stdin_default$1g = vue.defineComponent({
6552
- name: name$16,
6731
+ const [name$14] = createNamespace("calendar-header");
6732
+ var stdin_default$1e = vue.defineComponent({
6733
+ name: name$14,
6553
6734
  props: {
6554
6735
  date: Date,
6555
6736
  minDate: Date,
@@ -6587,7 +6768,7 @@ var stdin_default$1g = vue.defineComponent({
6587
6768
  const text = props2.title || t$g("title");
6588
6769
  const title = slots.title ? slots.title() : text;
6589
6770
  return vue.createVNode("div", {
6590
- "class": bem$15("header-title")
6771
+ "class": bem$13("header-title")
6591
6772
  }, [title]);
6592
6773
  }
6593
6774
  };
@@ -6604,7 +6785,7 @@ var stdin_default$1g = vue.defineComponent({
6604
6785
  const onMonthChange = () => onPanelChange((isNext ? getNextMonth : getPrevMonth)(props2.date));
6605
6786
  const onYearChange = () => onPanelChange((isNext ? getNextYear : getPrevYear)(props2.date));
6606
6787
  const MonthAction = vue.createVNode("view", {
6607
- "class": bem$15("header-action", {
6788
+ "class": bem$13("header-action", {
6608
6789
  disabled: monthDisabled
6609
6790
  }),
6610
6791
  "onClick": monthDisabled ? void 0 : onMonthChange
@@ -6617,7 +6798,7 @@ var stdin_default$1g = vue.defineComponent({
6617
6798
  "name": monthIconName
6618
6799
  }, null)]);
6619
6800
  const YearAction = showYearAction && vue.createVNode("view", {
6620
- "class": bem$15("header-action", {
6801
+ "class": bem$13("header-action", {
6621
6802
  disabled: yearDisabled
6622
6803
  }),
6623
6804
  "onClick": yearDisabled ? void 0 : onYearChange
@@ -6639,12 +6820,12 @@ var stdin_default$1g = vue.defineComponent({
6639
6820
  }) : props2.subtitle;
6640
6821
  const canSwitch = props2.switchMode !== "none";
6641
6822
  return vue.createVNode("div", {
6642
- "class": bem$15("header-subtitle", {
6823
+ "class": bem$13("header-subtitle", {
6643
6824
  "with-swicth": canSwitch
6644
6825
  }),
6645
6826
  "onClick": onClickSubtitle
6646
6827
  }, [canSwitch ? [renderAction(), vue.createVNode("div", {
6647
- "class": bem$15("header-subtitle-text")
6828
+ "class": bem$13("header-subtitle-text")
6648
6829
  }, [title]), renderAction(true)] : title]);
6649
6830
  }
6650
6831
  };
@@ -6655,13 +6836,13 @@ var stdin_default$1g = vue.defineComponent({
6655
6836
  const weekdays = t$g("weekdays");
6656
6837
  const renderWeekDays2 = [...weekdays.slice(firstDayOfWeek, 7), ...weekdays.slice(0, firstDayOfWeek)];
6657
6838
  return vue.createVNode("div", {
6658
- "class": bem$15("weekdays")
6839
+ "class": bem$13("weekdays")
6659
6840
  }, [renderWeekDays2.map((text) => vue.createVNode("span", {
6660
- "class": bem$15("weekday")
6841
+ "class": bem$13("weekday")
6661
6842
  }, [text]))]);
6662
6843
  };
6663
6844
  return () => vue.createVNode("div", {
6664
- "class": bem$15("header")
6845
+ "class": bem$13("header")
6665
6846
  }, [renderTitle(), renderSubtitle(), renderWeekDays()]);
6666
6847
  }
6667
6848
  });
@@ -6708,8 +6889,8 @@ const calendarProps = {
6708
6889
  validator: (val) => val >= 0 && val <= 6
6709
6890
  }
6710
6891
  };
6711
- var stdin_default$1f = vue.defineComponent({
6712
- name: name$19,
6892
+ var stdin_default$1d = vue.defineComponent({
6893
+ name: name$17,
6713
6894
  props: calendarProps,
6714
6895
  emits: ["select", "confirm", "unselect", "monthShow", "overRange", "update:show", "clickSubtitle", "clickDisabledDate", "panelChange"],
6715
6896
  setup(props2, {
@@ -6999,7 +7180,7 @@ var stdin_default$1f = vue.defineComponent({
6999
7180
  const updateShow = (value) => emit("update:show", value);
7000
7181
  const renderMonth = (date, index) => {
7001
7182
  const showMonthTitle = index !== 0 || !props2.showSubtitle;
7002
- return vue.createVNode(stdin_default$1h, vue.mergeProps({
7183
+ return vue.createVNode(stdin_default$1f, vue.mergeProps({
7003
7184
  "ref": canSwitch.value ? currentMonthRef : setMonthRefs(index),
7004
7185
  "date": date,
7005
7186
  "currentDate": currentDate.value,
@@ -7026,7 +7207,7 @@ var stdin_default$1f = vue.defineComponent({
7026
7207
  "block": true,
7027
7208
  "type": "primary",
7028
7209
  "color": props2.color,
7029
- "class": bem$15("confirm"),
7210
+ "class": bem$13("confirm"),
7030
7211
  "disabled": disabled,
7031
7212
  "nativeType": "button",
7032
7213
  "onClick": onConfirm
@@ -7038,15 +7219,15 @@ var stdin_default$1f = vue.defineComponent({
7038
7219
  }
7039
7220
  };
7040
7221
  const renderFooter = () => vue.createVNode("div", {
7041
- "class": [bem$15("footer"), {
7222
+ "class": [bem$13("footer"), {
7042
7223
  "van-safe-area-bottom": props2.safeAreaInsetBottom
7043
7224
  }]
7044
7225
  }, [renderFooterButton()]);
7045
7226
  const renderCalendar = () => {
7046
7227
  var _a, _b;
7047
7228
  return vue.createVNode("div", {
7048
- "class": bem$15()
7049
- }, [vue.createVNode(stdin_default$1g, {
7229
+ "class": bem$13()
7230
+ }, [vue.createVNode(stdin_default$1e, {
7050
7231
  "date": (_a = currentMonthRef.value) == null ? void 0 : _a.date,
7051
7232
  "maxDate": maxDate.value,
7052
7233
  "minDate": minDate.value,
@@ -7060,7 +7241,7 @@ var stdin_default$1f = vue.defineComponent({
7060
7241
  "onPanelChange": onPanelChange
7061
7242
  }, pick(slots, ["title", "subtitle", "prev-month", "prev-year", "next-month", "next-year"])), vue.createVNode("div", {
7062
7243
  "ref": bodyRef,
7063
- "class": bem$15("body"),
7244
+ "class": bem$13("body"),
7064
7245
  "onScroll": canSwitch.value ? void 0 : onScroll
7065
7246
  }, [canSwitch.value ? renderMonth(currentPanelDate.value, 0) : months.value.map(renderMonth)]), renderFooter()]);
7066
7247
  };
@@ -7080,7 +7261,7 @@ var stdin_default$1f = vue.defineComponent({
7080
7261
  if (props2.poppable) {
7081
7262
  return vue.createVNode(Popup, {
7082
7263
  "show": props2.show,
7083
- "class": bem$15("popup"),
7264
+ "class": bem$13("popup"),
7084
7265
  "round": props2.round,
7085
7266
  "position": props2.position,
7086
7267
  "closeable": props2.showTitle || props2.showSubtitle,
@@ -7097,8 +7278,8 @@ var stdin_default$1f = vue.defineComponent({
7097
7278
  };
7098
7279
  }
7099
7280
  });
7100
- const Calendar = withInstall(stdin_default$1f);
7101
- const [name$15, bem$14] = createNamespace("image");
7281
+ const Calendar = withInstall(stdin_default$1d);
7282
+ const [name$13, bem$12] = createNamespace("image");
7102
7283
  const imageProps = {
7103
7284
  src: String,
7104
7285
  alt: String,
@@ -7119,8 +7300,8 @@ const imageProps = {
7119
7300
  crossorigin: String,
7120
7301
  referrerpolicy: String
7121
7302
  };
7122
- var stdin_default$1e = vue.defineComponent({
7123
- name: name$15,
7303
+ var stdin_default$1c = vue.defineComponent({
7304
+ name: name$13,
7124
7305
  props: imageProps,
7125
7306
  emits: ["load", "error"],
7126
7307
  setup(props2, {
@@ -7181,13 +7362,13 @@ var stdin_default$1e = vue.defineComponent({
7181
7362
  const renderPlaceholder = () => {
7182
7363
  if (loading.value && props2.showLoading) {
7183
7364
  return vue.createVNode("div", {
7184
- "class": bem$14("loading")
7185
- }, [renderIcon(props2.loadingIcon, bem$14("loading-icon"), slots.loading)]);
7365
+ "class": bem$12("loading")
7366
+ }, [renderIcon(props2.loadingIcon, bem$12("loading-icon"), slots.loading)]);
7186
7367
  }
7187
7368
  if (error.value && props2.showError) {
7188
7369
  return vue.createVNode("div", {
7189
- "class": bem$14("error")
7190
- }, [renderIcon(props2.errorIcon, bem$14("error-icon"), slots.error)]);
7370
+ "class": bem$12("error")
7371
+ }, [renderIcon(props2.errorIcon, bem$12("error-icon"), slots.error)]);
7191
7372
  }
7192
7373
  };
7193
7374
  const renderImage = () => {
@@ -7196,7 +7377,7 @@ var stdin_default$1e = vue.defineComponent({
7196
7377
  }
7197
7378
  const attrs = {
7198
7379
  alt: props2.alt,
7199
- class: bem$14("img"),
7380
+ class: bem$12("img"),
7200
7381
  style: {
7201
7382
  objectFit: props2.fit,
7202
7383
  objectPosition: props2.position
@@ -7256,7 +7437,7 @@ var stdin_default$1e = vue.defineComponent({
7256
7437
  return () => {
7257
7438
  var _a;
7258
7439
  return vue.createVNode("div", {
7259
- "class": bem$14({
7440
+ "class": bem$12({
7260
7441
  round: props2.round,
7261
7442
  block: props2.block
7262
7443
  }),
@@ -7265,8 +7446,8 @@ var stdin_default$1e = vue.defineComponent({
7265
7446
  };
7266
7447
  }
7267
7448
  });
7268
- const Image$1 = withInstall(stdin_default$1e);
7269
- const [name$14, bem$13] = createNamespace("card");
7449
+ const Image$1 = withInstall(stdin_default$1c);
7450
+ const [name$12, bem$11] = createNamespace("card");
7270
7451
  const cardProps = {
7271
7452
  tag: String,
7272
7453
  num: numericProp,
@@ -7280,8 +7461,8 @@ const cardProps = {
7280
7461
  thumbLink: String,
7281
7462
  originPrice: numericProp
7282
7463
  };
7283
- var stdin_default$1d = vue.defineComponent({
7284
- name: name$14,
7464
+ var stdin_default$1b = vue.defineComponent({
7465
+ name: name$12,
7285
7466
  props: cardProps,
7286
7467
  emits: ["clickThumb"],
7287
7468
  setup(props2, {
@@ -7294,14 +7475,14 @@ var stdin_default$1d = vue.defineComponent({
7294
7475
  }
7295
7476
  if (props2.title) {
7296
7477
  return vue.createVNode("div", {
7297
- "class": [bem$13("title"), "van-multi-ellipsis--l2"]
7478
+ "class": [bem$11("title"), "van-multi-ellipsis--l2"]
7298
7479
  }, [props2.title]);
7299
7480
  }
7300
7481
  };
7301
7482
  const renderThumbTag = () => {
7302
7483
  if (slots.tag || props2.tag) {
7303
7484
  return vue.createVNode("div", {
7304
- "class": bem$13("tag")
7485
+ "class": bem$11("tag")
7305
7486
  }, [slots.tag ? slots.tag() : vue.createVNode(Tag, {
7306
7487
  "mark": true,
7307
7488
  "type": "primary"
@@ -7326,7 +7507,7 @@ var stdin_default$1d = vue.defineComponent({
7326
7507
  if (slots.thumb || props2.thumb) {
7327
7508
  return vue.createVNode("a", {
7328
7509
  "href": props2.thumbLink,
7329
- "class": bem$13("thumb"),
7510
+ "class": bem$11("thumb"),
7330
7511
  "onClick": (event) => emit("clickThumb", event)
7331
7512
  }, [renderThumbImage(), renderThumbTag()]);
7332
7513
  }
@@ -7337,19 +7518,19 @@ var stdin_default$1d = vue.defineComponent({
7337
7518
  }
7338
7519
  if (props2.desc) {
7339
7520
  return vue.createVNode("div", {
7340
- "class": [bem$13("desc"), "van-ellipsis"]
7521
+ "class": [bem$11("desc"), "van-ellipsis"]
7341
7522
  }, [props2.desc]);
7342
7523
  }
7343
7524
  };
7344
7525
  const renderPriceText = () => {
7345
7526
  const priceArr = props2.price.toString().split(".");
7346
7527
  return vue.createVNode("div", null, [vue.createVNode("span", {
7347
- "class": bem$13("price-currency")
7528
+ "class": bem$11("price-currency")
7348
7529
  }, [props2.currency]), vue.createVNode("span", {
7349
- "class": bem$13("price-integer")
7350
- }, [priceArr[0]]), vue.createTextVNode("."), vue.createVNode("span", {
7351
- "class": bem$13("price-decimal")
7352
- }, [priceArr[1]])]);
7530
+ "class": bem$11("price-integer")
7531
+ }, [priceArr[0]]), priceArr.length > 1 && vue.createVNode(vue.Fragment, null, [vue.createTextVNode("."), vue.createVNode("span", {
7532
+ "class": bem$11("price-decimal")
7533
+ }, [priceArr[1]])])]);
7353
7534
  };
7354
7535
  return () => {
7355
7536
  var _a, _b, _c;
@@ -7358,34 +7539,34 @@ var stdin_default$1d = vue.defineComponent({
7358
7539
  const showOriginPrice = slots["origin-price"] || isDef(props2.originPrice);
7359
7540
  const showBottom = showNum || showPrice || showOriginPrice || slots.bottom;
7360
7541
  const Price = showPrice && vue.createVNode("div", {
7361
- "class": bem$13("price")
7542
+ "class": bem$11("price")
7362
7543
  }, [slots.price ? slots.price() : renderPriceText()]);
7363
7544
  const OriginPrice = showOriginPrice && vue.createVNode("div", {
7364
- "class": bem$13("origin-price")
7545
+ "class": bem$11("origin-price")
7365
7546
  }, [slots["origin-price"] ? slots["origin-price"]() : `${props2.currency} ${props2.originPrice}`]);
7366
7547
  const Num = showNum && vue.createVNode("div", {
7367
- "class": bem$13("num")
7548
+ "class": bem$11("num")
7368
7549
  }, [slots.num ? slots.num() : `x${props2.num}`]);
7369
7550
  const Footer = slots.footer && vue.createVNode("div", {
7370
- "class": bem$13("footer")
7551
+ "class": bem$11("footer")
7371
7552
  }, [slots.footer()]);
7372
7553
  const Bottom = showBottom && vue.createVNode("div", {
7373
- "class": bem$13("bottom")
7554
+ "class": bem$11("bottom")
7374
7555
  }, [(_a = slots["price-top"]) == null ? void 0 : _a.call(slots), Price, OriginPrice, Num, (_b = slots.bottom) == null ? void 0 : _b.call(slots)]);
7375
7556
  return vue.createVNode("div", {
7376
- "class": bem$13()
7557
+ "class": bem$11()
7377
7558
  }, [vue.createVNode("div", {
7378
- "class": bem$13("header")
7559
+ "class": bem$11("header")
7379
7560
  }, [renderThumb(), vue.createVNode("div", {
7380
- "class": bem$13("content", {
7561
+ "class": bem$11("content", {
7381
7562
  centered: props2.centered
7382
7563
  })
7383
7564
  }, [vue.createVNode("div", null, [renderTitle(), renderDesc(), (_c = slots.tags) == null ? void 0 : _c.call(slots)]), Bottom])]), Footer]);
7384
7565
  };
7385
7566
  }
7386
7567
  });
7387
- const Card = withInstall(stdin_default$1d);
7388
- const [name$13, bem$12, t$f] = createNamespace("cascader");
7568
+ const Card = withInstall(stdin_default$1b);
7569
+ const [name$11, bem$10, t$f] = createNamespace("cascader");
7389
7570
  const cascaderProps = {
7390
7571
  title: String,
7391
7572
  options: makeArrayProp(),
@@ -7398,8 +7579,8 @@ const cascaderProps = {
7398
7579
  placeholder: String,
7399
7580
  activeColor: String
7400
7581
  };
7401
- var stdin_default$1c = vue.defineComponent({
7402
- name: name$13,
7582
+ var stdin_default$1a = vue.defineComponent({
7583
+ name: name$11,
7403
7584
  props: cascaderProps,
7404
7585
  emits: ["close", "change", "finish", "clickTab", "update:modelValue"],
7405
7586
  setup(props2, {
@@ -7508,12 +7689,12 @@ var stdin_default$1c = vue.defineComponent({
7508
7689
  title
7509
7690
  }) => emit("clickTab", name2, title);
7510
7691
  const renderHeader = () => props2.showHeader ? vue.createVNode("div", {
7511
- "class": bem$12("header")
7692
+ "class": bem$10("header")
7512
7693
  }, [vue.createVNode("h2", {
7513
- "class": bem$12("title")
7694
+ "class": bem$10("title")
7514
7695
  }, [slots.title ? slots.title() : props2.title]), props2.closeable ? vue.createVNode(Icon, {
7515
7696
  "name": props2.closeIcon,
7516
- "class": [bem$12("close-icon"), HAPTICS_FEEDBACK],
7697
+ "class": [bem$10("close-icon"), HAPTICS_FEEDBACK],
7517
7698
  "onClick": onClose
7518
7699
  }, null) : null]) : null;
7519
7700
  const renderOption = (option, selectedOption, tabIndex) => {
@@ -7529,7 +7710,7 @@ var stdin_default$1c = vue.defineComponent({
7529
7710
  return vue.createVNode("li", {
7530
7711
  "ref": selected ? setSelectedElementRefs(tabIndex) : void 0,
7531
7712
  "role": "menuitemradio",
7532
- "class": [bem$12("option", {
7713
+ "class": [bem$10("option", {
7533
7714
  selected,
7534
7715
  disabled
7535
7716
  }), option.className],
@@ -7542,12 +7723,12 @@ var stdin_default$1c = vue.defineComponent({
7542
7723
  "onClick": () => onSelect(option, tabIndex)
7543
7724
  }, [Text, selected ? vue.createVNode(Icon, {
7544
7725
  "name": "success",
7545
- "class": bem$12("selected-icon")
7726
+ "class": bem$10("selected-icon")
7546
7727
  }, null) : null]);
7547
7728
  };
7548
7729
  const renderOptions = (options, selectedOption, tabIndex) => vue.createVNode("ul", {
7549
7730
  "role": "menu",
7550
- "class": bem$12("options")
7731
+ "class": bem$10("options")
7551
7732
  }, [options.map((option) => renderOption(option, selectedOption, tabIndex))]);
7552
7733
  const renderTab = (tab, tabIndex) => {
7553
7734
  const {
@@ -7558,7 +7739,7 @@ var stdin_default$1c = vue.defineComponent({
7558
7739
  const title = selected ? selected[textKey] : placeholder;
7559
7740
  return vue.createVNode(Tab, {
7560
7741
  "title": title,
7561
- "titleClass": bem$12("tab", {
7742
+ "titleClass": bem$10("tab", {
7562
7743
  unselected: !selected
7563
7744
  })
7564
7745
  }, {
@@ -7577,7 +7758,7 @@ var stdin_default$1c = vue.defineComponent({
7577
7758
  "onUpdate:active": ($event) => activeTab.value = $event,
7578
7759
  "shrink": true,
7579
7760
  "animated": true,
7580
- "class": bem$12("tabs"),
7761
+ "class": bem$10("tabs"),
7581
7762
  "color": props2.activeColor,
7582
7763
  "swipeable": props2.swipeable,
7583
7764
  "onClickTab": onClickTab
@@ -7612,19 +7793,19 @@ var stdin_default$1c = vue.defineComponent({
7612
7793
  updateTabs();
7613
7794
  });
7614
7795
  return () => vue.createVNode("div", {
7615
- "class": bem$12()
7796
+ "class": bem$10()
7616
7797
  }, [renderHeader(), renderTabs()]);
7617
7798
  }
7618
7799
  });
7619
- const Cascader = withInstall(stdin_default$1c);
7620
- const [name$12, bem$11] = createNamespace("cell-group");
7800
+ const Cascader = withInstall(stdin_default$1a);
7801
+ const [name$10, bem$$] = createNamespace("cell-group");
7621
7802
  const cellGroupProps = {
7622
7803
  title: String,
7623
7804
  inset: Boolean,
7624
7805
  border: truthProp
7625
7806
  };
7626
- var stdin_default$1b = vue.defineComponent({
7627
- name: name$12,
7807
+ var stdin_default$19 = vue.defineComponent({
7808
+ name: name$10,
7628
7809
  inheritAttrs: false,
7629
7810
  props: cellGroupProps,
7630
7811
  setup(props2, {
@@ -7634,7 +7815,7 @@ var stdin_default$1b = vue.defineComponent({
7634
7815
  const renderGroup = () => {
7635
7816
  var _a;
7636
7817
  return vue.createVNode("div", vue.mergeProps({
7637
- "class": [bem$11({
7818
+ "class": [bem$$({
7638
7819
  inset: props2.inset
7639
7820
  }), {
7640
7821
  [BORDER_TOP_BOTTOM]: props2.border && !props2.inset
@@ -7642,7 +7823,7 @@ var stdin_default$1b = vue.defineComponent({
7642
7823
  }, attrs, useScopeId()), [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
7643
7824
  };
7644
7825
  const renderTitle = () => vue.createVNode("div", {
7645
- "class": bem$11("title", {
7826
+ "class": bem$$("title", {
7646
7827
  inset: props2.inset
7647
7828
  })
7648
7829
  }, [slots.title ? slots.title() : props2.title]);
@@ -7654,153 +7835,7 @@ var stdin_default$1b = vue.defineComponent({
7654
7835
  };
7655
7836
  }
7656
7837
  });
7657
- const CellGroup = withInstall(stdin_default$1b);
7658
- const [name$11, bem$10] = createNamespace("checkbox-group");
7659
- const checkboxGroupProps = {
7660
- max: numericProp,
7661
- shape: makeStringProp("round"),
7662
- disabled: Boolean,
7663
- iconSize: numericProp,
7664
- direction: String,
7665
- modelValue: makeArrayProp(),
7666
- checkedColor: String
7667
- };
7668
- const CHECKBOX_GROUP_KEY = Symbol(name$11);
7669
- var stdin_default$1a = vue.defineComponent({
7670
- name: name$11,
7671
- props: checkboxGroupProps,
7672
- emits: ["change", "update:modelValue"],
7673
- setup(props2, {
7674
- emit,
7675
- slots
7676
- }) {
7677
- const {
7678
- children,
7679
- linkChildren
7680
- } = use.useChildren(CHECKBOX_GROUP_KEY);
7681
- const updateValue = (value) => emit("update:modelValue", value);
7682
- const toggleAll = (options = {}) => {
7683
- if (typeof options === "boolean") {
7684
- options = {
7685
- checked: options
7686
- };
7687
- }
7688
- const {
7689
- checked,
7690
- skipDisabled
7691
- } = options;
7692
- const checkedChildren = children.filter((item) => {
7693
- if (!item.props.bindGroup) {
7694
- return false;
7695
- }
7696
- if (item.props.disabled && skipDisabled) {
7697
- return item.checked.value;
7698
- }
7699
- return checked != null ? checked : !item.checked.value;
7700
- });
7701
- const names = checkedChildren.map((item) => item.name);
7702
- updateValue(names);
7703
- };
7704
- vue.watch(() => props2.modelValue, (value) => emit("change", value));
7705
- useExpose({
7706
- toggleAll
7707
- });
7708
- use.useCustomFieldValue(() => props2.modelValue);
7709
- linkChildren({
7710
- props: props2,
7711
- updateValue
7712
- });
7713
- return () => {
7714
- var _a;
7715
- return vue.createVNode("div", {
7716
- "class": bem$10([props2.direction])
7717
- }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
7718
- };
7719
- }
7720
- });
7721
- const [name$10, bem$$] = createNamespace("checkbox");
7722
- const checkboxProps = extend({}, checkerProps, {
7723
- shape: String,
7724
- bindGroup: truthProp,
7725
- indeterminate: {
7726
- type: Boolean,
7727
- default: null
7728
- }
7729
- });
7730
- var stdin_default$19 = vue.defineComponent({
7731
- name: name$10,
7732
- props: checkboxProps,
7733
- emits: ["change", "update:modelValue"],
7734
- setup(props2, {
7735
- emit,
7736
- slots
7737
- }) {
7738
- const {
7739
- parent
7740
- } = use.useParent(CHECKBOX_GROUP_KEY);
7741
- const setParentValue = (checked2) => {
7742
- const {
7743
- name: name2
7744
- } = props2;
7745
- const {
7746
- max,
7747
- modelValue
7748
- } = parent.props;
7749
- const value = modelValue.slice();
7750
- if (checked2) {
7751
- const overlimit = max && value.length >= +max;
7752
- if (!overlimit && !value.includes(name2)) {
7753
- value.push(name2);
7754
- if (props2.bindGroup) {
7755
- parent.updateValue(value);
7756
- }
7757
- }
7758
- } else {
7759
- const index = value.indexOf(name2);
7760
- if (index !== -1) {
7761
- value.splice(index, 1);
7762
- if (props2.bindGroup) {
7763
- parent.updateValue(value);
7764
- }
7765
- }
7766
- }
7767
- };
7768
- const checked = vue.computed(() => {
7769
- if (parent && props2.bindGroup) {
7770
- return parent.props.modelValue.indexOf(props2.name) !== -1;
7771
- }
7772
- return !!props2.modelValue;
7773
- });
7774
- const toggle = (newValue = !checked.value) => {
7775
- if (parent && props2.bindGroup) {
7776
- setParentValue(newValue);
7777
- } else {
7778
- emit("update:modelValue", newValue);
7779
- }
7780
- if (props2.indeterminate !== null)
7781
- emit("change", newValue);
7782
- };
7783
- vue.watch(() => props2.modelValue, (value) => {
7784
- if (props2.indeterminate === null)
7785
- emit("change", value);
7786
- });
7787
- useExpose({
7788
- toggle,
7789
- props: props2,
7790
- checked
7791
- });
7792
- use.useCustomFieldValue(() => props2.modelValue);
7793
- return () => vue.createVNode(stdin_default$1o, vue.mergeProps({
7794
- "bem": bem$$,
7795
- "role": "checkbox",
7796
- "parent": parent,
7797
- "checked": checked.value,
7798
- "onToggle": toggle
7799
- }, props2), pick(slots, ["default", "icon"]));
7800
- }
7801
- });
7802
- const Checkbox = withInstall(stdin_default$19);
7803
- const CheckboxGroup = withInstall(stdin_default$1a);
7838
+ const CellGroup = withInstall(stdin_default$19);
7804
7839
  const [name$$, bem$_] = createNamespace("circle");
7805
7840
  let uid = 0;
7806
7841
  const format = (rate) => Math.min(Math.max(+rate, 0), 100);
@@ -10330,6 +10365,16 @@ var stdin_default$R = vue.defineComponent({
10330
10365
  use.useEventListener("touchmove", onTouchmove, {
10331
10366
  target: rootRef
10332
10367
  });
10368
+ const renderHeader = () => {
10369
+ if (slots.header) {
10370
+ return slots.header();
10371
+ }
10372
+ return vue.createVNode("div", {
10373
+ "class": bem$I("header")
10374
+ }, [vue.createVNode("div", {
10375
+ "class": bem$I("header-bar")
10376
+ }, null)]);
10377
+ };
10333
10378
  return () => {
10334
10379
  var _a;
10335
10380
  return vue.createVNode("div", {
@@ -10341,11 +10386,7 @@ var stdin_default$R = vue.defineComponent({
10341
10386
  "onTouchstartPassive": onTouchstart,
10342
10387
  "onTouchend": onTouchend,
10343
10388
  "onTouchcancel": onTouchend
10344
- }, [vue.createVNode("div", {
10345
- "class": bem$I("header")
10346
- }, [vue.createVNode("div", {
10347
- "class": bem$I("header-bar")
10348
- }, null)]), vue.createVNode("div", {
10389
+ }, [renderHeader(), vue.createVNode("div", {
10349
10390
  "class": bem$I("content"),
10350
10391
  "ref": contentRef
10351
10392
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)])]);
@@ -14701,6 +14742,7 @@ var stdin_default$e = vue.defineComponent({
14701
14742
  "readonly": props2.disableInput,
14702
14743
  "inputmode": props2.integer ? "numeric" : "decimal",
14703
14744
  "placeholder": props2.placeholder,
14745
+ "autocomplete": "off",
14704
14746
  "aria-valuemax": props2.max,
14705
14747
  "aria-valuemin": props2.min,
14706
14748
  "aria-valuenow": current2.value,
@@ -17001,7 +17043,7 @@ const Lazyload = {
17001
17043
  });
17002
17044
  }
17003
17045
  };
17004
- const version = "4.9.0";
17046
+ const version = "4.9.2";
17005
17047
  function install(app) {
17006
17048
  const components = [
17007
17049
  ActionBar,