@vtable-guild/vtable-guild 2.7.1 → 2.8.1

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 (162) hide show
  1. package/css/presets/antdv.css +36 -0
  2. package/css/presets/element-plus.css +38 -0
  3. package/css/style.css +436 -0
  4. package/css/tailwind3-utilities.css +337 -0
  5. package/css/tailwind3.css +99 -0
  6. package/css/tailwind4.css +99 -0
  7. package/css/transitions.css +25 -0
  8. package/dist/core/src/components/VirtualList/VirtualList.d.ts +6 -3
  9. package/dist/core/src/components/VirtualList/VirtualList.d.ts.map +1 -1
  10. package/dist/core/src/components/VirtualList/VirtualList.mjs +187 -180
  11. package/dist/core/src/components/VirtualList/VirtualScrollBar.d.ts +1 -1
  12. package/dist/core/src/components/VirtualList/hooks/useChildren.d.ts +2 -2
  13. package/dist/core/src/components/VirtualList/hooks/useChildren.d.ts.map +1 -1
  14. package/dist/core/src/components/VirtualList/hooks/useChildren.mjs +12 -12
  15. package/dist/core/src/components/VirtualList/hooks/useGetSize.d.ts +1 -1
  16. package/dist/core/src/components/VirtualList/hooks/useGetSize.d.ts.map +1 -1
  17. package/dist/core/src/components/VirtualList/hooks/useGetSize.mjs +1 -1
  18. package/dist/core/src/components/VirtualList/hooks/useHeights.d.ts +2 -2
  19. package/dist/core/src/components/VirtualList/hooks/useHeights.d.ts.map +1 -1
  20. package/dist/core/src/components/VirtualList/hooks/useHeights.mjs +36 -36
  21. package/dist/core/src/components/VirtualList/hooks/useMobileTouchMove.d.ts.map +1 -1
  22. package/dist/core/src/components/VirtualList/hooks/useMobileTouchMove.mjs +11 -11
  23. package/dist/core/src/components/VirtualList/hooks/useMobileTouchMove.test.d.ts +2 -0
  24. package/dist/core/src/components/VirtualList/hooks/useMobileTouchMove.test.d.ts.map +1 -0
  25. package/dist/core/src/components/VirtualList/hooks/useScrollTo.d.ts +1 -1
  26. package/dist/core/src/components/VirtualList/hooks/useScrollTo.d.ts.map +1 -1
  27. package/dist/core/src/components/VirtualList/hooks/useScrollTo.mjs +30 -30
  28. package/dist/core/src/index.d.ts +1 -1
  29. package/dist/core/src/index.d.ts.map +1 -1
  30. package/dist/core/src/utils/types.d.ts +18 -0
  31. package/dist/core/src/utils/types.d.ts.map +1 -1
  32. package/dist/css/presets/antdv.css +36 -0
  33. package/dist/css/presets/element-plus.css +38 -0
  34. package/dist/css/style.css +436 -0
  35. package/dist/css/tailwind3-utilities.css +337 -0
  36. package/dist/css/tailwind3.css +99 -0
  37. package/dist/css/tailwind4.css +99 -0
  38. package/dist/css/transitions.css +25 -0
  39. package/dist/index.d.ts +0 -26
  40. package/dist/index.full.mjs +5116 -3769
  41. package/dist/index.mjs +85 -75
  42. package/dist/table/src/components/ColGroup.d.ts.map +1 -1
  43. package/dist/table/src/components/ColGroup.mjs +10 -10
  44. package/dist/table/src/components/ColumnWidthRow.d.ts +4 -0
  45. package/dist/table/src/components/ColumnWidthRow.d.ts.map +1 -0
  46. package/dist/table/src/components/ColumnWidthRow.mjs +23 -0
  47. package/dist/table/src/components/PaginationSizeSelect.d.ts +57 -0
  48. package/dist/table/src/components/PaginationSizeSelect.d.ts.map +1 -0
  49. package/dist/table/src/components/PaginationSizeSelect.mjs +138 -0
  50. package/dist/table/src/components/SelectionDropdown.d.ts +9 -0
  51. package/dist/table/src/components/SelectionDropdown.d.ts.map +1 -1
  52. package/dist/table/src/components/SelectionDropdown.mjs +32 -26
  53. package/dist/table/src/components/Table.d.ts +13 -2
  54. package/dist/table/src/components/Table.d.ts.map +1 -1
  55. package/dist/table/src/components/Table.mjs +496 -403
  56. package/dist/table/src/components/TableCell.d.ts.map +1 -1
  57. package/dist/table/src/components/TableCell.mjs +80 -74
  58. package/dist/table/src/components/TableHeaderCell.d.ts.map +1 -1
  59. package/dist/table/src/components/TableHeaderCell.mjs +85 -83
  60. package/dist/table/src/components/TablePagination.d.ts +74 -0
  61. package/dist/table/src/components/TablePagination.d.ts.map +1 -0
  62. package/dist/table/src/components/TablePagination.mjs +350 -0
  63. package/dist/table/src/components/TablePagination.test.d.ts +2 -0
  64. package/dist/table/src/components/TablePagination.test.d.ts.map +1 -0
  65. package/dist/table/src/components/TablePaginationCompatClass.test.d.ts +2 -0
  66. package/dist/table/src/components/TablePaginationCompatClass.test.d.ts.map +1 -0
  67. package/dist/table/src/components/TablePaginationLayout.test.d.ts +2 -0
  68. package/dist/table/src/components/TablePaginationLayout.test.d.ts.map +1 -0
  69. package/dist/table/src/components/VTable.vue.d.ts.map +1 -1
  70. package/dist/table/src/components/VTable.vue.mjs +34 -26
  71. package/dist/table/src/components/VTableMinWidth.test.d.ts +2 -0
  72. package/dist/table/src/components/VTableMinWidth.test.d.ts.map +1 -0
  73. package/dist/table/src/components/VTableSummary.d.ts +15 -75
  74. package/dist/table/src/components/VTableSummary.d.ts.map +1 -1
  75. package/dist/table/src/components/VTableSummary.mjs +7 -7
  76. package/dist/table/src/components/VTableSummaryCell.d.ts.map +1 -1
  77. package/dist/table/src/components/VTableSummaryCell.mjs +26 -24
  78. package/dist/table/src/components/VirtualTableBody.d.ts.map +1 -1
  79. package/dist/table/src/components/VirtualTableBody.mjs +107 -95
  80. package/dist/table/src/composables/useColumnLayout.d.ts +28 -0
  81. package/dist/table/src/composables/useColumnLayout.d.ts.map +1 -0
  82. package/dist/table/src/composables/useColumnLayout.mjs +259 -0
  83. package/dist/table/src/composables/useColumnLayout.test.d.ts +2 -0
  84. package/dist/table/src/composables/useColumnLayout.test.d.ts.map +1 -0
  85. package/dist/table/src/composables/useColumnMetrics.d.ts +5 -3
  86. package/dist/table/src/composables/useColumnMetrics.d.ts.map +1 -1
  87. package/dist/table/src/composables/useColumnMetrics.mjs +64 -55
  88. package/dist/table/src/composables/useExpand.d.ts +2 -0
  89. package/dist/table/src/composables/useExpand.d.ts.map +1 -1
  90. package/dist/table/src/composables/useExpand.mjs +42 -20
  91. package/dist/table/src/composables/usePagination.d.ts +15 -0
  92. package/dist/table/src/composables/usePagination.d.ts.map +1 -0
  93. package/dist/table/src/composables/usePagination.mjs +65 -0
  94. package/dist/table/src/composables/usePagination.test.d.ts +2 -0
  95. package/dist/table/src/composables/usePagination.test.d.ts.map +1 -0
  96. package/dist/table/src/composables/useResize.d.ts +1 -0
  97. package/dist/table/src/composables/useResize.d.ts.map +1 -1
  98. package/dist/table/src/composables/useResize.mjs +67 -39
  99. package/dist/table/src/composables/useScroll.d.ts +3 -0
  100. package/dist/table/src/composables/useScroll.d.ts.map +1 -1
  101. package/dist/table/src/composables/useScroll.mjs +43 -41
  102. package/dist/table/src/composables/useSelection.d.ts +2 -1
  103. package/dist/table/src/composables/useSelection.d.ts.map +1 -1
  104. package/dist/table/src/composables/useSelection.mjs +204 -155
  105. package/dist/table/src/composables/useTreeData.d.ts +4 -0
  106. package/dist/table/src/composables/useTreeData.d.ts.map +1 -1
  107. package/dist/table/src/composables/useTreeData.mjs +48 -43
  108. package/dist/table/src/context.d.ts +6 -1
  109. package/dist/table/src/context.d.ts.map +1 -1
  110. package/dist/table/src/index.d.ts +10 -87
  111. package/dist/table/src/index.d.ts.map +1 -1
  112. package/dist/table/src/index.mjs +12 -12
  113. package/dist/table/src/types/column.d.ts +8 -2
  114. package/dist/table/src/types/column.d.ts.map +1 -1
  115. package/dist/table/src/types/index.d.ts +1 -0
  116. package/dist/table/src/types/index.d.ts.map +1 -1
  117. package/dist/table/src/types/pagination.d.ts +66 -0
  118. package/dist/table/src/types/pagination.d.ts.map +1 -0
  119. package/dist/table/src/types/pagination.typecheck.d.ts +25 -0
  120. package/dist/table/src/types/pagination.typecheck.d.ts.map +1 -0
  121. package/dist/table/src/types/table.d.ts +8 -1
  122. package/dist/table/src/types/table.d.ts.map +1 -1
  123. package/dist/table/src/utils/columnWidth.d.ts +55 -7
  124. package/dist/table/src/utils/columnWidth.d.ts.map +1 -1
  125. package/dist/table/src/utils/columnWidth.mjs +91 -21
  126. package/dist/table/src/utils/paginationLayout.d.ts +13 -0
  127. package/dist/table/src/utils/paginationLayout.d.ts.map +1 -0
  128. package/dist/table/src/utils/paginationLayout.mjs +55 -0
  129. package/dist/table/src/utils/paginationLayout.test.d.ts +2 -0
  130. package/dist/table/src/utils/paginationLayout.test.d.ts.map +1 -0
  131. package/dist/table/src/utils/popupPosition.d.ts +4 -1
  132. package/dist/table/src/utils/popupPosition.d.ts.map +1 -1
  133. package/dist/table/src/utils/popupPosition.mjs +34 -15
  134. package/dist/theme/src/augment.d.ts +2 -0
  135. package/dist/theme/src/augment.d.ts.map +1 -1
  136. package/dist/theme/src/compat/antdv-pagination.d.ts +4 -0
  137. package/dist/theme/src/compat/antdv-pagination.d.ts.map +1 -0
  138. package/dist/theme/src/compat/antdv-pagination.mjs +29 -0
  139. package/dist/theme/src/index.d.ts +5 -0
  140. package/dist/theme/src/index.d.ts.map +1 -1
  141. package/dist/theme/src/pagination.d.ts +153 -0
  142. package/dist/theme/src/pagination.d.ts.map +1 -0
  143. package/dist/theme/src/pagination.mjs +144 -0
  144. package/dist/theme/src/presets/antdv/table-locale.d.ts +2 -2
  145. package/dist/theme/src/presets/antdv/table-locale.mjs +2 -2
  146. package/dist/theme/src/presets/antdv/table.d.ts +3 -0
  147. package/dist/theme/src/presets/antdv/table.d.ts.map +1 -1
  148. package/dist/theme/src/presets/antdv/table.mjs +3 -0
  149. package/dist/theme/src/presets/element-plus/table-locale.d.ts +2 -2
  150. package/dist/theme/src/presets/element-plus/table-locale.mjs +2 -2
  151. package/dist/theme/src/presets/element-plus/table.d.ts +3 -0
  152. package/dist/theme/src/presets/element-plus/table.d.ts.map +1 -1
  153. package/dist/theme/src/presets/element-plus/table.mjs +3 -0
  154. package/dist/theme/src/presets/index.d.ts.map +1 -1
  155. package/dist/theme/src/presets/index.mjs +60 -57
  156. package/dist/theme/src/presets/types.d.ts +1 -0
  157. package/dist/theme/src/presets/types.d.ts.map +1 -1
  158. package/dist/vtable-guild/src/augment.d.ts +15 -0
  159. package/dist/vtable-guild/src/augment.d.ts.map +1 -0
  160. package/dist/vtable-guild/src/index.d.ts +1 -0
  161. package/dist/vtable-guild/src/index.d.ts.map +1 -1
  162. package/package.json +4 -3
