element-ps 2.0.27 → 2.0.30

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 (526) hide show
  1. package/dist/index.full.js +41 -6
  2. package/dist/index.full.min.js +5 -5
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +41 -6
  7. package/es/components/affix/index.d.ts +1 -1
  8. package/es/components/affix/index.mjs +2 -2
  9. package/es/components/affix/src/affix.mjs +19 -82
  10. package/es/components/affix/src/affix.mjs.map +1 -1
  11. package/es/components/affix/src/affix.vue.d.ts +1 -1
  12. package/es/components/affix/src/affix2.mjs +82 -19
  13. package/es/components/affix/src/affix2.mjs.map +1 -1
  14. package/es/components/alert/index.d.ts +1 -1
  15. package/es/components/alert/src/alert.vue.d.ts +1 -1
  16. package/es/components/autocomplete/index.d.ts +24 -22
  17. package/es/components/autocomplete/src/autocomplete.vue.d.ts +24 -22
  18. package/es/components/badge/index.d.ts +1 -1
  19. package/es/components/badge/src/badge.vue.d.ts +1 -1
  20. package/es/components/breadcrumb/index.mjs +4 -4
  21. package/es/components/breadcrumb/src/breadcrumb-item.mjs +11 -46
  22. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  23. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +46 -11
  24. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  25. package/es/components/breadcrumb/src/breadcrumb.mjs +12 -37
  26. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  27. package/es/components/breadcrumb/src/breadcrumb2.mjs +37 -12
  28. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  29. package/es/components/calendar/index.mjs +2 -2
  30. package/es/components/calendar/src/calendar.mjs +188 -9
  31. package/es/components/calendar/src/calendar.mjs.map +1 -1
  32. package/es/components/calendar/src/calendar2.mjs +9 -188
  33. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  34. package/es/components/card/index.mjs +2 -2
  35. package/es/components/card/src/card.mjs +15 -35
  36. package/es/components/card/src/card.mjs.map +1 -1
  37. package/es/components/card/src/card2.mjs +35 -15
  38. package/es/components/card/src/card2.mjs.map +1 -1
  39. package/es/components/carousel/index.d.ts +2 -2
  40. package/es/components/carousel/index.mjs +4 -4
  41. package/es/components/carousel/src/carousel-item.mjs +7 -148
  42. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  43. package/es/components/carousel/src/carousel-item2.mjs +148 -7
  44. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  45. package/es/components/carousel/src/carousel.mjs +201 -43
  46. package/es/components/carousel/src/carousel.mjs.map +1 -1
  47. package/es/components/carousel/src/carousel.vue.d.ts +2 -2
  48. package/es/components/carousel/src/carousel2.mjs +43 -201
  49. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  50. package/es/components/cascader/index.d.ts +16 -12
  51. package/es/components/cascader/src/index.vue.d.ts +8 -6
  52. package/es/components/cascader-panel/index.d.ts +2 -2
  53. package/es/components/cascader-panel/src/config.mjs +1 -1
  54. package/es/components/cascader-panel/src/index.mjs +1 -1
  55. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  56. package/es/components/cascader-panel/src/menu.mjs +1 -1
  57. package/es/components/cascader-panel/src/node.mjs +120 -200
  58. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  59. package/es/components/cascader-panel/src/node2.mjs +200 -120
  60. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  61. package/es/components/cascader-panel/src/store.mjs +1 -1
  62. package/es/components/checkbox/index.d.ts +2 -2
  63. package/es/components/checkbox/src/checkbox-group.vue.d.ts +1 -1
  64. package/es/components/col/index.d.ts +1 -1
  65. package/es/components/col/src/col.d.ts +1 -1
  66. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  67. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  68. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  69. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  70. package/es/components/descriptions/index.d.ts +4 -4
  71. package/es/components/descriptions/src/description-item.d.ts +1 -1
  72. package/es/components/descriptions/src/index.vue.d.ts +2 -2
  73. package/es/components/dialog/index.mjs +2 -2
  74. package/es/components/dialog/src/dialog.mjs +61 -87
  75. package/es/components/dialog/src/dialog.mjs.map +1 -1
  76. package/es/components/dialog/src/dialog2.mjs +87 -61
  77. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  78. package/es/components/drawer/index.d.ts +1 -1
  79. package/es/components/drawer/index.mjs +2 -2
  80. package/es/components/drawer/src/drawer.mjs +117 -23
  81. package/es/components/drawer/src/drawer.mjs.map +1 -1
  82. package/es/components/drawer/src/drawer.vue.d.ts +1 -1
  83. package/es/components/drawer/src/drawer2.mjs +23 -117
  84. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  85. package/es/components/dropdown/index.d.ts +2 -2
  86. package/es/components/dropdown/index.mjs +2 -2
  87. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  88. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  89. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  90. package/es/components/dropdown/src/dropdown.mjs +109 -100
  91. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  92. package/es/components/dropdown/src/dropdown.vue.d.ts +2 -2
  93. package/es/components/dropdown/src/dropdown2.mjs +100 -109
  94. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  95. package/es/components/empty/index.d.ts +1 -1
  96. package/es/components/empty/index.mjs +2 -2
  97. package/es/components/empty/src/empty.mjs +56 -11
  98. package/es/components/empty/src/empty.mjs.map +1 -1
  99. package/es/components/empty/src/empty.vue.d.ts +1 -1
  100. package/es/components/empty/src/empty2.mjs +11 -56
  101. package/es/components/empty/src/empty2.mjs.map +1 -1
  102. package/es/components/image/index.d.ts +4 -4
  103. package/es/components/image/index.mjs +2 -2
  104. package/es/components/image/src/image.d.ts +1 -1
  105. package/es/components/image/src/image.mjs +50 -127
  106. package/es/components/image/src/image.mjs.map +1 -1
  107. package/es/components/image/src/image.vue.d.ts +4 -4
  108. package/es/components/image/src/image2.mjs +127 -50
  109. package/es/components/image/src/image2.mjs.map +1 -1
  110. package/es/components/index.mjs +25 -25
  111. package/es/components/input/index.d.ts +3 -2
  112. package/es/components/input/src/input.vue.d.ts +3 -2
  113. package/es/components/input/src/input2.mjs +2 -3
  114. package/es/components/input/src/input2.mjs.map +1 -1
  115. package/es/components/input-number/index.d.ts +7 -5
  116. package/es/components/input-number/src/input-number.vue.d.ts +7 -5
  117. package/es/components/link/index.mjs +2 -2
  118. package/es/components/link/src/link.mjs +43 -19
  119. package/es/components/link/src/link.mjs.map +1 -1
  120. package/es/components/link/src/link2.mjs +19 -43
  121. package/es/components/link/src/link2.mjs.map +1 -1
  122. package/es/components/menu/index.mjs +2 -2
  123. package/es/components/menu/src/menu-item.mjs +15 -65
  124. package/es/components/menu/src/menu-item.mjs.map +1 -1
  125. package/es/components/menu/src/menu-item2.mjs +65 -15
  126. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  127. package/es/components/pagination/index.d.ts +1 -1
  128. package/es/components/pagination/src/pagination.d.ts +1 -1
  129. package/es/components/popconfirm/index.d.ts +3 -3
  130. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  131. package/es/components/popover/index.d.ts +14 -14
  132. package/es/components/popover/src/index.vue.d.ts +7 -7
  133. package/es/components/popover/src/popover.mjs +1 -1
  134. package/es/components/popper/index.mjs +6 -6
  135. package/es/components/popper/src/arrow.mjs +7 -31
  136. package/es/components/popper/src/arrow.mjs.map +1 -1
  137. package/es/components/popper/src/arrow2.mjs +31 -7
  138. package/es/components/popper/src/arrow2.mjs.map +1 -1
  139. package/es/components/popper/src/content.mjs +52 -64
  140. package/es/components/popper/src/content.mjs.map +1 -1
  141. package/es/components/popper/src/content.vue.d.ts +4 -4
  142. package/es/components/popper/src/content2.mjs +64 -52
  143. package/es/components/popper/src/content2.mjs.map +1 -1
  144. package/es/components/popper/src/popper.mjs +20 -27
  145. package/es/components/popper/src/popper.mjs.map +1 -1
  146. package/es/components/popper/src/popper2.mjs +27 -20
  147. package/es/components/popper/src/popper2.mjs.map +1 -1
  148. package/es/components/popper/src/utils.d.ts +1 -1
  149. package/es/components/progress/index.mjs +2 -2
  150. package/es/components/progress/src/progress.mjs +57 -230
  151. package/es/components/progress/src/progress.mjs.map +1 -1
  152. package/es/components/progress/src/progress2.mjs +230 -57
  153. package/es/components/progress/src/progress2.mjs.map +1 -1
  154. package/es/components/radio/index.mjs +2 -2
  155. package/es/components/radio/src/radio-button.mjs +1 -1
  156. package/es/components/radio/src/radio-button2.mjs +1 -1
  157. package/es/components/radio/src/radio.mjs +62 -74
  158. package/es/components/radio/src/radio.mjs.map +1 -1
  159. package/es/components/radio/src/radio2.mjs +74 -62
  160. package/es/components/radio/src/radio2.mjs.map +1 -1
  161. package/es/components/rate/index.mjs +2 -2
  162. package/es/components/rate/src/rate.mjs +169 -84
  163. package/es/components/rate/src/rate.mjs.map +1 -1
  164. package/es/components/rate/src/rate2.mjs +84 -169
  165. package/es/components/rate/src/rate2.mjs.map +1 -1
  166. package/es/components/row/index.d.ts +3 -3
  167. package/es/components/row/src/row.d.ts +4 -4
  168. package/es/components/scrollbar/index.d.ts +1 -1
  169. package/es/components/scrollbar/index.mjs +2 -2
  170. package/es/components/scrollbar/src/bar.vue.d.ts +1 -1
  171. package/es/components/scrollbar/src/scrollbar.mjs +42 -112
  172. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  173. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  174. package/es/components/scrollbar/src/scrollbar2.mjs +112 -42
  175. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  176. package/es/components/select/index.d.ts +19 -19
  177. package/es/components/select/src/select.vue.d.ts +19 -19
  178. package/es/components/select/src/useSelect.d.ts +17 -17
  179. package/es/components/select-v2/index.d.ts +40 -40
  180. package/es/components/select-v2/src/select.vue.d.ts +20 -20
  181. package/es/components/select-v2/src/useSelect.d.ts +17 -17
  182. package/es/components/skeleton/index.d.ts +9 -9
  183. package/es/components/skeleton/index.mjs +2 -2
  184. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  185. package/es/components/skeleton/src/skeleton-item.vue.d.ts +3 -3
  186. package/es/components/skeleton/src/skeleton.mjs +22 -49
  187. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  188. package/es/components/skeleton/src/skeleton.vue.d.ts +3 -3
  189. package/es/components/skeleton/src/skeleton2.mjs +49 -22
  190. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  191. package/es/components/slider/index.d.ts +2 -2
  192. package/es/components/slider/src/index.vue.d.ts +1 -1
  193. package/es/components/space/index.d.ts +2 -2
  194. package/es/components/space/src/space.d.ts +2 -2
  195. package/es/components/steps/index.d.ts +1 -1
  196. package/es/components/steps/src/index.vue.d.ts +1 -1
  197. package/es/components/switch/index.d.ts +2 -2
  198. package/es/components/switch/src/switch.vue.d.ts +2 -2
  199. package/es/components/table/index.d.ts +1 -1
  200. package/es/components/table/src/filter-panel.vue.d.ts +17 -17
  201. package/es/components/table/src/table.vue.d.ts +1 -1
  202. package/es/components/tabs/index.d.ts +8 -0
  203. package/es/components/tabs/src/tab-bar.d.ts +1 -0
  204. package/es/components/tabs/src/tab-bar.vue.d.ts +4 -0
  205. package/es/components/tabs/src/tab-nav.d.ts +4 -0
  206. package/es/components/tabs/src/tab-nav.mjs +2 -1
  207. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  208. package/es/components/tabs/src/tab-pane.d.ts +1 -0
  209. package/es/components/tabs/src/tab-pane.mjs +2 -1
  210. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  211. package/es/components/tabs/src/tab-pane.vue.d.ts +3 -0
  212. package/es/components/tabs/src/tab-pane2.mjs +3 -2
  213. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  214. package/es/components/tabs/src/tabs.d.ts +2 -0
  215. package/es/components/tabs/src/tabs.mjs +10 -1
  216. package/es/components/tabs/src/tabs.mjs.map +1 -1
  217. package/es/components/teleport/index.mjs +2 -2
  218. package/es/components/teleport/src/teleport.mjs +43 -18
  219. package/es/components/teleport/src/teleport.mjs.map +1 -1
  220. package/es/components/teleport/src/teleport2.mjs +18 -43
  221. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  222. package/es/components/time-picker/src/common/picker.vue.d.ts +17 -17
  223. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
  224. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
  225. package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  226. package/es/components/time-select/index.d.ts +6 -6
  227. package/es/components/time-select/src/time-select.vue.d.ts +3 -3
  228. package/es/components/timeline/index.d.ts +2 -2
  229. package/es/components/timeline/index.mjs +2 -2
  230. package/es/components/timeline/src/timeline-item.mjs +73 -39
  231. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  232. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  233. package/es/components/timeline/src/timeline-item2.mjs +39 -73
  234. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  235. package/es/components/tooltip/index.d.ts +8 -8
  236. package/es/components/tooltip/src/tooltip.mjs +1 -1
  237. package/es/components/tooltip/src/tooltip.vue.d.ts +8 -8
  238. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  239. package/es/components/tooltip-v2/index.d.ts +48 -48
  240. package/es/components/tooltip-v2/index.mjs +4 -4
  241. package/es/components/tooltip-v2/src/arrow.mjs +22 -38
  242. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  243. package/es/components/tooltip-v2/src/arrow.vue.d.ts +2 -2
  244. package/es/components/tooltip-v2/src/arrow2.mjs +38 -22
  245. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  246. package/es/components/tooltip-v2/src/content.d.ts +1 -1
  247. package/es/components/tooltip-v2/src/content.mjs +50 -113
  248. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  249. package/es/components/tooltip-v2/src/content.vue.d.ts +7 -7
  250. package/es/components/tooltip-v2/src/content2.mjs +113 -50
  251. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  252. package/es/components/tooltip-v2/src/tooltip.d.ts +1 -1
  253. package/es/components/tooltip-v2/src/tooltip.mjs +20 -73
  254. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  255. package/es/components/tooltip-v2/src/tooltip.vue.d.ts +48 -48
  256. package/es/components/tooltip-v2/src/tooltip2.mjs +73 -20
  257. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  258. package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  259. package/es/components/virtual-list/src/builders/build-list.d.ts +2 -2
  260. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  261. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  262. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  263. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  264. package/es/index.mjs +25 -25
  265. package/es/utils/vue/vnode.d.ts +6 -6
  266. package/lib/components/affix/index.d.ts +1 -1
  267. package/lib/components/affix/index.js +2 -2
  268. package/lib/components/affix/src/affix.js +19 -82
  269. package/lib/components/affix/src/affix.js.map +1 -1
  270. package/lib/components/affix/src/affix.vue.d.ts +1 -1
  271. package/lib/components/affix/src/affix2.js +82 -19
  272. package/lib/components/affix/src/affix2.js.map +1 -1
  273. package/lib/components/alert/index.d.ts +1 -1
  274. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  275. package/lib/components/autocomplete/index.d.ts +24 -22
  276. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +24 -22
  277. package/lib/components/badge/index.d.ts +1 -1
  278. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  279. package/lib/components/breadcrumb/index.js +4 -4
  280. package/lib/components/breadcrumb/src/breadcrumb-item.js +11 -46
  281. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  282. package/lib/components/breadcrumb/src/breadcrumb-item2.js +46 -11
  283. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  284. package/lib/components/breadcrumb/src/breadcrumb.js +12 -37
  285. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  286. package/lib/components/breadcrumb/src/breadcrumb2.js +37 -12
  287. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  288. package/lib/components/calendar/index.js +2 -2
  289. package/lib/components/calendar/src/calendar.js +192 -9
  290. package/lib/components/calendar/src/calendar.js.map +1 -1
  291. package/lib/components/calendar/src/calendar2.js +9 -192
  292. package/lib/components/calendar/src/calendar2.js.map +1 -1
  293. package/lib/components/card/index.js +2 -2
  294. package/lib/components/card/src/card.js +15 -35
  295. package/lib/components/card/src/card.js.map +1 -1
  296. package/lib/components/card/src/card2.js +35 -15
  297. package/lib/components/card/src/card2.js.map +1 -1
  298. package/lib/components/carousel/index.d.ts +2 -2
  299. package/lib/components/carousel/index.js +4 -4
  300. package/lib/components/carousel/src/carousel-item.js +7 -148
  301. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  302. package/lib/components/carousel/src/carousel-item2.js +148 -7
  303. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  304. package/lib/components/carousel/src/carousel.js +201 -43
  305. package/lib/components/carousel/src/carousel.js.map +1 -1
  306. package/lib/components/carousel/src/carousel.vue.d.ts +2 -2
  307. package/lib/components/carousel/src/carousel2.js +43 -201
  308. package/lib/components/carousel/src/carousel2.js.map +1 -1
  309. package/lib/components/cascader/index.d.ts +16 -12
  310. package/lib/components/cascader/src/index.vue.d.ts +8 -6
  311. package/lib/components/cascader-panel/index.d.ts +2 -2
  312. package/lib/components/cascader-panel/src/config.js +1 -1
  313. package/lib/components/cascader-panel/src/index.js +1 -1
  314. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  315. package/lib/components/cascader-panel/src/menu.js +1 -1
  316. package/lib/components/cascader-panel/src/node.js +121 -200
  317. package/lib/components/cascader-panel/src/node.js.map +1 -1
  318. package/lib/components/cascader-panel/src/node2.js +200 -121
  319. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  320. package/lib/components/cascader-panel/src/store.js +1 -1
  321. package/lib/components/checkbox/index.d.ts +2 -2
  322. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +1 -1
  323. package/lib/components/col/index.d.ts +1 -1
  324. package/lib/components/col/src/col.d.ts +1 -1
  325. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  326. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  327. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  328. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  329. package/lib/components/descriptions/index.d.ts +4 -4
  330. package/lib/components/descriptions/src/description-item.d.ts +1 -1
  331. package/lib/components/descriptions/src/index.vue.d.ts +2 -2
  332. package/lib/components/dialog/index.js +2 -2
  333. package/lib/components/dialog/src/dialog.js +61 -87
  334. package/lib/components/dialog/src/dialog.js.map +1 -1
  335. package/lib/components/dialog/src/dialog2.js +87 -61
  336. package/lib/components/dialog/src/dialog2.js.map +1 -1
  337. package/lib/components/drawer/index.d.ts +1 -1
  338. package/lib/components/drawer/index.js +2 -2
  339. package/lib/components/drawer/src/drawer.js +117 -23
  340. package/lib/components/drawer/src/drawer.js.map +1 -1
  341. package/lib/components/drawer/src/drawer.vue.d.ts +1 -1
  342. package/lib/components/drawer/src/drawer2.js +23 -117
  343. package/lib/components/drawer/src/drawer2.js.map +1 -1
  344. package/lib/components/dropdown/index.d.ts +2 -2
  345. package/lib/components/dropdown/index.js +2 -2
  346. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  347. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  348. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  349. package/lib/components/dropdown/src/dropdown.js +109 -109
  350. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  351. package/lib/components/dropdown/src/dropdown.vue.d.ts +2 -2
  352. package/lib/components/dropdown/src/dropdown2.js +109 -109
  353. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  354. package/lib/components/empty/index.d.ts +1 -1
  355. package/lib/components/empty/index.js +2 -2
  356. package/lib/components/empty/src/empty.js +56 -11
  357. package/lib/components/empty/src/empty.js.map +1 -1
  358. package/lib/components/empty/src/empty.vue.d.ts +1 -1
  359. package/lib/components/empty/src/empty2.js +11 -56
  360. package/lib/components/empty/src/empty2.js.map +1 -1
  361. package/lib/components/image/index.d.ts +4 -4
  362. package/lib/components/image/index.js +2 -2
  363. package/lib/components/image/src/image.d.ts +1 -1
  364. package/lib/components/image/src/image.js +50 -127
  365. package/lib/components/image/src/image.js.map +1 -1
  366. package/lib/components/image/src/image.vue.d.ts +4 -4
  367. package/lib/components/image/src/image2.js +127 -50
  368. package/lib/components/image/src/image2.js.map +1 -1
  369. package/lib/components/index.js +25 -25
  370. package/lib/components/input/index.d.ts +3 -2
  371. package/lib/components/input/src/input.vue.d.ts +3 -2
  372. package/lib/components/input/src/input2.js +1 -2
  373. package/lib/components/input/src/input2.js.map +1 -1
  374. package/lib/components/input-number/index.d.ts +7 -5
  375. package/lib/components/input-number/src/input-number.vue.d.ts +7 -5
  376. package/lib/components/link/index.js +2 -2
  377. package/lib/components/link/src/link.js +43 -19
  378. package/lib/components/link/src/link.js.map +1 -1
  379. package/lib/components/link/src/link2.js +19 -43
  380. package/lib/components/link/src/link2.js.map +1 -1
  381. package/lib/components/menu/index.js +2 -2
  382. package/lib/components/menu/src/menu-item.js +16 -65
  383. package/lib/components/menu/src/menu-item.js.map +1 -1
  384. package/lib/components/menu/src/menu-item2.js +65 -16
  385. package/lib/components/menu/src/menu-item2.js.map +1 -1
  386. package/lib/components/pagination/index.d.ts +1 -1
  387. package/lib/components/pagination/src/pagination.d.ts +1 -1
  388. package/lib/components/popconfirm/index.d.ts +3 -3
  389. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  390. package/lib/components/popover/index.d.ts +14 -14
  391. package/lib/components/popover/src/index.vue.d.ts +7 -7
  392. package/lib/components/popover/src/popover.js +1 -1
  393. package/lib/components/popper/index.js +6 -6
  394. package/lib/components/popper/src/arrow.js +7 -31
  395. package/lib/components/popper/src/arrow.js.map +1 -1
  396. package/lib/components/popper/src/arrow2.js +31 -7
  397. package/lib/components/popper/src/arrow2.js.map +1 -1
  398. package/lib/components/popper/src/content.js +52 -65
  399. package/lib/components/popper/src/content.js.map +1 -1
  400. package/lib/components/popper/src/content.vue.d.ts +4 -4
  401. package/lib/components/popper/src/content2.js +65 -52
  402. package/lib/components/popper/src/content2.js.map +1 -1
  403. package/lib/components/popper/src/popper.js +21 -27
  404. package/lib/components/popper/src/popper.js.map +1 -1
  405. package/lib/components/popper/src/popper2.js +27 -21
  406. package/lib/components/popper/src/popper2.js.map +1 -1
  407. package/lib/components/popper/src/utils.d.ts +1 -1
  408. package/lib/components/progress/index.js +2 -2
  409. package/lib/components/progress/src/progress.js +57 -230
  410. package/lib/components/progress/src/progress.js.map +1 -1
  411. package/lib/components/progress/src/progress2.js +230 -57
  412. package/lib/components/progress/src/progress2.js.map +1 -1
  413. package/lib/components/radio/index.js +2 -2
  414. package/lib/components/radio/src/radio-button.js +1 -1
  415. package/lib/components/radio/src/radio-button2.js +1 -1
  416. package/lib/components/radio/src/radio.js +64 -73
  417. package/lib/components/radio/src/radio.js.map +1 -1
  418. package/lib/components/radio/src/radio2.js +73 -64
  419. package/lib/components/radio/src/radio2.js.map +1 -1
  420. package/lib/components/rate/index.js +2 -2
  421. package/lib/components/rate/src/rate.js +169 -84
  422. package/lib/components/rate/src/rate.js.map +1 -1
  423. package/lib/components/rate/src/rate2.js +84 -169
  424. package/lib/components/rate/src/rate2.js.map +1 -1
  425. package/lib/components/row/index.d.ts +3 -3
  426. package/lib/components/row/src/row.d.ts +4 -4
  427. package/lib/components/scrollbar/index.d.ts +1 -1
  428. package/lib/components/scrollbar/index.js +2 -2
  429. package/lib/components/scrollbar/src/bar.vue.d.ts +1 -1
  430. package/lib/components/scrollbar/src/scrollbar.js +42 -112
  431. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  432. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  433. package/lib/components/scrollbar/src/scrollbar2.js +112 -42
  434. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  435. package/lib/components/select/index.d.ts +19 -19
  436. package/lib/components/select/src/select.vue.d.ts +19 -19
  437. package/lib/components/select/src/useSelect.d.ts +17 -17
  438. package/lib/components/select-v2/index.d.ts +40 -40
  439. package/lib/components/select-v2/src/select.vue.d.ts +20 -20
  440. package/lib/components/select-v2/src/useSelect.d.ts +17 -17
  441. package/lib/components/skeleton/index.d.ts +9 -9
  442. package/lib/components/skeleton/index.js +2 -2
  443. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  444. package/lib/components/skeleton/src/skeleton-item.vue.d.ts +3 -3
  445. package/lib/components/skeleton/src/skeleton.js +22 -49
  446. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  447. package/lib/components/skeleton/src/skeleton.vue.d.ts +3 -3
  448. package/lib/components/skeleton/src/skeleton2.js +49 -22
  449. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  450. package/lib/components/slider/index.d.ts +2 -2
  451. package/lib/components/slider/src/index.vue.d.ts +1 -1
  452. package/lib/components/space/index.d.ts +2 -2
  453. package/lib/components/space/src/space.d.ts +2 -2
  454. package/lib/components/steps/index.d.ts +1 -1
  455. package/lib/components/steps/src/index.vue.d.ts +1 -1
  456. package/lib/components/switch/index.d.ts +2 -2
  457. package/lib/components/switch/src/switch.vue.d.ts +2 -2
  458. package/lib/components/table/index.d.ts +1 -1
  459. package/lib/components/table/src/filter-panel.vue.d.ts +17 -17
  460. package/lib/components/table/src/table.vue.d.ts +1 -1
  461. package/lib/components/tabs/index.d.ts +8 -0
  462. package/lib/components/tabs/src/tab-bar.d.ts +1 -0
  463. package/lib/components/tabs/src/tab-bar.vue.d.ts +4 -0
  464. package/lib/components/tabs/src/tab-nav.d.ts +4 -0
  465. package/lib/components/tabs/src/tab-nav.js +2 -1
  466. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  467. package/lib/components/tabs/src/tab-pane.d.ts +1 -0
  468. package/lib/components/tabs/src/tab-pane.js +2 -1
  469. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  470. package/lib/components/tabs/src/tab-pane.vue.d.ts +3 -0
  471. package/lib/components/tabs/src/tab-pane2.js +3 -2
  472. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  473. package/lib/components/tabs/src/tabs.d.ts +2 -0
  474. package/lib/components/tabs/src/tabs.js +9 -0
  475. package/lib/components/tabs/src/tabs.js.map +1 -1
  476. package/lib/components/teleport/index.js +2 -2
  477. package/lib/components/teleport/src/teleport.js +43 -18
  478. package/lib/components/teleport/src/teleport.js.map +1 -1
  479. package/lib/components/teleport/src/teleport2.js +18 -43
  480. package/lib/components/teleport/src/teleport2.js.map +1 -1
  481. package/lib/components/time-picker/src/common/picker.vue.d.ts +17 -17
  482. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
  483. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
  484. package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  485. package/lib/components/time-select/index.d.ts +6 -6
  486. package/lib/components/time-select/src/time-select.vue.d.ts +3 -3
  487. package/lib/components/timeline/index.d.ts +2 -2
  488. package/lib/components/timeline/index.js +2 -2
  489. package/lib/components/timeline/src/timeline-item.js +73 -39
  490. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  491. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  492. package/lib/components/timeline/src/timeline-item2.js +39 -73
  493. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  494. package/lib/components/tooltip/index.d.ts +8 -8
  495. package/lib/components/tooltip/src/tooltip.js +1 -1
  496. package/lib/components/tooltip/src/tooltip.vue.d.ts +8 -8
  497. package/lib/components/tooltip/src/tooltip2.js +1 -1
  498. package/lib/components/tooltip-v2/index.d.ts +48 -48
  499. package/lib/components/tooltip-v2/index.js +4 -4
  500. package/lib/components/tooltip-v2/src/arrow.js +23 -38
  501. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  502. package/lib/components/tooltip-v2/src/arrow.vue.d.ts +2 -2
  503. package/lib/components/tooltip-v2/src/arrow2.js +38 -23
  504. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  505. package/lib/components/tooltip-v2/src/content.d.ts +1 -1
  506. package/lib/components/tooltip-v2/src/content.js +50 -113
  507. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  508. package/lib/components/tooltip-v2/src/content.vue.d.ts +7 -7
  509. package/lib/components/tooltip-v2/src/content2.js +113 -50
  510. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  511. package/lib/components/tooltip-v2/src/tooltip.d.ts +1 -1
  512. package/lib/components/tooltip-v2/src/tooltip.js +20 -73
  513. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  514. package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +48 -48
  515. package/lib/components/tooltip-v2/src/tooltip2.js +73 -20
  516. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  517. package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  518. package/lib/components/virtual-list/src/builders/build-list.d.ts +2 -2
  519. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  520. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  521. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  522. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  523. package/lib/index.js +25 -25
  524. package/lib/utils/vue/vnode.d.ts +6 -6
  525. package/package.json +1 -1
  526. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","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 v-bind=\"slotData\">\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(--el-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 :stroke-linecap=\"strokeLinecap\"\n :stroke-width=\"percentage ? relativeStrokeWidth : 0\"\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 v-bind=\"slotData\">\n <span v-if=\"!status\">{{ content }}</span>\n <ps-icon v-else><component :is=\"statusIcon\" /></ps-icon>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { PsIcon } from '@element-ps/components/icon'\nimport {\n Check,\n CircleCheck,\n CircleClose,\n Close,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-ps/hooks'\nimport { progressProps } from './progress'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'PsProgress',\n components: {\n PsIcon,\n CircleCheck,\n CircleClose,\n Check,\n Close,\n WarningFilled,\n },\n props: progressProps,\n\n setup(props) {\n const ns = useNamespace('progress')\n\n const barStyle = computed(\n (): CSSProperties => ({\n width: `${props.percentage}%`,\n animationDuration: `${props.duration}s`,\n backgroundColor: getCurrentColor(props.percentage),\n })\n )\n\n const relativeStrokeWidth = computed(() =>\n ((props.strokeWidth / props.width) * 100).toFixed(1)\n )\n\n const radius = computed(() => {\n if (props.type === 'circle' || props.type === 'dashboard') {\n return Number.parseInt(\n `${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`,\n 10\n )\n } else {\n return 0\n }\n })\n\n const 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\n const perimeter = computed(() => 2 * Math.PI * radius.value)\n\n const rate = computed(() => (props.type === 'dashboard' ? 0.75 : 1))\n\n const strokeDashoffset = computed(() => {\n const offset = (-1 * perimeter.value * (1 - rate.value)) / 2\n return `${offset}px`\n })\n\n const trailPathStyle = computed(\n (): CSSProperties => ({\n strokeDasharray: `${perimeter.value * rate.value}px, ${\n perimeter.value\n }px`,\n strokeDashoffset: strokeDashoffset.value,\n })\n )\n\n const circlePathStyle = computed(\n (): CSSProperties => ({\n strokeDasharray: `${\n perimeter.value * rate.value * (props.percentage / 100)\n }px, ${perimeter.value}px`,\n strokeDashoffset: strokeDashoffset.value,\n transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease',\n })\n )\n\n const stroke = computed(() => {\n let ret: string\n if (props.color) {\n ret = getCurrentColor(props.percentage)\n } else {\n switch (props.status) {\n case 'success':\n ret = '#13ce66'\n break\n case 'exception':\n ret = '#ff4949'\n break\n case 'warning':\n ret = '#e6a23c'\n break\n default:\n ret = '#20a0ff'\n }\n }\n return ret\n })\n\n const 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\n const progressTextSize = computed(() => {\n return props.type === 'line'\n ? 12 + props.strokeWidth * 0.4\n : props.width * 0.111111 + 2\n })\n\n const content = computed(() => props.format(props.percentage))\n\n const getCurrentColor = (percentage: number) => {\n const { color } = props\n if (typeof color === 'function') {\n return color(percentage)\n } else if (typeof color === 'string') {\n return color\n } else {\n const span = 100 / color.length\n const seriesColors = color.map((seriesColor, index) => {\n if (typeof seriesColor === 'string') {\n return {\n color: seriesColor,\n percentage: (index + 1) * span,\n }\n }\n return seriesColor\n })\n const colors = seriesColors.sort((a, b) => a.percentage - b.percentage)\n\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\n const slotData = computed(() => {\n return {\n percentage: props.percentage,\n }\n })\n\n return {\n ns,\n barStyle,\n relativeStrokeWidth,\n radius,\n trackPath,\n perimeter,\n rate,\n strokeDashoffset,\n trailPathStyle,\n circlePathStyle,\n stroke,\n statusIcon,\n progressTextSize,\n content,\n slotData,\n }\n },\n})\n</script>\n"],"names":["defineComponent","PsIcon","CircleCheck","CircleClose","Check","Close","WarningFilled","progressProps","useNamespace","computed","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_renderSlot","_toDisplayString","_normalizeProps","_guardReactiveProps","_createBlock","_withCtx","_resolveDynamicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"progress.js","sources":["../../../../../../packages/components/progress/src/progress.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-ps/utils'\nimport type { ExtractPropTypes, SVGAttributes } from 'vue'\n\ntype Color = { color: string; percentage: number }\ntype 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 | Color[] | 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>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;;AACY,MAAC,aAAa,GAAGA,gBAAU,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,EAAEC,oBAAc,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,EAAEA,oBAAc,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,EAAEA,oBAAc,CAAC,QAAQ,CAAC;AAClC,IAAI,OAAO,EAAE,CAAC,UAAU,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7C,GAAG;AACH,CAAC;;;;"}
@@ -2,66 +2,239 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
6
- var props = require('../../../utils/vue/props.js');
5
+ var vue = require('vue');
6
+ var index = require('../../icon/index.js');
7
+ var iconsVue = require('@element-plus/icons-vue');
8
+ require('../../../hooks/index.js');
9
+ var progress = require('./progress.js');
10
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
+ var index$1 = require('../../../hooks/use-namespace/index.js');
7
12
 
8
- const progressProps = props.buildProps({
9
- type: {
10
- type: String,
11
- default: "line",
12
- values: ["line", "circle", "dashboard"]
13
+ const _sfc_main = vue.defineComponent({
14
+ name: "PsProgress",
15
+ components: {
16
+ PsIcon: index.PsIcon,
17
+ CircleCheck: iconsVue.CircleCheck,
18
+ CircleClose: iconsVue.CircleClose,
19
+ Check: iconsVue.Check,
20
+ Close: iconsVue.Close,
21
+ WarningFilled: iconsVue.WarningFilled
13
22
  },
14
- percentage: {
15
- type: Number,
16
- default: 0,
17
- validator: (val) => val >= 0 && val <= 100
18
- },
19
- status: {
20
- type: String,
21
- default: "",
22
- values: ["", "success", "exception", "warning"]
23
- },
24
- indeterminate: {
25
- type: Boolean,
26
- default: false
27
- },
28
- duration: {
29
- type: Number,
30
- default: 3
31
- },
32
- strokeWidth: {
33
- type: Number,
34
- default: 6
35
- },
36
- strokeLinecap: {
37
- type: props.definePropType(String),
38
- default: "round"
39
- },
40
- textInside: {
41
- type: Boolean,
42
- default: false
43
- },
44
- width: {
45
- type: Number,
46
- default: 126
47
- },
48
- showText: {
49
- type: Boolean,
50
- default: true
51
- },
52
- color: {
53
- type: props.definePropType([
54
- String,
55
- Array,
56
- Function
57
- ]),
58
- default: ""
59
- },
60
- format: {
61
- type: props.definePropType(Function),
62
- default: (percentage) => `${percentage}%`
23
+ props: progress.progressProps,
24
+ setup(props) {
25
+ const ns = index$1.useNamespace("progress");
26
+ const barStyle = vue.computed(() => ({
27
+ width: `${props.percentage}%`,
28
+ animationDuration: `${props.duration}s`,
29
+ backgroundColor: getCurrentColor(props.percentage)
30
+ }));
31
+ const relativeStrokeWidth = vue.computed(() => (props.strokeWidth / props.width * 100).toFixed(1));
32
+ const radius = vue.computed(() => {
33
+ if (props.type === "circle" || props.type === "dashboard") {
34
+ return Number.parseInt(`${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`, 10);
35
+ } else {
36
+ return 0;
37
+ }
38
+ });
39
+ const trackPath = vue.computed(() => {
40
+ const r = radius.value;
41
+ const isDashboard = props.type === "dashboard";
42
+ return `
43
+ M 50 50
44
+ m 0 ${isDashboard ? "" : "-"}${r}
45
+ a ${r} ${r} 0 1 1 0 ${isDashboard ? "-" : ""}${r * 2}
46
+ a ${r} ${r} 0 1 1 0 ${isDashboard ? "" : "-"}${r * 2}
47
+ `;
48
+ });
49
+ const perimeter = vue.computed(() => 2 * Math.PI * radius.value);
50
+ const rate = vue.computed(() => props.type === "dashboard" ? 0.75 : 1);
51
+ const strokeDashoffset = vue.computed(() => {
52
+ const offset = -1 * perimeter.value * (1 - rate.value) / 2;
53
+ return `${offset}px`;
54
+ });
55
+ const trailPathStyle = vue.computed(() => ({
56
+ strokeDasharray: `${perimeter.value * rate.value}px, ${perimeter.value}px`,
57
+ strokeDashoffset: strokeDashoffset.value
58
+ }));
59
+ const circlePathStyle = vue.computed(() => ({
60
+ strokeDasharray: `${perimeter.value * rate.value * (props.percentage / 100)}px, ${perimeter.value}px`,
61
+ strokeDashoffset: strokeDashoffset.value,
62
+ transition: "stroke-dasharray 0.6s ease 0s, stroke 0.6s ease"
63
+ }));
64
+ const stroke = vue.computed(() => {
65
+ let ret;
66
+ if (props.color) {
67
+ ret = getCurrentColor(props.percentage);
68
+ } else {
69
+ switch (props.status) {
70
+ case "success":
71
+ ret = "#13ce66";
72
+ break;
73
+ case "exception":
74
+ ret = "#ff4949";
75
+ break;
76
+ case "warning":
77
+ ret = "#e6a23c";
78
+ break;
79
+ default:
80
+ ret = "#20a0ff";
81
+ }
82
+ }
83
+ return ret;
84
+ });
85
+ const statusIcon = vue.computed(() => {
86
+ if (props.status === "warning") {
87
+ return iconsVue.WarningFilled;
88
+ }
89
+ if (props.type === "line") {
90
+ return props.status === "success" ? iconsVue.CircleCheck : iconsVue.CircleClose;
91
+ } else {
92
+ return props.status === "success" ? iconsVue.Check : iconsVue.Close;
93
+ }
94
+ });
95
+ const progressTextSize = vue.computed(() => {
96
+ return props.type === "line" ? 12 + props.strokeWidth * 0.4 : props.width * 0.111111 + 2;
97
+ });
98
+ const content = vue.computed(() => props.format(props.percentage));
99
+ const getCurrentColor = (percentage) => {
100
+ var _a;
101
+ const { color } = props;
102
+ if (typeof color === "function") {
103
+ return color(percentage);
104
+ } else if (typeof color === "string") {
105
+ return color;
106
+ } else {
107
+ const span = 100 / color.length;
108
+ const seriesColors = color.map((seriesColor, index) => {
109
+ if (typeof seriesColor === "string") {
110
+ return {
111
+ color: seriesColor,
112
+ percentage: (index + 1) * span
113
+ };
114
+ }
115
+ return seriesColor;
116
+ });
117
+ const colors = seriesColors.sort((a, b) => a.percentage - b.percentage);
118
+ for (const color2 of colors) {
119
+ if (color2.percentage > percentage)
120
+ return color2.color;
121
+ }
122
+ return (_a = colors[colors.length - 1]) == null ? void 0 : _a.color;
123
+ }
124
+ };
125
+ const slotData = vue.computed(() => {
126
+ return {
127
+ percentage: props.percentage
128
+ };
129
+ });
130
+ return {
131
+ ns,
132
+ barStyle,
133
+ relativeStrokeWidth,
134
+ radius,
135
+ trackPath,
136
+ perimeter,
137
+ rate,
138
+ strokeDashoffset,
139
+ trailPathStyle,
140
+ circlePathStyle,
141
+ stroke,
142
+ statusIcon,
143
+ progressTextSize,
144
+ content,
145
+ slotData
146
+ };
63
147
  }
64
148
  });
149
+ const _hoisted_1 = ["aria-valuenow"];
150
+ const _hoisted_2 = { viewBox: "0 0 100 100" };
151
+ const _hoisted_3 = ["d", "stroke-width"];
152
+ const _hoisted_4 = ["d", "stroke", "stroke-linecap", "stroke-width"];
153
+ const _hoisted_5 = { key: 0 };
154
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
155
+ const _component_ps_icon = vue.resolveComponent("ps-icon");
156
+ return vue.openBlock(), vue.createElementBlock("div", {
157
+ class: vue.normalizeClass([
158
+ _ctx.ns.b(),
159
+ _ctx.ns.m(_ctx.type),
160
+ _ctx.ns.is(_ctx.status),
161
+ {
162
+ [_ctx.ns.m("without-text")]: !_ctx.showText,
163
+ [_ctx.ns.m("text-inside")]: _ctx.textInside
164
+ }
165
+ ]),
166
+ role: "progressbar",
167
+ "aria-valuenow": _ctx.percentage,
168
+ "aria-valuemin": "0",
169
+ "aria-valuemax": "100"
170
+ }, [
171
+ _ctx.type === "line" ? (vue.openBlock(), vue.createElementBlock("div", {
172
+ key: 0,
173
+ class: vue.normalizeClass(_ctx.ns.b("bar"))
174
+ }, [
175
+ vue.createElementVNode("div", {
176
+ class: vue.normalizeClass(_ctx.ns.be("bar", "outer")),
177
+ style: vue.normalizeStyle({ height: `${_ctx.strokeWidth}px` })
178
+ }, [
179
+ vue.createElementVNode("div", {
180
+ class: vue.normalizeClass([
181
+ _ctx.ns.be("bar", "inner"),
182
+ { [_ctx.ns.bem("bar", "inner", "indeterminate")]: _ctx.indeterminate }
183
+ ]),
184
+ style: vue.normalizeStyle(_ctx.barStyle)
185
+ }, [
186
+ (_ctx.showText || _ctx.$slots.default) && _ctx.textInside ? (vue.openBlock(), vue.createElementBlock("div", {
187
+ key: 0,
188
+ class: vue.normalizeClass(_ctx.ns.be("bar", "innerText"))
189
+ }, [
190
+ vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(_ctx.slotData)), () => [
191
+ vue.createElementVNode("span", null, vue.toDisplayString(_ctx.content), 1)
192
+ ])
193
+ ], 2)) : vue.createCommentVNode("v-if", true)
194
+ ], 6)
195
+ ], 6)
196
+ ], 2)) : (vue.openBlock(), vue.createElementBlock("div", {
197
+ key: 1,
198
+ class: vue.normalizeClass(_ctx.ns.b("circle")),
199
+ style: vue.normalizeStyle({ height: `${_ctx.width}px`, width: `${_ctx.width}px` })
200
+ }, [
201
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_2, [
202
+ vue.createElementVNode("path", {
203
+ class: vue.normalizeClass(_ctx.ns.be("circle", "track")),
204
+ d: _ctx.trackPath,
205
+ stroke: "var(--el-fill-color-light, #e5e9f2)",
206
+ "stroke-width": _ctx.relativeStrokeWidth,
207
+ fill: "none",
208
+ style: vue.normalizeStyle(_ctx.trailPathStyle)
209
+ }, null, 14, _hoisted_3),
210
+ vue.createElementVNode("path", {
211
+ class: vue.normalizeClass(_ctx.ns.be("circle", "path")),
212
+ d: _ctx.trackPath,
213
+ stroke: _ctx.stroke,
214
+ fill: "none",
215
+ "stroke-linecap": _ctx.strokeLinecap,
216
+ "stroke-width": _ctx.percentage ? _ctx.relativeStrokeWidth : 0,
217
+ style: vue.normalizeStyle(_ctx.circlePathStyle)
218
+ }, null, 14, _hoisted_4)
219
+ ]))
220
+ ], 6)),
221
+ (_ctx.showText || _ctx.$slots.default) && !_ctx.textInside ? (vue.openBlock(), vue.createElementBlock("div", {
222
+ key: 2,
223
+ class: vue.normalizeClass(_ctx.ns.e("text")),
224
+ style: vue.normalizeStyle({ fontSize: `${_ctx.progressTextSize}px` })
225
+ }, [
226
+ vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(_ctx.slotData)), () => [
227
+ !_ctx.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5, vue.toDisplayString(_ctx.content), 1)) : (vue.openBlock(), vue.createBlock(_component_ps_icon, { key: 1 }, {
228
+ default: vue.withCtx(() => [
229
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.statusIcon)))
230
+ ]),
231
+ _: 1
232
+ }))
233
+ ])
234
+ ], 6)) : vue.createCommentVNode("v-if", true)
235
+ ], 10, _hoisted_1);
236
+ }
237
+ var Progress = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/progress/src/progress.vue"]]);
65
238
 
