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/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  <h1 align="center">Vant</h1>
6
6
 
7
- <p align="center">Lightweight Mobile UI Components built on Vue</p>
7
+ <p align="center">A lightweight, customizable Vue UI library for mobile web apps.</p>
8
8
 
9
9
  <p align="center">
10
10
  <img src="https://img.shields.io/npm/v/vant?style=flat-square" alt="npm version" />
@@ -33,13 +33,13 @@
33
33
  - πŸ“– Extensive documentation and demos
34
34
  - πŸ“– Provide Sketch and Axure design resources
35
35
  - 🍭 Support Vue 2 & Vue 3
36
+ - 🍭 Support Nuxt 2 & Nuxt 3, provide [Vant Module](https://github.com/vant-ui/vant-nuxt) for Nuxt
36
37
  - 🍭 Support Tree Shaking
37
38
  - 🍭 Support Custom Theme
38
39
  - 🍭 Support Accessibility (still improving)
39
40
  - 🍭 Support Dark Mode
40
- - 🍭 Support Nuxt 3
41
41
  - 🍭 Support SSR
42
- - 🌍 Support i18n, built-in 20+ languages
42
+ - 🌍 Support i18n, built-in 30+ languages
43
43
 
44
44
  ## Install
45
45
 
@@ -80,10 +80,6 @@ app.use(Button);
80
80
 
81
81
  See more in [Quickstart](https://vant-ui.github.io/vant#/en-US/quickstart).
82
82
 
83
- ## Start On Visual Studio Code Web
84
-
85
- [https://github.dev/youzan/vant](https://github.dev/youzan/vant)
86
-
87
83
  ## Browser Support
88
84
 
89
85
  Vant 2 supports modern browsers and Android >= 4.0、iOS >= 8.0.
@@ -99,6 +95,7 @@ Vant 3/4 supports modern browsers and Chrome >= 51、iOS >= 10.0 (same as Vue 3)
99
95
  | [vant-cli](https://github.com/vant-ui/vant/tree/main/packages/vant-cli) | Scaffold for UI library |
100
96
  | [vant-icons](https://github.com/vant-ui/vant/tree/main/packages/vant-icons) | Vant icons |
101
97
  | [vant-touch-emulator](https://github.com/vant-ui/vant/tree/main/packages/vant-touch-emulator) | Using vant in desktop browsers |
98
+ | [vant-nuxt](https://github.com/vant-ui/vant-nuxt) | Vant module for Nuxt |
102
99
 
103
100
  ## Community Ecosystem
104
101
 
@@ -143,6 +140,10 @@ Thanks to the following friends for their contributions to Vant:
143
140
 
144
141
  Please make sure to read the [Contributing Guide](./.github/CONTRIBUTING.md) before making a pull request.
145
142
 
143
+ ## Start On Web IDE
144
+
145
+ [https://github.dev/youzan/vant](https://github.dev/youzan/vant)
146
+
146
147
  ## LICENSE
147
148
 
148
- [MIT](https://en.wikipedia.org/wiki/MIT_License)
149
+ Vant is [MIT](https://github.com/youzan/vant/blob/main/LICENSE) licensed.
@@ -2,6 +2,7 @@ import { type PropType, type ExtractPropTypes } from 'vue';
2
2
  export declare const backTopProps: {
3
3
  right: (NumberConstructor | StringConstructor)[];
4
4
  bottom: (NumberConstructor | StringConstructor)[];
5
+ zIndex: (NumberConstructor | StringConstructor)[];
5
6
  target: PropType<string | import("vue").RendererElement | null | undefined>;
6
7
  offset: {
7
8
  type: (NumberConstructor | StringConstructor)[];
@@ -17,6 +18,7 @@ export type BackTopProps = ExtractPropTypes<typeof backTopProps>;
17
18
  declare const _default: import("vue").DefineComponent<{
18
19
  right: (NumberConstructor | StringConstructor)[];
19
20
  bottom: (NumberConstructor | StringConstructor)[];
21
+ zIndex: (NumberConstructor | StringConstructor)[];
20
22
  target: PropType<string | import("vue").RendererElement | null | undefined>;
21
23
  offset: {
22
24
  type: (NumberConstructor | StringConstructor)[];
@@ -30,6 +32,7 @@ declare const _default: import("vue").DefineComponent<{
30
32
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
31
33
  right: (NumberConstructor | StringConstructor)[];
32
34
  bottom: (NumberConstructor | StringConstructor)[];
35
+ zIndex: (NumberConstructor | StringConstructor)[];
33
36
  target: PropType<string | import("vue").RendererElement | null | undefined>;
34
37
  offset: {
35
38
  type: (NumberConstructor | StringConstructor)[];
@@ -1,6 +1,6 @@
1
1
  import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  import { ref, watch, computed, Teleport, nextTick, onMounted, defineComponent } from "vue";
3
- import { addUnit, inBrowser, numericProp, getScrollTop, createNamespace, makeNumericProp } from "../utils/index.mjs";
3
+ import { extend, addUnit, inBrowser, numericProp, getScrollTop, getZIndexStyle, createNamespace, makeNumericProp } from "../utils/index.mjs";
4
4
  import { throttle } from "../lazyload/vue-lazyload/util.mjs";
5
5
  import { useEventListener, getScrollParent } from "@vant/use";
6
6
  import { Icon } from "../icon/index.mjs";
@@ -8,6 +8,7 @@ const [name, bem] = createNamespace("back-top");
8
8
  const backTopProps = {
9
9
  right: numericProp,
10
10
  bottom: numericProp,
11
+ zIndex: numericProp,
11
12
  target: [String, Object],
12
13
  offset: makeNumericProp(200),
13
14
  immediate: Boolean,
@@ -29,7 +30,7 @@ var stdin_default = defineComponent({
29
30
  const show = ref(false);
30
31
  const root = ref();
31
32
  const scrollParent = ref();
32
- const style = computed(() => ({
33
+ const style = computed(() => extend(getZIndexStyle(props.zIndex), {
33
34
  right: addUnit(props.right),
34
35
  bottom: addUnit(props.bottom)
35
36
  }));
@@ -1 +1 @@
1
- :root{--van-back-top-size: 40px;--van-back-top-right: 30px;--van-back-top-bottom: 40px;--van-back-top-icon-size: 20px;--van-back-top-text-color: #fff;--van-back-top-background: var(--van-blue)}.van-back-top{position:fixed;display:flex;align-items:center;justify-content:center;width:var(--van-back-top-size);height:var(--van-back-top-size);right:var(--van-back-top-right);bottom:var(--van-back-top-bottom);cursor:pointer;color:var(--van-back-top-text-color);border-radius:var(--van-radius-max);box-shadow:0 2px 8px rgba(0,0,0,.12);transform:scale(0);transition:var(--van-duration-base) cubic-bezier(.25,.8,.5,1);background-color:var(--van-back-top-background)}.van-back-top:active{opacity:var(--van-active-opacity)}.van-back-top--active{transform:scale(1)}.van-back-top__icon{font-size:var(--van-back-top-icon-size);font-weight:var(--van-font-bold)}
1
+ :root{--van-back-top-size: 40px;--van-back-top-right: 30px;--van-back-top-bottom: 40px;--van-back-top-z-index: 100;--van-back-top-icon-size: 20px;--van-back-top-text-color: #fff;--van-back-top-background: var(--van-blue)}.van-back-top{position:fixed;display:flex;align-items:center;justify-content:center;width:var(--van-back-top-size);height:var(--van-back-top-size);right:var(--van-back-top-right);bottom:var(--van-back-top-bottom);z-index:var(--van-back-top-z-index);cursor:pointer;color:var(--van-back-top-text-color);border-radius:var(--van-radius-max);box-shadow:0 2px 8px rgba(0,0,0,.12);transform:scale(0);transition:var(--van-duration-base) cubic-bezier(.25,.8,.5,1);background-color:var(--van-back-top-background)}.van-back-top:active{opacity:var(--van-active-opacity)}.van-back-top--active{transform:scale(1)}.van-back-top__icon{font-size:var(--van-back-top-icon-size);font-weight:var(--van-font-bold)}
@@ -1,6 +1,7 @@
1
1
  export declare const BackTop: import("../utils").WithInstall<import("vue").DefineComponent<{
2
2
  right: (NumberConstructor | StringConstructor)[];
3
3
  bottom: (NumberConstructor | StringConstructor)[];
4
+ zIndex: (NumberConstructor | StringConstructor)[];
4
5
  target: import("vue").PropType<string | import("vue").RendererElement | null | undefined>;
5
6
  offset: {
6
7
  type: (NumberConstructor | StringConstructor)[];
@@ -14,6 +15,7 @@ export declare const BackTop: import("../utils").WithInstall<import("vue").Defin
14
15
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
16
  right: (NumberConstructor | StringConstructor)[];
16
17
  bottom: (NumberConstructor | StringConstructor)[];
18
+ zIndex: (NumberConstructor | StringConstructor)[];
17
19
  target: import("vue").PropType<string | import("vue").RendererElement | null | undefined>;
18
20
  offset: {
19
21
  type: (NumberConstructor | StringConstructor)[];
@@ -1,5 +1,8 @@
1
1
  export type BackTopThemeVars = {
2
2
  backTopSize?: string;
3
+ backTopRight?: string;
4
+ backTopBottom?: string;
5
+ backTopZIndex?: number | string;
3
6
  backTopIconSize?: string;
4
7
  backTopTextColor?: string;
5
8
  backTopBackground?: string;
package/es/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/es/index.mjs CHANGED
@@ -91,7 +91,7 @@ import { TimePicker } from "./time-picker/index.mjs";
91
91
  import { Toast } from "./toast/index.mjs";
92
92
  import { TreeSelect } from "./tree-select/index.mjs";
93
93
  import { Uploader } from "./uploader/index.mjs";
94
- const version = "4.0.9";
94
+ const version = "4.0.11";
95
95
  function install(app) {
96
96
  const components = [
97
97
  ActionBar,
@@ -82,9 +82,11 @@ var stdin_default = defineComponent({
82
82
  }
83
83
  });
84
84
  }
85
- emit("change", extend({
86
- columnIndex
87
- }, getEventParams()));
85
+ nextTick(() => {
86
+ emit("change", extend({
87
+ columnIndex
88
+ }, getEventParams()));
89
+ });
88
90
  };
89
91
  const onClickOption = (currentOption, columnIndex) => emit("clickOption", extend({
90
92
  columnIndex,
@@ -154,7 +154,7 @@ var stdin_default = defineComponent({
154
154
  class: "van-ellipsis",
155
155
  [props.allowHtml ? "innerHTML" : "textContent"]: text
156
156
  };
157
- return _createVNode("li", data, [slots.option ? slots.option(option) : _createVNode("div", childData, null)]);
157
+ return _createVNode("li", data, [slots.option ? slots.option(option, index) : _createVNode("div", childData, null)]);
158
158
  });
159
159
  };
160
160
  useParent(PICKER_KEY);
@@ -1,10 +1,10 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import { ref, defineComponent } from "vue";
3
- import { extend, makeArrayProp, createNamespace } from "../utils/index.mjs";
3
+ import { extend, pick, makeArrayProp, createNamespace } from "../utils/index.mjs";
4
4
  import { useChildren } from "@vant/use";
5
5
  import { Tab } from "../tab/index.mjs";
6
6
  import { Tabs } from "../tabs/index.mjs";
7
- import Toolbar, { pickerToolbarProps } from "../picker/PickerToolbar.mjs";
7
+ import Toolbar, { pickerToolbarProps, pickerToolbarSlots } from "../picker/PickerToolbar.mjs";
8
8
  const [name, bem] = createNamespace("picker-group");
9
9
  const PICKER_GROUP_KEY = Symbol(name);
10
10
  const pickerGroupProps = extend({
@@ -46,12 +46,13 @@ var stdin_default = defineComponent({
46
46
  "confirmButtonText": confirmButtonText,
47
47
  "onConfirm": onConfirm,
48
48
  "onCancel": onCancel
49
- }, null), _createVNode(Tabs, {
49
+ }, pick(slots, pickerToolbarSlots)), _createVNode(Tabs, {
50
50
  "active": activeTab.value,
51
51
  "onUpdate:active": ($event) => activeTab.value = $event,
52
52
  "class": bem("tabs"),
53
53
  "shrink": true,
54
- "animated": true
54
+ "animated": true,
55
+ "lazyRender": false
55
56
  }, {
56
57
  default: () => [props.tabs.map((title, index) => _createVNode(Tab, {
57
58
  "title": title,
@@ -1,7 +1,7 @@
1
1
  import { mergeProps as _mergeProps, Fragment as _Fragment, createVNode as _createVNode } from "vue";
2
2
  import { ref, watch, nextTick, onMounted, watchEffect, onBeforeUnmount, defineComponent } from "vue";
3
3
  import { createPopper, offsetModifier } from "@vant/popperjs";
4
- import { pick, extend, truthProp, numericProp, unknownProp, BORDER_BOTTOM, makeArrayProp, makeStringProp, createNamespace } from "../utils/index.mjs";
4
+ import { pick, extend, inBrowser, truthProp, numericProp, unknownProp, BORDER_BOTTOM, makeArrayProp, makeStringProp, createNamespace } from "../utils/index.mjs";
5
5
  import { useClickAway } from "@vant/use";
6
6
  import { useSyncPropRef } from "../composables/use-sync-prop-ref.mjs";
7
7
  import { Icon } from "../icon/index.mjs";
@@ -73,6 +73,10 @@ var stdin_default = defineComponent({
73
73
  }
74
74
  if (!popper) {
75
75
  popper = createPopperInstance();
76
+ if (inBrowser) {
77
+ window.addEventListener("animationend", updateLocation);
78
+ window.addEventListener("transitionend", updateLocation);
79
+ }
76
80
  } else {
77
81
  popper.setOptions(getPopoverOptions());
78
82
  }
@@ -145,6 +149,10 @@ var stdin_default = defineComponent({
145
149
  });
146
150
  onBeforeUnmount(() => {
147
151
  if (popper) {
152
+ if (inBrowser) {
153
+ window.removeEventListener("animationend", updateLocation);
154
+ window.removeEventListener("transitionend", updateLocation);
155
+ }
148
156
  popper.destroy();
149
157
  popper = null;
150
158
  }
@@ -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)}
@@ -34,7 +34,7 @@ var stdin_default = defineComponent({
34
34
  let current;
35
35
  let startValue;
36
36
  const root = ref();
37
- const slider = ref();
37
+ const slider = [ref(), ref()];
38
38
  const dragStatus = ref();
39
39
  const touch = useTouch();
40
40
  const scope = computed(() => Number(props.max) - Number(props.min));
@@ -226,7 +226,7 @@ var stdin_default = defineComponent({
226
226
  const renderButton = (index) => {
227
227
  const current2 = typeof index === "number" ? props.modelValue[index] : props.modelValue;
228
228
  return _createVNode("div", {
229
- "ref": slider,
229
+ "ref": slider[index != null ? index : 0],
230
230
  "role": "slider",
231
231
  "class": getButtonClassName(index),
232
232
  "tabindex": props.disabled ? void 0 : 0,
@@ -249,8 +249,10 @@ var stdin_default = defineComponent({
249
249
  };
250
250
  updateValue(props.modelValue);
251
251
  useCustomFieldValue(() => props.modelValue);
252
- useEventListener("touchmove", onTouchMove, {
253
- target: slider
252
+ slider.forEach((item) => {
253
+ useEventListener("touchmove", onTouchMove, {
254
+ target: item
255
+ });
254
256
  });
255
257
  return () => _createVNode("div", {
256
258
  "ref": root,
@@ -1,5 +1,5 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { computed, defineComponent, Fragment } from "vue";
2
+ import { computed, Comment, defineComponent, Fragment, Text } from "vue";
3
3
  import { createNamespace } from "../utils/index.mjs";
4
4
  const [name, bem] = createNamespace("space");
5
5
  const spaceProps = {
@@ -28,7 +28,7 @@ function filterEmpty(children = []) {
28
28
  });
29
29
  return nodes.filter((c) => {
30
30
  var _a;
31
- 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() === ""));
31
+ return !(c && (c.type === Comment || c.type === Fragment && ((_a = c.children) == null ? void 0 : _a.length) === 0 || c.type === Text && c.children.trim() === ""));
32
32
  });
33
33
  }
34
34
  var stdin_default = defineComponent({
package/es/tabs/Tabs.mjs CHANGED
@@ -8,6 +8,7 @@ import { route } from "../composables/use-route.mjs";
8
8
  import { useRefs } from "../composables/use-refs.mjs";
9
9
  import { useExpose } from "../composables/use-expose.mjs";
10
10
  import { onPopupReopen } from "../composables/on-popup-reopen.mjs";
11
+ import { useVisibilityChange } from "../composables/use-visibility-change.mjs";
11
12
  import { Sticky } from "../sticky/index.mjs";
12
13
  import TabsTitle from "./TabsTitle.mjs";
13
14
  import TabsContent from "./TabsContent.mjs";
@@ -320,6 +321,7 @@ var stdin_default = defineComponent({
320
321
  onActivated(setLine);
321
322
  onPopupReopen(setLine);
322
323
  onMountedOrActivated(init);
324
+ useVisibilityChange(root, setLine);
323
325
  useEventListener("scroll", onScroll, {
324
326
  target: scroller,
325
327
  passive: true
@@ -2,6 +2,7 @@ import { type PropType, type ExtractPropTypes } from 'vue';
2
2
  export declare const backTopProps: {
3
3
  right: (NumberConstructor | StringConstructor)[];
4
4
  bottom: (NumberConstructor | StringConstructor)[];
5
+ zIndex: (NumberConstructor | StringConstructor)[];
5
6
  target: PropType<string | import("vue").RendererElement | null | undefined>;
6
7
  offset: {
7
8
  type: (NumberConstructor | StringConstructor)[];
@@ -17,6 +18,7 @@ export type BackTopProps = ExtractPropTypes<typeof backTopProps>;
17
18
  declare const _default: import("vue").DefineComponent<{
18
19
  right: (NumberConstructor | StringConstructor)[];
19
20
  bottom: (NumberConstructor | StringConstructor)[];
21
+ zIndex: (NumberConstructor | StringConstructor)[];
20
22
  target: PropType<string | import("vue").RendererElement | null | undefined>;
21
23
  offset: {
22
24
  type: (NumberConstructor | StringConstructor)[];
@@ -30,6 +32,7 @@ declare const _default: import("vue").DefineComponent<{
30
32
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
31
33
  right: (NumberConstructor | StringConstructor)[];
32
34
  bottom: (NumberConstructor | StringConstructor)[];
35
+ zIndex: (NumberConstructor | StringConstructor)[];
33
36
  target: PropType<string | import("vue").RendererElement | null | undefined>;
34
37
  offset: {
35
38
  type: (NumberConstructor | StringConstructor)[];
@@ -31,6 +31,7 @@ const [name, bem] = (0, import_utils.createNamespace)("back-top");
31
31
  const backTopProps = {
32
32
  right: import_utils.numericProp,
33
33
  bottom: import_utils.numericProp,
34
+ zIndex: import_utils.numericProp,
34
35
  target: [String, Object],
35
36
  offset: (0, import_utils.makeNumericProp)(200),
36
37
  immediate: Boolean,
@@ -52,7 +53,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
52
53
  const show = (0, import_vue2.ref)(false);
53
54
  const root = (0, import_vue2.ref)();
54
55
  const scrollParent = (0, import_vue2.ref)();
55
- const style = (0, import_vue2.computed)(() => ({
56
+ const style = (0, import_vue2.computed)(() => (0, import_utils.extend)((0, import_utils.getZIndexStyle)(props.zIndex), {
56
57
  right: (0, import_utils.addUnit)(props.right),
57
58
  bottom: (0, import_utils.addUnit)(props.bottom)
58
59
  }));
@@ -1 +1 @@
1
- :root{--van-back-top-size: 40px;--van-back-top-right: 30px;--van-back-top-bottom: 40px;--van-back-top-icon-size: 20px;--van-back-top-text-color: #fff;--van-back-top-background: var(--van-blue)}.van-back-top{position:fixed;display:flex;align-items:center;justify-content:center;width:var(--van-back-top-size);height:var(--van-back-top-size);right:var(--van-back-top-right);bottom:var(--van-back-top-bottom);cursor:pointer;color:var(--van-back-top-text-color);border-radius:var(--van-radius-max);box-shadow:0 2px 8px rgba(0,0,0,.12);transform:scale(0);transition:var(--van-duration-base) cubic-bezier(.25,.8,.5,1);background-color:var(--van-back-top-background)}.van-back-top:active{opacity:var(--van-active-opacity)}.van-back-top--active{transform:scale(1)}.van-back-top__icon{font-size:var(--van-back-top-icon-size);font-weight:var(--van-font-bold)}
1
+ :root{--van-back-top-size: 40px;--van-back-top-right: 30px;--van-back-top-bottom: 40px;--van-back-top-z-index: 100;--van-back-top-icon-size: 20px;--van-back-top-text-color: #fff;--van-back-top-background: var(--van-blue)}.van-back-top{position:fixed;display:flex;align-items:center;justify-content:center;width:var(--van-back-top-size);height:var(--van-back-top-size);right:var(--van-back-top-right);bottom:var(--van-back-top-bottom);z-index:var(--van-back-top-z-index);cursor:pointer;color:var(--van-back-top-text-color);border-radius:var(--van-radius-max);box-shadow:0 2px 8px rgba(0,0,0,.12);transform:scale(0);transition:var(--van-duration-base) cubic-bezier(.25,.8,.5,1);background-color:var(--van-back-top-background)}.van-back-top:active{opacity:var(--van-active-opacity)}.van-back-top--active{transform:scale(1)}.van-back-top__icon{font-size:var(--van-back-top-icon-size);font-weight:var(--van-font-bold)}
@@ -1,6 +1,7 @@
1
1
  export declare const BackTop: import("../utils").WithInstall<import("vue").DefineComponent<{
2
2
  right: (NumberConstructor | StringConstructor)[];
3
3
  bottom: (NumberConstructor | StringConstructor)[];
4
+ zIndex: (NumberConstructor | StringConstructor)[];
4
5
  target: import("vue").PropType<string | import("vue").RendererElement | null | undefined>;
5
6
  offset: {
6
7
  type: (NumberConstructor | StringConstructor)[];
@@ -14,6 +15,7 @@ export declare const BackTop: import("../utils").WithInstall<import("vue").Defin
14
15
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
16
  right: (NumberConstructor | StringConstructor)[];
16
17
  bottom: (NumberConstructor | StringConstructor)[];
18
+ zIndex: (NumberConstructor | StringConstructor)[];
17
19
  target: import("vue").PropType<string | import("vue").RendererElement | null | undefined>;
18
20
  offset: {
19
21
  type: (NumberConstructor | StringConstructor)[];
@@ -1,5 +1,8 @@
1
1
  export type BackTopThemeVars = {
2
2
  backTopSize?: string;
3
+ backTopRight?: string;
4
+ backTopBottom?: string;
5
+ backTopZIndex?: number | string;
3
6
  backTopIconSize?: string;
4
7
  backTopTextColor?: string;
5
8
  backTopBackground?: string;