@yh-ui/components 1.0.30 → 1.0.37

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 (425) hide show
  1. package/dist/affix/index.d.ts +1 -202
  2. package/dist/affix/src/affix.d.vue.ts +66 -0
  3. package/dist/affix/src/affix.vue.d.ts +6 -55
  4. package/dist/ai-action-group/index.d.ts +1 -108
  5. package/dist/ai-action-group/src/ai-action-group.d.vue.ts +40 -0
  6. package/dist/ai-action-group/src/ai-action-group.vue.d.ts +4 -29
  7. package/dist/ai-agent-card/index.d.ts +1 -174
  8. package/dist/ai-agent-card/src/ai-agent-card.d.vue.ts +62 -0
  9. package/dist/ai-agent-card/src/ai-agent-card.vue.d.ts +7 -50
  10. package/dist/ai-artifacts/index.d.ts +1 -274
  11. package/dist/ai-artifacts/src/ai-artifacts.d.ts +1 -1
  12. package/dist/ai-artifacts/src/ai-artifacts.d.vue.ts +91 -0
  13. package/dist/ai-artifacts/src/ai-artifacts.vue.d.ts +8 -80
  14. package/dist/ai-attachments/index.d.ts +1 -357
  15. package/dist/ai-attachments/src/ai-attachments.d.vue.ts +107 -0
  16. package/dist/ai-attachments/src/ai-attachments.vue.d.ts +12 -123
  17. package/dist/ai-bubble/index.d.ts +54 -54
  18. package/dist/ai-bubble/src/ai-bubble.d.vue.ts +273 -0
  19. package/dist/ai-bubble/src/ai-bubble.vue.d.ts +11 -11
  20. package/dist/ai-bubble-list/index.d.ts +1 -150
  21. package/dist/ai-bubble-list/src/ai-bubble-list.d.vue.ts +93 -0
  22. package/dist/ai-bubble-list/src/ai-bubble-list.vue.d.ts +7 -7
  23. package/dist/ai-chat/index.d.ts +1 -162
  24. package/dist/ai-chat/src/ai-chat.d.vue.ts +63 -0
  25. package/dist/ai-chat/src/ai-chat.vue.d.ts +7 -44
  26. package/dist/ai-code-block/index.d.ts +1 -218
  27. package/dist/ai-code-block/src/ai-code-block.d.vue.ts +73 -0
  28. package/dist/ai-code-block/src/ai-code-block.vue.d.ts +3 -59
  29. package/dist/ai-code-editor/index.d.ts +8 -69
  30. package/dist/ai-code-editor/src/ai-code-editor.d.vue.ts +71 -0
  31. package/dist/ai-code-editor/src/ai-code-editor.vue.d.ts +8 -69
  32. package/dist/ai-code-runner/index.d.ts +1 -66
  33. package/dist/ai-code-runner/src/ai-code-runner.d.vue.ts +34 -0
  34. package/dist/ai-code-runner/src/ai-code-runner.vue.d.ts +3 -36
  35. package/dist/ai-conversations/index.d.ts +1 -214
  36. package/dist/ai-conversations/src/ai-conversations.d.vue.ts +75 -0
  37. package/dist/ai-conversations/src/ai-conversations.vue.d.ts +3 -55
  38. package/dist/ai-editor-sender/index.d.ts +1 -415
  39. package/dist/ai-editor-sender/src/ai-editor-sender.d.ts +1 -1
  40. package/dist/ai-editor-sender/src/ai-editor-sender.d.vue.ts +134 -0
  41. package/dist/ai-editor-sender/src/ai-editor-sender.vue.d.ts +7 -114
  42. package/dist/ai-file-card/index.d.ts +7 -209
  43. package/dist/ai-file-card/src/ai-file-card.d.vue.ts +78 -0
  44. package/dist/ai-file-card/src/ai-file-card.vue.d.ts +5 -62
  45. package/dist/ai-mention/index.d.ts +12 -352
  46. package/dist/ai-mention/src/ai-mention.d.vue.ts +115 -0
  47. package/dist/ai-mention/src/ai-mention.vue.d.ts +11 -107
  48. package/dist/ai-mermaid/index.d.ts +1 -222
  49. package/dist/ai-mermaid/src/ai-mermaid.d.vue.ts +76 -0
  50. package/dist/ai-mermaid/src/ai-mermaid.vue.d.ts +4 -61
  51. package/dist/ai-prompts/index.d.ts +1 -102
  52. package/dist/ai-prompts/src/ai-prompts.d.vue.ts +44 -0
  53. package/dist/ai-prompts/src/ai-prompts.vue.d.ts +6 -27
  54. package/dist/ai-provider/index.d.ts +1 -263
  55. package/dist/ai-provider/src/ai-provider.d.vue.ts +85 -0
  56. package/dist/ai-provider/src/ai-provider.vue.d.ts +5 -56
  57. package/dist/ai-sender/index.d.ts +1 -234
  58. package/dist/ai-sender/src/ai-sender.d.vue.ts +74 -0
  59. package/dist/ai-sender/src/ai-sender.vue.d.ts +8 -70
  60. package/dist/ai-sources/index.d.ts +1 -134
  61. package/dist/ai-sources/src/ai-sources.d.vue.ts +47 -0
  62. package/dist/ai-sources/src/ai-sources.vue.d.ts +3 -34
  63. package/dist/ai-thinking/index.d.ts +1 -150
  64. package/dist/ai-thinking/src/ai-thinking.d.vue.ts +53 -0
  65. package/dist/ai-thinking/src/ai-thinking.vue.d.ts +4 -40
  66. package/dist/ai-thought-chain/index.d.ts +10 -268
  67. package/dist/ai-thought-chain/src/ai-thought-chain.d.vue.ts +92 -0
  68. package/dist/ai-thought-chain/src/ai-thought-chain.vue.d.ts +9 -84
  69. package/dist/ai-voice-trigger/index.d.ts +1 -153
  70. package/dist/ai-voice-trigger/src/ai-voice-trigger.d.vue.ts +49 -0
  71. package/dist/ai-voice-trigger/src/ai-voice-trigger.vue.d.ts +4 -43
  72. package/dist/ai-welcome/index.d.ts +1 -129
  73. package/dist/ai-welcome/src/ai-welcome.d.vue.ts +51 -0
  74. package/dist/ai-welcome/src/ai-welcome.vue.d.ts +3 -32
  75. package/dist/alert/index.d.ts +1 -289
  76. package/dist/alert/src/alert.d.vue.ts +106 -0
  77. package/dist/alert/src/alert.vue.d.ts +10 -81
  78. package/dist/autocomplete/index.d.ts +1 -365
  79. package/dist/autocomplete/src/autocomplete.d.vue.ts +63 -0
  80. package/dist/autocomplete/src/autocomplete.vue.d.ts +20 -68
  81. package/dist/avatar/index.d.ts +17 -140
  82. package/dist/avatar/src/avatar.d.vue.ts +22 -0
  83. package/dist/avatar/src/avatar.vue.d.ts +5 -32
  84. package/dist/back-top/index.d.ts +1 -153
  85. package/dist/back-top/src/back-top.d.vue.ts +54 -0
  86. package/dist/back-top/src/back-top.vue.d.ts +5 -42
  87. package/dist/badge/index.d.ts +1 -151
  88. package/dist/badge/src/badge.d.vue.ts +22 -0
  89. package/dist/badge/src/badge.vue.d.ts +3 -34
  90. package/dist/breadcrumb/index.d.ts +2 -177
  91. package/dist/breadcrumb/src/breadcrumb-item.d.vue.ts +42 -0
  92. package/dist/breadcrumb/src/breadcrumb-item.vue.d.ts +1 -1
  93. package/dist/breadcrumb/src/breadcrumb.d.vue.ts +41 -0
  94. package/dist/button/index.d.ts +38 -242
  95. package/dist/button/src/button.d.vue.ts +44 -0
  96. package/dist/button/src/button.vue.d.ts +11 -56
  97. package/dist/calendar/index.d.ts +1 -429
  98. package/dist/calendar/src/calendar.d.vue.ts +137 -0
  99. package/dist/calendar/src/calendar.vue.d.ts +10 -130
  100. package/dist/card/index.d.ts +1 -155
  101. package/dist/card/src/card.d.vue.ts +26 -0
  102. package/dist/card/src/card.vue.d.ts +4 -35
  103. package/dist/carousel/index.d.ts +2 -443
  104. package/dist/carousel/src/carousel-item.d.vue.ts +18 -0
  105. package/dist/carousel/src/carousel.d.vue.ts +144 -0
  106. package/dist/carousel/src/carousel.vue.d.ts +16 -107
  107. package/dist/cascader/index.d.ts +108 -459
  108. package/dist/cascader/src/cascader-panel.d.vue.ts +39 -0
  109. package/dist/cascader/src/cascader-panel.vue.d.ts +8 -37
  110. package/dist/cascader/src/cascader.d.vue.ts +63 -0
  111. package/dist/cascader/src/cascader.vue.d.ts +22 -77
  112. package/dist/category-nav/index.d.ts +1 -219
  113. package/dist/category-nav/src/category-nav.d.vue.ts +86 -0
  114. package/dist/category-nav/src/category-nav.vue.d.ts +10 -61
  115. package/dist/checkbox/index.d.ts +50 -323
  116. package/dist/checkbox/src/checkbox-group.d.vue.ts +24 -0
  117. package/dist/checkbox/src/checkbox-group.vue.d.ts +6 -33
  118. package/dist/checkbox/src/checkbox.d.vue.ts +32 -0
  119. package/dist/checkbox/src/checkbox.vue +28 -12
  120. package/dist/checkbox/src/checkbox.vue.d.ts +8 -41
  121. package/dist/col/index.d.ts +1 -188
  122. package/dist/col/src/col.d.vue.ts +114 -0
  123. package/dist/col/src/col.vue.d.ts +4 -4
  124. package/dist/color-picker/index.d.ts +1 -89
  125. package/dist/color-picker/src/alpha-slider.d.vue.ts +10 -0
  126. package/dist/color-picker/src/alpha-slider.vue.d.ts +4 -13
  127. package/dist/color-picker/src/color-picker.d.vue.ts +60 -0
  128. package/dist/color-picker/src/color-picker.vue.d.ts +4 -45
  129. package/dist/color-picker/src/hue-slider.d.vue.ts +9 -0
  130. package/dist/color-picker/src/hue-slider.vue.d.ts +4 -13
  131. package/dist/color-picker/src/sv-panel.d.vue.ts +11 -0
  132. package/dist/color-picker/src/sv-panel.vue.d.ts +4 -13
  133. package/dist/config-provider/index.d.ts +2 -2
  134. package/dist/config-provider/src/config-provider.d.ts +2 -2
  135. package/dist/container/index.d.ts +5 -208
  136. package/dist/container/src/aside.d.vue.ts +15 -0
  137. package/dist/container/src/aside.vue +4 -1
  138. package/dist/container/src/aside.vue.d.ts +2 -23
  139. package/dist/container/src/container.d.vue.ts +13 -0
  140. package/dist/container/src/container.vue +4 -1
  141. package/dist/container/src/container.vue.d.ts +1 -10
  142. package/dist/container/src/footer.d.vue.ts +15 -0
  143. package/dist/container/src/footer.vue +4 -1
  144. package/dist/container/src/footer.vue.d.ts +2 -23
  145. package/dist/container/src/header.d.vue.ts +15 -0
  146. package/dist/container/src/header.vue +4 -1
  147. package/dist/container/src/header.vue.d.ts +2 -23
  148. package/dist/container/src/main.d.vue.ts +13 -0
  149. package/dist/container/src/main.vue +4 -1
  150. package/dist/container/src/main.vue.d.ts +1 -10
  151. package/dist/countdown/index.d.ts +1 -419
  152. package/dist/countdown/src/countdown.d.vue.ts +146 -0
  153. package/dist/countdown/src/countdown.vue.d.ts +16 -121
  154. package/dist/coupon-card/index.d.ts +1 -340
  155. package/dist/coupon-card/src/coupon-card.d.ts +2 -2
  156. package/dist/coupon-card/src/coupon-card.d.vue.ts +121 -0
  157. package/dist/coupon-card/src/coupon-card.vue.d.ts +15 -100
  158. package/dist/date-picker/index.d.ts +1 -604
  159. package/dist/date-picker/src/date-picker.d.vue.ts +372 -0
  160. package/dist/date-picker/src/date-picker.vue.d.ts +31 -31
  161. package/dist/date-picker/src/date-table.d.vue.ts +37 -0
  162. package/dist/date-picker/src/date-table.vue.d.ts +6 -16
  163. package/dist/date-picker/src/month-table.d.vue.ts +19 -0
  164. package/dist/date-picker/src/month-table.vue.d.ts +5 -14
  165. package/dist/date-picker/src/quarter-table.d.vue.ts +19 -0
  166. package/dist/date-picker/src/quarter-table.vue.d.ts +5 -14
  167. package/dist/date-picker/src/year-table.d.vue.ts +19 -0
  168. package/dist/date-picker/src/year-table.vue.d.ts +5 -14
  169. package/dist/dayjs-plugins.cjs +43 -18
  170. package/dist/dayjs-plugins.d.ts +7 -7
  171. package/dist/dayjs-plugins.mjs +14 -15
  172. package/dist/dayjs.cjs +3 -5
  173. package/dist/dayjs.d.ts +1 -2
  174. package/dist/dayjs.mjs +1 -2
  175. package/dist/descriptions/index.d.ts +2 -492
  176. package/dist/descriptions/src/description-item.d.vue.ts +99 -0
  177. package/dist/descriptions/src/description-item.vue.d.ts +5 -5
  178. package/dist/descriptions/src/descriptions.d.vue.ts +106 -0
  179. package/dist/descriptions/src/descriptions.vue +29 -12
  180. package/dist/descriptions/src/descriptions.vue.d.ts +4 -4
  181. package/dist/dialog/index.d.ts +2 -665
  182. package/dist/dialog/src/dialog.d.vue.ts +217 -0
  183. package/dist/dialog/src/dialog.vue.d.ts +22 -200
  184. package/dist/divider/index.d.ts +1 -113
  185. package/dist/divider/src/divider.d.vue.ts +69 -0
  186. package/dist/divider/src/divider.vue +8 -2
  187. package/dist/divider/src/divider.vue.d.ts +3 -3
  188. package/dist/drawer/index.d.ts +13 -391
  189. package/dist/drawer/src/drawer.d.vue.ts +141 -0
  190. package/dist/drawer/src/drawer.vue.d.ts +10 -120
  191. package/dist/dropdown/index.d.ts +3 -627
  192. package/dist/dropdown/src/dropdown-item.d.vue.ts +78 -0
  193. package/dist/dropdown/src/dropdown-item.vue +9 -2
  194. package/dist/dropdown/src/dropdown-item.vue.d.ts +2 -2
  195. package/dist/dropdown/src/dropdown-menu.d.vue.ts +24 -0
  196. package/dist/dropdown/src/dropdown-menu.vue +4 -1
  197. package/dist/dropdown/src/dropdown.d.vue.ts +158 -0
  198. package/dist/dropdown/src/dropdown.vue.d.ts +15 -132
  199. package/dist/empty/index.d.ts +1 -78
  200. package/dist/empty/src/empty.d.vue.ts +19 -0
  201. package/dist/empty/src/empty.vue +26 -9
  202. package/dist/empty/src/empty.vue.d.ts +2 -23
  203. package/dist/filter-bar/index.d.ts +1 -281
  204. package/dist/filter-bar/src/filter-bar.d.vue.ts +87 -0
  205. package/dist/filter-bar/src/filter-bar.vue.d.ts +9 -92
  206. package/dist/form/index.d.ts +3 -690
  207. package/dist/form/src/form-item.d.vue.ts +144 -0
  208. package/dist/form/src/form-item.vue.d.ts +7 -7
  209. package/dist/form/src/form-schema.d.vue.ts +116 -0
  210. package/dist/form/src/form-schema.vue.d.ts +30 -36
  211. package/dist/form/src/form.d.vue.ts +158 -0
  212. package/dist/form/src/form.vue.d.ts +5 -5
  213. package/dist/gantt-chart/index.d.ts +1 -305
  214. package/dist/gantt-chart/src/gantt-chart.d.vue.ts +51 -0
  215. package/dist/gantt-chart/src/gantt-chart.vue.d.ts +18 -63
  216. package/dist/grid/index.d.ts +2 -226
  217. package/dist/grid/src/grid-item.d.vue.ts +17 -0
  218. package/dist/grid/src/grid-item.vue +13 -10
  219. package/dist/grid/src/grid-item.vue.d.ts +2 -27
  220. package/dist/grid/src/grid.d.vue.ts +20 -0
  221. package/dist/grid/src/grid.vue +12 -6
  222. package/dist/grid/src/grid.vue.d.ts +3 -34
  223. package/dist/icon/index.d.ts +15 -15
  224. package/dist/icon/src/icon.d.vue.ts +87 -0
  225. package/dist/icon/src/icon.vue.d.ts +5 -5
  226. package/dist/image/index.d.ts +31 -82
  227. package/dist/image/src/image-viewer.d.vue.ts +68 -0
  228. package/dist/image/src/image-viewer.vue.d.ts +4 -55
  229. package/dist/image/src/image.d.vue.ts +178 -0
  230. package/dist/image/src/image.vue.d.ts +10 -10
  231. package/dist/image-magnifier/index.d.ts +1 -462
  232. package/dist/image-magnifier/src/image-magnifier.d.ts +2 -2
  233. package/dist/image-magnifier/src/image-magnifier.d.vue.ts +154 -0
  234. package/dist/image-magnifier/src/image-magnifier.vue.d.ts +13 -130
  235. package/dist/infinite-scroll/index.d.ts +1 -270
  236. package/dist/infinite-scroll/src/infinite-scroll.d.vue.ts +93 -0
  237. package/dist/infinite-scroll/src/infinite-scroll.vue.d.ts +6 -71
  238. package/dist/input/index.d.ts +70 -511
  239. package/dist/input/src/input.d.vue.ts +76 -0
  240. package/dist/input/src/input.vue.d.ts +28 -87
  241. package/dist/input-number/index.d.ts +45 -300
  242. package/dist/input-number/src/input-number.d.vue.ts +50 -0
  243. package/dist/input-number/src/input-number.vue.d.ts +17 -60
  244. package/dist/input-tag/index.d.ts +1 -433
  245. package/dist/input-tag/src/input-tag.d.vue.ts +71 -0
  246. package/dist/input-tag/src/input-tag.vue.d.ts +31 -86
  247. package/dist/loading/index.d.ts +1 -1
  248. package/dist/lucky-draw/index.d.ts +1 -203
  249. package/dist/lucky-draw/src/lucky-draw.d.ts +1 -1
  250. package/dist/lucky-draw/src/lucky-draw.d.vue.ts +74 -0
  251. package/dist/lucky-draw/src/lucky-draw.vue.d.ts +6 -55
  252. package/dist/marquee/index.d.ts +1 -305
  253. package/dist/marquee/src/marquee.d.vue.ts +106 -0
  254. package/dist/marquee/src/marquee.vue.d.ts +6 -80
  255. package/dist/mention/index.d.ts +90 -432
  256. package/dist/mention/src/mention.d.vue.ts +84 -0
  257. package/dist/mention/src/mention.vue.d.ts +36 -101
  258. package/dist/menu/index.d.ts +4 -890
  259. package/dist/menu/src/menu-item-group.d.vue.ts +26 -0
  260. package/dist/menu/src/menu-item.d.vue.ts +52 -0
  261. package/dist/menu/src/menu-item.vue +20 -7
  262. package/dist/menu/src/menu-item.vue.d.ts +1 -1
  263. package/dist/menu/src/menu-recursive-item.d.vue.ts +6 -0
  264. package/dist/menu/src/menu-recursive-item.vue.d.ts +1 -10
  265. package/dist/menu/src/menu.d.vue.ts +209 -0
  266. package/dist/menu/src/menu.vue.d.ts +14 -177
  267. package/dist/menu/src/sub-menu.d.vue.ts +87 -0
  268. package/dist/menu/src/sub-menu.vue.d.ts +1 -1
  269. package/dist/message/index.d.ts +1 -1
  270. package/dist/message/src/message.d.vue.ts +32 -0
  271. package/dist/message/src/message.vue.d.ts +7 -44
  272. package/dist/message-box/index.d.ts +1 -1
  273. package/dist/message-box/src/message-box.d.vue.ts +17 -0
  274. package/dist/message-box/src/message-box.vue.d.ts +2 -11
  275. package/dist/notification/index.d.ts +1 -1
  276. package/dist/notification/src/notification.d.vue.ts +30 -0
  277. package/dist/notification/src/notification.vue.d.ts +8 -37
  278. package/dist/pagination/index.d.ts +29 -29
  279. package/dist/pagination/src/pagination.d.vue.ts +149 -0
  280. package/dist/pagination/src/pagination.vue.d.ts +12 -12
  281. package/dist/popconfirm/index.d.ts +1 -433
  282. package/dist/popconfirm/src/popconfirm.d.vue.ts +148 -0
  283. package/dist/popconfirm/src/popconfirm.vue.d.ts +13 -122
  284. package/dist/popover/index.d.ts +1 -392
  285. package/dist/popover/src/popover.d.vue.ts +139 -0
  286. package/dist/popover/src/popover.vue.d.ts +11 -109
  287. package/dist/price/index.d.ts +1 -363
  288. package/dist/price/src/price.d.ts +3 -3
  289. package/dist/price/src/price.d.vue.ts +223 -0
  290. package/dist/price/src/price.vue.d.ts +12 -12
  291. package/dist/product-card/index.d.ts +1 -557
  292. package/dist/product-card/src/product-card.d.ts +3 -3
  293. package/dist/product-card/src/product-card.d.vue.ts +188 -0
  294. package/dist/product-card/src/product-card.vue.d.ts +15 -160
  295. package/dist/progress/index.d.ts +1 -321
  296. package/dist/progress/src/progress.d.vue.ts +199 -0
  297. package/dist/progress/src/progress.vue.d.ts +8 -8
  298. package/dist/radio/index.d.ts +51 -339
  299. package/dist/radio/src/radio-button.d.vue.ts +25 -0
  300. package/dist/radio/src/radio-button.vue.d.ts +6 -27
  301. package/dist/radio/src/radio-group.d.vue.ts +23 -0
  302. package/dist/radio/src/radio-group.vue.d.ts +6 -31
  303. package/dist/radio/src/radio.d.vue.ts +26 -0
  304. package/dist/radio/src/radio.vue +24 -5
  305. package/dist/radio/src/radio.vue.d.ts +6 -29
  306. package/dist/rate/index.d.ts +1 -313
  307. package/dist/rate/src/rate.d.vue.ts +109 -0
  308. package/dist/rate/src/rate.vue.d.ts +10 -89
  309. package/dist/result/index.d.ts +1 -73
  310. package/dist/result/src/result.d.vue.ts +23 -0
  311. package/dist/result/src/result.vue +11 -2
  312. package/dist/result/src/result.vue.d.ts +2 -23
  313. package/dist/row/index.d.ts +1 -98
  314. package/dist/row/src/row.d.ts +1 -1
  315. package/dist/row/src/row.d.vue.ts +60 -0
  316. package/dist/row/src/row.vue.d.ts +1 -1
  317. package/dist/sanitize.cjs +33 -23
  318. package/dist/sanitize.mjs +28 -20
  319. package/dist/scrollbar/index.d.ts +1 -192
  320. package/dist/scrollbar/src/scrollbar.d.vue.ts +67 -0
  321. package/dist/scrollbar/src/scrollbar.vue.d.ts +4 -46
  322. package/dist/scrollbar/src/thumb.d.vue.ts +16 -0
  323. package/dist/scrollbar/src/thumb.vue.d.ts +4 -31
  324. package/dist/select/index.d.ts +74 -464
  325. package/dist/select/src/option.d.vue.ts +15 -0
  326. package/dist/select/src/option.vue.d.ts +2 -23
  327. package/dist/select/src/select.d.vue.ts +68 -0
  328. package/dist/select/src/select.vue.d.ts +28 -95
  329. package/dist/skeleton/index.d.ts +2 -278
  330. package/dist/skeleton/src/skeleton-item.d.vue.ts +83 -0
  331. package/dist/skeleton/src/skeleton-item.vue.d.ts +2 -2
  332. package/dist/skeleton/src/skeleton.d.vue.ts +89 -0
  333. package/dist/skeleton/src/skeleton.vue.d.ts +2 -2
  334. package/dist/sku-selector/index.d.ts +1 -222
  335. package/dist/sku-selector/src/sku-selector.d.vue.ts +84 -0
  336. package/dist/sku-selector/src/sku-selector.vue.d.ts +9 -62
  337. package/dist/slider/index.d.ts +1 -471
  338. package/dist/slider/src/slider-button.d.vue.ts +43 -0
  339. package/dist/slider/src/slider-button.vue.d.ts +10 -41
  340. package/dist/slider/src/slider.d.vue.ts +164 -0
  341. package/dist/slider/src/slider.vue.d.ts +13 -129
  342. package/dist/smart-address/index.d.ts +1 -324
  343. package/dist/smart-address/src/smart-address.d.vue.ts +110 -0
  344. package/dist/smart-address/src/smart-address.vue.d.ts +8 -102
  345. package/dist/space/index.d.ts +1 -142
  346. package/dist/space/src/space.d.vue.ts +22 -0
  347. package/dist/space/src/space.vue +28 -15
  348. package/dist/space/src/space.vue.d.ts +3 -34
  349. package/dist/spin/index.d.ts +6 -161
  350. package/dist/spin/src/spin.d.vue.ts +66 -0
  351. package/dist/spin/src/spin.vue.d.ts +4 -47
  352. package/dist/steps/index.d.ts +2 -606
  353. package/dist/steps/src/step.d.vue.ts +105 -0
  354. package/dist/steps/src/step.vue.d.ts +4 -4
  355. package/dist/steps/src/steps.d.vue.ts +94 -0
  356. package/dist/steps/src/steps.vue +4 -1
  357. package/dist/steps/src/steps.vue.d.ts +9 -78
  358. package/dist/submit-bar/index.d.ts +1 -291
  359. package/dist/submit-bar/src/submit-bar.d.vue.ts +102 -0
  360. package/dist/submit-bar/src/submit-bar.vue.d.ts +6 -79
  361. package/dist/switch/index.d.ts +1 -372
  362. package/dist/switch/src/switch.d.vue.ts +133 -0
  363. package/dist/switch/src/switch.vue.d.ts +7 -98
  364. package/dist/table/index.d.ts +2 -1488
  365. package/dist/table/src/table-column.d.vue.ts +71 -0
  366. package/dist/table/src/table-column.vue.d.ts +12 -71
  367. package/dist/table/src/table.d.vue.ts +493 -0
  368. package/dist/table/src/table.vue.d.ts +25 -337
  369. package/dist/table/src/use-virtual-scroll.mjs +3 -1
  370. package/dist/tabs/index.d.ts +2 -583
  371. package/dist/tabs/src/tab-pane.d.vue.ts +77 -0
  372. package/dist/tabs/src/tab-pane.vue +11 -3
  373. package/dist/tabs/src/tab-pane.vue.d.ts +2 -2
  374. package/dist/tabs/src/tabs.d.vue.ts +110 -0
  375. package/dist/tabs/src/tabs.vue.d.ts +8 -98
  376. package/dist/tag/index.d.ts +1 -245
  377. package/dist/tag/src/tag.d.vue.ts +42 -0
  378. package/dist/tag/src/tag.vue.d.ts +14 -53
  379. package/dist/time-picker/index.d.ts +1 -619
  380. package/dist/time-picker/src/time-picker.d.vue.ts +67 -0
  381. package/dist/time-picker/src/time-picker.vue.d.ts +29 -102
  382. package/dist/time-picker/src/time-spinner.d.vue.ts +46 -0
  383. package/dist/time-picker/src/time-spinner.vue.d.ts +6 -45
  384. package/dist/time-select/index.d.ts +1 -379
  385. package/dist/time-select/src/time-select.d.vue.ts +51 -0
  386. package/dist/time-select/src/time-select.vue.d.ts +22 -67
  387. package/dist/tooltip/index.d.ts +15 -463
  388. package/dist/tooltip/src/tooltip.d.vue.ts +167 -0
  389. package/dist/tooltip/src/tooltip.vue.d.ts +13 -138
  390. package/dist/transfer/src/transfer-panel.d.vue.ts +45 -0
  391. package/dist/transfer/src/transfer-panel.vue.d.ts +12 -51
  392. package/dist/transfer/src/transfer.d.vue.ts +68 -0
  393. package/dist/transfer/src/transfer.vue.d.ts +15 -62
  394. package/dist/tree/index.d.ts +2 -632
  395. package/dist/tree/src/tree-node.d.vue.ts +18 -0
  396. package/dist/tree/src/tree-node.vue.d.ts +1 -10
  397. package/dist/tree/src/tree.d.vue.ts +228 -0
  398. package/dist/tree/src/tree.vue.d.ts +13 -161
  399. package/dist/tree-select/index.d.ts +1 -435
  400. package/dist/tree-select/src/tree-select.d.vue.ts +141 -0
  401. package/dist/tree-select/src/tree-select.vue.d.ts +19 -129
  402. package/dist/typography/index.d.ts +4 -612
  403. package/dist/typography/src/link.d.vue.ts +21 -0
  404. package/dist/typography/src/link.vue +13 -3
  405. package/dist/typography/src/link.vue.d.ts +5 -30
  406. package/dist/typography/src/paragraph.d.vue.ts +22 -0
  407. package/dist/typography/src/paragraph.vue.d.ts +3 -34
  408. package/dist/typography/src/text.d.vue.ts +29 -0
  409. package/dist/typography/src/text.vue +4 -1
  410. package/dist/typography/src/text.vue.d.ts +2 -39
  411. package/dist/typography/src/title.d.vue.ts +26 -0
  412. package/dist/typography/src/title.vue +4 -1
  413. package/dist/typography/src/title.vue.d.ts +2 -37
  414. package/dist/upload/index.d.ts +1 -391
  415. package/dist/upload/src/upload.d.vue.ts +134 -0
  416. package/dist/upload/src/upload.vue.d.ts +13 -109
  417. package/dist/waterfall/index.d.ts +1 -57
  418. package/dist/waterfall/src/waterfall.d.vue.ts +56 -0
  419. package/dist/waterfall/src/waterfall.vue.d.ts +4 -4
  420. package/dist/watermark/index.d.ts +1 -236
  421. package/dist/watermark/src/watermark.d.vue.ts +143 -0
  422. package/dist/watermark/src/watermark.vue.d.ts +6 -6
  423. package/package.json +8 -9
  424. package/dist/component.d.ts +0 -284
  425. package/dist/env.d.ts +0 -11
