@yh-ui/components 0.1.21 → 0.1.22

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 (484) hide show
  1. package/README.md +2 -0
  2. package/dist/form/index.cjs +1 -1
  3. package/dist/form/index.d.ts +1 -1
  4. package/dist/form/index.mjs +1 -1
  5. package/dist/icon/index.cjs +1 -1
  6. package/dist/icon/index.d.ts +1 -1
  7. package/dist/icon/index.mjs +1 -1
  8. package/dist/loading/index.cjs +1 -1
  9. package/dist/loading/index.d.ts +1 -1
  10. package/dist/loading/index.mjs +1 -1
  11. package/dist/message/src/method.cjs +1 -1
  12. package/dist/message/src/method.d.ts +1 -1
  13. package/dist/message/src/method.mjs +1 -1
  14. package/dist/message-box/index.cjs +1 -1
  15. package/dist/message-box/index.d.ts +1 -1
  16. package/dist/message-box/index.mjs +1 -1
  17. package/dist/notification/src/method.cjs +1 -1
  18. package/dist/notification/src/method.d.ts +1 -1
  19. package/dist/notification/src/method.mjs +1 -1
  20. package/dist/resolver.cjs +1 -1
  21. package/dist/resolver.d.ts +7 -5
  22. package/dist/resolver.mjs +1 -1
  23. package/dist/style.css +584 -0
  24. package/package.json +6 -6
  25. package/dist/affix/__tests__/affix.bottom.test.cjs +0 -101
  26. package/dist/affix/__tests__/affix.bottom.test.mjs +0 -88
  27. package/dist/affix/__tests__/affix.ssr.test.cjs +0 -38
  28. package/dist/affix/__tests__/affix.ssr.test.mjs +0 -51
  29. package/dist/affix/__tests__/affix.test.cjs +0 -185
  30. package/dist/affix/__tests__/affix.test.mjs +0 -180
  31. package/dist/ai-action-group/__tests__/ai-action-group.ssr.test.cjs +0 -55
  32. package/dist/ai-action-group/__tests__/ai-action-group.ssr.test.mjs +0 -39
  33. package/dist/ai-action-group/__tests__/ai-action-group.test.cjs +0 -235
  34. package/dist/ai-action-group/__tests__/ai-action-group.test.mjs +0 -157
  35. package/dist/ai-agent-card/__tests__/ai-agent-card.ssr.test.cjs +0 -61
  36. package/dist/ai-agent-card/__tests__/ai-agent-card.ssr.test.mjs +0 -65
  37. package/dist/ai-agent-card/__tests__/ai-agent-card.test.cjs +0 -205
  38. package/dist/ai-agent-card/__tests__/ai-agent-card.test.mjs +0 -133
  39. package/dist/ai-artifacts/__tests__/ai-artifacts.ssr.test.cjs +0 -73
  40. package/dist/ai-artifacts/__tests__/ai-artifacts.ssr.test.mjs +0 -68
  41. package/dist/ai-artifacts/__tests__/ai-artifacts.test.cjs +0 -128
  42. package/dist/ai-artifacts/__tests__/ai-artifacts.test.mjs +0 -109
  43. package/dist/ai-attachments/__tests__/ai-attachments.ssr.test.cjs +0 -50
  44. package/dist/ai-attachments/__tests__/ai-attachments.ssr.test.mjs +0 -33
  45. package/dist/ai-attachments/__tests__/ai-attachments.test.cjs +0 -113
  46. package/dist/ai-attachments/__tests__/ai-attachments.test.mjs +0 -81
  47. package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.cjs +0 -95
  48. package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.mjs +0 -66
  49. package/dist/ai-bubble/__tests__/ai-bubble.test.cjs +0 -624
  50. package/dist/ai-bubble/__tests__/ai-bubble.test.mjs +0 -393
  51. package/dist/ai-bubble-list/__tests__/ai-bubble-list.ssr.test.cjs +0 -51
  52. package/dist/ai-bubble-list/__tests__/ai-bubble-list.ssr.test.mjs +0 -51
  53. package/dist/ai-bubble-list/__tests__/ai-bubble-list.test.cjs +0 -138
  54. package/dist/ai-bubble-list/__tests__/ai-bubble-list.test.mjs +0 -112
  55. package/dist/ai-chat/__tests__/ai-chat.ssr.test.cjs +0 -90
  56. package/dist/ai-chat/__tests__/ai-chat.ssr.test.mjs +0 -77
  57. package/dist/ai-chat/__tests__/ai-chat.test.cjs +0 -177
  58. package/dist/ai-chat/__tests__/ai-chat.test.mjs +0 -129
  59. package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.cjs +0 -75
  60. package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.mjs +0 -57
  61. package/dist/ai-code-block/__tests__/ai-code-block.test.cjs +0 -174
  62. package/dist/ai-code-block/__tests__/ai-code-block.test.mjs +0 -108
  63. package/dist/ai-code-editor/__tests__/ai-code-editor.ssr.test.cjs +0 -46
  64. package/dist/ai-code-editor/__tests__/ai-code-editor.ssr.test.mjs +0 -39
  65. package/dist/ai-code-editor/__tests__/ai-code-editor.test.cjs +0 -90
  66. package/dist/ai-code-editor/__tests__/ai-code-editor.test.mjs +0 -78
  67. package/dist/ai-code-runner/__tests__/ai-code-runner.ssr.test.cjs +0 -28
  68. package/dist/ai-code-runner/__tests__/ai-code-runner.ssr.test.mjs +0 -26
  69. package/dist/ai-code-runner/__tests__/ai-code-runner.test.cjs +0 -69
  70. package/dist/ai-code-runner/__tests__/ai-code-runner.test.mjs +0 -66
  71. package/dist/ai-conversations/__tests__/ai-conversations.ssr.test.cjs +0 -50
  72. package/dist/ai-conversations/__tests__/ai-conversations.ssr.test.mjs +0 -42
  73. package/dist/ai-conversations/__tests__/ai-conversations.test.cjs +0 -67
  74. package/dist/ai-conversations/__tests__/ai-conversations.test.mjs +0 -51
  75. package/dist/ai-editor-sender/__tests__/ai-editor-sender.ssr.test.cjs +0 -62
  76. package/dist/ai-editor-sender/__tests__/ai-editor-sender.ssr.test.mjs +0 -50
  77. package/dist/ai-editor-sender/__tests__/ai-editor-sender.test.cjs +0 -315
  78. package/dist/ai-editor-sender/__tests__/ai-editor-sender.test.mjs +0 -226
  79. package/dist/ai-file-card/__tests__/ai-file-card.ssr.test.cjs +0 -45
  80. package/dist/ai-file-card/__tests__/ai-file-card.ssr.test.mjs +0 -29
  81. package/dist/ai-file-card/__tests__/ai-file-card.test.cjs +0 -160
  82. package/dist/ai-file-card/__tests__/ai-file-card.test.mjs +0 -109
  83. package/dist/ai-mention/__tests__/ai-mention.ssr.test.cjs +0 -38
  84. package/dist/ai-mention/__tests__/ai-mention.ssr.test.mjs +0 -37
  85. package/dist/ai-mention/__tests__/ai-mention.test.cjs +0 -113
  86. package/dist/ai-mention/__tests__/ai-mention.test.mjs +0 -84
  87. package/dist/ai-mermaid/__tests__/ai-mermaid.ssr.test.cjs +0 -43
  88. package/dist/ai-mermaid/__tests__/ai-mermaid.ssr.test.mjs +0 -33
  89. package/dist/ai-mermaid/__tests__/ai-mermaid.test.cjs +0 -113
  90. package/dist/ai-mermaid/__tests__/ai-mermaid.test.mjs +0 -92
  91. package/dist/ai-prompts/__tests__/ai-prompts.ssr.test.cjs +0 -49
  92. package/dist/ai-prompts/__tests__/ai-prompts.ssr.test.mjs +0 -41
  93. package/dist/ai-prompts/__tests__/ai-prompts.test.cjs +0 -54
  94. package/dist/ai-prompts/__tests__/ai-prompts.test.mjs +0 -38
  95. package/dist/ai-provider/__tests__/ai-provider.ssr.test.cjs +0 -33
  96. package/dist/ai-provider/__tests__/ai-provider.ssr.test.mjs +0 -34
  97. package/dist/ai-provider/__tests__/ai-provider.test.cjs +0 -38
  98. package/dist/ai-provider/__tests__/ai-provider.test.mjs +0 -33
  99. package/dist/ai-sender/__tests__/ai-sender.ssr.test.cjs +0 -46
  100. package/dist/ai-sender/__tests__/ai-sender.ssr.test.mjs +0 -37
  101. package/dist/ai-sender/__tests__/ai-sender.test.cjs +0 -511
  102. package/dist/ai-sender/__tests__/ai-sender.test.mjs +0 -322
  103. package/dist/ai-sources/__tests__/ai-sources.ssr.test.cjs +0 -72
  104. package/dist/ai-sources/__tests__/ai-sources.ssr.test.mjs +0 -82
  105. package/dist/ai-sources/__tests__/ai-sources.test.cjs +0 -200
  106. package/dist/ai-sources/__tests__/ai-sources.test.mjs +0 -160
  107. package/dist/ai-thinking/__tests__/ai-thinking.ssr.test.cjs +0 -56
  108. package/dist/ai-thinking/__tests__/ai-thinking.ssr.test.mjs +0 -42
  109. package/dist/ai-thinking/__tests__/ai-thinking.test.cjs +0 -151
  110. package/dist/ai-thinking/__tests__/ai-thinking.test.mjs +0 -96
  111. package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.cjs +0 -88
  112. package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.mjs +0 -55
  113. package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.cjs +0 -344
  114. package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.mjs +0 -237
  115. package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.ssr.test.cjs +0 -32
  116. package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.ssr.test.mjs +0 -25
  117. package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.test.cjs +0 -130
  118. package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.test.mjs +0 -103
  119. package/dist/ai-welcome/__tests__/ai-welcome.ssr.test.cjs +0 -57
  120. package/dist/ai-welcome/__tests__/ai-welcome.ssr.test.mjs +0 -39
  121. package/dist/ai-welcome/__tests__/ai-welcome.test.cjs +0 -169
  122. package/dist/ai-welcome/__tests__/ai-welcome.test.mjs +0 -113
  123. package/dist/alert/__tests__/alert.ssr.test.cjs +0 -28
  124. package/dist/alert/__tests__/alert.ssr.test.mjs +0 -29
  125. package/dist/alert/__tests__/alert.test.cjs +0 -123
  126. package/dist/alert/__tests__/alert.test.mjs +0 -110
  127. package/dist/autocomplete/__tests__/autocomplete.ssr.test.cjs +0 -54
  128. package/dist/autocomplete/__tests__/autocomplete.ssr.test.mjs +0 -47
  129. package/dist/autocomplete/__tests__/autocomplete.test.cjs +0 -299
  130. package/dist/autocomplete/__tests__/autocomplete.test.mjs +0 -263
  131. package/dist/avatar/__tests__/avatar.ssr.test.cjs +0 -103
  132. package/dist/avatar/__tests__/avatar.ssr.test.mjs +0 -108
  133. package/dist/avatar/__tests__/avatar.test.cjs +0 -146
  134. package/dist/avatar/__tests__/avatar.test.mjs +0 -125
  135. package/dist/back-top/__tests__/back-top.ssr.test.cjs +0 -13
  136. package/dist/back-top/__tests__/back-top.ssr.test.mjs +0 -10
  137. package/dist/back-top/__tests__/back-top.test.cjs +0 -88
  138. package/dist/back-top/__tests__/back-top.test.mjs +0 -76
  139. package/dist/badge/__tests__/badge.ssr.test.cjs +0 -36
  140. package/dist/badge/__tests__/badge.ssr.test.mjs +0 -33
  141. package/dist/badge/__tests__/badge.test.cjs +0 -115
  142. package/dist/badge/__tests__/badge.test.mjs +0 -112
  143. package/dist/breadcrumb/__tests__/breadcrumb.ssr.test.cjs +0 -22
  144. package/dist/breadcrumb/__tests__/breadcrumb.ssr.test.mjs +0 -20
  145. package/dist/breadcrumb/__tests__/breadcrumb.test.cjs +0 -64
  146. package/dist/breadcrumb/__tests__/breadcrumb.test.mjs +0 -51
  147. package/dist/button/__tests__/button.ssr.test.cjs +0 -52
  148. package/dist/button/__tests__/button.ssr.test.mjs +0 -55
  149. package/dist/button/__tests__/button.test.cjs +0 -207
  150. package/dist/button/__tests__/button.test.mjs +0 -141
  151. package/dist/calendar/__tests__/calendar.ssr.test.cjs +0 -65
  152. package/dist/calendar/__tests__/calendar.ssr.test.mjs +0 -63
  153. package/dist/calendar/__tests__/calendar.test.cjs +0 -263
  154. package/dist/calendar/__tests__/calendar.test.mjs +0 -255
  155. package/dist/card/__tests__/card.ssr.test.cjs +0 -37
  156. package/dist/card/__tests__/card.ssr.test.mjs +0 -40
  157. package/dist/card/__tests__/card.test.cjs +0 -131
  158. package/dist/card/__tests__/card.test.mjs +0 -124
  159. package/dist/carousel/__tests__/carousel.ssr.test.cjs +0 -27
  160. package/dist/carousel/__tests__/carousel.ssr.test.mjs +0 -27
  161. package/dist/carousel/__tests__/carousel.test.cjs +0 -115
  162. package/dist/carousel/__tests__/carousel.test.mjs +0 -98
  163. package/dist/cascader/__tests__/cascader-panel.test.cjs +0 -162
  164. package/dist/cascader/__tests__/cascader-panel.test.mjs +0 -151
  165. package/dist/cascader/__tests__/cascader.ssr.test.cjs +0 -61
  166. package/dist/cascader/__tests__/cascader.ssr.test.mjs +0 -55
  167. package/dist/cascader/__tests__/cascader.test.cjs +0 -342
  168. package/dist/cascader/__tests__/cascader.test.mjs +0 -316
  169. package/dist/category-nav/__tests__/category-nav.ssr.test.cjs +0 -35
  170. package/dist/category-nav/__tests__/category-nav.ssr.test.mjs +0 -21
  171. package/dist/category-nav/__tests__/category-nav.test.cjs +0 -53
  172. package/dist/category-nav/__tests__/category-nav.test.mjs +0 -33
  173. package/dist/checkbox/__tests__/checkbox.ssr.test.cjs +0 -52
  174. package/dist/checkbox/__tests__/checkbox.ssr.test.mjs +0 -57
  175. package/dist/checkbox/__tests__/checkbox.test.cjs +0 -173
  176. package/dist/checkbox/__tests__/checkbox.test.mjs +0 -133
  177. package/dist/col/__tests__/col.ssr.test.cjs +0 -44
  178. package/dist/col/__tests__/col.ssr.test.mjs +0 -42
  179. package/dist/col/__tests__/col.test.cjs +0 -128
  180. package/dist/col/__tests__/col.test.mjs +0 -116
  181. package/dist/color-picker/__tests__/color-picker.ssr.test.cjs +0 -34
  182. package/dist/color-picker/__tests__/color-picker.ssr.test.mjs +0 -39
  183. package/dist/color-picker/__tests__/color-picker.test.cjs +0 -227
  184. package/dist/color-picker/__tests__/color-picker.test.mjs +0 -176
  185. package/dist/config-provider/__tests__/config-provider.ssr.test.cjs +0 -43
  186. package/dist/config-provider/__tests__/config-provider.ssr.test.mjs +0 -42
  187. package/dist/config-provider/__tests__/config-provider.test.cjs +0 -75
  188. package/dist/config-provider/__tests__/config-provider.test.mjs +0 -64
  189. package/dist/container/__tests__/container.ssr.test.cjs +0 -71
  190. package/dist/container/__tests__/container.ssr.test.mjs +0 -50
  191. package/dist/container/__tests__/container.test.cjs +0 -111
  192. package/dist/container/__tests__/container.test.mjs +0 -84
  193. package/dist/countdown/__tests__/countdown.ssr.test.cjs +0 -86
  194. package/dist/countdown/__tests__/countdown.ssr.test.mjs +0 -78
  195. package/dist/countdown/__tests__/countdown.test.cjs +0 -767
  196. package/dist/countdown/__tests__/countdown.test.mjs +0 -722
  197. package/dist/coupon-card/__tests__/coupon-card.ssr.test.cjs +0 -21
  198. package/dist/coupon-card/__tests__/coupon-card.ssr.test.mjs +0 -18
  199. package/dist/coupon-card/__tests__/coupon-card.test.cjs +0 -67
  200. package/dist/coupon-card/__tests__/coupon-card.test.mjs +0 -64
  201. package/dist/date-picker/__tests__/date-picker-extended.test.cjs +0 -581
  202. package/dist/date-picker/__tests__/date-picker-extended.test.mjs +0 -455
  203. package/dist/date-picker/__tests__/date-picker.ssr.test.cjs +0 -26
  204. package/dist/date-picker/__tests__/date-picker.ssr.test.mjs +0 -23
  205. package/dist/date-picker/__tests__/date-picker.test.cjs +0 -170
  206. package/dist/date-picker/__tests__/date-picker.test.mjs +0 -136
  207. package/dist/descriptions/__tests__/descriptions.ssr.test.cjs +0 -67
  208. package/dist/descriptions/__tests__/descriptions.ssr.test.mjs +0 -72
  209. package/dist/descriptions/__tests__/descriptions.test.cjs +0 -150
  210. package/dist/descriptions/__tests__/descriptions.test.mjs +0 -130
  211. package/dist/dialog/__tests__/dialog.functional.test.cjs +0 -49
  212. package/dist/dialog/__tests__/dialog.functional.test.mjs +0 -49
  213. package/dist/dialog/__tests__/dialog.ssr.test.cjs +0 -31
  214. package/dist/dialog/__tests__/dialog.ssr.test.mjs +0 -29
  215. package/dist/dialog/__tests__/dialog.test.cjs +0 -561
  216. package/dist/dialog/__tests__/dialog.test.mjs +0 -388
  217. package/dist/divider/__tests__/divider.ssr.test.cjs +0 -41
  218. package/dist/divider/__tests__/divider.ssr.test.mjs +0 -44
  219. package/dist/divider/__tests__/divider.test.cjs +0 -71
  220. package/dist/divider/__tests__/divider.test.mjs +0 -68
  221. package/dist/drawer/__tests__/drawer.ssr.test.cjs +0 -25
  222. package/dist/drawer/__tests__/drawer.ssr.test.mjs +0 -23
  223. package/dist/drawer/__tests__/drawer.test.cjs +0 -145
  224. package/dist/drawer/__tests__/drawer.test.mjs +0 -122
  225. package/dist/dropdown/__tests__/dropdown.ssr.test.cjs +0 -49
  226. package/dist/dropdown/__tests__/dropdown.ssr.test.mjs +0 -64
  227. package/dist/dropdown/__tests__/dropdown.test.cjs +0 -310
  228. package/dist/dropdown/__tests__/dropdown.test.mjs +0 -269
  229. package/dist/empty/__tests__/empty.ssr.test.cjs +0 -96
  230. package/dist/empty/__tests__/empty.ssr.test.mjs +0 -99
  231. package/dist/empty/__tests__/empty.test.cjs +0 -110
  232. package/dist/empty/__tests__/empty.test.mjs +0 -101
  233. package/dist/filter-bar/__tests__/filter-bar.ssr.test.cjs +0 -29
  234. package/dist/filter-bar/__tests__/filter-bar.ssr.test.mjs +0 -16
  235. package/dist/filter-bar/__tests__/filter-bar.test.cjs +0 -51
  236. package/dist/filter-bar/__tests__/filter-bar.test.mjs +0 -29
  237. package/dist/form/__tests__/form-schema.test.cjs +0 -636
  238. package/dist/form/__tests__/form-schema.test.mjs +0 -366
  239. package/dist/form/__tests__/form.ssr.test.cjs +0 -74
  240. package/dist/form/__tests__/form.ssr.test.mjs +0 -73
  241. package/dist/form/__tests__/form.test.cjs +0 -208
  242. package/dist/form/__tests__/form.test.mjs +0 -128
  243. package/dist/gantt-chart/__tests__/debug_ssr.test.cjs +0 -51
  244. package/dist/gantt-chart/__tests__/debug_ssr.test.mjs +0 -37
  245. package/dist/gantt-chart/__tests__/gantt-chart.ssr.test.cjs +0 -95
  246. package/dist/gantt-chart/__tests__/gantt-chart.ssr.test.mjs +0 -94
  247. package/dist/gantt-chart/__tests__/gantt-chart.test.cjs +0 -86
  248. package/dist/gantt-chart/__tests__/gantt-chart.test.mjs +0 -79
  249. package/dist/grid/__tests__/grid.ssr.test.cjs +0 -81
  250. package/dist/grid/__tests__/grid.ssr.test.mjs +0 -63
  251. package/dist/grid/__tests__/grid.test.cjs +0 -142
  252. package/dist/grid/__tests__/grid.test.mjs +0 -89
  253. package/dist/icon/__tests__/icon.ssr.test.cjs +0 -35
  254. package/dist/icon/__tests__/icon.ssr.test.mjs +0 -26
  255. package/dist/icon/__tests__/icon.test.cjs +0 -144
  256. package/dist/icon/__tests__/icon.test.mjs +0 -123
  257. package/dist/image/__tests__/image-viewer.test.cjs +0 -101
  258. package/dist/image/__tests__/image-viewer.test.mjs +0 -94
  259. package/dist/image/__tests__/image.ssr.test.cjs +0 -73
  260. package/dist/image/__tests__/image.ssr.test.mjs +0 -72
  261. package/dist/image/__tests__/image.test.cjs +0 -171
  262. package/dist/image/__tests__/image.test.mjs +0 -159
  263. package/dist/image-magnifier/__tests__/image-magnifier.ssr.test.cjs +0 -54
  264. package/dist/image-magnifier/__tests__/image-magnifier.ssr.test.mjs +0 -35
  265. package/dist/image-magnifier/__tests__/image-magnifier.test.cjs +0 -257
  266. package/dist/image-magnifier/__tests__/image-magnifier.test.mjs +0 -177
  267. package/dist/infinite-scroll/__tests__/infinite-scroll.ssr.test.cjs +0 -59
  268. package/dist/infinite-scroll/__tests__/infinite-scroll.ssr.test.mjs +0 -84
  269. package/dist/infinite-scroll/__tests__/infinite-scroll.test.cjs +0 -255
  270. package/dist/infinite-scroll/__tests__/infinite-scroll.test.mjs +0 -187
  271. package/dist/input/__tests__/input-utils.test.cjs +0 -77
  272. package/dist/input/__tests__/input-utils.test.mjs +0 -75
  273. package/dist/input/__tests__/input.ssr.test.cjs +0 -100
  274. package/dist/input/__tests__/input.ssr.test.mjs +0 -85
  275. package/dist/input/__tests__/input.test.cjs +0 -127
  276. package/dist/input/__tests__/input.test.mjs +0 -112
  277. package/dist/input-number/__tests__/input-number.hydration.test.cjs +0 -24
  278. package/dist/input-number/__tests__/input-number.hydration.test.mjs +0 -21
  279. package/dist/input-number/__tests__/input-number.ssr.test.cjs +0 -95
  280. package/dist/input-number/__tests__/input-number.ssr.test.mjs +0 -92
  281. package/dist/input-number/__tests__/input-number.test.cjs +0 -199
  282. package/dist/input-number/__tests__/input-number.test.mjs +0 -173
  283. package/dist/input-tag/__tests__/input-tag.ssr.test.cjs +0 -47
  284. package/dist/input-tag/__tests__/input-tag.ssr.test.mjs +0 -41
  285. package/dist/input-tag/__tests__/input-tag.test.cjs +0 -268
  286. package/dist/input-tag/__tests__/input-tag.test.mjs +0 -201
  287. package/dist/loading/__tests__/loading.ssr.test.cjs +0 -37
  288. package/dist/loading/__tests__/loading.ssr.test.mjs +0 -27
  289. package/dist/loading/__tests__/loading.test.cjs +0 -91
  290. package/dist/loading/__tests__/loading.test.mjs +0 -75
  291. package/dist/lucky-draw/__tests__/lucky-draw.ssr.test.cjs +0 -33
  292. package/dist/lucky-draw/__tests__/lucky-draw.ssr.test.mjs +0 -31
  293. package/dist/lucky-draw/__tests__/lucky-draw.test.cjs +0 -56
  294. package/dist/lucky-draw/__tests__/lucky-draw.test.mjs +0 -48
  295. package/dist/marquee/__tests__/marquee.ssr.test.cjs +0 -59
  296. package/dist/marquee/__tests__/marquee.ssr.test.mjs +0 -60
  297. package/dist/marquee/__tests__/marquee.test.cjs +0 -94
  298. package/dist/marquee/__tests__/marquee.test.mjs +0 -92
  299. package/dist/mention/__tests__/mention.ssr.test.cjs +0 -92
  300. package/dist/mention/__tests__/mention.ssr.test.mjs +0 -70
  301. package/dist/mention/__tests__/mention.test.cjs +0 -650
  302. package/dist/mention/__tests__/mention.test.mjs +0 -523
  303. package/dist/menu/__tests__/menu.ssr.test.cjs +0 -92
  304. package/dist/menu/__tests__/menu.ssr.test.mjs +0 -124
  305. package/dist/menu/__tests__/menu.test.cjs +0 -209
  306. package/dist/menu/__tests__/menu.test.mjs +0 -182
  307. package/dist/message/__tests__/message.ssr.test.cjs +0 -29
  308. package/dist/message/__tests__/message.ssr.test.mjs +0 -23
  309. package/dist/message/__tests__/message.test.cjs +0 -170
  310. package/dist/message/__tests__/message.test.mjs +0 -154
  311. package/dist/message-box/__tests__/message-box.ssr.test.cjs +0 -33
  312. package/dist/message-box/__tests__/message-box.ssr.test.mjs +0 -30
  313. package/dist/message-box/__tests__/message-box.test.cjs +0 -100
  314. package/dist/message-box/__tests__/message-box.test.mjs +0 -95
  315. package/dist/notification/__tests__/notification.ssr.test.cjs +0 -31
  316. package/dist/notification/__tests__/notification.ssr.test.mjs +0 -25
  317. package/dist/notification/__tests__/notification.test.cjs +0 -248
  318. package/dist/notification/__tests__/notification.test.mjs +0 -206
  319. package/dist/pagination/__tests__/pagination.ssr.test.cjs +0 -61
  320. package/dist/pagination/__tests__/pagination.ssr.test.mjs +0 -59
  321. package/dist/pagination/__tests__/pagination.test.cjs +0 -135
  322. package/dist/pagination/__tests__/pagination.test.mjs +0 -131
  323. package/dist/popconfirm/__tests__/popconfirm.ssr.test.cjs +0 -48
  324. package/dist/popconfirm/__tests__/popconfirm.ssr.test.mjs +0 -63
  325. package/dist/popconfirm/__tests__/popconfirm.test.cjs +0 -62
  326. package/dist/popconfirm/__tests__/popconfirm.test.mjs +0 -56
  327. package/dist/popover/__tests__/popover.ssr.test.cjs +0 -48
  328. package/dist/popover/__tests__/popover.ssr.test.mjs +0 -63
  329. package/dist/popover/__tests__/popover.test.cjs +0 -107
  330. package/dist/popover/__tests__/popover.test.mjs +0 -93
  331. package/dist/price/__tests__/price.ssr.test.cjs +0 -20
  332. package/dist/price/__tests__/price.ssr.test.mjs +0 -19
  333. package/dist/price/__tests__/price.test.cjs +0 -45
  334. package/dist/price/__tests__/price.test.mjs +0 -42
  335. package/dist/product-card/__tests__/product-card.ssr.test.cjs +0 -21
  336. package/dist/product-card/__tests__/product-card.ssr.test.mjs +0 -18
  337. package/dist/product-card/__tests__/product-card.test.cjs +0 -54
  338. package/dist/product-card/__tests__/product-card.test.mjs +0 -53
  339. package/dist/progress/__tests__/progress.ssr.test.cjs +0 -31
  340. package/dist/progress/__tests__/progress.ssr.test.mjs +0 -29
  341. package/dist/progress/__tests__/progress.test.cjs +0 -119
  342. package/dist/progress/__tests__/progress.test.mjs +0 -77
  343. package/dist/radio/__tests__/radio-button.test.cjs +0 -99
  344. package/dist/radio/__tests__/radio-button.test.mjs +0 -83
  345. package/dist/radio/__tests__/radio.ssr.test.cjs +0 -132
  346. package/dist/radio/__tests__/radio.ssr.test.mjs +0 -165
  347. package/dist/radio/__tests__/radio.test.cjs +0 -170
  348. package/dist/radio/__tests__/radio.test.mjs +0 -143
  349. package/dist/rate/__tests__/rate.ssr.test.cjs +0 -106
  350. package/dist/rate/__tests__/rate.ssr.test.mjs +0 -103
  351. package/dist/rate/__tests__/rate.test.cjs +0 -88
  352. package/dist/rate/__tests__/rate.test.mjs +0 -85
  353. package/dist/result/__tests__/result.ssr.test.cjs +0 -62
  354. package/dist/result/__tests__/result.ssr.test.mjs +0 -51
  355. package/dist/result/__tests__/result.test.cjs +0 -135
  356. package/dist/result/__tests__/result.test.mjs +0 -92
  357. package/dist/row/__tests__/row.ssr.test.cjs +0 -29
  358. package/dist/row/__tests__/row.ssr.test.mjs +0 -30
  359. package/dist/row/__tests__/row.test.cjs +0 -89
  360. package/dist/row/__tests__/row.test.mjs +0 -86
  361. package/dist/row/__tests__/row_ts.test.cjs +0 -31
  362. package/dist/row/__tests__/row_ts.test.mjs +0 -28
  363. package/dist/scrollbar/__tests__/scrollbar.ssr.test.cjs +0 -49
  364. package/dist/scrollbar/__tests__/scrollbar.ssr.test.mjs +0 -54
  365. package/dist/scrollbar/__tests__/scrollbar.test.cjs +0 -43
  366. package/dist/scrollbar/__tests__/scrollbar.test.mjs +0 -40
  367. package/dist/select/__tests__/select.perf.test.cjs +0 -191
  368. package/dist/select/__tests__/select.perf.test.mjs +0 -185
  369. package/dist/select/__tests__/select.ssr.test.cjs +0 -58
  370. package/dist/select/__tests__/select.ssr.test.mjs +0 -52
  371. package/dist/select/__tests__/select.test.cjs +0 -414
  372. package/dist/select/__tests__/select.test.mjs +0 -345
  373. package/dist/skeleton/__tests__/skeleton.ssr.test.cjs +0 -81
  374. package/dist/skeleton/__tests__/skeleton.ssr.test.mjs +0 -83
  375. package/dist/skeleton/__tests__/skeleton.test.cjs +0 -72
  376. package/dist/skeleton/__tests__/skeleton.test.mjs +0 -65
  377. package/dist/sku-selector/__tests__/sku-selector.ssr.test.cjs +0 -32
  378. package/dist/sku-selector/__tests__/sku-selector.ssr.test.mjs +0 -19
  379. package/dist/sku-selector/__tests__/sku-selector.test.cjs +0 -64
  380. package/dist/sku-selector/__tests__/sku-selector.test.mjs +0 -53
  381. package/dist/slider/__tests__/repro.test.cjs +0 -25
  382. package/dist/slider/__tests__/repro.test.mjs +0 -22
  383. package/dist/slider/__tests__/slider.ssr.test.cjs +0 -118
  384. package/dist/slider/__tests__/slider.ssr.test.mjs +0 -115
  385. package/dist/slider/__tests__/slider.test.cjs +0 -155
  386. package/dist/slider/__tests__/slider.test.mjs +0 -120
  387. package/dist/smart-address/__tests__/smart-address.ssr.test.cjs +0 -28
  388. package/dist/smart-address/__tests__/smart-address.ssr.test.mjs +0 -25
  389. package/dist/smart-address/__tests__/smart-address.test.cjs +0 -68
  390. package/dist/smart-address/__tests__/smart-address.test.mjs +0 -56
  391. package/dist/space/__tests__/space.ssr.test.cjs +0 -115
  392. package/dist/space/__tests__/space.ssr.test.mjs +0 -150
  393. package/dist/space/__tests__/space.test.cjs +0 -227
  394. package/dist/space/__tests__/space.test.mjs +0 -187
  395. package/dist/spin/__tests__/spin.ssr.test.cjs +0 -46
  396. package/dist/spin/__tests__/spin.ssr.test.mjs +0 -43
  397. package/dist/spin/__tests__/spin.test.cjs +0 -65
  398. package/dist/spin/__tests__/spin.test.mjs +0 -63
  399. package/dist/steps/__tests__/steps.ssr.test.cjs +0 -73
  400. package/dist/steps/__tests__/steps.ssr.test.mjs +0 -55
  401. package/dist/steps/__tests__/steps.test.cjs +0 -152
  402. package/dist/steps/__tests__/steps.test.mjs +0 -123
  403. package/dist/submit-bar/__tests__/submit-bar.ssr.test.cjs +0 -21
  404. package/dist/submit-bar/__tests__/submit-bar.ssr.test.mjs +0 -18
  405. package/dist/submit-bar/__tests__/submit-bar.test.cjs +0 -50
  406. package/dist/submit-bar/__tests__/submit-bar.test.mjs +0 -36
  407. package/dist/switch/__tests__/switch.ssr.test.cjs +0 -105
  408. package/dist/switch/__tests__/switch.ssr.test.mjs +0 -102
  409. package/dist/switch/__tests__/switch.test.cjs +0 -251
  410. package/dist/switch/__tests__/switch.test.mjs +0 -193
  411. package/dist/table/__tests__/table-advance.test.cjs +0 -180
  412. package/dist/table/__tests__/table-advance.test.mjs +0 -118
  413. package/dist/table/__tests__/table-interaction.test.cjs +0 -236
  414. package/dist/table/__tests__/table-interaction.test.mjs +0 -162
  415. package/dist/table/__tests__/table-utils.test.cjs +0 -690
  416. package/dist/table/__tests__/table-utils.test.mjs +0 -485
  417. package/dist/table/__tests__/table.perf.test.cjs +0 -231
  418. package/dist/table/__tests__/table.perf.test.mjs +0 -225
  419. package/dist/table/__tests__/table.ssr.test.cjs +0 -296
  420. package/dist/table/__tests__/table.ssr.test.mjs +0 -265
  421. package/dist/table/__tests__/table.test.cjs +0 -682
  422. package/dist/table/__tests__/table.test.mjs +0 -617
  423. package/dist/table/__tests__/use-column-drag.test.cjs +0 -238
  424. package/dist/table/__tests__/use-column-drag.test.mjs +0 -150
  425. package/dist/table/__tests__/use-table-export.test.cjs +0 -179
  426. package/dist/table/__tests__/use-table-export.test.mjs +0 -105
  427. package/dist/table/__tests__/use-table-import.test.cjs +0 -206
  428. package/dist/table/__tests__/use-table-import.test.mjs +0 -144
  429. package/dist/table/__tests__/use-table-print.test.cjs +0 -190
  430. package/dist/table/__tests__/use-table-print.test.mjs +0 -134
  431. package/dist/table/__tests__/use-virtual-scroll.test.cjs +0 -286
  432. package/dist/table/__tests__/use-virtual-scroll.test.mjs +0 -196
  433. package/dist/tabs/__tests__/tabs.ssr.test.cjs +0 -57
  434. package/dist/tabs/__tests__/tabs.ssr.test.mjs +0 -41
  435. package/dist/tabs/__tests__/tabs.test.cjs +0 -171
  436. package/dist/tabs/__tests__/tabs.test.mjs +0 -134
  437. package/dist/tag/__tests__/tag.ssr.test.cjs +0 -45
  438. package/dist/tag/__tests__/tag.ssr.test.mjs +0 -48
  439. package/dist/tag/__tests__/tag.test.cjs +0 -194
  440. package/dist/tag/__tests__/tag.test.mjs +0 -167
  441. package/dist/time-picker/__tests__/time-picker.ssr.test.cjs +0 -46
  442. package/dist/time-picker/__tests__/time-picker.ssr.test.mjs +0 -43
  443. package/dist/time-picker/__tests__/time-picker.test.cjs +0 -228
  444. package/dist/time-picker/__tests__/time-picker.test.mjs +0 -218
  445. package/dist/time-picker/__tests__/time-spinner.test.cjs +0 -196
  446. package/dist/time-picker/__tests__/time-spinner.test.mjs +0 -162
  447. package/dist/time-select/__tests__/time-select.ssr.test.cjs +0 -42
  448. package/dist/time-select/__tests__/time-select.ssr.test.mjs +0 -37
  449. package/dist/time-select/__tests__/time-select.test.cjs +0 -390
  450. package/dist/time-select/__tests__/time-select.test.mjs +0 -374
  451. package/dist/tooltip/__tests__/tooltip.ssr.test.cjs +0 -55
  452. package/dist/tooltip/__tests__/tooltip.ssr.test.mjs +0 -76
  453. package/dist/tooltip/__tests__/tooltip.test.cjs +0 -132
  454. package/dist/tooltip/__tests__/tooltip.test.mjs +0 -121
  455. package/dist/transfer/__tests__/transfer.ssr.test.cjs +0 -47
  456. package/dist/transfer/__tests__/transfer.ssr.test.mjs +0 -44
  457. package/dist/transfer/__tests__/transfer.test.cjs +0 -422
  458. package/dist/transfer/__tests__/transfer.test.mjs +0 -405
  459. package/dist/tree/__tests__/tree.perf.test.cjs +0 -182
  460. package/dist/tree/__tests__/tree.perf.test.mjs +0 -198
  461. package/dist/tree/__tests__/tree.ssr.test.cjs +0 -56
  462. package/dist/tree/__tests__/tree.ssr.test.mjs +0 -45
  463. package/dist/tree/__tests__/tree.test.cjs +0 -488
  464. package/dist/tree/__tests__/tree.test.mjs +0 -333
  465. package/dist/tree-select/__tests__/tree-select.ssr.test.cjs +0 -52
  466. package/dist/tree-select/__tests__/tree-select.ssr.test.mjs +0 -55
  467. package/dist/tree-select/__tests__/tree-select.test.cjs +0 -231
  468. package/dist/tree-select/__tests__/tree-select.test.mjs +0 -189
  469. package/dist/typography/__tests__/typography.ssr.test.cjs +0 -85
  470. package/dist/typography/__tests__/typography.ssr.test.mjs +0 -63
  471. package/dist/typography/__tests__/typography.test.cjs +0 -362
  472. package/dist/typography/__tests__/typography.test.mjs +0 -161
  473. package/dist/upload/__tests__/upload.ssr.test.cjs +0 -28
  474. package/dist/upload/__tests__/upload.ssr.test.mjs +0 -26
  475. package/dist/upload/__tests__/upload.test.cjs +0 -467
  476. package/dist/upload/__tests__/upload.test.mjs +0 -336
  477. package/dist/waterfall/__tests__/waterfall.ssr.test.cjs +0 -38
  478. package/dist/waterfall/__tests__/waterfall.ssr.test.mjs +0 -39
  479. package/dist/waterfall/__tests__/waterfall.test.cjs +0 -122
  480. package/dist/waterfall/__tests__/waterfall.test.mjs +0 -85
  481. package/dist/watermark/__tests__/watermark.ssr.test.cjs +0 -32
  482. package/dist/watermark/__tests__/watermark.ssr.test.mjs +0 -30
  483. package/dist/watermark/__tests__/watermark.test.cjs +0 -127
  484. package/dist/watermark/__tests__/watermark.test.mjs +0 -124
