@nutui/nutui 4.0.12-beta.1 → 4.0.12

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 (158) hide show
  1. package/dist/nutui.es.js +1 -1
  2. package/dist/nutui.js +1 -1
  3. package/dist/nutui.umd.js +1 -1
  4. package/dist/packages/_es/ActionSheet.js +111 -78
  5. package/dist/packages/_es/Address.js +375 -250
  6. package/dist/packages/_es/AddressList.js +354 -269
  7. package/dist/packages/_es/Animate.js +58 -41
  8. package/dist/packages/_es/Audio.js +197 -128
  9. package/dist/packages/_es/AudioOperate.js +71 -60
  10. package/dist/packages/_es/Avatar.js +89 -66
  11. package/dist/packages/_es/AvatarGroup.js +31 -23
  12. package/dist/packages/_es/Backtop.js +99 -59
  13. package/dist/packages/_es/Badge.js +47 -36
  14. package/dist/packages/_es/Barrage.js +147 -68
  15. package/dist/packages/_es/Button.js +66 -47
  16. package/dist/packages/_es/Calendar.js +157 -135
  17. package/dist/packages/_es/CalendarItem.js +6 -6
  18. package/dist/packages/_es/Card.js +56 -42
  19. package/dist/packages/_es/Cascader.js +474 -315
  20. package/dist/packages/_es/Category.js +39 -29
  21. package/dist/packages/_es/CategoryPane.js +83 -57
  22. package/dist/packages/_es/Cell.js +71 -56
  23. package/dist/packages/_es/CellGroup.js +27 -19
  24. package/dist/packages/_es/Checkbox.js +156 -109
  25. package/dist/packages/_es/CheckboxGroup.js +59 -38
  26. package/dist/packages/_es/CircleProgress.js +96 -67
  27. package/dist/packages/_es/Col.js +31 -23
  28. package/dist/packages/_es/Collapse.js +58 -33
  29. package/dist/packages/_es/CollapseItem.js +108 -78
  30. package/dist/packages/_es/Comment.js +279 -207
  31. package/dist/packages/_es/ConfigProvider.js +55 -37
  32. package/dist/packages/_es/Countdown.js +212 -100
  33. package/dist/packages/_es/Countup.js +445 -232
  34. package/dist/packages/_es/DatePicker.js +265 -162
  35. package/dist/packages/_es/Dialog.js +213 -161
  36. package/dist/packages/_es/Divider.js +57 -42
  37. package/dist/packages/_es/Drag.js +153 -70
  38. package/dist/packages/_es/Ecard.js +104 -64
  39. package/dist/packages/_es/Elevator.js +219 -143
  40. package/dist/packages/_es/Ellipsis.js +178 -95
  41. package/dist/packages/_es/Empty.js +39 -23
  42. package/dist/packages/_es/FixedNav.js +116 -93
  43. package/dist/packages/_es/Form.js +178 -107
  44. package/dist/packages/_es/FormItem.js +61 -48
  45. package/dist/packages/_es/Grid.js +6 -5
  46. package/dist/packages/_es/GridItem.js +84 -58
  47. package/dist/packages/_es/Image.js +130 -90
  48. package/dist/packages/_es/ImagePreview.js +412 -256
  49. package/dist/packages/_es/Indicator.js +34 -30
  50. package/dist/packages/_es/InfiniteLoading.js +136 -83
  51. package/dist/packages/_es/Input.js +264 -160
  52. package/dist/packages/_es/InputNumber.js +117 -81
  53. package/dist/packages/_es/Interceptor-956b24fc.js +29 -0
  54. package/dist/packages/_es/Invoice.js +130 -104
  55. package/dist/packages/_es/Layout.js +4 -3
  56. package/dist/packages/_es/List.js +215 -117
  57. package/dist/packages/_es/Menu.js +150 -95
  58. package/dist/packages/_es/MenuItem.js +154 -109
  59. package/dist/packages/_es/Navbar.js +119 -103
  60. package/dist/packages/_es/Noticebar.js +312 -197
  61. package/dist/packages/_es/Notify.js +166 -110
  62. package/dist/packages/_es/NumberKeyboard.js +202 -127
  63. package/dist/packages/_es/Overlay.js +80 -52
  64. package/dist/packages/_es/Pagination.js +100 -70
  65. package/dist/packages/_es/Picker.js +437 -275
  66. package/dist/packages/_es/Popover.js +225 -122
  67. package/dist/packages/_es/Popup.js +4 -4
  68. package/dist/packages/_es/Price.js +82 -44
  69. package/dist/packages/_es/Progress.js +79 -63
  70. package/dist/packages/_es/PullRefresh.js +173 -95
  71. package/dist/packages/_es/Radio.js +4 -4
  72. package/dist/packages/_es/RadioGroup.js +3 -3
  73. package/dist/packages/_es/Range.js +347 -204
  74. package/dist/packages/_es/Rate.js +141 -92
  75. package/dist/packages/_es/Row.js +27 -21
  76. package/dist/packages/_es/Searchbar.js +174 -123
  77. package/dist/packages/_es/ShortPassword.js +93 -69
  78. package/dist/packages/_es/SideNavbar.js +80 -49
  79. package/dist/packages/_es/SideNavbarItem.js +32 -22
  80. package/dist/packages/_es/Signature.js +146 -83
  81. package/dist/packages/_es/Skeleton.js +130 -110
  82. package/dist/packages/_es/Sku.js +343 -250
  83. package/dist/packages/_es/Step.js +86 -59
  84. package/dist/packages/_es/Steps.js +31 -26
  85. package/dist/packages/_es/Sticky.js +4 -4
  86. package/dist/packages/_es/SubSideNavbar.js +74 -52
  87. package/dist/packages/_es/Swipe.js +155 -83
  88. package/dist/packages/_es/Swiper.js +311 -174
  89. package/dist/packages/_es/SwiperItem.js +44 -28
  90. package/dist/packages/_es/Switch.js +68 -55
  91. package/dist/packages/_es/TabPane.js +41 -30
  92. package/dist/packages/_es/Tabbar.js +52 -41
  93. package/dist/packages/_es/TabbarItem.js +82 -61
  94. package/dist/packages/_es/Table.js +165 -109
  95. package/dist/packages/_es/Tabs.js +388 -240
  96. package/dist/packages/_es/Tag.js +61 -44
  97. package/dist/packages/_es/Textarea.js +124 -80
  98. package/dist/packages/_es/TimeDetail.js +76 -49
  99. package/dist/packages/_es/TimePannel.js +48 -34
  100. package/dist/packages/_es/TimeSelect.js +68 -47
  101. package/dist/packages/_es/Toast.js +218 -144
  102. package/dist/packages/_es/Tour.js +192 -138
  103. package/dist/packages/_es/TrendArrow.js +77 -57
  104. package/dist/packages/_es/Uploader.js +359 -234
  105. package/dist/packages/_es/Video.js +316 -191
  106. package/dist/packages/_es/Watermark.js +117 -84
  107. package/dist/packages/_es/_plugin-vue_export-helper-cc2b3d55.js +10 -0
  108. package/dist/packages/_es/common-b9a5e726.js +145 -0
  109. package/dist/packages/_es/component-81a4c1d0.js +145 -0
  110. package/dist/packages/_es/index-29892cda.js +33 -0
  111. package/dist/packages/_es/index-43c34ac6.js +30 -0
  112. package/dist/packages/_es/index-54d03fc1.js +8 -0
  113. package/dist/packages/_es/index-79c5dc33.js +10 -0
  114. package/dist/packages/_es/index-7a7385e4.js +67 -0
  115. package/dist/packages/_es/index-87422be8.js +942 -0
  116. package/dist/packages/_es/index-da0a7662.js +259 -0
  117. package/dist/packages/_es/index.vue_vue_type_script_lang-22dfc112.js +46 -0
  118. package/dist/packages/_es/index.vue_vue_type_script_lang-a8856969.js +97 -0
  119. package/dist/packages/_es/index.vue_vue_type_script_lang-cc5c4086.js +151 -0
  120. package/dist/packages/_es/mountComponent-8b24c346.js +39 -0
  121. package/dist/packages/_es/pxCheck-c6b9f6b7.js +6 -0
  122. package/dist/packages/_es/raf-729dad54.js +25 -0
  123. package/dist/packages/_es/renderIcon-3d0fd47c.js +9 -0
  124. package/dist/packages/locale/lang/baseLang-3a8457ac.js +5 -0
  125. package/dist/packages/locale/lang/en-US.js +39 -36
  126. package/dist/packages/locale/lang/id-ID.js +39 -36
  127. package/dist/packages/locale/lang/index.js +44 -22
  128. package/dist/packages/locale/lang/zh-CN.js +38 -35
  129. package/dist/packages/locale/lang/zh-TW.js +38 -35
  130. package/dist/resolver/index.js +26 -1
  131. package/dist/resolver/index.mjs +17 -14
  132. package/dist/smartips/web-types.json +1 -1
  133. package/dist/style.css +1 -1
  134. package/dist/styles/themes/default.scss +50 -50
  135. package/dist/styles/themes/jdb.scss +50 -50
  136. package/dist/styles/themes/jddkh.scss +50 -50
  137. package/dist/styles/themes/jdt.scss +50 -50
  138. package/dist/types/index.d.ts +1 -1
  139. package/package.json +2 -2
  140. package/dist/packages/_es/Interceptor-6e26b757.js +0 -18
  141. package/dist/packages/_es/_plugin-vue_export-helper-dad06003.js +0 -9
  142. package/dist/packages/_es/common-d218746f.js +0 -116
  143. package/dist/packages/_es/component-234624bc.js +0 -89
  144. package/dist/packages/_es/index-14dfadc4.js +0 -561
  145. package/dist/packages/_es/index-192a3ef6.js +0 -29
  146. package/dist/packages/_es/index-360c5092.js +0 -210
  147. package/dist/packages/_es/index-496e6e05.js +0 -24
  148. package/dist/packages/_es/index-50eed3d9.js +0 -7
  149. package/dist/packages/_es/index-53ec2d4d.js +0 -34
  150. package/dist/packages/_es/index-fadb0974.js +0 -8
  151. package/dist/packages/_es/index.vue_vue_type_script_lang-1139b29a.js +0 -43
  152. package/dist/packages/_es/index.vue_vue_type_script_lang-43b774dd.js +0 -77
  153. package/dist/packages/_es/index.vue_vue_type_script_lang-f44c159d.js +0 -110
  154. package/dist/packages/_es/mountComponent-6d4ff200.js +0 -23
  155. package/dist/packages/_es/pxCheck-38173291.js +0 -4
  156. package/dist/packages/_es/raf-a74f1a06.js +0 -16
  157. package/dist/packages/_es/renderIcon-47498b32.js +0 -5
  158. package/dist/packages/locale/lang/baseLang-0bdc6353.js +0 -5