@@ -1,77 +1,5 @@
1
1
  import Result from './src/result.vue';
2
- export declare const YhResult: import("@yh-ui/utils").SFCWithInstall<{
3
- new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
4
- title: {
5
- type: import("vue").PropType<string>;
6
- };
7
- themeOverrides: {
8
- type: import("vue").PropType<import("@yh-ui/theme").ComponentThemeVars>;
9
- };
10
- icon: {
11
- type: import("vue").PropType<import("./index.js").ResultIconType>;
12
- default: string;
13
- };
14
- subTitle: {
15
- type: import("vue").PropType<string>;
16
- };
17
- }>> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
18
- icon: import("./index.js").ResultIconType;
19
- }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
20
- P: {};
21
- B: {};
22
- D: {};
23
- C: {};
24
- M: {};
25
- Defaults: {};
26
- }, Readonly<import("vue").ExtractPropTypes<{
27
- title: {
28
- type: import("vue").PropType<string>;
29
- };
30
- themeOverrides: {
31
- type: import("vue").PropType<import("@yh-ui/theme").ComponentThemeVars>;
32
- };
33
- icon: {
34
- type: import("vue").PropType<import("./index.js").ResultIconType>;
35
- default: string;
36
- };
37
- subTitle: {
38
- type: import("vue").PropType<string>;
39
- };
40
- }>> & Readonly<{}>, {}, {}, {}, {}, {
41
- icon: import("./index.js").ResultIconType;
42
- }>;
43
- __isFragment?: never;
44
- __isTeleport?: never;
45
- __isSuspense?: never;
46
- } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
47
- title: {
48
- type: import("vue").PropType<string>;
49
- };
50
- themeOverrides: {
51
- type: import("vue").PropType<import("@yh-ui/theme").ComponentThemeVars>;
52
- };
53
- icon: {
54
- type: import("vue").PropType<import("./index.js").ResultIconType>;
55
- default: string;
56
- };
57
- subTitle: {
58
- type: import("vue").PropType<string>;
59
- };
60
- }>> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
61
- icon: import("./index.js").ResultIconType;
62
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
63
- $slots: {
64
- icon?: (props: {}) => any;
65
- } & {
66
- title?: (props: {}) => any;
67
- } & {
68
- 'sub-title'?: (props: {}) => any;
69
- } & {
70
- extra?: (props: {}) => any;
71
- } & {
72
- default?: (props: {}) => any;
73
- };
74
- })> & Record<string, unknown>;
2
+ export declare const YhResult: any;
75
3
  export default YhResult;
