vant 4.0.9 → 4.0.11

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.
package/lib/index.d.ts CHANGED
@@ -98,4 +98,4 @@ declare namespace _default {
98
98
  }
99
99
  export default _default;
100
100
  export function install(app: any): void;
101
- export const version: "4.0.9";
101
+ export const version: "4.0.11";
package/lib/index.js CHANGED
@@ -210,7 +210,7 @@ __reExport(stdin_exports, require("./time-picker"), module.exports);
210
210
  __reExport(stdin_exports, require("./toast"), module.exports);
211
211
  __reExport(stdin_exports, require("./tree-select"), module.exports);
212
212
  __reExport(stdin_exports, require("./uploader"), module.exports);
213
- const version = "4.0.9";
213
+ const version = "4.0.11";
214
214
  function install(app) {
215
215
  const components = [
216
216
  import_action_bar.ActionBar,
@@ -112,9 +112,11 @@ var stdin_default = (0, import_vue2.defineComponent)({
112
112
  }
113
113
  });
114
114
  }
115
- emit("change", (0, import_utils.extend)({
116
- columnIndex
117
- }, getEventParams()));
115
+ (0, import_vue2.nextTick)(() => {
116
+ emit("change", (0, import_utils.extend)({
117
+ columnIndex
118
+ }, getEventParams()));
119
+ });
118
120
  };
119
121
  const onClickOption = (currentOption, columnIndex) => emit("clickOption", (0, import_utils.extend)({
120
122
  columnIndex,
@@ -177,7 +177,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
177
177
  class: "van-ellipsis",
178
178
  [props.allowHtml ? "innerHTML" : "textContent"]: text
179
179
  };
180
- return (0, import_vue.createVNode)("li", data, [slots.option ? slots.option(option) : (0, import_vue.createVNode)("div", childData, null)]);
180
+ return (0, import_vue.createVNode)("li", data, [slots.option ? slots.option(option, index) : (0, import_vue.createVNode)("div", childData, null)]);
181
181
  });
182
182
  };
183
183
  (0, import_use.useParent)(PICKER_KEY);
