vant 3.5.2 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +17 -13
  2. package/changelog.generated.md +85 -0
  3. package/es/badge/Badge.mjs +1 -1
  4. package/es/button/index.less +1 -1
  5. package/es/calendar/Calendar.mjs +6 -5
  6. package/es/calendar/types.d.ts +1 -0
  7. package/es/cell/Cell.d.ts +1 -1
  8. package/es/cell/index.d.ts +1 -1
  9. package/es/collapse/Collapse.d.ts +8 -1
  10. package/es/collapse/Collapse.mjs +28 -1
  11. package/es/collapse/index.d.ts +1 -1
  12. package/es/collapse-item/CollapseItem.d.ts +1 -1
  13. package/es/collapse-item/CollapseItem.mjs +3 -1
  14. package/es/collapse-item/index.d.ts +1 -1
  15. package/es/collapse-item/index.less +1 -1
  16. package/es/composables/use-global-z-index.d.ts +4 -0
  17. package/es/composables/use-global-z-index.mjs +9 -0
  18. package/es/composables/use-height.d.ts +1 -1
  19. package/es/composables/use-height.mjs +8 -2
  20. package/es/composables/use-lock-scroll.mjs +3 -1
  21. package/es/composables/use-placeholder.mjs +1 -1
  22. package/es/config-provider/ConfigProvider.d.ts +3 -0
  23. package/es/config-provider/ConfigProvider.mjs +8 -1
  24. package/es/config-provider/index.d.ts +2 -0
  25. package/es/dialog/Dialog.d.ts +1 -1
  26. package/es/empty/Empty.d.ts +1 -1
  27. package/es/empty/Empty.mjs +281 -16
  28. package/es/field/Field.d.ts +1 -1
  29. package/es/field/Field.mjs +4 -1
  30. package/es/field/index.d.ts +1 -1
  31. package/es/field/index.less +1 -1
  32. package/es/field/types.d.ts +1 -0
  33. package/es/field/utils.d.ts +1 -0
  34. package/es/field/utils.mjs +8 -2
  35. package/es/grid-item/index.less +1 -1
  36. package/es/index.d.ts +2 -1
  37. package/es/index.mjs +4 -1
  38. package/es/locale/index.d.ts +1 -1
  39. package/es/popover/Popover.mjs +28 -27
  40. package/es/popup/Popup.mjs +6 -5
  41. package/es/pull-refresh/PullRefresh.mjs +10 -3
  42. package/es/search/index.css +1 -1
  43. package/es/search/index.less +3 -1
  44. package/es/sidebar-item/index.less +1 -1
  45. package/es/space/Space.d.ts +48 -0
  46. package/es/space/Space.mjs +87 -0
  47. package/es/space/index.css +1 -0
  48. package/es/space/index.d.ts +37 -0
  49. package/es/space/index.less +38 -0
  50. package/es/space/index.mjs +8 -0
  51. package/es/space/style/index.d.ts +1 -0
  52. package/es/space/style/index.mjs +2 -0
  53. package/es/space/style/less.d.ts +1 -0
  54. package/es/space/style/less.mjs +2 -0
  55. package/es/swipe/index.less +1 -1
  56. package/es/switch/index.less +1 -1
  57. package/es/toast/index.less +1 -1
  58. package/es/uploader/Uploader.mjs +1 -1
  59. package/es/utils/basic.d.ts +3 -3
  60. package/es/utils/create.d.ts +1 -1
  61. package/lib/badge/Badge.js +1 -1
  62. package/lib/button/index.less +1 -1
  63. package/lib/calendar/Calendar.js +6 -5
  64. package/lib/calendar/types.d.ts +1 -0
  65. package/lib/cell/Cell.d.ts +1 -1
  66. package/lib/cell/index.d.ts +1 -1
  67. package/lib/collapse/Collapse.d.ts +8 -1
  68. package/lib/collapse/Collapse.js +28 -1
  69. package/lib/collapse/index.d.ts +1 -1
  70. package/lib/collapse-item/CollapseItem.d.ts +1 -1
  71. package/lib/collapse-item/CollapseItem.js +3 -1
  72. package/lib/collapse-item/index.d.ts +1 -1
  73. package/lib/collapse-item/index.less +1 -1
  74. package/lib/composables/use-global-z-index.d.ts +4 -0
  75. package/lib/composables/use-global-z-index.js +28 -0
  76. package/lib/composables/use-height.d.ts +1 -1
  77. package/lib/composables/use-height.js +8 -2
  78. package/lib/composables/use-lock-scroll.js +3 -1
  79. package/lib/composables/use-placeholder.js +1 -1
  80. package/lib/config-provider/ConfigProvider.d.ts +3 -0
  81. package/lib/config-provider/ConfigProvider.js +7 -0
  82. package/lib/config-provider/index.d.ts +2 -0
  83. package/lib/dialog/Dialog.d.ts +1 -1
  84. package/lib/empty/Empty.d.ts +1 -1
  85. package/lib/empty/Empty.js +281 -16
  86. package/lib/field/Field.d.ts +1 -1
  87. package/lib/field/Field.js +3 -0
  88. package/lib/field/index.d.ts +1 -1
  89. package/lib/field/index.less +1 -1
  90. package/lib/field/types.d.ts +1 -0
  91. package/lib/field/utils.d.ts +1 -0
  92. package/lib/field/utils.js +8 -2
  93. package/lib/grid-item/index.less +1 -1
  94. package/lib/index.css +1 -1
  95. package/lib/index.d.ts +2 -1
  96. package/lib/index.js +4 -1
  97. package/lib/index.less +1 -0
  98. package/lib/locale/index.d.ts +1 -1
  99. package/lib/popover/Popover.js +27 -26
  100. package/lib/popup/Popup.js +6 -5
  101. package/lib/pull-refresh/PullRefresh.js +9 -2
  102. package/lib/search/index.css +1 -1
  103. package/lib/search/index.less +3 -1
  104. package/lib/sidebar-item/index.less +1 -1
  105. package/lib/space/Space.d.ts +48 -0
  106. package/lib/space/Space.js +106 -0
  107. package/lib/space/index.css +1 -0
  108. package/lib/space/index.d.ts +37 -0
  109. package/lib/space/index.js +30 -0
  110. package/lib/space/index.less +38 -0
  111. package/lib/space/style/index.d.ts +1 -0
  112. package/lib/space/style/index.js +2 -0
  113. package/lib/space/style/less.d.ts +1 -0
  114. package/lib/space/style/less.js +2 -0
  115. package/lib/swipe/index.less +1 -1
  116. package/lib/switch/index.less +1 -1
  117. package/lib/toast/index.less +1 -1
  118. package/lib/uploader/Uploader.js +1 -1
  119. package/lib/utils/basic.d.ts +3 -3
  120. package/lib/utils/create.d.ts +1 -1
  121. package/lib/vant.cjs.js +1305 -1084
  122. package/lib/vant.es.js +1394 -1083
  123. package/lib/vant.js +1235 -1083
  124. package/lib/vant.min.js +1 -1
  125. package/{vetur → lib}/web-types.json +738 -666
  126. package/package.json +10 -15
  127. package/es/empty/Images.d.ts +0 -4
  128. package/es/empty/Images.mjs +0 -271
  129. package/lib/empty/Images.d.ts +0 -4
  130. package/lib/empty/Images.js +0 -290
  131. package/vetur/attributes.json +0 -3482
  132. package/vetur/tags.json +0 -1204