76
4
  export * from './src/result';
77
5
  export type ResultInstance = InstanceType<typeof Result>;
@@ -0,0 +1,23 @@
1
+ import type { ResultProps } from './result';
2
+ declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {}, __VLS_9: {};
3
+ type __VLS_Slots = {} & {
4
+ icon?: (props: typeof __VLS_1) => any;
5
+ } & {
6
+ title?: (props: typeof __VLS_3) => any;
7
+ } & {
8
+ 'sub-title'?: (props: typeof __VLS_5) => any;
9
+ } & {
10
+ extra?: (props: typeof __VLS_7) => any;
11
+ } & {
12
+ default?: (props: typeof __VLS_9) => any;
13
+ };
14
+ declare const __VLS_component: import("vue").DefineComponent<ResultProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ResultProps> & Readonly<{}>, {
15
+ icon: import("./result").ResultIconType;
16
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
18
+ export default _default;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -11,7 +11,10 @@ const props = defineProps({
11
11
  });
12
12
  const { t } = useLocale();
13
13
  const ns = useNamespace("result");
14
- const { themeStyle } = useComponentTheme("result", computed(() => props.themeOverrides));
14
+ const { themeStyle } = useComponentTheme(
15
+ "result",
16
+ computed(() => props.themeOverrides)
17
+ );
15
18
  const resultTitle = computed(() => props.title || t(`result.${props.icon}`));
16
19
  const iconColorMap = {
17
20
  success: "var(--yh-color-success, #67c23a)",
@@ -33,7 +36,13 @@ const iconPaths = {
33
36
  <!-- 图标区 -->
34
37
  <div :class="[ns.e('icon'), ns.em('icon', icon)]">
35
38
  <slot name="icon">
36
- <svg viewBox="0 0 1024 1024" width="72" height="72" :fill="iconColor" xmlns="http://www.w3.org/2000/svg">
39
+ <svg
40
+ viewBox="0 0 1024 1024"
41
+ width="72"
42
+ height="72"
43
+ :fill="iconColor"
44
+ xmlns="http://www.w3.org/2000/svg"
45
+ >
37
46
  <path :d="iconPaths[icon]" />
38
47
  </svg>
39
48
  </slot>
@@ -11,34 +11,13 @@ type __VLS_Slots = {} & {
11
11
  } & {
12
12
  default?: (props: typeof __VLS_9) => any;
13
13
  };
14
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<ResultProps>, {
15
- icon: string;
16
- }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<ResultProps>, {
17
- icon: string;
18
- }>>> & Readonly<{}>, {
14
+ declare const __VLS_component: import("vue").DefineComponent<ResultProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ResultProps> & Readonly<{}>, {
19
15
  icon: import("./result").ResultIconType;
20
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
17
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
22
18
  export default _default;
23
- type __VLS_WithDefaults<P, D> = {
24
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
25
- default: D[K];
26
- }> : P[K];
27
- };
28
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
29
- type __VLS_TypePropsToOption<T> = {
30
- [K in keyof T]-?: {} extends Pick<T, K> ? {
31
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
32
- } : {
33
- type: import('vue').PropType<T[K]>;
34
- required: true;
35
- };
36
- };
37
19
  type __VLS_WithSlots<T, S> = T & {
38
20
  new (): {
39
21
  $slots: S;
40
22
  };
41
23
  };
42
- type __VLS_PrettifyLocal<T> = {
43
- [K in keyof T]: T[K];
44
- } & {};
@@ -1,102 +1,5 @@
1
1
  import Row from './src/row.vue';
2
- export declare const YhRow: import("@yh-ui/utils").SFCWithInstall<{
3
- new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
4
- readonly tag: {
5
- readonly type: StringConstructor;
6
- readonly default: "div";
7
- };
8
- readonly gutter: {
9
- readonly type: NumberConstructor;
10
- readonly default: 0;
11
- };
12
- readonly justify: {
13
- readonly type: import("vue").PropType<import("./index.js").RowJustify>;
14
- readonly default: "start";
15
- };
16
- readonly align: {
17
- readonly type: import("vue").PropType<import("./index.js").RowAlign>;
18
- readonly default: "top";
19
- };
20
- readonly themeOverrides: {
21
- readonly type: import("vue").PropType<import("@yh-ui/theme").ComponentThemeVars>;
22
- readonly default: undefined;
23
- };
24
- }>> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
25
- readonly tag: string;
26
- readonly themeOverrides: import("@yh-ui/theme").ComponentThemeVars;
27
- readonly justify: import("./index.js").RowJustify;
28
- readonly gutter: number;
29
- readonly align: import("./index.js").RowAlign;
30
- }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
31
- P: {};
32
- B: {};
33
- D: {};
34
- C: {};
35
- M: {};
36
- Defaults: {};
37
- }, Readonly<import("vue").ExtractPropTypes<{
38
- readonly tag: {
39
- readonly type: StringConstructor;
40
- readonly default: "div";
41
- };
42
- readonly gutter: {
43
- readonly type: NumberConstructor;
44
- readonly default: 0;
45
- };
46
- readonly justify: {
47
- readonly type: import("vue").PropType<import("./index.js").RowJustify>;
48
- readonly default: "start";
49
- };
50
- readonly align: {
51
- readonly type: import("vue").PropType<import("./index.js").RowAlign>;
52
- readonly default: "top";
53
- };
54
- readonly themeOverrides: {
55
- readonly type: import("vue").PropType<import("@yh-ui/theme").ComponentThemeVars>;
56
- readonly default: undefined;
57
- };
58
- }>> & Readonly<{}>, {}, {}, {}, {}, {
59
- readonly tag: string;
60
- readonly themeOverrides: import("@yh-ui/theme").ComponentThemeVars;
61
- readonly justify: import("./index.js").RowJustify;
62
- readonly gutter: number;
63
- readonly align: import("./index.js").RowAlign;
64
- }>;
65
- __isFragment?: never;
66
- __isTeleport?: never;
67
- __isSuspense?: never;
68
- } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
69
- readonly tag: {
70
- readonly type: StringConstructor;
71
- readonly default: "div";
72
- };
73
- readonly gutter: {
74
- readonly type: NumberConstructor;
75
- readonly default: 0;
76
- };
77
- readonly justify: {
78
- readonly type: import("vue").PropType<import("./index.js").RowJustify>;
79
- readonly default: "start";
80
- };
81
- readonly align: {
82
- readonly type: import("vue").PropType<import("./index.js").RowAlign>;
83
- readonly default: "top";
84
- };
85
- readonly themeOverrides: {
86
- readonly type: import("vue").PropType<import("@yh-ui/theme").ComponentThemeVars>;
87
- readonly default: undefined;
88
- };
89
- }>> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
90
- readonly tag: string;
91
- readonly themeOverrides: import("@yh-ui/theme").ComponentThemeVars;
92
- readonly justify: import("./index.js").RowJustify;
93
- readonly gutter: number;
94
- readonly align: import("./index.js").RowAlign;
95
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
96
- $slots: {
97
- default?: (props: {}) => any;
98
- };
99
- })> & Record<string, unknown>;
2
+ export declare const YhRow: any;
100
3
  export default YhRow;
