@yh-ui/components 0.1.21 → 0.1.23

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 (485) hide show
  1. package/README.md +2 -0
  2. package/dist/breadcrumb/src/breadcrumb-item.vue +10 -6
  3. package/dist/form/index.cjs +1 -1
  4. package/dist/form/index.d.ts +1 -1
  5. package/dist/form/index.mjs +1 -1
  6. package/dist/icon/index.cjs +1 -1
  7. package/dist/icon/index.d.ts +1 -1
  8. package/dist/icon/index.mjs +1 -1
  9. package/dist/loading/index.cjs +1 -1
  10. package/dist/loading/index.d.ts +1 -1
  11. package/dist/loading/index.mjs +1 -1
  12. package/dist/message/src/method.cjs +1 -1
  13. package/dist/message/src/method.d.ts +1 -1
  14. package/dist/message/src/method.mjs +1 -1
  15. package/dist/message-box/index.cjs +1 -1
  16. package/dist/message-box/index.d.ts +1 -1
  17. package/dist/message-box/index.mjs +1 -1
  18. package/dist/notification/src/method.cjs +1 -1
  19. package/dist/notification/src/method.d.ts +1 -1
  20. package/dist/notification/src/method.mjs +1 -1
  21. package/dist/resolver.cjs +1 -1
  22. package/dist/resolver.d.ts +7 -5
  23. package/dist/resolver.mjs +1 -1
  24. package/dist/style.css +584 -0
  25. package/package.json +9 -8
  26. package/dist/affix/__tests__/affix.bottom.test.cjs +0 -101
  27. package/dist/affix/__tests__/affix.bottom.test.mjs +0 -88
  28. package/dist/affix/__tests__/affix.ssr.test.cjs +0 -38
  29. package/dist/affix/__tests__/affix.ssr.test.mjs +0 -51
  30. package/dist/affix/__tests__/affix.test.cjs +0 -185
  31. package/dist/affix/__tests__/affix.test.mjs +0 -180
  32. package/dist/ai-action-group/__tests__/ai-action-group.ssr.test.cjs +0 -55
  33. package/dist/ai-action-group/__tests__/ai-action-group.ssr.test.mjs +0 -39
  34. package/dist/ai-action-group/__tests__/ai-action-group.test.cjs +0 -235
  35. package/dist/ai-action-group/__tests__/ai-action-group.test.mjs +0 -157
  36. package/dist/ai-agent-card/__tests__/ai-agent-card.ssr.test.cjs +0 -61
  37. package/dist/ai-agent-card/__tests__/ai-agent-card.ssr.test.mjs +0 -65
  38. package/dist/ai-agent-card/__tests__/ai-agent-card.test.cjs +0 -205
  39. package/dist/ai-agent-card/__tests__/ai-agent-card.test.mjs +0 -133
  40. package/dist/ai-artifacts/__tests__/ai-artifacts.ssr.test.cjs +0 -73
  41. package/dist/ai-artifacts/__tests__/ai-artifacts.ssr.test.mjs +0 -68
  42. package/dist/ai-artifacts/__tests__/ai-artifacts.test.cjs +0 -128
  43. package/dist/ai-artifacts/__tests__/ai-artifacts.test.mjs +0 -109
  44. package/dist/ai-attachments/__tests__/ai-attachments.ssr.test.cjs +0 -50
  45. package/dist/ai-attachments/__tests__/ai-attachments.ssr.test.mjs +0 -33
  46. package/dist/ai-attachments/__tests__/ai-attachments.test.cjs +0 -113
  47. package/dist/ai-attachments/__tests__/ai-attachments.test.mjs +0 -81
  48. package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.cjs +0 -95
  49. package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.mjs +0 -66
  50. package/dist/ai-bubble/__tests__/ai-bubble.test.cjs +0 -624
  51. package/dist/ai-bubble/__tests__/ai-bubble.test.mjs +0 -393
  52. package/dist/ai-bubble-list/__tests__/ai-bubble-list.ssr.test.cjs +0 -51
  53. package/dist/ai-bubble-list/__tests__/ai-bubble-list.ssr.test.mjs +0 -51
  54. package/dist/ai-bubble-list/__tests__/ai-bubble-list.test.cjs +0 -138
  55. package/dist/ai-bubble-list/__tests__/ai-bubble-list.test.mjs +0 -112
  56. package/dist/ai-chat/__tests__/ai-chat.ssr.test.cjs +0 -90
  57. package/dist/ai-chat/__tests__/ai-chat.ssr.test.mjs +0 -77
  58. package/dist/ai-chat/__tests__/ai-chat.test.cjs +0 -177
  59. package/dist/ai-chat/__tests__/ai-chat.test.mjs +0 -129
  60. package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.cjs +0 -75
  61. package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.mjs +0 -57
  62. package/dist/ai-code-block/__tests__/ai-code-block.test.cjs +0 -174
  63. package/dist/ai-code-block/__tests__/ai-code-block.test.mjs +0 -108
  64. package/dist/ai-code-editor/__tests__/ai-code-editor.ssr.test.cjs +0 -46
  65. package/dist/ai-code-editor/__tests__/ai-code-editor.ssr.test.mjs +0 -39
  66. package/dist/ai-code-editor/__tests__/ai-code-editor.test.cjs +0 -90
  67. package/dist/ai-code-editor/__tests__/ai-code-editor.test.mjs +0 -78
  68. package/dist/ai-code-runner/__tests__/ai-code-runner.ssr.test.cjs +0 -28
  69. package/dist/ai-code-runner/__tests__/ai-code-runner.ssr.test.mjs +0 -26
  70. package/dist/ai-code-runner/__tests__/ai-code-runner.test.cjs +0 -69
  71. package/dist/ai-code-runner/__tests__/ai-code-runner.test.mjs +0 -66
  72. package/dist/ai-conversations/__tests__/ai-conversations.ssr.test.cjs +0 -50
  73. package/dist/ai-conversations/__tests__/ai-conversations.ssr.test.mjs +0 -42
  74. package/dist/ai-conversations/__tests__/ai-conversations.test.cjs +0 -67
  75. package/dist/ai-conversations/__tests__/ai-conversations.test.mjs +0 -51
  76. package/dist/ai-editor-sender/__tests__/ai-editor-sender.ssr.test.cjs +0 -62
  77. package/dist/ai-editor-sender/__tests__/ai-editor-sender.ssr.test.mjs +0 -50
  78. package/dist/ai-editor-sender/__tests__/ai-editor-sender.test.cjs +0 -315
  79. package/dist/ai-editor-sender/__tests__/ai-editor-sender.test.mjs +0 -226
  80. package/dist/ai-file-card/__tests__/ai-file-card.ssr.test.cjs +0 -45
  81. package/dist/ai-file-card/__tests__/ai-file-card.ssr.test.mjs +0 -29
  82. package/dist/ai-file-card/__tests__/ai-file-card.test.cjs +0 -160
  83. package/dist/ai-file-card/__tests__/ai-file-card.test.mjs +0 -109
  84. package/dist/ai-mention/__tests__/ai-mention.ssr.test.cjs +0 -38
  85. package/dist/ai-mention/__tests__/ai-mention.ssr.test.mjs +0 -37
  86. package/dist/ai-mention/__tests__/ai-mention.test.cjs +0 -113
  87. package/dist/ai-mention/__tests__/ai-mention.test.mjs +0 -84
  88. package/dist/ai-mermaid/__tests__/ai-mermaid.ssr.test.cjs +0 -43
  89. package/dist/ai-mermaid/__tests__/ai-mermaid.ssr.test.mjs +0 -33
  90. package/dist/ai-mermaid/__tests__/ai-mermaid.test.cjs +0 -113
  91. package/dist/ai-mermaid/__tests__/ai-mermaid.test.mjs +0 -92
  92. package/dist/ai-prompts/__tests__/ai-prompts.ssr.test.cjs +0 -49
  93. package/dist/ai-prompts/__tests__/ai-prompts.ssr.test.mjs +0 -41
  94. package/dist/ai-prompts/__tests__/ai-prompts.test.cjs +0 -54
  95. package/dist/ai-prompts/__tests__/ai-prompts.test.mjs +0 -38
  96. package/dist/ai-provider/__tests__/ai-provider.ssr.test.cjs +0 -33
  97. package/dist/ai-provider/__tests__/ai-provider.ssr.test.mjs +0 -34
  98. package/dist/ai-provider/__tests__/ai-provider.test.cjs +0 -38
  99. package/dist/ai-provider/__tests__/ai-provider.test.mjs +0 -33
  100. package/dist/ai-sender/__tests__/ai-sender.ssr.test.cjs +0 -46
  101. package/dist/ai-sender/__tests__/ai-sender.ssr.test.mjs +0 -37
  102. package/dist/ai-sender/__tests__/ai-sender.test.cjs +0 -511
  103. package/dist/ai-sender/__tests__/ai-sender.test.mjs +0 -322
  104. package/dist/ai-sources/__tests__/ai-sources.ssr.test.cjs +0 -72
  105. package/dist/ai-sources/__tests__/ai-sources.ssr.test.mjs +0 -82
  106. package/dist/ai-sources/__tests__/ai-sources.test.cjs +0 -200
  107. package/dist/ai-sources/__tests__/ai-sources.test.mjs +0 -160
  108. package/dist/ai-thinking/__tests__/ai-thinking.ssr.test.cjs +0 -56
  109. package/dist/ai-thinking/__tests__/ai-thinking.ssr.test.mjs +0 -42
  110. package/dist/ai-thinking/__tests__/ai-thinking.test.cjs +0 -151
  111. package/dist/ai-thinking/__tests__/ai-thinking.test.mjs +0 -96
  112. package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.cjs +0 -88
  113. package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.mjs +0 -55
  114. package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.cjs +0 -344
  115. package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.mjs +0 -237
  116. package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.ssr.test.cjs +0 -32
  117. package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.ssr.test.mjs +0 -25
  118. package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.test.cjs +0 -130
  119. package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.test.mjs +0 -103
  120. package/dist/ai-welcome/__tests__/ai-welcome.ssr.test.cjs +0 -57
  121. package/dist/ai-welcome/__tests__/ai-welcome.ssr.test.mjs +0 -39
  122. package/dist/ai-welcome/__tests__/ai-welcome.test.cjs +0 -169
  123. package/dist/ai-welcome/__tests__/ai-welcome.test.mjs +0 -113
  124. package/dist/alert/__tests__/alert.ssr.test.cjs +0 -28
  125. package/dist/alert/__tests__/alert.ssr.test.mjs +0 -29
  126. package/dist/alert/__tests__/alert.test.cjs +0 -123
  127. package/dist/alert/__tests__/alert.test.mjs +0 -110
  128. package/dist/autocomplete/__tests__/autocomplete.ssr.test.cjs +0 -54
  129. package/dist/autocomplete/__tests__/autocomplete.ssr.test.mjs +0 -47
  130. package/dist/autocomplete/__tests__/autocomplete.test.cjs +0 -299
  131. package/dist/autocomplete/__tests__/autocomplete.test.mjs +0 -263
  132. package/dist/avatar/__tests__/avatar.ssr.test.cjs +0 -103
  133. package/dist/avatar/__tests__/avatar.ssr.test.mjs +0 -108
  134. package/dist/avatar/__tests__/avatar.test.cjs +0 -146
  135. package/dist/avatar/__tests__/avatar.test.mjs +0 -125
  136. package/dist/back-top/__tests__/back-top.ssr.test.cjs +0 -13
  137. package/dist/back-top/__tests__/back-top.ssr.test.mjs +0 -10
  138. package/dist/back-top/__tests__/back-top.test.cjs +0 -88
  139. package/dist/back-top/__tests__/back-top.test.mjs +0 -76
  140. package/dist/badge/__tests__/badge.ssr.test.cjs +0 -36
  141. package/dist/badge/__tests__/badge.ssr.test.mjs +0 -33
  142. package/dist/badge/__tests__/badge.test.cjs +0 -115
  143. package/dist/badge/__tests__/badge.test.mjs +0 -112
  144. package/dist/breadcrumb/__tests__/breadcrumb.ssr.test.cjs +0 -22
  145. package/dist/breadcrumb/__tests__/breadcrumb.ssr.test.mjs +0 -20
  146. package/dist/breadcrumb/__tests__/breadcrumb.test.cjs +0 -64
  147. package/dist/breadcrumb/__tests__/breadcrumb.test.mjs +0 -51
  148. package/dist/button/__tests__/button.ssr.test.cjs +0 -52
  149. package/dist/button/__tests__/button.ssr.test.mjs +0 -55
  150. package/dist/button/__tests__/button.test.cjs +0 -207
  151. package/dist/button/__tests__/button.test.mjs +0 -141
  152. package/dist/calendar/__tests__/calendar.ssr.test.cjs +0 -65
  153. package/dist/calendar/__tests__/calendar.ssr.test.mjs +0 -63
  154. package/dist/calendar/__tests__/calendar.test.cjs +0 -263
  155. package/dist/calendar/__tests__/calendar.test.mjs +0 -255
  156. package/dist/card/__tests__/card.ssr.test.cjs +0 -37
  157. package/dist/card/__tests__/card.ssr.test.mjs +0 -40
  158. package/dist/card/__tests__/card.test.cjs +0 -131
  159. package/dist/card/__tests__/card.test.mjs +0 -124
  160. package/dist/carousel/__tests__/carousel.ssr.test.cjs +0 -27
  161. package/dist/carousel/__tests__/carousel.ssr.test.mjs +0 -27
  162. package/dist/carousel/__tests__/carousel.test.cjs +0 -115
  163. package/dist/carousel/__tests__/carousel.test.mjs +0 -98
  164. package/dist/cascader/__tests__/cascader-panel.test.cjs +0 -162
  165. package/dist/cascader/__tests__/cascader-panel.test.mjs +0 -151
  166. package/dist/cascader/__tests__/cascader.ssr.test.cjs +0 -61
  167. package/dist/cascader/__tests__/cascader.ssr.test.mjs +0 -55
  168. package/dist/cascader/__tests__/cascader.test.cjs +0 -342
  169. package/dist/cascader/__tests__/cascader.test.mjs +0 -316
  170. package/dist/category-nav/__tests__/category-nav.ssr.test.cjs +0 -35
  171. package/dist/category-nav/__tests__/category-nav.ssr.test.mjs +0 -21
  172. package/dist/category-nav/__tests__/category-nav.test.cjs +0 -53
  173. package/dist/category-nav/__tests__/category-nav.test.mjs +0 -33
  174. package/dist/checkbox/__tests__/checkbox.ssr.test.cjs +0 -52
  175. package/dist/checkbox/__tests__/checkbox.ssr.test.mjs +0 -57
  176. package/dist/checkbox/__tests__/checkbox.test.cjs +0 -173
  177. package/dist/checkbox/__tests__/checkbox.test.mjs +0 -133
  178. package/dist/col/__tests__/col.ssr.test.cjs +0 -44
  179. package/dist/col/__tests__/col.ssr.test.mjs +0 -42
  180. package/dist/col/__tests__/col.test.cjs +0 -128
  181. package/dist/col/__tests__/col.test.mjs +0 -116
  182. package/dist/color-picker/__tests__/color-picker.ssr.test.cjs +0 -34
  183. package/dist/color-picker/__tests__/color-picker.ssr.test.mjs +0 -39
  184. package/dist/color-picker/__tests__/color-picker.test.cjs +0 -227
  185. package/dist/color-picker/__tests__/color-picker.test.mjs +0 -176
  186. package/dist/config-provider/__tests__/config-provider.ssr.test.cjs +0 -43
  187. package/dist/config-provider/__tests__/config-provider.ssr.test.mjs +0 -42
  188. package/dist/config-provider/__tests__/config-provider.test.cjs +0 -75
  189. package/dist/config-provider/__tests__/config-provider.test.mjs +0 -64
  190. package/dist/container/__tests__/container.ssr.test.cjs +0 -71
  191. package/dist/container/__tests__/container.ssr.test.mjs +0 -50
  192. package/dist/container/__tests__/container.test.cjs +0 -111
  193. package/dist/container/__tests__/container.test.mjs +0 -84
  194. package/dist/countdown/__tests__/countdown.ssr.test.cjs +0 -86
  195. package/dist/countdown/__tests__/countdown.ssr.test.mjs +0 -78
  196. package/dist/countdown/__tests__/countdown.test.cjs +0 -767
  197. package/dist/countdown/__tests__/countdown.test.mjs +0 -722
  198. package/dist/coupon-card/__tests__/coupon-card.ssr.test.cjs +0 -21
  199. package/dist/coupon-card/__tests__/coupon-card.ssr.test.mjs +0 -18
  200. package/dist/coupon-card/__tests__/coupon-card.test.cjs +0 -67
  201. package/dist/coupon-card/__tests__/coupon-card.test.mjs +0 -64
  202. package/dist/date-picker/__tests__/date-picker-extended.test.cjs +0 -581
  203. package/dist/date-picker/__tests__/date-picker-extended.test.mjs +0 -455
  204. package/dist/date-picker/__tests__/date-picker.ssr.test.cjs +0 -26
  205. package/dist/date-picker/__tests__/date-picker.ssr.test.mjs +0 -23
  206. package/dist/date-picker/__tests__/date-picker.test.cjs +0 -170
  207. package/dist/date-picker/__tests__/date-picker.test.mjs +0 -136
  208. package/dist/descriptions/__tests__/descriptions.ssr.test.cjs +0 -67
  209. package/dist/descriptions/__tests__/descriptions.ssr.test.mjs +0 -72
  210. package/dist/descriptions/__tests__/descriptions.test.cjs +0 -150
  211. package/dist/descriptions/__tests__/descriptions.test.mjs +0 -130
  212. package/dist/dialog/__tests__/dialog.functional.test.cjs +0 -49
  213. package/dist/dialog/__tests__/dialog.functional.test.mjs +0 -49
  214. package/dist/dialog/__tests__/dialog.ssr.test.cjs +0 -31
  215. package/dist/dialog/__tests__/dialog.ssr.test.mjs +0 -29
  216. package/dist/dialog/__tests__/dialog.test.cjs +0 -561
  217. package/dist/dialog/__tests__/dialog.test.mjs +0 -388
  218. package/dist/divider/__tests__/divider.ssr.test.cjs +0 -41
  219. package/dist/divider/__tests__/divider.ssr.test.mjs +0 -44
  220. package/dist/divider/__tests__/divider.test.cjs +0 -71
  221. package/dist/divider/__tests__/divider.test.mjs +0 -68
  222. package/dist/drawer/__tests__/drawer.ssr.test.cjs +0 -25
  223. package/dist/drawer/__tests__/drawer.ssr.test.mjs +0 -23
  224. package/dist/drawer/__tests__/drawer.test.cjs +0 -145
  225. package/dist/drawer/__tests__/drawer.test.mjs +0 -122
  226. package/dist/dropdown/__tests__/dropdown.ssr.test.cjs +0 -49
  227. package/dist/dropdown/__tests__/dropdown.ssr.test.mjs +0 -64
  228. package/dist/dropdown/__tests__/dropdown.test.cjs +0 -310
  229. package/dist/dropdown/__tests__/dropdown.test.mjs +0 -269
  230. package/dist/empty/__tests__/empty.ssr.test.cjs +0 -96
  231. package/dist/empty/__tests__/empty.ssr.test.mjs +0 -99
  232. package/dist/empty/__tests__/empty.test.cjs +0 -110
  233. package/dist/empty/__tests__/empty.test.mjs +0 -101
  234. package/dist/filter-bar/__tests__/filter-bar.ssr.test.cjs +0 -29
  235. package/dist/filter-bar/__tests__/filter-bar.ssr.test.mjs +0 -16
  236. package/dist/filter-bar/__tests__/filter-bar.test.cjs +0 -51
  237. package/dist/filter-bar/__tests__/filter-bar.test.mjs +0 -29
  238. package/dist/form/__tests__/form-schema.test.cjs +0 -636
  239. package/dist/form/__tests__/form-schema.test.mjs +0 -366
  240. package/dist/form/__tests__/form.ssr.test.cjs +0 -74
  241. package/dist/form/__tests__/form.ssr.test.mjs +0 -73
  242. package/dist/form/__tests__/form.test.cjs +0 -208
  243. package/dist/form/__tests__/form.test.mjs +0 -128
  244. package/dist/gantt-chart/__tests__/debug_ssr.test.cjs +0 -51
  245. package/dist/gantt-chart/__tests__/debug_ssr.test.mjs +0 -37
  246. package/dist/gantt-chart/__tests__/gantt-chart.ssr.test.cjs +0 -95
  247. package/dist/gantt-chart/__tests__/gantt-chart.ssr.test.mjs +0 -94
  248. package/dist/gantt-chart/__tests__/gantt-chart.test.cjs +0 -86
  249. package/dist/gantt-chart/__tests__/gantt-chart.test.mjs +0 -79
  250. package/dist/grid/__tests__/grid.ssr.test.cjs +0 -81
  251. package/dist/grid/__tests__/grid.ssr.test.mjs +0 -63
  252. package/dist/grid/__tests__/grid.test.cjs +0 -142
  253. package/dist/grid/__tests__/grid.test.mjs +0 -89
  254. package/dist/icon/__tests__/icon.ssr.test.cjs +0 -35
  255. package/dist/icon/__tests__/icon.ssr.test.mjs +0 -26
  256. package/dist/icon/__tests__/icon.test.cjs +0 -144
  257. package/dist/icon/__tests__/icon.test.mjs +0 -123
  258. package/dist/image/__tests__/image-viewer.test.cjs +0 -101
  259. package/dist/image/__tests__/image-viewer.test.mjs +0 -94
  260. package/dist/image/__tests__/image.ssr.test.cjs +0 -73
  261. package/dist/image/__tests__/image.ssr.test.mjs +0 -72
  262. package/dist/image/__tests__/image.test.cjs +0 -171
  263. package/dist/image/__tests__/image.test.mjs +0 -159
  264. package/dist/image-magnifier/__tests__/image-magnifier.ssr.test.cjs +0 -54
  265. package/dist/image-magnifier/__tests__/image-magnifier.ssr.test.mjs +0 -35
  266. package/dist/image-magnifier/__tests__/image-magnifier.test.cjs +0 -257
  267. package/dist/image-magnifier/__tests__/image-magnifier.test.mjs +0 -177
  268. package/dist/infinite-scroll/__tests__/infinite-scroll.ssr.test.cjs +0 -59
  269. package/dist/infinite-scroll/__tests__/infinite-scroll.ssr.test.mjs +0 -84
  270. package/dist/infinite-scroll/__tests__/infinite-scroll.test.cjs +0 -255
  271. package/dist/infinite-scroll/__tests__/infinite-scroll.test.mjs +0 -187
  272. package/dist/input/__tests__/input-utils.test.cjs +0 -77
  273. package/dist/input/__tests__/input-utils.test.mjs +0 -75
  274. package/dist/input/__tests__/input.ssr.test.cjs +0 -100
  275. package/dist/input/__tests__/input.ssr.test.mjs +0 -85
  276. package/dist/input/__tests__/input.test.cjs +0 -127
  277. package/dist/input/__tests__/input.test.mjs +0 -112
  278. package/dist/input-number/__tests__/input-number.hydration.test.cjs +0 -24
  279. package/dist/input-number/__tests__/input-number.hydration.test.mjs +0 -21
  280. package/dist/input-number/__tests__/input-number.ssr.test.cjs +0 -95
  281. package/dist/input-number/__tests__/input-number.ssr.test.mjs +0 -92
  282. package/dist/input-number/__tests__/input-number.test.cjs +0 -199
  283. package/dist/input-number/__tests__/input-number.test.mjs +0 -173
  284. package/dist/input-tag/__tests__/input-tag.ssr.test.cjs +0 -47
  285. package/dist/input-tag/__tests__/input-tag.ssr.test.mjs +0 -41
  286. package/dist/input-tag/__tests__/input-tag.test.cjs +0 -268
  287. package/dist/input-tag/__tests__/input-tag.test.mjs +0 -201
  288. package/dist/loading/__tests__/loading.ssr.test.cjs +0 -37
  289. package/dist/loading/__tests__/loading.ssr.test.mjs +0 -27
  290. package/dist/loading/__tests__/loading.test.cjs +0 -91
  291. package/dist/loading/__tests__/loading.test.mjs +0 -75
  292. package/dist/lucky-draw/__tests__/lucky-draw.ssr.test.cjs +0 -33
  293. package/dist/lucky-draw/__tests__/lucky-draw.ssr.test.mjs +0 -31
  294. package/dist/lucky-draw/__tests__/lucky-draw.test.cjs +0 -56
  295. package/dist/lucky-draw/__tests__/lucky-draw.test.mjs +0 -48
  296. package/dist/marquee/__tests__/marquee.ssr.test.cjs +0 -59
  297. package/dist/marquee/__tests__/marquee.ssr.test.mjs +0 -60
  298. package/dist/marquee/__tests__/marquee.test.cjs +0 -94
  299. package/dist/marquee/__tests__/marquee.test.mjs +0 -92
  300. package/dist/mention/__tests__/mention.ssr.test.cjs +0 -92
  301. package/dist/mention/__tests__/mention.ssr.test.mjs +0 -70
  302. package/dist/mention/__tests__/mention.test.cjs +0 -650
  303. package/dist/mention/__tests__/mention.test.mjs +0 -523
  304. package/dist/menu/__tests__/menu.ssr.test.cjs +0 -92
  305. package/dist/menu/__tests__/menu.ssr.test.mjs +0 -124
  306. package/dist/menu/__tests__/menu.test.cjs +0 -209
  307. package/dist/menu/__tests__/menu.test.mjs +0 -182
  308. package/dist/message/__tests__/message.ssr.test.cjs +0 -29
  309. package/dist/message/__tests__/message.ssr.test.mjs +0 -23
  310. package/dist/message/__tests__/message.test.cjs +0 -170
  311. package/dist/message/__tests__/message.test.mjs +0 -154
  312. package/dist/message-box/__tests__/message-box.ssr.test.cjs +0 -33
  313. package/dist/message-box/__tests__/message-box.ssr.test.mjs +0 -30
  314. package/dist/message-box/__tests__/message-box.test.cjs +0 -100
  315. package/dist/message-box/__tests__/message-box.test.mjs +0 -95
  316. package/dist/notification/__tests__/notification.ssr.test.cjs +0 -31
  317. package/dist/notification/__tests__/notification.ssr.test.mjs +0 -25
  318. package/dist/notification/__tests__/notification.test.cjs +0 -248
  319. package/dist/notification/__tests__/notification.test.mjs +0 -206
  320. package/dist/pagination/__tests__/pagination.ssr.test.cjs +0 -61
  321. package/dist/pagination/__tests__/pagination.ssr.test.mjs +0 -59
  322. package/dist/pagination/__tests__/pagination.test.cjs +0 -135
  323. package/dist/pagination/__tests__/pagination.test.mjs +0 -131
  324. package/dist/popconfirm/__tests__/popconfirm.ssr.test.cjs +0 -48
  325. package/dist/popconfirm/__tests__/popconfirm.ssr.test.mjs +0 -63
  326. package/dist/popconfirm/__tests__/popconfirm.test.cjs +0 -62
  327. package/dist/popconfirm/__tests__/popconfirm.test.mjs +0 -56
  328. package/dist/popover/__tests__/popover.ssr.test.cjs +0 -48
  329. package/dist/popover/__tests__/popover.ssr.test.mjs +0 -63
  330. package/dist/popover/__tests__/popover.test.cjs +0 -107
  331. package/dist/popover/__tests__/popover.test.mjs +0 -93
  332. package/dist/price/__tests__/price.ssr.test.cjs +0 -20
  333. package/dist/price/__tests__/price.ssr.test.mjs +0 -19
  334. package/dist/price/__tests__/price.test.cjs +0 -45
  335. package/dist/price/__tests__/price.test.mjs +0 -42
  336. package/dist/product-card/__tests__/product-card.ssr.test.cjs +0 -21
  337. package/dist/product-card/__tests__/product-card.ssr.test.mjs +0 -18
  338. package/dist/product-card/__tests__/product-card.test.cjs +0 -54
  339. package/dist/product-card/__tests__/product-card.test.mjs +0 -53
  340. package/dist/progress/__tests__/progress.ssr.test.cjs +0 -31
  341. package/dist/progress/__tests__/progress.ssr.test.mjs +0 -29
  342. package/dist/progress/__tests__/progress.test.cjs +0 -119
  343. package/dist/progress/__tests__/progress.test.mjs +0 -77
  344. package/dist/radio/__tests__/radio-button.test.cjs +0 -99
  345. package/dist/radio/__tests__/radio-button.test.mjs +0 -83
  346. package/dist/radio/__tests__/radio.ssr.test.cjs +0 -132
  347. package/dist/radio/__tests__/radio.ssr.test.mjs +0 -165
  348. package/dist/radio/__tests__/radio.test.cjs +0 -170
  349. package/dist/radio/__tests__/radio.test.mjs +0 -143
  350. package/dist/rate/__tests__/rate.ssr.test.cjs +0 -106
  351. package/dist/rate/__tests__/rate.ssr.test.mjs +0 -103
  352. package/dist/rate/__tests__/rate.test.cjs +0 -88
  353. package/dist/rate/__tests__/rate.test.mjs +0 -85
  354. package/dist/result/__tests__/result.ssr.test.cjs +0 -62
  355. package/dist/result/__tests__/result.ssr.test.mjs +0 -51
  356. package/dist/result/__tests__/result.test.cjs +0 -135
  357. package/dist/result/__tests__/result.test.mjs +0 -92
  358. package/dist/row/__tests__/row.ssr.test.cjs +0 -29
  359. package/dist/row/__tests__/row.ssr.test.mjs +0 -30
  360. package/dist/row/__tests__/row.test.cjs +0 -89
  361. package/dist/row/__tests__/row.test.mjs +0 -86
  362. package/dist/row/__tests__/row_ts.test.cjs +0 -31
  363. package/dist/row/__tests__/row_ts.test.mjs +0 -28
  364. package/dist/scrollbar/__tests__/scrollbar.ssr.test.cjs +0 -49
  365. package/dist/scrollbar/__tests__/scrollbar.ssr.test.mjs +0 -54
  366. package/dist/scrollbar/__tests__/scrollbar.test.cjs +0 -43
  367. package/dist/scrollbar/__tests__/scrollbar.test.mjs +0 -40
  368. package/dist/select/__tests__/select.perf.test.cjs +0 -191
  369. package/dist/select/__tests__/select.perf.test.mjs +0 -185
  370. package/dist/select/__tests__/select.ssr.test.cjs +0 -58
  371. package/dist/select/__tests__/select.ssr.test.mjs +0 -52
  372. package/dist/select/__tests__/select.test.cjs +0 -414
  373. package/dist/select/__tests__/select.test.mjs +0 -345
  374. package/dist/skeleton/__tests__/skeleton.ssr.test.cjs +0 -81
  375. package/dist/skeleton/__tests__/skeleton.ssr.test.mjs +0 -83
  376. package/dist/skeleton/__tests__/skeleton.test.cjs +0 -72
  377. package/dist/skeleton/__tests__/skeleton.test.mjs +0 -65
  378. package/dist/sku-selector/__tests__/sku-selector.ssr.test.cjs +0 -32
  379. package/dist/sku-selector/__tests__/sku-selector.ssr.test.mjs +0 -19
  380. package/dist/sku-selector/__tests__/sku-selector.test.cjs +0 -64
  381. package/dist/sku-selector/__tests__/sku-selector.test.mjs +0 -53
  382. package/dist/slider/__tests__/repro.test.cjs +0 -25
  383. package/dist/slider/__tests__/repro.test.mjs +0 -22
  384. package/dist/slider/__tests__/slider.ssr.test.cjs +0 -118
  385. package/dist/slider/__tests__/slider.ssr.test.mjs +0 -115
  386. package/dist/slider/__tests__/slider.test.cjs +0 -155
  387. package/dist/slider/__tests__/slider.test.mjs +0 -120
  388. package/dist/smart-address/__tests__/smart-address.ssr.test.cjs +0 -28
  389. package/dist/smart-address/__tests__/smart-address.ssr.test.mjs +0 -25
  390. package/dist/smart-address/__tests__/smart-address.test.cjs +0 -68
  391. package/dist/smart-address/__tests__/smart-address.test.mjs +0 -56
  392. package/dist/space/__tests__/space.ssr.test.cjs +0 -115
  393. package/dist/space/__tests__/space.ssr.test.mjs +0 -150
  394. package/dist/space/__tests__/space.test.cjs +0 -227
  395. package/dist/space/__tests__/space.test.mjs +0 -187
  396. package/dist/spin/__tests__/spin.ssr.test.cjs +0 -46
  397. package/dist/spin/__tests__/spin.ssr.test.mjs +0 -43
  398. package/dist/spin/__tests__/spin.test.cjs +0 -65
  399. package/dist/spin/__tests__/spin.test.mjs +0 -63
  400. package/dist/steps/__tests__/steps.ssr.test.cjs +0 -73
  401. package/dist/steps/__tests__/steps.ssr.test.mjs +0 -55
  402. package/dist/steps/__tests__/steps.test.cjs +0 -152
  403. package/dist/steps/__tests__/steps.test.mjs +0 -123
  404. package/dist/submit-bar/__tests__/submit-bar.ssr.test.cjs +0 -21
  405. package/dist/submit-bar/__tests__/submit-bar.ssr.test.mjs +0 -18
  406. package/dist/submit-bar/__tests__/submit-bar.test.cjs +0 -50
  407. package/dist/submit-bar/__tests__/submit-bar.test.mjs +0 -36
  408. package/dist/switch/__tests__/switch.ssr.test.cjs +0 -105
  409. package/dist/switch/__tests__/switch.ssr.test.mjs +0 -102
  410. package/dist/switch/__tests__/switch.test.cjs +0 -251
  411. package/dist/switch/__tests__/switch.test.mjs +0 -193
  412. package/dist/table/__tests__/table-advance.test.cjs +0 -180
  413. package/dist/table/__tests__/table-advance.test.mjs +0 -118
  414. package/dist/table/__tests__/table-interaction.test.cjs +0 -236
  415. package/dist/table/__tests__/table-interaction.test.mjs +0 -162
  416. package/dist/table/__tests__/table-utils.test.cjs +0 -690
  417. package/dist/table/__tests__/table-utils.test.mjs +0 -485
  418. package/dist/table/__tests__/table.perf.test.cjs +0 -231
  419. package/dist/table/__tests__/table.perf.test.mjs +0 -225
  420. package/dist/table/__tests__/table.ssr.test.cjs +0 -296
  421. package/dist/table/__tests__/table.ssr.test.mjs +0 -265
  422. package/dist/table/__tests__/table.test.cjs +0 -682
  423. package/dist/table/__tests__/table.test.mjs +0 -617
  424. package/dist/table/__tests__/use-column-drag.test.cjs +0 -238
  425. package/dist/table/__tests__/use-column-drag.test.mjs +0 -150
  426. package/dist/table/__tests__/use-table-export.test.cjs +0 -179
  427. package/dist/table/__tests__/use-table-export.test.mjs +0 -105
  428. package/dist/table/__tests__/use-table-import.test.cjs +0 -206
  429. package/dist/table/__tests__/use-table-import.test.mjs +0 -144
  430. package/dist/table/__tests__/use-table-print.test.cjs +0 -190
  431. package/dist/table/__tests__/use-table-print.test.mjs +0 -134
  432. package/dist/table/__tests__/use-virtual-scroll.test.cjs +0 -286
  433. package/dist/table/__tests__/use-virtual-scroll.test.mjs +0 -196
  434. package/dist/tabs/__tests__/tabs.ssr.test.cjs +0 -57
  435. package/dist/tabs/__tests__/tabs.ssr.test.mjs +0 -41
  436. package/dist/tabs/__tests__/tabs.test.cjs +0 -171
  437. package/dist/tabs/__tests__/tabs.test.mjs +0 -134
  438. package/dist/tag/__tests__/tag.ssr.test.cjs +0 -45
  439. package/dist/tag/__tests__/tag.ssr.test.mjs +0 -48
  440. package/dist/tag/__tests__/tag.test.cjs +0 -194
  441. package/dist/tag/__tests__/tag.test.mjs +0 -167
  442. package/dist/time-picker/__tests__/time-picker.ssr.test.cjs +0 -46
  443. package/dist/time-picker/__tests__/time-picker.ssr.test.mjs +0 -43
  444. package/dist/time-picker/__tests__/time-picker.test.cjs +0 -228
  445. package/dist/time-picker/__tests__/time-picker.test.mjs +0 -218
  446. package/dist/time-picker/__tests__/time-spinner.test.cjs +0 -196
  447. package/dist/time-picker/__tests__/time-spinner.test.mjs +0 -162
  448. package/dist/time-select/__tests__/time-select.ssr.test.cjs +0 -42
  449. package/dist/time-select/__tests__/time-select.ssr.test.mjs +0 -37
  450. package/dist/time-select/__tests__/time-select.test.cjs +0 -390
  451. package/dist/time-select/__tests__/time-select.test.mjs +0 -374
  452. package/dist/tooltip/__tests__/tooltip.ssr.test.cjs +0 -55
  453. package/dist/tooltip/__tests__/tooltip.ssr.test.mjs +0 -76
  454. package/dist/tooltip/__tests__/tooltip.test.cjs +0 -132
  455. package/dist/tooltip/__tests__/tooltip.test.mjs +0 -121
  456. package/dist/transfer/__tests__/transfer.ssr.test.cjs +0 -47
  457. package/dist/transfer/__tests__/transfer.ssr.test.mjs +0 -44
  458. package/dist/transfer/__tests__/transfer.test.cjs +0 -422
  459. package/dist/transfer/__tests__/transfer.test.mjs +0 -405
  460. package/dist/tree/__tests__/tree.perf.test.cjs +0 -182
  461. package/dist/tree/__tests__/tree.perf.test.mjs +0 -198
  462. package/dist/tree/__tests__/tree.ssr.test.cjs +0 -56
  463. package/dist/tree/__tests__/tree.ssr.test.mjs +0 -45
  464. package/dist/tree/__tests__/tree.test.cjs +0 -488
  465. package/dist/tree/__tests__/tree.test.mjs +0 -333
  466. package/dist/tree-select/__tests__/tree-select.ssr.test.cjs +0 -52
  467. package/dist/tree-select/__tests__/tree-select.ssr.test.mjs +0 -55
  468. package/dist/tree-select/__tests__/tree-select.test.cjs +0 -231
  469. package/dist/tree-select/__tests__/tree-select.test.mjs +0 -189
  470. package/dist/typography/__tests__/typography.ssr.test.cjs +0 -85
  471. package/dist/typography/__tests__/typography.ssr.test.mjs +0 -63
  472. package/dist/typography/__tests__/typography.test.cjs +0 -362
  473. package/dist/typography/__tests__/typography.test.mjs +0 -161
  474. package/dist/upload/__tests__/upload.ssr.test.cjs +0 -28
  475. package/dist/upload/__tests__/upload.ssr.test.mjs +0 -26
  476. package/dist/upload/__tests__/upload.test.cjs +0 -467
  477. package/dist/upload/__tests__/upload.test.mjs +0 -336
  478. package/dist/waterfall/__tests__/waterfall.ssr.test.cjs +0 -38
  479. package/dist/waterfall/__tests__/waterfall.ssr.test.mjs +0 -39
  480. package/dist/waterfall/__tests__/waterfall.test.cjs +0 -122
  481. package/dist/waterfall/__tests__/waterfall.test.mjs +0 -85
  482. package/dist/watermark/__tests__/watermark.ssr.test.cjs +0 -32
  483. package/dist/watermark/__tests__/watermark.ssr.test.mjs +0 -30
  484. package/dist/watermark/__tests__/watermark.test.cjs +0 -127
  485. package/dist/watermark/__tests__/watermark.test.mjs +0 -124