66
- exports.progressProps = progressProps;
239
+ exports["default"] = Progress;
67
240
  //# sourceMappingURL=progress2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress2.js","sources":["../../../../../../packages/components/progress/src/progress.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-ps/utils'\nimport type { ExtractPropTypes, SVGAttributes } from 'vue'\n\ntype Color = { color: string; percentage: number }\ntype 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 | Color[] | 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>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;;AACY,MAAC,aAAa,GAAGA,gBAAU,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,EAAEC,oBAAc,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,EAAEA,oBAAc,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,EAAEA,oBAAc,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.js","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 v-bind=\"slotData\">\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(--el-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 :stroke-linecap=\"strokeLinecap\"\n :stroke-width=\"percentage ? relativeStrokeWidth : 0\"\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 v-bind=\"slotData\">\n <span v-if=\"!status\">{{ content }}</span>\n <ps-icon v-else><component :is=\"statusIcon\" /></ps-icon>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { PsIcon } from '@element-ps/components/icon'\nimport {\n Check,\n CircleCheck,\n CircleClose,\n Close,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-ps/hooks'\nimport { progressProps } from './progress'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'PsProgress',\n components: {\n PsIcon,\n CircleCheck,\n CircleClose,\n Check,\n Close,\n WarningFilled,\n },\n props: progressProps,\n\n setup(props) {\n const ns = useNamespace('progress')\n\n const barStyle = computed(\n (): CSSProperties => ({\n width: `${props.percentage}%`,\n animationDuration: `${props.duration}s`,\n backgroundColor: getCurrentColor(props.percentage),\n })\n )\n\n const relativeStrokeWidth = computed(() =>\n ((props.strokeWidth / props.width) * 100).toFixed(1)\n )\n\n const radius = computed(() => {\n if (props.type === 'circle' || props.type === 'dashboard') {\n return Number.parseInt(\n `${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`,\n 10\n )\n } else {\n return 0\n }\n })\n\n const 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\n const perimeter = computed(() => 2 * Math.PI * radius.value)\n\n const rate = computed(() => (props.type === 'dashboard' ? 0.75 : 1))\n\n const strokeDashoffset = computed(() => {\n const offset = (-1 * perimeter.value * (1 - rate.value)) / 2\n return `${offset}px`\n })\n\n const trailPathStyle = computed(\n (): CSSProperties => ({\n strokeDasharray: `${perimeter.value * rate.value}px, ${\n perimeter.value\n }px`,\n strokeDashoffset: strokeDashoffset.value,\n })\n )\n\n const circlePathStyle = computed(\n (): CSSProperties => ({\n strokeDasharray: `${\n perimeter.value * rate.value * (props.percentage / 100)\n }px, ${perimeter.value}px`,\n strokeDashoffset: strokeDashoffset.value,\n transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease',\n })\n )\n\n const stroke = computed(() => {\n let ret: string\n if (props.color) {\n ret = getCurrentColor(props.percentage)\n } else {\n switch (props.status) {\n case 'success':\n ret = '#13ce66'\n break\n case 'exception':\n ret = '#ff4949'\n break\n case 'warning':\n ret = '#e6a23c'\n break\n default:\n ret = '#20a0ff'\n }\n }\n return ret\n })\n\n const 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\n const progressTextSize = computed(() => {\n return props.type === 'line'\n ? 12 + props.strokeWidth * 0.4\n : props.width * 0.111111 + 2\n })\n\n const content = computed(() => props.format(props.percentage))\n\n const getCurrentColor = (percentage: number) => {\n const { color } = props\n if (typeof color === 'function') {\n return color(percentage)\n } else if (typeof color === 'string') {\n return color\n } else {\n const span = 100 / color.length\n const seriesColors = color.map((seriesColor, index) => {\n if (typeof seriesColor === 'string') {\n return {\n color: seriesColor,\n percentage: (index + 1) * span,\n }\n }\n return seriesColor\n })\n const colors = seriesColors.sort((a, b) => a.percentage - b.percentage)\n\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\n const slotData = computed(() => {\n return {\n percentage: props.percentage,\n }\n })\n\n return {\n ns,\n barStyle,\n relativeStrokeWidth,\n radius,\n trackPath,\n perimeter,\n rate,\n strokeDashoffset,\n trailPathStyle,\n circlePathStyle,\n stroke,\n statusIcon,\n progressTextSize,\n content,\n slotData,\n }\n },\n})\n</script>\n"],"names":["defineComponent","PsIcon","CircleCheck","CircleClose","Check","Close","WarningFilled","progressProps","useNamespace","computed","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_renderSlot","_toDisplayString","_normalizeProps","_guardReactiveProps","_createBlock","_withCtx","_resolveDynamicComponent"],"mappings":";;;;;;;;;;;;AA2FA,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,YAAA;AAAA,EACN,UAAY,EAAA;AAAA,YACVC,YAAA;AAAA,iBACAC,oBAAA;AAAA,iBACAC,oBAAA;AAAA,WACAC,cAAA;AAAA,WACAC,cAAA;AAAA,mBACAC,sBAAA;AAAA,GACF;AAAA,EACA,KAAO,EAAAC,sBAAA;AAAA,EAEP,MAAM,KAAO,EAAA;AACX,IAAM,MAAA,EAAA,GAAKC,qBAAa,UAAU,CAAA,CAAA;AAElC,IAAM,MAAA,QAAA,GAAWC,aACf,OAAsB;AAAA,MACpB,KAAA,EAAO,GAAG,KAAM,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,MAChB,iBAAA,EAAmB,GAAG,KAAM,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAC5B,eAAA,EAAiB,eAAgB,CAAA,KAAA,CAAM,UAAU,CAAA;AAAA,KAErD,CAAA,CAAA,CAAA;AAEA,IAAM,MAAA,mBAAA,GAAsBA,YAAS,CAAA,MACjC,CAAM,KAAA,CAAA,WAAA,GAAc,MAAM,KAAS,GAAA,GAAA,EAAK,OAAQ,CAAA,CAAC,CACrD,CAAA,CAAA;AAEA,IAAM,MAAA,MAAA,GAASA,aAAS,MAAM;AAC5B,MAAA,IAAI,KAAM,CAAA,IAAA,KAAS,QAAY,IAAA,KAAA,CAAM,SAAS,WAAa,EAAA;AACzD,QAAO,OAAA,MAAA,CAAO,QACZ,CAAA,CAAA,EAAG,EAAK,GAAA,MAAA,CAAO,WAAW,mBAAoB,CAAA,KAAK,CAAI,GAAA,CAAA,CAAA,CAAA,EACvD,EACF,CAAA,CAAA;AAAA,OACK,MAAA;AACL,QAAO,OAAA,CAAA,CAAA;AAAA,OACT;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,GAAYA,aAAS,MAAM;AAC/B,MAAA,MAAM,IAAI,MAAO,CAAA,KAAA,CAAA;AACjB,MAAM,MAAA,WAAA,GAAc,MAAM,IAAS,KAAA,WAAA,CAAA;AACnC,MAAO,OAAA,CAAA;AAAA;AAAA,cAEG,EAAA,WAAA,GAAc,KAAK,GAAM,CAAA,EAAA,CAAA,CAAA;AAAA,YAAA,EAC3B,CAAK,CAAA,CAAA,EAAA,CAAA,CAAA,SAAA,EAAa,WAAc,GAAA,GAAA,GAAM,KAAK,CAAI,GAAA,CAAA,CAAA;AAAA,YAAA,EAC/C,CAAK,CAAA,CAAA,EAAA,CAAA,CAAA,SAAA,EAAa,WAAc,GAAA,EAAA,GAAK,MAAM,CAAI,GAAA,CAAA,CAAA;AAAA,UAAA,CAAA,CAAA;AAAA,KAExD,CAAA,CAAA;AAED,IAAA,MAAM,YAAYA,YAAS,CAAA,MAAM,IAAI,IAAK,CAAA,EAAA,GAAK,OAAO,KAAK,CAAA,CAAA;AAE3D,IAAA,MAAM,OAAOA,YAAS,CAAA,MAAO,MAAM,IAAS,KAAA,WAAA,GAAc,OAAO,CAAE,CAAA,CAAA;AAEnE,IAAM,MAAA,gBAAA,GAAmBA,aAAS,MAAM;AACtC,MAAA,MAAM,SAAU,CAAK,CAAA,GAAA,SAAA,CAAU,KAAS,IAAA,CAAA,GAAI,KAAK,KAAU,CAAA,GAAA,CAAA,CAAA;AAC3D,MAAA,OAAO,CAAG,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KACX,CAAA,CAAA;AAED,IAAM,MAAA,cAAA,GAAiBA,aACrB,OAAsB;AAAA,MACpB,iBAAiB,CAAG,EAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAK,YACzC,SAAU,CAAA,KAAA,CAAA,EAAA,CAAA;AAAA,MAEZ,kBAAkB,gBAAiB,CAAA,KAAA;AAAA,KAEvC,CAAA,CAAA,CAAA;AAEA,IAAM,MAAA,eAAA,GAAkBA,aACtB,OAAsB;AAAA,MACpB,eAAA,EAAiB,GACf,SAAU,CAAA,KAAA,GAAQ,KAAK,KAAS,IAAA,KAAA,CAAM,UAAa,GAAA,GAAA,CAAA,CAAA,IAAA,EAC9C,SAAU,CAAA,KAAA,CAAA,EAAA,CAAA;AAAA,MACjB,kBAAkB,gBAAiB,CAAA,KAAA;AAAA,MACnC,UAAY,EAAA,iDAAA;AAAA,KAEhB,CAAA,CAAA,CAAA;AAEA,IAAM,MAAA,MAAA,GAASA,aAAS,MAAM;AAC5B,MAAI,IAAA,GAAA,CAAA;AACJ,MAAA,IAAI,MAAM,KAAO,EAAA;AACf,QAAM,GAAA,GAAA,eAAA,CAAgB,MAAM,UAAU,CAAA,CAAA;AAAA,OACjC,MAAA;AACL,QAAA,QAAQ,KAAM,CAAA,MAAA;AAAA,UACP,KAAA,SAAA;AACH,YAAM,GAAA,GAAA,SAAA,CAAA;AACN,YAAA,MAAA;AAAA,UACG,KAAA,WAAA;AACH,YAAM,GAAA,GAAA,SAAA,CAAA;AACN,YAAA,MAAA;AAAA,UACG,KAAA,SAAA;AACH,YAAM,GAAA,GAAA,SAAA,CAAA;AACN,YAAA,MAAA;AAAA,UAAA;AAEA,YAAM,GAAA,GAAA,SAAA,CAAA;AAAA,SAAA;AAAA,OAEZ;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAaA,aAAS,MAAM;AAChC,MAAI,IAAA,KAAA,CAAM,WAAW,SAAW,EAAA;AAC9B,QAAO,OAAAH,sBAAA,CAAA;AAAA,OACT;AACA,MAAI,IAAA,KAAA,CAAM,SAAS,MAAQ,EAAA;AACzB,QAAO,OAAA,KAAA,CAAM,MAAW,KAAA,SAAA,GAAYJ,oBAAc,GAAAC,oBAAA,CAAA;AAAA,OAC7C,MAAA;AACL,QAAO,OAAA,KAAA,CAAM,MAAW,KAAA,SAAA,GAAYC,cAAQ,GAAAC,cAAA,CAAA;AAAA,OAC9C;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,gBAAA,GAAmBI,aAAS,MAAM;AACtC,MAAO,OAAA,KAAA,CAAM,SAAS,MAClB,GAAA,EAAA,GAAK,MAAM,WAAc,GAAA,GAAA,GACzB,KAAM,CAAA,KAAA,GAAQ,QAAW,GAAA,CAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAA,MAAM,UAAUA,YAAS,CAAA,MAAM,MAAM,MAAO,CAAA,KAAA,CAAM,UAAU,CAAC,CAAA,CAAA;AAE7D,IAAM,MAAA,eAAA,GAAkB,CAAC,UAAuB,KAAA;AAC9C,MAAA,IAAA,EAAM;AACN,MAAI,MAAA,EAAA,eAA6B,CAAA;AAC/B,MAAA,IAAA,YAAuB,KAAA,UAAA,EAAA;AAAA,QACzB,OAAA,KAAkB,CAAA,UAAA,CAAA,CAAA;AAChB,OAAO,MAAA,IAAA,OAAA,KAAA,KAAA,QAAA,EAAA;AAAA,QACF,OAAA,KAAA,CAAA;AACL,OAAM,MAAA;AACN,QAAA,MAAM,IAAe,GAAA,GAAA,GAAA,KAAA,CAAA,MAAU,CAAC;AAC9B,QAAI,MAAA,wBAAiC,CAAA,CAAA,WAAA,EAAA,KAAA,KAAA;AACnC,UAAO,IAAA,OAAA,WAAA,KAAA,QAAA,EAAA;AAAA,YAAA,OACE;AAAA,cACP,KAAA,EAAA;AAA0B,cAC5B,UAAA,EAAA,CAAA,KAAA,GAAA,CAAA,IAAA,IAAA;AAAA,aACF,CAAA;AACA,WAAO;AAAA,UACR,OAAA,WAAA,CAAA;AACD,SAAM,CAAA,CAAA;AAEN,QAAA,MAAA,qBAA4B,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA,CAAA,KAAA,CAAA,CAAA,UAAA,GAAA,CAAA,CAAA,UAAA,CAAA,CAAA;AAC1B,QAAA,KAAA,YAAuB,IAAA,MAAA,EAAA;AAAY,UAAA,IAAA,MAAa,CAAA,UAAA,GAAA,UAAA;AAAA,YAClD,OAAA,MAAA,CAAA,KAAA,CAAA;AACA,SAAO;AAA2B,QACpC,OAAA,CAAA,EAAA,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,GAAA,CAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAAA,OACF;AAEA,KAAM,CAAA;AACJ,IAAO,MAAA,QAAA,GAAAA,YAAA,CAAA,MAAA;AAAA,MAAA;AACa,QACpB,UAAA,EAAA,KAAA,CAAA,UAAA;AAAA,OACD,CAAA;AAED,KAAO,CAAA,CAAA;AAAA,IACL,OAAA;AAAA,MACA,EAAA;AAAA,MACA,QAAA;AAAA,MACA,mBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,IAAA;AAAA,MACA,gBAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,gBAAA;AAAA,MACA,OAAA;AAAA,MACF,QAAA;AAAA,KACF,CAAA;AACF,GAAC;;AAvNU,MAAA,UAAA,GAAA,CAAA,eAAqB,CAAA,CAAA;;;;;;0BA8BxB,GAAAC,oBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,EAAA,OAxEEC,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;AAAA,IAAA,yBAAc,CAAA;AAAA,MAAU,IAAA,CAAA,EAAA,CAAG,GAAM;AAAA,MAAS,IAAA,CAAA,EAAA,CAAG,MAAS,CAAA,IAAA,CAAA;AAAA,MAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA;AAAoB,MAAA;AAAwB,QAAmB,CAAA,IAAA,CAAA,EAAA,CAAG,EAAC,cAAkB,CAAA,GAAA,CAAA,IAAA,CAAA,QAAA;AAAA,QAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,UAAA;;KAS5I,CAAA;AAAA,IACJ,IAAe,EAAA,aAAA;AAAA,IAChB,eAAc,EAAA,IAAA,CAAA,UAAA;AAAA,IACd,eAAc,EAAA,GAAA;AAAA,IAAA,eAAA,EAAA,KAAA;AAEH,GAAA,EAAA;AAsBL,IAAA,IAAA,CAAA,IAAA,KAAA,MAAA,IAAAD,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;MAtBuB,GAAK,EAAA,CAAA;AAAM,MAAA,KAAA,EAAAC,kBAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA;OAqBhC;AAAA,MAnBHC,sBAAO,CAAA,KAAA,EAAA;AAAK,QACZ,KAAA,EAAKD,mCAA0B,EAAA,OAAA,CAAA,CAAA;AAAA,QAAA,KAAA,EAAAE,kBAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA;SAiB1B;AAAA,QAAAD,sBAdE,CAAA,KAAA,EAAA;AAAA,UAAA,yBAAqB,CAAA;AAAA,YAAiC,IAAA,CAAA,EAAA,CAAA,EAAA,CAAG,KAAG,EAAA,OAAA,CAAA;AAAiD,YAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,GAAA,CAAA,KAAA,EAAA,OAAA,EAAA,eAAA,CAAA,GAAA,IAAA,CAAA,aAAA,EAAA;AAIlH,WAAA,CAAA;AAAe,UAAA,KAAA,EAAAC,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA;WAGK;AAMf,UAAA,CAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,MAAA,CAAA,OAAA,KAAA,IAAA,CAAA,UAAA,IAAAJ,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;YALH,GAAK,EAAA,CAAA;AAAO,YAAA,KAAA,EAAAC,kBAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,KAAA,EAAA,WAAA,CAAA,CAAA;aAIN;AAAA,YADLG,cAAA,CAAA,IAAA,CAAA,4DAAgB,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,EAAA,MAAA;AAAA,cAAAF,sBAAA,CAAA,MAAA,EAAA,IAAA,EAAAG,mBAAA,CAAA,IAAA,CAAA,OAAA,CAAA,EAAA,CAAA,CAAA;;;;;AA8BpB,KAAA,EAAA,CAAA,CAAA,KAAAN,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;MAtBH,GAAK,EAAA,CAAA;AAAM,MACX,KAAK,EAAAC,kBAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,QAAoB,CAAA,CAAA;AAAqB,MAAA,KAAA,EAAAE,kBAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA;AAE/C,KAAA,EAAA;AAkBM,OAAAJ,aAVF,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;AAAA,QANCE,sBAAO,CAAA,MAAA,EAAA;AAAK,UACZ,KAAG,EAAAD,kBAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,CAAA;AAAA,UACJ,CAAO,EAAA,IAAA,CAAA,SAAA;AAAA,UACN,MAAc,EAAA,qCAAA;AAAA,UACf,cAAK,EAAA,IAAA,CAAA,mBAAA;AAAA,UACJ,IAAA,EAAA;AAAqB,UAAA,KAAA,EAAAE,kBAAA,CAAA,IAAA,CAAA,cAAA,CAAA;SAUtB,EAAA,IAAA,EAAA,EAAA,EAAA,UAAA,CAAA;AAAA,QAPCD,sBAAO,CAAA,MAAA,EAAA;AAAK,UACZ,KAAG,EAAAD,kBAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA;AAAA,UACH,CAAQ,EAAA,IAAA,CAAA,SAAA;AAAA,UACT,MAAK,EAAA,IAAA,CAAA,MAAA;AAAA,UACJ,IAAgB,EAAA,MAAA;AAAA,UAChB,gBAAc,oBAAgC;AAAA,UAC9C,+BAAsB,GAAA,IAAA,CAAA,mBAAA,GAAA,CAAA;AAAA,UAAA,KAAA,EAAAE,kBAAA,CAAA,IAAA,CAAA,eAAA,CAAA;;;AAKpB,KAAA,EAAA,CAAA,CAAA,CAAA;AAQH,IAAA,CAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,MAAA,CAAA,OAAA,KAAA,CAAA,IAAA,CAAA,UAAA,IAAAJ,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;MAPH,GAAK,EAAA,CAAA;AAAM,MACX,KAAA,EAAKC,mCAAiC,CAAA,CAAA;AAAA,MAAA,KAAA,EAAAE,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;OAKhC;AAAA,MAAAC,cAFL,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAAE,kBAAA,CAAyCC,sBAAjB,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,EAAA,MAAA;AACgC,QAAA,CAAA,IAAA,CAAA,MAAA,IAAAR,aAAV,EAAA,EAAAC,sBAAA,CAAA,MAAA,EAAA,UAAA,EAAAK,mBAAA,CAAA,IAAA,CAAA,OAAA,CAAA,EAAA,CAAA,CAAA,KAAAN,aAAA,EAAA,EAAAS,eAAA,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,UAA9B,OAAA,EAAAC,WAAA,CAAA,MAAA;AAA0B,aAAAV,aAAA,EAAA,EAAAS,eAAA,CAAAE,2BAAA,CAAA,IAAA,CAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;"}
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var radio$1 = require('./src/radio.js');
6
+ var radio$1 = require('./src/radio2.js');
7
7
  var radioButton$1 = require('./src/radio-button2.js');