101
4
  export * from './src/row';
102
5
  export type RowInstance = InstanceType<typeof Row>;
@@ -79,9 +79,9 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
79
79
  readonly default: undefined;
80
80
  };
81
81
  }>> & Readonly<{}>, {
82
- readonly tag: string;
83
82
  readonly themeOverrides: import("@yh-ui/theme").ComponentThemeVars;
84
83
  readonly justify: RowJustify;
84
+ readonly tag: string;
85
85
  readonly gutter: number;
86
86
  readonly align: RowAlign;
87
87
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,60 @@
1
+ declare var __VLS_6: {};
2
+ type __VLS_Slots = {} & {
3
+ default?: (props: typeof __VLS_6) => any;
4
+ };
5
+ declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
+ readonly tag: {
7
+ readonly type: StringConstructor;
8
+ readonly default: "div";
9
+ };
10
+ readonly gutter: {
11
+ readonly type: NumberConstructor;
12
+ readonly default: 0;
13
+ };
14
+ readonly justify: {
15
+ readonly type: import("vue").PropType<import("./row").RowJustify>;
16
+ readonly default: "start";
17
+ };
18
+ readonly align: {
19
+ readonly type: import("vue").PropType<import("./row").RowAlign>;
20
+ readonly default: "top";
21
+ };
22
+ readonly themeOverrides: {
23
+ readonly type: import("vue").PropType<import("@yh-ui/theme").ComponentThemeVars>;
24
+ readonly default: undefined;
25
+ };
26
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
27
+ readonly tag: {
28
+ readonly type: StringConstructor;
29
+ readonly default: "div";
30
+ };
31
+ readonly gutter: {
32
+ readonly type: NumberConstructor;
33
+ readonly default: 0;
34
+ };
35
+ readonly justify: {
36
+ readonly type: import("vue").PropType<import("./row").RowJustify>;
37
+ readonly default: "start";
38
+ };
39
+ readonly align: {
40
+ readonly type: import("vue").PropType<import("./row").RowAlign>;
41
+ readonly default: "top";
42
+ };
43
+ readonly themeOverrides: {
44
+ readonly type: import("vue").PropType<import("@yh-ui/theme").ComponentThemeVars>;
45
+ readonly default: undefined;
46
+ };
47
+ }>> & Readonly<{}>, {
48
+ readonly themeOverrides: import("@yh-ui/theme").ComponentThemeVars;
49
+ readonly justify: import("./row").RowJustify;
50
+ readonly tag: string;
51
+ readonly gutter: number;
52
+ readonly align: import("./row").RowAlign;
53
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
54
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
55
+ export default _default;
56
+ type __VLS_WithSlots<T, S> = T & {
57
+ new (): {
58
+ $slots: S;
59
+ };
60
+ };
@@ -45,9 +45,9 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
45
45
  readonly default: undefined;
46
46
  };
