beyond-webui 1.1.5 → 1.1.7

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 (507) hide show
  1. package/dist/index.css +1 -1
  2. package/es/components/affix/index.mjs +2 -2
  3. package/es/components/affix/src/affix.mjs +26 -117
  4. package/es/components/affix/src/affix.mjs.map +1 -1
  5. package/es/components/affix/src/affix2.mjs +117 -26
  6. package/es/components/affix/src/affix2.mjs.map +1 -1
  7. package/es/components/alert/index.mjs +2 -2
  8. package/es/components/alert/src/alert.mjs +96 -36
  9. package/es/components/alert/src/alert.mjs.map +1 -1
  10. package/es/components/alert/src/alert2.mjs +36 -96
  11. package/es/components/alert/src/alert2.mjs.map +1 -1
  12. package/es/components/autocomplete/src/autocomplete2.mjs +1 -1
  13. package/es/components/avatar/index.mjs +2 -2
  14. package/es/components/avatar/src/avatar.mjs +32 -67
  15. package/es/components/avatar/src/avatar.mjs.map +1 -1
  16. package/es/components/avatar/src/avatar2.mjs +67 -32
  17. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  18. package/es/components/badge/index.mjs +2 -2
  19. package/es/components/badge/src/badge.mjs +17 -55
  20. package/es/components/badge/src/badge.mjs.map +1 -1
  21. package/es/components/badge/src/badge2.mjs +55 -17
  22. package/es/components/badge/src/badge2.mjs.map +1 -1
  23. package/es/components/breadcrumb/index.mjs +4 -4
  24. package/es/components/breadcrumb/src/breadcrumb-item.mjs +56 -11
  25. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  26. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +11 -56
  27. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  28. package/es/components/breadcrumb/src/breadcrumb.mjs +36 -11
  29. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  30. package/es/components/breadcrumb/src/breadcrumb2.mjs +11 -36
  31. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  32. package/es/components/button/index.mjs +3 -3
  33. package/es/components/button/src/button-group.mjs +30 -6
  34. package/es/components/button/src/button-group.mjs.map +1 -1
  35. package/es/components/button/src/button-group2.mjs +6 -30
  36. package/es/components/button/src/button-group2.mjs.map +1 -1
  37. package/es/components/button/src/button.mjs +76 -57
  38. package/es/components/button/src/button.mjs.map +1 -1
  39. package/es/components/button/src/button2.mjs +57 -76
  40. package/es/components/button/src/button2.mjs.map +1 -1
  41. package/es/components/carousel/index.mjs +2 -2
  42. package/es/components/carousel/src/carousel.mjs +159 -56
  43. package/es/components/carousel/src/carousel.mjs.map +1 -1
  44. package/es/components/carousel/src/carousel2.mjs +56 -159
  45. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  46. package/es/components/cascader/src/cascader2.mjs +2 -2
  47. package/es/components/checkbox/index.mjs +2 -2
  48. package/es/components/checkbox/src/checkbox-group.mjs +28 -72
  49. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  50. package/es/components/checkbox/src/checkbox-group2.mjs +72 -28
  51. package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
  52. package/es/components/collapse/index.mjs +2 -2
  53. package/es/components/collapse/src/collapse-item.mjs +14 -96
  54. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  55. package/es/components/collapse/src/collapse-item2.mjs +96 -14
  56. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  57. package/es/components/countdown/index.mjs +2 -2
  58. package/es/components/countdown/src/countdown.mjs +74 -23
  59. package/es/components/countdown/src/countdown.mjs.map +1 -1
  60. package/es/components/countdown/src/countdown2.mjs +23 -74
  61. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  62. package/es/components/dialog/src/dialog-content.mjs +106 -37
  63. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  64. package/es/components/dialog/src/dialog-content2.mjs +37 -106
  65. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  66. package/es/components/dialog/src/dialog.mjs +1 -1
  67. package/es/components/dialog/src/dialog2.mjs +1 -1
  68. package/es/components/divider/index.mjs +2 -2
  69. package/es/components/divider/src/divider.mjs +17 -35
  70. package/es/components/divider/src/divider.mjs.map +1 -1
  71. package/es/components/divider/src/divider2.mjs +35 -17
  72. package/es/components/divider/src/divider2.mjs.map +1 -1
  73. package/es/components/drawer/index.mjs +2 -2
  74. package/es/components/drawer/src/drawer.mjs +26 -177
  75. package/es/components/drawer/src/drawer.mjs.map +1 -1
  76. package/es/components/drawer/src/drawer2.mjs +177 -26
  77. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  78. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  79. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  80. package/es/components/dropdown/src/dropdown.mjs +2 -2
  81. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  82. package/es/components/form/index.mjs +2 -2
  83. package/es/components/form/src/form-item.mjs +43 -317
  84. package/es/components/form/src/form-item.mjs.map +1 -1
  85. package/es/components/form/src/form-item2.mjs +317 -43
  86. package/es/components/form/src/form-item2.mjs.map +1 -1
  87. package/es/components/image/index.mjs +2 -2
  88. package/es/components/image/src/image.mjs +220 -62
  89. package/es/components/image/src/image.mjs.map +1 -1
  90. package/es/components/image/src/image2.mjs +62 -220
  91. package/es/components/image/src/image2.mjs.map +1 -1
  92. package/es/components/image-viewer/index.mjs +2 -2
  93. package/es/components/image-viewer/src/image-viewer.mjs +39 -396
  94. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  95. package/es/components/image-viewer/src/image-viewer2.mjs +396 -39
  96. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  97. package/es/components/index.mjs +34 -34
  98. package/es/components/link/index.mjs +2 -2
  99. package/es/components/link/src/link.mjs +21 -50
  100. package/es/components/link/src/link.mjs.map +1 -1
  101. package/es/components/link/src/link2.mjs +50 -21
  102. package/es/components/link/src/link2.mjs.map +1 -1
  103. package/es/components/menu/index.mjs +2 -2
  104. package/es/components/menu/src/menu-item.mjs +14 -97
  105. package/es/components/menu/src/menu-item.mjs.map +1 -1
  106. package/es/components/menu/src/menu-item2.mjs +97 -14
  107. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  108. package/es/components/pagination/src/components/sizes.vue.d.ts +6 -6
  109. package/es/components/pagination/src/components/total.mjs +7 -28
  110. package/es/components/pagination/src/components/total.mjs.map +1 -1
  111. package/es/components/pagination/src/components/total2.mjs +28 -7
  112. package/es/components/pagination/src/components/total2.mjs.map +1 -1
  113. package/es/components/pagination/src/pagination.mjs +1 -1
  114. package/es/components/popconfirm/src/popconfirm2.mjs +2 -2
  115. package/es/components/popover/src/popover2.mjs +2 -2
  116. package/es/components/progress/index.mjs +2 -2
  117. package/es/components/progress/src/progress.mjs +57 -202
  118. package/es/components/progress/src/progress.mjs.map +1 -1
  119. package/es/components/progress/src/progress2.mjs +202 -57
  120. package/es/components/progress/src/progress2.mjs.map +1 -1
  121. package/es/components/radio/index.mjs +4 -4
  122. package/es/components/radio/src/radio-button.mjs +64 -9
  123. package/es/components/radio/src/radio-button.mjs.map +1 -1
  124. package/es/components/radio/src/radio-button2.mjs +9 -64
  125. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  126. package/es/components/radio/src/radio-group.mjs +1 -1
  127. package/es/components/radio/src/radio.mjs +30 -71
  128. package/es/components/radio/src/radio.mjs.map +1 -1
  129. package/es/components/radio/src/radio2.mjs +71 -30
  130. package/es/components/radio/src/radio2.mjs.map +1 -1
  131. package/es/components/roving-focus-group/index.mjs +3 -3
  132. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  133. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -29
  134. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  135. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +29 -27
  136. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  137. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  138. package/es/components/row/index.mjs +2 -2
  139. package/es/components/row/src/row.mjs +45 -30
  140. package/es/components/row/src/row.mjs.map +1 -1
  141. package/es/components/row/src/row2.mjs +30 -45
  142. package/es/components/row/src/row2.mjs.map +1 -1
  143. package/es/components/scrollbar/index.mjs +3 -3
  144. package/es/components/scrollbar/src/bar.mjs +17 -42
  145. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  146. package/es/components/scrollbar/src/bar2.mjs +42 -17
  147. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  148. package/es/components/scrollbar/src/scrollbar.mjs +174 -46
  149. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  150. package/es/components/scrollbar/src/scrollbar2.mjs +46 -174
  151. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  152. package/es/components/scrollbar/src/thumb.mjs +11 -130
  153. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  154. package/es/components/scrollbar/src/thumb2.mjs +130 -11
  155. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  156. package/es/components/select/index.d.ts +6 -6
  157. package/es/components/select/src/select.mjs +2 -2
  158. package/es/components/select/src/select.vue.d.ts +6 -6
  159. package/es/components/select-v2/index.d.ts +10 -10
  160. package/es/components/select-v2/src/defaults.mjs +1 -1
  161. package/es/components/select-v2/src/select.vue.d.ts +5 -5
  162. package/es/components/skeleton/index.mjs +2 -2
  163. package/es/components/skeleton/src/skeleton.mjs +49 -22
  164. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  165. package/es/components/skeleton/src/skeleton2.mjs +22 -49
  166. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  167. package/es/components/slider/index.mjs +2 -2
  168. package/es/components/slider/src/slider.mjs +233 -91
  169. package/es/components/slider/src/slider.mjs.map +1 -1
  170. package/es/components/slider/src/slider2.mjs +91 -233
  171. package/es/components/slider/src/slider2.mjs.map +1 -1
  172. package/es/components/statistic/index.mjs +2 -2
  173. package/es/components/statistic/src/statistic.mjs +25 -70
  174. package/es/components/statistic/src/statistic.mjs.map +1 -1
  175. package/es/components/statistic/src/statistic2.mjs +70 -25
  176. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  177. package/es/components/steps/index.mjs +2 -2
  178. package/es/components/steps/src/item.mjs +188 -19
  179. package/es/components/steps/src/item.mjs.map +1 -1
  180. package/es/components/steps/src/item2.mjs +19 -188
  181. package/es/components/steps/src/item2.mjs.map +1 -1
  182. package/es/components/switch/index.mjs +2 -2
  183. package/es/components/switch/src/switch.mjs +88 -241
  184. package/es/components/switch/src/switch.mjs.map +1 -1
  185. package/es/components/switch/src/switch2.mjs +241 -88
  186. package/es/components/switch/src/switch2.mjs.map +1 -1
  187. package/es/components/tag/index.mjs +2 -2
  188. package/es/components/tag/src/tag.mjs +33 -94
  189. package/es/components/tag/src/tag.mjs.map +1 -1
  190. package/es/components/tag/src/tag2.mjs +94 -33
  191. package/es/components/tag/src/tag2.mjs.map +1 -1
  192. package/es/components/teleport/index.mjs +2 -2
  193. package/es/components/teleport/src/teleport.mjs +18 -44
  194. package/es/components/teleport/src/teleport.mjs.map +1 -1
  195. package/es/components/teleport/src/teleport2.mjs +44 -18
  196. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  197. package/es/components/text/index.mjs +2 -2
  198. package/es/components/text/src/text.mjs +22 -35
  199. package/es/components/text/src/text.mjs.map +1 -1
  200. package/es/components/text/src/text2.mjs +35 -22
  201. package/es/components/text/src/text2.mjs.map +1 -1
  202. package/es/components/time-select/index.d.ts +26 -26
  203. package/es/components/time-select/src/time-select.vue.d.ts +13 -13
  204. package/es/components/tooltip/index.mjs +2 -2
  205. package/es/components/tooltip/src/content.mjs +177 -31
  206. package/es/components/tooltip/src/content.mjs.map +1 -1
  207. package/es/components/tooltip/src/content2.mjs +31 -177
  208. package/es/components/tooltip/src/content2.mjs.map +1 -1
  209. package/es/components/tooltip/src/tooltip.mjs +2 -2
  210. package/es/components/tooltip/src/tooltip2.mjs +2 -2
  211. package/es/components/tooltip/src/trigger.mjs +16 -73
  212. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  213. package/es/components/tooltip/src/trigger2.mjs +73 -16
  214. package/es/components/tooltip/src/trigger2.mjs.map +1 -1
  215. package/es/components/tooltip-v2/index.mjs +4 -4
  216. package/es/components/tooltip-v2/src/arrow.mjs +22 -37
  217. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  218. package/es/components/tooltip-v2/src/arrow2.mjs +37 -22
  219. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  220. package/es/components/tooltip-v2/src/content.mjs +50 -112
  221. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  222. package/es/components/tooltip-v2/src/content2.mjs +112 -50
  223. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  224. package/es/components/tooltip-v2/src/root.mjs +80 -17
  225. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  226. package/es/components/tooltip-v2/src/root2.mjs +17 -80
  227. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  228. package/es/components/tooltip-v2/src/tooltip.mjs +4 -4
  229. package/es/components/tooltip-v2/src/tooltip2.mjs +8 -8
  230. package/es/components/tooltip-v2/src/trigger.mjs +89 -12
  231. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  232. package/es/components/tooltip-v2/src/trigger2.mjs +12 -89
  233. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  234. package/es/components/transfer/index.mjs +2 -2
  235. package/es/components/transfer/src/composables/use-checked-change.mjs +1 -1
  236. package/es/components/transfer/src/transfer-panel.mjs +1 -1
  237. package/es/components/transfer/src/transfer.mjs +160 -69
  238. package/es/components/transfer/src/transfer.mjs.map +1 -1
  239. package/es/components/transfer/src/transfer2.mjs +69 -160
  240. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  241. package/es/index.mjs +34 -34
  242. package/lib/components/affix/index.js +2 -2
  243. package/lib/components/affix/src/affix.js +27 -117
  244. package/lib/components/affix/src/affix.js.map +1 -1
  245. package/lib/components/affix/src/affix2.js +117 -27
  246. package/lib/components/affix/src/affix2.js.map +1 -1
  247. package/lib/components/alert/index.js +2 -2
  248. package/lib/components/alert/src/alert.js +95 -37
  249. package/lib/components/alert/src/alert.js.map +1 -1
  250. package/lib/components/alert/src/alert2.js +37 -95
  251. package/lib/components/alert/src/alert2.js.map +1 -1
  252. package/lib/components/autocomplete/src/autocomplete2.js +1 -1
  253. package/lib/components/avatar/index.js +2 -2
  254. package/lib/components/avatar/src/avatar.js +33 -67
  255. package/lib/components/avatar/src/avatar.js.map +1 -1
  256. package/lib/components/avatar/src/avatar2.js +67 -33
  257. package/lib/components/avatar/src/avatar2.js.map +1 -1
  258. package/lib/components/badge/index.js +2 -2
  259. package/lib/components/badge/src/badge.js +17 -55
  260. package/lib/components/badge/src/badge.js.map +1 -1
  261. package/lib/components/badge/src/badge2.js +55 -17
  262. package/lib/components/badge/src/badge2.js.map +1 -1
  263. package/lib/components/breadcrumb/index.js +4 -4
  264. package/lib/components/breadcrumb/src/breadcrumb-item.js +56 -11
  265. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  266. package/lib/components/breadcrumb/src/breadcrumb-item2.js +11 -56
  267. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  268. package/lib/components/breadcrumb/src/breadcrumb.js +36 -11
  269. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  270. package/lib/components/breadcrumb/src/breadcrumb2.js +11 -36
  271. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  272. package/lib/components/button/index.js +3 -3
  273. package/lib/components/button/src/button-group.js +30 -6
  274. package/lib/components/button/src/button-group.js.map +1 -1
  275. package/lib/components/button/src/button-group2.js +6 -30
  276. package/lib/components/button/src/button-group2.js.map +1 -1
  277. package/lib/components/button/src/button.js +76 -60
  278. package/lib/components/button/src/button.js.map +1 -1
  279. package/lib/components/button/src/button2.js +60 -76
  280. package/lib/components/button/src/button2.js.map +1 -1
  281. package/lib/components/carousel/index.js +2 -2
  282. package/lib/components/carousel/src/carousel.js +159 -57
  283. package/lib/components/carousel/src/carousel.js.map +1 -1
  284. package/lib/components/carousel/src/carousel2.js +57 -159
  285. package/lib/components/carousel/src/carousel2.js.map +1 -1
  286. package/lib/components/cascader/src/cascader2.js +2 -2
  287. package/lib/components/checkbox/index.js +2 -2
  288. package/lib/components/checkbox/src/checkbox-group.js +29 -72
  289. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  290. package/lib/components/checkbox/src/checkbox-group2.js +72 -29
  291. package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
  292. package/lib/components/collapse/index.js +2 -2
  293. package/lib/components/collapse/src/collapse-item.js +14 -96
  294. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  295. package/lib/components/collapse/src/collapse-item2.js +96 -14
  296. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  297. package/lib/components/countdown/index.js +2 -2
  298. package/lib/components/countdown/src/countdown.js +74 -24
  299. package/lib/components/countdown/src/countdown.js.map +1 -1
  300. package/lib/components/countdown/src/countdown2.js +24 -74
  301. package/lib/components/countdown/src/countdown2.js.map +1 -1
  302. package/lib/components/dialog/src/dialog-content.js +105 -37
  303. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  304. package/lib/components/dialog/src/dialog-content2.js +37 -105
  305. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  306. package/lib/components/dialog/src/dialog.js +1 -1
  307. package/lib/components/dialog/src/dialog2.js +1 -1
  308. package/lib/components/divider/index.js +2 -2
  309. package/lib/components/divider/src/divider.js +17 -35
  310. package/lib/components/divider/src/divider.js.map +1 -1
  311. package/lib/components/divider/src/divider2.js +35 -17
  312. package/lib/components/divider/src/divider2.js.map +1 -1
  313. package/lib/components/drawer/index.js +2 -2
  314. package/lib/components/drawer/src/drawer.js +27 -177
  315. package/lib/components/drawer/src/drawer.js.map +1 -1
  316. package/lib/components/drawer/src/drawer2.js +177 -27
  317. package/lib/components/drawer/src/drawer2.js.map +1 -1
  318. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  319. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  320. package/lib/components/dropdown/src/dropdown.js +2 -2
  321. package/lib/components/dropdown/src/dropdown2.js +1 -1
  322. package/lib/components/form/index.js +2 -2
  323. package/lib/components/form/src/form-item.js +44 -321
  324. package/lib/components/form/src/form-item.js.map +1 -1
  325. package/lib/components/form/src/form-item2.js +321 -44
  326. package/lib/components/form/src/form-item2.js.map +1 -1
  327. package/lib/components/image/index.js +2 -2
  328. package/lib/components/image/src/image.js +219 -62
  329. package/lib/components/image/src/image.js.map +1 -1
  330. package/lib/components/image/src/image2.js +62 -219
  331. package/lib/components/image/src/image2.js.map +1 -1
  332. package/lib/components/image-viewer/index.js +2 -2
  333. package/lib/components/image-viewer/src/image-viewer.js +40 -396
  334. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  335. package/lib/components/image-viewer/src/image-viewer2.js +396 -40
  336. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  337. package/lib/components/index.js +34 -34
  338. package/lib/components/link/index.js +2 -2
  339. package/lib/components/link/src/link.js +22 -50
  340. package/lib/components/link/src/link.js.map +1 -1
  341. package/lib/components/link/src/link2.js +50 -22
  342. package/lib/components/link/src/link2.js.map +1 -1
  343. package/lib/components/menu/index.js +2 -2
  344. package/lib/components/menu/src/menu-item.js +15 -97
  345. package/lib/components/menu/src/menu-item.js.map +1 -1
  346. package/lib/components/menu/src/menu-item2.js +97 -15
  347. package/lib/components/menu/src/menu-item2.js.map +1 -1
  348. package/lib/components/pagination/src/components/sizes.vue.d.ts +6 -6
  349. package/lib/components/pagination/src/components/total.js +7 -28
  350. package/lib/components/pagination/src/components/total.js.map +1 -1
  351. package/lib/components/pagination/src/components/total2.js +28 -7
  352. package/lib/components/pagination/src/components/total2.js.map +1 -1
  353. package/lib/components/pagination/src/pagination.js +1 -1
  354. package/lib/components/popconfirm/src/popconfirm2.js +2 -2
  355. package/lib/components/popover/src/popover2.js +2 -2
  356. package/lib/components/progress/index.js +2 -2
  357. package/lib/components/progress/src/progress.js +57 -202
  358. package/lib/components/progress/src/progress.js.map +1 -1
  359. package/lib/components/progress/src/progress2.js +202 -57
  360. package/lib/components/progress/src/progress2.js.map +1 -1
  361. package/lib/components/radio/index.js +4 -4
  362. package/lib/components/radio/src/radio-button.js +64 -9
  363. package/lib/components/radio/src/radio-button.js.map +1 -1
  364. package/lib/components/radio/src/radio-button2.js +9 -64
  365. package/lib/components/radio/src/radio-button2.js.map +1 -1
  366. package/lib/components/radio/src/radio-group.js +1 -1
  367. package/lib/components/radio/src/radio.js +32 -71
  368. package/lib/components/radio/src/radio.js.map +1 -1
  369. package/lib/components/radio/src/radio2.js +71 -32
  370. package/lib/components/radio/src/radio2.js.map +1 -1
  371. package/lib/components/roving-focus-group/index.js +2 -2
  372. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  373. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -33
  374. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  375. package/lib/components/roving-focus-group/src/roving-focus-group2.js +33 -27
  376. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  377. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  378. package/lib/components/row/index.js +2 -2
  379. package/lib/components/row/src/row.js +45 -32
  380. package/lib/components/row/src/row.js.map +1 -1
  381. package/lib/components/row/src/row2.js +32 -45
  382. package/lib/components/row/src/row2.js.map +1 -1
  383. package/lib/components/scrollbar/index.js +3 -3
  384. package/lib/components/scrollbar/src/bar.js +17 -42
  385. package/lib/components/scrollbar/src/bar.js.map +1 -1
  386. package/lib/components/scrollbar/src/bar2.js +42 -17
  387. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  388. package/lib/components/scrollbar/src/scrollbar.js +174 -47
  389. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  390. package/lib/components/scrollbar/src/scrollbar2.js +47 -174
  391. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  392. package/lib/components/scrollbar/src/thumb.js +11 -130
  393. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  394. package/lib/components/scrollbar/src/thumb2.js +130 -11
  395. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  396. package/lib/components/select/index.d.ts +6 -6
  397. package/lib/components/select/src/select.js +2 -2
  398. package/lib/components/select/src/select.vue.d.ts +6 -6
  399. package/lib/components/select-v2/index.d.ts +10 -10
  400. package/lib/components/select-v2/src/defaults.js +1 -1
  401. package/lib/components/select-v2/src/select.vue.d.ts +5 -5
  402. package/lib/components/skeleton/index.js +2 -2
  403. package/lib/components/skeleton/src/skeleton.js +49 -22
  404. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  405. package/lib/components/skeleton/src/skeleton2.js +22 -49
  406. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  407. package/lib/components/slider/index.js +2 -2
  408. package/lib/components/slider/src/slider.js +233 -92
  409. package/lib/components/slider/src/slider.js.map +1 -1
  410. package/lib/components/slider/src/slider2.js +92 -233
  411. package/lib/components/slider/src/slider2.js.map +1 -1
  412. package/lib/components/statistic/index.js +2 -2
  413. package/lib/components/statistic/src/statistic.js +25 -70
  414. package/lib/components/statistic/src/statistic.js.map +1 -1
  415. package/lib/components/statistic/src/statistic2.js +70 -25
  416. package/lib/components/statistic/src/statistic2.js.map +1 -1
  417. package/lib/components/steps/index.js +2 -2
  418. package/lib/components/steps/src/item.js +188 -19
  419. package/lib/components/steps/src/item.js.map +1 -1
  420. package/lib/components/steps/src/item2.js +19 -188
  421. package/lib/components/steps/src/item2.js.map +1 -1
  422. package/lib/components/switch/index.js +2 -2
  423. package/lib/components/switch/src/switch.js +88 -240
  424. package/lib/components/switch/src/switch.js.map +1 -1
  425. package/lib/components/switch/src/switch2.js +240 -88
  426. package/lib/components/switch/src/switch2.js.map +1 -1
  427. package/lib/components/tag/index.js +2 -2
  428. package/lib/components/tag/src/tag.js +34 -94
  429. package/lib/components/tag/src/tag.js.map +1 -1
  430. package/lib/components/tag/src/tag2.js +94 -34
  431. package/lib/components/tag/src/tag2.js.map +1 -1
  432. package/lib/components/teleport/index.js +2 -2
  433. package/lib/components/teleport/src/teleport.js +18 -44
  434. package/lib/components/teleport/src/teleport.js.map +1 -1
  435. package/lib/components/teleport/src/teleport2.js +44 -18
  436. package/lib/components/teleport/src/teleport2.js.map +1 -1
  437. package/lib/components/text/index.js +2 -2
  438. package/lib/components/text/src/text.js +22 -35
  439. package/lib/components/text/src/text.js.map +1 -1
  440. package/lib/components/text/src/text2.js +35 -22
  441. package/lib/components/text/src/text2.js.map +1 -1
  442. package/lib/components/time-select/index.d.ts +26 -26
  443. package/lib/components/time-select/src/time-select.vue.d.ts +13 -13
  444. package/lib/components/tooltip/index.js +2 -2
  445. package/lib/components/tooltip/src/content.js +177 -31
  446. package/lib/components/tooltip/src/content.js.map +1 -1
  447. package/lib/components/tooltip/src/content2.js +31 -177
  448. package/lib/components/tooltip/src/content2.js.map +1 -1
  449. package/lib/components/tooltip/src/tooltip.js +2 -2
  450. package/lib/components/tooltip/src/tooltip2.js +2 -2
  451. package/lib/components/tooltip/src/trigger.js +16 -73
  452. package/lib/components/tooltip/src/trigger.js.map +1 -1
  453. package/lib/components/tooltip/src/trigger2.js +73 -16
  454. package/lib/components/tooltip/src/trigger2.js.map +1 -1
  455. package/lib/components/tooltip-v2/index.js +4 -4
  456. package/lib/components/tooltip-v2/src/arrow.js +23 -37
  457. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  458. package/lib/components/tooltip-v2/src/arrow2.js +37 -23
  459. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  460. package/lib/components/tooltip-v2/src/content.js +50 -112
  461. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  462. package/lib/components/tooltip-v2/src/content2.js +112 -50
  463. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  464. package/lib/components/tooltip-v2/src/root.js +80 -17
  465. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  466. package/lib/components/tooltip-v2/src/root2.js +17 -80
  467. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  468. package/lib/components/tooltip-v2/src/tooltip.js +4 -4
  469. package/lib/components/tooltip-v2/src/tooltip2.js +8 -8
  470. package/lib/components/tooltip-v2/src/trigger.js +89 -12
  471. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  472. package/lib/components/tooltip-v2/src/trigger2.js +12 -89
  473. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  474. package/lib/components/transfer/index.js +2 -2
  475. package/lib/components/transfer/src/composables/use-checked-change.js +1 -1
  476. package/lib/components/transfer/src/transfer-panel.js +1 -1
  477. package/lib/components/transfer/src/transfer.js +160 -73
  478. package/lib/components/transfer/src/transfer.js.map +1 -1
  479. package/lib/components/transfer/src/transfer2.js +73 -160
  480. package/lib/components/transfer/src/transfer2.js.map +1 -1
  481. package/lib/index.js +34 -34
  482. package/package.json +1 -1
  483. package/theme-chalk/el-button.css +1 -1
  484. package/theme-chalk/el-checkbox.css +1 -1
  485. package/theme-chalk/el-dialog.css +1 -1
  486. package/theme-chalk/el-form.css +1 -1
  487. package/theme-chalk/el-input.css +1 -1
  488. package/theme-chalk/el-link.css +1 -1
  489. package/theme-chalk/el-message-box.css +1 -1
  490. package/theme-chalk/el-message.css +1 -1
  491. package/theme-chalk/el-pagination.css +1 -1
  492. package/theme-chalk/el-select-dropdown.css +1 -1
  493. package/theme-chalk/el-select.css +1 -1
  494. package/theme-chalk/el-table.css +1 -1
  495. package/theme-chalk/index.css +1 -1
  496. package/theme-chalk/src/button.scss +1 -1
  497. package/theme-chalk/src/checkbox.scss +1 -1
  498. package/theme-chalk/src/dialog.scss +2 -2
  499. package/theme-chalk/src/form.scss +1 -1
  500. package/theme-chalk/src/input.scss +2 -2
  501. package/theme-chalk/src/link.scss +1 -1
  502. package/theme-chalk/src/message-box.scss +2 -2
  503. package/theme-chalk/src/message.scss +1 -1
  504. package/theme-chalk/src/pagination.scss +2 -2
  505. package/theme-chalk/src/select-dropdown.scss +1 -1
  506. package/theme-chalk/src/table.scss +5 -2
  507. package/theme-chalk/src/var.scss +1 -0