package/css/tailwind3.css CHANGED
@@ -11,6 +11,38 @@
11
11
 
12
12
  :where(:root),
13
13
  [data-vtg-preset='antdv'] {
14
+ --vtg-pagination-size: 32px;
15
+ --vtg-pagination-size-sm: 24px;
16
+ --vtg-pagination-gap: 8px;
17
+ --vtg-pagination-margin: 16px;
18
+ --vtg-pagination-radius: 6px;
19
+ --vtg-pagination-input-width: 50px;
20
+ --vtg-pagination-border: transparent;
21
+ --vtg-pagination-bg: transparent;
22
+ --vtg-pagination-hover-bg: var(--color-text-hover-bg);
23
+ --vtg-pagination-hover-color: var(--color-on-surface);
24
+ --vtg-pagination-active-hover-color: var(--color-primary-hover);
25
+ --vtg-pagination-option-hover-bg: var(--color-control-item-hover-bg);
26
+ --vtg-pagination-slash-margin: 2px;
27
+ --vtg-pagination-focus-shadow: 0 0 0 2px rgb(5 145 255 / 10%);
28
+ --vtg-pagination-motion-duration: 0.2s;
29
+ --vtg-pagination-motion-easing: cubic-bezier(0.23, 1, 0.32, 1);
30
+ --vtg-pagination-simple-input-width: 63px;
31
+ --vtg-pagination-select-padding: 9px;
32
+ --vtg-pagination-icon-size: 12px;
33
+ --vtg-pagination-active-weight: 600;
34
+ --vtg-pagination-active-disabled-bg: rgb(0 0 0 / 15%);
35
+ --vtg-pagination-active-bg: var(--color-surface);
36
+ --vtg-pagination-active-color: var(--color-primary);
37
+ --vtg-pagination-active-border: var(--color-primary);
38
+ --vtg-pagination-popup-z: 1050;
39
+ --vtg-pagination-popup-radius: 8px;
40
+ --vtg-pagination-option-height: 32px;
41
+ --vtg-pagination-option-active-color: var(--color-on-surface);
42
+ --vtg-pagination-option-active-bg: var(--vtg-table-row-selected-bg);
43
+ --vtg-pagination-popup-shadow:
44
+ 0 6px 16px rgb(0 0 0 / 8%), 0 3px 6px -4px rgb(0 0 0 / 12%), 0 9px 28px 8px rgb(0 0 0 / 5%);
45
+
14
46
  /* ===== 语义 token — antdv 设计体系值 ===== */
15
47
 
16
48
  /* 排版 */
@@ -94,6 +126,7 @@
94
126
 
95
127
  /* 筛选下拉选项 hover 背景 */
96
128
  --color-control-item-hover-bg: rgb(0 0 0 / 4%);
129
+ --color-text-hover-bg: rgb(0 0 0 / 6%);
97
130
 
98
131
  /* 筛选下拉选项选中态背景 */
99
132
  --color-control-item-active-bg: #e6f4ff;
@@ -135,6 +168,8 @@
135
168
  :where(.dark),
136
169
  .dark [data-vtg-preset='antdv'],
137
170
  [data-vtg-preset='antdv'].dark {
171
+ --vtg-pagination-active-disabled-bg: rgb(255 255 255 / 15%);
172
+
138
173
  /* ===== 语义 token 暗色值 — 只改语义 token,组件 token 自动跟随 ===== */
139
174
  --color-surface: #141414;
140
175
  --color-surface-hover: #1d1d1d;
@@ -172,6 +207,7 @@
172
207
 
173
208
  /* 筛选下拉选项 hover 背景 */
174
209
  --color-control-item-hover-bg: rgb(255 255 255 / 8%);
210
+ --color-text-hover-bg: rgb(255 255 255 / 12%);
175
211
 
176
212
  /* 筛选下拉选项选中态背景 */
177
213
  --color-control-item-active-bg: #111a2c;
@@ -200,6 +236,44 @@
200
236
  */
201
237
 
202
238
  [data-vtg-preset='element-plus'] {
239
+ --vtg-pagination-size: 32px;
240
+ --vtg-pagination-size-sm: 24px;
241
+ --vtg-pagination-font-size: 14px;
242
+ --vtg-pagination-font-size-sm: 12px;
243
+ --vtg-pagination-gap: 16px;
244
+ --vtg-pagination-page-gap: 0px;
245
+ --vtg-pagination-control-gap: 8px;
246
+ --vtg-pagination-margin: 16px;
247
+ --vtg-pagination-radius: 2px;
248
+ --vtg-pagination-input-width: 56px;
249
+ --vtg-pagination-border: transparent;
250
+ --vtg-pagination-bg: var(--color-surface);
251
+ --vtg-pagination-hover-bg: var(--color-surface);
252
+ --vtg-pagination-hover-color: var(--color-primary);
253
+ --vtg-pagination-active-hover-color: var(--color-primary-hover);
254
+ --vtg-pagination-option-hover-bg: var(--color-control-item-hover-bg);
255
+ --vtg-pagination-slash-margin: 2px;
256
+ --vtg-pagination-focus-shadow: 0 0 0 1px var(--color-primary) inset;
257
+ --vtg-pagination-motion-duration: 0.2s;
258
+ --vtg-pagination-motion-easing: cubic-bezier(0.23, 1, 0.32, 1);
259
+ --vtg-pagination-simple-input-width: 63px;
260
+ --vtg-pagination-select-padding: 12px;
261
+ --vtg-pagination-select-width: 128px;
262
+ --vtg-pagination-select-width-sm: 100px;
263
+ --vtg-pagination-icon-size: 12px;
264
+ --vtg-pagination-active-weight: 700;
265
+ --vtg-pagination-active-disabled-bg: var(--color-surface);
266
+ --vtg-pagination-active-bg: var(--color-surface);
267
+ --vtg-pagination-active-color: var(--color-primary);
268
+ --vtg-pagination-active-border: transparent;
269
+ --vtg-pagination-popup-z: 2000;
270
+ --vtg-pagination-popup-radius: 4px;
271
+ --vtg-pagination-option-height: 34px;
272
+ --vtg-pagination-popup-padding: 6px;
273
+ --vtg-pagination-option-active-color: var(--color-primary);
274
+ --vtg-pagination-option-active-bg: var(--color-surface-hover);
275
+ --vtg-pagination-popup-shadow: 0 0 12px rgb(0 0 0 / 12%);
276
+
203
277
  /* ===== 语义 token — element-plus 设计体系值 ===== */
204
278
 
205
279
  /* 排版 */
@@ -409,6 +483,31 @@
409
483
  transform: scaleY(1);
410
484
  }
411
485
 
486
+ /* Pagination popup origin follows its measured above/below placement. */
487
+ .vtg-pagination-popup-enter-active,
488
+ .vtg-pagination-popup-leave-active {
489
+ transition:
490
+ opacity var(--vtg-pagination-motion-duration) var(--vtg-pagination-motion-easing),
491
+ transform var(--vtg-pagination-motion-duration) var(--vtg-pagination-motion-easing);
492
+ }
493
+
494
+ .vtg-pagination-popup-enter-from,
495
+ .vtg-pagination-popup-leave-to {
496
+ opacity: 0;
497
+ transform: scaleY(0.8);
498
+ }
499
+
500
+ .vtg-pagination-popup-leave-active {
501
+ pointer-events: none;
502
+ }
503
+
504
+ @media (prefers-reduced-motion: reduce) {
505
+ .vtg-pagination-popup-enter-active,
506
+ .vtg-pagination-popup-leave-active {
507
+ transition: none;
508
+ }
509
+ }
510
+
412
511
  /* @vtable-guild/theme/css — 默认入口 */
413
512
 
414
513
  /*
package/css/tailwind4.css CHANGED
@@ -52,6 +52,38 @@
52
52
 
53
53
  :where(:root),
54
54
  [data-vtg-preset='antdv'] {
55
+ --vtg-pagination-size: 32px;
56
+ --vtg-pagination-size-sm: 24px;
57
+ --vtg-pagination-gap: 8px;
58
+ --vtg-pagination-margin: 16px;
59
+ --vtg-pagination-radius: 6px;
60
+ --vtg-pagination-input-width: 50px;
61
+ --vtg-pagination-border: transparent;
62
+ --vtg-pagination-bg: transparent;
63
+ --vtg-pagination-hover-bg: var(--color-text-hover-bg);
64
+ --vtg-pagination-hover-color: var(--color-on-surface);
65
+ --vtg-pagination-active-hover-color: var(--color-primary-hover);
66
+ --vtg-pagination-option-hover-bg: var(--color-control-item-hover-bg);
67
+ --vtg-pagination-slash-margin: 2px;
68
+ --vtg-pagination-focus-shadow: 0 0 0 2px rgb(5 145 255 / 10%);
69
+ --vtg-pagination-motion-duration: 0.2s;
70
+ --vtg-pagination-motion-easing: cubic-bezier(0.23, 1, 0.32, 1);
71
+ --vtg-pagination-simple-input-width: 63px;
72
+ --vtg-pagination-select-padding: 9px;
73
+ --vtg-pagination-icon-size: 12px;
74
+ --vtg-pagination-active-weight: 600;
75
+ --vtg-pagination-active-disabled-bg: rgb(0 0 0 / 15%);
76
+ --vtg-pagination-active-bg: var(--color-surface);
77
+ --vtg-pagination-active-color: var(--color-primary);
78
+ --vtg-pagination-active-border: var(--color-primary);
79
+ --vtg-pagination-popup-z: 1050;
80
+ --vtg-pagination-popup-radius: 8px;
81
+ --vtg-pagination-option-height: 32px;
82
+ --vtg-pagination-option-active-color: var(--color-on-surface);
83
+ --vtg-pagination-option-active-bg: var(--vtg-table-row-selected-bg);
84
+ --vtg-pagination-popup-shadow:
85
+ 0 6px 16px rgb(0 0 0 / 8%), 0 3px 6px -4px rgb(0 0 0 / 12%), 0 9px 28px 8px rgb(0 0 0 / 5%);
86
+
55
87
  /* ===== 语义 token — antdv 设计体系值 ===== */
56
88
 
57
89
  /* 排版 */
@@ -135,6 +167,7 @@
135
167
 
136
168
  /* 筛选下拉选项 hover 背景 */
137
169
  --color-control-item-hover-bg: rgb(0 0 0 / 4%);
170
+ --color-text-hover-bg: rgb(0 0 0 / 6%);
138
171
 
139
172
  /* 筛选下拉选项选中态背景 */
140
173
  --color-control-item-active-bg: #e6f4ff;
@@ -176,6 +209,8 @@
176
209
  :where(.dark),
177
210
  .dark [data-vtg-preset='antdv'],
178
211
  [data-vtg-preset='antdv'].dark {
212
+ --vtg-pagination-active-disabled-bg: rgb(255 255 255 / 15%);
213
+
179
214
  /* ===== 语义 token 暗色值 — 只改语义 token,组件 token 自动跟随 ===== */
180
215
  --color-surface: #141414;
181
216
  --color-surface-hover: #1d1d1d;
@@ -213,6 +248,7 @@
213
248
 
214
249
  /* 筛选下拉选项 hover 背景 */
215
250
  --color-control-item-hover-bg: rgb(255 255 255 / 8%);
251
+ --color-text-hover-bg: rgb(255 255 255 / 12%);
216
252
 
217
253
  /* 筛选下拉选项选中态背景 */
218
254
  --color-control-item-active-bg: #111a2c;
@@ -241,6 +277,44 @@
241
277
  */
242
278
 
243
279
  [data-vtg-preset='element-plus'] {
280
+ --vtg-pagination-size: 32px;
281
+ --vtg-pagination-size-sm: 24px;
282
+ --vtg-pagination-font-size: 14px;
283
+ --vtg-pagination-font-size-sm: 12px;
284
+ --vtg-pagination-gap: 16px;
285
+ --vtg-pagination-page-gap: 0px;
286
+ --vtg-pagination-control-gap: 8px;
287
+ --vtg-pagination-margin: 16px;
288
+ --vtg-pagination-radius: 2px;
289
+ --vtg-pagination-input-width: 56px;
290
+ --vtg-pagination-border: transparent;
291
+ --vtg-pagination-bg: var(--color-surface);
292
+ --vtg-pagination-hover-bg: var(--color-surface);
293
+ --vtg-pagination-hover-color: var(--color-primary);
294
+ --vtg-pagination-active-hover-color: var(--color-primary-hover);
295
+ --vtg-pagination-option-hover-bg: var(--color-control-item-hover-bg);
296
+ --vtg-pagination-slash-margin: 2px;
297
+ --vtg-pagination-focus-shadow: 0 0 0 1px var(--color-primary) inset;
298
+ --vtg-pagination-motion-duration: 0.2s;
299
+ --vtg-pagination-motion-easing: cubic-bezier(0.23, 1, 0.32, 1);
300
+ --vtg-pagination-simple-input-width: 63px;
301
+ --vtg-pagination-select-padding: 12px;
302
+ --vtg-pagination-select-width: 128px;
303
+ --vtg-pagination-select-width-sm: 100px;
304
+ --vtg-pagination-icon-size: 12px;
305
+ --vtg-pagination-active-weight: 700;
306
+ --vtg-pagination-active-disabled-bg: var(--color-surface);
307
+ --vtg-pagination-active-bg: var(--color-surface);
308
+ --vtg-pagination-active-color: var(--color-primary);
309
+ --vtg-pagination-active-border: transparent;
310
+ --vtg-pagination-popup-z: 2000;
311
+ --vtg-pagination-popup-radius: 4px;
312
+ --vtg-pagination-option-height: 34px;
313
+ --vtg-pagination-popup-padding: 6px;
314
+ --vtg-pagination-option-active-color: var(--color-primary);
315
+ --vtg-pagination-option-active-bg: var(--color-surface-hover);
316
+ --vtg-pagination-popup-shadow: 0 0 12px rgb(0 0 0 / 12%);
317
+
244
318
  /* ===== 语义 token — element-plus 设计体系值 ===== */
245
319
 
246
320
  /* 排版 */
@@ -450,6 +524,31 @@
450
524
  transform: scaleY(1);
451
525
  }
452
526
 
527
+ /* Pagination popup origin follows its measured above/below placement. */
528
+ .vtg-pagination-popup-enter-active,
529
+ .vtg-pagination-popup-leave-active {
530
+ transition:
531
+ opacity var(--vtg-pagination-motion-duration) var(--vtg-pagination-motion-easing),
532
+ transform var(--vtg-pagination-motion-duration) var(--vtg-pagination-motion-easing);
533
+ }
534
+
535
+ .vtg-pagination-popup-enter-from,
536
+ .vtg-pagination-popup-leave-to {
537
+ opacity: 0;
538
+ transform: scaleY(0.8);
539
+ }
540
+
541
+ .vtg-pagination-popup-leave-active {
542
+ pointer-events: none;
543
+ }
544
+
545
+ @media (prefers-reduced-motion: reduce) {
546
+ .vtg-pagination-popup-enter-active,
547
+ .vtg-pagination-popup-leave-active {
548
+ transition: none;
549
+ }
550
+ }
551
+
453
552
  /* @vtable-guild/theme/css — 默认入口 */
454
553
 
455
554
  /*
@@ -19,3 +19,28 @@
19
19
  opacity: 1;
20
20
  transform: scaleY(1);
21
21
  }
22
+
23
+ /* Pagination popup origin follows its measured above/below placement. */
24
+ .vtg-pagination-popup-enter-active,
25
+ .vtg-pagination-popup-leave-active {
26
+ transition:
27
+ opacity var(--vtg-pagination-motion-duration) var(--vtg-pagination-motion-easing),
28
+ transform var(--vtg-pagination-motion-duration) var(--vtg-pagination-motion-easing);
29
+ }
30
+
31
+ .vtg-pagination-popup-enter-from,
32
+ .vtg-pagination-popup-leave-to {
33
+ opacity: 0;
34
+ transform: scaleY(0.8);
35
+ }
36
+
37
+ .vtg-pagination-popup-leave-active {
38
+ pointer-events: none;
39
+ }
40
+
41
+ @media (prefers-reduced-motion: reduce) {
42
+ .vtg-pagination-popup-enter-active,
43
+ .vtg-pagination-popup-leave-active {
44
+ transition: none;
45
+ }
46
+ }
@@ -16,11 +16,12 @@ export interface ListRef {
16
16
  }
17
17
  export interface ListProps {
18
18
  prefixCls?: string;
19
+ holderClass?: string;
19
20
  data?: any[];
20
21
  height?: number;
21
22
  itemHeight?: number;
22
23
  fullHeight?: boolean;
23
- itemKey: Key | ((item: any) => Key);
24
+ itemKey: Key | ((item: any, index?: number) => Key);
24
25
  component?: string;
25
26
  virtual?: boolean;
26
27
  direction?: ScrollBarDirectionType;
@@ -67,6 +68,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
67
68
  type: StringConstructor;
68
69
  default: string;
69
70
  };
71
+ holderClass: StringConstructor;
70
72
  data: {
71
73
  type: PropType<any[]>;
72
74
  };
@@ -77,7 +79,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
77
79
  default: boolean;
78
80
  };
79
81
  itemKey: {
80
- type: PropType<Key | ((item: any) => Key)>;
82
+ type: PropType<Key | ((item: any, index?: number) => Key)>;
81
83
  required: true;
82
84
  };
83
85
  component: {
@@ -113,6 +115,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
113
115
  type: StringConstructor;
114
116
  default: string;
115
117
  };
118
+ holderClass: StringConstructor;
116
119
  data: {
117
120
  type: PropType<any[]>;
118
121
  };
@@ -123,7 +126,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
123
126
  default: boolean;
124
127
  };
125
128
  itemKey: {
126
- type: PropType<Key | ((item: any) => Key)>;
129
+ type: PropType<Key | ((item: any, index?: number) => Key)>;
127
130
  required: true;
128
131
  };
129
132
  component: {
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualList.d.ts","sourceRoot":"","sources":["../../../../../../core/src/components/VirtualList/VirtualList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualList.d.ts","sourceRoot":"","sources":["../../../../../../core/src/components/VirtualList/VirtualList.tsx"],"names":[],"mappings":"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"}