@@ -1,231 +0,0 @@
1
- "use strict";
2
-
3
- var _vitest = require("vitest");
4
- var _testUtils = require("@vue/test-utils");
5
- var _vue = require("vue");
6
- var _table = _interopRequireDefault(require("../src/table.vue"));
7
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- const bench = (label, fn, threshold) => {
9
- const t0 = performance.now();
10
- fn();
11
- const elapsed = performance.now() - t0;
12
- console.log(`[PERF] ${label}: ${elapsed.toFixed(2)}ms (threshold: ${threshold}ms)`);
13
- return elapsed;
14
- };
15
- const CITIES = ["\u5317\u4EAC", "\u4E0A\u6D77", "\u5E7F\u5DDE", "\u6DF1\u5733", "\u676D\u5DDE", "\u6210\u90FD", "\u6B66\u6C49", "\u5357\u4EAC", "\u897F\u5B89", "\u91CD\u5E86"];
16
- const genRows = n => Array.from({
17
- length: n
18
- }, (_, i) => ({
19
- id: i + 1,
20
- name: `\u7528\u6237 ${i}`,
21
- age: 18 + i % 50,
22
- city: CITIES[i % CITIES.length],
23
- score: Math.round(i * 7.3 % 100 * 10) / 10,
24
- active: i % 3 !== 0
25
- }));
26
- const COLUMNS = [{
27
- prop: "id",
28
- label: "ID",
29
- width: 80,
30
- sortable: true
31
- }, {
32
- prop: "name",
33
- label: "\u59D3\u540D",
34
- width: 150,
35
- sortable: true
36
- }, {
37
- prop: "age",
38
- label: "\u5E74\u9F84",
39
- width: 100,
40
- sortable: true
41
- }, {
42
- prop: "city",
43
- label: "\u57CE\u5E02",
44
- width: 120
45
- }, {
46
- prop: "score",
47
- label: "\u5206\u6570",
48
- width: 100,
49
- sortable: true
50
- }, {
51
- prop: "active",
52
- label: "\u6D3B\u8DC3",
53
- width: 80
54
- }];
55
- let ROWS_2K;
56
- let ROWS_500;
57
- let ROWS_100;
58
- (0, _vitest.beforeAll)(() => {
59
- ROWS_2K = genRows(2e3);
60
- ROWS_500 = genRows(500);
61
- ROWS_100 = genRows(100);
62
- });
63
- (0, _vitest.describe)("YhTable \u865A\u62DF\u6EDA\u52A8\u6027\u80FD\u57FA\u51C6\u6D4B\u8BD5", () => {
64
- (0, _vitest.it)("2k \u884C\uFF1A\u542F\u7528\u865A\u62DF\u6EDA\u52A8\u65F6\u6302\u8F7D\u5E94 < 7000ms\uFF08Happy-DOM \u57FA\u51C6\uFF09", () => {
65
- let wrapper;
66
- const elapsed = bench("\u521D\u59CB\u6302\u8F7D\uFF08virtualScroll=true, 2k \u884C\uFF09", () => {
67
- wrapper = (0, _testUtils.mount)(_table.default, {
68
- props: {
69
- data: ROWS_2K,
70
- columns: COLUMNS,
71
- virtualScroll: true,
72
- height: "400px",
73
- rowHeight: 48,
74
- rowKey: "id"
75
- }
76
- });
77
- }, 7e3);
78
- (0, _vitest.expect)(wrapper.classes()).toContain("yh-table");
79
- (0, _vitest.expect)(elapsed).toBeLessThan(1e4);
80
- wrapper.unmount();
81
- }, 2e4);
82
- (0, _vitest.it)("100/500/2k \u884C\uFF1A\u6302\u8F7D\u65F6\u95F4\u5E94\u7EBF\u6027\u589E\u957F\uFF08\u975E\u6307\u6570\u589E\u957F\uFF09", () => {
83
- const measure = data => {
84
- const t0 = performance.now();
85
- const w = (0, _testUtils.mount)(_table.default, {
86
- props: {
87
- data,
88
- columns: COLUMNS,
89
- virtualScroll: true,
90
- height: "400px",
91
- rowHeight: 48,
92
- rowKey: "id"
93
- }
94
- });
95
- const elapsed = performance.now() - t0;
96
- w.unmount();
97
- return elapsed;
98
- };
99
- const t100 = measure(ROWS_100);
100
- const t500 = measure(ROWS_500);
101
- const t2k = measure(ROWS_2K);
102
- console.log(`[PERF] \u6302\u8F7D\u65F6\u95F4 - 100\u884C: ${t100.toFixed(2)}ms 500\u884C: ${t500.toFixed(2)}ms 2k\u884C: ${t2k.toFixed(2)}ms`);
103
- const ratio = t2k / t100;
104
- console.log(`[PERF] 2k/100 \u65F6\u95F4\u589E\u957F\u6BD4: ${ratio.toFixed(2)}x`);
105
- (0, _vitest.expect)(ratio).toBeLessThan(150);
106
- (0, _vitest.expect)(t100).toBeLessThan(5e3);
107
- (0, _vitest.expect)(t500).toBeLessThan(8e3);
108
- (0, _vitest.expect)(t2k).toBeLessThan(1e4);
109
- }, 3e4);
110
- (0, _vitest.it)("2k \u884C\uFF1A\u6E32\u67D3 DOM \u884C\u8282\u70B9\u6570\u5E94\u8FDC\u5C11\u4E8E\u6570\u636E\u884C\u6570", async () => {
111
- const wrapper = (0, _testUtils.mount)(_table.default, {
112
- props: {
113
- data: ROWS_2K,
114
- columns: COLUMNS,
115
- virtualScroll: true,
116
- height: "400px",
117
- rowHeight: 48,
118
- rowKey: "id"
119
- }
120
- });
121
- await (0, _vue.nextTick)();
122
- const rowNodes = wrapper.findAll("tr.yh-table__row, .yh-table__row");
123
- console.log(`[PERF] \u865A\u62DF\u6EDA\u52A8 DOM \u884C\u6570: ${rowNodes.length}\uFF0C\u6570\u636E\u91CF: ${ROWS_2K.length}`);
124
- (0, _vitest.expect)(rowNodes.length).toBeLessThanOrEqual(ROWS_2K.length);
125
- console.log("[PERF] Happy-DOM \u73AF\u5883\uFF1A\u5BB9\u5668\u9AD8\u5EA6\u4E3A 0\uFF0C\u6E32\u67D3\u884C\u4E3A\u53EF\u80FD\u4E0E\u771F\u5B9E\u6D4F\u89C8\u5668\u4E0D\u540C\uFF0C\u9A8C\u8BC1\u7EC4\u4EF6\u6B63\u5E38\u6302\u8F7D");
126
- (0, _vitest.expect)(wrapper.exists()).toBe(true);
127
- wrapper.unmount();
128
- }, 15e3);
129
- (0, _vitest.it)("2k \u884C\uFF1A\u6392\u5E8F\u64CD\u4F5C\u5E94 < 5000ms \u5B8C\u6210\uFF08Happy-DOM \u57FA\u51C6\uFF09", async () => {
130
- const wrapper = (0, _testUtils.mount)(_table.default, {
131
- props: {
132
- data: ROWS_2K,
133
- columns: COLUMNS,
134
- virtualScroll: true,
135
- height: "400px",
136
- rowHeight: 48,
137
- rowKey: "id"
138
- }
139
- });
140
- await (0, _vue.nextTick)();
141
- const vm = wrapper.vm;
142
- if (typeof vm["sort"] === "function") {
143
- const elapsed = bench("\u8C03\u7528 sort() API\uFF082k \u884C\uFF09", () => {
144
- ;
145
- vm["sort"]("id", "ascending");
146
- }, 5e3);
147
- await (0, _vue.nextTick)();
148
- (0, _vitest.expect)(elapsed).toBeLessThan(5e3);
149
- } else {
150
- const sortableHeader = wrapper.find("th[data-sortable], .yh-table__header-cell--sortable");
151
- if (sortableHeader.exists()) {
152
- const elapsed = bench("\u70B9\u51FB\u53EF\u6392\u5E8F\u5217\u5934\uFF082k \u884C\uFF09", () => {
153
- sortableHeader.trigger("click");
154
- }, 5e3);
155
- await (0, _vue.nextTick)();
156
- (0, _vitest.expect)(elapsed).toBeLessThan(5e3);
157
- } else {
158
- console.warn("[PERF] \u672A\u627E\u5230\u6392\u5E8F\u5165\u53E3\uFF0C\u8DF3\u8FC7\u6392\u5E8F\u6027\u80FD\u65AD\u8A00");
159
- (0, _vitest.expect)(true).toBe(true);
160
- }
161
- }
162
- wrapper.unmount();
163
- }, 15e3);
164
- (0, _vitest.it)("2k \u884C\uFF1A\u91CD\u590D\u6302\u8F7D/\u5378\u8F7D 3 \u6B21\u6027\u80FD\u5E94\u4FDD\u6301\u7A33\u5B9A", () => {
165
- const ROUNDS = 3;
166
- const times = [];
167
- for (let r = 0; r < ROUNDS; r++) {
168
- const t0 = performance.now();
169
- const wrapper = (0, _testUtils.mount)(_table.default, {
170
- props: {
171
- data: ROWS_2K,
172
- columns: COLUMNS,
173
- virtualScroll: true,
174
- height: "400px",
175
- rowHeight: 48,
176
- rowKey: "id"
177
- }
178
- });
179
- wrapper.unmount();
180
- times.push(performance.now() - t0);
181
- }
182
- const avg = times.reduce((a, b) => a + b, 0) / ROUNDS;
183
- const max = Math.max(...times);
184
- console.log(`[PERF] \u91CD\u590D\u6302\u8F7D ${ROUNDS} \u6B21 - \u5E73\u5747: ${avg.toFixed(2)}ms \u6700\u5927: ${max.toFixed(2)}ms`);
185
- console.log(`[PERF] \u5404\u8F6E\u8017\u65F6: ${times.map(t => t.toFixed(1)).join(" / ")} ms`);
186
- (0, _vitest.expect)(max).toBeLessThan(12e3);
187
- const degradation = times[ROUNDS - 1] / times[0];
188
- console.log(`[PERF] \u6027\u80FD\u964D\u7EA7\u6BD4\uFF08\u6700\u540E/\u7B2C\u4E00\uFF09: ${degradation.toFixed(2)}x`);
189
- (0, _vitest.expect)(degradation).toBeLessThan(3);
190
- }, 3e4);
191
- (0, _vitest.it)("2k \u884C\uFF1A\u52A8\u6001\u66FF\u6362 data\uFF08\u5168\u91CF\u5237\u65B0\uFF09\u5E94 < 8000ms\uFF08Happy-DOM \u57FA\u51C6\uFF09", async () => {
192
- const wrapper = (0, _testUtils.mount)(_table.default, {
193
- props: {
194
- data: ROWS_2K,
195
- columns: COLUMNS,
196
- virtualScroll: true,
197
- height: "400px",
198
- rowHeight: 48,
199
- rowKey: "id"
200
- }
201
- });
202
- await (0, _vue.nextTick)();
203
- const NEW_DATA = genRows(2e3);
204
- const elapsed = bench("\u5168\u91CF\u66FF\u6362 2k \u884C\u6570\u636E", () => {
205
- wrapper.setProps({
206
- data: NEW_DATA
207
- });
208
- }, 1e4);
209
- await (0, _vue.nextTick)();
210
- (0, _vitest.expect)(elapsed).toBeLessThan(1e4);
211
- wrapper.unmount();
212
- }, 2e4);
213
- (0, _vitest.it)("2k \u884C\uFF1A\u8868\u683C\u5E94\u6B63\u786E\u6302\u8F7D\u4E14\u7EC4\u4EF6\u4E0D\u62A5\u9519", async () => {
214
- const wrapper = (0, _testUtils.mount)(_table.default, {
215
- props: {
216
- data: ROWS_2K,
217
- columns: COLUMNS,
218
- virtualScroll: true,
219
- height: "400px",
220
- rowHeight: 48,
221
- rowKey: "id"
222
- }
223
- });
224
- await (0, _vue.nextTick)();
225
- (0, _vitest.expect)(wrapper.exists()).toBe(true);
226
- (0, _vitest.expect)(wrapper.classes()).toContain("yh-table");
227
- const headerCells = wrapper.findAll("th, .yh-table__header-cell");
228
- console.log(`[PERF] \u8868\u5934\u5217\u6570: ${headerCells.length}`);
229
- wrapper.unmount();
230
- }, 15e3);
231
- });
@@ -1,225 +0,0 @@
1
- import { describe, it, expect, beforeAll } from "vitest";
2
- import { mount } from "@vue/test-utils";
3
- import { nextTick } from "vue";
4
- import Table from "../src/table.vue";
5
- const bench = (label, fn, threshold) => {
6
- const t0 = performance.now();
7
- fn();
8
- const elapsed = performance.now() - t0;
9
- console.log(`[PERF] ${label}: ${elapsed.toFixed(2)}ms (threshold: ${threshold}ms)`);
10
- return elapsed;
11
- };
12
- const CITIES = ["\u5317\u4EAC", "\u4E0A\u6D77", "\u5E7F\u5DDE", "\u6DF1\u5733", "\u676D\u5DDE", "\u6210\u90FD", "\u6B66\u6C49", "\u5357\u4EAC", "\u897F\u5B89", "\u91CD\u5E86"];
13
- const genRows = (n) => Array.from({ length: n }, (_, i) => ({
14
- id: i + 1,
15
- name: `\u7528\u6237 ${i}`,
16
- age: 18 + i % 50,
17
- city: CITIES[i % CITIES.length],
18
- score: Math.round(i * 7.3 % 100 * 10) / 10,
19
- active: i % 3 !== 0
20
- }));
21
- const COLUMNS = [
22
- { prop: "id", label: "ID", width: 80, sortable: true },
23
- { prop: "name", label: "\u59D3\u540D", width: 150, sortable: true },
24
- { prop: "age", label: "\u5E74\u9F84", width: 100, sortable: true },
25
- { prop: "city", label: "\u57CE\u5E02", width: 120 },
26
- { prop: "score", label: "\u5206\u6570", width: 100, sortable: true },
27
- { prop: "active", label: "\u6D3B\u8DC3", width: 80 }
28
- ];
29
- let ROWS_2K;
30
- let ROWS_500;
31
- let ROWS_100;
32
- beforeAll(() => {
33
- ROWS_2K = genRows(2e3);
34
- ROWS_500 = genRows(500);
35
- ROWS_100 = genRows(100);
36
- });
37
- describe("YhTable \u865A\u62DF\u6EDA\u52A8\u6027\u80FD\u57FA\u51C6\u6D4B\u8BD5", () => {
38
- it("2k \u884C\uFF1A\u542F\u7528\u865A\u62DF\u6EDA\u52A8\u65F6\u6302\u8F7D\u5E94 < 7000ms\uFF08Happy-DOM \u57FA\u51C6\uFF09", () => {
39
- let wrapper;
40
- const elapsed = bench(
41
- "\u521D\u59CB\u6302\u8F7D\uFF08virtualScroll=true, 2k \u884C\uFF09",
42
- () => {
43
- wrapper = mount(Table, {
44
- props: {
45
- data: ROWS_2K,
46
- columns: COLUMNS,
47
- virtualScroll: true,
48
- height: "400px",
49
- rowHeight: 48,
50
- rowKey: "id"
51
- }
52
- });
53
- },
54
- 7e3
55
- );
56
- expect(wrapper.classes()).toContain("yh-table");
57
- expect(elapsed).toBeLessThan(1e4);
58
- wrapper.unmount();
59
- }, 2e4);
60
- it("100/500/2k \u884C\uFF1A\u6302\u8F7D\u65F6\u95F4\u5E94\u7EBF\u6027\u589E\u957F\uFF08\u975E\u6307\u6570\u589E\u957F\uFF09", () => {
61
- const measure = (data) => {
62
- const t0 = performance.now();
63
- const w = mount(Table, {
64
- props: {
65
- data,
66
- columns: COLUMNS,
67
- virtualScroll: true,
68
- height: "400px",
69
- rowHeight: 48,
70
- rowKey: "id"
71
- }
72
- });
73
- const elapsed = performance.now() - t0;
74
- w.unmount();
75
- return elapsed;
76
- };
77
- const t100 = measure(ROWS_100);
78
- const t500 = measure(ROWS_500);
79
- const t2k = measure(ROWS_2K);
80
- console.log(
81
- `[PERF] \u6302\u8F7D\u65F6\u95F4 - 100\u884C: ${t100.toFixed(2)}ms 500\u884C: ${t500.toFixed(2)}ms 2k\u884C: ${t2k.toFixed(2)}ms`
82
- );
83
- const ratio = t2k / t100;
84
- console.log(`[PERF] 2k/100 \u65F6\u95F4\u589E\u957F\u6BD4: ${ratio.toFixed(2)}x`);
85
- expect(ratio).toBeLessThan(150);
86
- expect(t100).toBeLessThan(5e3);
87
- expect(t500).toBeLessThan(8e3);
88
- expect(t2k).toBeLessThan(1e4);
89
- }, 3e4);
90
- it("2k \u884C\uFF1A\u6E32\u67D3 DOM \u884C\u8282\u70B9\u6570\u5E94\u8FDC\u5C11\u4E8E\u6570\u636E\u884C\u6570", async () => {
91
- const wrapper = mount(Table, {
92
- props: {
93
- data: ROWS_2K,
94
- columns: COLUMNS,
95
- virtualScroll: true,
96
- height: "400px",
97
- rowHeight: 48,
98
- rowKey: "id"
99
- }
100
- });
101
- await nextTick();
102
- const rowNodes = wrapper.findAll("tr.yh-table__row, .yh-table__row");
103
- console.log(`[PERF] \u865A\u62DF\u6EDA\u52A8 DOM \u884C\u6570: ${rowNodes.length}\uFF0C\u6570\u636E\u91CF: ${ROWS_2K.length}`);
104
- expect(rowNodes.length).toBeLessThanOrEqual(ROWS_2K.length);
105
- console.log(
106
- "[PERF] Happy-DOM \u73AF\u5883\uFF1A\u5BB9\u5668\u9AD8\u5EA6\u4E3A 0\uFF0C\u6E32\u67D3\u884C\u4E3A\u53EF\u80FD\u4E0E\u771F\u5B9E\u6D4F\u89C8\u5668\u4E0D\u540C\uFF0C\u9A8C\u8BC1\u7EC4\u4EF6\u6B63\u5E38\u6302\u8F7D"
107
- );
108
- expect(wrapper.exists()).toBe(true);
109
- wrapper.unmount();
110
- }, 15e3);
111
- it("2k \u884C\uFF1A\u6392\u5E8F\u64CD\u4F5C\u5E94 < 5000ms \u5B8C\u6210\uFF08Happy-DOM \u57FA\u51C6\uFF09", async () => {
112
- const wrapper = mount(Table, {
113
- props: {
114
- data: ROWS_2K,
115
- columns: COLUMNS,
116
- virtualScroll: true,
117
- height: "400px",
118
- rowHeight: 48,
119
- rowKey: "id"
120
- }
121
- });
122
- await nextTick();
123
- const vm = wrapper.vm;
124
- if (typeof vm["sort"] === "function") {
125
- const elapsed = bench(
126
- "\u8C03\u7528 sort() API\uFF082k \u884C\uFF09",
127
- () => {
128
- ;
129
- vm["sort"]("id", "ascending");
130
- },
131
- 5e3
132
- );
133
- await nextTick();
134
- expect(elapsed).toBeLessThan(5e3);
135
- } else {
136
- const sortableHeader = wrapper.find("th[data-sortable], .yh-table__header-cell--sortable");
137
- if (sortableHeader.exists()) {
138
- const elapsed = bench(
139
- "\u70B9\u51FB\u53EF\u6392\u5E8F\u5217\u5934\uFF082k \u884C\uFF09",
140
- () => {
141
- sortableHeader.trigger("click");
142
- },
143
- 5e3
144
- );
145
- await nextTick();
146
- expect(elapsed).toBeLessThan(5e3);
147
- } else {
148
- console.warn("[PERF] \u672A\u627E\u5230\u6392\u5E8F\u5165\u53E3\uFF0C\u8DF3\u8FC7\u6392\u5E8F\u6027\u80FD\u65AD\u8A00");
149
- expect(true).toBe(true);
150
- }
151
- }
152
- wrapper.unmount();
153
- }, 15e3);
154
- it("2k \u884C\uFF1A\u91CD\u590D\u6302\u8F7D/\u5378\u8F7D 3 \u6B21\u6027\u80FD\u5E94\u4FDD\u6301\u7A33\u5B9A", () => {
155
- const ROUNDS = 3;
156
- const times = [];
157
- for (let r = 0; r < ROUNDS; r++) {
158
- const t0 = performance.now();
159
- const wrapper = mount(Table, {
160
- props: {
161
- data: ROWS_2K,
162
- columns: COLUMNS,
163
- virtualScroll: true,
164
- height: "400px",
165
- rowHeight: 48,
166
- rowKey: "id"
167
- }
168
- });
169
- wrapper.unmount();
170
- times.push(performance.now() - t0);
171
- }
172
- const avg = times.reduce((a, b) => a + b, 0) / ROUNDS;
173
- const max = Math.max(...times);
174
- console.log(
175
- `[PERF] \u91CD\u590D\u6302\u8F7D ${ROUNDS} \u6B21 - \u5E73\u5747: ${avg.toFixed(2)}ms \u6700\u5927: ${max.toFixed(2)}ms`
176
- );
177
- console.log(`[PERF] \u5404\u8F6E\u8017\u65F6: ${times.map((t) => t.toFixed(1)).join(" / ")} ms`);
178
- expect(max).toBeLessThan(12e3);
179
- const degradation = times[ROUNDS - 1] / times[0];
180
- console.log(`[PERF] \u6027\u80FD\u964D\u7EA7\u6BD4\uFF08\u6700\u540E/\u7B2C\u4E00\uFF09: ${degradation.toFixed(2)}x`);
181
- expect(degradation).toBeLessThan(3);
182
- }, 3e4);
183
- it("2k \u884C\uFF1A\u52A8\u6001\u66FF\u6362 data\uFF08\u5168\u91CF\u5237\u65B0\uFF09\u5E94 < 8000ms\uFF08Happy-DOM \u57FA\u51C6\uFF09", async () => {
184
- const wrapper = mount(Table, {
185
- props: {
186
- data: ROWS_2K,
187
- columns: COLUMNS,
188
- virtualScroll: true,
189
- height: "400px",
190
- rowHeight: 48,
191
- rowKey: "id"
192
- }
193
- });
194
- await nextTick();
195
- const NEW_DATA = genRows(2e3);
196
- const elapsed = bench(
197
- "\u5168\u91CF\u66FF\u6362 2k \u884C\u6570\u636E",
198
- () => {
199
- wrapper.setProps({ data: NEW_DATA });
200
- },
201
- 1e4
202
- );
203
- await nextTick();
204
- expect(elapsed).toBeLessThan(1e4);
205
- wrapper.unmount();
206
- }, 2e4);
207
- it("2k \u884C\uFF1A\u8868\u683C\u5E94\u6B63\u786E\u6302\u8F7D\u4E14\u7EC4\u4EF6\u4E0D\u62A5\u9519", async () => {
208
- const wrapper = mount(Table, {
209
- props: {
210
- data: ROWS_2K,
211
- columns: COLUMNS,
212
- virtualScroll: true,
213
- height: "400px",
214
- rowHeight: 48,
215
- rowKey: "id"
216
- }
217
- });
218
- await nextTick();
219
- expect(wrapper.exists()).toBe(true);
220
- expect(wrapper.classes()).toContain("yh-table");
221
- const headerCells = wrapper.findAll("th, .yh-table__header-cell");
222
- console.log(`[PERF] \u8868\u5934\u5217\u6570: ${headerCells.length}`);
223
- wrapper.unmount();
224
- }, 15e3);
225
- });