@@ -7,7 +7,7 @@ import Prev from './components/prev2.mjs';
7
7
  import Next from './components/next2.mjs';
8
8
  import Sizes from './components/sizes.mjs';
9
9
  import Jumper from './components/jumper2.mjs';
10
- import Total from './components/total.mjs';
10
+ import Total from './components/total2.mjs';
11
11
  import Pager from './components/pager2.mjs';
12
12
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
13
13
  import { isNumber } from '../../../utils/types.mjs';
@@ -3,9 +3,9 @@ import { QuestionFilled } from '@element-plus/icons-vue';
3
3
  import '../../../utils/index.mjs';
4
4
  import '../../tooltip/index.mjs';
5
5
  import { buildProps } from '../../../utils/vue/props/runtime.mjs';
6
- import { buttonTypes } from '../../button/src/button.mjs';
6
+ import { buttonTypes } from '../../button/src/button2.mjs';
7
7
  import { iconPropType } from '../../../utils/vue/icon.mjs';
8
- import { useTooltipContentProps } from '../../tooltip/src/content.mjs';
8
+ import { useTooltipContentProps } from '../../tooltip/src/content2.mjs';
9
9
 
10
10
  const popconfirmProps = buildProps({
11
11
  title: String,
@@ -2,9 +2,9 @@ import '../../../utils/index.mjs';
2
2
  import '../../tooltip/index.mjs';
3
3
  import '../../dropdown/index.mjs';
4
4
  import { buildProps } from '../../../utils/vue/props/runtime.mjs';
5
- import { useTooltipTriggerProps } from '../../tooltip/src/trigger2.mjs';
5
+ import { useTooltipTriggerProps } from '../../tooltip/src/trigger.mjs';
6
6
  import { dropdownProps } from '../../dropdown/src/dropdown.mjs';
7
- import { useTooltipContentProps } from '../../tooltip/src/content.mjs';
7
+ import { useTooltipContentProps } from '../../tooltip/src/content2.mjs';
8
8
  import { isBoolean } from '../../../utils/types.mjs';
9
9
 
10
10
  const popoverProps = buildProps({
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
- import Progress from './src/progress.mjs';
3
- export { progressProps } from './src/progress2.mjs';
2
+ import Progress from './src/progress2.mjs';
3
+ export { progressProps } from './src/progress.mjs';
4
4
  import { withInstall } from '../../utils/vue/install.mjs';
5
5
 
6
6
  const ElProgress = withInstall(Progress);
@@ -1,208 +1,63 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, normalizeStyle, renderSlot, toDisplayString, createCommentVNode, createBlock, withCtx, resolveDynamicComponent } from 'vue';
2
- import { ElIcon } from '../../icon/index.mjs';
3
- import { WarningFilled, CircleCheck, CircleClose, Check, Close } from '@element-plus/icons-vue';
4
- import '../../../hooks/index.mjs';
5
1
  import '../../../utils/index.mjs';
6
- import { progressProps } from './progress2.mjs';
7
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
- import { isString, isFunction } from '@vue/shared';
2
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
10
3
 
11
- const _hoisted_1 = ["aria-valuenow"];
12
- const _hoisted_2 = { viewBox: "0 0 100 100" };
13
- const _hoisted_3 = ["d", "stroke", "stroke-width"];
14
- const _hoisted_4 = ["d", "stroke", "opacity", "stroke-linecap", "stroke-width"];
15
- const _hoisted_5 = { key: 0 };
16
- const __default__ = defineComponent({
17
- name: "ElProgress"
18
- });
19
- const _sfc_main = /* @__PURE__ */ defineComponent({
20
- ...__default__,
21
- props: progressProps,
22
- setup(__props) {
23
- const props = __props;
24
- const STATUS_COLOR_MAP = {
25
- success: "#13ce66",
26
- exception: "#ff4949",
27
- warning: "#e6a23c",
28
- default: "#20a0ff"
29
- };
30
- const ns = useNamespace("progress");
31
- const barStyle = computed(() => ({
32
- width: `${props.percentage}%`,
33
- animationDuration: `${props.duration}s`,
34
- backgroundColor: getCurrentColor(props.percentage)
35
- }));
36
- const relativeStrokeWidth = computed(() => (props.strokeWidth / props.width * 100).toFixed(1));
37
- const radius = computed(() => {
38
- if (["circle", "dashboard"].includes(props.type)) {
39
- return Number.parseInt(`${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`, 10);
40
- }
41
- return 0;
42
- });
43
- const trackPath = computed(() => {
44
- const r = radius.value;
45
- const isDashboard = props.type === "dashboard";
46
- return `
47
- M 50 50
48
- m 0 ${isDashboard ? "" : "-"}${r}
49
- a ${r} ${r} 0 1 1 0 ${isDashboard ? "-" : ""}${r * 2}
50
- a ${r} ${r} 0 1 1 0 ${isDashboard ? "" : "-"}${r * 2}
51
- `;
52
- });
53
- const perimeter = computed(() => 2 * Math.PI * radius.value);
54
- const rate = computed(() => props.type === "dashboard" ? 0.75 : 1);
55
- const strokeDashoffset = computed(() => {
56
- const offset = -1 * perimeter.value * (1 - rate.value) / 2;
57
- return `${offset}px`;
58
- });
59
- const trailPathStyle = computed(() => ({
60
- strokeDasharray: `${perimeter.value * rate.value}px, ${perimeter.value}px`,
61
- strokeDashoffset: strokeDashoffset.value
62
- }));
63
- const circlePathStyle = computed(() => ({
64
- strokeDasharray: `${perimeter.value * rate.value * (props.percentage / 100)}px, ${perimeter.value}px`,
65
- strokeDashoffset: strokeDashoffset.value,
66
- transition: "stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"
67
- }));
68
- const stroke = computed(() => {
69
- let ret;
70
- if (props.color) {
71
- ret = getCurrentColor(props.percentage);
72
- } else {
73
- ret = STATUS_COLOR_MAP[props.status] || STATUS_COLOR_MAP.default;
74
- }
75
- return ret;
76
- });
77
- const statusIcon = computed(() => {
78
- if (props.status === "warning") {
79
- return WarningFilled;
80
- }
81
- if (props.type === "line") {
82
- return props.status === "success" ? CircleCheck : CircleClose;
83
- } else {
84
- return props.status === "success" ? Check : Close;
85
- }
86
- });
87
- const progressTextSize = computed(() => {
88
- return props.type === "line" ? 12 + props.strokeWidth * 0.4 : props.width * 0.111111 + 2;
89
- });
90
- const content = computed(() => props.format(props.percentage));
91
- function getColors(color) {
92
- const span = 100 / color.length;
93
- const seriesColors = color.map((seriesColor, index) => {
94
- if (isString(seriesColor)) {
95
- return {
96
- color: seriesColor,
97
- percentage: (index + 1) * span
98
- };
99
- }
100
- return seriesColor;
101
- });
102
- return seriesColors.sort((a, b) => a.percentage - b.percentage);
103
- }
104
- const getCurrentColor = (percentage) => {
105
- var _a;
106
- const { color } = props;
107
- if (isFunction(color)) {
108
- return color(percentage);
109
- } else if (isString(color)) {
110
- return color;
111
- } else {
112
- const colors = getColors(color);
113
- for (const color2 of colors) {
114
- if (color2.percentage > percentage)
115
- return color2.color;
116
- }
117
- return (_a = colors[colors.length - 1]) == null ? void 0 : _a.color;
118
- }
119
- };
120
- return (_ctx, _cache) => {
121
- return openBlock(), createElementBlock("div", {
122
- class: normalizeClass([
123
- unref(ns).b(),
124
- unref(ns).m(_ctx.type),
125
- unref(ns).is(_ctx.status),
126
- {
127
- [unref(ns).m("without-text")]: !_ctx.showText,
128
- [unref(ns).m("text-inside")]: _ctx.textInside
129
- }
130
- ]),
131
- role: "progressbar",
132
- "aria-valuenow": _ctx.percentage,
133
- "aria-valuemin": "0",
134
- "aria-valuemax": "100"
135
- }, [
136
- _ctx.type === "line" ? (openBlock(), createElementBlock("div", {
137
- key: 0,
138
- class: normalizeClass(unref(ns).b("bar"))
139
- }, [
140
- createElementVNode("div", {
141
- class: normalizeClass(unref(ns).be("bar", "outer")),
142
- style: normalizeStyle({ height: `${_ctx.strokeWidth}px` })
143
- }, [
144
- createElementVNode("div", {
145
- class: normalizeClass([
146
- unref(ns).be("bar", "inner"),
147
- { [unref(ns).bem("bar", "inner", "indeterminate")]: _ctx.indeterminate }
148
- ]),
149
- style: normalizeStyle(unref(barStyle))
150
- }, [
151
- (_ctx.showText || _ctx.$slots.default) && _ctx.textInside ? (openBlock(), createElementBlock("div", {
152
- key: 0,
153
- class: normalizeClass(unref(ns).be("bar", "innerText"))
154
- }, [
155
- renderSlot(_ctx.$slots, "default", { percentage: _ctx.percentage }, () => [
156
- createElementVNode("span", null, toDisplayString(unref(content)), 1)
157
- ])
158
- ], 2)) : createCommentVNode("v-if", true)
159
- ], 6)
160
- ], 6)
161
- ], 2)) : (openBlock(), createElementBlock("div", {
162
- key: 1,
163
- class: normalizeClass(unref(ns).b("circle")),
164
- style: normalizeStyle({ height: `${_ctx.width}px`, width: `${_ctx.width}px` })
165
- }, [
166
- (openBlock(), createElementBlock("svg", _hoisted_2, [
167
- createElementVNode("path", {
168
- class: normalizeClass(unref(ns).be("circle", "track")),
169
- d: unref(trackPath),
170
- stroke: `var(${unref(ns).cssVarName("fill-color-light")}, #e5e9f2)`,
171
- "stroke-width": unref(relativeStrokeWidth),
172
- fill: "none",
173
- style: normalizeStyle(unref(trailPathStyle))
174
- }, null, 14, _hoisted_3),
175
- createElementVNode("path", {
176
- class: normalizeClass(unref(ns).be("circle", "path")),
177
- d: unref(trackPath),
178
- stroke: unref(stroke),
179
- fill: "none",
180
- opacity: _ctx.percentage ? 1 : 0,
181
- "stroke-linecap": _ctx.strokeLinecap,
182
- "stroke-width": unref(relativeStrokeWidth),
183
- style: normalizeStyle(unref(circlePathStyle))
184
- }, null, 14, _hoisted_4)
185
- ]))
186
- ], 6)),
187
- (_ctx.showText || _ctx.$slots.default) && !_ctx.textInside ? (openBlock(), createElementBlock("div", {
188
- key: 2,
189
- class: normalizeClass(unref(ns).e("text")),
190
- style: normalizeStyle({ fontSize: `${unref(progressTextSize)}px` })
191
- }, [
192
- renderSlot(_ctx.$slots, "default", { percentage: _ctx.percentage }, () => [
193
- !_ctx.status ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(unref(content)), 1)) : (openBlock(), createBlock(unref(ElIcon), { key: 1 }, {
194
- default: withCtx(() => [
195
- (openBlock(), createBlock(resolveDynamicComponent(unref(statusIcon))))
196
- ]),
197
- _: 1
198
- }))
199
- ])
200
- ], 6)) : createCommentVNode("v-if", true)
201
- ], 10, _hoisted_1);
202
- };
4
+ const progressProps = buildProps({
5
+ type: {
6
+ type: String,
7
+ default: "line",
8
+ values: ["line", "circle", "dashboard"]
9
+ },
10
+ percentage: {
11
+ type: Number,
12
+ default: 0,
13
+ validator: (val) => val >= 0 && val <= 100
14
+ },
15
+ status: {
16
+ type: String,
17
+ default: "",
18
+ values: ["", "success", "exception", "warning"]
19
+ },
20
+ indeterminate: {
21
+ type: Boolean,
22
+ default: false
23
+ },
24
+ duration: {
25
+ type: Number,
26
+ default: 3
27
+ },
28
+ strokeWidth: {
29
+ type: Number,
30
+ default: 6
31
+ },
32
+ strokeLinecap: {
33
+ type: definePropType(String),
34
+ default: "round"
35
+ },
36
+ textInside: {
37
+ type: Boolean,
38
+ default: false
39
+ },
40
+ width: {
41
+ type: Number,
42
+ default: 126
43
+ },
44
+ showText: {
45
+ type: Boolean,
46
+ default: true
47
+ },
48
+ color: {
49
+ type: definePropType([
50
+ String,
51
+ Array,
52
+ Function
53
+ ]),
54
+ default: ""
55
+ },
56
+ format: {
57
+ type: definePropType(Function),
58
+ default: (percentage) => `${percentage}%`
203
59
  }
204
60
  });
205
- var Progress = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:\\Haulistix\\beyond-ui\\packages\\components\\progress\\src\\progress.vue"]]);
206
61
 
207
- export { Progress as default };
62
+ export { progressProps };
208
63
  //# sourceMappingURL=progress.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress.mjs","sources":["../../../../../../packages/components/progress/src/progress.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(type),\n ns.is(status),\n {\n [ns.m('without-text')]: !showText,\n [ns.m('text-inside')]: textInside,\n },\n ]\"\n role=\"progressbar\"\n :aria-valuenow=\"percentage\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div v-if=\"type === 'line'\" :class=\"ns.b('bar')\">\n <div\n :class=\"ns.be('bar', 'outer')\"\n :style=\"{ height: `${strokeWidth}px` }\"\n >\n <div\n :class=\"[\n ns.be('bar', 'inner'),\n { [ns.bem('bar', 'inner', 'indeterminate')]: indeterminate },\n ]\"\n :style=\"barStyle\"\n >\n <div\n v-if=\"(showText || $slots.default) && textInside\"\n :class=\"ns.be('bar', 'innerText')\"\n >\n <slot :percentage=\"percentage\">\n <span>{{ content }}</span>\n </slot>\n </div>\n </div>\n </div>\n </div>\n <div\n v-else\n :class=\"ns.b('circle')\"\n :style=\"{ height: `${width}px`, width: `${width}px` }\"\n >\n <svg viewBox=\"0 0 100 100\">\n <path\n :class=\"ns.be('circle', 'track')\"\n :d=\"trackPath\"\n :stroke=\"`var(${ns.cssVarName('fill-color-light')}, #e5e9f2)`\"\n :stroke-width=\"relativeStrokeWidth\"\n fill=\"none\"\n :style=\"trailPathStyle\"\n />\n <path\n :class=\"ns.be('circle', 'path')\"\n :d=\"trackPath\"\n :stroke=\"stroke\"\n fill=\"none\"\n :opacity=\"percentage ? 1 : 0\"\n :stroke-linecap=\"strokeLinecap\"\n :stroke-width=\"relativeStrokeWidth\"\n :style=\"circlePathStyle\"\n />\n </svg>\n </div>\n <div\n v-if=\"(showText || $slots.default) && !textInside\"\n :class=\"ns.e('text')\"\n :style=\"{ fontSize: `${progressTextSize}px` }\"\n >\n <slot :percentage=\"percentage\">\n <span v-if=\"!status\">{{ content }}</span>\n <el-icon v-else><component :is=\"statusIcon\" /></el-icon>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n CircleClose,\n Close,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isFunction, isString } from '@element-plus/utils'\nimport { progressProps } from './progress'\nimport type { CSSProperties } from 'vue'\nimport type { ProgressColor } from './progress'\n\ndefineOptions({\n name: 'ElProgress',\n})\n\nconst STATUS_COLOR_MAP: Record<string, string> = {\n success: '#13ce66',\n exception: '#ff4949',\n warning: '#e6a23c',\n default: '#20a0ff',\n}\n\nconst props = defineProps(progressProps)\n\nconst ns = useNamespace('progress')\n\nconst barStyle = computed<CSSProperties>(() => ({\n width: `${props.percentage}%`,\n animationDuration: `${props.duration}s`,\n backgroundColor: getCurrentColor(props.percentage),\n}))\n\nconst relativeStrokeWidth = computed(() =>\n ((props.strokeWidth / props.width) * 100).toFixed(1)\n)\n\nconst radius = computed(() => {\n if (['circle', 'dashboard'].includes(props.type)) {\n return Number.parseInt(\n `${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`,\n 10\n )\n }\n return 0\n})\n\nconst trackPath = computed(() => {\n const r = radius.value\n const isDashboard = props.type === 'dashboard'\n return `\n M 50 50\n m 0 ${isDashboard ? '' : '-'}${r}\n a ${r} ${r} 0 1 1 0 ${isDashboard ? '-' : ''}${r * 2}\n a ${r} ${r} 0 1 1 0 ${isDashboard ? '' : '-'}${r * 2}\n `\n})\n\nconst perimeter = computed(() => 2 * Math.PI * radius.value)\n\nconst rate = computed(() => (props.type === 'dashboard' ? 0.75 : 1))\n\nconst strokeDashoffset = computed(() => {\n const offset = (-1 * perimeter.value * (1 - rate.value)) / 2\n return `${offset}px`\n})\n\nconst trailPathStyle = computed<CSSProperties>(() => ({\n strokeDasharray: `${perimeter.value * rate.value}px, ${perimeter.value}px`,\n strokeDashoffset: strokeDashoffset.value,\n}))\n\nconst circlePathStyle = computed<CSSProperties>(() => ({\n strokeDasharray: `${\n perimeter.value * rate.value * (props.percentage / 100)\n }px, ${perimeter.value}px`,\n strokeDashoffset: strokeDashoffset.value,\n transition:\n 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s',\n}))\n\nconst stroke = computed(() => {\n let ret: string\n if (props.color) {\n ret = getCurrentColor(props.percentage)\n } else {\n ret = STATUS_COLOR_MAP[props.status] || STATUS_COLOR_MAP.default\n }\n return ret\n})\n\nconst statusIcon = computed(() => {\n if (props.status === 'warning') {\n return WarningFilled\n }\n if (props.type === 'line') {\n return props.status === 'success' ? CircleCheck : CircleClose\n } else {\n return props.status === 'success' ? Check : Close\n }\n})\n\nconst progressTextSize = computed(() => {\n return props.type === 'line'\n ? 12 + props.strokeWidth * 0.4\n : props.width * 0.111111 + 2\n})\n\nconst content = computed(() => props.format(props.percentage))\n\nfunction getColors(color: ProgressColor[]) {\n const span = 100 / color.length\n const seriesColors = color.map((seriesColor, index) => {\n if (isString(seriesColor)) {\n return {\n color: seriesColor,\n percentage: (index + 1) * span,\n }\n }\n return seriesColor\n })\n return seriesColors.sort((a, b) => a.percentage - b.percentage)\n}\n\nconst getCurrentColor = (percentage: number) => {\n const { color } = props\n if (isFunction(color)) {\n return color(percentage)\n } else if (isString(color)) {\n return color\n } else {\n const colors = getColors(color)\n for (const color of colors) {\n if (color.percentage > percentage) return color.color\n }\n return colors[colors.length - 1]?.color\n }\n}\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.mjs","sources":["../../../../../../packages/components/progress/src/progress.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes, SVGAttributes } from 'vue'\nimport type Progress from './progress.vue'\n\nexport type ProgressColor = { color: string; percentage: number }\nexport type ProgressFn = (percentage: number) => string\n\nexport const progressProps = buildProps({\n type: {\n type: String,\n default: 'line',\n values: ['line', 'circle', 'dashboard'],\n },\n percentage: {\n type: Number,\n default: 0,\n validator: (val: number): boolean => val >= 0 && val <= 100,\n },\n status: {\n type: String,\n default: '',\n values: ['', 'success', 'exception', 'warning'],\n },\n indeterminate: {\n type: Boolean,\n default: false,\n },\n duration: {\n type: Number,\n default: 3,\n },\n strokeWidth: {\n type: Number,\n default: 6,\n },\n strokeLinecap: {\n type: definePropType<NonNullable<SVGAttributes['stroke-linecap']>>(String),\n default: 'round',\n },\n textInside: {\n type: Boolean,\n default: false,\n },\n width: {\n type: Number,\n default: 126,\n },\n showText: {\n type: Boolean,\n default: true,\n },\n color: {\n type: definePropType<string | ProgressColor[] | ProgressFn>([\n String,\n Array,\n Function,\n ]),\n default: '',\n },\n format: {\n type: definePropType<ProgressFn>(Function),\n default: (percentage: number): string => `${percentage}%`,\n },\n} as const)\n\nexport type ProgressProps = ExtractPropTypes<typeof progressProps>\nexport type ProgressInstance = InstanceType<typeof Progress>\n"],"names":[],"mappings":";;;AACY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC;AAC3C,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG;AAC9C,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC;AACnD,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC;AACzB,MAAM,MAAM;AACZ,MAAM,KAAK;AACX,MAAM,QAAQ;AACd,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,IAAI,OAAO,EAAE,CAAC,UAAU,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7C,GAAG;AACH,CAAC;;;;"}
@@ -1,63 +1,208 @@
1
+ import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, normalizeStyle, renderSlot, toDisplayString, createCommentVNode, createBlock, withCtx, resolveDynamicComponent } from 'vue';
2
+ import { ElIcon } from '../../icon/index.mjs';
3
+ import { WarningFilled, CircleCheck, CircleClose, Check, Close } from '@element-plus/icons-vue';
4
+ import '../../../hooks/index.mjs';
1
5
  import '../../../utils/index.mjs';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
6
+ import { progressProps } from './progress.mjs';
7
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
+ import { isString, isFunction } from '@vue/shared';
3
10
 
4
- const progressProps = buildProps({
5
- type: {
6
- type: String,
7
- default: "line",
8
- values: ["line", "circle", "dashboard"]
9
- },
10
- percentage: {
11
- type: Number,
12
- default: 0,
13
- validator: (val) => val >= 0 && val <= 100
14
- },
15
- status: {
16
- type: String,
17
- default: "",
18
- values: ["", "success", "exception", "warning"]
19
- },
20
- indeterminate: {
21
- type: Boolean,
22
- default: false
23
- },
24
- duration: {
25
- type: Number,
26
- default: 3
27
- },
28
- strokeWidth: {
29
- type: Number,
30
- default: 6
31
- },
32
- strokeLinecap: {
33
- type: definePropType(String),
34
- default: "round"
35
- },
36
- textInside: {
37
- type: Boolean,
38
- default: false
39
- },
40
- width: {
41
- type: Number,
42
- default: 126
43
- },
44
- showText: {
45
- type: Boolean,
46
- default: true
47
- },
48
- color: {
49
- type: definePropType([
50
- String,
51
- Array,
52
- Function
53
- ]),
54
- default: ""
55
- },
56
- format: {
57
- type: definePropType(Function),
58
- default: (percentage) => `${percentage}%`
11
+ const _hoisted_1 = ["aria-valuenow"];
12
+ const _hoisted_2 = { viewBox: "0 0 100 100" };
13
+ const _hoisted_3 = ["d", "stroke", "stroke-width"];
14
+ const _hoisted_4 = ["d", "stroke", "opacity", "stroke-linecap", "stroke-width"];
15
+ const _hoisted_5 = { key: 0 };
16
+ const __default__ = defineComponent({
17
+ name: "ElProgress"
18
+ });
19
+ const _sfc_main = /* @__PURE__ */ defineComponent({
20
+ ...__default__,
21
+ props: progressProps,
22
+ setup(__props) {
23
+ const props = __props;
24
+ const STATUS_COLOR_MAP = {
25
+ success: "#13ce66",
26
+ exception: "#ff4949",
27
+ warning: "#e6a23c",
28
+ default: "#20a0ff"
29
+ };
30
+ const ns = useNamespace("progress");
31
+ const barStyle = computed(() => ({
32
+ width: `${props.percentage}%`,
33
+ animationDuration: `${props.duration}s`,
34
+ backgroundColor: getCurrentColor(props.percentage)
35
+ }));
36
+ const relativeStrokeWidth = computed(() => (props.strokeWidth / props.width * 100).toFixed(1));
37
+ const radius = computed(() => {
38
+ if (["circle", "dashboard"].includes(props.type)) {
39
+ return Number.parseInt(`${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`, 10);
40
+ }
41
+ return 0;
42
+ });
43
+ const trackPath = computed(() => {
44
+ const r = radius.value;
45
+ const isDashboard = props.type === "dashboard";
46
+ return `
47
+ M 50 50
48
+ m 0 ${isDashboard ? "" : "-"}${r}
49
+ a ${r} ${r} 0 1 1 0 ${isDashboard ? "-" : ""}${r * 2}
50
+ a ${r} ${r} 0 1 1 0 ${isDashboard ? "" : "-"}${r * 2}
51
+ `;
52
+ });
53
+ const perimeter = computed(() => 2 * Math.PI * radius.value);
54
+ const rate = computed(() => props.type === "dashboard" ? 0.75 : 1);
55
+ const strokeDashoffset = computed(() => {
56
+ const offset = -1 * perimeter.value * (1 - rate.value) / 2;
57
+ return `${offset}px`;
58
+ });
59
+ const trailPathStyle = computed(() => ({
60
+ strokeDasharray: `${perimeter.value * rate.value}px, ${perimeter.value}px`,
61
+ strokeDashoffset: strokeDashoffset.value
62
+ }));
63
+ const circlePathStyle = computed(() => ({
64
+ strokeDasharray: `${perimeter.value * rate.value * (props.percentage / 100)}px, ${perimeter.value}px`,
65
+ strokeDashoffset: strokeDashoffset.value,
66
+ transition: "stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"
67
+ }));
68
+ const stroke = computed(() => {
69
+ let ret;
70
+ if (props.color) {
71
+ ret = getCurrentColor(props.percentage);
72
+ } else {
73
+ ret = STATUS_COLOR_MAP[props.status] || STATUS_COLOR_MAP.default;
74
+ }
75
+ return ret;
76
+ });
77
+ const statusIcon = computed(() => {
78
+ if (props.status === "warning") {
79
+ return WarningFilled;
80
+ }
81
+ if (props.type === "line") {
82
+ return props.status === "success" ? CircleCheck : CircleClose;
83
+ } else {
84
+ return props.status === "success" ? Check : Close;
85
+ }
86
+ });
87
+ const progressTextSize = computed(() => {
88
+ return props.type === "line" ? 12 + props.strokeWidth * 0.4 : props.width * 0.111111 + 2;
89
+ });
90
+ const content = computed(() => props.format(props.percentage));
91
+ function getColors(color) {
92
+ const span = 100 / color.length;
93
+ const seriesColors = color.map((seriesColor, index) => {
94
+ if (isString(seriesColor)) {
95
+ return {
96
+ color: seriesColor,
97
+ percentage: (index + 1) * span
98
+ };
99
+ }
100
+ return seriesColor;
101
+ });
102
+ return seriesColors.sort((a, b) => a.percentage - b.percentage);
103
+ }
104
+ const getCurrentColor = (percentage) => {
105
+ var _a;
106
+ const { color } = props;
107
+ if (isFunction(color)) {
108
+ return color(percentage);
109
+ } else if (isString(color)) {
110
+ return color;
111
+ } else {
112
+ const colors = getColors(color);
113
+ for (const color2 of colors) {
114
+ if (color2.percentage > percentage)
115
+ return color2.color;
116
+ }
117
+ return (_a = colors[colors.length - 1]) == null ? void 0 : _a.color;
118
+ }
119
+ };
120
+ return (_ctx, _cache) => {
121
+ return openBlock(), createElementBlock("div", {
122
+ class: normalizeClass([
123
+ unref(ns).b(),
124
+ unref(ns).m(_ctx.type),
125
+ unref(ns).is(_ctx.status),
126
+ {
127
+ [unref(ns).m("without-text")]: !_ctx.showText,
128
+ [unref(ns).m("text-inside")]: _ctx.textInside
129
+ }
130
+ ]),
131
+ role: "progressbar",
132
+ "aria-valuenow": _ctx.percentage,
133
+ "aria-valuemin": "0",
134
+ "aria-valuemax": "100"
135
+ }, [
136
+ _ctx.type === "line" ? (openBlock(), createElementBlock("div", {
137
+ key: 0,
138
+ class: normalizeClass(unref(ns).b("bar"))
139
+ }, [
140
+ createElementVNode("div", {
141
+ class: normalizeClass(unref(ns).be("bar", "outer")),
142
+ style: normalizeStyle({ height: `${_ctx.strokeWidth}px` })
143
+ }, [
144
+ createElementVNode("div", {
145
+ class: normalizeClass([
146
+ unref(ns).be("bar", "inner"),
147
+ { [unref(ns).bem("bar", "inner", "indeterminate")]: _ctx.indeterminate }
148
+ ]),
149
+ style: normalizeStyle(unref(barStyle))
150
+ }, [
151
+ (_ctx.showText || _ctx.$slots.default) && _ctx.textInside ? (openBlock(), createElementBlock("div", {
152
+ key: 0,
153
+ class: normalizeClass(unref(ns).be("bar", "innerText"))
154
+ }, [
155
+ renderSlot(_ctx.$slots, "default", { percentage: _ctx.percentage }, () => [
156
+ createElementVNode("span", null, toDisplayString(unref(content)), 1)
157
+ ])
158
+ ], 2)) : createCommentVNode("v-if", true)
159
+ ], 6)
160
+ ], 6)
161
+ ], 2)) : (openBlock(), createElementBlock("div", {
162
+ key: 1,
163
+ class: normalizeClass(unref(ns).b("circle")),
164
+ style: normalizeStyle({ height: `${_ctx.width}px`, width: `${_ctx.width}px` })
165
+ }, [
166
+ (openBlock(), createElementBlock("svg", _hoisted_2, [
167
+ createElementVNode("path", {
168
+ class: normalizeClass(unref(ns).be("circle", "track")),
169
+ d: unref(trackPath),
170
+ stroke: `var(${unref(ns).cssVarName("fill-color-light")}, #e5e9f2)`,
171
+ "stroke-width": unref(relativeStrokeWidth),
172
+ fill: "none",
173
+ style: normalizeStyle(unref(trailPathStyle))
174
+ }, null, 14, _hoisted_3),
175
+ createElementVNode("path", {
176
+ class: normalizeClass(unref(ns).be("circle", "path")),
177
+ d: unref(trackPath),
178
+ stroke: unref(stroke),
179
+ fill: "none",
180
+ opacity: _ctx.percentage ? 1 : 0,
181
+ "stroke-linecap": _ctx.strokeLinecap,
182
+ "stroke-width": unref(relativeStrokeWidth),
183
+ style: normalizeStyle(unref(circlePathStyle))
184
+ }, null, 14, _hoisted_4)
185
+ ]))
186
+ ], 6)),
187
+ (_ctx.showText || _ctx.$slots.default) && !_ctx.textInside ? (openBlock(), createElementBlock("div", {
188
+ key: 2,
189
+ class: normalizeClass(unref(ns).e("text")),
190
+ style: normalizeStyle({ fontSize: `${unref(progressTextSize)}px` })
191
+ }, [
192
+ renderSlot(_ctx.$slots, "default", { percentage: _ctx.percentage }, () => [
193
+ !_ctx.status ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(unref(content)), 1)) : (openBlock(), createBlock(unref(ElIcon), { key: 1 }, {
194
+ default: withCtx(() => [
195
+ (openBlock(), createBlock(resolveDynamicComponent(unref(statusIcon))))
196
+ ]),
197
+ _: 1
198
+ }))
199
+ ])
200
+ ], 6)) : createCommentVNode("v-if", true)
201
+ ], 10, _hoisted_1);
202
+ };
59
203
  }
60
204
  });
205
+ var Progress = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:\\Haulistix\\beyond-ui\\packages\\components\\progress\\src\\progress.vue"]]);
61
206
 
62
- export { progressProps };
207
+ export { Progress as default };
63
208
  //# sourceMappingURL=progress2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress2.mjs","sources":["../../../../../../packages/components/progress/src/progress.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes, SVGAttributes } from 'vue'\nimport type Progress from './progress.vue'\n\nexport type ProgressColor = { color: string; percentage: number }\nexport type ProgressFn = (percentage: number) => string\n\nexport const progressProps = buildProps({\n type: {\n type: String,\n default: 'line',\n values: ['line', 'circle', 'dashboard'],\n },\n percentage: {\n type: Number,\n default: 0,\n validator: (val: number): boolean => val >= 0 && val <= 100,\n },\n status: {\n type: String,\n default: '',\n values: ['', 'success', 'exception', 'warning'],\n },\n indeterminate: {\n type: Boolean,\n default: false,\n },\n duration: {\n type: Number,\n default: 3,\n },\n strokeWidth: {\n type: Number,\n default: 6,\n },\n strokeLinecap: {\n type: definePropType<NonNullable<SVGAttributes['stroke-linecap']>>(String),\n default: 'round',\n },\n textInside: {\n type: Boolean,\n default: false,\n },\n width: {\n type: Number,\n default: 126,\n },\n showText: {\n type: Boolean,\n default: true,\n },\n color: {\n type: definePropType<string | ProgressColor[] | ProgressFn>([\n String,\n Array,\n Function,\n ]),\n default: '',\n },\n format: {\n type: definePropType<ProgressFn>(Function),\n default: (percentage: number): string => `${percentage}%`,\n },\n} as const)\n\nexport type ProgressProps = ExtractPropTypes<typeof progressProps>\nexport type ProgressInstance = InstanceType<typeof Progress>\n"],"names":[],"mappings":";;;AACY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC;AAC3C,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG;AAC9C,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC;AACnD,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC;AACzB,MAAM,MAAM;AACZ,MAAM,KAAK;AACX,MAAM,QAAQ;AACd,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,IAAI,OAAO,EAAE,CAAC,UAAU,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7C,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"progress2.mjs","sources":["../../../../../../packages/components/progress/src/progress.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(type),\n ns.is(status),\n {\n [ns.m('without-text')]: !showText,\n [ns.m('text-inside')]: textInside,\n },\n ]\"\n role=\"progressbar\"\n :aria-valuenow=\"percentage\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div v-if=\"type === 'line'\" :class=\"ns.b('bar')\">\n <div\n :class=\"ns.be('bar', 'outer')\"\n :style=\"{ height: `${strokeWidth}px` }\"\n >\n <div\n :class=\"[\n ns.be('bar', 'inner'),\n { [ns.bem('bar', 'inner', 'indeterminate')]: indeterminate },\n ]\"\n :style=\"barStyle\"\n >\n <div\n v-if=\"(showText || $slots.default) && textInside\"\n :class=\"ns.be('bar', 'innerText')\"\n >\n <slot :percentage=\"percentage\">\n <span>{{ content }}</span>\n </slot>\n </div>\n </div>\n </div>\n </div>\n <div\n v-else\n :class=\"ns.b('circle')\"\n :style=\"{ height: `${width}px`, width: `${width}px` }\"\n >\n <svg viewBox=\"0 0 100 100\">\n <path\n :class=\"ns.be('circle', 'track')\"\n :d=\"trackPath\"\n :stroke=\"`var(${ns.cssVarName('fill-color-light')}, #e5e9f2)`\"\n :stroke-width=\"relativeStrokeWidth\"\n fill=\"none\"\n :style=\"trailPathStyle\"\n />\n <path\n :class=\"ns.be('circle', 'path')\"\n :d=\"trackPath\"\n :stroke=\"stroke\"\n fill=\"none\"\n :opacity=\"percentage ? 1 : 0\"\n :stroke-linecap=\"strokeLinecap\"\n :stroke-width=\"relativeStrokeWidth\"\n :style=\"circlePathStyle\"\n />\n </svg>\n </div>\n <div\n v-if=\"(showText || $slots.default) && !textInside\"\n :class=\"ns.e('text')\"\n :style=\"{ fontSize: `${progressTextSize}px` }\"\n >\n <slot :percentage=\"percentage\">\n <span v-if=\"!status\">{{ content }}</span>\n <el-icon v-else><component :is=\"statusIcon\" /></el-icon>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n CircleClose,\n Close,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isFunction, isString } from '@element-plus/utils'\nimport { progressProps } from './progress'\nimport type { CSSProperties } from 'vue'\nimport type { ProgressColor } from './progress'\n\ndefineOptions({\n name: 'ElProgress',\n})\n\nconst STATUS_COLOR_MAP: Record<string, string> = {\n success: '#13ce66',\n exception: '#ff4949',\n warning: '#e6a23c',\n default: '#20a0ff',\n}\n\nconst props = defineProps(progressProps)\n\nconst ns = useNamespace('progress')\n\nconst barStyle = computed<CSSProperties>(() => ({\n width: `${props.percentage}%`,\n animationDuration: `${props.duration}s`,\n backgroundColor: getCurrentColor(props.percentage),\n}))\n\nconst relativeStrokeWidth = computed(() =>\n ((props.strokeWidth / props.width) * 100).toFixed(1)\n)\n\nconst radius = computed(() => {\n if (['circle', 'dashboard'].includes(props.type)) {\n return Number.parseInt(\n `${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`,\n 10\n )\n }\n return 0\n})\n\nconst trackPath = computed(() => {\n const r = radius.value\n const isDashboard = props.type === 'dashboard'\n return `\n M 50 50\n m 0 ${isDashboard ? '' : '-'}${r}\n a ${r} ${r} 0 1 1 0 ${isDashboard ? '-' : ''}${r * 2}\n a ${r} ${r} 0 1 1 0 ${isDashboard ? '' : '-'}${r * 2}\n `\n})\n\nconst perimeter = computed(() => 2 * Math.PI * radius.value)\n\nconst rate = computed(() => (props.type === 'dashboard' ? 0.75 : 1))\n\nconst strokeDashoffset = computed(() => {\n const offset = (-1 * perimeter.value * (1 - rate.value)) / 2\n return `${offset}px`\n})\n\nconst trailPathStyle = computed<CSSProperties>(() => ({\n strokeDasharray: `${perimeter.value * rate.value}px, ${perimeter.value}px`,\n strokeDashoffset: strokeDashoffset.value,\n}))\n\nconst circlePathStyle = computed<CSSProperties>(() => ({\n strokeDasharray: `${\n perimeter.value * rate.value * (props.percentage / 100)\n }px, ${perimeter.value}px`,\n strokeDashoffset: strokeDashoffset.value,\n transition:\n 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s',\n}))\n\nconst stroke = computed(() => {\n let ret: string\n if (props.color) {\n ret = getCurrentColor(props.percentage)\n } else {\n ret = STATUS_COLOR_MAP[props.status] || STATUS_COLOR_MAP.default\n }\n return ret\n})\n\nconst statusIcon = computed(() => {\n if (props.status === 'warning') {\n return WarningFilled\n }\n if (props.type === 'line') {\n return props.status === 'success' ? CircleCheck : CircleClose\n } else {\n return props.status === 'success' ? Check : Close\n }\n})\n\nconst progressTextSize = computed(() => {\n return props.type === 'line'\n ? 12 + props.strokeWidth * 0.4\n : props.width * 0.111111 + 2\n})\n\nconst content = computed(() => props.format(props.percentage))\n\nfunction getColors(color: ProgressColor[]) {\n const span = 100 / color.length\n const seriesColors = color.map((seriesColor, index) => {\n if (isString(seriesColor)) {\n return {\n color: seriesColor,\n percentage: (index + 1) * span,\n }\n }\n return seriesColor\n })\n return seriesColors.sort((a, b) => a.percentage - b.percentage)\n}\n\nconst getCurrentColor = (percentage: number) => {\n const { color } = props\n if (isFunction(color)) {\n return color(percentage)\n } else if (isString(color)) {\n return color\n } else {\n const colors = getColors(color)\n for (const color of colors) {\n if (color.percentage > percentage) return color.color\n }\n return colors[colors.length - 1]?.color\n }\n}\n</script>\n"],"names":[],"mappings":"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"}