47
47
  }>> & Readonly<{}>, {
48
- readonly tag: string;
49
48
  readonly themeOverrides: import("@yh-ui/theme").ComponentThemeVars;
50
49
  readonly justify: import("./row").RowJustify;
50
+ readonly tag: string;
51
51
  readonly gutter: number;
52
52
  readonly align: import("./row").RowAlign;
53
53
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
package/dist/sanitize.cjs CHANGED
@@ -77,7 +77,17 @@ function postProcessSanitizedMarkup(html, allowedSchemes) {
77
77
  }
78
78
  function serverSideSanitize(html, allowedSchemes) {
79
79
  let output = html.replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi, "").replace(/<iframe[\s\S]*?>[\s\S]*?<\/iframe>/gi, "").replace(/<object[\s\S]*?>[\s\S]*?<\/object>/gi, "").replace(/<embed[\s\S]*?>/gi, "").replace(/\son[a-z-]+\s*=\s*(['"]).*?\1/gi, "").replace(/\son[a-z-]+\s*=\s*[^\s>]+/gi, "");
80
- output = output.replace(/\s(href|src|xlink:href)\s*=\s*(['"])(.*?)\2/gi, (full, attrName, quote, rawValue) => isAllowedUrl(rawValue, allowedSchemes) ? full : ` ${attrName}=${quote}${quote}`);
80
+ const urlAttrs = ["href", "src", "xlink:href", "xlink\\:href"];
81
+ for (const attr of urlAttrs) {
82
+ const regex = new RegExp(`\\s(${attr})\\s*=\\s*(['"])(.*?)\\2`, "gi");
83
+ output = output.replace(regex, (full, attrName, quote, rawValue) => {
84
+ if (rawValue.toLowerCase().startsWith("javascript:")) {
85
+ return ` ${attrName}=${quote}${quote}`;
86
+ }
87
+ return isAllowedUrl(rawValue, allowedSchemes) ? full : ` ${attrName}=${quote}${quote}`;
88
+ });
89
+ }
90
+ output = output.replace(/javascript:/gi, "");
81
91
  return output;
82
92
  }
83
93
  function shouldFallbackToServerSvgSanitizer(source, sanitized) {
@@ -94,33 +104,33 @@ function sanitizeMarkup(html, options = {}) {
94
104
  const allowedTags = options.allowedTags ?? [...(options.profile === "svg" ? NORMALIZED_SVG_TAGS : DEFAULT_HTML_TAGS)];
95
105
  const allowedAttributes = options.allowedAttributes ?? [...(options.profile === "svg" ? NORMALIZED_SVG_ATTRIBUTES : DEFAULT_HTML_ATTRIBUTES)];
96
106
  const purifierInstance = getPurifier();
107
+ let sanitized = serverSideSanitize(source, allowedSchemes);
97
108
  if (!purifierInstance) {
98
- return serverSideSanitize(source, allowedSchemes);
109
+ return sanitized;
99
110
  }
100
- const sanitized = purifierInstance.sanitize(source, {
101
- ALLOWED_TAGS: allowedTags,
102
- ALLOWED_ATTR: allowedAttributes,
103
- ALLOW_DATA_ATTR: options.allowDataAttributes ?? true,
104
- USE_PROFILES: options.profile === "svg" ? {
105
- html: true,
106
- svg: true,
107
- svgFilters: true
108
- } : {
109
- html: true
111
+ try {
112
+ const domSanitized = purifierInstance.sanitize(sanitized, {
113
+ ALLOWED_TAGS: allowedTags,
114
+ ALLOWED_ATTR: allowedAttributes,
115
+ ALLOW_DATA_ATTR: options.allowDataAttributes ?? true,
116
+ USE_PROFILES: options.profile === "svg" ? {
117
+ html: true,
118
+ svg: true,
119
+ svgFilters: true
120
+ } : {
121
+ html: true
122
+ }
123
+ });
124
+ if (options.profile === "svg" && shouldFallbackToServerSvgSanitizer(source, String(domSanitized))) {
125
+ return postProcessSanitizedMarkup(sanitized, allowedSchemes);
110
126
  }
111
- });
112
- if (options.profile === "svg" && shouldFallbackToServerSvgSanitizer(source, String(sanitized))) {
113
- return postProcessSanitizedMarkup(serverSideSanitize(source, allowedSchemes), allowedSchemes);
114
- }
115
- return postProcessSanitizedMarkup(String(sanitized), allowedSchemes);
127
+ sanitized = String(domSanitized);
128
+ } catch {}
129
+ return postProcessSanitizedMarkup(sanitized, allowedSchemes);
116
130
  }
117
131
  function sanitizeHighlightedHtml(html, options = {}) {
118
- return sanitizeMarkup(html, {
119
- ...options,
120
- allowedTags: ["code", "div", "pre", "span"],
121
- allowedAttributes: ["class"],
122
- profile: "html"
123
- });
132
+ const source = options.sanitizer ? options.sanitizer(html) : html;
133
+ return source.replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi, "").replace(/<iframe[\s\S]*?>[\s\S]*?<\/iframe>/gi, "").replace(/<object[\s\S]*?>[\s\S]*?<\/object>/gi, "").replace(/<embed[\s\S]*?>/gi, "").replace(/<img[\s\S]*?>/gi, "").replace(/\son[a-z-]+\s*=\s*(['"]).*?\1/gi, "").replace(/\son[a-z-]+\s*=\s*[^\s>]+/gi, "").replace(/javascript:/gi, "");
124
134
  }
125
135
  function sanitizeSvgMarkup(svg, options = {}) {
126
136
  return sanitizeMarkup(svg, {
package/dist/sanitize.mjs CHANGED
@@ -199,10 +199,17 @@ function postProcessSanitizedMarkup(html, allowedSchemes) {
199
199
  }
200
200
  function serverSideSanitize(html, allowedSchemes) {
201
201
  let output = html.replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi, "").replace(/<iframe[\s\S]*?>[\s\S]*?<\/iframe>/gi, "").replace(/<object[\s\S]*?>[\s\S]*?<\/object>/gi, "").replace(/<embed[\s\S]*?>/gi, "").replace(/\son[a-z-]+\s*=\s*(['"]).*?\1/gi, "").replace(/\son[a-z-]+\s*=\s*[^\s>]+/gi, "");
202
- output = output.replace(
203
- /\s(href|src|xlink:href)\s*=\s*(['"])(.*?)\2/gi,
204
- (full, attrName, quote, rawValue) => isAllowedUrl(rawValue, allowedSchemes) ? full : ` ${attrName}=${quote}${quote}`
205
- );
202
+ const urlAttrs = ["href", "src", "xlink:href", "xlink\\:href"];
203
+ for (const attr of urlAttrs) {
204
+ const regex = new RegExp(`\\s(${attr})\\s*=\\s*(['"])(.*?)\\2`, "gi");
205
+ output = output.replace(regex, (full, attrName, quote, rawValue) => {
206
+ if (rawValue.toLowerCase().startsWith("javascript:")) {
207
+ return ` ${attrName}=${quote}${quote}`;
208
+ }
209
+ return isAllowedUrl(rawValue, allowedSchemes) ? full : ` ${attrName}=${quote}${quote}`;
210
+ });
211
+ }
212
+ output = output.replace(/javascript:/gi, "");
206
213
  return output;
207
214
  }
208
215
  function shouldFallbackToServerSvgSanitizer(source, sanitized) {
@@ -223,27 +230,28 @@ export function sanitizeMarkup(html, options = {}) {
223
230
  ...options.profile === "svg" ? NORMALIZED_SVG_ATTRIBUTES : DEFAULT_HTML_ATTRIBUTES
224
231
  ];
225
232
  const purifierInstance = getPurifier();
233
+ let sanitized = serverSideSanitize(source, allowedSchemes);
226
234
  if (!purifierInstance) {
227
- return serverSideSanitize(source, allowedSchemes);
235
+ return sanitized;
228
236
  }
229
- const sanitized = purifierInstance.sanitize(source, {
230
- ALLOWED_TAGS: allowedTags,
231
- ALLOWED_ATTR: allowedAttributes,
232
- ALLOW_DATA_ATTR: options.allowDataAttributes ?? true,
233
- USE_PROFILES: options.profile === "svg" ? { html: true, svg: true, svgFilters: true } : { html: true }
234
- });
235
- if (options.profile === "svg" && shouldFallbackToServerSvgSanitizer(source, String(sanitized))) {
236
- return postProcessSanitizedMarkup(serverSideSanitize(source, allowedSchemes), allowedSchemes);
237
+ try {
238
+ const domSanitized = purifierInstance.sanitize(sanitized, {
239
+ ALLOWED_TAGS: allowedTags,
240
+ ALLOWED_ATTR: allowedAttributes,
241
+ ALLOW_DATA_ATTR: options.allowDataAttributes ?? true,
242
+ USE_PROFILES: options.profile === "svg" ? { html: true, svg: true, svgFilters: true } : { html: true }
243
+ });
244
+ if (options.profile === "svg" && shouldFallbackToServerSvgSanitizer(source, String(domSanitized))) {
245
+ return postProcessSanitizedMarkup(sanitized, allowedSchemes);
246
+ }
247
+ sanitized = String(domSanitized);
248
+ } catch {
237
249
  }
238
- return postProcessSanitizedMarkup(String(sanitized), allowedSchemes);
250
+ return postProcessSanitizedMarkup(sanitized, allowedSchemes);
239
251
  }
240
252
  export function sanitizeHighlightedHtml(html, options = {}) {
241
- return sanitizeMarkup(html, {
242
- ...options,
243
- allowedTags: ["code", "div", "pre", "span"],
244
- allowedAttributes: ["class"],
245
- profile: "html"
246
- });
253
+ const source = options.sanitizer ? options.sanitizer(html) : html;
254
+ return source.replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi, "").replace(/<iframe[\s\S]*?>[\s\S]*?<\/iframe>/gi, "").replace(/<object[\s\S]*?>[\s\S]*?<\/object>/gi, "").replace(/<embed[\s\S]*?>/gi, "").replace(/<img[\s\S]*?>/gi, "").replace(/\son[a-z-]+\s*=\s*(['"]).*?\1/gi, "").replace(/\son[a-z-]+\s*=\s*[^\s>]+/gi, "").replace(/javascript:/gi, "");
247
255
  }
248
256
  export function sanitizeSvgMarkup(svg, options = {}) {
249
257
  return sanitizeMarkup(svg, {