@@ -1,455 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from "vitest";
2
- import { mount } from "@vue/test-utils";
3
- import { nextTick, ref } from "vue";
4
- import DatePicker from "../src/date-picker.vue";
5
- import MonthTable from "../src/month-table.vue";
6
- import YearTable from "../src/year-table.vue";
7
- import QuarterTable from "../src/quarter-table.vue";
8
- import DateTable from "../src/date-table.vue";
9
- import dayjs from "dayjs";
10
- import { zhCn } from "@yh-ui/locale";
11
- vi.mock("@yh-ui/hooks", async () => {
12
- const actual = await vi.importActual("@yh-ui/hooks");
13
- return {
14
- ...actual,
15
- useNamespace: (name) => {
16
- const b = (suffix) => suffix ? `yh-${name}-${suffix}` : `yh-${name}`;
17
- return {
18
- b,
19
- e: (element) => `${b()}__${element}`,
20
- m: (modifier) => `${b()}--${modifier}`,
21
- em: (element, modifier) => `${b()}__${element}--${modifier}`,
22
- is: (state, value) => {
23
- if (value === void 0) return `is-${state}`;
24
- return value ? `is-${state}` : "";
25
- }
26
- };
27
- },
28
- useFormItem: () => ({
29
- form: null,
30
- formItem: null,
31
- validate: vi.fn()
32
- }),
33
- useId: () => "test-id",
34
- useLocale: () => ({
35
- t: (key) => key,
36
- locale: ref(zhCn),
37
- lang: ref("zh-cn")
38
- }),
39
- useConfig: () => ({
40
- globalSize: ref("default"),
41
- globalLocale: ref(zhCn)
42
- }),
43
- useZIndex: () => ({
44
- currentZIndex: ref(2e3),
45
- nextZIndex: () => 2e3
46
- })
47
- };
48
- });
49
- describe("YhDatePicker Extended", () => {
50
- beforeEach(() => {
51
- Element.prototype.getBoundingClientRect = vi.fn(() => ({
52
- width: 220,
53
- height: 40,
54
- top: 100,
55
- left: 100,
56
- bottom: 140,
57
- right: 320,
58
- x: 100,
59
- y: 100,
60
- toJSON: () => {
61
- }
62
- }));
63
- });
64
- describe("Other picker types", () => {
65
- it("should support month type", async () => {
66
- const value = ref(null);
67
- const wrapper = mount(DatePicker, {
68
- props: {
69
- type: "month",
70
- modelValue: value.value,
71
- "onUpdate:modelValue": (val) => value.value = val,
72
- panelOnly: true
73
- }
74
- });
75
- await nextTick();
76
- expect(wrapper.findComponent(MonthTable).exists()).toBe(true);
77
- const cell = wrapper.find(".yh-date-picker__cell");
78
- await cell.trigger("click");
79
- expect(value.value).not.toBeNull();
80
- });
81
- it("should support year type", async () => {
82
- const wrapper = mount(DatePicker, {
83
- props: { type: "year", panelOnly: true }
84
- });
85
- await nextTick();
86
- expect(wrapper.findComponent(YearTable).exists()).toBe(true);
87
- const cell = wrapper.find(".yh-date-picker__cell");
88
- await cell.trigger("click");
89
- expect(wrapper.emitted("update:modelValue")).toBeTruthy();
90
- });
91
- it("should support quarter type", async () => {
92
- const value = ref(null);
93
- const wrapper = mount(DatePicker, {
94
- props: {
95
- type: "quarter",
96
- panelOnly: true,
97
- modelValue: value.value,
98
- "onUpdate:modelValue": (val) => value.value = val
99
- }
100
- });
101
- await nextTick();
102
- expect(wrapper.findComponent(QuarterTable).exists()).toBe(true);
103
- const cell = wrapper.find(".yh-date-picker__cell");
104
- await cell.trigger("click");
105
- expect(value.value).not.toBeNull();
106
- });
107
- });
108
- describe("Range pickers", () => {
109
- it("should support daterange type", async () => {
110
- const value = ref([null, null]);
111
- const wrapper = mount(DatePicker, {
112
- props: {
113
- type: "daterange",
114
- modelValue: value.value,
115
- "onUpdate:modelValue": (val) => value.value = val,
116
- panelOnly: true
117
- }
118
- });
119
- await nextTick();
120
- const cells = wrapper.findAll(".yh-date-picker__cell.is-current-month");
121
- await cells[10].trigger("click");
122
- await nextTick();
123
- await cells[20].trigger("click");
124
- await nextTick();
125
- expect(value.value.length).toBe(2);
126
- });
127
- it("should support monthrange type", async () => {
128
- const wrapper = mount(DatePicker, {
129
- props: { type: "monthrange", panelOnly: true }
130
- });
131
- await nextTick();
132
- expect(wrapper.findComponent(MonthTable).exists()).toBe(true);
133
- });
134
- });
135
- describe("Navigation & View Switching", () => {
136
- it("should switch between views", async () => {
137
- const wrapper = mount(DatePicker, { props: { panelOnly: true } });
138
- await nextTick();
139
- expect(wrapper.findComponent(DateTable).exists()).toBe(true);
140
- await wrapper.find(".yh-date-picker__header-label").trigger("click");
141
- await nextTick();
142
- expect(wrapper.findComponent(MonthTable).exists()).toBe(true);
143
- await wrapper.find(".yh-date-picker__header-label").trigger("click");
144
- await nextTick();
145
- expect(wrapper.findComponent(YearTable).exists()).toBe(true);
146
- });
147
- });
148
- describe("DateTable extra coverage", () => {
149
- it("should support week selection mode", async () => {
150
- const value = ref(null);
151
- const wrapper = mount(DatePicker, {
152
- props: {
153
- type: "week",
154
- modelValue: value.value,
155
- "onUpdate:modelValue": (val) => value.value = val,
156
- panelOnly: true
157
- }
158
- });
159
- await nextTick();
160
- const cell = wrapper.find(".yh-date-picker__cell.is-current-month");
161
- await cell.trigger("click");
162
- expect(value.value).not.toBeNull();
163
- });
164
- it("should support cellRender prop", async () => {
165
- const cellRender = (date) => {
166
- return { text: "custom", className: "custom-cell-class" };
167
- };
168
- const wrapper = mount(DatePicker, {
169
- props: { cellRender, panelOnly: true }
170
- });
171
- await nextTick();
172
- expect(wrapper.find(".custom-cell-class").exists()).toBe(true);
173
- expect(wrapper.find(".custom-cell-class").text()).toBe("custom");
174
- });
175
- it("should handle range selection hovering", async () => {
176
- const value = ref(null);
177
- const wrapper = mount(DatePicker, {
178
- props: {
179
- type: "daterange",
180
- modelValue: value.value,
181
- "onUpdate:modelValue": (val) => {
182
- value.value = val;
183
- wrapper.setProps({ modelValue: val });
184
- },
185
- panelOnly: true
186
- }
187
- });
188
- await nextTick();
189
- const cells = wrapper.findAll(".yh-date-picker__cell.is-current-month");
190
- await cells[10].trigger("click");
191
- await nextTick();
192
- await cells[15].trigger("mouseenter");
193
- await nextTick();
194
- expect(wrapper.find(".is-in-range").exists()).toBe(true);
195
- await wrapper.find(".yh-date-picker__table").trigger("mouseleave");
196
- await nextTick();
197
- expect(wrapper.find(".is-in-range").exists()).toBe(false);
198
- });
199
- });
200
- describe("Footer & Presets", () => {
201
- it("should handle presets", async () => {
202
- const presets = [{ label: "Today", value: /* @__PURE__ */ new Date() }];
203
- const wrapper = mount(DatePicker, {
204
- props: { presets, panelOnly: true }
205
- });
206
- await nextTick();
207
- const presetBtn = wrapper.find(".yh-date-picker__preset-item");
208
- await presetBtn.trigger("click");
209
- expect(wrapper.emitted("update:modelValue")).toBeTruthy();
210
- });
211
- it("should support datetime type", async () => {
212
- const wrapper = mount(DatePicker, {
213
- props: { type: "datetime", panelOnly: true }
214
- });
215
- await nextTick();
216
- expect(wrapper.find(".yh-date-picker__footer").exists()).toBe(true);
217
- });
218
- it("should handle footer confirm button", async () => {
219
- const onConfirm = vi.fn();
220
- const wrapper = mount(DatePicker, {
221
- props: { type: "daterange", onConfirm, panelOnly: true }
222
- });
223
- await nextTick();
224
- const confirmBtn = wrapper.find(".yh-date-picker__footer-btn--confirm");
225
- await confirmBtn.trigger("click");
226
- expect(onConfirm).toHaveBeenCalled();
227
- });
228
- });
229
- describe("Navigation & Miscellaneous", () => {
230
- it("should handle navigation buttons", async () => {
231
- const wrapper = mount(DatePicker, { props: { panelOnly: true } });
232
- await nextTick();
233
- const prevYearBtn = wrapper.find(".yh-date-picker__header-btns--double-left");
234
- const nextYearBtn = wrapper.find(".yh-date-picker__header-btns--double-right");
235
- const prevMonthBtn = wrapper.find(".yh-date-picker__header-btns--left");
236
- const nextMonthBtn = wrapper.find(".yh-date-picker__header-btns--right");
237
- if (prevYearBtn.exists()) await prevYearBtn.trigger("click");
238
- if (nextYearBtn.exists()) await nextYearBtn.trigger("click");
239
- if (prevMonthBtn.exists()) await prevMonthBtn.trigger("click");
240
- if (nextMonthBtn.exists()) await nextMonthBtn.trigger("click");
241
- expect(wrapper.findComponent(DateTable).exists()).toBe(true);
242
- });
243
- it("should handle clear action", async () => {
244
- const onUpdateModelValue = vi.fn();
245
- const value = /* @__PURE__ */ new Date();
246
- const wrapper = mount(DatePicker, {
247
- props: {
248
- modelValue: value,
249
- clearable: true,
250
- "onUpdate:modelValue": (val) => onUpdateModelValue(val)
251
- }
252
- });
253
- await nextTick();
254
- const clearBtn = wrapper.find(".yh-date-picker__clear");
255
- if (clearBtn.exists()) {
256
- await clearBtn.trigger("click");
257
- expect(onUpdateModelValue).toHaveBeenCalledWith(null);
258
- }
259
- });
260
- it("should handle disabled dates", async () => {
261
- const disabledDate = (date) => date.getTime() < Date.now();
262
- const wrapper = mount(DatePicker, {
263
- props: { disabledDate, panelOnly: true }
264
- });
265
- await nextTick();
266
- expect(wrapper.find(".is-disabled").exists()).toBe(true);
267
- });
268
- it("should support firstDayOfWeek prop", async () => {
269
- const wrapper = mount(DatePicker, {
270
- props: { firstDayOfWeek: 1, panelOnly: true }
271
- });
272
- await nextTick();
273
- const header = wrapper.findAll(".yh-date-picker__table th");
274
- expect(header[0].text()).toBe("datepicker.weeks.mon");
275
- });
276
- it("should handle reverse range selection", async () => {
277
- const value = ref([null, null]);
278
- const wrapper = mount(DatePicker, {
279
- props: {
280
- type: "daterange",
281
- orderOnConfirm: true,
282
- modelValue: value.value,
283
- "onUpdate:modelValue": (val) => value.value = val,
284
- panelOnly: true
285
- }
286
- });
287
- await nextTick();
288
- const cells = wrapper.findAll(".yh-date-picker__cell.is-current-month");
289
- await cells[20].trigger("click");
290
- await nextTick();
291
- await wrapper.setProps({ modelValue: value.value });
292
- await nextTick();
293
- await cells[10].trigger("click");
294
- await nextTick();
295
- expect(dayjs(value.value[0]).isBefore(value.value[1])).toBe(true);
296
- });
297
- it("should handle reverse range selection without orderOnConfirm", async () => {
298
- const value = ref([null, null]);
299
- const wrapper = mount(DatePicker, {
300
- props: {
301
- type: "daterange",
302
- orderOnConfirm: false,
303
- modelValue: value.value,
304
- "onUpdate:modelValue": (val) => {
305
- value.value = val;
306
- wrapper.setProps({ modelValue: val });
307
- },
308
- panelOnly: true
309
- }
310
- });
311
- await nextTick();
312
- const cells = wrapper.findAll(".yh-date-picker__cell.is-current-month");
313
- await cells[20].trigger("click");
314
- await nextTick();
315
- await cells[10].trigger("click");
316
- await nextTick();
317
- expect(value.value[1]).toBeNull();
318
- });
319
- });
320
- describe("View Drilling", () => {
321
- it("should drill down from year to date view", async () => {
322
- const wrapper = mount(DatePicker, { props: { type: "date", panelOnly: true } });
323
- await nextTick();
324
- await wrapper.find(".yh-date-picker__header-label").trigger("click");
325
- await nextTick();
326
- await wrapper.find(".yh-date-picker__header-label").trigger("click");
327
- await nextTick();
328
- await wrapper.find(".yh-date-picker__cell").trigger("click");
329
- await nextTick();
330
- expect(wrapper.findComponent(MonthTable).exists()).toBe(true);
331
- await wrapper.find(".yh-date-picker__cell").trigger("click");
332
- await nextTick();
333
- expect(wrapper.findComponent(DateTable).exists()).toBe(true);
334
- });
335
- });
336
- describe("Selected states in tables", () => {
337
- it("should show selected state in month/year/quarter tables", async () => {
338
- const date = new Date(2024, 5, 15);
339
- const monthWrapper = mount(MonthTable, { props: { date, selectedDate: date } });
340
- expect(monthWrapper.find(".is-selected").exists()).toBe(true);
341
- const yearWrapper = mount(YearTable, { props: { date, selectedDate: date } });
342
- expect(yearWrapper.find(".is-selected").exists()).toBe(true);
343
- const quarterWrapper = mount(QuarterTable, { props: { date, selectedDate: date } });
344
- expect(quarterWrapper.find(".is-selected").exists()).toBe(true);
345
- });
346
- it("should show range states in month/year tables", async () => {
347
- const from = new Date(2024, 0, 1);
348
- const to = new Date(2024, 11, 31);
349
- const date = new Date(2024, 5, 1);
350
- const rangeState = { from, to, hovering: null };
351
- const monthWrapper = mount(MonthTable, { props: { date, rangeState } });
352
- expect(monthWrapper.findAll(".is-in-range").length).toBeGreaterThan(0);
353
- const yearWrapper = mount(YearTable, { props: { date, rangeState } });
354
- expect(yearWrapper.find(".is-range-start").exists()).toBe(true);
355
- });
356
- });
357
- describe("Component Props & UI", () => {
358
- it("should handle status prop", () => {
359
- const wrapper = mount(DatePicker, { props: { status: "error" } });
360
- expect(wrapper.classes()).toContain("yh-date-picker--error");
361
- });
362
- it("should respect disabled and readonly props", async () => {
363
- const wrapper = mount(DatePicker, { props: { disabled: true } });
364
- await wrapper.trigger("click");
365
- expect(wrapper.find(".yh-date-picker__panel").exists()).toBe(false);
366
- const wrapper2 = mount(DatePicker, { props: { readonly: true } });
367
- await wrapper2.trigger("click");
368
- expect(wrapper2.find(".yh-date-picker__panel").exists()).toBe(false);
369
- });
370
- it("should render custom icons", async () => {
371
- const wrapper = mount(DatePicker, {
372
- props: { prefixIcon: "calendar", clearIcon: "close", modelValue: /* @__PURE__ */ new Date() }
373
- });
374
- await wrapper.trigger("mouseenter");
375
- await nextTick();
376
- expect(wrapper.find(".yh-date-picker__icon").exists()).toBe(true);
377
- expect(wrapper.find(".yh-date-picker__clear").exists()).toBe(true);
378
- });
379
- it("should handle valueFormat", async () => {
380
- let emittedValue = null;
381
- const wrapper = mount(DatePicker, {
382
- props: {
383
- type: "date",
384
- valueFormat: "YYYY/MM/DD",
385
- "onUpdate:modelValue": (val) => emittedValue = val
386
- }
387
- });
388
- await nextTick();
389
- const vm = wrapper.vm;
390
- vm.handleSelect(new Date(2024, 0, 1));
391
- await nextTick();
392
- expect(emittedValue).toBe("2024/01/01");
393
- });
394
- });
395
- describe("Outside interactions", () => {
396
- it("should close on outside click", async () => {
397
- const wrapper = mount(DatePicker, { props: { teleported: false } });
398
- const vm = wrapper.vm;
399
- vm.visible = true;
400
- await nextTick();
401
- const event = new MouseEvent("click", { bubbles: true });
402
- document.dispatchEvent(event);
403
- await nextTick();
404
- expect(vm.visible).toBe(false);
405
- });
406
- it("should handle position update when opened", async () => {
407
- const wrapper = mount(DatePicker, { props: { teleported: true } });
408
- const vm = wrapper.vm;
409
- vm.visible = true;
410
- await nextTick();
411
- expect(vm.dropdownStyle).toBeDefined();
412
- });
413
- });
414
- describe("Pre-selected states and input display", () => {
415
- it("should show pre-selected week", async () => {
416
- const date = new Date(2024, 5, 15);
417
- const wrapper = mount(DatePicker, {
418
- props: { type: "week", modelValue: date, panelOnly: true }
419
- });
420
- await nextTick();
421
- expect(wrapper.find(".is-selected").exists()).toBe(true);
422
- });
423
- it("should show pre-selected range in date/month/quarter tables", async () => {
424
- const from = new Date(2024, 0, 1);
425
- const to = new Date(2024, 6, 1);
426
- const modelValue = [from, to];
427
- const dateWrapper = mount(DatePicker, {
428
- props: { type: "daterange", modelValue, panelOnly: true }
429
- });
430
- await nextTick();
431
- expect(dateWrapper.findAll(".is-in-range").length).toBeGreaterThan(0);
432
- const monthWrapper = mount(DatePicker, {
433
- props: { type: "monthrange", modelValue, panelOnly: true }
434
- });
435
- await nextTick();
436
- expect(monthWrapper.findAll(".is-in-range").length).toBeGreaterThan(0);
437
- const quarterWrapper = mount(DatePicker, {
438
- props: { type: "quarterrange", modelValue, panelOnly: true }
439
- });
440
- await nextTick();
441
- expect(quarterWrapper.findAll(".is-in-range").length).toBeGreaterThan(0);
442
- });
443
- it("should display formatted range in inputs", async () => {
444
- const from = new Date(2024, 0, 1);
445
- const to = new Date(2024, 0, 2);
446
- const wrapper = mount(DatePicker, {
447
- props: { type: "daterange", modelValue: [from, to] }
448
- });
449
- await nextTick();
450
- const inputs = wrapper.findAll(".yh-date-picker__range-input");
451
- expect(inputs[0].element.getAttribute("value")).toBe("2024-01-01");
452
- expect(inputs[1].element.getAttribute("value")).toBe("2024-01-02");
453
- });
454
- });
455
- });
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- var _vitest = require("vitest");
4
- var _vue = require("vue");
5
- var _serverRenderer = require("@vue/server-renderer");
6
- var _datePicker = _interopRequireDefault(require("../src/date-picker.vue"));
7
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- (0, _vitest.describe)("YhDatePicker SSR", () => {
9
- (0, _vitest.it)("\u670D\u52A1\u7AEF\u6E32\u67D3\u4E0D\u5E94\u62A5\u9519\u4E14\u751F\u6210\u6B63\u786E\u7ED3\u6784", async () => {
10
- const app = (0, _vue.createSSRApp)({
11
- render: () => (0, _vue.h)(_datePicker.default)
12
- });
13
- const html = await (0, _serverRenderer.renderToString)(app);
14
- (0, _vitest.expect)(html).toContain("yh-date-picker");
15
- (0, _vitest.expect)(html).toContain("input");
16
- (0, _vitest.expect)(html).not.toContain("yh-date-picker__panel");
17
- });
18
- (0, _vitest.it)("SSR \u521D\u59CB\u503C\u6E32\u67D3", async () => {
19
- const app = (0, _vue.createSSRApp)(_datePicker.default, {
20
- modelValue: "2024-01-01",
21
- format: "YYYY-MM-DD"
22
- });
23
- const html = await (0, _serverRenderer.renderToString)(app);
24
- (0, _vitest.expect)(html).toContain('value="2024-01-01"');
25
- });
26
- });
@@ -1,23 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { createSSRApp, h } from "vue";
3
- import { renderToString } from "@vue/server-renderer";
4
- import DatePicker from "../src/date-picker.vue";
5
- describe("YhDatePicker SSR", () => {
6
- it("\u670D\u52A1\u7AEF\u6E32\u67D3\u4E0D\u5E94\u62A5\u9519\u4E14\u751F\u6210\u6B63\u786E\u7ED3\u6784", async () => {
7
- const app = createSSRApp({
8
- render: () => h(DatePicker)
9
- });
10
- const html = await renderToString(app);
11
- expect(html).toContain("yh-date-picker");
12
- expect(html).toContain("input");
13
- expect(html).not.toContain("yh-date-picker__panel");
14
- });
15
- it("SSR \u521D\u59CB\u503C\u6E32\u67D3", async () => {
16
- const app = createSSRApp(DatePicker, {
17
- modelValue: "2024-01-01",
18
- format: "YYYY-MM-DD"
19
- });
20
- const html = await renderToString(app);
21
- expect(html).toContain('value="2024-01-01"');
22
- });
23
- });
@@ -1,170 +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 _datePicker = _interopRequireDefault(require("../src/date-picker.vue"));
7
- var _locale = require("@yh-ui/locale");
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- _vitest.vi.mock("@yh-ui/hooks", async () => {
10
- const actual = await _vitest.vi.importActual("@yh-ui/hooks");
11
- return {
12
- ...actual,
13
- useNamespace: name => ({
14
- b: suffix => suffix ? `yh-${name}-${suffix}` : `yh-${name}`,
15
- e: element => `yh-${name}__${element}`,
16
- m: modifier => `yh-${name}--${modifier}`,
17
- em: (element, modifier) => `yh-${name}__${element}--${modifier}`,
18
- is: (state, value) => value !== false ? `is-${state}` : ""
19
- }),
20
- useFormItem: () => ({
21
- form: null,
22
- formItem: null,
23
- validate: _vitest.vi.fn()
24
- }),
25
- useId: () => "test-id",
26
- useLocale: () => ({
27
- t: key => key,
28
- locale: (0, _vue.ref)(_locale.zhCn),
29
- lang: (0, _vue.ref)("zh-cn")
30
- }),
31
- useConfig: () => ({
32
- globalSize: (0, _vue.ref)("default"),
33
- globalLocale: (0, _vue.ref)(_locale.zhCn)
34
- }),
35
- useZIndex: () => ({
36
- currentZIndex: (0, _vue.ref)(2e3),
37
- nextZIndex: () => 2e3
38
- })
39
- };
40
- });
41
- (0, _vitest.describe)("YhDatePicker", () => {
42
- (0, _vitest.beforeEach)(() => {
43
- Element.prototype.getBoundingClientRect = _vitest.vi.fn(() => ({
44
- width: 220,
45
- height: 40,
46
- top: 100,
47
- left: 100,
48
- bottom: 140,
49
- right: 320,
50
- x: 100,
51
- y: 100,
52
- toJSON: () => {}
53
- }));
54
- });
55
- (0, _vitest.describe)("\u57FA\u7840\u6E32\u67D3", () => {
56
- (0, _vitest.it)("\u5E94\u8BE5\u6B63\u786E\u6E32\u67D3\u57FA\u7840\u7EC4\u4EF6", () => {
57
- const wrapper = (0, _testUtils.mount)(_datePicker.default);
58
- (0, _vitest.expect)(wrapper.find(".yh-date-picker").exists()).toBe(true);
59
- (0, _vitest.expect)(wrapper.find("input").exists()).toBe(true);
60
- });
61
- (0, _vitest.it)("\u5E94\u8BE5\u652F\u6301\u4E0D\u540C\u5C3A\u5BF8", () => {
62
- const wrapperLarge = (0, _testUtils.mount)(_datePicker.default, {
63
- props: {
64
- size: "large"
65
- }
66
- });
67
- (0, _vitest.expect)(wrapperLarge.find(".yh-date-picker").classes()).toContain("yh-date-picker--large");
68
- const wrapperSmall = (0, _testUtils.mount)(_datePicker.default, {
69
- props: {
70
- size: "small"
71
- }
72
- });
73
- (0, _vitest.expect)(wrapperSmall.find(".yh-date-picker").classes()).toContain("yh-date-picker--small");
74
- });
75
- (0, _vitest.it)("\u5E94\u8BE5\u652F\u6301\u7981\u7528\u72B6\u6001", () => {
76
- const wrapper = (0, _testUtils.mount)(_datePicker.default, {
77
- props: {
78
- disabled: true
79
- }
80
- });
81
- (0, _vitest.expect)(wrapper.find(".yh-date-picker").classes()).toContain("is-disabled");
82
- });
83
- });
84
- (0, _vitest.describe)("\u4EA4\u4E92\u903B\u8F91", () => {
85
- (0, _vitest.it)("\u5E94\u8BE5\u80FD\u591F\u6253\u5F00/\u5173\u95ED\u9762\u677F", async () => {
86
- const wrapper = (0, _testUtils.mount)(_datePicker.default, {
87
- props: {
88
- teleported: false
89
- }
90
- });
91
- await wrapper.trigger("click");
92
- await (0, _vue.nextTick)();
93
- (0, _vitest.expect)(wrapper.find(".yh-date-picker__panel").exists()).toBe(true);
94
- });
95
- (0, _vitest.it)("\u5355\u9009\u65E5\u671F\u5E94\u8BE5\u66F4\u65B0\u503C\u5E76\u5173\u95ED\u9762\u677F", async () => {
96
- const value = (0, _vue.ref)(null);
97
- const wrapper = (0, _testUtils.mount)(_datePicker.default, {
98
- props: {
99
- modelValue: value.value,
100
- "onUpdate:modelValue": val => value.value = val,
101
- teleported: false
102
- }
103
- });
104
- await wrapper.trigger("click");
105
- await (0, _vue.nextTick)();
106
- const cell = wrapper.find(".yh-date-picker__cell.is-current-month");
107
- await cell.trigger("click");
108
- (0, _vitest.expect)(value.value).not.toBeNull();
109
- await (0, _vue.nextTick)();
110
- (0, _vitest.expect)(wrapper.find(".yh-date-picker__panel").exists()).toBe(false);
111
- });
112
- (0, _vitest.it)("\u5E94\u8BE5\u652F\u6301\u6E05\u7A7A\u529F\u80FD", async () => {
113
- const value = (0, _vue.ref)(/* @__PURE__ */new Date());
114
- const wrapper = (0, _testUtils.mount)(_datePicker.default, {
115
- props: {
116
- modelValue: value.value,
117
- clearable: true,
118
- "onUpdate:modelValue": val => value.value = val
119
- }
120
- });
121
- await wrapper.trigger("mouseenter");
122
- await (0, _vue.nextTick)();
123
- const clearBtn = wrapper.find(".yh-date-picker__clear");
124
- await clearBtn.trigger("click");
125
- (0, _vitest.expect)(value.value).toBeNull();
126
- });
127
- });
128
- (0, _vitest.describe)("\u5468\u671F\u5BFC\u822A", () => {
129
- (0, _vitest.it)("\u5E94\u8BE5\u652F\u6301\u6708\u4EFD\u5207\u6362", async () => {
130
- const wrapper = (0, _testUtils.mount)(_datePicker.default, {
131
- props: {
132
- teleported: false
133
- }
134
- });
135
- await wrapper.trigger("click");
136
- await (0, _vue.nextTick)();
137
- const initialHeader = wrapper.find(".yh-date-picker__header-label").text();
138
- const nextBtn = wrapper.findAll(".yh-date-picker__header-btns")[3];
139
- await nextBtn.trigger("click");
140
- await (0, _vue.nextTick)();
141
- (0, _vitest.expect)(wrapper.find(".yh-date-picker__header-label").text()).not.toBe(initialHeader);
142
- });
143
- });
144
- (0, _vitest.describe)("\u9AD8\u7EA7\u7279\u6027", () => {
145
- (0, _vitest.it)("\u5E94\u8BE5\u652F\u6301 presets \u5FEB\u6377\u9879", async () => {
146
- const presets = [{
147
- label: "\u6D4B\u8BD5\u9879",
148
- value: /* @__PURE__ */new Date()
149
- }];
150
- const wrapper = (0, _testUtils.mount)(_datePicker.default, {
151
- props: {
152
- presets,
153
- teleported: false
154
- }
155
- });
156
- await wrapper.trigger("click");
157
- await (0, _vue.nextTick)();
158
- const presetBtn = wrapper.find(".yh-date-picker__presets button");
159
- (0, _vitest.expect)(presetBtn.text()).toBe("\u6D4B\u8BD5\u9879");
160
- });
161
- (0, _vitest.it)("\u8303\u56F4\u6A21\u5F0F\u7684\u57FA\u672C\u6E32\u67D3", () => {
162
- const wrapper = (0, _testUtils.mount)(_datePicker.default, {
163
- props: {
164
- type: "daterange"
165
- }
166
- });
167
- (0, _vitest.expect)(wrapper.findAll(".yh-date-picker__range-input").length).toBe(2);
168
- });
169
- });
170
- });