@yh-ui/components 0.1.16 → 0.1.21

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 (892) hide show
  1. package/README.md +193 -6
  2. package/dist/affix/index.d.ts +202 -1
  3. package/dist/affix/src/affix.vue.d.ts +55 -6
  4. package/dist/ai-action-group/__tests__/ai-action-group.test.cjs +86 -0
  5. package/dist/ai-action-group/__tests__/ai-action-group.test.mjs +53 -0
  6. package/dist/ai-action-group/index.d.ts +110 -1
  7. package/dist/ai-action-group/src/ai-action-group.vue +8 -8
  8. package/dist/ai-action-group/src/ai-action-group.vue.d.ts +29 -4
  9. package/dist/ai-agent-card/__tests__/ai-agent-card.test.cjs +135 -0
  10. package/dist/ai-agent-card/__tests__/ai-agent-card.test.mjs +69 -0
  11. package/dist/ai-agent-card/index.d.ts +176 -1
  12. package/dist/ai-agent-card/src/ai-agent-card.vue +4 -4
  13. package/dist/ai-agent-card/src/ai-agent-card.vue.d.ts +50 -7
  14. package/dist/ai-artifacts/index.d.ts +276 -1
  15. package/dist/ai-artifacts/src/ai-artifacts.cjs +60 -0
  16. package/dist/ai-artifacts/src/ai-artifacts.css +5 -1
  17. package/dist/ai-artifacts/src/ai-artifacts.d.ts +99 -18
  18. package/dist/ai-artifacts/src/ai-artifacts.mjs +60 -0
  19. package/dist/ai-artifacts/src/ai-artifacts.vue +177 -28
  20. package/dist/ai-artifacts/src/ai-artifacts.vue.d.ts +149 -36
  21. package/dist/ai-attachments/__tests__/ai-attachments.ssr.test.cjs +50 -0
  22. package/dist/ai-attachments/__tests__/ai-attachments.ssr.test.mjs +33 -0
  23. package/dist/ai-attachments/__tests__/ai-attachments.test.cjs +113 -0
  24. package/dist/ai-attachments/__tests__/ai-attachments.test.mjs +81 -0
  25. package/dist/ai-attachments/index.cjs +26 -0
  26. package/dist/ai-attachments/index.d.ts +363 -0
  27. package/dist/ai-attachments/index.mjs +5 -0
  28. package/dist/ai-attachments/src/ai-attachments.cjs +96 -0
  29. package/dist/ai-attachments/src/ai-attachments.css +685 -0
  30. package/dist/ai-attachments/src/ai-attachments.d.ts +127 -0
  31. package/dist/ai-attachments/src/ai-attachments.mjs +90 -0
  32. package/dist/ai-attachments/src/ai-attachments.vue +1012 -0
  33. package/dist/ai-attachments/src/ai-attachments.vue.d.ts +218 -0
  34. package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.cjs +8 -0
  35. package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.mjs +8 -0
  36. package/dist/ai-bubble/__tests__/ai-bubble.test.cjs +442 -45
  37. package/dist/ai-bubble/__tests__/ai-bubble.test.mjs +288 -18
  38. package/dist/ai-bubble/index.d.ts +442 -1
  39. package/dist/ai-bubble/src/ai-bubble.cjs +130 -0
  40. package/dist/ai-bubble/src/ai-bubble.css +104 -0
  41. package/dist/ai-bubble/src/ai-bubble.d.ts +369 -30
  42. package/dist/ai-bubble/src/ai-bubble.mjs +172 -0
  43. package/dist/ai-bubble/src/ai-bubble.vue +1228 -54
  44. package/dist/ai-bubble/src/ai-bubble.vue.d.ts +235 -72
  45. package/dist/ai-bubble-list/__tests__/ai-bubble-list.ssr.test.cjs +51 -0
  46. package/dist/ai-bubble-list/__tests__/ai-bubble-list.ssr.test.mjs +51 -0
  47. package/dist/ai-bubble-list/__tests__/ai-bubble-list.test.cjs +138 -0
  48. package/dist/ai-bubble-list/__tests__/ai-bubble-list.test.mjs +112 -0
  49. package/dist/ai-bubble-list/index.cjs +26 -0
  50. package/dist/ai-bubble-list/index.d.ts +156 -0
  51. package/dist/ai-bubble-list/index.mjs +5 -0
  52. package/dist/ai-bubble-list/src/ai-bubble-list.cjs +57 -0
  53. package/dist/ai-bubble-list/src/ai-bubble-list.css +490 -0
  54. package/dist/ai-bubble-list/src/ai-bubble-list.d.ts +58 -0
  55. package/dist/ai-bubble-list/src/ai-bubble-list.mjs +51 -0
  56. package/dist/ai-bubble-list/src/ai-bubble-list.vue +594 -0
  57. package/dist/ai-bubble-list/src/ai-bubble-list.vue.d.ts +93 -0
  58. package/dist/ai-chat/__tests__/ai-chat.ssr.test.cjs +8 -0
  59. package/dist/ai-chat/__tests__/ai-chat.ssr.test.mjs +8 -0
  60. package/dist/ai-chat/__tests__/ai-chat.test.cjs +8 -0
  61. package/dist/ai-chat/__tests__/ai-chat.test.mjs +8 -0
  62. package/dist/ai-chat/index.d.ts +164 -1
  63. package/dist/ai-chat/src/ai-chat.cjs +21 -0
  64. package/dist/ai-chat/src/ai-chat.css +25 -0
  65. package/dist/ai-chat/src/ai-chat.d.ts +21 -0
  66. package/dist/ai-chat/src/ai-chat.mjs +21 -0
  67. package/dist/ai-chat/src/ai-chat.vue +93 -16
  68. package/dist/ai-chat/src/ai-chat.vue.d.ts +64 -7
  69. package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.cjs +9 -0
  70. package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.mjs +9 -0
  71. package/dist/ai-code-block/index.d.ts +220 -1
  72. package/dist/ai-code-block/src/ai-code-block.cjs +17 -1
  73. package/dist/ai-code-block/src/ai-code-block.css +23 -0
  74. package/dist/ai-code-block/src/ai-code-block.d.ts +18 -1
  75. package/dist/ai-code-block/src/ai-code-block.mjs +17 -1
  76. package/dist/ai-code-block/src/ai-code-block.vue +132 -27
  77. package/dist/ai-code-block/src/ai-code-block.vue.d.ts +72 -6
  78. package/dist/ai-code-editor/__tests__/ai-code-editor.ssr.test.cjs +46 -0
  79. package/dist/ai-code-editor/__tests__/ai-code-editor.ssr.test.mjs +39 -0
  80. package/dist/ai-code-editor/__tests__/ai-code-editor.test.cjs +90 -0
  81. package/dist/ai-code-editor/__tests__/ai-code-editor.test.mjs +78 -0
  82. package/dist/ai-code-editor/index.cjs +26 -0
  83. package/dist/ai-code-editor/index.d.ts +135 -0
  84. package/dist/ai-code-editor/index.mjs +5 -0
  85. package/dist/ai-code-editor/src/ai-code-editor.cjs +100 -0
  86. package/dist/ai-code-editor/src/ai-code-editor.css +473 -0
  87. package/dist/ai-code-editor/src/ai-code-editor.d.ts +104 -0
  88. package/dist/ai-code-editor/src/ai-code-editor.mjs +94 -0
  89. package/dist/ai-code-editor/src/ai-code-editor.vue +673 -0
  90. package/dist/ai-code-editor/src/ai-code-editor.vue.d.ts +132 -0
  91. package/dist/ai-code-runner/__tests__/ai-code-runner.ssr.test.cjs +28 -0
  92. package/dist/ai-code-runner/__tests__/ai-code-runner.ssr.test.mjs +26 -0
  93. package/dist/ai-code-runner/__tests__/ai-code-runner.test.cjs +69 -0
  94. package/dist/ai-code-runner/__tests__/ai-code-runner.test.mjs +66 -0
  95. package/dist/ai-code-runner/index.cjs +26 -0
  96. package/dist/ai-code-runner/index.d.ts +70 -0
  97. package/dist/ai-code-runner/index.mjs +5 -0
  98. package/dist/ai-code-runner/src/ai-code-runner.cjs +50 -0
  99. package/dist/ai-code-runner/src/ai-code-runner.css +504 -0
  100. package/dist/ai-code-runner/src/ai-code-runner.d.ts +55 -0
  101. package/dist/ai-code-runner/src/ai-code-runner.mjs +44 -0
  102. package/dist/ai-code-runner/src/ai-code-runner.vue +692 -0
  103. package/dist/ai-code-runner/src/ai-code-runner.vue.d.ts +67 -0
  104. package/dist/ai-code-runner/src/webcontainer.cjs +17 -0
  105. package/dist/ai-code-runner/src/webcontainer.d.ts +4 -0
  106. package/dist/ai-code-runner/src/webcontainer.mjs +9 -0
  107. package/dist/ai-conversations/index.d.ts +216 -1
  108. package/dist/ai-conversations/src/ai-conversations.cjs +29 -0
  109. package/dist/ai-conversations/src/ai-conversations.css +45 -7
  110. package/dist/ai-conversations/src/ai-conversations.d.ts +28 -0
  111. package/dist/ai-conversations/src/ai-conversations.mjs +29 -0
  112. package/dist/ai-conversations/src/ai-conversations.vue +172 -42
  113. package/dist/ai-conversations/src/ai-conversations.vue.d.ts +78 -3
  114. package/dist/ai-editor-sender/index.d.ts +417 -1
  115. package/dist/ai-editor-sender/src/ai-editor-sender.cjs +92 -1
  116. package/dist/ai-editor-sender/src/ai-editor-sender.css +96 -0
  117. package/dist/ai-editor-sender/src/ai-editor-sender.d.ts +144 -29
  118. package/dist/ai-editor-sender/src/ai-editor-sender.mjs +92 -1
  119. package/dist/ai-editor-sender/src/ai-editor-sender.vue +309 -3
  120. package/dist/ai-editor-sender/src/ai-editor-sender.vue.d.ts +221 -50
  121. package/dist/ai-file-card/__tests__/ai-file-card.ssr.test.cjs +45 -0
  122. package/dist/ai-file-card/__tests__/ai-file-card.ssr.test.mjs +29 -0
  123. package/dist/ai-file-card/__tests__/ai-file-card.test.cjs +160 -0
  124. package/dist/ai-file-card/__tests__/ai-file-card.test.mjs +109 -0
  125. package/dist/ai-file-card/index.cjs +26 -0
  126. package/dist/ai-file-card/index.d.ts +231 -0
  127. package/dist/ai-file-card/index.mjs +5 -0
  128. package/dist/ai-file-card/src/ai-file-card.cjs +76 -0
  129. package/dist/ai-file-card/src/ai-file-card.css +757 -0
  130. package/dist/ai-file-card/src/ai-file-card.d.ts +176 -0
  131. package/dist/ai-file-card/src/ai-file-card.mjs +70 -0
  132. package/dist/ai-file-card/src/ai-file-card.vue +1054 -0
  133. package/dist/ai-file-card/src/ai-file-card.vue.d.ts +135 -0
  134. package/dist/ai-mention/index.d.ts +368 -14
  135. package/dist/ai-mention/src/ai-mention.cjs +73 -2
  136. package/dist/ai-mention/src/ai-mention.css +125 -0
  137. package/dist/ai-mention/src/ai-mention.d.ts +105 -1
  138. package/dist/ai-mention/src/ai-mention.mjs +73 -2
  139. package/dist/ai-mention/src/ai-mention.vue +596 -10
  140. package/dist/ai-mention/src/ai-mention.vue.d.ts +158 -15
  141. package/dist/ai-mermaid/__tests__/ai-mermaid.ssr.test.cjs +43 -0
  142. package/dist/ai-mermaid/__tests__/ai-mermaid.ssr.test.mjs +33 -0
  143. package/dist/ai-mermaid/__tests__/ai-mermaid.test.cjs +113 -0
  144. package/dist/ai-mermaid/__tests__/ai-mermaid.test.mjs +92 -0
  145. package/dist/ai-mermaid/index.cjs +26 -0
  146. package/dist/ai-mermaid/index.d.ts +228 -0
  147. package/dist/ai-mermaid/index.mjs +5 -0
  148. package/dist/ai-mermaid/src/ai-mermaid.cjs +72 -0
  149. package/dist/ai-mermaid/src/ai-mermaid.css +601 -0
  150. package/dist/ai-mermaid/src/ai-mermaid.d.ts +113 -0
  151. package/dist/ai-mermaid/src/ai-mermaid.mjs +66 -0
  152. package/dist/ai-mermaid/src/ai-mermaid.vue +841 -0
  153. package/dist/ai-mermaid/src/ai-mermaid.vue.d.ts +133 -0
  154. package/dist/ai-prompts/index.d.ts +104 -1
  155. package/dist/ai-prompts/src/ai-prompts.vue.d.ts +27 -6
  156. package/dist/ai-provider/index.d.ts +139 -1
  157. package/dist/ai-provider/src/ai-provider.cjs +61 -1
  158. package/dist/ai-provider/src/ai-provider.d.ts +116 -6
  159. package/dist/ai-provider/src/ai-provider.mjs +57 -0
  160. package/dist/ai-provider/src/ai-provider.vue +58 -3
  161. package/dist/ai-provider/src/ai-provider.vue.d.ts +44 -7
  162. package/dist/ai-sender/__tests__/ai-sender.test.cjs +118 -2
  163. package/dist/ai-sender/__tests__/ai-sender.test.mjs +68 -1
  164. package/dist/ai-sender/index.d.ts +236 -1
  165. package/dist/ai-sender/src/ai-sender.cjs +5 -1
  166. package/dist/ai-sender/src/ai-sender.css +38 -0
  167. package/dist/ai-sender/src/ai-sender.d.ts +4 -0
  168. package/dist/ai-sender/src/ai-sender.mjs +5 -1
  169. package/dist/ai-sender/src/ai-sender.vue +86 -2
  170. package/dist/ai-sender/src/ai-sender.vue.d.ts +77 -15
  171. package/dist/ai-sources/__tests__/ai-sources.test.cjs +112 -5
  172. package/dist/ai-sources/__tests__/ai-sources.test.mjs +78 -7
  173. package/dist/ai-sources/index.d.ts +136 -1
  174. package/dist/ai-sources/src/ai-sources.css +24 -0
  175. package/dist/ai-sources/src/ai-sources.d.ts +3 -0
  176. package/dist/ai-sources/src/ai-sources.vue +88 -21
  177. package/dist/ai-sources/src/ai-sources.vue.d.ts +38 -5
  178. package/dist/ai-thinking/index.d.ts +152 -1
  179. package/dist/ai-thinking/src/ai-thinking.cjs +28 -0
  180. package/dist/ai-thinking/src/ai-thinking.d.ts +28 -0
  181. package/dist/ai-thinking/src/ai-thinking.mjs +28 -0
  182. package/dist/ai-thinking/src/ai-thinking.vue +9 -6
  183. package/dist/ai-thinking/src/ai-thinking.vue.d.ts +58 -2
  184. package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.cjs +6 -1
  185. package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.mjs +4 -1
  186. package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.cjs +141 -1
  187. package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.mjs +104 -1
  188. package/dist/ai-thought-chain/index.d.ts +286 -1
  189. package/dist/ai-thought-chain/src/ai-thought-chain.cjs +61 -1
  190. package/dist/ai-thought-chain/src/ai-thought-chain.css +106 -0
  191. package/dist/ai-thought-chain/src/ai-thought-chain.d.ts +68 -0
  192. package/dist/ai-thought-chain/src/ai-thought-chain.mjs +61 -1
  193. package/dist/ai-thought-chain/src/ai-thought-chain.vue +285 -20
  194. package/dist/ai-thought-chain/src/ai-thought-chain.vue.d.ts +95 -11
  195. package/dist/ai-voice-trigger/index.d.ts +155 -1
  196. package/dist/ai-voice-trigger/src/ai-voice-trigger.vue +2 -2
  197. package/dist/ai-voice-trigger/src/ai-voice-trigger.vue.d.ts +43 -4
  198. package/dist/ai-welcome/index.d.ts +131 -1
  199. package/dist/ai-welcome/src/ai-welcome.vue.d.ts +32 -3
  200. package/dist/alert/index.d.ts +289 -1
  201. package/dist/alert/src/alert.vue.d.ts +81 -10
  202. package/dist/autocomplete/index.d.ts +134 -1
  203. package/dist/autocomplete/src/autocomplete.vue.d.ts +15 -12
  204. package/dist/avatar/index.d.ts +9 -6
  205. package/dist/avatar/src/avatar.d.ts +4 -0
  206. package/dist/avatar/src/avatar.vue +2 -0
  207. package/dist/avatar/src/avatar.vue.d.ts +2 -1
  208. package/dist/back-top/index.d.ts +153 -1
  209. package/dist/back-top/src/back-top.vue.d.ts +42 -5
  210. package/dist/badge/index.d.ts +40 -1
  211. package/dist/badge/src/badge.vue.d.ts +1 -1
  212. package/dist/breadcrumb/index.d.ts +177 -2
  213. package/dist/breadcrumb/src/breadcrumb-item.vue.d.ts +1 -1
  214. package/dist/button/index.d.ts +33 -33
  215. package/dist/button/src/button.css +11 -6
  216. package/dist/button/src/button.vue +11 -6
  217. package/dist/button/src/button.vue.d.ts +6 -6
  218. package/dist/calendar/index.d.ts +1653 -1
  219. package/dist/calendar/src/calendar.vue +12 -11
  220. package/dist/calendar/src/calendar.vue.d.ts +241 -121
  221. package/dist/card/index.d.ts +44 -1
  222. package/dist/card/src/card.vue.d.ts +2 -2
  223. package/dist/carousel/__tests__/carousel.ssr.test.cjs +27 -0
  224. package/dist/carousel/__tests__/carousel.ssr.test.mjs +27 -0
  225. package/dist/carousel/__tests__/carousel.test.cjs +115 -0
  226. package/dist/carousel/__tests__/carousel.test.mjs +98 -0
  227. package/dist/carousel/index.cjs +43 -0
  228. package/dist/carousel/index.d.ts +456 -0
  229. package/dist/carousel/index.mjs +10 -0
  230. package/dist/carousel/src/carousel-item.cjs +10 -0
  231. package/dist/carousel/src/carousel-item.d.ts +9 -0
  232. package/dist/carousel/src/carousel-item.mjs +4 -0
  233. package/dist/carousel/src/carousel-item.vue +277 -0
  234. package/dist/{menu/src/menu-item-group.d.vue.ts → carousel/src/carousel-item.vue.d.ts} +4 -12
  235. package/dist/carousel/src/carousel.cjs +118 -0
  236. package/dist/carousel/src/carousel.css +705 -0
  237. package/dist/carousel/src/carousel.d.ts +137 -0
  238. package/dist/carousel/src/carousel.mjs +112 -0
  239. package/dist/carousel/src/carousel.vue +1070 -0
  240. package/dist/carousel/src/carousel.vue.d.ts +235 -0
  241. package/dist/cascader/index.d.ts +211 -2
  242. package/dist/cascader/src/cascader-panel.vue.d.ts +3 -3
  243. package/dist/cascader/src/cascader.vue.d.ts +14 -14
  244. package/dist/category-nav/__tests__/category-nav.ssr.test.cjs +35 -0
  245. package/dist/category-nav/__tests__/category-nav.ssr.test.mjs +21 -0
  246. package/dist/category-nav/__tests__/category-nav.test.cjs +53 -0
  247. package/dist/category-nav/__tests__/category-nav.test.mjs +33 -0
  248. package/dist/category-nav/index.cjs +26 -0
  249. package/dist/category-nav/index.d.ts +225 -0
  250. package/dist/category-nav/index.mjs +5 -0
  251. package/dist/category-nav/src/category-nav.cjs +66 -0
  252. package/dist/category-nav/src/category-nav.css +663 -0
  253. package/dist/category-nav/src/category-nav.d.ts +86 -0
  254. package/dist/category-nav/src/category-nav.mjs +60 -0
  255. package/dist/category-nav/src/category-nav.vue +966 -0
  256. package/dist/category-nav/src/category-nav.vue.d.ts +137 -0
  257. package/dist/checkbox/index.d.ts +44 -44
  258. package/dist/checkbox/src/checkbox-group.vue.d.ts +1 -1
  259. package/dist/checkbox/src/checkbox.vue.d.ts +2 -2
  260. package/dist/col/index.d.ts +338 -1
  261. package/dist/col/src/col.vue.d.ts +4 -4
  262. package/dist/color-picker/index.d.ts +84 -1
  263. package/dist/color-picker/src/color-picker.vue.d.ts +45 -4
  264. package/dist/component.d.ts +56 -1
  265. package/dist/config-provider/index.d.ts +2 -2
  266. package/dist/config-provider/src/config-provider.d.ts +2 -2
  267. package/dist/container/index.d.ts +103 -5
  268. package/dist/countdown/index.d.ts +419 -1
  269. package/dist/countdown/src/countdown.vue.d.ts +121 -16
  270. package/dist/coupon-card/__tests__/coupon-card.ssr.test.cjs +21 -0
  271. package/dist/coupon-card/__tests__/coupon-card.ssr.test.mjs +18 -0
  272. package/dist/coupon-card/__tests__/coupon-card.test.cjs +67 -0
  273. package/dist/coupon-card/__tests__/coupon-card.test.mjs +64 -0
  274. package/dist/coupon-card/index.cjs +26 -0
  275. package/dist/coupon-card/index.d.ts +346 -0
  276. package/dist/coupon-card/index.mjs +5 -0
  277. package/dist/coupon-card/src/coupon-card.cjs +108 -0
  278. package/dist/coupon-card/src/coupon-card.css +786 -0
  279. package/dist/coupon-card/src/coupon-card.d.ts +106 -0
  280. package/dist/coupon-card/src/coupon-card.mjs +102 -0
  281. package/dist/coupon-card/src/coupon-card.vue +963 -0
  282. package/dist/coupon-card/src/coupon-card.vue.d.ts +206 -0
  283. package/dist/date-picker/index.d.ts +606 -1
  284. package/dist/date-picker/src/date-picker.vue +3 -1
  285. package/dist/date-picker/src/date-picker.vue.d.ts +29 -27
  286. package/dist/date-picker/src/date-table.vue.d.ts +2 -1
  287. package/dist/descriptions/index.d.ts +492 -2
  288. package/dist/descriptions/src/description-item.vue.d.ts +5 -5
  289. package/dist/descriptions/src/descriptions.vue.d.ts +4 -4
  290. package/dist/dialog/index.d.ts +665 -2
  291. package/dist/dialog/src/dialog.vue +3 -2
  292. package/dist/dialog/src/dialog.vue.d.ts +200 -22
  293. package/dist/divider/index.d.ts +113 -1
  294. package/dist/divider/src/divider.vue.d.ts +3 -3
  295. package/dist/drawer/index.d.ts +391 -13
  296. package/dist/drawer/src/drawer.vue.d.ts +120 -10
  297. package/dist/dropdown/index.d.ts +627 -3
  298. package/dist/dropdown/src/dropdown-item.vue.d.ts +2 -2
  299. package/dist/dropdown/src/dropdown.vue.d.ts +135 -18
  300. package/dist/empty/index.d.ts +27 -1
  301. package/dist/env.d.ts +6 -0
  302. package/dist/filter-bar/__tests__/filter-bar.ssr.test.cjs +29 -0
  303. package/dist/filter-bar/__tests__/filter-bar.ssr.test.mjs +16 -0
  304. package/dist/filter-bar/__tests__/filter-bar.test.cjs +51 -0
  305. package/dist/filter-bar/__tests__/filter-bar.test.mjs +29 -0
  306. package/dist/filter-bar/index.cjs +26 -0
  307. package/dist/filter-bar/index.d.ts +287 -0
  308. package/dist/filter-bar/index.mjs +5 -0
  309. package/dist/filter-bar/src/filter-bar.cjs +90 -0
  310. package/dist/filter-bar/src/filter-bar.css +761 -0
  311. package/dist/filter-bar/src/filter-bar.d.ts +124 -0
  312. package/dist/filter-bar/src/filter-bar.mjs +81 -0
  313. package/dist/filter-bar/src/filter-bar.vue +1087 -0
  314. package/dist/filter-bar/src/filter-bar.vue.d.ts +170 -0
  315. package/dist/form/index.d.ts +690 -3
  316. package/dist/form/src/form-item.vue.d.ts +7 -7
  317. package/dist/form/src/form-schema.vue.d.ts +32 -26
  318. package/dist/form/src/form.vue.d.ts +3 -3
  319. package/dist/gantt-chart/__tests__/debug_ssr.test.cjs +51 -0
  320. package/dist/gantt-chart/__tests__/debug_ssr.test.mjs +37 -0
  321. package/dist/gantt-chart/__tests__/gantt-chart.ssr.test.cjs +95 -0
  322. package/dist/gantt-chart/__tests__/gantt-chart.ssr.test.mjs +94 -0
  323. package/dist/gantt-chart/__tests__/gantt-chart.test.cjs +86 -0
  324. package/dist/gantt-chart/__tests__/gantt-chart.test.mjs +79 -0
  325. package/dist/gantt-chart/index.cjs +26 -0
  326. package/dist/gantt-chart/index.d.ts +115 -0
  327. package/dist/gantt-chart/index.mjs +5 -0
  328. package/dist/gantt-chart/src/gantt-chart.cjs +1 -0
  329. package/dist/gantt-chart/src/gantt-chart.css +853 -0
  330. package/dist/gantt-chart/src/gantt-chart.d.ts +112 -0
  331. package/dist/gantt-chart/src/gantt-chart.mjs +0 -0
  332. package/dist/gantt-chart/src/gantt-chart.vue +1583 -0
  333. package/dist/gantt-chart/src/gantt-chart.vue.d.ts +51 -0
  334. package/dist/grid/index.d.ts +67 -2
  335. package/dist/grid/src/grid-item.vue.d.ts +1 -1
  336. package/dist/grid/src/grid.vue.d.ts +1 -1
  337. package/dist/icon/index.d.ts +15 -15
  338. package/dist/icon/src/icon.vue.d.ts +5 -5
  339. package/dist/icon/src/icons/index.cjs +39 -2
  340. package/dist/icon/src/icons/index.d.ts +7 -0
  341. package/dist/icon/src/icons/index.mjs +44 -1
  342. package/dist/image/index.d.ts +72 -21
  343. package/dist/image/src/image-viewer.vue.d.ts +55 -4
  344. package/dist/image/src/image.vue.d.ts +5 -5
  345. package/dist/image-magnifier/__tests__/image-magnifier.ssr.test.cjs +54 -0
  346. package/dist/image-magnifier/__tests__/image-magnifier.ssr.test.mjs +35 -0
  347. package/dist/image-magnifier/__tests__/image-magnifier.test.cjs +257 -0
  348. package/dist/image-magnifier/__tests__/image-magnifier.test.mjs +177 -0
  349. package/dist/image-magnifier/index.cjs +26 -0
  350. package/dist/image-magnifier/index.d.ts +468 -0
  351. package/dist/image-magnifier/index.mjs +5 -0
  352. package/dist/image-magnifier/src/image-magnifier.cjs +142 -0
  353. package/dist/image-magnifier/src/image-magnifier.css +754 -0
  354. package/dist/image-magnifier/src/image-magnifier.d.ts +146 -0
  355. package/dist/image-magnifier/src/image-magnifier.mjs +136 -0
  356. package/dist/image-magnifier/src/image-magnifier.vue +1134 -0
  357. package/dist/image-magnifier/src/image-magnifier.vue.d.ts +271 -0
  358. package/dist/index.cjs +229 -1
  359. package/dist/index.d.ts +19 -0
  360. package/dist/index.mjs +59 -1
  361. package/dist/infinite-scroll/index.d.ts +270 -1
  362. package/dist/infinite-scroll/src/infinite-scroll.vue.d.ts +71 -6
  363. package/dist/input/index.d.ts +51 -51
  364. package/dist/input/src/input.vue.d.ts +16 -16
  365. package/dist/input-number/index.d.ts +33 -33
  366. package/dist/input-number/src/input-number.vue.d.ts +9 -9
  367. package/dist/input-tag/index.d.ts +151 -1
  368. package/dist/input-tag/src/input-tag.vue.d.ts +22 -22
  369. package/dist/loading/index.d.ts +1 -1
  370. package/dist/lucky-draw/__tests__/lucky-draw.ssr.test.cjs +33 -0
  371. package/dist/lucky-draw/__tests__/lucky-draw.ssr.test.mjs +31 -0
  372. package/dist/lucky-draw/__tests__/lucky-draw.test.cjs +56 -0
  373. package/dist/lucky-draw/__tests__/lucky-draw.test.mjs +48 -0
  374. package/dist/lucky-draw/index.cjs +26 -0
  375. package/dist/lucky-draw/index.d.ts +209 -0
  376. package/dist/lucky-draw/index.mjs +5 -0
  377. package/dist/lucky-draw/src/lucky-draw.cjs +63 -0
  378. package/dist/lucky-draw/src/lucky-draw.css +683 -0
  379. package/dist/lucky-draw/src/lucky-draw.d.ts +69 -0
  380. package/dist/lucky-draw/src/lucky-draw.mjs +57 -0
  381. package/dist/lucky-draw/src/lucky-draw.vue +865 -0
  382. package/dist/lucky-draw/src/lucky-draw.vue.d.ts +123 -0
  383. package/dist/marquee/index.d.ts +305 -1
  384. package/dist/marquee/src/marquee.vue.d.ts +80 -6
  385. package/dist/mention/index.d.ts +75 -75
  386. package/dist/mention/src/mention.vue.d.ts +26 -26
  387. package/dist/menu/index.d.ts +890 -4
  388. package/dist/menu/src/menu-item.vue.d.ts +1 -1
  389. package/dist/menu/src/menu-recursive-item.vue +30 -11
  390. package/dist/menu/src/menu.cjs +1 -1
  391. package/dist/menu/src/menu.d.ts +3 -3
  392. package/dist/menu/src/menu.mjs +1 -1
  393. package/dist/menu/src/menu.vue +1 -1
  394. package/dist/menu/src/menu.vue.d.ts +179 -16
  395. package/dist/menu/src/sub-menu.vue +10 -3
  396. package/dist/menu/src/sub-menu.vue.d.ts +1 -1
  397. package/dist/message/index.d.ts +1 -1
  398. package/dist/message/src/message.vue.d.ts +2 -2
  399. package/dist/message-box/index.cjs +1 -1
  400. package/dist/message-box/index.d.ts +1 -1
  401. package/dist/message-box/index.mjs +1 -1
  402. package/dist/notification/index.d.ts +1 -1
  403. package/dist/notification/src/notification.vue.d.ts +2 -2
  404. package/dist/pagination/index.d.ts +15 -15
  405. package/dist/pagination/src/pagination.vue.d.ts +5 -5
  406. package/dist/popconfirm/index.d.ts +433 -1
  407. package/dist/popconfirm/src/popconfirm.cjs +1 -1
  408. package/dist/popconfirm/src/popconfirm.d.ts +2 -2
  409. package/dist/popconfirm/src/popconfirm.mjs +1 -1
  410. package/dist/popconfirm/src/popconfirm.vue.d.ts +125 -16
  411. package/dist/popover/index.d.ts +392 -1
  412. package/dist/popover/src/popover.cjs +1 -1
  413. package/dist/popover/src/popover.d.ts +2 -2
  414. package/dist/popover/src/popover.mjs +1 -1
  415. package/dist/popover/src/popover.vue.d.ts +113 -16
  416. package/dist/price/__tests__/price.ssr.test.cjs +20 -0
  417. package/dist/price/__tests__/price.ssr.test.mjs +19 -0
  418. package/dist/price/__tests__/price.test.cjs +45 -0
  419. package/dist/price/__tests__/price.test.mjs +42 -0
  420. package/dist/price/index.cjs +26 -0
  421. package/dist/price/index.d.ts +369 -0
  422. package/dist/price/index.mjs +5 -0
  423. package/dist/price/src/price.cjs +118 -0
  424. package/dist/price/src/price.css +601 -0
  425. package/dist/price/src/price.d.ts +114 -0
  426. package/dist/price/src/price.mjs +112 -0
  427. package/dist/price/src/price.vue +749 -0
  428. package/dist/price/src/price.vue.d.ts +223 -0
  429. package/dist/product-card/__tests__/product-card.ssr.test.cjs +21 -0
  430. package/dist/product-card/__tests__/product-card.ssr.test.mjs +18 -0
  431. package/dist/product-card/__tests__/product-card.test.cjs +54 -0
  432. package/dist/product-card/__tests__/product-card.test.mjs +53 -0
  433. package/dist/product-card/index.cjs +26 -0
  434. package/dist/product-card/index.d.ts +563 -0
  435. package/dist/product-card/index.mjs +5 -0
  436. package/dist/product-card/src/product-card.cjs +184 -0
  437. package/dist/product-card/src/product-card.css +856 -0
  438. package/dist/product-card/src/product-card.d.ts +188 -0
  439. package/dist/product-card/src/product-card.mjs +178 -0
  440. package/dist/product-card/src/product-card.vue +1097 -0
  441. package/dist/product-card/src/product-card.vue.d.ts +333 -0
  442. package/dist/progress/index.d.ts +321 -1
  443. package/dist/progress/src/progress.vue.d.ts +9 -9
  444. package/dist/radio/index.d.ts +147 -3
  445. package/dist/radio/src/radio-button.vue +19 -5
  446. package/dist/radio/src/radio-group.vue.d.ts +1 -1
  447. package/dist/rate/index.d.ts +313 -1
  448. package/dist/rate/src/rate.vue.d.ts +90 -11
  449. package/dist/result/index.d.ts +31 -1
  450. package/dist/row/index.d.ts +98 -1
  451. package/dist/row/src/row.d.ts +2 -2
  452. package/dist/row/src/row.vue.d.ts +2 -2
  453. package/dist/scrollbar/__tests__/scrollbar.ssr.test.cjs +49 -0
  454. package/dist/scrollbar/__tests__/scrollbar.ssr.test.mjs +54 -0
  455. package/dist/scrollbar/__tests__/scrollbar.test.cjs +43 -0
  456. package/dist/scrollbar/__tests__/scrollbar.test.mjs +40 -0
  457. package/dist/scrollbar/index.cjs +26 -0
  458. package/dist/scrollbar/index.d.ts +213 -0
  459. package/dist/scrollbar/index.mjs +5 -0
  460. package/dist/scrollbar/src/scrollbar.cjs +82 -0
  461. package/dist/scrollbar/src/scrollbar.css +521 -0
  462. package/dist/scrollbar/src/scrollbar.d.ts +82 -0
  463. package/dist/scrollbar/src/scrollbar.mjs +73 -0
  464. package/dist/scrollbar/src/scrollbar.vue +680 -0
  465. package/dist/scrollbar/src/scrollbar.vue.d.ts +115 -0
  466. package/dist/scrollbar/src/thumb.vue +112 -0
  467. package/dist/scrollbar/src/thumb.vue.d.ts +16 -0
  468. package/dist/scrollbar/src/util.cjs +42 -0
  469. package/dist/scrollbar/src/util.d.ts +27 -0
  470. package/dist/scrollbar/src/util.mjs +35 -0
  471. package/dist/select/index.d.ts +177 -2
  472. package/dist/select/src/select.vue.d.ts +18 -18
  473. package/dist/skeleton/index.d.ts +278 -2
  474. package/dist/skeleton/src/skeleton-item.vue +12 -1
  475. package/dist/skeleton/src/skeleton-item.vue.d.ts +2 -2
  476. package/dist/skeleton/src/skeleton.css +12 -1
  477. package/dist/skeleton/src/skeleton.vue +12 -1
  478. package/dist/skeleton/src/skeleton.vue.d.ts +1 -1
  479. package/dist/sku-selector/__tests__/sku-selector.ssr.test.cjs +32 -0
  480. package/dist/sku-selector/__tests__/sku-selector.ssr.test.mjs +19 -0
  481. package/dist/sku-selector/__tests__/sku-selector.test.cjs +64 -0
  482. package/dist/sku-selector/__tests__/sku-selector.test.mjs +53 -0
  483. package/dist/sku-selector/index.cjs +26 -0
  484. package/dist/sku-selector/index.d.ts +228 -0
  485. package/dist/sku-selector/index.mjs +5 -0
  486. package/dist/sku-selector/src/sku-selector.cjs +70 -0
  487. package/dist/sku-selector/src/sku-selector.css +664 -0
  488. package/dist/sku-selector/src/sku-selector.d.ts +96 -0
  489. package/dist/sku-selector/src/sku-selector.mjs +64 -0
  490. package/dist/sku-selector/src/sku-selector.vue +779 -0
  491. package/dist/sku-selector/src/sku-selector.vue.d.ts +137 -0
  492. package/dist/slider/index.d.ts +463 -1
  493. package/dist/slider/src/slider-button.vue.d.ts +4 -4
  494. package/dist/slider/src/slider.vue.d.ts +133 -13
  495. package/dist/smart-address/__tests__/smart-address.ssr.test.cjs +28 -0
  496. package/dist/smart-address/__tests__/smart-address.ssr.test.mjs +25 -0
  497. package/dist/smart-address/__tests__/smart-address.test.cjs +68 -0
  498. package/dist/smart-address/__tests__/smart-address.test.mjs +56 -0
  499. package/dist/smart-address/index.cjs +38 -0
  500. package/dist/smart-address/index.d.ts +331 -0
  501. package/dist/smart-address/index.mjs +6 -0
  502. package/dist/smart-address/src/smart-address.cjs +108 -0
  503. package/dist/smart-address/src/smart-address.css +616 -0
  504. package/dist/smart-address/src/smart-address.d.ts +114 -0
  505. package/dist/smart-address/src/smart-address.mjs +102 -0
  506. package/dist/smart-address/src/smart-address.vue +966 -0
  507. package/dist/smart-address/src/smart-address.vue.d.ts +204 -0
  508. package/dist/smart-address/src/use-address-parser.cjs +137 -0
  509. package/dist/smart-address/src/use-address-parser.d.ts +28 -0
  510. package/dist/smart-address/src/use-address-parser.mjs +132 -0
  511. package/dist/space/index.d.ts +40 -1
  512. package/dist/space/src/space.vue.d.ts +2 -2
  513. package/dist/spin/index.d.ts +162 -7
  514. package/dist/spin/src/spin.vue.d.ts +48 -5
  515. package/dist/steps/index.d.ts +606 -2
  516. package/dist/steps/src/step.vue.d.ts +4 -4
  517. package/dist/steps/src/steps.vue.d.ts +77 -8
  518. package/dist/submit-bar/__tests__/submit-bar.ssr.test.cjs +21 -0
  519. package/dist/submit-bar/__tests__/submit-bar.ssr.test.mjs +18 -0
  520. package/dist/submit-bar/__tests__/submit-bar.test.cjs +50 -0
  521. package/dist/submit-bar/__tests__/submit-bar.test.mjs +36 -0
  522. package/dist/submit-bar/index.cjs +26 -0
  523. package/dist/submit-bar/index.d.ts +297 -0
  524. package/dist/submit-bar/index.mjs +5 -0
  525. package/dist/submit-bar/src/submit-bar.cjs +94 -0
  526. package/dist/submit-bar/src/submit-bar.css +639 -0
  527. package/dist/submit-bar/src/submit-bar.d.ts +93 -0
  528. package/dist/submit-bar/src/submit-bar.mjs +88 -0
  529. package/dist/submit-bar/src/submit-bar.vue +749 -0
  530. package/dist/submit-bar/src/submit-bar.vue.d.ts +175 -0
  531. package/dist/switch/index.d.ts +372 -1
  532. package/dist/switch/src/switch.vue.d.ts +98 -7
  533. package/dist/table/index.d.ts +1248 -2
  534. package/dist/table/src/table-column.vue +7 -3
  535. package/dist/table/src/table-column.vue.d.ts +10 -20
  536. package/dist/table/src/table.d.ts +3 -3
  537. package/dist/table/src/table.vue +28 -9
  538. package/dist/table/src/table.vue.d.ts +346 -34
  539. package/dist/table/src/use-table-import.cjs +1 -1
  540. package/dist/table/src/use-table-import.mjs +1 -1
  541. package/dist/tabs/index.d.ts +583 -2
  542. package/dist/tabs/src/tab-pane.vue.d.ts +2 -2
  543. package/dist/tabs/src/tabs.vue.d.ts +98 -8
  544. package/dist/tag/index.d.ts +86 -1
  545. package/dist/tag/src/tag.vue.d.ts +8 -8
  546. package/dist/time-picker/index.d.ts +166 -1
  547. package/dist/time-picker/src/time-picker.vue.d.ts +19 -19
  548. package/dist/time-select/index.d.ts +112 -1
  549. package/dist/time-select/src/time-select.vue.d.ts +12 -12
  550. package/dist/tooltip/index.d.ts +467 -19
  551. package/dist/tooltip/src/tooltip.cjs +4 -4
  552. package/dist/tooltip/src/tooltip.d.ts +5 -5
  553. package/dist/tooltip/src/tooltip.mjs +4 -4
  554. package/dist/tooltip/src/tooltip.vue +2 -1
  555. package/dist/tooltip/src/tooltip.vue.d.ts +146 -21
  556. package/dist/transfer/src/transfer-panel.vue.d.ts +6 -6
  557. package/dist/transfer/src/transfer.vue.d.ts +10 -10
  558. package/dist/tree/index.d.ts +623 -2
  559. package/dist/tree/src/tree.vue.d.ts +176 -28
  560. package/dist/tree-select/index.d.ts +435 -1
  561. package/dist/tree-select/src/tree-select.vue.d.ts +128 -18
  562. package/dist/typography/index.d.ts +180 -4
  563. package/dist/typography/src/link.vue.d.ts +1 -1
  564. package/dist/typography/src/paragraph.vue.d.ts +2 -2
  565. package/dist/typography/src/text.vue.d.ts +4 -4
  566. package/dist/typography/src/title.vue.d.ts +3 -3
  567. package/dist/upload/index.d.ts +391 -1
  568. package/dist/upload/src/upload.css +0 -441
  569. package/dist/upload/src/upload.vue +1 -441
  570. package/dist/upload/src/upload.vue.d.ts +108 -11
  571. package/dist/waterfall/index.d.ts +57 -1
  572. package/dist/waterfall/src/waterfall.vue.d.ts +3 -3
  573. package/dist/watermark/index.d.ts +284 -1
  574. package/dist/watermark/src/watermark.vue.d.ts +6 -6
  575. package/package.json +26 -11
  576. package/dist/__tests__/resolver.test.cjs +0 -56
  577. package/dist/__tests__/resolver.test.d.ts +0 -1
  578. package/dist/__tests__/resolver.test.mjs +0 -52
  579. package/dist/__tests__/utils/ssr.cjs +0 -114
  580. package/dist/__tests__/utils/ssr.d.ts +0 -29
  581. package/dist/__tests__/utils/ssr.mjs +0 -119
  582. package/dist/affix/__tests__/affix.bottom.test.d.ts +0 -1
  583. package/dist/affix/__tests__/affix.ssr.test.d.ts +0 -1
  584. package/dist/affix/__tests__/affix.test.d.ts +0 -1
  585. package/dist/affix/src/affix.d.vue.ts +0 -66
  586. package/dist/ai-action-group/__tests__/ai-action-group.ssr.test.d.ts +0 -1
  587. package/dist/ai-action-group/__tests__/ai-action-group.test.d.ts +0 -1
  588. package/dist/ai-action-group/src/ai-action-group.d.vue.ts +0 -40
  589. package/dist/ai-agent-card/__tests__/ai-agent-card.ssr.test.d.ts +0 -1
  590. package/dist/ai-agent-card/__tests__/ai-agent-card.test.d.ts +0 -1
  591. package/dist/ai-agent-card/src/ai-agent-card.d.vue.ts +0 -62
  592. package/dist/ai-artifacts/__tests__/ai-artifacts.ssr.test.d.ts +0 -1
  593. package/dist/ai-artifacts/__tests__/ai-artifacts.test.d.ts +0 -1
  594. package/dist/ai-artifacts/src/ai-artifacts.d.vue.ts +0 -50
  595. package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.d.ts +0 -1
  596. package/dist/ai-bubble/__tests__/ai-bubble.test.d.ts +0 -1
  597. package/dist/ai-bubble/src/ai-bubble.d.vue.ts +0 -110
  598. package/dist/ai-chat/__tests__/ai-chat.ssr.test.d.ts +0 -1
  599. package/dist/ai-chat/__tests__/ai-chat.test.d.ts +0 -1
  600. package/dist/ai-chat/src/ai-chat.d.vue.ts +0 -43
  601. package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.d.ts +0 -1
  602. package/dist/ai-code-block/__tests__/ai-code-block.test.d.ts +0 -1
  603. package/dist/ai-code-block/src/ai-code-block.d.vue.ts +0 -63
  604. package/dist/ai-conversations/__tests__/ai-conversations.ssr.test.d.ts +0 -1
  605. package/dist/ai-conversations/__tests__/ai-conversations.test.d.ts +0 -1
  606. package/dist/ai-conversations/src/ai-conversations.d.vue.ts +0 -52
  607. package/dist/ai-editor-sender/__tests__/ai-editor-sender.ssr.test.d.ts +0 -1
  608. package/dist/ai-editor-sender/__tests__/ai-editor-sender.test.d.ts +0 -1
  609. package/dist/ai-editor-sender/src/ai-editor-sender.d.vue.ts +0 -70
  610. package/dist/ai-mention/__tests__/ai-mention.ssr.test.d.ts +0 -1
  611. package/dist/ai-mention/__tests__/ai-mention.test.d.ts +0 -1
  612. package/dist/ai-mention/src/ai-mention.d.vue.ts +0 -68
  613. package/dist/ai-prompts/__tests__/ai-prompts.ssr.test.d.ts +0 -1
  614. package/dist/ai-prompts/__tests__/ai-prompts.test.d.ts +0 -1
  615. package/dist/ai-prompts/src/ai-prompts.d.vue.ts +0 -44
  616. package/dist/ai-provider/__tests__/ai-provider.ssr.test.d.ts +0 -1
  617. package/dist/ai-provider/__tests__/ai-provider.test.d.ts +0 -1
  618. package/dist/ai-provider/src/ai-provider.d.vue.ts +0 -48
  619. package/dist/ai-sender/__tests__/ai-sender.ssr.test.d.ts +0 -1
  620. package/dist/ai-sender/__tests__/ai-sender.test.d.ts +0 -1
  621. package/dist/ai-sender/src/ai-sender.d.vue.ts +0 -74
  622. package/dist/ai-sources/__tests__/ai-sources.ssr.test.d.ts +0 -1
  623. package/dist/ai-sources/__tests__/ai-sources.test.d.ts +0 -1
  624. package/dist/ai-sources/src/ai-sources.d.vue.ts +0 -45
  625. package/dist/ai-thinking/__tests__/ai-thinking.ssr.test.d.ts +0 -1
  626. package/dist/ai-thinking/__tests__/ai-thinking.test.d.ts +0 -1
  627. package/dist/ai-thinking/src/ai-thinking.d.vue.ts +0 -33
  628. package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.d.ts +0 -1
  629. package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.d.ts +0 -1
  630. package/dist/ai-thought-chain/src/ai-thought-chain.d.vue.ts +0 -83
  631. package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.ssr.test.d.ts +0 -1
  632. package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.test.d.ts +0 -1
  633. package/dist/ai-voice-trigger/src/ai-voice-trigger.d.vue.ts +0 -49
  634. package/dist/ai-welcome/__tests__/ai-welcome.ssr.test.d.ts +0 -1
  635. package/dist/ai-welcome/__tests__/ai-welcome.test.d.ts +0 -1
  636. package/dist/ai-welcome/src/ai-welcome.d.vue.ts +0 -51
  637. package/dist/alert/__tests__/alert.ssr.test.d.ts +0 -1
  638. package/dist/alert/__tests__/alert.test.d.ts +0 -1
  639. package/dist/alert/src/alert.d.vue.ts +0 -106
  640. package/dist/autocomplete/__tests__/autocomplete.ssr.test.d.ts +0 -1
  641. package/dist/autocomplete/__tests__/autocomplete.test.d.ts +0 -1
  642. package/dist/autocomplete/src/autocomplete.d.vue.ts +0 -63
  643. package/dist/avatar/__tests__/avatar.ssr.test.d.ts +0 -1
  644. package/dist/avatar/__tests__/avatar.test.d.ts +0 -1
  645. package/dist/avatar/src/avatar.d.vue.ts +0 -21
  646. package/dist/back-top/__tests__/back-top.ssr.test.d.ts +0 -1
  647. package/dist/back-top/__tests__/back-top.test.d.ts +0 -1
  648. package/dist/back-top/src/back-top.d.vue.ts +0 -54
  649. package/dist/badge/__tests__/badge.ssr.test.d.ts +0 -1
  650. package/dist/badge/__tests__/badge.test.d.ts +0 -1
  651. package/dist/badge/src/badge.d.vue.ts +0 -22
  652. package/dist/breadcrumb/__tests__/breadcrumb.ssr.test.d.ts +0 -1
  653. package/dist/breadcrumb/__tests__/breadcrumb.test.d.ts +0 -1
  654. package/dist/breadcrumb/src/breadcrumb-item.d.vue.ts +0 -42
  655. package/dist/breadcrumb/src/breadcrumb.d.vue.ts +0 -41
  656. package/dist/button/__tests__/button.ssr.test.d.ts +0 -1
  657. package/dist/button/__tests__/button.test.d.ts +0 -1
  658. package/dist/button/src/button.d.vue.ts +0 -44
  659. package/dist/calendar/__tests__/calendar.ssr.test.d.ts +0 -1
  660. package/dist/calendar/__tests__/calendar.test.d.ts +0 -1
  661. package/dist/calendar/src/calendar.d.vue.ts +0 -551
  662. package/dist/card/__tests__/card.ssr.test.d.ts +0 -1
  663. package/dist/card/__tests__/card.test.d.ts +0 -1
  664. package/dist/card/src/card.d.vue.ts +0 -26
  665. package/dist/cascader/__tests__/cascader-panel.test.d.ts +0 -1
  666. package/dist/cascader/__tests__/cascader.ssr.test.d.ts +0 -1
  667. package/dist/cascader/__tests__/cascader.test.d.ts +0 -1
  668. package/dist/cascader/src/cascader-panel.d.vue.ts +0 -39
  669. package/dist/cascader/src/cascader.d.vue.ts +0 -63
  670. package/dist/checkbox/__tests__/checkbox.ssr.test.d.ts +0 -1
  671. package/dist/checkbox/__tests__/checkbox.test.d.ts +0 -1
  672. package/dist/checkbox/src/checkbox-group.d.vue.ts +0 -24
  673. package/dist/checkbox/src/checkbox.d.vue.ts +0 -32
  674. package/dist/col/__tests__/col.ssr.test.d.ts +0 -1
  675. package/dist/col/__tests__/col.test.d.ts +0 -1
  676. package/dist/col/src/col.d.vue.ts +0 -189
  677. package/dist/color-picker/__tests__/color-picker.ssr.test.d.ts +0 -1
  678. package/dist/color-picker/__tests__/color-picker.test.d.ts +0 -1
  679. package/dist/color-picker/src/alpha-slider.d.vue.ts +0 -10
  680. package/dist/color-picker/src/color-picker.d.vue.ts +0 -55
  681. package/dist/color-picker/src/hue-slider.d.vue.ts +0 -9
  682. package/dist/color-picker/src/sv-panel.d.vue.ts +0 -11
  683. package/dist/config-provider/__tests__/config-provider.ssr.test.d.ts +0 -1
  684. package/dist/config-provider/__tests__/config-provider.test.d.ts +0 -1
  685. package/dist/container/__tests__/container.ssr.test.d.ts +0 -1
  686. package/dist/container/__tests__/container.test.d.ts +0 -1
  687. package/dist/container/src/aside.d.vue.ts +0 -15
  688. package/dist/container/src/container.d.vue.ts +0 -13
  689. package/dist/container/src/footer.d.vue.ts +0 -15
  690. package/dist/container/src/header.d.vue.ts +0 -15
  691. package/dist/container/src/main.d.vue.ts +0 -13
  692. package/dist/countdown/__tests__/countdown.ssr.test.d.ts +0 -1
  693. package/dist/countdown/__tests__/countdown.test.d.ts +0 -1
  694. package/dist/countdown/src/countdown.d.vue.ts +0 -146
  695. package/dist/date-picker/__tests__/date-picker-extended.test.d.ts +0 -1
  696. package/dist/date-picker/__tests__/date-picker.ssr.test.d.ts +0 -1
  697. package/dist/date-picker/__tests__/date-picker.test.d.ts +0 -1
  698. package/dist/date-picker/src/date-picker.d.vue.ts +0 -372
  699. package/dist/date-picker/src/date-table.d.vue.ts +0 -37
  700. package/dist/date-picker/src/month-table.d.vue.ts +0 -19
  701. package/dist/date-picker/src/quarter-table.d.vue.ts +0 -19
  702. package/dist/date-picker/src/year-table.d.vue.ts +0 -19
  703. package/dist/descriptions/__tests__/descriptions.ssr.test.d.ts +0 -1
  704. package/dist/descriptions/__tests__/descriptions.test.d.ts +0 -1
  705. package/dist/descriptions/src/description-item.d.vue.ts +0 -99
  706. package/dist/descriptions/src/descriptions.d.vue.ts +0 -106
  707. package/dist/dialog/__tests__/dialog.functional.test.d.ts +0 -1
  708. package/dist/dialog/__tests__/dialog.ssr.test.d.ts +0 -1
  709. package/dist/dialog/__tests__/dialog.test.d.ts +0 -1
  710. package/dist/dialog/src/dialog.d.vue.ts +0 -217
  711. package/dist/divider/__tests__/divider.ssr.test.d.ts +0 -1
  712. package/dist/divider/__tests__/divider.test.d.ts +0 -1
  713. package/dist/divider/src/divider.d.vue.ts +0 -69
  714. package/dist/drawer/__tests__/drawer.ssr.test.d.ts +0 -1
  715. package/dist/drawer/__tests__/drawer.test.d.ts +0 -1
  716. package/dist/drawer/src/drawer.d.vue.ts +0 -141
  717. package/dist/dropdown/__tests__/dropdown.ssr.test.d.ts +0 -1
  718. package/dist/dropdown/__tests__/dropdown.test.d.ts +0 -1
  719. package/dist/dropdown/src/dropdown-item.d.vue.ts +0 -78
  720. package/dist/dropdown/src/dropdown-menu.d.vue.ts +0 -24
  721. package/dist/dropdown/src/dropdown.d.vue.ts +0 -158
  722. package/dist/empty/__tests__/empty.ssr.test.d.ts +0 -1
  723. package/dist/empty/__tests__/empty.test.d.ts +0 -1
  724. package/dist/empty/src/empty.d.vue.ts +0 -19
  725. package/dist/form/__tests__/form-schema.test.d.ts +0 -1
  726. package/dist/form/__tests__/form.ssr.test.d.ts +0 -1
  727. package/dist/form/__tests__/form.test.d.ts +0 -1
  728. package/dist/form/src/form-item.d.vue.ts +0 -144
  729. package/dist/form/src/form-schema.d.vue.ts +0 -116
  730. package/dist/form/src/form.d.vue.ts +0 -158
  731. package/dist/grid/__tests__/grid.ssr.test.d.ts +0 -1
  732. package/dist/grid/__tests__/grid.test.d.ts +0 -1
  733. package/dist/grid/src/grid-item.d.vue.ts +0 -17
  734. package/dist/grid/src/grid.d.vue.ts +0 -20
  735. package/dist/icon/__tests__/icon.ssr.test.d.ts +0 -1
  736. package/dist/icon/__tests__/icon.test.d.ts +0 -1
  737. package/dist/icon/src/icon.d.vue.ts +0 -87
  738. package/dist/image/__tests__/image-viewer.test.d.ts +0 -1
  739. package/dist/image/__tests__/image.ssr.test.d.ts +0 -1
  740. package/dist/image/__tests__/image.test.d.ts +0 -1
  741. package/dist/image/src/image-viewer.d.vue.ts +0 -60
  742. package/dist/image/src/image.d.vue.ts +0 -178
  743. package/dist/infinite-scroll/__tests__/infinite-scroll.ssr.test.d.ts +0 -1
  744. package/dist/infinite-scroll/__tests__/infinite-scroll.test.d.ts +0 -1
  745. package/dist/infinite-scroll/src/infinite-scroll.d.vue.ts +0 -95
  746. package/dist/input/__tests__/input-utils.test.d.ts +0 -1
  747. package/dist/input/__tests__/input.ssr.test.d.ts +0 -1
  748. package/dist/input/__tests__/input.test.d.ts +0 -1
  749. package/dist/input/src/input.d.vue.ts +0 -76
  750. package/dist/input-number/__tests__/input-number.hydration.test.d.ts +0 -1
  751. package/dist/input-number/__tests__/input-number.ssr.test.d.ts +0 -1
  752. package/dist/input-number/__tests__/input-number.test.d.ts +0 -1
  753. package/dist/input-number/src/input-number.d.vue.ts +0 -50
  754. package/dist/input-tag/__tests__/input-tag.ssr.test.d.ts +0 -1
  755. package/dist/input-tag/__tests__/input-tag.test.d.ts +0 -1
  756. package/dist/input-tag/src/input-tag.d.vue.ts +0 -71
  757. package/dist/loading/__tests__/loading.ssr.test.d.ts +0 -1
  758. package/dist/loading/__tests__/loading.test.d.ts +0 -1
  759. package/dist/marquee/__tests__/marquee.ssr.test.d.ts +0 -1
  760. package/dist/marquee/__tests__/marquee.test.d.ts +0 -1
  761. package/dist/marquee/src/marquee.d.vue.ts +0 -109
  762. package/dist/mention/__tests__/mention.ssr.test.d.ts +0 -1
  763. package/dist/mention/__tests__/mention.test.d.ts +0 -1
  764. package/dist/mention/src/mention.d.vue.ts +0 -84
  765. package/dist/menu/__tests__/menu.ssr.test.d.ts +0 -1
  766. package/dist/menu/__tests__/menu.test.d.ts +0 -1
  767. package/dist/menu/src/menu-item.d.vue.ts +0 -52
  768. package/dist/menu/src/menu-recursive-item.d.vue.ts +0 -6
  769. package/dist/menu/src/menu.d.vue.ts +0 -209
  770. package/dist/menu/src/sub-menu.d.vue.ts +0 -87
  771. package/dist/message/__tests__/message.ssr.test.d.ts +0 -1
  772. package/dist/message/__tests__/message.test.d.ts +0 -1
  773. package/dist/message/src/message.d.vue.ts +0 -32
  774. package/dist/message-box/__tests__/message-box.ssr.test.d.ts +0 -1
  775. package/dist/message-box/__tests__/message-box.test.d.ts +0 -1
  776. package/dist/message-box/src/message-box.d.vue.ts +0 -17
  777. package/dist/notification/__tests__/notification.ssr.test.d.ts +0 -1
  778. package/dist/notification/__tests__/notification.test.d.ts +0 -1
  779. package/dist/notification/src/notification.d.vue.ts +0 -30
  780. package/dist/pagination/__tests__/pagination.ssr.test.d.ts +0 -1
  781. package/dist/pagination/__tests__/pagination.test.d.ts +0 -1
  782. package/dist/pagination/src/pagination.d.vue.ts +0 -149
  783. package/dist/popconfirm/__tests__/popconfirm.ssr.test.d.ts +0 -1
  784. package/dist/popconfirm/__tests__/popconfirm.test.d.ts +0 -1
  785. package/dist/popconfirm/src/popconfirm.d.vue.ts +0 -148
  786. package/dist/popover/__tests__/popover.ssr.test.d.ts +0 -1
  787. package/dist/popover/__tests__/popover.test.d.ts +0 -1
  788. package/dist/popover/src/popover.d.vue.ts +0 -140
  789. package/dist/progress/__tests__/progress.ssr.test.d.ts +0 -1
  790. package/dist/progress/__tests__/progress.test.d.ts +0 -1
  791. package/dist/progress/src/progress.d.vue.ts +0 -199
  792. package/dist/radio/__tests__/radio-button.test.d.ts +0 -1
  793. package/dist/radio/__tests__/radio.ssr.test.d.ts +0 -1
  794. package/dist/radio/__tests__/radio.test.d.ts +0 -1
  795. package/dist/radio/src/radio-button.d.vue.ts +0 -25
  796. package/dist/radio/src/radio-group.d.vue.ts +0 -23
  797. package/dist/radio/src/radio.d.vue.ts +0 -26
  798. package/dist/rate/__tests__/rate.ssr.test.d.ts +0 -1
  799. package/dist/rate/__tests__/rate.test.d.ts +0 -1
  800. package/dist/rate/src/rate.d.vue.ts +0 -109
  801. package/dist/result/__tests__/result.ssr.test.d.ts +0 -1
  802. package/dist/result/__tests__/result.test.d.ts +0 -1
  803. package/dist/result/src/result.d.vue.ts +0 -23
  804. package/dist/row/__tests__/row.ssr.test.d.ts +0 -1
  805. package/dist/row/__tests__/row.test.d.ts +0 -1
  806. package/dist/row/__tests__/row_ts.test.d.ts +0 -1
  807. package/dist/row/src/row.d.vue.ts +0 -60
  808. package/dist/select/__tests__/select.perf.test.d.ts +0 -1
  809. package/dist/select/__tests__/select.ssr.test.d.ts +0 -1
  810. package/dist/select/__tests__/select.test.d.ts +0 -1
  811. package/dist/select/src/option.d.vue.ts +0 -15
  812. package/dist/select/src/select.d.vue.ts +0 -68
  813. package/dist/skeleton/__tests__/skeleton.ssr.test.d.ts +0 -1
  814. package/dist/skeleton/__tests__/skeleton.test.d.ts +0 -1
  815. package/dist/skeleton/src/skeleton-item.d.vue.ts +0 -83
  816. package/dist/skeleton/src/skeleton.d.vue.ts +0 -89
  817. package/dist/slider/__tests__/repro.test.d.ts +0 -1
  818. package/dist/slider/__tests__/slider.ssr.test.d.ts +0 -1
  819. package/dist/slider/__tests__/slider.test.d.ts +0 -1
  820. package/dist/slider/src/slider-button.d.vue.ts +0 -43
  821. package/dist/slider/src/slider.d.vue.ts +0 -160
  822. package/dist/space/__tests__/space.ssr.test.d.ts +0 -1
  823. package/dist/space/__tests__/space.test.d.ts +0 -1
  824. package/dist/space/src/space.d.vue.ts +0 -22
  825. package/dist/spin/__tests__/spin.ssr.test.d.ts +0 -1
  826. package/dist/spin/__tests__/spin.test.d.ts +0 -1
  827. package/dist/spin/src/spin.d.vue.ts +0 -67
  828. package/dist/steps/__tests__/steps.ssr.test.d.ts +0 -1
  829. package/dist/steps/__tests__/steps.test.d.ts +0 -1
  830. package/dist/steps/src/step.d.vue.ts +0 -105
  831. package/dist/steps/src/steps.d.vue.ts +0 -94
  832. package/dist/switch/__tests__/switch.ssr.test.d.ts +0 -1
  833. package/dist/switch/__tests__/switch.test.d.ts +0 -1
  834. package/dist/switch/src/switch.d.vue.ts +0 -133
  835. package/dist/table/__tests__/table-advance.test.d.ts +0 -1
  836. package/dist/table/__tests__/table-interaction.test.d.ts +0 -1
  837. package/dist/table/__tests__/table-utils.test.d.ts +0 -1
  838. package/dist/table/__tests__/table.perf.test.d.ts +0 -1
  839. package/dist/table/__tests__/table.ssr.test.d.ts +0 -5
  840. package/dist/table/__tests__/table.test.d.ts +0 -1
  841. package/dist/table/__tests__/use-column-drag.test.d.ts +0 -1
  842. package/dist/table/__tests__/use-table-export.test.d.ts +0 -1
  843. package/dist/table/__tests__/use-table-import.test.d.ts +0 -1
  844. package/dist/table/__tests__/use-table-print.test.d.ts +0 -1
  845. package/dist/table/__tests__/use-virtual-scroll.test.d.ts +0 -1
  846. package/dist/table/src/table-column.d.vue.ts +0 -81
  847. package/dist/table/src/table.d.vue.ts +0 -493
  848. package/dist/tabs/__tests__/tabs.ssr.test.d.ts +0 -1
  849. package/dist/tabs/__tests__/tabs.test.d.ts +0 -1
  850. package/dist/tabs/src/tab-pane.d.vue.ts +0 -77
  851. package/dist/tabs/src/tabs.d.vue.ts +0 -110
  852. package/dist/tag/__tests__/tag.ssr.test.d.ts +0 -1
  853. package/dist/tag/__tests__/tag.test.d.ts +0 -1
  854. package/dist/tag/src/tag.d.vue.ts +0 -42
  855. package/dist/time-picker/__tests__/time-picker.ssr.test.d.ts +0 -1
  856. package/dist/time-picker/__tests__/time-picker.test.d.ts +0 -1
  857. package/dist/time-picker/__tests__/time-spinner.test.d.ts +0 -1
  858. package/dist/time-picker/src/time-picker.d.vue.ts +0 -67
  859. package/dist/time-picker/src/time-spinner.d.vue.ts +0 -46
  860. package/dist/time-select/__tests__/time-select.ssr.test.d.ts +0 -1
  861. package/dist/time-select/__tests__/time-select.test.d.ts +0 -5
  862. package/dist/time-select/src/time-select.d.vue.ts +0 -51
  863. package/dist/tooltip/__tests__/tooltip.ssr.test.d.ts +0 -1
  864. package/dist/tooltip/__tests__/tooltip.test.d.ts +0 -1
  865. package/dist/tooltip/src/tooltip.d.vue.ts +0 -167
  866. package/dist/transfer/__tests__/transfer.ssr.test.d.ts +0 -1
  867. package/dist/transfer/__tests__/transfer.test.d.ts +0 -5
  868. package/dist/transfer/src/transfer-panel.d.vue.ts +0 -45
  869. package/dist/transfer/src/transfer.d.vue.ts +0 -68
  870. package/dist/tree/__tests__/tree.perf.test.d.ts +0 -1
  871. package/dist/tree/__tests__/tree.ssr.test.d.ts +0 -1
  872. package/dist/tree/__tests__/tree.test.d.ts +0 -1
  873. package/dist/tree/src/tree-node.d.vue.ts +0 -18
  874. package/dist/tree/src/tree.d.vue.ts +0 -228
  875. package/dist/tree-select/__tests__/tree-select.ssr.test.d.ts +0 -1
  876. package/dist/tree-select/__tests__/tree-select.test.d.ts +0 -1
  877. package/dist/tree-select/src/tree-select.d.vue.ts +0 -141
  878. package/dist/typography/__tests__/typography.ssr.test.d.ts +0 -1
  879. package/dist/typography/__tests__/typography.test.d.ts +0 -1
  880. package/dist/typography/src/link.d.vue.ts +0 -21
  881. package/dist/typography/src/paragraph.d.vue.ts +0 -22
  882. package/dist/typography/src/text.d.vue.ts +0 -29
  883. package/dist/typography/src/title.d.vue.ts +0 -26
  884. package/dist/upload/__tests__/upload.ssr.test.d.ts +0 -1
  885. package/dist/upload/__tests__/upload.test.d.ts +0 -1
  886. package/dist/upload/src/upload.d.vue.ts +0 -133
  887. package/dist/waterfall/__tests__/waterfall.ssr.test.d.ts +0 -1
  888. package/dist/waterfall/__tests__/waterfall.test.d.ts +0 -1
  889. package/dist/waterfall/src/waterfall.d.vue.ts +0 -56
  890. package/dist/watermark/__tests__/watermark.ssr.test.d.ts +0 -1
  891. package/dist/watermark/__tests__/watermark.test.d.ts +0 -1
  892. package/dist/watermark/src/watermark.d.vue.ts +0 -167