8
8
  var radioGroup$1 = require('./src/radio-group2.js');
9
- var radio = require('./src/radio2.js');
9
+ var radio = require('./src/radio.js');
10
10
  var radioGroup = require('./src/radio-group.js');
11
11
  var radioButton = require('./src/radio-button.js');
12
12
  var install = require('../../utils/vue/install.js');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../../utils/index.js');
6
- var radio = require('./radio2.js');
6
+ var radio = require('./radio.js');
7
7
  var props = require('../../../utils/vue/props.js');
8
8
 
9
9
  const radioButtonProps = props.buildProps({
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  require('../../../hooks/index.js');
7
- var radio = require('./radio2.js');
7
+ var radio = require('./radio.js');
8
8
  var radioButton = require('./radio-button.js');
9
9
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
10
  var index = require('../../../hooks/use-namespace/index.js');
@@ -3,82 +3,73 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
+ require('../../../utils/index.js');
7
+ require('../../../constants/index.js');
8
+ require('../../../tokens/index.js');
6
9
  require('../../../hooks/index.js');
7
- var radio = require('./radio2.js');
8
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
- var index = require('../../../hooks/use-namespace/index.js');
10
+ var props = require('../../../utils/vue/props.js');
11
+ var index = require('../../../hooks/use-common-props/index.js');
12
+ var event = require('../../../constants/event.js');
13
+ var shared = require('@vue/shared');
14
+ var core = require('@vueuse/core');
15
+ var radio = require('../../../tokens/radio.js');
10
16
 
11
- const _sfc_main = vue.defineComponent({
12
- name: "PsRadio",
13
- props: radio.radioProps,
14
- setup(props, { emit }) {
15
- const ns = index.useNamespace("radio");
16
- const { radioRef, isGroup, focus, size, disabled, tabIndex, modelValue } = radio.useRadio(props, emit);
17
- return {
18
- ns,
19
- focus,
20
- isGroup,
21
- modelValue,
22
- tabIndex,
23
- size,
24
- disabled,
25
- radioRef
26
- };
17
+ const radioPropsBase = props.buildProps({
18
+ size: index.useSizeProp,
19
+ disabled: Boolean,
20
+ label: {
21
+ type: [String, Number, Boolean],
22
+ default: ""
27
23
  }
28
24
  });
29
- const _hoisted_1 = ["aria-checked", "aria-disabled", "tabindex"];
30
- const _hoisted_2 = ["value", "name", "disabled"];
31
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
32
- return vue.openBlock(), vue.createElementBlock("label", {
33
- class: vue.normalizeClass([
34
- _ctx.ns.b(),
35
- _ctx.ns.is("disabled", _ctx.disabled),
36
- _ctx.ns.is("focus", _ctx.focus),
37
- _ctx.ns.is("bordered", _ctx.border),
38
- _ctx.ns.is("checked", _ctx.modelValue === _ctx.label),
39
- _ctx.ns.m(_ctx.size)
40
- ]),
41
- role: "radio",
42
- "aria-checked": _ctx.modelValue === _ctx.label,
43
- "aria-disabled": _ctx.disabled,
44
- tabindex: _ctx.tabIndex
45
- }, [
46
- vue.createElementVNode("span", {
47
- class: vue.normalizeClass([
48
- _ctx.ns.e("input"),
49
- _ctx.ns.is("disabled", _ctx.disabled),
50
- _ctx.ns.is("checked", _ctx.modelValue === _ctx.label)
51
- ])
52
- }, [
53
- vue.createElementVNode("span", {
54
- class: vue.normalizeClass(_ctx.ns.e("inner"))
55
- }, null, 2),
56
- vue.withDirectives(vue.createElementVNode("input", {
57
- ref: "radioRef",
58
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.modelValue = $event),
59
- class: vue.normalizeClass(_ctx.ns.e("original")),
60
- value: _ctx.label,
61
- type: "radio",
62
- "aria-hidden": "true",
63
- name: _ctx.name,
64
- disabled: _ctx.disabled,
65
- tabindex: "-1"
66
- }, null, 10, _hoisted_2), [
67
- [vue.vModelRadio, _ctx.modelValue]
68
- ])
69
- ], 2),
70
- vue.createElementVNode("span", {
71
- class: vue.normalizeClass(_ctx.ns.e("label")),
72
- onKeydown: _cache[1] || (_cache[1] = vue.withModifiers(() => {
73
- }, ["stop"]))
74
- }, [
75
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
76
- vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
77
- ])
78
- ], 34)
79
- ], 10, _hoisted_1);
80
- }
81
- var Radio = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/radio/src/radio.vue"]]);
25
+ const radioProps = props.buildProps({
26
+ ...radioPropsBase,
27
+ modelValue: {
28
+ type: [String, Number, Boolean],
29
+ default: ""
30
+ },
31
+ name: {
32
+ type: String,
33
+ default: ""
34
+ },
35
+ border: Boolean
36
+ });
37
+ const radioEmits = {
38
+ [event.UPDATE_MODEL_EVENT]: (val) => shared.isString(val) || core.isNumber(val) || core.isBoolean(val),
39
+ change: (val) => shared.isString(val) || core.isNumber(val) || core.isBoolean(val)
40
+ };
41
+ const useRadio = (props, emit) => {
42
+ const radioRef = vue.ref();
43
+ const radioGroup = vue.inject(radio.radioGroupKey, void 0);
44
+ const isGroup = vue.computed(() => !!radioGroup);
45
+ const modelValue = vue.computed({
46
+ get() {
47
+ return isGroup.value ? radioGroup.modelValue : props.modelValue;
48
+ },
49
+ set(val) {
50
+ radioRef.value.checked = props.modelValue === props.label;
51
+ }
52
+ });
53
+ const size = index.useSize(vue.computed(() => radioGroup == null ? void 0 : radioGroup.size));
54
+ const disabled = index.useDisabled(vue.computed(() => radioGroup == null ? void 0 : radioGroup.disabled));
55
+ const focus = vue.ref(false);
56
+ const tabIndex = vue.computed(() => {
57
+ return disabled.value || isGroup.value && modelValue.value !== props.label ? -1 : 0;
58
+ });
59
+ return {
60
+ radioRef,
61
+ isGroup,
62
+ radioGroup,
63
+ focus,
64
+ size,
65
+ disabled,
66
+ tabIndex,
67
+ modelValue
68
+ };
69
+ };
82
70
 
83
- exports["default"] = Radio;
71
+ exports.radioEmits = radioEmits;
72
+ exports.radioProps = radioProps;
73
+ exports.radioPropsBase = radioPropsBase;
74
+ exports.useRadio = useRadio;
84
75
  //# sourceMappingURL=radio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sources":["../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<template>\n <label\n :class=\"[\n ns.b(),\n ns.is('disabled', disabled),\n ns.is('focus', focus),\n ns.is('bordered', border),\n ns.is('checked', modelValue === label),\n ns.m(size),\n ]\"\n role=\"radio\"\n :aria-checked=\"modelValue === label\"\n :aria-disabled=\"disabled\"\n :tabindex=\"tabIndex\"\n >\n <span\n :class=\"[\n ns.e('input'),\n ns.is('disabled', disabled),\n ns.is('checked', modelValue === label),\n ]\"\n >\n <span :class=\"ns.e('inner')\" />\n <input\n ref=\"radioRef\"\n v-model=\"modelValue\"\n :class=\"ns.e('original')\"\n :value=\"label\"\n type=\"radio\"\n aria-hidden=\"true\"\n :name=\"name\"\n :disabled=\"disabled\"\n tabindex=\"-1\"\n />\n </span>\n <span :class=\"ns.e('label')\" @keydown.stop>\n <slot>\n {{ label }}\n </slot>\n </span>\n </label>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-ps/hooks'\nimport { radioProps, useRadio } from './radio'\n\nexport default defineComponent({\n name: 'PsRadio',\n props: radioProps,\n\n setup(props, { emit }) {\n const ns = useNamespace('radio')\n const { radioRef, isGroup, focus, size, disabled, tabIndex, modelValue } =\n useRadio(props, emit)\n\n return {\n ns,\n focus,\n isGroup,\n modelValue,\n tabIndex,\n size,\n disabled,\n radioRef,\n }\n },\n})\n</script>\n"],"names":["defineComponent","radioProps","useNamespace","useRadio","_createElementBlock","_normalizeClass","_createElementVNode","_withModifiers","_renderSlot","_createTextVNode","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"radio.js","sources":["../../../../../../packages/components/radio/src/radio.ts"],"sourcesContent":["import { computed, inject, ref } from 'vue'\nimport { buildProps, isBoolean, isNumber, isString } from '@element-ps/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-ps/constants'\nimport { radioGroupKey } from '@element-ps/tokens'\nimport { useDisabled, useSize, useSizeProp } from '@element-ps/hooks'\nimport type { ExtractPropTypes, SetupContext } from 'vue'\n\nexport const radioPropsBase = buildProps({\n size: useSizeProp,\n disabled: Boolean,\n label: {\n type: [String, Number, Boolean],\n default: '',\n },\n})\nexport const radioProps = buildProps({\n ...radioPropsBase,\n modelValue: {\n type: [String, Number, Boolean],\n default: '',\n },\n name: {\n type: String,\n default: '',\n },\n border: Boolean,\n} as const)\nexport type RadioProps = ExtractPropTypes<typeof radioProps>\n\nexport const radioEmits = {\n [UPDATE_MODEL_EVENT]: (val: string | number | boolean) =>\n isString(val) || isNumber(val) || isBoolean(val),\n change: (val: string | number | boolean) =>\n isString(val) || isNumber(val) || isBoolean(val),\n}\nexport type RadioEmits = typeof radioEmits\n\nexport const useRadio = (\n props: { label: RadioProps['label']; modelValue?: RadioProps['modelValue'] },\n emit: SetupContext<RadioEmits>['emit']\n) => {\n const radioRef = ref<HTMLInputElement>()\n const radioGroup = inject(radioGroupKey, undefined)\n const isGroup = computed(() => !!radioGroup)\n const modelValue = computed<RadioProps['modelValue']>({\n get() {\n return isGroup.value ? radioGroup!.modelValue : props.modelValue!\n },\n set(val) {\n radioRef.value!.checked = props.modelValue === props.label\n },\n })\n\n const size = useSize(computed(() => radioGroup?.size))\n const disabled = useDisabled(computed(() => radioGroup?.disabled))\n const focus = ref(false)\n const tabIndex = computed(() => {\n return disabled.value || (isGroup.value && modelValue.value !== props.label)\n ? -1\n : 0\n })\n\n return {\n radioRef,\n isGroup,\n radioGroup,\n focus,\n size,\n disabled,\n tabIndex,\n modelValue,\n }\n}\n"],"names":["buildProps","useSizeProp","UPDATE_MODEL_EVENT","isString","isNumber","isBoolean","ref","inject","radioGroupKey","computed","useSize","useDisabled"],"mappings":";;;;;;;;;;;;;;;;AAKY,MAAC,cAAc,GAAGA,gBAAU,CAAC;AACzC,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;AACnC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACS,MAAC,UAAU,GAAGD,gBAAU,CAAC;AACrC,EAAE,GAAG,cAAc;AACnB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;AACnC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,CAAC,EAAE;AACS,MAAC,UAAU,GAAG;AAC1B,EAAE,CAACE,wBAAkB,GAAG,CAAC,GAAG,KAAKC,eAAQ,CAAC,GAAG,CAAC,IAAIC,aAAQ,CAAC,GAAG,CAAC,IAAIC,cAAS,CAAC,GAAG,CAAC;AACjF,EAAE,MAAM,EAAE,CAAC,GAAG,KAAKF,eAAQ,CAAC,GAAG,CAAC,IAAIC,aAAQ,CAAC,GAAG,CAAC,IAAIC,cAAS,CAAC,GAAG,CAAC;AACnE,EAAE;AACU,MAAC,QAAQ,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK;AACzC,EAAE,MAAM,QAAQ,GAAGC,OAAG,EAAE,CAAC;AACzB,EAAE,MAAM,UAAU,GAAGC,UAAM,CAACC,mBAAa,EAAE,KAAK,CAAC,CAAC,CAAC;AACnD,EAAE,MAAM,OAAO,GAAGC,YAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;AAC/C,EAAE,MAAM,UAAU,GAAGA,YAAQ,CAAC;AAC9B,IAAI,GAAG,GAAG;AACV,MAAM,OAAO,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;AACtE,KAAK;AACL,IAAI,GAAG,CAAC,GAAG,EAAE;AACb,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,KAAK,CAAC;AAChE,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,IAAI,GAAGC,aAAO,CAACD,YAAQ,CAAC,MAAM,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACtF,EAAE,MAAM,QAAQ,GAAGE,iBAAW,CAACF,YAAQ,CAAC,MAAM,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClG,EAAE,MAAM,KAAK,GAAGH,OAAG,CAAC,KAAK,CAAC,CAAC;AAC3B,EAAE,MAAM,QAAQ,GAAGG,YAAQ,CAAC,MAAM;AAClC,IAAI,OAAO,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACxF,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,GAAG,CAAC;AACJ;;;;;;;"}