@@ -1,7 +1,7 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import { ref, watch, reactive, nextTick, defineComponent } from "vue";
3
3
  import { numericProp, getScrollTop, preventDefault, createNamespace, makeNumericProp } from "../utils/index.mjs";
4
- import { useScrollParent } from "@vant/use";
4
+ import { useEventListener, useScrollParent } from "@vant/use";
5
5
  import { useTouch } from "../composables/use-touch.mjs";
6
6
  import { Loading } from "../loading/index.mjs";
7
7
  const [name, bem, t] = createNamespace("pull-refresh");
@@ -29,6 +29,7 @@ var stdin_default = defineComponent({
29
29
  }) {
30
30
  let reachTop;
31
31
  const root = ref();
32
+ const track = ref();
32
33
  const scrollParent = useScrollParent(root);
33
34
  const state = reactive({
34
35
  status: "normal",
@@ -161,6 +162,13 @@ var stdin_default = defineComponent({
161
162
  setStatus(0, false);
162
163
  }
163
164
  });
165
+ useEventListener("touchstart", onTouchStart, {
166
+ target: track,
167
+ passive: true
168
+ });
169
+ useEventListener("touchmove", onTouchMove, {
170
+ target: track
171
+ });
164
172
  return () => {
165
173
  var _a;
166
174
  const trackStyle = {
@@ -171,10 +179,9 @@ var stdin_default = defineComponent({
171
179
  "ref": root,
172
180
  "class": bem()
173
181
  }, [_createVNode("div", {
182
+ "ref": track,
174
183
  "class": bem("track"),
175
184
  "style": trackStyle,
176
- "onTouchstart": onTouchStart,
177
- "onTouchmove": onTouchMove,
178
185
  "onTouchend": onTouchEnd,
179
186
  "onTouchcancel": onTouchEnd
180
187
  }, [_createVNode("div", {
@@ -1 +1 @@
1
- :root{--van-search-padding: 10px var(--van-padding-sm);--van-search-background-color: var(--van-background-color-light);--van-search-content-background-color: var(--van-gray-1);--van-search-input-height: 34px;--van-search-label-padding: 0 5px;--van-search-label-color: var(--van-text-color);--van-search-label-font-size: var(--van-font-size-md);--van-search-left-icon-color: var(--van-gray-6);--van-search-action-padding: 0 var(--van-padding-xs);--van-search-action-text-color: var(--van-text-color);--van-search-action-font-size: var(--van-font-size-md)}.van-search{display:flex;align-items:center;box-sizing:border-box;padding:var(--van-search-padding);background:var(--van-search-background-color)}.van-search__content{display:flex;flex:1;padding-left:var(--van-padding-sm);background:var(--van-search-content-background-color);border-radius:var(--van-border-radius-sm)}.van-search__content--round{border-radius:var(--van-border-radius-max)}.van-search__label{padding:var(--van-search-label-padding);color:var(--van-search-label-color);font-size:var(--van-search-label-font-size);line-height:var(--van-search-input-height)}.van-search__field{flex:1;padding:5px var(--van-padding-xs) 5px 0;background-color:transparent}.van-search__field .van-field__left-icon{color:var(--van-search-left-icon-color)}.van-search--show-action{padding-right:0}.van-search input::-webkit-search-decoration,.van-search input::-webkit-search-cancel-button,.van-search input::-webkit-search-results-button,.van-search input::-webkit-search-results-decoration{display:none}.van-search__action{padding:var(--van-search-action-padding);color:var(--van-search-action-text-color);font-size:var(--van-search-action-font-size);line-height:var(--van-search-input-height);cursor:pointer;-webkit-user-select:none;user-select:none}.van-search__action:active{background-color:var(--van-active-color)}
1
+ :root{--van-search-padding: 10px var(--van-padding-sm);--van-search-background-color: var(--van-background-color-light);--van-search-content-background-color: var(--van-gray-1);--van-search-input-height: 34px;--van-search-label-padding: 0 5px;--van-search-label-color: var(--van-text-color);--van-search-label-font-size: var(--van-font-size-md);--van-search-left-icon-color: var(--van-gray-6);--van-search-action-padding: 0 var(--van-padding-xs);--van-search-action-text-color: var(--van-text-color);--van-search-action-font-size: var(--van-font-size-md)}.van-search{display:flex;align-items:center;box-sizing:border-box;padding:var(--van-search-padding);background:var(--van-search-background-color)}.van-search__content{display:flex;flex:1;padding-left:var(--van-padding-sm);background:var(--van-search-content-background-color);border-radius:var(--van-border-radius-sm)}.van-search__content--round{border-radius:var(--van-border-radius-max)}.van-search__label{padding:var(--van-search-label-padding);color:var(--van-search-label-color);font-size:var(--van-search-label-font-size);line-height:var(--van-search-input-height)}.van-search__field{flex:1;align-items:center;padding:0 var(--van-padding-xs) 0 0;height:var(--van-search-input-height);background-color:transparent}.van-search__field .van-field__left-icon{color:var(--van-search-left-icon-color)}.van-search--show-action{padding-right:0}.van-search input::-webkit-search-decoration,.van-search input::-webkit-search-cancel-button,.van-search input::-webkit-search-results-button,.van-search input::-webkit-search-results-decoration{display:none}.van-search__action{padding:var(--van-search-action-padding);color:var(--van-search-action-text-color);font-size:var(--van-search-action-font-size);line-height:var(--van-search-input-height);cursor:pointer;-webkit-user-select:none;user-select:none}.van-search__action:active{background-color:var(--van-active-color)}
@@ -42,7 +42,9 @@
42
42
 
43
43
  &__field {
44
44
  flex: 1;
45
- padding: 5px var(--van-padding-xs) 5px 0;
45
+ align-items: center;
46
+ padding: 0 var(--van-padding-xs) 0 0;
47
+ height: var(--van-search-input-height);
46
48
  background-color: transparent;
47
49
 
48
50
  .van-field__left-icon {
@@ -38,7 +38,7 @@
38
38
  }
39
39
 
40
40
  &__text {
41
- // https://github.com/youzan/vant/issues/7455
41
+ // https://github.com/vant-ui/vant/issues/7455
42
42
  word-break: break-all;
43
43
  }
44
44
 
@@ -0,0 +1,48 @@
1
+ import { ExtractPropTypes, PropType } from 'vue';
2
+ export declare type SpaceSize = number | string;
3
+ export declare type SpaceAlign = 'start' | 'end' | 'center' | 'baseline';
4
+ declare const spaceProps: {
5
+ align: PropType<SpaceAlign>;
6
+ direction: {
7
+ type: PropType<"vertical" | "horizontal">;
8
+ default: string;
9
+ };
10
+ size: {
11
+ type: PropType<string | number | [SpaceSize, SpaceSize]>;
12
+ default: number;
13
+ };
14
+ wrap: BooleanConstructor;
15
+ fill: BooleanConstructor;
16
+ };
17
+ export declare type SpaceProps = ExtractPropTypes<typeof spaceProps>;
18
+ declare const _default: import("vue").DefineComponent<{
19
+ align: PropType<SpaceAlign>;
20
+ direction: {
21
+ type: PropType<"vertical" | "horizontal">;
22
+ default: string;
23
+ };
24
+ size: {
25
+ type: PropType<string | number | [SpaceSize, SpaceSize]>;
26
+ default: number;
27
+ };
28
+ wrap: BooleanConstructor;
29
+ fill: BooleanConstructor;
30
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
31
+ align: PropType<SpaceAlign>;
32
+ direction: {
33
+ type: PropType<"vertical" | "horizontal">;
34
+ default: string;
35
+ };
36
+ size: {
37
+ type: PropType<string | number | [SpaceSize, SpaceSize]>;
38
+ default: number;
39
+ };
40
+ wrap: BooleanConstructor;
41
+ fill: BooleanConstructor;
42
+ }>>, {
43
+ fill: boolean;
44
+ size: string | number | [SpaceSize, SpaceSize];
45
+ wrap: boolean;
46
+ direction: "vertical" | "horizontal";
47
+ }>;
48
+ export default _default;
@@ -0,0 +1,87 @@
1
+ import { createVNode as _createVNode } from "vue";
2
+ import { computed, defineComponent, Fragment } from "vue";
3
+ import { createNamespace } from "../utils/index.mjs";
4
+ const [name, bem] = createNamespace("space");
5
+ const spaceProps = {
6
+ align: String,
7
+ direction: {
8
+ type: String,
9
+ default: "horizontal"
10
+ },
11
+ size: {
12
+ type: [Number, String, Array],
13
+ default: 8
14
+ },
15
+ wrap: Boolean,
16
+ fill: Boolean
17
+ };
18
+ function filterEmpty(children = []) {
19
+ const nodes = [];
20
+ children.forEach((child) => {
21
+ if (Array.isArray(child)) {
22
+ nodes.push(...child);
23
+ } else if (child.type === Fragment) {
24
+ nodes.push(...filterEmpty(child.children));
25
+ } else {
26
+ nodes.push(child);
27
+ }
28
+ });
29
+ return nodes.filter((c) => {
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() === ""));
32
+ });
33
+ }
34
+ var stdin_default = defineComponent({
35
+ name,
36
+ props: spaceProps,
37
+ setup(props, {
38
+ slots
39
+ }) {
40
+ const mergedAlign = computed(() => {
41
+ var _a;
42
+ return (_a = props.align) != null ? _a : props.direction === "horizontal" ? "center" : "";
43
+ });
44
+ const getMargin = (size) => {
45
+ if (typeof size === "number") {
46
+ return size + "px";
47
+ }
48
+ return size;
49
+ };
50
+ const getMarginStyle = (isLast) => {
51
+ const style = {};
52
+ const marginRight = `${getMargin(Array.isArray(props.size) ? props.size[0] : props.size)}`;
53
+ const marginBottom = `${getMargin(Array.isArray(props.size) ? props.size[1] : props.size)}`;
54
+ if (isLast) {
55
+ return props.wrap ? {
56
+ marginBottom
57
+ } : {};
58
+ }
59
+ if (props.direction === "horizontal") {
60
+ style.marginRight = marginRight;
61
+ }
62
+ if (props.direction === "vertical" || props.wrap) {
63
+ style.marginBottom = marginBottom;
64
+ }
65
+ return style;
66
+ };
67
+ return () => {
68
+ var _a;
69
+ const children = filterEmpty((_a = slots.default) == null ? void 0 : _a.call(slots));
70
+ return _createVNode("div", {
71
+ "class": [bem({
72
+ [props.direction]: props.direction,
73
+ [`align-${mergedAlign.value}`]: mergedAlign.value,
74
+ wrap: props.wrap,
75
+ fill: props.fill
76
+ })]
77
+ }, [children.map((c, i) => _createVNode("div", {
78
+ "key": `item-${i}`,
79
+ "class": `${name}-item`,
80
+ "style": getMarginStyle(i === children.length - 1)
81
+ }, [c]))]);
82
+ };
83
+ }
84
+ });
85
+ export {
86
+ stdin_default as default
87
+ };
@@ -0,0 +1 @@
1
+ .van-space{display:inline-flex}.van-space--horizontal .van-space-item{display:flex;align-items:center}.van-space--vertical{flex-direction:column}.van-space--align-baseline{align-items:baseline}.van-space--align-start{align-items:flex-start}.van-space--align-end{align-items:flex-end}.van-space--align-center{align-items:center}.van-space--wrap{flex-wrap:wrap}.van-space--fill{display:flex}
@@ -0,0 +1,37 @@
1
+ export declare const Space: import("../utils").WithInstall<import("vue").DefineComponent<{
2
+ align: import("vue").PropType<import("./Space").SpaceAlign>;
3
+ direction: {
4
+ type: import("vue").PropType<"vertical" | "horizontal">;
5
+ default: string;
6
+ };
7
+ size: {
8
+ type: import("vue").PropType<string | number | [import("./Space").SpaceSize, import("./Space").SpaceSize]>;
9
+ default: number;
10
+ };
11
+ wrap: BooleanConstructor;
12
+ fill: BooleanConstructor;
13
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
+ align: import("vue").PropType<import("./Space").SpaceAlign>;
15
+ direction: {
16
+ type: import("vue").PropType<"vertical" | "horizontal">;
17
+ default: string;
18
+ };
19
+ size: {
20
+ type: import("vue").PropType<string | number | [import("./Space").SpaceSize, import("./Space").SpaceSize]>;
21
+ default: number;
22
+ };
23
+ wrap: BooleanConstructor;
24
+ fill: BooleanConstructor;
25
+ }>>, {
26
+ fill: boolean;
27
+ size: string | number | [import("./Space").SpaceSize, import("./Space").SpaceSize];
28
+ wrap: boolean;
29
+ direction: "vertical" | "horizontal";
30
+ }>>;
31
+ export default Space;
32
+ export type { SpaceProps, SpaceSize, SpaceAlign } from './Space';
33
+ declare module 'vue' {
34
+ interface GlobalComponents {
35
+ VanSpace: typeof Space;
36
+ }
37
+ }
@@ -0,0 +1,38 @@
1
+ .van-space {
2
+ display: inline-flex;
3
+
4
+ &--horizontal {
5
+ .van-space-item {
6
+ display: flex;
7
+ align-items: center;
8
+ }
9
+ }
10
+
11
+ &--vertical {
12
+ flex-direction: column;
13
+ }
14
+
15
+ &--align-baseline {
16
+ align-items: baseline;
17
+ }
18
+
19
+ &--align-start {
20
+ align-items: flex-start;
21
+ }
22
+
23
+ &--align-end {
24
+ align-items: flex-end;
25
+ }
26
+
27
+ &--align-center {
28
+ align-items: center;
29
+ }
30
+
31
+ &--wrap {
32
+ flex-wrap: wrap;
33
+ }
34
+
35
+ &--fill {
36
+ display: flex;
37
+ }
38
+ }
@@ -0,0 +1,8 @@
1
+ import { withInstall } from "../utils/index.mjs";
2
+ import _Space from "./Space.mjs";
3
+ const Space = withInstall(_Space);
4
+ var stdin_default = Space;
5
+ export {
6
+ Space,
7
+ stdin_default as default
8
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import "../../style/base.css";
2
+ import "../index.css";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import "../../style/base.less";
2
+ import "../index.less";
@@ -12,7 +12,7 @@
12
12
  .van-swipe {
13
13
  position: relative;
14
14
  overflow: hidden;
15
- // https://github.com/youzan/vant/issues/9931
15
+ // https://github.com/vant-ui/vant/issues/9931
16
16
  transform: translateZ(0);
17
17
  cursor: grab;
18
18
  user-select: none;
@@ -33,7 +33,7 @@
33
33
  left: 0;
34
34
  width: var(--van-switch-node-size);
35
35
  height: var(--van-switch-node-size);
36
- // https://github.com/youzan/vant/issues/9839
36
+ // https://github.com/vant-ui/vant/issues/9839
37
37
  font-size: inherit;
38
38
  background: var(--van-switch-node-background-color);
39
39
  border-radius: 100%;
@@ -38,7 +38,7 @@
38
38
  // allow newline character
39
39
  white-space: pre-wrap;
40
40
  text-align: center;
41
- // https://github.com/youzan/vant/issues/8959
41
+ // https://github.com/vant-ui/vant/issues/8959
42
42
  word-break: break-all;
43
43
  background: var(--van-toast-background-color);
44
44
  border-radius: var(--van-toast-border-radius);
@@ -147,7 +147,7 @@ var stdin_default = defineComponent({
147
147
  if (props.previewFullImage) {
148
148
  const imageFiles = props.modelValue.filter(isImageFile);
149
149
  const images = imageFiles.map((item2) => {
150
- if (item2.file && !item2.url) {
150
+ if (item2.file && !item2.url && item2.status !== "failed") {
151
151
  item2.url = URL.createObjectURL(item2.file);
152
152
  urls.push(item2.url);
153
153
  }
@@ -1,9 +1,9 @@
1
1
  import type { ComponentPublicInstance } from 'vue';
2
2
  export declare function noop(): void;
3
3
  export declare const extend: {
4
- <T, U>(target: T, source: U): T & U;
5
- <T_1, U_1, V>(target: T_1, source1: U_1, source2: V): T_1 & U_1 & V;
6
- <T_2, U_2, V_1, W>(target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W;
4
+ <T extends {}, U>(target: T, source: U): T & U;
5
+ <T_1 extends {}, U_1, V>(target: T_1, source1: U_1, source2: V): T_1 & U_1 & V;
6
+ <T_2 extends {}, U_2, V_1, W>(target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W;
7
7
  (target: object, ...sources: any[]): any;
8
8
  };
9
9
  export declare const inBrowser: boolean;
@@ -12,6 +12,6 @@ export declare type Mods = Mod | Mod[];
12
12
  * b('text', { disabled }) // 'button__text button__text--disabled'
13
13
  * b(['disabled', 'primary']) // 'button button--disabled button--primary'
14
14
  */
15
- export declare function createBEM(name: string): (el?: Mods | undefined, mods?: Mods | undefined) => Mods;
15
+ export declare function createBEM(name: string): (el?: Mods, mods?: Mods) => Mods;
16
16
  export declare type BEM = ReturnType<typeof createBEM>;
17
17
  export declare function createNamespace(name: string): readonly [string, (el?: Mods | undefined, mods?: Mods | undefined) => Mods, (path: string, ...args: unknown[]) => any];
@@ -48,7 +48,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
48
48
  content,
49
49
  showZero
50
50
  } = props;
51
- return (0, import_utils.isDef)(content) && content !== "" && (showZero || content !== 0);
51
+ return (0, import_utils.isDef)(content) && content !== "" && (showZero || content !== 0 && content !== "0");
52
52
  };
53
53
  const renderContent = () => {
54
54
  const {
@@ -201,7 +201,7 @@
201
201
  height: 100%;
202
202
 
203
203
  // fix icon vertical align
204
- // see: https://github.com/youzan/vant/issues/7617
204
+ // see: https://github.com/vant-ui/vant/issues/7617
205
205
  &::before {
206
206
  content: ' ';
207
207
  }
@@ -137,9 +137,6 @@ var stdin_default = (0, import_vue2.defineComponent)({
137
137
  const months = (0, import_vue2.computed)(() => {
138
138
  const months2 = [];
139
139
  const cursor = new Date(props.minDate);
140
- if (props.lazyRender && !props.show && props.poppable) {
141
- return months2;
142
- }
143
140
  cursor.setDate(1);
144
141
  do {
145
142
  months2.push(new Date(cursor));
@@ -158,6 +155,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
158
155
  }
159
156
  return !currentDate.value;
160
157
  });
158
+ const getSelectedDate = () => currentDate.value;
161
159
  const onScroll = () => {
162
160
  const top = (0, import_utils.getScrollTop)(bodyRef.value);
163
161
  const bottom = top + bodyHeight;
@@ -216,7 +214,9 @@ var stdin_default = (0, import_vue2.defineComponent)({
216
214
  }
217
215
  if (currentDate.value) {
218
216
  const targetDate = props.type === "single" ? currentDate.value : currentDate.value[0];
219
- scrollToDate(targetDate);
217
+ if ((0, import_utils.isDate)(targetDate)) {
218
+ scrollToDate(targetDate);
219
+ }
220
220
  } else {
221
221
  (0, import_use.raf)(onScroll);
222
222
  }
@@ -400,7 +400,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
400
400
  });
401
401
  (0, import_use_expose.useExpose)({
402
402
  reset,
403
- scrollToDate
403
+ scrollToDate,
404
+ getSelectedDate
404
405
  });
405
406
  (0, import_use.onMountedOrActivated)(init);
406
407
  return () => {
@@ -15,6 +15,7 @@ export declare type CalendarDayItem = {
15
15
  export declare type CalendarExpose = {
16
16
  reset: (date?: Date | Date[]) => void;
17
17
  scrollToDate: (targetDate: Date) => void;
18
+ getSelectedDate: () => Date | Date[] | null;
18
19
  };
19
20
  export declare type CalendarInstance = ComponentPublicInstance<CalendarProps, CalendarExpose>;
20
21
  export declare type CalendarMonthInstance = ComponentPublicInstance<CalendarMonthProps, {
@@ -110,10 +110,10 @@ declare const _default: import("vue").DefineComponent<{
110
110
  replace: BooleanConstructor;
111
111
  }>>, {
112
112
  replace: boolean;
113
+ required: boolean;
113
114
  center: boolean;
114
115
  isLink: boolean;
115
116
  border: boolean;
116
- required: boolean;
117
117
  clickable: boolean | null;
118
118
  }>;
119
119
  export default _default;
@@ -54,10 +54,10 @@ export declare const Cell: import("../utils").WithInstall<import("vue").DefineCo
54
54
  replace: BooleanConstructor;
55
55
  }>>, {
56
56
  replace: boolean;
57
+ required: boolean;
57
58
  center: boolean;
58
59
  isLink: boolean;
59
60
  border: boolean;
60
- required: boolean;
61
61
  clickable: boolean | null;
62
62
  }>>;
63
63
  export default Cell;
@@ -1,9 +1,13 @@
1
- import { type PropType, type InjectionKey, type ExtractPropTypes } from 'vue';
1
+ import { type PropType, type InjectionKey, type ExtractPropTypes, type ComponentPublicInstance } from 'vue';
2
2
  import { type Numeric } from '../utils';
3
3
  export declare type CollapseProvide = {
4
4
  toggle: (name: Numeric, expanded: boolean) => void;
5
5
  isExpanded: (name: Numeric) => boolean;
6
6
  };
7
+ export declare type CollapseToggleAllOptions = boolean | {
8
+ expanded?: boolean;
9
+ skipDisabled?: boolean;
10
+ };
7
11
  export declare const COLLAPSE_KEY: InjectionKey<CollapseProvide>;
8
12
  declare const collapseProps: {
9
13
  border: {
@@ -17,6 +21,9 @@ declare const collapseProps: {
17
21
  };
18
22
  };
19
23
  export declare type CollapseProps = ExtractPropTypes<typeof collapseProps>;
24
+ export declare type CollapseInstance = ComponentPublicInstance<{
25
+ toggleAll: (options?: boolean | CollapseToggleAllOptions) => void;
26
+ }>;
20
27
  declare const _default: import("vue").DefineComponent<{
21
28
  border: {
22
29
  type: BooleanConstructor;
@@ -25,6 +25,7 @@ var import_vue = require("vue");
25
25
  var import_vue2 = require("vue");
26
26
  var import_utils = require("../utils");
27
27
  var import_use = require("@vant/use");
28
+ var import_use_expose = require("../composables/use-expose");
28
29
  const [name, bem] = (0, import_utils.createNamespace)("collapse");
29
30
  const COLLAPSE_KEY = Symbol(name);
30
31
  const collapseProps = {
@@ -55,7 +56,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
55
56
  slots
56
57
  }) {
57
58
  const {
58
- linkChildren
59
+ linkChildren,
60
+ children
59
61
  } = (0, import_use.useChildren)(COLLAPSE_KEY);
60
62
  const updateName = (name2) => {
61
63
  emit("change", name2);
@@ -74,6 +76,28 @@ var stdin_default = (0, import_vue2.defineComponent)({
74
76
  updateName(modelValue.filter((activeName) => activeName !== name2));
75
77
  }
76
78
  };
79
+ const toggleAll = (options = {}) => {
80
+ if (props.accordion) {
81
+ return;
82
+ }
83
+ if (typeof options === "boolean") {
84
+ options = {
85
+ expanded: options
86
+ };
87
+ }
88
+ const {
89
+ expanded,
90
+ skipDisabled
91
+ } = options;
92
+ const expandedChildren = children.filter((item) => {
93
+ if (item.disabled && skipDisabled) {
94
+ return item.expanded.value;
95
+ }
96
+ return expanded != null ? expanded : !item.expanded.value;
97
+ });
98
+ const names = expandedChildren.map((item) => item.itemName.value);
99
+ updateName(names);
100
+ };
77
101
  const isExpanded = (name2) => {
78
102
  const {
79
103
  accordion,
@@ -84,6 +108,9 @@ var stdin_default = (0, import_vue2.defineComponent)({
84
108
  }
85
109
  return accordion ? modelValue === name2 : modelValue.includes(name2);
86
110
  };
111
+ (0, import_use_expose.useExpose)({
112
+ toggleAll
113
+ });
87
114
  linkChildren({
88
115
  toggle,
89
116
  isExpanded
@@ -27,7 +27,7 @@ export declare const Collapse: import("../utils").WithInstall<import("vue").Defi
27
27
  accordion: boolean;
28
28
  }>>;
29
29
  export default Collapse;
30
- export type { CollapseProps } from './Collapse';
30
+ export type { CollapseProps, CollapseInstance, CollapseToggleAllOptions, } from './Collapse';
31
31
  declare module 'vue' {
32
32
  interface GlobalComponents {
33
33
  VanCollapse: typeof Collapse;
@@ -107,11 +107,11 @@ declare const _default: import("vue").DefineComponent<{
107
107
  default: true;
108
108
  };
109
109
  }>>, {
110
+ required: boolean;
110
111
  center: boolean;
111
112
  disabled: boolean;
112
113
  isLink: boolean;
113
114
  border: boolean;
114
- required: boolean;
115
115
  clickable: boolean | null;
116
116
  readonly: boolean;
117
117
  lazyRender: boolean;
@@ -142,7 +142,9 @@ var stdin_default = (0, import_vue2.defineComponent)({
142
142
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)])]), [[import_vue.vShow, show.value]]);
143
143
  });
144
144
  (0, import_use_expose.useExpose)({
145
- toggle
145
+ toggle,
146
+ expanded,
147
+ itemName: name2
146
148
  });
147
149
  return () => (0, import_vue.createVNode)("div", {
148
150
  "class": [bem({
@@ -69,11 +69,11 @@ export declare const CollapseItem: import("../utils").WithInstall<import("vue").
69
69
  default: true;
70
70
  };
71
71
  }>>, {
72
+ required: boolean;
72
73
  center: boolean;
73
74
  disabled: boolean;
74
75
  isLink: boolean;
75
76
  border: boolean;
76
- required: boolean;
77
77
  clickable: boolean | null;
78
78
  readonly: boolean;
79
79
  lazyRender: boolean;
@@ -23,7 +23,7 @@
23
23
  &__title {
24
24
  .van-cell__right-icon::before {
25
25
  // using translateZ to fix safari rendering issues
26
- // see: https://github.com/youzan/vant/issues/8608
26
+ // see: https://github.com/vant-ui/vant/issues/8608
27
27
  transform: rotate(90deg) translateZ(0);
28
28
  transition: transform var(--van-collapse-item-transition-duration);
29
29
  }
@@ -0,0 +1,4 @@
1
+ /** the global z-index is automatically incremented after reading */
2
+ export declare const useGlobalZIndex: () => number;
3
+ /** reset the global z-index */
4
+ export declare const setGlobalZIndex: (val: number) => void;
@@ -0,0 +1,28 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stdin_exports = {};
19
+ __export(stdin_exports, {
20
+ setGlobalZIndex: () => setGlobalZIndex,
21
+ useGlobalZIndex: () => useGlobalZIndex
22
+ });
23
+ module.exports = __toCommonJS(stdin_exports);
24
+ let globalZIndex = 2e3;
25
+ const useGlobalZIndex = () => ++globalZIndex;
26
+ const setGlobalZIndex = (val) => {
27
+ globalZIndex = val;
28
+ };
@@ -1,2 +1,2 @@
1
1
  import { Ref } from 'vue';
2
- export declare const useHeight: (element: Element | Ref<Element | undefined>) => Ref<number | undefined>;
2
+ export declare const useHeight: (element: Element | Ref<Element | undefined>, withSafeArea?: boolean) => Ref<number | undefined>;