@@ -76,12 +76,13 @@ var stdin_default = (0, import_vue2.defineComponent)({
76
76
  "confirmButtonText": confirmButtonText,
77
77
  "onConfirm": onConfirm,
78
78
  "onCancel": onCancel
79
- }, null), (0, import_vue.createVNode)(import_tabs.Tabs, {
79
+ }, (0, import_utils.pick)(slots, import_PickerToolbar.pickerToolbarSlots)), (0, import_vue.createVNode)(import_tabs.Tabs, {
80
80
  "active": activeTab.value,
81
81
  "onUpdate:active": ($event) => activeTab.value = $event,
82
82
  "class": bem("tabs"),
83
83
  "shrink": true,
84
- "animated": true
84
+ "animated": true,
85
+ "lazyRender": false
85
86
  }, {
86
87
  default: () => [props.tabs.map((title, index) => (0, import_vue.createVNode)(import_tab.Tab, {
87
88
  "title": title,
@@ -96,6 +96,10 @@ var stdin_default = (0, import_vue2.defineComponent)({
96
96
  }
97
97
  if (!popper) {
98
98
  popper = createPopperInstance();
99
+ if (import_utils.inBrowser) {
100
+ window.addEventListener("animationend", updateLocation);
101
+ window.addEventListener("transitionend", updateLocation);
102
+ }
99
103
  } else {
100
104
  popper.setOptions(getPopoverOptions());
101
105
  }
@@ -168,6 +172,10 @@ var stdin_default = (0, import_vue2.defineComponent)({
168
172
  });
169
173
  (0, import_vue2.onBeforeUnmount)(() => {
170
174
  if (popper) {
175
+ if (import_utils.inBrowser) {
176
+ window.removeEventListener("animationend", updateLocation);
177
+ window.removeEventListener("transitionend", updateLocation);
178
+ }
171
179
  popper.destroy();
172
180
  popper = null;
173
181
  }
@@ -1 +1 @@
1
- :root{--van-popover-arrow-size: 6px;--van-popover-radius: var(--van-radius-lg);--van-popover-action-width: 128px;--van-popover-action-height: 44px;--van-popover-action-font-size: var(--van-font-size-md);--van-popover-action-line-height: var(--van-line-height-md);--van-popover-action-icon-size: 20px;--van-popover-light-text-color: var(--van-text-color);--van-popover-light-background: var(--van-background-2);--van-popover-light-action-disabled-text-color: var(--van-text-color-3);--van-popover-dark-text-color: var(--van-white);--van-popover-dark-background: #4a4a4a;--van-popover-dark-action-disabled-text-color: var(--van-text-color-2)}.van-popover{position:absolute;overflow:visible;background-color:transparent;transition:opacity .15s,transform .15s}.van-popover__wrapper{display:inline-block}.van-popover__arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;border-width:var(--van-popover-arrow-size)}.van-popover__content{overflow:hidden;border-radius:var(--van-popover-radius)}.van-popover__action{position:relative;display:flex;align-items:center;box-sizing:border-box;width:var(--van-popover-action-width);height:var(--van-popover-action-height);padding:0 var(--van-padding-md);font-size:var(--van-popover-action-font-size);line-height:var(--van-line-height-md);cursor:pointer}.van-popover__action:last-child .van-popover__action-text:after{display:none}.van-popover__action-text{display:flex;flex:1;align-items:center;justify-content:center;height:100%}.van-popover__action-icon{margin-right:var(--van-padding-xs);font-size:var(--van-popover-action-icon-size)}.van-popover__action--with-icon .van-popover__action-text{justify-content:flex-start}.van-popover[data-popper-placement^=top] .van-popover__arrow{bottom:0;border-top-color:currentColor;border-bottom-width:0;transform:translate(-50%);margin-bottom:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=top]{transform-origin:50% 100%}.van-popover[data-popper-placement=top] .van-popover__arrow{left:50%}.van-popover[data-popper-placement=top-start]{transform-origin:0 100%}.van-popover[data-popper-placement=top-start] .van-popover__arrow{left:var(--van-padding-md)}.van-popover[data-popper-placement=top-end]{transform-origin:100% 100%}.van-popover[data-popper-placement=top-end] .van-popover__arrow{right:var(--van-padding-md)}.van-popover[data-popper-placement^=left] .van-popover__arrow{right:0;border-right-width:0;border-left-color:currentColor;transform:translateY(-50%);margin-right:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=left]{transform-origin:100% 50%}.van-popover[data-popper-placement=left] .van-popover__arrow{top:50%}.van-popover[data-popper-placement=left-start]{transform-origin:100% 0}.van-popover[data-popper-placement=left-start] .van-popover__arrow{top:var(--van-padding-md)}.van-popover[data-popper-placement=left-end]{transform-origin:100% 100%}.van-popover[data-popper-placement=left-end] .van-popover__arrow{bottom:var(--van-padding-md)}.van-popover[data-popper-placement^=right] .van-popover__arrow{left:0;border-right-color:currentColor;border-left-width:0;transform:translateY(-50%);margin-left:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=right]{transform-origin:0 50%}.van-popover[data-popper-placement=right] .van-popover__arrow{top:50%}.van-popover[data-popper-placement=right-start]{transform-origin:0 0}.van-popover[data-popper-placement=right-start] .van-popover__arrow{top:var(--van-padding-md)}.van-popover[data-popper-placement=right-end]{transform-origin:0 100%}.van-popover[data-popper-placement=right-end] .van-popover__arrow{bottom:var(--van-padding-md)}.van-popover[data-popper-placement^=bottom] .van-popover__arrow{top:0;border-top-width:0;border-bottom-color:currentColor;transform:translate(-50%);margin-top:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=bottom]{transform-origin:50% 0}.van-popover[data-popper-placement=bottom] .van-popover__arrow{left:50%}.van-popover[data-popper-placement=bottom-start]{transform-origin:0 0}.van-popover[data-popper-placement=bottom-start] .van-popover__arrow{left:var(--van-padding-md)}.van-popover[data-popper-placement=bottom-end]{transform-origin:100% 0}.van-popover[data-popper-placement=bottom-end] .van-popover__arrow{right:var(--van-padding-md)}.van-popover--light{color:var(--van-popover-light-text-color)}.van-popover--light .van-popover__content{background:var(--van-popover-light-background);box-shadow:0 2px 12px rgba(50,50,51,.12)}.van-popover--light .van-popover__arrow{color:var(--van-popover-light-background)}.van-popover--light .van-popover__action:active{background-color:var(--van-active-color)}.van-popover--light .van-popover__action--disabled{color:var(--van-popover-light-action-disabled-text-color);cursor:not-allowed}.van-popover--light .van-popover__action--disabled:active{background-color:transparent}.van-popover--dark{color:var(--van-popover-dark-text-color)}.van-popover--dark .van-popover__content{background:var(--van-popover-dark-background)}.van-popover--dark .van-popover__arrow{color:var(--van-popover-dark-background)}.van-popover--dark .van-popover__action:active{background-color:rgba(0,0,0,.2)}.van-popover--dark .van-popover__action--disabled{color:var(--van-popover-dark-action-disabled-text-color)}.van-popover--dark .van-popover__action--disabled:active{background-color:transparent}.van-popover--dark .van-popover__action-text:after{border-color:var(--van-gray-7)}.van-popover-zoom-enter-from,.van-popover-zoom-leave-active{transform:scale(.8);opacity:0}.van-popover-zoom-enter-active{transition-timing-function:var(--van-ease-out)}.van-popover-zoom-leave-active{transition-timing-function:var(--van-ease-in)}
1
+ :root{--van-popover-arrow-size: 6px;--van-popover-radius: var(--van-radius-lg);--van-popover-action-width: 128px;--van-popover-action-height: 44px;--van-popover-action-font-size: var(--van-font-size-md);--van-popover-action-line-height: var(--van-line-height-md);--van-popover-action-icon-size: 20px;--van-popover-light-text-color: var(--van-text-color);--van-popover-light-background: var(--van-background-2);--van-popover-light-action-disabled-text-color: var(--van-text-color-3);--van-popover-dark-text-color: var(--van-white);--van-popover-dark-background: #4a4a4a;--van-popover-dark-action-disabled-text-color: var(--van-text-color-2)}.van-popover{position:absolute;overflow:visible;background-color:transparent;transition:opacity .15s,transform .15s}.van-popover__wrapper{display:inline-block}.van-popover__arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;border-width:var(--van-popover-arrow-size)}.van-popover__content{overflow:hidden;border-radius:var(--van-popover-radius)}.van-popover__action{position:relative;display:flex;align-items:center;box-sizing:border-box;width:var(--van-popover-action-width);height:var(--van-popover-action-height);padding:0 var(--van-padding-md);font-size:var(--van-popover-action-font-size);line-height:var(--van-line-height-md);cursor:pointer}.van-popover__action:last-child .van-popover__action-text:after{display:none}.van-popover__action-text{display:flex;flex:1;align-items:center;justify-content:center;height:100%}.van-popover__action-icon{margin-right:var(--van-padding-xs);font-size:var(--van-popover-action-icon-size)}.van-popover__action--with-icon .van-popover__action-text{justify-content:flex-start}.van-popover[data-popper-placement^=top] .van-popover__arrow{bottom:0;border-top-color:currentColor;border-bottom-width:0;margin-bottom:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=top]{transform-origin:50% 100%}.van-popover[data-popper-placement=top] .van-popover__arrow{left:50%;transform:translate(-50%)}.van-popover[data-popper-placement=top-start]{transform-origin:0 100%}.van-popover[data-popper-placement=top-start] .van-popover__arrow{left:var(--van-padding-md)}.van-popover[data-popper-placement=top-end]{transform-origin:100% 100%}.van-popover[data-popper-placement=top-end] .van-popover__arrow{right:var(--van-padding-md)}.van-popover[data-popper-placement^=left] .van-popover__arrow{right:0;border-right-width:0;border-left-color:currentColor;margin-right:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=left]{transform-origin:100% 50%}.van-popover[data-popper-placement=left] .van-popover__arrow{top:50%;transform:translateY(-50%)}.van-popover[data-popper-placement=left-start]{transform-origin:100% 0}.van-popover[data-popper-placement=left-start] .van-popover__arrow{top:var(--van-padding-md)}.van-popover[data-popper-placement=left-end]{transform-origin:100% 100%}.van-popover[data-popper-placement=left-end] .van-popover__arrow{bottom:var(--van-padding-md)}.van-popover[data-popper-placement^=right] .van-popover__arrow{left:0;border-right-color:currentColor;border-left-width:0;margin-left:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=right]{transform-origin:0 50%}.van-popover[data-popper-placement=right] .van-popover__arrow{top:50%;transform:translateY(-50%)}.van-popover[data-popper-placement=right-start]{transform-origin:0 0}.van-popover[data-popper-placement=right-start] .van-popover__arrow{top:var(--van-padding-md)}.van-popover[data-popper-placement=right-end]{transform-origin:0 100%}.van-popover[data-popper-placement=right-end] .van-popover__arrow{bottom:var(--van-padding-md)}.van-popover[data-popper-placement^=bottom] .van-popover__arrow{top:0;border-top-width:0;border-bottom-color:currentColor;margin-top:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=bottom]{transform-origin:50% 0}.van-popover[data-popper-placement=bottom] .van-popover__arrow{left:50%;transform:translate(-50%)}.van-popover[data-popper-placement=bottom-start]{transform-origin:0 0}.van-popover[data-popper-placement=bottom-start] .van-popover__arrow{left:var(--van-padding-md)}.van-popover[data-popper-placement=bottom-end]{transform-origin:100% 0}.van-popover[data-popper-placement=bottom-end] .van-popover__arrow{right:var(--van-padding-md)}.van-popover--light{color:var(--van-popover-light-text-color)}.van-popover--light .van-popover__content{background:var(--van-popover-light-background);box-shadow:0 2px 12px rgba(50,50,51,.12)}.van-popover--light .van-popover__arrow{color:var(--van-popover-light-background)}.van-popover--light .van-popover__action:active{background-color:var(--van-active-color)}.van-popover--light .van-popover__action--disabled{color:var(--van-popover-light-action-disabled-text-color);cursor:not-allowed}.van-popover--light .van-popover__action--disabled:active{background-color:transparent}.van-popover--dark{color:var(--van-popover-dark-text-color)}.van-popover--dark .van-popover__content{background:var(--van-popover-dark-background)}.van-popover--dark .van-popover__arrow{color:var(--van-popover-dark-background)}.van-popover--dark .van-popover__action:active{background-color:rgba(0,0,0,.2)}.van-popover--dark .van-popover__action--disabled{color:var(--van-popover-dark-action-disabled-text-color)}.van-popover--dark .van-popover__action--disabled:active{background-color:transparent}.van-popover--dark .van-popover__action-text:after{border-color:var(--van-gray-7)}.van-popover-zoom-enter-from,.van-popover-zoom-leave-active{transform:scale(.8);opacity:0}.van-popover-zoom-enter-active{transition-timing-function:var(--van-ease-out)}.van-popover-zoom-leave-active{transition-timing-function:var(--van-ease-in)}
@@ -57,7 +57,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
57
57
  let current;
58
58
  let startValue;
59
59
  const root = (0, import_vue2.ref)();
60
- const slider = (0, import_vue2.ref)();
60
+ const slider = [(0, import_vue2.ref)(), (0, import_vue2.ref)()];
61
61
  const dragStatus = (0, import_vue2.ref)();
62
62
  const touch = (0, import_use_touch.useTouch)();
63
63
  const scope = (0, import_vue2.computed)(() => Number(props.max) - Number(props.min));
@@ -249,7 +249,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
249
249
  const renderButton = (index) => {
250
250
  const current2 = typeof index === "number" ? props.modelValue[index] : props.modelValue;
251
251
  return (0, import_vue.createVNode)("div", {
252
- "ref": slider,
252
+ "ref": slider[index != null ? index : 0],
253
253
  "role": "slider",
254
254
  "class": getButtonClassName(index),
255
255
  "tabindex": props.disabled ? void 0 : 0,
@@ -272,8 +272,10 @@ var stdin_default = (0, import_vue2.defineComponent)({
272
272
  };
273
273
  updateValue(props.modelValue);
274
274
  (0, import_use.useCustomFieldValue)(() => props.modelValue);
275
- (0, import_use.useEventListener)("touchmove", onTouchMove, {
276
- target: slider
275
+ slider.forEach((item) => {
276
+ (0, import_use.useEventListener)("touchmove", onTouchMove, {
277
+ target: item
278
+ });
277
279
  });
278
280
  return () => (0, import_vue.createVNode)("div", {
279
281
  "ref": root,
@@ -51,7 +51,7 @@ function filterEmpty(children = []) {
51
51
  });
52
52
  return nodes.filter((c) => {
53
53
  var _a;
54
- return !(c && (typeof Comment !== "undefined" && c.type === Comment || c.type === import_vue2.Fragment && ((_a = c.children) == null ? void 0 : _a.length) === 0 || c.type === Text && c.children.trim() === ""));
54
+ return !(c && (c.type === import_vue2.Comment || c.type === import_vue2.Fragment && ((_a = c.children) == null ? void 0 : _a.length) === 0 || c.type === import_vue2.Text && c.children.trim() === ""));
55
55
  });
56
56
  }
57
57
  var stdin_default = (0, import_vue2.defineComponent)({
package/lib/tabs/Tabs.js CHANGED
@@ -38,6 +38,7 @@ var import_use_route = require("../composables/use-route");
38
38
  var import_use_refs = require("../composables/use-refs");
39
39
  var import_use_expose = require("../composables/use-expose");
40
40
  var import_on_popup_reopen = require("../composables/on-popup-reopen");
41
+ var import_use_visibility_change = require("../composables/use-visibility-change");
41
42
  var import_sticky = require("../sticky");
42
43
  var import_TabsTitle = __toESM(require("./TabsTitle"));
43
44
  var import_TabsContent = __toESM(require("./TabsContent"));
@@ -350,6 +351,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
350
351
  (0, import_vue2.onActivated)(setLine);
351
352
  (0, import_on_popup_reopen.onPopupReopen)(setLine);
352
353
  (0, import_use.onMountedOrActivated)(init);
354
+ (0, import_use_visibility_change.useVisibilityChange)(root, setLine);
353
355
  (0, import_use.useEventListener)("scroll", onScroll, {
354
356
  target: scroller,
355
357
  passive: true
package/lib/vant.cjs.js CHANGED
@@ -1761,7 +1761,7 @@ var stdin_default$1A = vue.defineComponent({
1761
1761
  class: "van-ellipsis",
1762
1762
  [props.allowHtml ? "innerHTML" : "textContent"]: text
1763
1763
  };
1764
- return vue.createVNode("li", data, [slots.option ? slots.option(option) : vue.createVNode("div", childData, null)]);
1764
+ return vue.createVNode("li", data, [slots.option ? slots.option(option, index) : vue.createVNode("div", childData, null)]);
1765
1765
  });
1766
1766
  };
1767
1767
  use.useParent(PICKER_KEY);
@@ -2087,7 +2087,7 @@ var stdin_default$1x = vue.defineComponent({
2087
2087
  return style2;
2088
2088
  });
2089
2089
  const renderText = () => {
2090
- const Text2 = vue.createVNode("span", {
2090
+ const Text = vue.createVNode("span", {
2091
2091
  "class": bem$1i("text", {
2092
2092
  ellipsis: !props.scrollable
2093
2093
  })
@@ -2098,10 +2098,10 @@ var stdin_default$1x = vue.defineComponent({
2098
2098
  "content": props.badge,
2099
2099
  "showZero": props.showZeroBadge
2100
2100
  }, {
2101
- default: () => [Text2]
2101
+ default: () => [Text]
2102
2102
  });
2103
2103
  }
2104
- return Text2;
2104
+ return Text;
2105
2105
  };
2106
2106
  return () => vue.createVNode("div", {
2107
2107
  "id": props.id,
@@ -2850,6 +2850,7 @@ var stdin_default$1u = vue.defineComponent({
2850
2850
  vue.onActivated(setLine);
2851
2851
  onPopupReopen(setLine);
2852
2852
  use.onMountedOrActivated(init);
2853
+ useVisibilityChange(root, setLine);
2853
2854
  use.useEventListener("scroll", onScroll, {
2854
2855
  target: scroller,
2855
2856
  passive: true
@@ -3118,12 +3119,13 @@ var stdin_default$1r = vue.defineComponent({
3118
3119
  "confirmButtonText": confirmButtonText,
3119
3120
  "onConfirm": onConfirm,
3120
3121
  "onCancel": onCancel
3121
- }, null), vue.createVNode(Tabs, {
3122
+ }, pick(slots, pickerToolbarSlots)), vue.createVNode(Tabs, {
3122
3123
  "active": activeTab.value,
3123
3124
  "onUpdate:active": ($event) => activeTab.value = $event,
3124
3125
  "class": bem$1c("tabs"),
3125
3126
  "shrink": true,
3126
- "animated": true
3127
+ "animated": true,
3128
+ "lazyRender": false
3127
3129
  }, {
3128
3130
  default: () => [props.tabs.map((title, index) => vue.createVNode(Tab, {
3129
3131
  "title": title,
@@ -3209,9 +3211,11 @@ var stdin_default$1q = vue.defineComponent({
3209
3211
  }
3210
3212
  });
3211
3213
  }
3212
- emit("change", extend({
3213
- columnIndex
3214
- }, getEventParams()));
3214
+ vue.nextTick(() => {
3215
+ emit("change", extend({
3216
+ columnIndex
3217
+ }, getEventParams()));
3218
+ });
3215
3219
  };
3216
3220
  const onClickOption = (currentOption, columnIndex) => emit("clickOption", extend({
3217
3221
  columnIndex,
@@ -5596,6 +5600,7 @@ const [name$12, bem$_] = createNamespace("back-top");
5596
5600
  const backTopProps = {
5597
5601
  right: numericProp,
5598
5602
  bottom: numericProp,
5603
+ zIndex: numericProp,
5599
5604
  target: [String, Object],
5600
5605
  offset: makeNumericProp(200),
5601
5606
  immediate: Boolean,
@@ -5617,7 +5622,7 @@ var stdin_default$1b = vue.defineComponent({
5617
5622
  const show = vue.ref(false);
5618
5623
  const root = vue.ref();
5619
5624
  const scrollParent = vue.ref();
5620
- const style = vue.computed(() => ({
5625
+ const style = vue.computed(() => extend(getZIndexStyle(props.zIndex), {
5621
5626
  right: addUnit(props.right),
5622
5627
  bottom: addUnit(props.bottom)
5623
5628
  }));
@@ -6960,7 +6965,7 @@ var stdin_default$14 = vue.defineComponent({
6960
6965
  } = option;
6961
6966
  const selected = !!(selectedOption && option[valueKey] === selectedOption[valueKey]);
6962
6967
  const color = option.color || (selected ? props.activeColor : void 0);
6963
- const Text2 = slots.option ? slots.option({
6968
+ const Text = slots.option ? slots.option({
6964
6969
  option,
6965
6970
  selected
6966
6971
  }) : vue.createVNode("span", null, [option[textKey]]);
@@ -6977,7 +6982,7 @@ var stdin_default$14 = vue.defineComponent({
6977
6982
  "aria-checked": selected,
6978
6983
  "aria-disabled": disabled || void 0,
6979
6984
  "onClick": () => onSelect(option, tabIndex)
6980
- }, [Text2, selected ? vue.createVNode(Icon, {
6985
+ }, [Text, selected ? vue.createVNode(Icon, {
6981
6986
  "name": "success",
6982
6987
  "class": bem$W("selected-icon")
6983
6988
  }, null) : null]);
@@ -11392,6 +11397,10 @@ var stdin_default$w = vue.defineComponent({
11392
11397
  }
11393
11398
  if (!popper) {
11394
11399
  popper = createPopperInstance();
11400
+ if (inBrowser) {
11401
+ window.addEventListener("animationend", updateLocation);
11402
+ window.addEventListener("transitionend", updateLocation);
11403
+ }
11395
11404
  } else {
11396
11405
  popper.setOptions(getPopoverOptions());
11397
11406
  }
@@ -11464,6 +11473,10 @@ var stdin_default$w = vue.defineComponent({
11464
11473
  });
11465
11474
  vue.onBeforeUnmount(() => {
11466
11475
  if (popper) {
11476
+ if (inBrowser) {
11477
+ window.removeEventListener("animationend", updateLocation);
11478
+ window.removeEventListener("transitionend", updateLocation);
11479
+ }
11467
11480
  popper.destroy();
11468
11481
  popper = null;
11469
11482
  }
@@ -12482,7 +12495,7 @@ var stdin_default$g = vue.defineComponent({
12482
12495
  let current2;
12483
12496
  let startValue;
12484
12497
  const root = vue.ref();
12485
- const slider = vue.ref();
12498
+ const slider = [vue.ref(), vue.ref()];
12486
12499
  const dragStatus = vue.ref();
12487
12500
  const touch = useTouch();
12488
12501
  const scope = vue.computed(() => Number(props.max) - Number(props.min));
@@ -12674,7 +12687,7 @@ var stdin_default$g = vue.defineComponent({
12674
12687
  const renderButton = (index) => {
12675
12688
  const current22 = typeof index === "number" ? props.modelValue[index] : props.modelValue;
12676
12689
  return vue.createVNode("div", {
12677
- "ref": slider,
12690
+ "ref": slider[index != null ? index : 0],
12678
12691
  "role": "slider",
12679
12692
  "class": getButtonClassName(index),
12680
12693
  "tabindex": props.disabled ? void 0 : 0,
@@ -12697,8 +12710,10 @@ var stdin_default$g = vue.defineComponent({
12697
12710
  };
12698
12711
  updateValue(props.modelValue);
12699
12712
  use.useCustomFieldValue(() => props.modelValue);
12700
- use.useEventListener("touchmove", onTouchMove, {
12701
- target: slider
12713
+ slider.forEach((item) => {
12714
+ use.useEventListener("touchmove", onTouchMove, {
12715
+ target: item
12716
+ });
12702
12717
  });
12703
12718
  return () => vue.createVNode("div", {
12704
12719
  "ref": root,
@@ -12742,7 +12757,7 @@ function filterEmpty(children = []) {
12742
12757
  });
12743
12758
  return nodes.filter((c) => {
12744
12759
  var _a;
12745
- return !(c && (typeof Comment !== "undefined" && c.type === Comment || c.type === vue.Fragment && ((_a = c.children) == null ? void 0 : _a.length) === 0 || c.type === Text && c.children.trim() === ""));
12760
+ return !(c && (c.type === vue.Comment || c.type === vue.Fragment && ((_a = c.children) == null ? void 0 : _a.length) === 0 || c.type === vue.Text && c.children.trim() === ""));
12746
12761
  });
12747
12762
  }
12748
12763
  var stdin_default$f = vue.defineComponent({
@@ -14954,7 +14969,7 @@ const Lazyload = {
14954
14969
  });
14955
14970
  }
14956
14971
  };
14957
- const version = "4.0.9";
14972
+ const version = "4.0.11";
14958
14973
  function install(app) {
14959
14974
  const components = [
14960
14975
  ActionBar,
package/lib/vant.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { unref, ref, reactive, inject, watch, onMounted, nextTick, createVNode, defineComponent, getCurrentInstance, computed, onActivated, onDeactivated, onBeforeUnmount, provide, watchEffect, mergeProps, Transition, withDirectives, vShow, Teleport, Fragment, onBeforeUpdate, createTextVNode, onUnmounted, createApp, resolveDirective, withKeys, onUpdated, h } from "vue";
1
+ import { unref, ref, reactive, inject, watch, onMounted, nextTick, createVNode, defineComponent, getCurrentInstance, computed, onActivated, onDeactivated, onBeforeUnmount, provide, watchEffect, mergeProps, Transition, withDirectives, vShow, Teleport, Fragment, onBeforeUpdate, createTextVNode, onUnmounted, createApp, resolveDirective, withKeys, onUpdated, Comment, Text, h } from "vue";
2
2
  import { useWindowSize, useRect, useChildren, useParent, onMountedOrActivated, getScrollParent, useEventListener, raf, useScrollParent, usePageVisibility, doubleRaf, CUSTOM_FIELD_INJECTION_KEY, useCustomFieldValue, inBrowser as inBrowser$1, useToggle, cancelRaf, useCountDown, useClickAway } from "@vant/use";
3
3
  import { offsetModifier, createPopper } from "@vant/popperjs";
4
4
  const isDef = (val) => val !== void 0 && val !== null;
@@ -1759,7 +1759,7 @@ var stdin_default$1A = defineComponent({
1759
1759
  class: "van-ellipsis",
1760
1760
  [props.allowHtml ? "innerHTML" : "textContent"]: text
1761
1761
  };
1762
- return createVNode("li", data, [slots.option ? slots.option(option) : createVNode("div", childData, null)]);
1762
+ return createVNode("li", data, [slots.option ? slots.option(option, index) : createVNode("div", childData, null)]);
1763
1763
  });
1764
1764
  };
1765
1765
  useParent(PICKER_KEY);
@@ -2848,6 +2848,7 @@ var stdin_default$1u = defineComponent({
2848
2848
  onActivated(setLine);
2849
2849
  onPopupReopen(setLine);
2850
2850
  onMountedOrActivated(init);
2851
+ useVisibilityChange(root, setLine);
2851
2852
  useEventListener("scroll", onScroll, {
2852
2853
  target: scroller,
2853
2854
  passive: true
@@ -3116,12 +3117,13 @@ var stdin_default$1r = defineComponent({
3116
3117
  "confirmButtonText": confirmButtonText,
3117
3118
  "onConfirm": onConfirm,
3118
3119
  "onCancel": onCancel
3119
- }, null), createVNode(Tabs, {
3120
+ }, pick(slots, pickerToolbarSlots)), createVNode(Tabs, {
3120
3121
  "active": activeTab.value,
3121
3122
  "onUpdate:active": ($event) => activeTab.value = $event,
3122
3123
  "class": bem$1c("tabs"),
3123
3124
  "shrink": true,
3124
- "animated": true
3125
+ "animated": true,
3126
+ "lazyRender": false
3125
3127
  }, {
3126
3128
  default: () => [props.tabs.map((title, index) => createVNode(Tab, {
3127
3129
  "title": title,
@@ -3207,9 +3209,11 @@ var stdin_default$1q = defineComponent({
3207
3209
  }
3208
3210
  });
3209
3211
  }
3210
- emit("change", extend({
3211
- columnIndex
3212
- }, getEventParams()));
3212
+ nextTick(() => {
3213
+ emit("change", extend({
3214
+ columnIndex
3215
+ }, getEventParams()));
3216
+ });
3213
3217
  };
3214
3218
  const onClickOption = (currentOption, columnIndex) => emit("clickOption", extend({
3215
3219
  columnIndex,
@@ -5594,6 +5598,7 @@ const [name$12, bem$_] = createNamespace("back-top");
5594
5598
  const backTopProps = {
5595
5599
  right: numericProp,
5596
5600
  bottom: numericProp,
5601
+ zIndex: numericProp,
5597
5602
  target: [String, Object],
5598
5603
  offset: makeNumericProp(200),
5599
5604
  immediate: Boolean,
@@ -5615,7 +5620,7 @@ var stdin_default$1b = defineComponent({
5615
5620
  const show = ref(false);
5616
5621
  const root = ref();
5617
5622
  const scrollParent = ref();
5618
- const style = computed(() => ({
5623
+ const style = computed(() => extend(getZIndexStyle(props.zIndex), {
5619
5624
  right: addUnit(props.right),
5620
5625
  bottom: addUnit(props.bottom)
5621
5626
  }));
@@ -11390,6 +11395,10 @@ var stdin_default$w = defineComponent({
11390
11395
  }
11391
11396
  if (!popper) {
11392
11397
  popper = createPopperInstance();
11398
+ if (inBrowser) {
11399
+ window.addEventListener("animationend", updateLocation);
11400
+ window.addEventListener("transitionend", updateLocation);
11401
+ }
11393
11402
  } else {
11394
11403
  popper.setOptions(getPopoverOptions());
11395
11404
  }
@@ -11462,6 +11471,10 @@ var stdin_default$w = defineComponent({
11462
11471
  });
11463
11472
  onBeforeUnmount(() => {
11464
11473
  if (popper) {
11474
+ if (inBrowser) {
11475
+ window.removeEventListener("animationend", updateLocation);
11476
+ window.removeEventListener("transitionend", updateLocation);
11477
+ }
11465
11478
  popper.destroy();
11466
11479
  popper = null;
11467
11480
  }
@@ -12480,7 +12493,7 @@ var stdin_default$g = defineComponent({
12480
12493
  let current2;
12481
12494
  let startValue;
12482
12495
  const root = ref();
12483
- const slider = ref();
12496
+ const slider = [ref(), ref()];
12484
12497
  const dragStatus = ref();
12485
12498
  const touch = useTouch();
12486
12499
  const scope = computed(() => Number(props.max) - Number(props.min));
@@ -12672,7 +12685,7 @@ var stdin_default$g = defineComponent({
12672
12685
  const renderButton = (index) => {
12673
12686
  const current22 = typeof index === "number" ? props.modelValue[index] : props.modelValue;
12674
12687
  return createVNode("div", {
12675
- "ref": slider,
12688
+ "ref": slider[index != null ? index : 0],
12676
12689
  "role": "slider",
12677
12690
  "class": getButtonClassName(index),
12678
12691
  "tabindex": props.disabled ? void 0 : 0,
@@ -12695,8 +12708,10 @@ var stdin_default$g = defineComponent({
12695
12708
  };
12696
12709
  updateValue(props.modelValue);
12697
12710
  useCustomFieldValue(() => props.modelValue);
12698
- useEventListener("touchmove", onTouchMove, {
12699
- target: slider
12711
+ slider.forEach((item) => {
12712
+ useEventListener("touchmove", onTouchMove, {
12713
+ target: item
12714
+ });
12700
12715
  });
12701
12716
  return () => createVNode("div", {
12702
12717
  "ref": root,
@@ -12740,7 +12755,7 @@ function filterEmpty(children = []) {
12740
12755
  });
12741
12756
  return nodes.filter((c) => {
12742
12757
  var _a;
12743
- return !(c && (typeof Comment !== "undefined" && c.type === Comment || c.type === Fragment && ((_a = c.children) == null ? void 0 : _a.length) === 0 || c.type === Text && c.children.trim() === ""));
12758
+ return !(c && (c.type === Comment || c.type === Fragment && ((_a = c.children) == null ? void 0 : _a.length) === 0 || c.type === Text && c.children.trim() === ""));
12744
12759
  });
12745
12760
  }
12746
12761
  var stdin_default$f = defineComponent({
@@ -14952,7 +14967,7 @@ const Lazyload = {
14952
14967
  });
14953
14968
  }
14954
14969
  };
14955
- const version = "4.0.9";
14970
+ const version = "4.0.11";
14956
14971
  function install(app) {
14957
14972
  const components = [
14958
14973
  ActionBar,