@@ -1,37 +1,61 @@
1
- var j = Object.defineProperty, G = Object.defineProperties;
2
- var J = Object.getOwnPropertyDescriptors;
3
- var C = Object.getOwnPropertySymbols;
4
- var K = Object.prototype.hasOwnProperty, O = Object.prototype.propertyIsEnumerable;
5
- var D = (e, o, i) => o in e ? j(e, o, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[o] = i, E = (e, o) => {
6
- for (var i in o || (o = {}))
7
- K.call(o, i) && D(e, i, o[i]);
8
- if (C)
9
- for (var i of C(o))
10
- O.call(o, i) && D(e, i, o[i]);
11
- return e;
12
- }, N = (e, o) => G(e, J(o));
13
- import { ref as p, reactive as Q, computed as f, watch as $, toRefs as U, openBlock as S, createElementBlock as y, normalizeClass as W, normalizeStyle as H, createElementVNode as z, Fragment as X, renderList as Y, renderSlot as Z } from "vue";
14
- import { c as R } from "./component-234624bc.js";
15
- import { u as _ } from "./index-192a3ef6.js";
16
- import { _ as tt } from "./_plugin-vue_export-helper-dad06003.js";
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { ref, reactive, computed, watch, toRefs, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, Fragment, renderList, renderSlot } from "vue";
21
+ import { c as createComponent } from "./component-81a4c1d0.js";
22
+ import { u as useRect } from "./index-29892cda.js";
23
+ import { _ as _export_sfc } from "./_plugin-vue_export-helper-cc2b3d55.js";
17
24
  import "../locale/lang";
18
- var b = /* @__PURE__ */ ((e) => (e[e.eq = 1] = "eq", e[e.lt = 2] = "lt", e[e.gt = 3] = "gt", e))(b || {});
19
- function et(e, o, i) {
20
- let m = 0, l = e.length - 1, t = null;
21
- for (; m <= l; ) {
22
- t = Math.floor((m + l) / 2);
23
- const r = e[t], h = i(r, o);
24
- if (h === 1)
25
- return t;
26
- h === 2 ? m = t + 1 : h === 3 && (l = t - 1);
25
+ var CompareResult = /* @__PURE__ */ ((CompareResult2) => {
26
+ CompareResult2[CompareResult2["eq"] = 1] = "eq";
27
+ CompareResult2[CompareResult2["lt"] = 2] = "lt";
28
+ CompareResult2[CompareResult2["gt"] = 3] = "gt";
29
+ return CompareResult2;
30
+ })(CompareResult || {});
31
+ function binarySearch(list, value, compareFunc) {
32
+ let start = 0;
33
+ let end = list.length - 1;
34
+ let tempIndex = null;
35
+ while (start <= end) {
36
+ tempIndex = Math.floor((start + end) / 2);
37
+ const midValue = list[tempIndex];
38
+ const compareRes = compareFunc(midValue, value);
39
+ if (compareRes === 1) {
40
+ return tempIndex;
41
+ }
42
+ if (compareRes === 2) {
43
+ start = tempIndex + 1;
44
+ } else if (compareRes === 3) {
45
+ end = tempIndex - 1;
46
+ }
27
47
  }
28
- return t;
48
+ return tempIndex;
29
49
  }
30
- const { componentName: nt, create: ot } = R("list"), M = document.documentElement.clientHeight || document.body.clientHeight || 667, it = ot({
50
+ const { componentName, create } = createComponent("list");
51
+ const clientHeight = document.documentElement.clientHeight || document.body.clientHeight || 667;
52
+ const _sfc_main = create({
31
53
  props: {
32
54
  listData: {
33
55
  type: Array,
34
- default: () => []
56
+ default: () => {
57
+ return [];
58
+ }
35
59
  },
36
60
  bufferSize: {
37
61
  type: Number,
@@ -39,7 +63,7 @@ const { componentName: nt, create: ot } = R("list"), M = document.documentElemen
39
63
  },
40
64
  containerHeight: {
41
65
  type: [Number],
42
- default: M
66
+ default: clientHeight
43
67
  },
44
68
  height: {
45
69
  type: Number,
@@ -51,124 +75,198 @@ const { componentName: nt, create: ot } = R("list"), M = document.documentElemen
51
75
  }
52
76
  },
53
77
  emits: ["scroll-up", "scroll-down", "scroll-bottom"],
54
- setup(e, { emit: o }) {
55
- const i = p(null), m = p(null), l = p(null), t = Q({
78
+ setup(props, { emit }) {
79
+ const list = ref(null);
80
+ const phantom = ref(null);
81
+ const actualContent = ref(null);
82
+ const state = reactive({
56
83
  start: 0,
57
84
  originStartIndex: 0,
58
85
  scrollTop: 0,
59
- list: e.listData.slice(),
86
+ list: props.listData.slice(),
60
87
  cachePositions: [],
61
- phantomHeight: e.height * e.listData.length
62
- }), r = f(() => Math.min(e.containerHeight, M)), h = f(() => Math.ceil(r.value / e.height)), I = f(() => Math.min(t.originStartIndex + h.value + e.bufferSize, t.list.length)), w = f(() => ({
63
- [nt]: !0
64
- })), k = f(() => t.list.slice(t.start, I.value)), q = () => {
65
- if (l.value)
66
- return `translate3d(0, ${t.start >= 1 ? t.cachePositions[t.start - 1].bottom : 0}px, 0)`;
67
- }, x = () => {
68
- t.cachePositions = [];
69
- for (let n = 0; n < t.list.length; ++n)
70
- t.cachePositions[n] = {
71
- index: n,
72
- height: e.height,
73
- top: n * e.height,
74
- bottom: (n + 1) * (e.height + e.margin),
88
+ phantomHeight: props.height * props.listData.length
89
+ });
90
+ const getContainerHeight = computed(() => {
91
+ return Math.min(props.containerHeight, clientHeight);
92
+ });
93
+ const visibleCount = computed(() => {
94
+ return Math.ceil(getContainerHeight.value / props.height);
95
+ });
96
+ const end = computed(() => {
97
+ return Math.min(state.originStartIndex + visibleCount.value + props.bufferSize, state.list.length);
98
+ });
99
+ const classes = computed(() => {
100
+ const prefixCls = componentName;
101
+ return {
102
+ [prefixCls]: true
103
+ };
104
+ });
105
+ const visibleData = computed(() => {
106
+ return state.list.slice(state.start, end.value);
107
+ });
108
+ const getTransform = () => {
109
+ if (actualContent.value) {
110
+ return `translate3d(0, ${state.start >= 1 ? state.cachePositions[state.start - 1].bottom : 0}px, 0)`;
111
+ }
112
+ };
113
+ const initCachedPosition = () => {
114
+ state.cachePositions = [];
115
+ for (let i = 0; i < state.list.length; ++i) {
116
+ state.cachePositions[i] = {
117
+ index: i,
118
+ height: props.height,
119
+ top: i * props.height,
120
+ bottom: (i + 1) * (props.height + props.margin),
75
121
  dValue: 0
76
122
  };
77
- }, V = () => {
78
- let n = l.value.childNodes;
79
- n = Array.from(n).filter((s) => s.nodeType === 1);
80
- const u = n[0];
81
- n.forEach((s, c) => {
82
- if (!s)
123
+ }
124
+ };
125
+ const updateCachedPosition = () => {
126
+ let nodes = actualContent.value.childNodes;
127
+ nodes = Array.from(nodes).filter((node) => node.nodeType === 1);
128
+ const start = nodes[0];
129
+ nodes.forEach((node, index2) => {
130
+ if (!node)
83
131
  return;
84
- const F = _(s), { height: T } = F, v = t.cachePositions[c + t.start].height - T;
85
- v && (t.cachePositions[c + t.start].bottom -= v, t.cachePositions[c + t.start].height = T, t.cachePositions[c + t.start].dValue = v);
132
+ const rect = useRect(node);
133
+ const { height: height2 } = rect;
134
+ const oldHeight = state.cachePositions[index2 + state.start].height;
135
+ const dValue = oldHeight - height2;
136
+ if (dValue) {
137
+ state.cachePositions[index2 + state.start].bottom -= dValue;
138
+ state.cachePositions[index2 + state.start].height = height2;
139
+ state.cachePositions[index2 + state.start].dValue = dValue;
140
+ }
86
141
  });
87
- let a = 0;
88
- u && (a = t.start);
89
- const d = t.cachePositions.length;
90
- let g = t.cachePositions[a].dValue;
91
- t.cachePositions[a].dValue = 0;
92
- for (let s = a + 1; s < d; ++s) {
93
- const c = t.cachePositions[s];
94
- t.cachePositions[s].top = t.cachePositions[s - 1].bottom, t.cachePositions[s].bottom = t.cachePositions[s].bottom - g, c.dValue !== 0 && (g += c.dValue, c.dValue = 0);
142
+ let startIndex = 0;
143
+ if (start) {
144
+ startIndex = state.start;
95
145
  }
96
- const P = t.cachePositions[d - 1].bottom;
97
- t.phantomHeight = P;
98
- }, A = (n = 0) => {
99
- let u = et(
100
- t.cachePositions,
101
- n,
102
- (d, g) => {
103
- const P = d.bottom;
104
- return P === g ? b.eq : P < g ? b.lt : b.gt;
146
+ const cachedPositionsLen = state.cachePositions.length;
147
+ let cumulativeDiffHeight = state.cachePositions[startIndex].dValue;
148
+ state.cachePositions[startIndex].dValue = 0;
149
+ for (let i = startIndex + 1; i < cachedPositionsLen; ++i) {
150
+ const item = state.cachePositions[i];
151
+ state.cachePositions[i].top = state.cachePositions[i - 1].bottom;
152
+ state.cachePositions[i].bottom = state.cachePositions[i].bottom - cumulativeDiffHeight;
153
+ if (item.dValue !== 0) {
154
+ cumulativeDiffHeight += item.dValue;
155
+ item.dValue = 0;
156
+ }
157
+ }
158
+ const height = state.cachePositions[cachedPositionsLen - 1].bottom;
159
+ state.phantomHeight = height;
160
+ };
161
+ const getStartIndex = (scrollTop = 0) => {
162
+ let idx = binarySearch(
163
+ state.cachePositions,
164
+ scrollTop,
165
+ (currentValue, targetValue) => {
166
+ const currentCompareValue = currentValue.bottom;
167
+ if (currentCompareValue === targetValue) {
168
+ return CompareResult.eq;
169
+ }
170
+ if (currentCompareValue < targetValue) {
171
+ return CompareResult.lt;
172
+ }
173
+ return CompareResult.gt;
105
174
  }
106
175
  );
107
- return t.cachePositions[u].bottom < n && (u += 1), u;
108
- }, B = () => {
109
- t.originStartIndex = 0, t.start = 0, t.scrollTop = 0, i.value.scrollTop = 0, x(), t.phantomHeight = e.height * t.list.length;
110
- }, L = () => {
111
- var d;
112
- const n = (d = i.value) == null ? void 0 : d.scrollTop, { originStartIndex: u } = t, a = A(n);
113
- a !== u && (t.originStartIndex = a, t.start = Math.max(t.originStartIndex - e.bufferSize, 0), I.value >= t.list.length - 1 && o("scroll-bottom")), o(n > t.scrollTop ? "scroll-up" : "scroll-down", n), t.scrollTop = n;
176
+ const targetItem = state.cachePositions[idx];
177
+ if (targetItem.bottom < scrollTop) {
178
+ idx += 1;
179
+ }
180
+ return idx;
181
+ };
182
+ const resetAllVirtualParam = () => {
183
+ state.originStartIndex = 0;
184
+ state.start = 0;
185
+ state.scrollTop = 0;
186
+ list.value.scrollTop = 0;
187
+ initCachedPosition();
188
+ state.phantomHeight = props.height * state.list.length;
189
+ };
190
+ const handleScrollEvent = () => {
191
+ var _a;
192
+ const scrollTop = (_a = list.value) == null ? void 0 : _a.scrollTop;
193
+ const { originStartIndex } = state;
194
+ const currentIndex = getStartIndex(scrollTop);
195
+ if (currentIndex !== originStartIndex) {
196
+ state.originStartIndex = currentIndex;
197
+ state.start = Math.max(state.originStartIndex - props.bufferSize, 0);
198
+ if (end.value >= state.list.length - 1) {
199
+ emit("scroll-bottom");
200
+ }
201
+ }
202
+ emit(scrollTop > state.scrollTop ? "scroll-up" : "scroll-down", scrollTop);
203
+ state.scrollTop = scrollTop;
114
204
  };
115
- return $(
116
- () => e.listData,
117
- (n) => {
118
- if (t.list = n.slice(), t.list.length === n.length)
119
- x(), V();
120
- else {
121
- B();
205
+ watch(
206
+ () => props.listData,
207
+ (val) => {
208
+ state.list = val.slice();
209
+ if (state.list.length === val.length) {
210
+ initCachedPosition();
211
+ updateCachedPosition();
212
+ } else {
213
+ resetAllVirtualParam();
122
214
  return;
123
215
  }
124
216
  }
125
- ), $(
126
- () => t.start,
217
+ );
218
+ watch(
219
+ () => state.start,
127
220
  () => {
128
- l.value && t.list.length > 0 && V();
221
+ if (actualContent.value && state.list.length > 0) {
222
+ updateCachedPosition();
223
+ }
129
224
  }
130
- ), N(E({}, U(t)), {
131
- list: i,
132
- phantom: m,
133
- actualContent: l,
134
- getTransform: q,
135
- visibleData: k,
136
- classes: w,
137
- getContainerHeight: r,
138
- handleScrollEvent: L
225
+ );
226
+ return __spreadProps(__spreadValues({}, toRefs(state)), {
227
+ list,
228
+ phantom,
229
+ actualContent,
230
+ getTransform,
231
+ visibleData,
232
+ classes,
233
+ getContainerHeight,
234
+ handleScrollEvent
139
235
  });
140
236
  }
141
237
  });
142
- function st(e, o, i, m, l, t) {
143
- return S(), y("div", {
144
- class: W(e.classes),
145
- style: H({ height: `${e.getContainerHeight}px` }),
146
- onScrollPassive: o[0] || (o[0] = (...r) => e.handleScrollEvent && e.handleScrollEvent(...r)),
238
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
239
+ return openBlock(), createElementBlock("div", {
240
+ class: normalizeClass(_ctx.classes),
241
+ style: normalizeStyle({ height: `${_ctx.getContainerHeight}px` }),
242
+ onScrollPassive: _cache[0] || (_cache[0] = (...args) => _ctx.handleScrollEvent && _ctx.handleScrollEvent(...args)),
147
243
  ref: "list"
148
244
  }, [
149
- z("div", {
245
+ createElementVNode("div", {
150
246
  class: "nut-list-phantom",
151
- style: H({ height: e.phantomHeight + "px" }),
247
+ style: normalizeStyle({ height: _ctx.phantomHeight + "px" }),
152
248
  ref: "phantom"
153
249
  }, null, 4),
154
- z("div", {
250
+ createElementVNode("div", {
155
251
  class: "nut-list-container",
156
- style: H({ transform: e.getTransform() }),
252
+ style: normalizeStyle({ transform: _ctx.getTransform() }),
157
253
  ref: "actualContent"
158
254
  }, [
159
- (S(!0), y(X, null, Y(e.visibleData, (r, h) => (S(), y("div", {
160
- class: "nut-list-item",
161
- key: r
162
- }, [
163
- Z(e.$slots, "default", {
164
- item: r,
165
- index: h + e.start
166
- })
167
- ]))), 128))
255
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.visibleData, (item, index2) => {
256
+ return openBlock(), createElementBlock("div", {
257
+ class: "nut-list-item",
258
+ key: item
259
+ }, [
260
+ renderSlot(_ctx.$slots, "default", {
261
+ item,
262
+ index: index2 + _ctx.start
263
+ })
264
+ ]);
265
+ }), 128))
168
266
  ], 4)
169
267
  ], 38);
170
268
  }
171
- const mt = /* @__PURE__ */ tt(it, [["render", st]]);
269
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
172
270
  export {
173
- mt as default
271
+ index as default
174
272
  };