@@ -1,23 +1,6 @@
1
1
  import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
2
  import { mount } from "@vue/test-utils";
3
- vi.mock("markdown-it", async () => {
4
- class MockMd {
5
- inline = {
6
- ruler: {
7
- after: vi.fn()
8
- }
9
- };
10
- render(content) {
11
- return `<p>${content}</p>`;
12
- }
13
- }
14
- return { default: MockMd };
15
- });
16
- vi.mock("highlight.js", () => ({
17
- default: { getLanguage: () => false, highlight: vi.fn() }
18
- }));
19
- vi.mock("highlight.js/styles/atom-one-dark.css", () => ({}));
20
- const { default: AiBubble } = await import("../src/ai-bubble.vue");
3
+ import AiBubble from "../src/ai-bubble.vue";
21
4
  describe("YhAiBubble", () => {
22
5
  beforeEach(() => {
23
6
  vi.clearAllMocks();
@@ -120,4 +103,291 @@ describe("YhAiBubble", () => {
120
103
  });
121
104
  expect(wrapper.find(".custom-avatar").exists()).toBe(true);
122
105
  });
106
+ it("should render multimodal content - image", () => {
107
+ const multimodal = [{ type: "image", url: "img.png", title: "test image" }];
108
+ const wrapper = mount(AiBubble, { props: { content: "", multimodal } });
109
+ expect(wrapper.find(".yh-ai-bubble__image-grid").exists()).toBe(true);
110
+ });
111
+ it("should render multimodal content - audio", async () => {
112
+ const multimodal = [{ type: "audio", url: "audio.mp3", title: "test audio" }];
113
+ const wrapper = mount(AiBubble, { props: { content: "", multimodal } });
114
+ expect(wrapper.find(".yh-ai-bubble__audio-player").exists()).toBe(true);
115
+ const playMock = vi.fn().mockResolvedValue(void 0);
116
+ const pauseMock = vi.fn();
117
+ class MockAudio {
118
+ play = playMock;
119
+ pause = pauseMock;
120
+ onended = null;
121
+ }
122
+ vi.stubGlobal("Audio", MockAudio);
123
+ await wrapper.find(".yh-ai-bubble__audio-player button").trigger("click");
124
+ expect(playMock).toHaveBeenCalled();
125
+ await wrapper.find(".yh-ai-bubble__audio-player button").trigger("click");
126
+ expect(pauseMock).toHaveBeenCalled();
127
+ });
128
+ it("should render multimodal content - file", () => {
129
+ const multimodal = [{ type: "file", url: "test.pdf", title: "test.pdf", size: "10KB" }];
130
+ const wrapper = mount(AiBubble, { props: { content: "", multimodal } });
131
+ expect(wrapper.find(".yh-ai-bubble__file-card").exists()).toBe(true);
132
+ expect(wrapper.html()).toContain("10KB");
133
+ });
134
+ it("should render JSON structured data", () => {
135
+ const structuredData = { type: "json", data: { name: "test" } };
136
+ const wrapper = mount(AiBubble, { props: { content: "", structuredData } });
137
+ expect(wrapper.find(".yh-ai-bubble__json-viewer").exists()).toBe(true);
138
+ });
139
+ it("should render thought-chain structured data", () => {
140
+ const structuredData = { type: "thought-chain", data: [] };
141
+ const wrapper = mount(AiBubble, { props: { content: "", structuredData } });
142
+ expect(wrapper.findComponent({ name: "YhAiThoughtChain" }).exists()).toBe(true);
143
+ });
144
+ it("should handle citation click", async () => {
145
+ const onCitationClick = vi.fn();
146
+ const cita = { id: 1, title: "link", url: "http://x.com" };
147
+ const wrapper = mount(AiBubble, {
148
+ props: { content: "test [1]", citations: [cita], onCitationClick }
149
+ });
150
+ await wrapper.find(".yh-ai-bubble__citation-item").trigger("click");
151
+ expect(onCitationClick).toHaveBeenCalledWith(cita);
152
+ const openSpy = vi.spyOn(window, "open").mockImplementation(() => null);
153
+ const wrapper2 = mount(AiBubble, {
154
+ props: { content: "test", citations: [cita] }
155
+ });
156
+ await wrapper2.find(".yh-ai-bubble__citation-item").trigger("click");
157
+ expect(openSpy).toHaveBeenCalledWith("http://x.com", "_blank");
158
+ });
159
+ it("should show citation tooltip on hover", async () => {
160
+ vi.useFakeTimers();
161
+ const cita = { id: "1", title: "ref 1", content: "detailed info" };
162
+ const wrapper = mount(AiBubble, {
163
+ props: { content: "test", citations: [cita] }
164
+ });
165
+ const mockEvent = {
166
+ target: {
167
+ classList: { contains: (c) => c === "yh-ai-citation" },
168
+ getAttribute: (a) => a === "data-id" ? "1" : null,
169
+ getBoundingClientRect: () => ({ top: 100, left: 100, width: 20 })
170
+ }
171
+ };
172
+ wrapper.vm.handleCitationHover(mockEvent);
173
+ expect(wrapper.vm.hoveredCitation).toEqual(cita);
174
+ wrapper.vm.handleCitationLeave(mockEvent);
175
+ vi.advanceTimersByTime(300);
176
+ expect(wrapper.vm.hoveredCitation).toBeNull();
177
+ vi.useRealTimers();
178
+ });
179
+ it("should handle code block actions - collapse", async () => {
180
+ const wrapper = mount(AiBubble);
181
+ const mockEvent = {
182
+ target: {
183
+ classList: { contains: (c) => c === "collapse-btn" || c === "code-action-btn" },
184
+ getAttribute: (a) => a === "data-id" ? "cb-1" : null
185
+ }
186
+ };
187
+ await wrapper.vm.handleCodeBlockAction(mockEvent);
188
+ expect(wrapper.vm.expandedCodeBlocks.has("cb-1")).toBe(true);
189
+ });
190
+ it("should trigger download on button click", async () => {
191
+ const openSpy = vi.spyOn(window, "open").mockImplementation(() => null);
192
+ const multimodal = [{ type: "file", url: "test.zip", title: "test" }];
193
+ const wrapper = mount(AiBubble, { props: { content: "", multimodal } });
194
+ await wrapper.find(".yh-ai-bubble__file-card button").trigger("click");
195
+ expect(openSpy).toHaveBeenCalledWith("test.zip", "_blank");
196
+ });
197
+ it("getFileIcon should return correct icons", () => {
198
+ const wrapper = mount(AiBubble);
199
+ const getFileIcon = wrapper.vm.getFileIcon;
200
+ expect(getFileIcon("test.pdf")).toBe("file-pdf");
201
+ expect(getFileIcon("test.xlsx")).toBe("file-excel");
202
+ expect(getFileIcon("test.docx")).toBe("file-word");
203
+ expect(getFileIcon("test.mp4")).toBe("file-video");
204
+ expect(getFileIcon("test.mp3")).toBe("file-audio");
205
+ expect(getFileIcon("test.txt")).toBe("file-txt");
206
+ expect(getFileIcon("unknown")).toBe("document");
207
+ });
208
+ it("should handle code block actions - copy", async () => {
209
+ const wrapper = mount(AiBubble, { props: { content: "```js\nconsole.log(1)\n```" } });
210
+ const copySpy = vi.spyOn(navigator.clipboard, "writeText").mockResolvedValue(void 0);
211
+ const mockEvent = {
212
+ target: {
213
+ classList: { contains: (c) => c === "code-action-btn" || c === "copy-btn" },
214
+ getAttribute: (a) => {
215
+ if (a === "data-code") return encodeURIComponent("console.log(1)");
216
+ if (a === "data-id") return "cb-1";
217
+ return null;
218
+ }
219
+ }
220
+ };
221
+ await wrapper.vm.handleCodeBlockAction(mockEvent);
222
+ expect(copySpy).toHaveBeenCalledWith("console.log(1)");
223
+ });
224
+ it("should handle code block actions - run", async () => {
225
+ const onRunCode = vi.fn().mockResolvedValue({ output: "done" });
226
+ const wrapper = mount(AiBubble, { props: { content: "```js\n1+1\n```", onRunCode } });
227
+ const mockEvent = {
228
+ target: {
229
+ classList: { contains: (c) => c === "code-action-btn" || c === "run-btn" },
230
+ getAttribute: (a) => {
231
+ if (a === "data-code") return encodeURIComponent("1+1");
232
+ if (a === "data-lang") return "js";
233
+ if (a === "data-id") return "cb-1";
234
+ return null;
235
+ }
236
+ }
237
+ };
238
+ await wrapper.vm.handleCodeBlockAction(mockEvent);
239
+ expect(onRunCode).toHaveBeenCalled();
240
+ });
241
+ it("should toggle code block expansion", () => {
242
+ const wrapper = mount(AiBubble);
243
+ wrapper.vm.toggleCodeBlock("cb-1");
244
+ expect(wrapper.vm.expandedCodeBlocks.has("cb-1")).toBe(true);
245
+ wrapper.vm.toggleCodeBlock("cb-1");
246
+ expect(wrapper.vm.expandedCodeBlocks.has("cb-1")).toBe(false);
247
+ });
248
+ it("should handle explain code block", async () => {
249
+ const onExplainCode = vi.fn().mockResolvedValue("explanation");
250
+ const wrapper = mount(AiBubble, { props: { onExplainCode } });
251
+ const mockEvent = {
252
+ target: {
253
+ classList: { contains: (c) => c === "explain-btn" || c === "code-action-btn" },
254
+ getAttribute: (a) => {
255
+ if (a === "data-code") return "code";
256
+ if (a === "data-lang") return "js";
257
+ if (a === "data-id") return "cb-1";
258
+ return null;
259
+ }
260
+ }
261
+ };
262
+ await wrapper.vm.handleCodeBlockAction(mockEvent);
263
+ expect(onExplainCode).toHaveBeenCalled();
264
+ expect(wrapper.vm.codeOutput["cb-1"]).toEqual(["explanation"]);
265
+ });
266
+ it("should handle code block actions - edit", async () => {
267
+ const mockEditor = {
268
+ dispose: vi.fn(),
269
+ getValue: vi.fn().mockReturnValue("edited code")
270
+ };
271
+ const mockMonaco = {
272
+ editor: {
273
+ create: vi.fn().mockReturnValue(mockEditor)
274
+ }
275
+ };
276
+ const wrapper = mount(AiBubble);
277
+ wrapper.vm.monaco = mockMonaco;
278
+ const mockEvent = {
279
+ target: {
280
+ classList: { contains: (c) => c === "code-action-btn" || c === "edit-btn" },
281
+ getAttribute: (a) => {
282
+ if (a === "data-code") return encodeURIComponent("raw context");
283
+ if (a === "data-lang") return "javascript";
284
+ if (a === "data-id") return "cb-1";
285
+ return null;
286
+ }
287
+ }
288
+ };
289
+ await wrapper.vm.handleCodeBlockAction(mockEvent);
290
+ expect(wrapper.vm.editingCodeBlock).toBe("cb-1");
291
+ await wrapper.vm.saveEditCode("cb-1");
292
+ expect(wrapper.vm.editingCodeBlock).toBeNull();
293
+ });
294
+ it("should handle onRunCode with async iterator", async () => {
295
+ const mockGenerator = async function* () {
296
+ yield { output: "chunk 1" };
297
+ yield { output: "chunk 2" };
298
+ };
299
+ const onRunCode = vi.fn().mockResolvedValue(mockGenerator());
300
+ const wrapper = mount(AiBubble, { props: { onRunCode } });
301
+ const mockEvent = {
302
+ target: {
303
+ classList: { contains: (c) => c === "run-btn" || c === "code-action-btn" },
304
+ getAttribute: (a) => {
305
+ if (a === "data-code") return "code";
306
+ if (a === "data-lang") return "js";
307
+ if (a === "data-id") return "cb-1";
308
+ return null;
309
+ }
310
+ }
311
+ };
312
+ await wrapper.vm.handleCodeBlockAction(mockEvent);
313
+ expect(onRunCode).toHaveBeenCalled();
314
+ });
315
+ it("should support streaming increments", async () => {
316
+ vi.useFakeTimers();
317
+ const onStreamComplete = vi.fn();
318
+ const wrapper = mount(AiBubble, {
319
+ props: {
320
+ content: "hello world",
321
+ typing: true,
322
+ streaming: true,
323
+ streamSpeed: 2,
324
+ streamInterval: 10,
325
+ onStreamComplete
326
+ }
327
+ });
328
+ vi.advanceTimersByTime(100);
329
+ await wrapper.vm.$nextTick();
330
+ expect(onStreamComplete).toHaveBeenCalled();
331
+ vi.useRealTimers();
332
+ });
333
+ it("should render table structured data", () => {
334
+ const structuredData = {
335
+ type: "table",
336
+ data: { headers: ["A", "B"], rows: [["1", "2"]] }
337
+ };
338
+ const wrapper = mount(AiBubble, { props: { content: "", structuredData } });
339
+ expect(wrapper.find("table").exists()).toBe(true);
340
+ expect(wrapper.find("th").text()).toBe("A");
341
+ });
342
+ it("should handle markdown=true but no mdi initialized", async () => {
343
+ const wrapper = mount(AiBubble, { props: { content: "hi", markdown: true } });
344
+ expect(wrapper.find(".yh-ai-bubble__markdown").exists()).toBe(true);
345
+ });
346
+ it("should handle multimodal download", async () => {
347
+ const openSpy = vi.spyOn(window, "open").mockImplementation(() => null);
348
+ const wrapper = mount(AiBubble);
349
+ wrapper.vm.handleDownload("test.zip");
350
+ expect(openSpy).toHaveBeenCalledWith("test.zip", "_blank");
351
+ });
352
+ it("should hit onBeforeUnmount", () => {
353
+ const wrapper = mount(AiBubble, { props: { content: "test" } });
354
+ wrapper.unmount();
355
+ });
356
+ it("should test escapeHtml utility", () => {
357
+ const wrapper = mount(AiBubble);
358
+ const escapeHtml = wrapper.vm.escapeHtml;
359
+ expect(escapeHtml(`<div>&"'</div>`)).toBe("&lt;div&gt;&amp;&quot;&#39;&lt;/div&gt;");
360
+ });
361
+ it("should support sentence stream mode", async () => {
362
+ vi.useFakeTimers();
363
+ const onStreamComplete = vi.fn();
364
+ mount(AiBubble, {
365
+ props: {
366
+ content: "Sentence one. Sentence two!",
367
+ typing: true,
368
+ streaming: true,
369
+ streamMode: "sentence",
370
+ onStreamComplete
371
+ }
372
+ });
373
+ vi.advanceTimersByTime(1e3);
374
+ expect(onStreamComplete).toHaveBeenCalled();
375
+ vi.useRealTimers();
376
+ });
377
+ it("should support paragraph stream mode", async () => {
378
+ vi.useFakeTimers();
379
+ const onStreamComplete = vi.fn();
380
+ mount(AiBubble, {
381
+ props: {
382
+ content: "Para one\n\nPara two",
383
+ typing: true,
384
+ streaming: true,
385
+ streamMode: "paragraph",
386
+ onStreamComplete
387
+ }
388
+ });
389
+ vi.advanceTimersByTime(1e3);
390
+ expect(onStreamComplete).toHaveBeenCalled();
391
+ vi.useRealTimers();
392
+ });
123
393
  });